Recon-команды БЕТА
Отправьте `recon` — придёт меню. `recon <цель>` проходит всю цепочку: хост/IP → порты → веб по каждому сервису; домен → поддомены → хосты → веб; URL → веб; `.onion` → веб по Tor.
Эти команды новые и могут содержать ошибки.
Каждая разведка дополняет запись по цели
Находки хранятся на машине по цели, а не по запуску: новая разведка сначала читает записанное прошлыми запусками (за 7 дней), переиспользует это, не повторяет уже отработавшие инструменты и дописывает свои результаты. Атака читает ту же запись. Между запусками ничего не стирается.
recon:domain <domain>Пример:
recon:domain example.comПолностью картирует внешнюю поверхность атаки домена — его поддомены, какие хосты активны и что на них работает, открытые порты и сервисы, а также признаки известных уязвимостей — затем запускает полное сканирование веб-приложения по каждому активному веб-хосту.
subfindercrt.shdighttpxwafw00fnaabunmapnucleikatanagauarjunwhatwebcve_matchphpjwt_toolsqlmapsecretfinderКак это работает
№ Шаг Что делает 1 subfinderPassive subdomain discovery 2 crtshSubdomains from certificate-transparency logs (crt.sh) 3 digDNS records (A, MX, NS, TXT) 4 httpxLive-host probe: title, status, detected technologies 5 wafw00fDetects a web application firewall 6 naabuFast open-port scan 7 nmapService and version on each open port 8 nucleiKnown-CVE / misconfiguration template scan 9 katanaCrawls the app; captures every response 10 gauHistorical URLs from public archives 11 arjunDiscovers hidden HTTP parameters 12 whatwebWeb stack fingerprinting 13 cve_matchСверяет обнаруженные версии продуктов с базой уязвимостей и эксплойтов платформы (NVD + Exploit-DB + CISA KEV, обновление каждые 6 ч) и записывает совпадения как кандидатов. «Совпадение версии» заявляется только если версия есть в тексте записи; иначе — «совпадение продукта, версия не подтверждена». 14 phpcustomPHP: маркеры, метка версии, SAPI, состояние upload-progress 15 jwt_toolWeak / default JWT signing keys 16 sqlmapSQL injection 17 secretfinderInline 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Как это работает
№ Шаг Что делает 1 naabuFast open-port scan 2 nmapService and version on each open port 3 httpxLive-host probe: title, status, detected technologies 4 katanaCrawls the app; captures every response 5 gauHistorical URLs from public archives 6 whatwebWeb stack fingerprinting 7 wafw00fDetects a web application firewall 8 phpcustomPHP: маркеры, метка версии, SAPI, состояние upload-progress 9 js_deobfcustomDeobfuscates scripts; extracts endpoints + secrets 10 content_scancustomHidden files: backups, .git, .env, admin panels 11 sqlmapSQL injection 12 param_scancustomPer-parameter injection (SQLi, XSS, cmd, LFI, redirect) 13 nucleiKnown-CVE / misconfiguration template scan 14 authz_scancustomAuthorization: guest vs session, IDOR candidates 15 arjunDiscovers hidden HTTP parameters 16 jwt_toolWeak / default JWT signing keys 17 secretfinderInline secrets in scripts recon:web <url>Пример:
recon:web https://example.comПолное сканирование одного веб-приложения: картирует его поверхность, затем помечает SQL-инъекции, XSS и раскрытые секреты, проверяет JWT на слабые ключи, сканирует по шаблонам на известные CVE и картирует людей и поверхность социальной инженерии — разведка и пометка возможностей, без эксплуатации. Может сканировать и в авторизованном режиме через --sign-in.
katanagauhttpxwhatwebcve_matchwafw00fphpjs_deobfcontent_scansqlmapparam_scannucleiauthz_scanarjunjwt_toolsecretfinderКак это работает
№ Шаг Что делает 1 katanaCrawls the app; captures every response 2 gauHistorical URLs from public archives 3 httpxLive-host probe: title, status, detected technologies 4 whatwebWeb stack fingerprinting 5 cve_matchСверяет обнаруженные версии продуктов с базой уязвимостей и эксплойтов платформы (NVD + Exploit-DB + CISA KEV, обновление каждые 6 ч) и записывает совпадения как кандидатов. «Совпадение версии» заявляется только если версия есть в тексте записи; иначе — «совпадение продукта, версия не подтверждена». 6 wafw00fDetects a web application firewall 7 phpcustomPHP: маркеры, метка версии, SAPI, состояние upload-progress 8 js_deobfcustomDeobfuscates scripts; extracts endpoints + secrets 9 content_scancustomHidden files: backups, .git, .env, admin panels 10 sqlmapSQL injection 11 param_scancustomPer-parameter injection (SQLi, XSS, cmd, LFI, redirect) 12 nucleiKnown-CVE / misconfiguration template scan 13 authz_scancustomAuthorization: guest vs session, IDOR candidates 14 arjunDiscovers hidden HTTP parameters 15 jwt_toolWeak / default JWT signing keys 16 secretfinderInline secrets in scripts recon:ports <ip|hostname>Пример:
recon:ports 203.0.113.10Быстрое обнаружение портов и сервисов на хосте — и ничего больше.
naabunmapКак это работает
№ Шаг Что делает 1 naabuFast open-port scan 2 nmapService 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. В конце: *Подтверждённые находки* (доказательства по каждой или «нет») и *Пробелы покрытия* (что не проверялось).