Всем привет! Решил рассказать об очень интересном инструменте, который очень сильно облегчает задачу и сохраняет время на этапе сканирования и анализа хостов.
Как описывает своё творение автор Tib3rius на GitHub:
«AutoRecon - это инструмент сетевой разведки для сканирования портов и автоматического анализа найденных сервисов.»
Автор был вдохновлён такими инструментами как Reconnoitre, ReconScan, и bscan. AutoRecon содержит в себе всё лучшее от них и дополнен удобными функционалом для сканирования нескольких хостов одновременно.
Этот инструмент можно легально использовать при сдаче OSCP, поскольку он не нарушает правил. В уставе сдачи экзамена указано, что запрещено использовать средства автоматизации эксплоитов, но не сканирования.
При запуске AutoRecon первым делом проверяет открытые порты на хосте с помощью Nmap.
По умолчанию одновременно запускается 3 сканирования:
(Может возникнуть вопрос: «Зачем AutoRecon сканирует топ 1000 TCP-портов одновременно со сканированием всех TCP-портов?».Причина проста: большинство открытых портов, как правило, входит в топ 1000, и благодаря этому мы ускорим запуск анализа сервисов, не дожидаясь, пока Nmap просканирует все TCP порты).
По факту, анализ сервисов завершается раньше, чем заканчивается полное сканирование всех TCP-портов. Несмотря на дублирование задач, затраты окупаются за счет более быстрого анализа.
После того, как были найдены открытые порты, AutoRecon запускает проверку сервисов на этих портах, а после запускает анализ сервисов.
К примеру, если будет найден Web сервер, то инструмент натравит на него Nikto и Gobuster, запустит Nmap скрипты для Web серверов, попробует скачать robots.txt.
Но хватит лирики, переходим к установке и обзору AutoRecon.
Для демонстрации я взял готовую виртуальную машину с Kali2020.2
AutoRecon работает на Python 3 и не поддерживает никак Python 2. Также нам потребуется Python3-pip.
Устанавливаем командой:
Также для работы AutoRecon необходим дополнительный софт:
Устанавливаем всё командой:
Дальше автор предлагает несколько вариантов установки, но я опишу вариант установки через pip (есть ещё вариант установки через pipx, если кому-то этот вариант предпочтительней, инструкцию можно найти на GitHub):
После этого AutoRecon будет установлен на машину, его можно будет вызвать командой:
А при использовании флага -h мы увидим подсказки и описание функционала других ключей.
Запустим сканирование командой и ключом -o. Этот ключ сообщит AutoRecon, что всю информацию по сканированию нужно размещать в директорию запуска инструмента:
На экране будут отображаться текущие задачи, выполняемые утилитой. Также мы сразу увидим, что в директории, откуда производился запуск AutoRecon, появилась директория с ip адресом сканируемого хоста.
В ней находятся поддиректории. Дерево поддиректорий выглядит вот так:
Инструмент автоматически генерирует директории для последующего распределения полученных файлов или заметок по категориям.
Сейчас нас интересует директория scans. В ней будут появляться все результаты сканирования хоста.
Как видно из скриншота выше, инструмент подписывает все файлы для простоты ориентирования и понимания, какими инструментами сканировались определенные порты.
Также нас могут заинтересовать следующие файлы в этой директории:
Инструмент крайне удобен, поскольку берёт на себя автоматизацию процессов сканирования портов и анализа сервисов. Он может пригодиться как начинающим, так и более опытным специалистам.
Единственную вещь я бы хотел посоветовать начинающим пользователям: не полагайтесь полностью на автоматизацию процесса. Этот инструмент и правда может решить за вас большую часть работы, но вы тогда ничему не научитесь. Экспериментируйте на тестовых машинах, изучайте списки команд, которые вы найдете в _commands.log. Попытайтесь понять, почему запускается тот или иной инструмент. Только тогда будет накапливаться опыт, и вы будете учиться чему-то новому.
Ссылка на источник: Tib3rius/AutoRecon
Всем спасибо за внимание.
Описание
Как описывает своё творение автор Tib3rius на GitHub:
«AutoRecon - это инструмент сетевой разведки для сканирования портов и автоматического анализа найденных сервисов.»
Автор был вдохновлён такими инструментами как Reconnoitre, ReconScan, и bscan. AutoRecon содержит в себе всё лучшее от них и дополнен удобными функционалом для сканирования нескольких хостов одновременно.
Этот инструмент можно легально использовать при сдаче OSCP, поскольку он не нарушает правил. В уставе сдачи экзамена указано, что запрещено использовать средства автоматизации эксплоитов, но не сканирования.
Было крайне удобно запустить сканирование на 4 экзаменационных машинах и параллельно заниматься машиной с BOF. Сканирование работало в фоне и абсолютно не мешало, а к моменту завершения машины с BOF пара хостов уже была полностью просканирована.
В том числе, благодаря этому инструменту, я успешно сдал OSCP экзамен и продолжаю успешно использовать инструмент при решении хостов на HTB.
В том числе, благодаря этому инструменту, я успешно сдал OSCP экзамен и продолжаю успешно использовать инструмент при решении хостов на HTB.
Механизм работы
При запуске AutoRecon первым делом проверяет открытые порты на хосте с помощью Nmap.
По умолчанию одновременно запускается 3 сканирования:
- полное сканирование всех TCP портов;
- сканирование топ 20 UDP портов ;
- полное сканирование топ 1000 TCP портов.
(Может возникнуть вопрос: «Зачем AutoRecon сканирует топ 1000 TCP-портов одновременно со сканированием всех TCP-портов?».Причина проста: большинство открытых портов, как правило, входит в топ 1000, и благодаря этому мы ускорим запуск анализа сервисов, не дожидаясь, пока Nmap просканирует все TCP порты).
По факту, анализ сервисов завершается раньше, чем заканчивается полное сканирование всех TCP-портов. Несмотря на дублирование задач, затраты окупаются за счет более быстрого анализа.
После того, как были найдены открытые порты, AutoRecon запускает проверку сервисов на этих портах, а после запускает анализ сервисов.
К примеру, если будет найден Web сервер, то инструмент натравит на него Nikto и Gobuster, запустит Nmap скрипты для Web серверов, попробует скачать robots.txt.
Но хватит лирики, переходим к установке и обзору AutoRecon.
Установка
Для демонстрации я взял готовую виртуальную машину с Kali2020.2
AutoRecon работает на Python 3 и не поддерживает никак Python 2. Также нам потребуется Python3-pip.
Устанавливаем командой:
Код:
sudo apt install python3 python3-pip
Код:
curl
enum4linux
gobuster
nbtscan
nikto
nmap
onesixtyone
oscanner
smbclient
smbmap
smtp-user-enum
snmpwalk
sslscan
svwar
tnscmd10g
whatweb
wkhtmltoimage
seclist
Код:
sudo apt install seclists curl enum4linux gobuster nbtscan nikto nmap onesixtyone oscanner smbclient smbmap smtp-user-enum snmp sslscan sipvicious tnscmd10g whatweb wkhtmltopdf
Код:
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
После этого AutoRecon будет установлен на машину, его можно будет вызвать командой:
Код:
autorecon
Сканирование
Для демонстрации сканирования я развернул у себя всем известную Metasploitable2.
Запустим сканирование командой и ключом -o. Этот ключ сообщит AutoRecon, что всю информацию по сканированию нужно размещать в директорию запуска инструмента:
Код:
autorecon 172.16.0.24 -o ./
На экране будут отображаться текущие задачи, выполняемые утилитой. Также мы сразу увидим, что в директории, откуда производился запуск AutoRecon, появилась директория с ip адресом сканируемого хоста.
В ней находятся поддиректории. Дерево поддиректорий выглядит вот так:
Код:
├── exploit/
├── loot/
├── report/
│ ├── local.txt
│ ├── notes.txt
│ ├── proof.txt
│ └── screenshots/
└── scans/
├── _commands.log
├── _manual_commands.txt
└── xml/
На самом деле, очень удобная структура. Мне всегда было удобно систематизировать разные файлы по категориям, чтобы не путаться в них.
Я предпочитаю открывать несколько вкладок в termux и в них уже работать с нужными директориями.
Я предпочитаю открывать несколько вкладок в termux и в них уже работать с нужными директориями.
Как видно из скриншота выше, инструмент подписывает все файлы для простоты ориентирования и понимания, какими инструментами сканировались определенные порты.
Также нас могут заинтересовать следующие файлы в этой директории:
- _commands.log содержит в себе список всех команд, которые запускал AutoRecon. Может пригодиться, если потребуется немного изменить команду и повторно её запустить.
- _manual_commands.txt содержит в себе команды, которые потенциально опасны для автоматического запуска, либо команды, требующие модификации после анализа полученных данных.
- _errors.log содержит в себе информацию по ошибкам, возникшим во время сканирования.
Код:
nmap -vv --reason -Pn -sU -A --top-ports=20 --version-all -oN "/root/172.16.0.24/scans/_top_20_udp_nmap.txt" -oX "/root/172.16.0.24/scans/xml/_top_20_udp_nmap.xml" 172.16.0.24
nmap -vv --reason -Pn -A --osscan-guess --version-all -p- -oN "/root/172.16.0.24/scans/_full_tcp_nmap.txt" -oX "/root/172.16.0.24/scans/xml/_full_tcp_nmap.xml" 172.16.0.24
nmap -vv --reason -Pn -sV -sC --version-all -oN "/root/172.16.0.24/scans/_quick_tcp_nmap.txt" -oX "/root/172.16.0.24/scans/xml/_quick_tcp_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:21 2>&1 | tee "/root/172.16.0.24/scans/tcp_21_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 21 --script="banner,(ftp* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_21_ftp_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_21_ftp_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:22 2>&1 | tee "/root/172.16.0.24/scans/tcp_22_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 22 --script="banner,ssh2-enum-algos,ssh-hostkey,ssh-auth-methods" -oN "/root/172.16.0.24/scans/tcp_22_ssh_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_22_ssh_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:23 2>&1 | tee "/root/172.16.0.24/scans/tcp_23_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 23 --script="banner,telnet-encryption,telnet-ntlm-info" -oN "/root/172.16.0.24/scans/tcp_23_telnet-nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_23_telnet_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:25 2>&1 | tee "/root/172.16.0.24/scans/tcp_25_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 25 --script="banner,(smtp* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_25_smtp_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_25_smtp_nmap.xml" 172.16.0.24
smtp-user-enum -M VRFY -U "/usr/share/seclists/Usernames/top-usernames-shortlist.txt" -t 172.16.0.24 -p 25 2>&1 | tee "/root/172.16.0.24/scans/tcp_25_smtp_user-enum.txt"
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:53 2>&1 | tee "/root/172.16.0.24/scans/tcp_53_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 53 --script="banner,(dns* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_53_dns_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_53_dns_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:80 2>&1 | tee "/root/172.16.0.24/scans/tcp_80_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 80 --script="banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_80_http_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_80_http_nmap.xml" 172.16.0.24
curl -sSik http://172.16.0.24:80/ -m 10 2>&1 | tee "/root/172.16.0.24/scans/tcp_80_http_index.html"
curl -sSik http://172.16.0.24:80/robots.txt -m 10 2>&1 | tee "/root/172.16.0.24/scans/tcp_80_http_robots.txt"
if hash wkhtmltoimage 2> /dev/null; then wkhtmltoimage --format png http://172.16.0.24:80/ /root/172.16.0.24/scans/tcp_80_http_screenshot.png; fi
whatweb --color=never --no-errors -a 3 -v http://172.16.0.24:80 2>&1 | tee "/root/172.16.0.24/scans/tcp_80_http_whatweb.txt"
nikto -ask=no -h http://172.16.0.24:80 2>&1 | tee "/root/172.16.0.24/scans/tcp_80_http_nikto.txt"
if [[ `gobuster -h 2>&1 | grep -F "mode (dir)"` ]]; then gobuster -u http://172.16.0.24:80/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -e -k -l -s "200,204,301,302,307,401,403" -x "txt,html,php,asp,aspx,jsp" -o "/root/172.16.0.24/scans/tcp_80_http_gobuster.txt"; else gobuster dir -u http://172.16.0.24:80/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -z -k -l -x "txt,html,php,asp,aspx,jsp" -o "/root/172.16.0.24/scans/tcp_80_http_gobuster.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:111 2>&1 | tee "/root/172.16.0.24/scans/tcp_111_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 111 --script="banner,(rpcinfo or nfs*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_111_nfs_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_111_nfs_nmap.xml" 172.16.0.24
showmount -e 172.16.0.24 2>&1 | tee "/root/172.16.0.24/scans/tcp_111_showmount.txt"
nmap -vv --reason -Pn -sV -p 111 --script="banner,msrpc-enum,rpc-grind,rpcinfo" -oN "/root/172.16.0.24/scans/tcp_111_rpc_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_111_rpc_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:139 2>&1 | tee "/root/172.16.0.24/scans/tcp_139_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 139 --script="banner,(nbstat or smb* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" --script-args="unsafe=1" -oN "/root/172.16.0.24/scans/tcp_139_smb_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_139_smb_nmap.xml" 172.16.0.24
enum4linux -a -M -l -d 172.16.0.24 2>&1 | tee "/root/172.16.0.24/scans/enum4linux.txt"
smbclient -L\\ -N -I 172.16.0.24 2>&1 | tee "/root/172.16.0.24/scans/smbclient.txt"
smbmap -H 172.16.0.24 -P 139 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-share-permissions.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 139 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-share-permissions.txt"
smbmap -H 172.16.0.24 -P 139 -R 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-list-contents.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 139 -R 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-list-contents.txt"
smbmap -H 172.16.0.24 -P 139 -x "ipconfig /all" 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-execute-command.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 139 -x "ipconfig /all" 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-execute-command.txt"
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:445 2>&1 | tee "/root/172.16.0.24/scans/tcp_445_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 445 --script="banner,(nbstat or smb* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" --script-args="unsafe=1" -oN "/root/172.16.0.24/scans/tcp_445_smb_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_445_smb_nmap.xml" 172.16.0.24
smbmap -H 172.16.0.24 -P 445 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-share-permissions.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 445 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-share-permissions.txt"
smbmap -H 172.16.0.24 -P 445 -R 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-list-contents.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 445 -R 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-list-contents.txt"
smbmap -H 172.16.0.24 -P 445 -x "ipconfig /all" 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-execute-command.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 445 -x "ipconfig /all" 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-execute-command.txt"
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:512 2>&1 | tee "/root/172.16.0.24/scans/tcp_512_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:513 2>&1 | tee "/root/172.16.0.24/scans/tcp_513_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:514 2>&1 | tee "/root/172.16.0.24/scans/tcp_514_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:1099 2>&1 | tee "/root/172.16.0.24/scans/tcp_1099_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 1099 --script="banner,rmi-vuln-classloader,rmi-dumpregistry" -oN "/root/172.16.0.24/scans/tcp_1099_rmi_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_1099_rmi_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:1524 2>&1 | tee "/root/172.16.0.24/scans/tcp_1524_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:2049 2>&1 | tee "/root/172.16.0.24/scans/tcp_2049_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 2049 --script="banner,(rpcinfo or nfs*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_2049_nfs_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_2049_nfs_nmap.xml" 172.16.0.24
showmount -e 172.16.0.24 2>&1 | tee "/root/172.16.0.24/scans/tcp_2049_showmount.txt"
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:2121 2>&1 | tee "/root/172.16.0.24/scans/tcp_2121_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 2121 --script="banner,(ftp* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_2121_ftp_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_2121_ftp_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:3306 2>&1 | tee "/root/172.16.0.24/scans/tcp_3306_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 3306 --script="banner,(mysql* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_3306_mysql_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_3306_mysql_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:5432 2>&1 | tee "/root/172.16.0.24/scans/tcp_5432_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:5900 2>&1 | tee "/root/172.16.0.24/scans/tcp_5900_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 5900 --script="banner,(vnc* or realvnc* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" --script-args="unsafe=1" -oN "/root/172.16.0.24/scans/tcp_5900_vnc_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_5900_vnc_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:6000 2>&1 | tee "/root/172.16.0.24/scans/tcp_6000_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:6667 2>&1 | tee "/root/172.16.0.24/scans/tcp_6667_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:8009 2>&1 | tee "/root/172.16.0.24/scans/tcp_8009_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:8180 2>&1 | tee "/root/172.16.0.24/scans/tcp_8180_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 8180 --script="banner,(http* or ssl*) and not (brute or broadcast or dos or external or http-slowloris* or fuzzer)" -oN "/root/172.16.0.24/scans/tcp_8180_http_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_8180_http_nmap.xml" 172.16.0.24
curl -sSik http://172.16.0.24:8180/ -m 10 2>&1 | tee "/root/172.16.0.24/scans/tcp_8180_http_index.html"
curl -sSik http://172.16.0.24:8180/robots.txt -m 10 2>&1 | tee "/root/172.16.0.24/scans/tcp_8180_http_robots.txt"
if hash wkhtmltoimage 2> /dev/null; then wkhtmltoimage --format png http://172.16.0.24:8180/ /root/172.16.0.24/scans/tcp_8180_http_screenshot.png; fi
whatweb --color=never --no-errors -a 3 -v http://172.16.0.24:8180 2>&1 | tee "/root/172.16.0.24/scans/tcp_8180_http_whatweb.txt"
nikto -ask=no -h http://172.16.0.24:8180 2>&1 | tee "/root/172.16.0.24/scans/tcp_8180_http_nikto.txt"
if [[ `gobuster -h 2>&1 | grep -F "mode (dir)"` ]]; then gobuster -u http://172.16.0.24:8180/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -e -k -l -s "200,204,301,302,307,401,403" -x "txt,html,php,asp,aspx,jsp" -o "/root/172.16.0.24/scans/tcp_8180_http_gobuster.txt"; else gobuster dir -u http://172.16.0.24:8180/ -w /usr/share/seclists/Discovery/Web-Content/common.txt -z -k -l -x "txt,html,php,asp,aspx,jsp" -o "/root/172.16.0.24/scans/tcp_8180_http_gobuster.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:3632 2>&1 | tee "/root/172.16.0.24/scans/tcp_3632_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 3632 --script="banner,distcc-cve2004-2687" --script-args="distcc-cve2004-2687.cmd=id" -oN "/root/172.16.0.24/scans/tcp_3632_distcc_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_3632_distcc_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:6697 2>&1 | tee "/root/172.16.0.24/scans/tcp_6697_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:8787 2>&1 | tee "/root/172.16.0.24/scans/tcp_8787_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:35883 2>&1 | tee "/root/172.16.0.24/scans/tcp_35883_sslscan.txt"; fi
nmap -vv --reason -Pn -sV -p 35883 --script="banner,rmi-vuln-classloader,rmi-dumpregistry" -oN "/root/172.16.0.24/scans/tcp_35883_rmi_nmap.txt" -oX "/root/172.16.0.24/scans/xml/tcp_35883_rmi_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:41328 2>&1 | tee "/root/172.16.0.24/scans/tcp_41328_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:45081 2>&1 | tee "/root/172.16.0.24/scans/tcp_45081_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:53712 2>&1 | tee "/root/172.16.0.24/scans/tcp_53712_sslscan.txt"; fi
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:53 2>&1 | tee "/root/172.16.0.24/scans/udp_53_sslscan.txt"; fi
nmap -vv --reason -Pn -sU -sV -p 53 --script="banner,(dns* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" -oN "/root/172.16.0.24/scans/udp_53_dns_nmap.txt" -oX "/root/172.16.0.24/scans/xml/udp_53_dns_nmap.xml" 172.16.0.24
if [ "False" == "True" ]; then sslscan --show-certificate --no-colour 172.16.0.24:137 2>&1 | tee "/root/172.16.0.24/scans/udp_137_sslscan.txt"; fi
nmap -vv --reason -Pn -sU -sV -p 137 --script="banner,(nbstat or smb* or ssl*) and not (brute or broadcast or dos or external or fuzzer)" --script-args="unsafe=1" -oN "/root/172.16.0.24/scans/udp_137_smb_nmap.txt" -oX "/root/172.16.0.24/scans/xml/udp_137_smb_nmap.xml" 172.16.0.24
nbtscan -rvh 172.16.0.24 2>&1 | tee "/root/172.16.0.24/scans/nbtscan.txt"
smbmap -H 172.16.0.24 -P 137 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-share-permissions.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 137 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-share-permissions.txt"
smbmap -H 172.16.0.24 -P 137 -R 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-list-contents.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 137 -R 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-list-contents.txt"
smbmap -H 172.16.0.24 -P 137 -x "ipconfig /all" 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-execute-command.txt"; smbmap -u null -p "" -H 172.16.0.24 -P 137 -x "ipconfig /all" 2>&1 | tee -a "/root/172.16.0.24/scans/smbmap-execute-command.txt"
Выводы
Инструмент крайне удобен, поскольку берёт на себя автоматизацию процессов сканирования портов и анализа сервисов. Он может пригодиться как начинающим, так и более опытным специалистам.
Единственную вещь я бы хотел посоветовать начинающим пользователям: не полагайтесь полностью на автоматизацию процесса. Этот инструмент и правда может решить за вас большую часть работы, но вы тогда ничему не научитесь. Экспериментируйте на тестовых машинах, изучайте списки команд, которые вы найдете в _commands.log. Попытайтесь понять, почему запускается тот или иной инструмент. Только тогда будет накапливаться опыт, и вы будете учиться чему-то новому.
Ссылка на источник: Tib3rius/AutoRecon
Всем спасибо за внимание.
Последнее редактирование модератором: