Smbexec — это инструмент для выполнения команд на удаленных Windows-системах через SMB-протокол. Благодаря своим возможностям он стал популярным не только среди администраторов, но и среди злоумышленников. Однако, несмотря на мощь, Smbexec оставляет заметные следы, которые помогают его обнаружить.
Принцип работы
1️⃣ Аутентификация через SMB
Инструмент использует учетные данные (пароли или NTLM-хэши), чтобы аутентифицироваться и получить доступ к целевой машине от имени локального администратора.
2️⃣ Доступ к SCM (Service Control Manager)
Первый шаг после входа — открытие доступа к SCM с помощью команды OpenSCManagerW, где параметр MachineName всегда равен DUMMY.
3️⃣ Создание временной службы
Через CreateServiceW создается служба, запускающая команды, записанные во временный .bat файл.
Команда выглядит следующим образом:
%COMSPEC% /Q /c echo ipconfig > \\127.0.0.1\C$\output && %COMSPEC% /Q /c \\127.0.0.1\C$\execute.bat && del \\127.0.0.1\C$\execute.bat
4️⃣ Удаление временных файлов
После выполнения команды временные файлы удаляются, но логи Windows фиксируют ключевые этапы атаки.
Следы Smbexec в логах Windows
- 4697 — создание службы на целевой машине.
- 4688 — запуск процесса cmd.exe с аргументами из временного .bat файла.
- 5145 — проверка прав доступа к файлам на общем ресурсе (например, `output`).
Пример характерной записи:
%COMSPEC% /Q /c echo ipconfig > \\127.0.0.1\C$\output && %COMSPEC% /Q /c \\127.0.0.1\C$\execute.bat && del \\127.0.0.1\C$\execute.bat
Эти события легко объединяются в последовательность, позволяющую выявить использование Smbexec.
