
Rust CLI для ограниченной сетевой разведки: обнаружение TCP/UDP портов, идентификация сервисов, сбор данных DNS/TLS/HTTP и поиск имён пользователей в открытых источниках с корреляцией.
Raw Excess Scan
Ограниченная разведка и корреляция доказательств на Rust.
RXScan объединяет сетевую разведку, поиск по публичным источникам, расследование и корреляцию доказательств в одном CLI.
Он умеет обнаруживать хосты и порты, идентифицировать наблюдаемые сервисы, собирать ограниченные доказательства на уровне протоколов и веба, искать в публичных провайдерах, коррелировать находки и сохранять результаты для последующего анализа и сравнения.
RXScan намеренно консервативен в том, о чём он сообщает. Номер порта не идентифицирует сервис, успешный HTTP-ответ сам по себе не подтверждает существование учётной записи, а неполное покрытие отличается от отрицательного результата.
Сборка и установка из репозитория:
git clone https://github.com/DarkRX1/RXScan.git
cd RXScan
cargo install --path . --locked
Проверка установленной сборки:
rxscan --version
rxscan --help
Запуск обычного разведывательного сканирования:
rxscan example.test
Поиск по публичным источникам:
rxscan search --username exampleuser
Расследование и корреляция публичных находок:
rxscan investigate --username exampleuser
Это три основные точки входа:
rxscan TARGET
rxscan search ...
rxscan investigate ...
Сканирование по умолчанию использует рабочий процесс recon, уровень 3 и
сбалансированные настройки выполнения.
rxscan example.test
Указывайте порты, когда нужен точный выбор портов:
rxscan example.test --ports 22,80,443
rxscan example.test --ports 1-1024
rxscan example.test --ports 22,80,443,8000-8100
Сканирование полного диапазона TCP-портов:
rxscan example.test --all-ports
Обнаружение UDP включается явно:
rxscan example.test --udp
Показать эффективный план и дополнительные сведения о выполнении:
rxscan example.test --explain
RXScan поддерживает:
rxscan example.test --scan-mode auto
rxscan example.test --scan-mode connect
rxscan example.test --scan-mode syn
TCP connect-сканирование — это переносимый путь сканирования, который в настоящее время используется RXScan на поддерживаемой платформе.
Сырое SYN-сканирование доступно для IPv4 на Linux при наличии необходимой возможности. Когда запрошенный путь SYN не может быть использован, RXScan сообщает об эффективном откате вместо того, чтобы молча выдавать connect- сканирование за SYN.
UDP-сканирование использует ограниченные нативные пробы и остаётся опциональным.
Текущее обнаружение UDP с учётом протокола включает небольшие пробы для таких сервисов, как DNS, NTP и SSDP.
UDP-молчание не сообщается как доказательство того, что порт открыт или
закрыт. RXScan сохраняет возникающую неопределённость open|filtered.
RXScan идентифицирует сервисы по наблюдаемому поведению протокола, а не назначает сервис исключительно по номеру порта.
Текущая нативная идентификация охватывает распространённые протоколы, включая:
В зависимости от протокола и доступных доказательств наблюдения могут включать информацию о продукте/версии, баннеры, HTTP-эндпоинты и заголовки, сведения о TLS-сертификатах, информацию об идентичности SSH и нормализованные технологические доказательства.
Неизвестные сервисы остаются неизвестными, когда у RXScan недостаточно доказательств для их идентификации.
Для этих идентификационных проб аутентификация не требуется.
Поиск по имени пользователя доступен через:
rxscan search --username exampleuser
Обычный вывод сосредоточен на полезных положительных и неопределённых находках вместо печати каждого отрицательного результата провайдера.
Находка может различать наблюдаемый профиль, другой наблюдаемый ресурс и неподтверждённое предполагаемое местоположение.
Например:
FINDINGS
✓ provider / exampleuser
Profile https://example.test/exampleuser
high · 94% · public profile
? another-provider / exampleuser
Candidate https://example.test/u/exampleuser
low · 25% · weak evidence
Метки выбраны намеренно:
| Метка | Значение |
|---|---|
Profile | наблюдаемый публичный профиль, специфичный для идентичности |
Resource | наблюдаемый ресурс, специфичный для идентичности, который не обязательно является публичным профилем |
Candidate | специфичное для идентичности местоположение, которое не было подтверждено |
Общие домашние страницы провайдеров или API-эндпоинты не представляются как подтверждённые URL профилей.
RXScan также сохраняет такие исходы провайдеров, как blocked, rate-limited, unknown, error и unscanned, отдельно, вместо преобразования их в ложные отрицательные результаты.
Показать полный набор человекочитаемых результатов:
rxscan search --username exampleuser --all
Показать дополнительные сведения о выполнении и классификации:
rxscan search --username exampleuser --explain
Публичные находки можно пропустить через конвейер расследования и корреляции RXScan:
rxscan investigate --username exampleuser
Представление по умолчанию сосредоточено на учётных записях, полезных URL, уверенности и значимых связях.
Вторичные веб-ресурсы, такие как статический JavaScript, таблицы стилей, шрифты и изображения, сохраняются, когда они относятся к лежащим в основе доказательствам, но не доминируют в человекочитаемом отчёте по умолчанию.
Детализированные представления могут раскрывать больше собранных данных о связях.
Расследование по умолчанию остаётся пассивным. Обнаружение сетевой цели через публичные доказательства не даёт автоматически разрешения и не запускает сетевое сканирование.
RXScan хранит наблюдения как типизированные доказательства, используемые его путями отчётности, расследования, графа, истории и анализа.
По всему проекту намеренно соблюдаются несколько правил:
200 сам по себе не устанавливает, что публичная учётная запись
существует;Это различие между наблюдением и интерпретацией — ключевая часть дизайна RXScan.
Для подтверждённых веб-сервисов RXScan может собирать ограниченные HTTP-наблюдения, такие как:
robots.txtsitemap.xml