Главная

Monday, 9 March 2020

Методы персистентности кода.

Всем привет.

Часто злоумышленники хотят, чтобы их вредоносная программа оставалась на взломанных компьютерах даже после перезагрузки Windows. Это достигается с помощью различных методов: они позволяют злоумышленнику оставаться во взломанной системе без повторного заражения. Существует много способов запуска вредоносного кода при каждом запуске Windows. 

Все эти методы называются методами персистентности зловредного кода. Некоторые из методов вам знакомы давно и вы ими пользуетесь из благих намерений, а вот другие используются намного реже. Часть методов даже позволяют выполнять вредоносный код с повышенными привилегиями.

Известный специалист инфобеза Монаппа К. А. в своей книге "Learning Malware Analysis" приводит 10-ть методов персистентности:

1 Запуск ключа реестра
2 Запланированные задачи
3 Папка запуска
4 Записи реестра Winlogon
5 Параметры выполнения файла изображения
6 Перехват специальных возможностей (клавиатура, диктор, лупа, распознавание речи)
7 Метод AppInit_DLLs
8 Захват порядка поиска DLL
9 Захват COM-объекта
10 Перехват Службы.

Уверен, что каждому второму пользователю Windows знакомы первые 4. А вот остальные заслуживат более пристального внимания.

Сегодня скажу пару слов про "Параметры выполнения файла изображения".

Параметры выполнения файла изображения (Image File Execution Options – IFEO) позволяют запускать исполняемый файл прямо под отладчиком. Это дает разработчику возможность отладки своего программного обеспечения для исследования проблем в коде запуска исполняемого файла. Разработчик может создать подраздел с именем своего исполняемого файла в следующем разделе реестра и задать в качестве значения отладчика путь к отладчику:
Key: "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
<executable name>"
Value: Debugger : REG_SZ : <full-path to the debugger>


Злоумышленники используют этот ключ реестра для запуска своей вредоносной программы. Чтобы продемонстрировать эту технику, отладчик для notepad.exe настроен на процесс калькулятора (calc.exe) путем добавления следующей записи реестра:



Теперь, когда вы запускаете Блокнот, он запускается программой калькулятора (даже если это не отладчик). Это поведение можно увидеть на следующем скриншоте.


Ниже приведен пример образца вредоносного ПО (TrojanSpy: Win32/Small.M), который настраивает свою вредоносную программу iexplor.exe в качестве отладчика для Internet Explorer (iexplore.exe). Это достигается путем добавления следующего значения реестра.

В данном случае злоумышленник выбрал имя файла, которое похоже на имя исполняемого файла обозревателя Internet Explorer. Из-за записи реестра, указанной ниже, каждый раз, когда запускается легитимный Internet Explorer (iexplore.exe), он будет запускаться вредоносной программой iexplor.exe, тем самым выполняя вредоносный код:
[RegSetValue] LSASSMGR.EXE:960 > HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\iexplore.exe\Debugger = C:\Program Files\Internet Explorer\iexplor.exe

Чтобы обнаружить такой метод персистентности, вам следует проверить запись реестра параметров выполнения файла изображения на наличие изменений, не связанных с легитимными программами.

Про остальные методы персистентности кода поговорим позже.
Успехов.

No comments:

Post a Comment

А что вы думаете по этому поводу?