Imbutus
← Документация

Recon-команды БЕТА

Отправьте `recon` — придёт меню. `recon <цель>` проходит всю цепочку: хост/IP → порты → веб по каждому сервису; домен → поддомены → хосты → веб; URL → веб; `.onion` → веб по Tor.

Эти команды новые и могут содержать ошибки.

Каждая разведка дополняет запись по цели

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

  • recon:domain <domain>

    Пример: recon:domain example.com

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

    subfindercrt.shdighttpxwafw00fnaabunmapnucleikatanagauarjunwhatwebcve_matchphpjwt_toolsqlmapsecretfinder

    Как это работает

    №ШагЧто делает
    1subfinderPassive subdomain discovery
    2crtshSubdomains from certificate-transparency logs (crt.sh)
    3digDNS records (A, MX, NS, TXT)
    4httpxLive-host probe: title, status, detected technologies
    5wafw00fDetects a web application firewall
    6naabuFast open-port scan
    7nmapService and version on each open port
    8nucleiKnown-CVE / misconfiguration template scan
    9katanaCrawls the app; captures every response
    10gauHistorical URLs from public archives
    11arjunDiscovers hidden HTTP parameters
    12whatwebWeb stack fingerprinting
    13cve_matchСверяет обнаруженные версии продуктов с базой уязвимостей и эксплойтов платформы (NVD + Exploit-DB + CISA KEV, обновление каждые 6 ч) и записывает совпадения как кандидатов. «Совпадение версии» заявляется только если версия есть в тексте записи; иначе — «совпадение продукта, версия не подтверждена».
    14phpcustomPHP: маркеры, метка версии, SAPI, состояние upload-progress
    15jwt_toolWeak / default JWT signing keys
    16sqlmapSQL injection
    17secretfinderInline secrets in scripts
  • recon:host <ip|hostname>

    Пример: recon:host 203.0.113.10

    Определяет только СЕТЕВУЮ поверхность одного хоста — его открытые порты, сервис и версию на каждом, и какие порты отвечают по HTTP/HTTPS. Сами веб-приложения он не сканирует: запустите "recon <хост>" (зонтичная команда), чтобы сразу перейти к полному сканированию веб-приложения по каждому веб-сервису, либо recon:web по конкретному URL.

    naabunmaphttpxkatanagauwhatwebwafw00fphpjs_deobfcontent_scansqlmapparam_scannucleiauthz_scanarjunjwt_toolsecretfinder

    Как это работает

    №ШагЧто делает
    1naabuFast open-port scan
    2nmapService and version on each open port
    3httpxLive-host probe: title, status, detected technologies
    4katanaCrawls the app; captures every response
    5gauHistorical URLs from public archives
    6whatwebWeb stack fingerprinting
    7wafw00fDetects a web application firewall
    8phpcustomPHP: маркеры, метка версии, SAPI, состояние upload-progress
    9js_deobfcustomDeobfuscates scripts; extracts endpoints + secrets
    10content_scancustomHidden files: backups, .git, .env, admin panels
    11sqlmapSQL injection
    12param_scancustomPer-parameter injection (SQLi, XSS, cmd, LFI, redirect)
    13nucleiKnown-CVE / misconfiguration template scan
    14authz_scancustomAuthorization: guest vs session, IDOR candidates
    15arjunDiscovers hidden HTTP parameters
    16jwt_toolWeak / default JWT signing keys
    17secretfinderInline secrets in scripts
  • recon:web <url>

    Пример: recon:web https://example.com

    Полное сканирование одного веб-приложения: картирует его поверхность, затем помечает SQL-инъекции, XSS и раскрытые секреты, проверяет JWT на слабые ключи, сканирует по шаблонам на известные CVE и картирует людей и поверхность социальной инженерии — разведка и пометка возможностей, без эксплуатации. Может сканировать и в авторизованном режиме через --sign-in.

    katanagauhttpxwhatwebcve_matchwafw00fphpjs_deobfcontent_scansqlmapparam_scannucleiauthz_scanarjunjwt_toolsecretfinder

    Как это работает

    №ШагЧто делает
    1katanaCrawls the app; captures every response
    2gauHistorical URLs from public archives
    3httpxLive-host probe: title, status, detected technologies
    4whatwebWeb stack fingerprinting
    5cve_matchСверяет обнаруженные версии продуктов с базой уязвимостей и эксплойтов платформы (NVD + Exploit-DB + CISA KEV, обновление каждые 6 ч) и записывает совпадения как кандидатов. «Совпадение версии» заявляется только если версия есть в тексте записи; иначе — «совпадение продукта, версия не подтверждена».
    6wafw00fDetects a web application firewall
    7phpcustomPHP: маркеры, метка версии, SAPI, состояние upload-progress
    8js_deobfcustomDeobfuscates scripts; extracts endpoints + secrets
    9content_scancustomHidden files: backups, .git, .env, admin panels
    10sqlmapSQL injection
    11param_scancustomPer-parameter injection (SQLi, XSS, cmd, LFI, redirect)
    12nucleiKnown-CVE / misconfiguration template scan
    13authz_scancustomAuthorization: guest vs session, IDOR candidates
    14arjunDiscovers hidden HTTP parameters
    15jwt_toolWeak / default JWT signing keys
    16secretfinderInline secrets in scripts
  • recon:ports <ip|hostname>

    Пример: recon:ports 203.0.113.10

    Быстрое обнаружение портов и сервисов на хосте — и ничего больше.

    naabunmap

    Как это работает

    №ШагЧто делает
    1naabuFast open-port scan
    2nmapService and version on each open port

Шаги с меткой «custom» — мои собственные инструменты, созданные мной для этой платформы. Остальное — сторонние инструменты.

Запуск только нужных шагов

По умолчанию каждый ран выполняет все шаги по порядку — называть их не нужно. Флаг --steps необязателен: используйте его, только если нужна часть шагов (удобно для перепроверки одного пробела без оплаты полного скана):

Флаг: recon:web https://example.com --steps sqlmap,param_scan

Или в чате: перепроверь только sqlmap и param_scan на example.com

`--steps a,b,c` выполняет ровно эти шаги по порядку. Результаты пишутся под той же целью; перепроверка добавляет, а не заменяет. Имена — коды инструментов (`crtsh`, не crt.sh); ошибка в имени отклоняется со списком валидных.

Также: `logic_scan` (бизнес-правила и auth-политика: отрицательные количества, слабые пароли, регистрация, роли, logout, сброс, 2FA) · `supply_scan` (GPS в изображениях, advisories, тайпсквоттинг, prompt injection) · `infra_scan` (эндпоинты управления, IaC, бакеты, TLS). Не проверено = пробел.

Гость или авторизованный скан

Два разных прогона. Гостевой (по умолчанию): только то, что доступно без сессии, сессию не просит, закрытые зоны пишет как пробелы. `--sign-in`: сначала просит сессию, сканирует только авторизованное состояние.

Поверхность социальной инженерии

`recon:web` также собирает людей и контакты со страниц (имена, роли, email, телефоны, аккаунты, участники форума) и предлагает подходящую `osint:*` для каждого. Автоматически ничего не запускается.

Списки

Списки универсальны: `recon:domain a.com b.com` или `--list <имя|id>` у любой команды. См. «Списки».

Tor (.onion)

Тот же план по Tor; см. раздел про onion выше.

Машина Kali

Каждой команде нужна активная машина Kali Linux — весь инструментарий (subfinder, naabu, nmap, httpx, nuclei, katana, arjun, jwt_tool, gau и другое) уже установлен на ней, поэтому модель выполняет всё вживую. Арендуйте машину в разделе Virtual Machines.

Несколько машин

Несколько машин? Добавьте --machine <имя> (или -m <имя>) в конец любой команды — например recon:domain example.com --machine kali-recon — чтобы закрепить все команды за этой машиной. Без флага используется ваша активная машина.

Покрытие — что recon-запуск действительно доказывает

Проход по модулям стоит ровно своих доказательств. Ниже: `recon:web:onion` против DVWA. proven = показано командой или браузером · N/A = модуля нет · not proven = сигнала нет, пишется как пробел.

Модуль / классСтатусЧем установлено
Внедрение команд ОСдоказановывод echo/id вернулся через параметр ip
Локальное включение файладоказаносодержимое системного файла вернулось через page
Загрузка файла и выполнение кодадоказанозагруженный PHP-файл ответил и выполнился на сервере
SQL-инъекциядоказанобулева разница по id, подтверждено sqlmap
XSS отражённаядоказаноpayload отражается без экранирования (name, include)
XSS хранимаядоказаноканарейка сохранилась и вернулась при повторном запросе (txtName)
XSS DOMдоказаноpayload выполнился в реальном браузере
CSRFдоказаноизменяющие состояние формы без анти-CSRF токена (3 формы)
Слабые идентификаторы сессиидоказанопредсказуемое значение сессии после нажатия generate
CSP / включение скриптадоказанопереданный URL попадает в атрибут script src
Токен только на клиентедоказанотокен приходит пустым и заполняется JavaScript
Перебор паролейдоказанодокументированный пароль по умолчанию принят с первой попытки — проверено с чистой сессией
Открытый редиректн/пмодуля нет в этой сборке (404)
Обход авторизации / IDORн/птакого модуля в сборке нет
Удалённое включение файлане доказаноцель ни разу не запросила внешний URL, поданный сканом, и не выдала ошибку: удалённые включения отключены (локальное включение доказано)
Небезопасная CAPTCHAдоказанопароль изменён на шаге 2 вообще без CAPTCHA — доказано входом с новым значением, затем восстановлено

Покрытие указывается для каждого запуска: шаг, который упал, был пропущен или ничего не вернул, так и описывается. «Не доказано» никогда не превращается в «чисто» — в отчёте это пробел с указанием, какой инструмент или ручная проверка его закроет.

Дали порт — сканируется только этот сервис

`http://68.183.109.200:3000` — один HTTP-сервис: `recon:web` ровно по этому адресу, без сканирования портов хоста. Голый IP — хост (`recon:host`), голый домен — поддомены (`recon:domain`).

Защищённые цели

Стены (Cloudflare, DataDome, JS-проверка), логины и consent-страницы проходятся вместе с вами — они не сканируются молча и не считаются пустой целью.

  • Определение стены — Один вызов модели по первому ответу называет стену и действие: продолжать, припарковать на вас или запросить сессию.
  • Живой браузер — Проверка, которая требует человека, паркует прогон в waiting_user. Вы проходите её в браузере пода (noVNC), прогон снимает cookie + User-Agent и продолжает.
  • Поиск входа — Реальный браузер записывает фактический запрос входа — модальный или API. Если не вышло, логин называет модель по странице, статический regex — последний вариант.
  • Глубокие проверки — По включению: RFI, обход CAPTCHA (с доказательством реальным изменением и откатом), ограниченный брутфорс, open redirect.
  • Инструменты со своим HTTP-стеком — `sqlmap` и `dalfox` проходят сессионную стену (cookie + UA), но не fingerprint; time-based blind SQLi деградирует под задержкой.
  • Отчёт — Пишется из одного блока доказательств — находки, результаты шагов, покрытие — и не пропускается, если упоминает находку вне этого блока.

Уязвимости

Каждая находка прогона сохраняется как уязвимость цели — на странице цели, вкладка «Уязвимости», с коротким идентификатором вроде 3kd9xqa.

  • Что записывается — Класс (CWE, OWASP), что получает атакующий, влияние, охват, что нужно для эксплуатации, пейлоад, найден гостем или под сессией, доказательство и исправление.
  • Как этим воспользоваться — У каждой уязвимости есть пошаговая инструкция для агента: команды по порядку, что доказывает успех, где остановиться. Её пишет модель, иначе берётся из класса бага.
  • Остаётся после машины — Записи синхронизируются с машины по завершении прогона и остаются, когда машины уже нет. Перечитать машину можно одной кнопкой.

Отчёты

Отчёт пишется в `/root/recon/` на вашей машине; путь в ответе. Скачать — с карточки машины или по SSH. В конце: *Подтверждённые находки* (доказательства по каждой или «нет») и *Пробелы покрытия* (что не проверялось).