![]() |
![]() |
![]() | |
Содержание DreamSystem 2.0 Сей продукт является продолжением серии DreamSocks, небольшой обзорчик которого был ранее. В Дримсистем помимо носков предоставляется также ддос и биндшелл. 1. Основной ехе Основной ехе размером в 21 кб неупакованный, внутри все такие же приемы как и в дримсокс, а именно вызовы функций сделаны в виде call, push\jmp, push\ret инструкций. Строки пошифрованы, расшифровываются практически все сразу недалеко от точки входа, затем идет подгрузка нужных дллок и восстановление импорта. После предварительных процедур троян устанавливает себя в системную папку с именем cssrss.exe и прописывается в Run ветку реестра. Затем извлекает драйвер, который по существу является убивателем фаерволлов и руткитом, с именем nso12k.sys, прописывает его в реестре и вызывает ZwLoadDriver. Затем троян запускает у себя носки, и стучит в стату. Соответственно при получении комманды на ддос его запускает. 2. Драйвер Драйвер размером в 3.5 кб в себе держит различные обходы фаерволлов и небольшой руткит. Обход фаероволлов идет путем их отключения. Для начала сбрасываются Attached девайсы с \Device\Tcpip, после чего идет регистрация протокола ndis, и проход по списку всех зарегестрированных протоколов в системе с целью снятия хуков. Посмотрев на код снятия хуков видим примерно такой кусочек кода: .text:00010611 cmp dword ptr [edx], 3C08358h .text:00010617 jnz short loc_1061F .text:00010619 push dword ptr [ecx+8] .text:0001061C pop edx .text:0001061D jmp short loc_1062F .text:0001061F .text:0001061F loc_1061F: ; CODE XREF: RemoveOutpostHook+1D .text:0001061F cmp dword ptr [edx], 6030FF58h .text:00010625 jnz short loc_1062D .text:00010627 push dword ptr [ecx+5] .text:0001062A pop edx .text:0001062B jmp short loc_1062F Смотря на 3C08358h видим код pop eax \\ add eax, 3, что является кодом обработчика 4го аутпоста, смотря на 6030FF58h видим код pop eax \\ push [eax] \\ pushad видим код обработчика 3го аутпоста, а смотря еще лучше вспоминаем статью MaD опубликованную на wasm.ru и называлась та статья "Обход Outpost Firewall 3.x и 4.0 в Kernel mode". В той статье как раз и был разбор обхода на уровне ндис. Сравнивая код из статьи и код из драйвера нетрудно догадатся что они идентичны. Кроме того код целиком взят из той статьи, ибо снятие аттаченных девайсов и сброс виндового фаера идетичны. Снятие виндового фаера, а также части аутпоста идет через посылку \Device\IPFILTERDRIVER запроса IOCTL_PF_SET_EXTENSION_POINTER, который убирает обработчики и фаерволл больше ничего не видит. Руткит прячет процесс трояна и его фаил, при этом совершенно не пряча себя самого, т.е. драйвер nso12k.sys так и лежит в открытом виде. Руткит реализован в виде перехвата SSDT и соответственно модификации выводимых данных при их вызове. Перехвачены 3 функции, это: ZwQueryDirectoryFile, ZwQuerySystemInformation и ZwTerminateProcess. Нужны они соответственно для сокрытия файлов, процессов и для управления руткитом. Для передачи руткиту пида скрываемого процесса троян вызывает TerminateProcess с пидом 313373, для передачи имени скрываемого файла 313374. И существует еще один спец пид - 313375 он содержит в себе установку хуков на реестр, но в моем варианте его не вызывают и соответственно троян продолжает светится в Run ветке реестра. Руткит естественно обнаруживается практически любым антируткитом. Итого, продукт представляет собой продолжение дримсокса, используются теже самые методы что и до этого, не работает скрытие ветки реестра, да и само скрытие обнаруживается вполне легко, файлы с постоянным именам также огорчают. Only for TGBR E-ZineS, by Neon, TGBR.IN date: 29.03.08 |
||
![]() |
![]() |
|