
** ПРЕКРАЩЕНО ** C2 framework, использующий Background Intelligent Transfer Service (BITS) в качестве протокола связи и Direct Syscalls + Dinvoke для обхода перехвата в пользовательском режиме EDR.
██╗ ██████╗ ██╗ ██████╗ ██╗████████╗███████╗
██║ ██╔═══██╗██║ ██╔══██╗██║╚══██╔══╝██╔════╝
██║ ██║ ██║██║ ██████╔╝██║ ██║ ███████╗
██║ ██║ ██║██║ ██╔══██╗██║ ██║ ╚════██║
███████╗╚██████╔╝███████╗██████╔╝██║ ██║ ███████║
╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝ ╚═╝ ╚══════╝
LOLBITS — это C2-фреймворк, использующий фоновую интеллектуальную службу передачи (BITS) от Microsoft для установки канала связи между скомпрометированным хостом и серверной частью. Серверная часть C2 скрыта за, на первый взгляд, безобидным веб-приложением на Flask и доступна только тогда, когда HTTP-запросы, полученные приложением, содержат действительный заголовок аутентификации. Поскольку этот инструмент предназначен для использования в средах с высоким уровнем мониторинга, были реализованы следующие функции для предотвращения обнаружения EDR и AV:
Что касается архитектуры, LOLBITS состоит из 3 основных элементов:
Чтобы запретить прокси-серверам проверять содержимое, все соответствующие данные, передаваемые между агентом и C2-сервером, шифруются с помощью RC4 с заранее согласованным случайно сгенерированным секретным ключом. Высокоуровневая диаграмма поведения инфраструктуры показана на изображении ниже:
Чтобы предотвратить возможность воспроизведения синей командой старых запросов и обнаружения C2-инфраструктуры, каждый заголовок аутентификации генерируется случайным образом и действителен только для одного цикла (цикл состоит из POST-запроса, за которым следует GET-запрос, в указанном порядке). Старые заголовки аутентификации будут игнорироваться, и для таких запросов будет отображаться безобидный сайт.
Некоторые функции этого инструмента были реализованы либо путём повторного использования кода из других проектов, либо благодаря усилиям нескольких исследователей в области кибербезопасности. Ниже я привожу ссылки на некоторые внешние работы и проекты, которые так или иначе были использованы для улучшения этого инструмента:
Для C2-инфраструктуры требуется Windows Server 2016 или выше с Python 3.4+ и PowerShell 5.1+. C#-агент успешно протестирован на Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows 7, Windows 8.1 и Windows 10. Для его компиляции необходимы:
git clone https://github.com/Kudaes/LOLBITS.git
Также установите функции .NET Framework и BITS для IIS.
Выполните скрипт setup.ps1 от имени администратора для развёртывания всей инфраструктуры и настройки C#-агента.
Скомпилируйте C#-агента. Компиляция создаст .exe и внешнюю зависимость (Newtonsoft.Json.dll). Вы можете создать один .exe с помощью ILMerge или просто отправить оба файла на скомпрометированный хост. Чтобы избежать вывода DEBUG, убедитесь, что проект скомпилирован как Windows Application.
Url в Program.cs на HTTPS вместо HTTP (поведение по умолчанию).Чтобы получить обратную оболочку, просто введите python lawlbin.py в командной строке C2-сервера и выполните C#-агента на скомпрометированном хосте.
Поскольку этот проект родился из руин предыдущего, неудачного проекта, некоторые старые функции были сохранены. Старый проект представлял собой оболочку, в которой все доступные команды выполнялись исключительно с помощью Living of The Land Binaries. Вот откуда происходит LOL в LOLBITS, и именно поэтому следующие функции работают исключительно с использованием LOLBINS (это может помочь обойти AWS и некоторые фильтры AV/EDR):
Хотя эти функции могут быть интересны в некоторых средах (хм, загрузка удалённых файлов без использования PowerShell? Мне это нравится!), я сохранил их только для повторного использования части старого кода для C2-консоли. Ниже приведён список других функций, которые, уверен, будут более полезны в классическом контексте Red Team:
nc -lvp <port>).Чтобы получить подсказки по использованию, просто введите help или <somecommand> help.
Любые вклады будут очень ценны.
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)Распространяется под лицензией GNU. См. LICENSE для получения дополнительной информации.