Инфект sys

Тема в разделе "WASM.NT.KERNEL", создана пользователем nitrotoluol, 1 фев 2007.

  1. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    Пишу вирус, заражающий драйвера.
    Вопрос: Как наиболее просто с ринг0 открыть файл и записать туда данные..?
     
  2. ksu_ant

    ksu_ant New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2005
    Сообщения:
    273
    Так, вроде бы.
    InitializeObjectAttributes->ZwCreateFile->ZwWriteFile->ZwClose.
    Пример - у Four-F в KmdKit.
    Удачи!
     
  3. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    nitrotoluol
    даа. долго ты его писать будешь))) видать подводные камни тебе ещё неведомы
     
  4. Cr4sh

    Cr4sh New Member

    Публикаций:
    0
    Регистрация:
    17 апр 2006
    Сообщения:
    668
    ksu_ant
    имхо, более удобно юзать проекции файлов

    nitrotoluol
    не забывай чексумму пересчитывать, ато хрен грузиться будет))
     
  5. apple

    apple Виктор

    Публикаций:
    0
    Регистрация:
    26 апр 2005
    Сообщения:
    907
    Адрес:
    Russia
    Код (Text):
    1. NTSTATUS          status;
    2. UNICODE_STRING    fullFileName;
    3. HANDLE            fileHandle;
    4. IO_STATUS_BLOCK   iostatus;
    5. OBJECT_ATTRIBUTES oa;
    6.  
    7.  
    8. RtlInitUnicodeString( &fullFileName,
    9.                       L"\\??\\C:\\Example\\testfile.txt");
    10.  
    11. InitializeObjectAttributes( &oa,
    12.                             &fullFileName, OBJ_CASE_INSENSITIVE | OBJ_KERNEL_HANDLE,
    13.                             NULL,
    14.                             NULL );
    15.  
    16. status = ZwCreateFile ( &fileHandle,
    17.                         GENERIC_WRITE | SYNCHRONIZE,
    18.                         &oa,
    19.                         &iostatus,
    20.                         0,  // alloc size = none
    21.                         FILE_ATTRIBUTE_NORMAL,
    22.                         FILE_SHARE_WRITE,
    23.                         FILE_OPEN_IF,
    24.                         FILE_SYNCHRONOUS_IO_NONALERT,
    25.                         NULL,
    26.                         0);
    27. // Здесь:
    28. // GENERIC_WRITE равно STANDARD(0x40000000L)
    29. //
    30. // FILE_GENERIC_WRITE равно STANDARD_RIGHTS_WRITE|FILE_WRITE_DATA |
    31. //    FILE_WRITE_ATTRIBUTES | FILE_WRITE_EA | FILE_APPEND_DATA |
    32. //    SYNCHRONIZE, что можно увидеть в заголовочном файле winnt.h
    33.  
    34. if( NT_SUCCESS(status))
    35. {
    36.     // Строка для записи в файл
    37.     char myString[100]="string : test write!\r\n";
    38.     // Структура, которая поможет определить длину файла:
    39.     FILE_STANDARD_INFORMATION fileInfo;
    40.  
    41.     status =        // Получаем информацию о файле
    42.         ZwQueryInformationFile( fileHandle,
    43.                                &iostatus,
    44.                                &fileInfo,
    45.                                sizeof(FILE_STANDARD_INFORMATION),
    46.                                FileStandardInformation
    47.                                );
    48.     ULONG len = strlen(myString);
    49.     if( NT_SUCCESS(status) )
    50.     {
    51.         LARGE_INTEGER ByteOffset = fileInfo.EndOfFile;
    52.         status = ZwWriteFile(fileHandle,
    53.                             NULL,
    54.                             NULL,
    55.                             NULL,
    56.                             &iostatus,
    57.                             myString, len,   // Записываемая строка
    58.                             &ByteOffset,     // a если NULL? см. ниже
    59.                             NULL);
    60.         if( !NT_SUCCESS(status) || iostatus.Information != len )
    61.         {
    62.             DbgPrint("Error on writing. Status = %x.", status);
    63.         }
    64.     }
    65.     ZwClose(fileHandle);
    66. break;
    67.  
    68. }
     
  6. nitrotoluol

    nitrotoluol New Member

    Публикаций:
    0
    Регистрация:
    5 сен 2006
    Сообщения:
    848
    k3internal
    Скажем так, ты либо твечай по делу, либо нет. Потому как ответ "знаю, но не скажу" все-таки информационной нагрузки не несет ))))

    apple
    Сенкс

    Cr4sh
    Само-сабой разумеется... все пересчитываем... ) Все грузится пока... )


    ------------------------------------------
    Еще вопрос. Имеет ли смысл ставить морфер или сис-файлы пока не сильно эмулируются?? Достаточно простого ксора?
     
  7. sl0n

    sl0n Мамонт дзена **

    Публикаций:
    0
    Регистрация:
    26 сен 2003
    Сообщения:
    703
    ыыы ))

    ядреного эмуля вроде не у кого нету )) Но одна две АПИ в декрипторе абезопасит )
     
  8. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    nitrotoluol
    вы пишите, пишите батенька)
     
  9. EP_X0FF

    EP_X0FF New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2006
    Сообщения:
    450
    На кой х. заражать дрова? А как быть с такой фигней как "цифровая подпись"? Не, реально хотелось бы посмотреть на конечный результат, как бы бсодогенератор очередной не вышел.
     
  10. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    а что такое уже пишут? :lol: DD
     
  11. EP_X0FF

    EP_X0FF New Member

    Публикаций:
    0
    Регистрация:
    13 авг 2006
    Сообщения:
    450
    китайские антируткиты новой волны ))
     
  12. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    EP_X0FF
    =))))))))))))))))))))))))