Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #81, СЕНТЯБРЬ 2005 г.

Методы автозапуска

Ms-Rem (Ms-Rem@yandex.ru)

Хакер, номер #081, стр. 081-118-3


Unlock - разблокировка рабочей станции, либо переключение на другого залогиненного в системе пользователя.

Disconnect - отключение рабочей станции от домена.

Reconnect - подключение рабочей станции к домену.

Как видишь, набор событий весьма велик, и на каждое можно повесить свой обработчик. Это позволит отслеживать действия пользователя и выбирать наиболее удачный момент для запуска той или иной функции трояна.

Вот, к примеру, исходный код DLL, запускающей notepad.exe от имени System при входе пользователя в систему:

library Run;

uses

windows;

procedure ExecuteNotepad();

var

St: TStartupinfo;

Pr: TProcessInformation;

begin

ZeroMemory(@St, SizeOf(St));

St.cb := SizeOf(St);

St.lpDesktop := PChar('winsta0\default');

CreateProcess(nil, 'notepad.exe', nil, nil, false, 0, nil, nil, St, Pr);

end;

exports

ExecuteNotepad;

begin

end.

Эта DLL содержит только одну функцию - ExecuteNotepad, которая вешается на событие Logon. Для установки надо скопировать эту DLL в папку \windows\system32 и выполнить REG-файл следующего содержания (думаю, содержимое этого файла будет тебе понятно и без моих комментариев):

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\Run]

"Asynchronous"=dword:00000001

"Impersonate"=dword:00000000

"DllName"="run.dll"

"Logon"="ExecuteNotepad"

Недостаток этого метода в том, что раздел реестра, куда прописывается троян, документирован в MSDN, а, следовательно, некоторые пользователи могут его иногда проверять. Однако, не смотря ни на что, метод работает в 99% случаев и показал себя достаточно надежным для использования в RAT.

Для того чтобы скрыть автозагрузку еще лучше хакеру стоит обратить внимание на раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GPExtensions. В нем хранятся списки DLL, загружаемых винлогоном при обработке групповой политики безопасности. В этот раздел также можно установить трояна, но проблема в том, что настройки политики безопасности пользователи меняют редко, а, следовательно, маловероятно, что этот автозапуск вообще когда-нибудь сработает ;). Как добавить туда свою DLL очень просто понять, посмотрев на уже существующие там записи.

Но и это, как говориться, еще не все. В Winlogon’е огромная куча мест, откуда реально стартануть трояна. Смотри, разделом выше, в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon есть два замечательных параметра: Shell и Userinit. Первый обычно содержит имя файла оболочки, запускаемой после входа в систему (обычно explorer.exe), второй – путь к приложению, которое инициализируют профиль пользователя при входе в систему (обычно Userinit.exe). Для автозагрузки можно подставить в параметр Shell путь к своему трояну, который уже будет сам запускать оболочку. Но это не лучший способ. Гораздо больше возможностей предоставляет параметр Userinit. Основная его фича в том, что с его помощью можно запустить не одно, а сразу несколько приложений - достаточно просто разделить их запятыми. На практике это может выглядеть так: "Userinit"="Userinit.exe, trojan.exe". Такая штука будет замечательно работать!

Назад на стр. 081-118-2  Содержание  Вперед на стр. 081-118-4