Pull to refresh

Comments 6

Сначала пишете, что противодействия анализу нет (строки не шифрованы и т.д.), а затем приводите алго расшифровки строк, говорите, что они зашифрованы, и вообще описываете практически один в один описание функционала и семплов Dridex'а (разбирал его когда-то).

Извиняюсь, увидел, что слова Нет нету.

VNC-сервер представлял из себя DLL-библиотеку, которая запускалась при помощи функции CreateProcessA() с параметрами rundll32.exe kernel32,Sleep -s <%Путь к DLL%>
Что обозначает параметр -s? Поискал, нигде это не документировано.
qw1 большое спасибо за вопрос! Повторно посмотрел на участок, отвечающий за запуск VNC-модуля и подробнее описал данную процедуру (плюс исправил неточность с параметром запуска после ключа -s).

Ключ -s предназначен для VNC-модуля. За ним следует параметр, который основной модуль передает VNC. VNC в свою очередь проверяет наличие ключа, получает из параметра PID процесса-трояна и хендл сокета, при помощи которого происходит взаимодействие с CnC, при помощи функции DuplicateHandle() создает его копию и в дальнейшем использует для взаимодействия с сервером.
Всё равно непонятно, почему rundll32 kernel32,Sleep запускает VNC.
Может, exe-файл сервера переименован в rundll32, но понять это из текста нельзя
Судя по коду, после запуска rundll32 (или svchost) троян должен заинжектить код VNC-модуля в легитимное приложение и вызывать функцию DllEntryPoint(). Однако единственное место, где я вижу использование адреса VNC-модуля — это передача его в параметр ProcessInformation.hProcess. В документации написано, что ProcessInformation используется для получения информации о созданном процессе — то есть адрес не используется.

Еще один интересный момент — svchost.exe создается с флагом CREATE_SUSPENDED:
CreateProcessA(0, &CommandLine, 0, 0, 0, 4, 0, 0, &StartupInfo, &ProcessInformation)

и после запуска приложения не происходит запуск потоков, svchost остается висеть в состоянии suspend.

При этом приложение запускает оригинальные исполняемые файлы. К примеру, путь к rundll32.exe формируется следующим образом: %WINDOWS%\System32\rundll32.exe либо %WINDOWS%\SysWOW64\rundll32.exe в зависимости от разрядности системы. Замены файлов не наблюдал. Сам VNC-модуль — DLL, хранится на диске в зашифрованном виде.

Похоже на ошибку в коде трояна. Возможно, поправят в следующих версиях.
Sign up to leave a comment.