kitsune wiki

Nine-tailed pentest framework — полная документация по модулям

View on GitHub

Infra layer

api/serve (msfrpcd-lite)

REST API поверх общей базы на stdlib http.server:

kitsune > use serve
kitsune (api/serve) > set port 8000
kitsune (api/serve) > set host 127.0.0.1      # не светите на 0.0.0.0!
kitsune (api/serve) > set seconds 60          # uptime
kitsune (api/serve) > run
Endpoint Что уходит
/api/hosts hosts + hostname
/api/ports host, port, service, banner
/api/subdomains все субдомены
/api/loot все находки
/api/sessions сессии читателей чела
/api/stats счётчики таблиц
/api/report ready markdown (как report)
curl http://127.0.0.1:8000/api/stats
curl http://127.0.0.1:8000/api/loot | jq .

Клиенты: собственный GUI, скрипты автоматизации, bot Telegram.

team/sync (мульти-оператор)

Один оператор держит hub mode=serve, остальные свои loot push им.

# оператор 1 (сервер):
use team/sync → set mode serve → set port 9901 → set seconds 120 → run

# оператор 2 (отправить находки):
use team/sync → set mode push → set port 9901 → set remote <ip_hub> → run

Как работает: HTTP POST /merge, JSON с hosts/ports/loot; svтя серверных данных mass-insert (~INSERT OR IGNORE, дубликатов нет); в конце printering сколько нового получено. Оба оператора ходят в одну db — либо их hub, либо копии.

Отчёты

Команда Что дает
report x.md markdown: summary, hosts, ports, subdomains, sessions, loot
report x.html тёмная тема, CSS, красиво для браузера/цресс (Ctrl+P → PDF)

Оба рендера из одного kitsune/report_md.py — CLI в REPL и /api/report у API используют один код.

dashboard (TUI)

kitsune > dashboard

curses-обзор: счётчики, группы модулей, host имен LOOT (last); q — выход.

С ETF-конфигом инстанces

# once: создать центральный itl
kitsune --resource etc/example_chain.rc       # cjekы полного пентеста

Каждое свойство stupni добавляет в db — потом report и dashboard показывают.