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

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

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

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

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

Категории

Все категории
Loading categories
Ledger — Скрипт-агрессор, отслеживающий операционные изменения, внесённые в ходе участия Red Team. Предоставляет полный аудит изменений и того, что ещё необходимо очистить. | Kitploit
Инструменты/GitHubGitHub/shellkraft/ledger
Скриптинг и автоматизацияПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеУтилиты и фреймворкиRed TeamingРеагирование на ИнцидентыАнализ Журналов
GitHubshellkraft/ledger

Ledger

Скрипт-агрессор, отслеживающий операционные изменения, внесённые в ходе участия Red Team. Предоставляет полный аудит изменений и того, что ещё необходимо очистить.

Репозиторий
2713 месяцев назадПроверено Kitploit

Популярное

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

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

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

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

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

Ledger — Скрипт-агрессор для отслеживания операционных изменений

Ledger — это скрипт-агрессор для Cobalt Strike, который отслеживает каждое операционное изменение, внесённое во время задания. Каждый включенный вами сервис, пробитое правило брандмауэра, созданная учётная запись или изменённый ключ реестра регистрируется с оценкой риска, информацией об операторе и статусом очистки. По завершении задания у вас будет полный аудиторский след того, что было изменено и что ещё нужно очистить.


Зачем

Задания red team оставляют артефакты. Включаются сервисы, создаются учётные записи, открываются правила брандмауэра, изменяются ключи реестра. Без структурированного журнала о них легко забыть — особенно в длительных заданиях или когда одновременно работают несколько операторов.

Ledger предоставляет текущий журнал с:

  • Оценкой риска для каждой записи и каждого хоста
  • Отслеживанием очистки, чтобы ничего не осталось
  • Привязкой к оператору через журнал событий Cobalt Strike
  • Экспортом в JSON или обычный текст для отчётов после действий
  • Автоматическим предупреждением о мёртвых биконах с незавершёнными изменениями

Установка

  1. Скопируйте ledger.cna в каталог скриптов Cobalt Strike.
  2. В строке меню: Cobalt Strike → Script Manager → Load → выберите ledger.cna.
  3. В строке меню появится пункт Ledger.
  4. Псевдоним dirty теперь доступен в любой консоли Beacon.

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

Все команды выполняются из консоли Beacon с помощью псевдонима dirty.


Запись изменения (без выполнения)

root@kitploit:~
dirty <КАТЕГОРИЯ> <команда> [комментарий] [оценка]

комментарий и оценка необязательны. Если опущены, используются разумные значения по умолчанию на основе категории.

root@kitploit:~
dirty RPC "sql-enablerpc lon-db-1 lon-db-2"
dirty DEFENDER "add-exclusion C:\windows\temp" "Payload staging" 8
dirty GROUP "net group 'Domain Admins' svc_backup /add /domain"
dirty USER "net user backdoor P@ssw0rd! /add"
dirty SCHEDULED_TASK "schtasks /create /tn updater /tr C:\temp\beacon.exe /sc onlogon"
изображение

Выполнение и запись за один шаг

root@kitploit:~
dirty exec <КАТЕГОРИЯ> <команда> [комментарий] [оценка]

Записывает изменение и сразу выполняет команду на биконе — одним шагом вместо двух.

root@kitploit:~
dirty exec RPC "sql-enablerpc lon-db-1 lon-db-2"
dirty exec USER "net user backdoor P@ssw0rd! /add"
dirty exec DEFENDER "sc config WinDefend start= disabled"
dirty exec FIREWALL "netsh advfirewall set allprofiles state off"

Ограничения dirty exec

dirty exec внутренне использует brun, который выполняет двоичный файл напрямую без обёртки cmd.exe /c. Это означает:

  • Работает для настоящих исполняемых файлов: net, sc, reg, nltest, whoami, ipconfig и т.д.
  • Не работает для встроенных команд Beacon: sleep, cd, ls, pwd, download, upload, execute-assembly, inject и т.д. Для таких команд выполните обычную команду Beacon и используйте dirty <КАТЕГОРИЯ> <команда> отдельно для записи.

Просмотр журнала

root@kitploit:~
dirty show
dirty show DEFENDER
dirty show DESKTOP-ABC123

Показывает все записанные записи. Необязательный фильтр сопоставляется с командой, комментарием, категорией, именем хоста и именем пользователя.

изображение

Сводка оценок

root@kitploit:~
dirty score

Показывает сводку рисков для каждого хоста с общей оценкой, количеством ожидающих очистки и визуальной полосой. Хосты отсортированы по убыванию оценки.


Отметка записей как очищенных

root@kitploit:~
dirty clean <id>
dirty clean all
dirty clean host <имя_хоста>

Сопоставление имени хоста нечувствительно к регистру и поддерживает частичное совпадение — DESKTOP соответствует DESKTOP-FGN4LPG.


Экспорт

root@kitploit:~
dirty export text
dirty export json
dirty export text DEFENDER
dirty export json DESKTOP-ABC

Экспорт записывается в каталог, содержащий ledger.cna, и включает сводку оценок хостов вверху, за которой следует полный журнал изменений. Кнопки в строке меню Ledger запускают нефильтрованный экспорт напрямую.


Справка

root@kitploit:~
dirty help

Категории и оценки по умолчанию

Любая не перечисленная категория принимается с оценкой по умолчанию 3.


Пороги риска

На запись

МеткаОценка
LOW< 5
MEDIUM5 – 7
HIGH8+

Совокупный (на хост)

МеткаОценка
LOW< 5
MEDIUM5 – 9
HIGH10 – 14
CRITICAL15+

Предупреждение о мёртвом биконе

Когда бикон становится мёртвым с незавершёнными записями в журнале, Ledger выводит красное предупреждение в журнал событий Cobalt Strike, видимое всем подключённым операторам:

изображение

Предупреждение срабатывает один раз на бикон и сбрасывается автоматически, если бикон восстанавливается и снова входит в связь. Связанные (дочерние) биконы и биконы, явно убитые оператором, исключаются. Время срабатывания предупреждения масштабируется в зависимости от настройки сна бикона — сон 60 с срабатывает примерно через 2 минуты, сон 5 минут — примерно через 10 минут.


Формат экспорта

Текст

root@kitploit:~
LEDGER EXPORT -- 2026-05-21 19:50:34

HOST SCORE SUMMARY
================================================================================
Host  Risk  Score  Pending  Bar
--------------------------------------------------------------------------------
DESKTOP-RLP4KBJ (sally *)  CRITICAL  +21  2 pend  [##########]
DESKTOP-FGN4LPG (Admin)  CRITICAL  +18  0 pend  [#########]
================================================================================

CHANGE LOG
================================================================================

[000002] 2026-05-21 19:22:56 | neo | GROUP | MEDIUM +6 | CLEANED
  Host          : DESKTOP-FGN4LPG
  User          : Admin
  Process       : HTTP Listener_x64.exe (PID 4716)
  Command       : net group 'Domain Admins' svc_backup /add /domain
  Comment       : Added svc_backup to Domain Admins for lateral movement

JSON

root@kitploit:~
{
  "exported":    "2026-05-21 19:53:19",
  "host_summary": [
    {
      "host":    "DESKTOP-FGN4LPG (Admin)",
      "risk":    "CRITICAL",
      "score":   18,
      "pending": 0
    },
    {
      "host":    "DESKTOP-RLP4KBJ (sally *)",
      "risk":    "CRITICAL",
      "score":   21,
      "pending": 2
    }
  ],
  "entries": [
  {
    "id":             "000004",
    "timestamp":      "2026-05-21 19:31:36",
    "operator":       "neo",
    "beacon_id":      "1607712302",
    "computer":       "DESKTOP-RLP4KBJ",
    "beacon_user":    "sally *",
    "beacon_process": "HTTP Listener_x64.exe (PID 11540)",
    "functionality":  "USER",
    "command":        "net user svc_backup P@ssw0rd123! /add /domain",
    "comment":        "Created service account for persistence",
    "score":          7,
    "risk":           "MEDIUM",
    "cleaned":        false
  }

Использование несколькими операторами

Каждая запись о добавлении и очистке транслируется в журнал событий Cobalt Strike через elog, поэтому все подключённые операторы видят изменения друг друга в реальном времени. Журнал хранится в памяти teamserver на время сессии.


Примечания

  • Журнал существует только в памяти и не сохраняется после перезагрузки teamserver. Перед завершением работы выполните экспорт.
  • Экспорт записывается в каталог, содержащий ledger.cna.
  • Поддерживается переопределение оценки: dirty USER "net user ..." "my comment" 9 — последний аргумент задаёт явную оценку.
  • Загрузка скрипта дважды (например, один раз через Script Manager и один раз вручную) приведёт к регистрации дублирующихся обработчиков событий. Проверьте Script Manager, если видите удвоенный вывод.
Скачать инструмент
  • Не работает для встроенных команд оболочки, требующих cmd.exe: dir, echo, set, type, конвейеры (|), перенаправления (>) и т.д. Записывайте их вручную с помощью dirty КАТЕГОРИЯ "shell <команда>".
  • Пользовательские псевдонимы BOF, загруженные из других файлов .cna, не будут правильно обрабатываться через dirty exec.
  • КатегорияОценка по умолчаниюКомментарий по умолчанию
    REGISTRY2Изменён реестр
    FIREWALL3Изменено правило брандмауэра
    SERVICE3Изменена конфигурация службы
    RPC4Внесены изменения в RPC
    WINRM4Включён WinRM
    SMB4Изменена подпись SMB
    DCOM4Включён DCOM
    RDP5Включён RDP
    SCHEDULED_TASK5Создано запланированное задание
    DEFENDER6Изменена конфигурация Defender
    GROUP6Изменено членство в группе
    USER7Изменена учётная запись
    ACL8Изменён ACL
    SPN8Изменён SPN
    DOMAIN_ADMIN9Изменена группа доменных админов
    TRUST9Изменены доверительные отношения