В этой статье представлено руководство по AutoRecon. Читатели узнают, как правильно использовать данный инструмент и в чем заключается его особенность.
Введение
AutoRecon был разработан как инструмент сетевой разведки. Это многопоточная программа, которая выполняет автоматическое перечисление служб. Цель этого ПО – сэкономить время при взломе CTFS и других сред при тестировании на проникновение. Инструмент полезен как при использовании в тестовой среде, так и в реальной жизни.
AutoRecon осуществляет ряд последовательных процессов. Сперва он выполняет сканирование портов или сканирование служб обнаружения. Затем, используя полученные результаты сканирования в качестве истины, он начинает перечисление имеющихся служб с помощью других инструментов. Например, если был найден HTTP, AutoRecon будет проверять все веб-страницы. Он запустит сканирование Nikto с помощью команды «go buster » и задействует другие нужные инструменты.
Сам инструмент может быть настроен нужным пользователю образом путем внесения изменений в конфигурационные файлы.
- Автор: Tib3rius
- Ссылка: Tib3rius/AutoRecon
Особенности AutoRecon
- использует шаблоны для повышения скорости работы и точности полученных результатов;
- регистрирует все команды, которые выполняет, чтобы пользователь мог проверить их в случае возникновения ошибок;
- поддерживает выполнение сразу нескольких задач; он использует IP-адреса или диапазоны IP-адресов и разрешимое имя хоста;
- можно настроить процесс перечисления на различных сервисах.
Установка AutoRecon
Есть несколько способов установки AutoRecon. Пользователи могут запустить его на Docker Instance . Это подойдет для той небольшой части людей, которые не используют Kali Linux или любой другой дистрибутив Linux . Для установки с помощью Docker , следует перейти на страницу GitHub (ссылка указана выше).
В данном случае пользователь фокусируется на методах установки с помощью pipx . Это рекомендуемый разработчиком метод инсталляции инструмента. Перед началом установки следует учесть некоторые требования для запуска AutoRecon. Инструмент построен на Python 3. Он не совместим с Python 2. Инструмент использует библиотеку под названием asyncio , которая не поддерживается в более ранних версиях Python. Если данный язык программирования еще не был установлен, пользователь может добавить его, выполнив следующие команды от имени Root (см. ниже). Следует также установить pip для Python3, чтобы скачать любые дополнительные пакеты.
apt install python3
apt install python3-pip
После инсталляции пользователь будет использовать pipx для управления пакетами Python. Инструмент будет принимать пакеты, которые он устанавливает, и помещать их в их собственную виртуальную среду. Это позволит избежать любых конфликтующих пакетов внутри одного ПК. Сперва следует создать виртуальную среду с помощью Python3.
apt install python3-venv
Теперь пользователь скачивает pipx с помощью python3-pip.
python3 -m pip install --user pipx
Он вносит некоторые изменения, чтобы установить pipx. По окончании процесса нужно будет перезапустить терминал, чтобы изменения вступили в силу.
python3 -m pipx ensurepath
AutoRecon использует множество различных инструментов и направляет их на цели, выбранные пользователем. Хотя большинство инструментов уже установлены в самой Kali, следует добавить другие программы или обновить имеющиеся, чтобы использовать AutoRecon во всей его красе. Поскольку seclists довольно велик по размеру, примерно – 386 Мегабайт, это займет некоторое время.
Список необходимых инструментов следующий:
- curl
- enum4linux
- gobuster
- nbtscan
- Nikto
- nmap
- onesixtyone
- oscanner
- smbclient
- SMBMap
- smtp-user-enum
- SNMP walk
- sslscan
- svwar
- tnscmd10g
- whatweb
- wkhtmltoimage
Команда для установки или обновления этих инструментов приведена ниже.
apt install seclists curl enum4linux gobuster nbtscan nikto nmap onesixtyone oscanner smbclient smbmap smtp-user-enum snmp sslscan sipvicious tnscmd10g whatweb wkhtmltopdf
Теперь, когда все необходимые компоненты были установлены, все, что остается сделать, это провести инсталляцию AutoRecon непосредственно из его репозитория GitHub с помощью pipx. Здесь очень простой синтаксис, если задуматься.
pipx install git+https://github.com/Tib3rius/AutoRecon.git
Использование AutoRecon
Как было сказано ранее, AutoRecon – это инструмент для проведения перечисления. Для него требуется цель или целый набор целей. Это могут быть IP-адреса, а также обозначения CIDR или имена хостов. При срабатывании с параметром «-h» он показывает пользователю экран справки, как показано на рисунке ниже. Здесь видно, что человек может поместить целевые IP-адреса в файл, а затем отправить его в качестве параметра с флагом «-t».
autorecon -h
AutoRecon имеет огромное количество параметров, но большинство из них можно оставить по умолчанию. Главное, что нужно запомнить, — это обязательный аргумент «target ». Это может быть разделенный пробелами список IP-адресов, или обозначений CIDR, или разрешимых имен хостов. Пользователь также может создать файл с целевыми объектами в нем. Он должен быть составлен в формате «один на каждой новой строке ». Пользователь будет ссылаться на этот целевой файл с помощью аргумента «-t».
autorecon 192.168.126.132
Многоцелевое сканирование
По умолчанию AutoRecon будет сканировать 5 целевых хостов одновременно, но это значение можно изменить с помощью параметра «-ct». Он означает количество целей, которые сканируются одновременно. Для демонстрации данного процесса пользователь собрал несколько IP-адресов в сети, а затем добавил их в текстовый файл. Он использовал этот текстовый файл для предоставления целевых объектов инструменту AutoRecon.
cat target.txt
autorecon -t targets.txt
Параллельное сканирование
Еще один параметр, на который следует обратить свое внимание,- это «-cs» . Он используется для проведения параллельного сканирования и означает количество сканирований, выполняемых для одной цели. По умолчанию этот параметр имеет значение 10. При изменении на любое другое значение, например 2, на каждый хост будет выполняться только 2 сканирования. Как только процесс будет завершен, инструмент запустит еще одну пачку сканирований.
Таким образом, каждая из сканируемых целей будет иметь по крайней мере 3 запущенных сканирования Nmap (full TCP, top 1000 TCP и top 20 UDP).
autorecon -cs 5 192.168.126.132
Аргумент «—single-target»
Аргумент «—single-target» дает пользователям возможность просканировать хост и при этом изменять структуру каталогов. Это означает, что AutoRecon будет сканировать определенную цель, но для нее не будет создан дополнительный каталог.
autorecon 192.168.126.133 --single-target
Из-за использования параметра «—single-target » инструмент не создавал каталог с именем цели внутри папки с полученными результатами.
ls -la results
cat results/report/notes.txt
Аргумент «—heartbeat»
Аргумент «—heartbeat» позволяет пользователям настраивать продолжительность обновлений, предоставляемых AutoRecon. По умолчанию это значение равно 60 секундам. Это означает, что AutoRecon будет сообщать пользователю, что происходит и какие проверки выполняются каждые 60 секунд.
autorecon 192.168.126.133 --heartbeat 5
Аргументы Nmap
Пользователь может заменить его собственные параметры на те, которые приведены здесь, используя аргумент «—nmap» .
autorecon 192.168.126.133 --nmap sV
На предыдущем шаге человек добавил аргумент «-sV» к сканированию Nmap . Теперь для проверки всего процесса он будет просматривать файл «commands.log », чтобы убедиться, что инструмент действительно использует параметр «-sV» при сканировании. Следует также отметить, что параметры по умолчанию «-vv», «–reason», «-Pn» не используются.
cat results/192.168.126.133/scans/_commands.log
Пользователь может применить опцию «—nmap-append» для добавления нужных ему параметров, но не для изменения настроек AutoRecon, установленных по умолчанию. Человек добавляет нужные ему параметры.
autorecon 192.168.126.133 --nmap-append sS
Он проверяет, был ли добавлен аргумент «-sS» к «-vv», «–reason», «-Pn». Это может быть сделано с помощью просмотра файла под названием «commands.log» .
cat results/192.168.126.133/scans/_commands.log
Сканирование типа Verbosity
AutoRecon имеет разные уровни Verbosity. По умолчанию он не работает с какой-либо Verbosity, что означает, что он просто информирует пользователя, когда он инициирует сканирование. Когда сканирование заканчивается, он не предоставляет никаких подробностей относительно выполненных задач. После добавления аргумента «-v» инструмент будет показывать пользователю больше данных о проведенном сканировании, например, команды, которые он выполнял. Программа также предоставит человеку информацию о службах, которые были обнаружены и далее будут перечислены.
autorecon -v 192.168.154.130
Пользователь также может использовать аргумент «-vv» для получения большего количества подробностей о сканировании. Это не рекомендуется делать, так как инструмент будет показывать все данные с результатами сканирования в режиме реального времени. Это загромождает экран слишком большим количеством не всегда нужной информации.
autorecon -vv 192.168.154.130
Аргумент «—only-scans-dir»
AutoRecon создает кучу каталогов на основе типов собранных им данных. Но есть некоторые ситуации, когда все, что требуется пользователю, — это только результаты сканирования. Именно здесь вступает в действие аргумент «—only-scans-dir» . Он предотвращает создание других каталогов.
autorecon 192.168.154.130 --only-scans-dir
Здесь можно увидеть, что внутри каталога «results/target» есть только один каталог с именем «scan », который содержит результаты сканирования.
ls -la results
ls -la results/192.168.126.133
Результаты сканирования
AutoRecon при запуске сканирования создает каталог для записи полученных данных. Имя каталога можно настроить с помощью параметра «-o». Если параметр не указан, программа создаст каталог с результатами сканирования в текущей папке. Внутри созданного каталога будут папки с названиями различных целевых объектов. Предположим, что пользователь отсканировал 4 IP-адреса – инструмент создаст 4 каталога с IP-адресами в качестве имени папок. Человек может открыть любую из них, чтобы найти различные каталоги, созданные в соответствии с типом полученных результатов. Таким образом, каталог эксплойтов будет содержать любой конкретный эксплойт, которому уязвима цель. Следует понимать, что эксплойт должен работать корректно. Это означает, что он не будет показан пользователю, если есть какие-то основания полагать, что эксплойт не сможет быть запущен. Только после абсолютной гарантии успешного запуска эксплойта будет создана запись внутри данного каталога. Есть также каталог «loot », там будет все, что AutoRecon смог захватить с хост-машины. «Repot » — все то, что может войти в отчет о тестировании на проникновение, например, заметки.
ls -la | grep results
cd results
cd 192.168.126.132
tree
Пользователь видит, что заметки внутри папки «Repot» содержат основные результаты, полученные Nmap. Человек обнаруживает различные активные в целевом приложении службы, которые были найдены с помощью AutoRecon. Эту папку можно использовать как своего рода краткое справочное руководство.
cat ~/results/192.168.126.132/report/notes.txt
Если пользователь продолжит просматривать файлы, то он найдет полный отчет о сканировании Nmap.
cat ~/results/192.168.126.132/scans/_full_tcp_nmap.txt
Сканирование Enum4Linux
Инструмент также проводит сканирование Enum4Linux при обнаружении операционной системы, такой как Linux. Результат этого сканирования находится по следующему пути: «results/<targetname>/scans/enum4linux.txt» .
cat ~/results/192.168.126.132/scans/enum4linux.txt
Сканирование SMBMap
Помимо других сканирований AutoRecon также проводит SMBMap при обнаружении службы SMB, запущенной в приложении. SMBMap перечисляет различные общие ресурсы в сети целевой машиной с полученными разрешениями для этого конкретного ресурса. Результат этого сканирования находится по следующему пути: «results/<targetname>/scans/smbmap-share-permissions.txt» .
cat ~/results/192.168.126.132/scans/smbmap-share-permissions.txt
Сканирование SMTP
Простое перечисление для пользователей SMTP также может быть выполнено с помощью скрипта «smtp-user-enum ». Он применяется в том случае, если служба SMTP обнаружена на целевом компьютере. Инструмент перечисляет пользователей, созданных на экземпляре SMTP. В данном примере человек обнаружил, что на целевом сервере есть 4 пользователя. Результат сканирования перечисления можно найти по следующему пути: «results/<targetname>/scans/tcp_25_smtp_user-enum.txt ».
cat ~/results/192.168.126.132/scans/tcp_25_smtp_user-enum.txt
Сканирование WhatWeb
Еще одно сканирование, которое можно провести, — это WhatWeb. Инструмент использует функцию WhatWeb для захвата баннера на различных сервисах, а затем анализирует версии и выпуски этих сервисов и фреймворков. Результат сканирования WhatWeb можно найти по следующему пути: «results/<targetname>/scans/tcp_8180_http_whatweb.txt» .
file:///root/results/192.168.126.132/scans/tcp_8180_http_whatweb.txt
Результаты XML
AutoRecon также создает несколько файлов с результатами сканирования в формате XML для легкого чтения. Одним из таких файлов является результат сканирования Nmap для службы FTP. Его можно найти по следующему пути: «results/<targetname>/scans/xml/tcp_21_ftp_nmap.xml ».
file:///root/results/192.168.126.132/scans/xml/tcp_21_ftp_nmap.xml
Сканирование Nikto
Все сканирования, которые дополнительно проводит AutoRecon, очень полезны при любом тестировании на проникновение. Nikto – это тот вид анализа, с помощью которого можно провернуть большую часть перечисления. Как и Nmap, он может извлечь огромное количество данных. Результат сканирования находится по следующему пути:
cat ~/results/192.168.126.132/scans/tcp_8180_http_nikto.txt
Скриншоты веб-служб
Столкнувшись с HTTP-службой, которая может содержать важные веб-страницы, AutoRecon делает снимок экрана. В данном случае была служба HTTP, работающая на порту номер 8180. Это страница Apache Tomcat . С помощью скриншота пользователь может взглянуть на веб-сервисы, что будет очень полезно при решении CTFS. Таким образом, он понимает, стоит ли тратить время на определенный веб-сервис или нет.
file:///root/results/192.168.126.132/scans/tcp_8180_http_screenshot.png
ЧИТАТЬ ВСЕ СТАТЬИ НА САЙТЕ | ПОДПИСЫВАЙТЕСЬ НА НАШ TELEGRAM КАНАЛ