Всем привет. Решил создать статью про ботнет. Давненько не было статей про ботнет.
Разработчик -== 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-битным ключом, который существует исключительно в блоке полезной нагрузки, который создается вместе с ним.
Предотвращение обратного проектирования: по умолчанию клиенты прекращают выполнение, если обнаружена виртуальная машина или песочница.
Спасибо за внимание.
Разработчик -== malwaredllc
Страница разработчика -== malwaredllc/byob
Введение.
BYOB (Build Your Own Botnet) - это проект с открытым исходным кодом, который предоставляет платформу для исследователей и разработчиков безопасности для создания и управления базовым ботнетом, чтобы углубить свое понимание сложной вредоносной программы, которая заражает миллионы устройств каждый год и порождает современные бот-сети, чтобы улучшить их способность разработать контрмеры против этих угроз.
Он разработан, чтобы позволить разработчикам легко реализовывать свой собственный код и добавлять интересные новые функции без необходимости писать RAT (Remote Administration Tool) или C2 (Command & Control server) с нуля.
Код:
Server.
Сервер управления с постоянной базой данных и консолью.
Консольный интерфейс пользователя: оптимизированный консольный интерфейс для удаленного управления клиентскими хост-компьютерами через обратные TCP-оболочки, которые обеспечивают прямой доступ к клиентским хост-машинам.
Постоянная база данных SQLite: легкая база данных, в которой хранится идентификационная информация о клиентских машинах-хостах, что позволяет проводить сеансы обратной TCP-оболочки с помощью разрывов произвольной продолжительности и обеспечения долгосрочной разведки.
Архитектура клиент-сервер: все локальные пакеты / модули python автоматически становятся доступными для удаленного доступа клиентов, не записывая их на диск целевых компьютеров, что позволяет клиентам использовать модули, которые требуют пакетов, не установленных на целевых компьютерах.
Код:
Client.
Создает полностью необнаруживаемые клиенты с полезной нагрузкой, удаленным импортом и неограниченными модулями.
Удаленный импорт: удаленно импортировать сторонние пакеты с сервера, не записывая их на диск или не загружая / не устанавливая их.
Ничего не записано на диск: клиенты никогда ничего не пишут на диск - даже временные файлы (нулевые системные вызовы ввода-вывода выполняются), потому что удаленный импорт позволяет динамически загружать произвольный код в память и напрямую импортировать в текущий процесс.
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
Спасибо за внимание.