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

Тема в разделе "Статьи", создана пользователем KaeraK, 19 дек 2011.

  1. KaeraK
    KaeraK Guest
    Эффективное протроянивание, или собираем свой ботнет​

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

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

    [​IMG]​

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

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

    Для этого нам понадобятся следующие вещи:

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

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

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

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

    • Ставим любой движок, будь то 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)
    Запускаем батник...
    [​IMG]​

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

    [​IMG]

    [​IMG]​

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

    [​IMG]​

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

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

    [​IMG]​

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

    [​IMG]​

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

    Создаем батник:
    Код:
    certmgr.exe -add -c sertifikat.cer -s -r localMachine AuthRoot
    И ложим рядом с sertifikat.cer и программой certmgr.exe
    Может у меня и глупый метод, но под руками не было никакого монитора реестра, а виртуалка была, вот и решил выкрутится..: удалить ВСЕ ветки В SystemCertificates. Удалили? Ок, теперь запускаем вышесозданный батник, и обновляем реестр, опа, добавился наш сертификат :)
    Далее мы его экспортируем в *reg файл..

    [​IMG]​

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

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

    (Если у нас есть инсталятор с програмой, то распаковываем его с помощью программы 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    //вызываем функцию
    Ниже визуальное представление того, что я написал

    [​IMG]​

    Copy to executable => All modifications...
    На этом этапе все :)

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

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

    [​IMG]​

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

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


    "Набор" для создания цифровой подписи + ресурсы
    Пароль на архив: xaker.name

    © KaeraK и Xaker.Name​
     
    19 дек 2011
    2 пользователям это понравилось.
  2. IceBolt
    IceBolt Новичок
    Симпатии:
    1
    Перезалейте
     
    7 фев 2012
Загрузка...