Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
LOLBITS — ** ПРЕКРАЩЕНО ** C2 framework, использующий Background Intelligent Transfer Service (BITS) в качестве протокола связи и Direct Syscalls + Dinvoke для обхода перехвата в пользовательском режиме EDR. | Kitploit
Инструменты/GitHubGitHub/kudaes/lolbits
Повышение привилегийФреймворки для эксплойтовЛатеральное перемещениеПост-эксплуатацияКомандование и УправлениеRed TeamingРазработка Полезной Нагрузки
GitHubkudaes/lolbits

LOLBITS

** ПРЕКРАЩЕНО ** C2 framework, использующий Background Intelligent Transfer Service (BITS) в качестве протокола связи и Direct Syscalls + Dinvoke для обхода перехвата в пользовательском режиме EDR.

Репозиторий
222383 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

License

root@kitploit:~
			 ██╗      ██████╗ ██╗     ██████╗ ██╗████████╗███████╗
			 ██║     ██╔═══██╗██║     ██╔══██╗██║╚══██╔══╝██╔════╝
			 ██║     ██║   ██║██║     ██████╔╝██║   ██║   ███████╗
			 ██║     ██║   ██║██║     ██╔══██╗██║   ██║   ╚════██║
			 ███████╗╚██████╔╝███████╗██████╔╝██║   ██║   ███████║
			 ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝

Содержание

  • О проекте
    • Благодарности
  • Начало работы
    • Предварительные требования
    • Настройка
  • Использование
  • Вклад
  • Лицензия
  • Контакты

О проекте

LOLBITS — это C2-фреймворк, использующий фоновую интеллектуальную службу передачи (BITS) от Microsoft для установки канала связи между скомпрометированным хостом и серверной частью. Серверная часть C2 скрыта за, на первый взгляд, безобидным веб-приложением на Flask и доступна только тогда, когда HTTP-запросы, полученные приложением, содержат действительный заголовок аутентификации. Поскольку этот инструмент предназначен для использования в средах с высоким уровнем мониторинга, были реализованы следующие функции для предотвращения обнаружения EDR и AV:

  • Патчинг ETW и AMSI.
  • Использование прямых системных вызовов для обхода перехвата API на уровне пользователя в EDR.
  • Ручное отображение библиотек kernel32.dll и advapi32.dll в сочетании с DInvoke.
  • Базовая проверка на песочницу перед установкой канала связи с серверной частью C2.
  • Использование BITS в фоновом режиме для создания канала связи без ущерба для пользовательского опыта.

Что касается архитектуры, LOLBITS состоит из 3 основных элементов:

  • C#-агент, который отвечает за выполнение команд на скомпрометированном хосте и отправку вывода обратно на C2-сервер после завершения задачи.
  • Веб-приложение на Flask, выполняющее роль диспетчера. Этот элемент позволяет скрыть C2-инфраструктуру за безобидным сайтом, одновременно предоставляя новые команды агенту при получении аутентифицированного запроса.
  • C2-консоль, используемая для управления агентом.

Чтобы запретить прокси-серверам проверять содержимое, все соответствующие данные, передаваемые между агентом и C2-сервером, шифруются с помощью RC4 с заранее согласованным случайно сгенерированным секретным ключом. Высокоуровневая диаграмма поведения инфраструктуры показана на изображении ниже:

Высокоуровневая диаграмма

Чтобы предотвратить возможность воспроизведения синей командой старых запросов и обнаружения C2-инфраструктуры, каждый заголовок аутентификации генерируется случайным образом и действителен только для одного цикла (цикл состоит из POST-запроса, за которым следует GET-запрос, в указанном порядке). Старые заголовки аутентификации будут игнорироваться, и для таких запросов будет отображаться безобидный сайт.

Благодарности

Некоторые функции этого инструмента были реализованы либо путём повторного использования кода из других проектов, либо благодаря усилиям нескольких исследователей в области кибербезопасности. Ниже я привожу ссылки на некоторые внешние работы и проекты, которые так или иначе были использованы для улучшения этого инструмента:

  • Salsa Tools
  • Dinvoke
  • SharpSploit
  • Таблица системных вызовов Windows
  • CheckPlease для обхода песочниц

Начало работы

Предварительные требования

Для 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. Для его компиляции необходимы:

  • Visual Studio 2017 или выше.
  • .NET Framework 4.5 или выше.

Настройка

  1. Клонируйте этот репозиторий на ваш C2-сервер
root@kitploit:~
git clone https://github.com/Kudaes/LOLBITS.git
  1. Установите веб-сервер (IIS) через диспетчер сервера Windows. Убедитесь, что установлены роли CGI, ASP.NET и .NET Extensibility.

Роли сервера

Также установите функции .NET Framework и BITS для IIS.

Функции сервера

  1. Выполните скрипт setup.ps1 от имени администратора для развёртывания всей инфраструктуры и настройки C#-агента.

  2. Скомпилируйте C#-агента. Компиляция создаст .exe и внешнюю зависимость (Newtonsoft.Json.dll). Вы можете создать один .exe с помощью ILMerge или просто отправить оба файла на скомпрометированный хост. Чтобы избежать вывода DEBUG, убедитесь, что проект скомпилирован как Windows Application.

Windows Application

  1. (Необязательно) По умолчанию скрипт setup.ps1 создаст новый веб-сайт в вашем IIS с именем lawlbits, который прослушивает стандартный HTTP-порт (80/TCP). Этот новый веб-сайт не использует HTTP через TLS, и хотя содержимое запросов, отправляемых C#-агентом на C2, шифруется с помощью RC4 с заранее согласованным случайно сгенерированным секретным ключом, рекомендуется настроить использование HTTPS для нового сайта. Для этого я рекомендую использовать Let's Encrypt для lawlbits — это один из самых простых способов настройки HTTPS. После этого не забудьте изменить переменную Url в Program.cs на HTTPS вместо HTTP (поведение по умолчанию).

Использование

Чтобы получить обратную оболочку, просто введите python lawlbin.py в командной строке C2-сервера и выполните C#-агента на скомпрометированном хосте.

Поскольку этот проект родился из руин предыдущего, неудачного проекта, некоторые старые функции были сохранены. Старый проект представлял собой оболочку, в которой все доступные команды выполнялись исключительно с помощью Living of The Land Binaries. Вот откуда происходит LOL в LOLBITS, и именно поэтому следующие функции работают исключительно с использованием LOLBINS (это может помочь обойти AWS и некоторые фильтры AV/EDR):

  • download: Загрузить файл с удалённого WebDAV на скомпрометированный хост.
  • base64encode: Закодировать содержимое локального файла в base64.
  • base64decode: Декодировать файл, закодированный в base64.
  • compile: Скомпилировать .cs-файлы в .exe или .dll.

Хотя эти функции могут быть интересны в некоторых средах (хм, загрузка удалённых файлов без использования PowerShell? Мне это нравится!), я сохранил их только для повторного использования части старого кода для C2-консоли. Ниже приведён список других функций, которые, уверен, будут более полезны в классическом контексте Red Team:

  • inject: Загрузить с C2 шелл-код (.bin) или PE-файл (сборка .NET) и выполнить его в памяти. При использовании этой команды полезная нагрузка никогда не попадает на диск в незашифрованном виде, что позволяет избежать обнаружения AV. Сборки .NET могут быть загружены только в вызывающем процессе, тогда как шелл-код может быть внедрён как в собственный, так и в другие процессы (только x64).
  • psh: Сгенерировать обратную оболочку PowerShell. Эту оболочку нужно обрабатывать с помощью дополнительного ПО, например netcat (просто запустите nc -lvp <port>).
  • send: Чтобы отправить файл с вашего C2 на скомпрометированный хост, используйте эту опцию. Отправленный файл будет сохранён на диске в незашифрованном виде.
  • getsystem: Попытка получить привилегии System. Требуется высокий уровень целостности.
  • impersonate: Попытка украсть токен доступа другого процесса, чтобы «стать» другим пользователем.
  • runas: Использовать действительные учётные данные для изменения контекста безопасности и входа в систему от имени другого (локального или доменного) пользователя.
  • rev2self: Удалить изменения контекста безопасности, выполненные с помощью getsystem, impersonate или runas.
  • exfiltrate: Отправить файл со скомпрометированного хоста на ваш C2.

Чтобы получить подсказки по использованию, просто введите help или <somecommand> help.

Вклад

Любые вклады будут очень ценны.

  1. Сделайте форк проекта
  2. Создайте свою ветку для функции (git checkout -b feature/AmazingFeature)
  3. Зафиксируйте изменения (git commit -m 'Add some AmazingFeature')
  4. Отправьте изменения в ветку (git push origin feature/AmazingFeature)
  5. Откройте Pull Request

Лицензия

Распространяется под лицензией GNU. См. LICENSE для получения дополнительной информации.

Контакты

Мой Twitter

Мой LinkedIn

Скачать инструмент