Skip to content
Reconnoitre exploit

Reconnoitre exploit

Sploitus September 17, 2026

![Reconnnoitre](

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

![Python 3.2|3.6]( ![License]( ![Build Status]( ![Twitter](

Reconnoitre, хотя и является любимым инструментом, который я поддерживаю уже несколько лет, на мой взгляд, уступает по функциональности созданию собственного подхода к перечислению в рамках Interlace. Я настоятельно рекомендую всем, кто хочет выйти за рамки OSCP, уделить время изучению этого проекта.

Этот инструмент основан на работе, опубликованной Майком Цумаком (T_v3rn1x) в его обзоре OSCP (ссылка), а также на значительном влиянии и коде, взятом из mix-recon от Re4son (ссылка). Сканирование виртуальных хостов изначально адаптировано из работы teknogeek, на которую сильно повлиял скрипт обнаружения виртуальных хостов от jobertabma (ссылка). Дополнительный код сканирования виртуальных хостов адаптирован из проекта, созданного Тимом Кентом и мной, доступного здесь (ссылка).

Чтобы установить Reconnoitre, сначала сделайте локальную копию репозитория, выполнив следующую команду в том месте, где вы хотите его разместить:

git clone

После этого запустите setup.py следующей командой:

После завершения setup, Reconnoitre будет доступен в вашем PATH (как reconnoitre), и вы сможете запускать его из любого места с помощью:

Этот инструмент можно использовать и копировать для личного использования свободно, однако следует указывать авторство и благодарить Майка Цумака, который изначально начал процесс автоматизации этой работы.

-h, --help| Показать справочное сообщение и выйти

-t TARGET_HOSTS| Установить либо диапазон адресов, либо один хост для атаки. Также может быть файл, содержащий хосты.

-o OUTPUT_DIRECTORY| Установить целевой каталог, куда будут записываться результаты.

-w WORDLIST| Опционально укажите свой собственный список слов для использования в предварительно скомпилированных командах или выполняемых атаках.

\--pingsweep| Записать новый файл target.txt в OUTPUT_DIRECTORY, выполнив ping-сканирование и обнаружив живые хосты.

\--dns, --dnssweep| Найти DNS-серверы из списка целей.

\--snmp| Найти хосты, отвечающие на SNMP-запросы из списка целей.

\--services| Выполнить сканирование служб на целевых хостах и записать рекомендации для дальнейших команд.

\--hostnames| Попытаться обнаружить имена хостов и записать их в hostnames.txt.

\--virtualhosts| Попытаться обнаружить виртуальные хосты, используя указанный список слов. Может быть расширено с помощью обнаруженных имен хостов.

\--ignore-http-codes| Разделённый запятыми список HTTP-кодов, которые следует игнорировать при сканировании виртуальных хостов.

\--ignore-content-length| Игнорировать длину содержимого указанного размера. Это может быть полезно, когда сервер возвращает статическую страницу при каждой попытке угадать виртуальный хост.

\--quiet| Подавить баннер и заголовки, ограничить вывод только grep-совместимыми результатами.

\--quick| Перейти к следующей цели после выполнения быстрого сканирования и записи рекомендаций первого раунда.

\--no-udp| Отключить сканирование UDP-служб, которое по умолчанию включено.

_Обратите внимание, что это лишь некоторые примеры, дающие представление о возможных сценариях использования этого инструмента. Командные строки можно добавлять или удалять в зависимости от того, что вы хотите выполнить с помощью своего сканирования._

### Сканирование одного хоста, создание структуры файлов и обнаружение служб

reconnoitre -t 192.168.1.5 -o /root/Documents/labs/ --services

root@kali:~/# reconnoitre -t 192.168.1.5 --services -o /root/Documents/labs/

[+] Creating directory structure for 192.168.1.5

[>] Creating scans directory at: /root/Documents/labs/192.168.1.5/scans

[>] Creating exploit directory at: /root/Documents/labs/192.168.1.5/exploit

[>] Creating loot directory at: /root/Documents/labs/192.168.1.5/loot

[>] Creating proof file at: /root/Documents/labs/192.168.1.5/proof.txt

[+] Starting quick nmap scan for 192.168.1.5

[>] Found MS SMB service on 192.168.1.5:445

[>] Found RDP service on 192.168.1.5:3389

[*] TCP quick scan completed for 192.168.1.5

[+] Starting detailed TCP/UDP nmap scans for 192.168.1.5

[>] Found MS SMB service on 192.168.1.5:445

[>] Found RDP service on 192.168.1.5:3389

[*] TCP/UDP Nmap scans completed for 192.168.1.5

Что также запишет следующий файл с рекомендациями в папке scans для каждой цели:

[*] Found HTTP service on 192.168.1.50:80

[>] Use nikto & dirb / dirbuster for service enumeration, e.g

[=] nikto -h 192.168.1.50 -p 80 > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_nikto.txt

[=] dirb -o /root/Documents/labs/192.168.1.50/scans/192.168.1.50_dirb.txt -r -S -x ./dirb-extensions/php.ext

[=] java -jar /usr/ /dirbuster/DirBuster-1.0-RC1.jar -H -l /usr/ /dirbuster/wordlists/directory-list-2.3-medium.txt -r /root/Documents/labs/192.168.1.50/scans/192.168.1.50_dirbuster.txt -u

[=] gobuster -w /usr/ /seclists/Discovery/Web_Content/common.txt -u -s '200,204,301,302,307,403,500' -e > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_gobuster_common.txt -t 50

[=] gobuster -w /usr/ /seclists/Discovery/Web_Content/cgis.txt -u -s '200,204,301,307,403,500' -e > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_gobuster_cgis.txt -t 50

[>] Use curl to retreive web headers and find host information, e.g

[=] curl -i 192.168.1.50/robots.txt -s | html2text

[*] Found MS SMB service on 192.168.1.5:445

[>] Use nmap scripts or enum4linux for further enumeration, e.g

[=] nmap -sV -Pn -vv -p445 --script="smb-* -oN '/root/Documents/labs/192.168.1.5/nmap/192.168.1.5_smb.nmap' -oX '/root/Documents/labs/192.168.1.5/scans/192.168.1.5_smb_nmap_scan_import.xml' 192.168.1.5

[*] Found RDP service on 192.168.1.5:3389

[=] ncrack -vv --user administrator -P /root/rockyou.txt rdp://192.168.1.5

### Обнаружение живых хостов и имен хостов в диапазоне

reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --hostnames

### Обнаружение живых хостов в диапазоне и затем быстрый опрос служб

reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --services --quick

Это просканирует все службы в целевом диапазоне, чтобы создать структуру файлов для живых хостов, а также записать рекомендации для других команд, которые следует выполнить на основе обнаруженных на этих машинах служб. Удаление --quick приведет к более глубокому опросу, но значительно увеличит время выполнения.

### Обнаружение живых хостов в диапазоне и затем опрос всех портов (UDP и TCP) для служб

reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --services

Минимальные требования для сканирования хостов и служб в этом инструменте — наличие установленных `nbtscan` и `nmap`. Если вы не используете сканирование хостов и хотите выполнить только ping-сканирование и сканирование служб, можно обойтись только установкой `nmap`. Выходной файл _findings.txt_ часто будет рекомендовать дополнительные инструменты, которые могут быть недоступны в вашем дистрибутиве, если вы не используете Kali Linux. Все требования и рекомендации являются родными для Kali Linux, который является рекомендуемым (хотя и не обязательным) дистрибутивом для использования этого инструмента.

В дополнение к этим требованиям в выводах часто упоминаются списки слов, которые вам может потребоваться найти. Если вы проходите OSCP, их можно найти в теме «List of Recommended Tools» от g0tmilk. Если нет, то большинство из них можно найти в Интернете или уже в установке Kali Linux.

Первый шаг — установить docker, если он еще не установлен. Установка Docker

docker run reconnoitre -o outputdir -t 127.0.0.1

Если вы хотите, чтобы файлы сохранялись локально, вы можете смонтировать каталог в контейнер Docker

docker run -v /путь/к/каталогу:/outputdir --services -o outputdir -t 127.0.0.1