November 4, 2018

BYOB - Создаем собственный ботнет.

Всем привет. Решил написать статью про ботнет)

Разработчик -== malwaredllc

Страница разработчика -== malwaredllc/byob

Введение.

BYOB (Build Your Own Botnet) - это проект с открытым исходным кодом, который предоставляет платформу для исследователей и разработчиков безопасности для создания и управления базовым ботнетом, чтобы углубить свое понимание сложной вредоносной программы, которая заражает миллионы устройств каждый год и порождает современные бот-сети, чтобы улучшить их способность разработать контрмеры против этих угроз.

Он разработан, чтобы позволить разработчикам легко реализовывать свой собственный код и добавлять интересные новые функции без необходимости писать RAT (Remote Administration Tool) или C2 (Command & Control server) с нуля.

Сервер:

  • Сервер управления с постоянной базой данных и консолью.
  • Консольный интерфейс пользователя: оптимизированный консольный интерфейс для удаленного управления клиентскими хост-компьютерами через обратные TCP-оболочки, которые обеспечивают прямой доступ к клиентским хост-машинам.
  • Постоянная база данных SQLite: легкая база данных, в которой хранится идентификационная информация о клиентских машинах-хостах, что позволяет проводить сеансы обратной TCP-оболочки с помощью разрывов произвольной продолжительности и обеспечения долгосрочной разведки.
  • Архитектура клиент-сервер: все локальные пакеты / модули python автоматически становятся доступными для удаленного доступа клиентов, не записывая их на диск целевых компьютеров, что позволяет клиентам использовать модули, которые требуют пакетов, не установленных на целевых компьютерах.

Клиент:

  • Создает полностью необнаруживаемые клиенты с полезной нагрузкой, удаленным импортом и неограниченными модулями.
  • Удаленный импорт: удаленно импортировать сторонние пакеты с сервера, не записывая их на диск или не загружая / не устанавливая их.
  • Ничего не записано на диск: клиенты никогда ничего не пишут на диск - даже временные файлы (нулевые системные вызовы ввода-вывода выполняются), потому что удаленный импорт позволяет динамически загружать произвольный код в память и напрямую импортировать в текущий процесс.
  • Zero Dependencies : клиент работает только с стандартной библиотекой python, удаленно импортирует любые нестандартные пакеты / модули с сервера и может быть скомпилирован с помощью автономного интерпретатора python в переносимый исполняемый файл, отформатированный для любой платформы / архитектура, позволяющая ему работать на чем угодно, даже если сам Python отсутствует на целевом хосте.
  • Добавление новых функций с помощью всего лишь 1 Щелчок: любой скрипт, модуль или пакет python, который вы должны копировать в каталог ./byob/modules/, автоматически становится удаленным и доступным для каждого клиента, когда ваш сервер управления работает.
  • Напишите свои собственные модули: базовый шаблон модуля предоставляется в каталоге ./byob/modules/, чтобы написать собственные модули прямолинейным, без проблем процессом.
  • Запуск неограниченных модулей. Размер файла: использование удаленного импорта для добавления неограниченных функций без добавления одного байта в размер файла клиента.
  • Полностью обновляемый: каждый клиент будет периодически проверять сервер на наличие нового контента, доступного для удаленного импорта, и будет динамически обновлять свои ресурсы в памяти, если что-либо добавлено / удалено.
  • Все написано на языке Python и сгенерированные клиенты могут быть необязательно скомпилированы в переносимый исполняемый файл (Windows) или в комплекте с автономным приложением (macOS).
  • Обход межсетевых экранов: клиенты подключаются к серверу управления и управления через обратные TCP-соединения, которые обходят большинство брандмауэров, потому что конфигурации фильтра по умолчанию в основном блокируют входящие соединения.
  • Counter-Measure Against Antivirus: избегает анализа антивирусом, блокируя процессы с именами известных антивирусных продуктов от нереста.
  • Шифрование полезных нагрузок для предотвращения анализа: основная полезная нагрузка клиента зашифровывается случайным 256-битным ключом, который существует исключительно в блоке полезной нагрузки, который создается вместе с ним.
  • Предотвращение обратного проектирования: по умолчанию клиенты прекращают выполнение, если обнаружена виртуальная машина или песочница.

11 пост-эксплуатационных модулей, которые удаленно импортируются клиентами:

  1. Keylogger (byob.modules.keylogger): регистрирует нажатия клавиш пользователя и введенное имя окна.
  2. Снимок экрана (byob.modules.screenshot): сделайте снимок экрана рабочего стола текущего пользователя.
  3. Веб-камера (byob.modules.webcam): просмотр прямого потока или захват изображения / видео с веб-камеры.
  4. Ransom (byob.modules.ransom): шифрует файлы и генерирует случайный кошелек BTC для выплаты выкупа.
  5. Outlook (byob.modules.outlook): чтение / поиск / отправка писем из локального клиента Outlook.
  6. Packet Sniffer (byob.modules.packetsniffer): запустить пакетный снифер в сети хоста и загрузить файл .pcap
  7. Persistence (byob.modules.persistence): установить постоянство на главной машине, используя 5 различных методов.
  8. Телефон (byob.modules.phone): чтение / поиск / загрузка текстовых сообщений с клиентского смартфона.
  9. Эскалация привилегий (byob.modules.escalate): попытка обхода UAC для получения несанкционированных прав администратора.
  10. Port Scanner (byob.modules.portscanner): сканирование локальной сети для других сетевых устройств и открытых портов.
  11. Управление процессом (byob.modules.process): list / search / kill / мониторинг текущих запущенных процессов на хосте

Установка и запуск:

# git clone https://github.com/malwaredllc/byob.git
# cd byob
# pip install -r requirements.txt
# ./setup.py
# Запуск:
# ./server.py
Пример: server.py [-h] [-v] [--host HOST] [--port PORT] [--database DATABASE]
# ./client.py
Пример: client.py [-h] [-v] [--name NAME] [--icon ICON] [--pastebin API] [--encrypt] [--obfuscate] [--compress] [--compile] host port [module [module ...]]

Справка: help

command <arg>                                         description                               
 bg [id]                         background a session (default: the current session)                         
 broadcast <command>             broadcast a task to all active sessions                                     
 clients                         show all clients that have joined the server                               
 debug <code>                    run python code directly on server (debugging MUST be enabled)             
 exit                            quit the server                                                             
 help                            show usage help for server commands                                         
 kill <id>                       end a session                                                               
 options                         show currently configured settings                                         
 query <statement>               query the SQLite database                                                   
 ransom [id]                     encrypt client files & ransom encryption key for a Bitcoin payment         
 results [id]                    display all completed task results for a client (default: all clients)     
 screenshot                      take a screenshot of the client desktop                                     
 sessions                        show active client sessions                                                 
 set <setting> [option=value]    change the value of a setting                                               
 shell <id>                      interact with a client with a reverse TCP shell through an active session   
 tasks [id]                      display all incomplete tasks for a client (default: all clients)           
 webcam <mode>                   capture image/video from the webcam of a client device

Наши услуги: @GOdayBot

Внимание!!! Вся Информация на канале "0-day | Уязвимость 0-го дня" для ознакомления, не несёт в себе призыва к чему-либо, автор не несёт никакой ответственности. 18