Привет. Сегодня поговорим о AutoRecon. Разберемся, что это за инструмент, для чего он нужен и чем он лучше Nmap. Также просканируем несколько целей, чтобы понять, какие результаты можно увидеть по завершению работы этого "чуда". AutoRecon действительно является уникальным решением в своем роде и позволяет существенно улучшить процесс.
Введение
Хотелось бы написать два слова о том, как в целом устроены сайты, веб-приложения и как потенциально можно найти уязвимости. Давай представим, что существует некий сайт site.com и размещен он на физическом сервере, который выходит в мир с IP 195.208.131.1. Предположим, что наш сайт site.com доступен по 80(HTTP) и 443(HTTPS) порту, имеет базу данных на порту 5432(PostgreSQL) и еще несколько других сервисов на разных портах. И у нас есть задача, проверить безопасность сайта site.com и сервера 195.208.131.1.
Первое, что нужно сделать — просканировать хост с IP 195.208.131.1 и понять какие порты открыты и какие сервисы запущены. Это можно сделать с помощью Nmap.
Пример вывода:
Таким образом, у нас есть список портов и установленных сервисов. Дальше нам нужно проверить, является ли эта версия уязвимой и возможно для этой версии есть готовые эксплоиты. Для этого мы можем воспользоваться установленной утилитой searchsploit (в одном из сканов мы нашли версию):
Видим, что для этой версии есть уязвимость RCE и есть эксплоит 47138.py. Поэтому, логическая цепочка происходит именно таким образом. Сначала мы сканируем хост, находим открытые порты и сервисы, проверяем их на уязвимость или на небезопасную конфигурацию. Это и будет нашей потенциальной точкой входа.
Без разведки — никуда
Из предыдущего блока становится понятно, почему нам всегда начинаем со сканирования. Нужно получить список портов TCP/UDP, собрать версии установленных компонентов, собрать информацию по SMB, пройти по WEB-части и т.д. Это достаточно большой кусок работы, который нужно выполнять каждый раз. Тем более что по каждому из пунктов приходиться использовать по 3-4 утилиты. По каждому инструменту есть логи, и это нужно как-то обрабатывать и хранить. Особенно сложно работать, если в работе сразу несколько хостов. Я думаю каждый, кто с этим сталкивался, понимает сколько времени на это уходит.
Для ускорения и упрощения процесса разведки был создан инструмент AutoRecon. Это универсальное решение, которое позволяет автоматически просканировать и проанализировать результаты и на выходе получить полную картину в понятном и удобном формате.
При запуске AutoRecon первым делом проверяет открытые порты на хосте с помощью Nmap. По умолчанию одновременно запускается 3 сканирования:
Как установить AutoRecon?
Установку я буду выполнять на Kali Linux2020.2. Более детальный мануал с другими вариантами установки можно найти по ссылке. Для работы AutoRecon нужен Python3. Поэтому установка будет начинаться с инструментов для работы с Python3. Если на машине уже есть Python3 и Pip3, то этот шаг можно пропустить.
Для своей работы AutoRecon использует большое количество компонентов. Ниже список того, что может быть задействовано при сканировании. AutoRecon может работать и без них, но качество результатов будет намного ниже. Можно попросту пропустить точку входа, а в логах останется только фейл при вызове какого-то инструмента.
Для установки этих всех компонентов нужно выполнить команду (будет работать на Kali Linux). С помощью второй команды можно убедиться, что все инструменты установлены.
Для установки AutoRecon
После этого AutoRecon будет успешно установлен и можно запустить с опцией
AutoRecon в боевых условиях
Проверим AutoRecon в действии. Для этого запустим скан для нескольких целей, и увидим результаты работы. Для базового скана выполняем команду с флагом -o для указания директории для хранения логов, для одновременного сканирования нескольких хостов нужно использовать флаг -t:
Работа AutoRecon
После начала работы создается папка с IP и туда добавляется вся информация по ходу проверки. Структура имеет достаточно понятный вид:
Содержание папки scans
По названию папок и файлов понятно их содержимое. Больше всего нас интересует папка scans. Внутри логи всех инструментов, которые позволяют проанализировать и увидеть полную картину. Качество и подход к работе впечатляют, проверено все и даже больше. Вбивать каждую команду руками заняло бы достаточное количество времени. Например, в папке scans был отчет с названием tcp_111_nfs_nmap.txt. AutoRecon показал, что есть раздел /site_backups с данными сайта. А это уже является потенциальной точкой входа. Но для этого мы запустили только одну команду и ничего больше.
Стоит также отметить, что в папке scans есть другие интересные файлы:
Заключение
AutoRecon — полезный и функциональный инструмент, который оптимизирует время на сканирование и анализ сервисов. Его можно использовать, как для тренировочных площадок, CTF, так и для реальных задач. Инструмент позволяет сканировать сразу несколько целей одновременно (5 по дефолту). Также все логи сохраняются отдельно по папкам с понятной структурой. Таким образом, этот инструмент решает достаточно серьезный запрос и позволяет использовать дополнительное время на проведение атак и эксплуатацию уязвимостей.
Введение
Хотелось бы написать два слова о том, как в целом устроены сайты, веб-приложения и как потенциально можно найти уязвимости. Давай представим, что существует некий сайт site.com и размещен он на физическом сервере, который выходит в мир с IP 195.208.131.1. Предположим, что наш сайт site.com доступен по 80(HTTP) и 443(HTTPS) порту, имеет базу данных на порту 5432(PostgreSQL) и еще несколько других сервисов на разных портах. И у нас есть задача, проверить безопасность сайта site.com и сервера 195.208.131.1.
Первое, что нужно сделать — просканировать хост с IP 195.208.131.1 и понять какие порты открыты и какие сервисы запущены. Это можно сделать с помощью Nmap.
Код:
$ nmap -sC -sV -p- 195.208.131.1
Код:
nmap -sC -sV -p- 195.208.131.1
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
80/tcp open http fuelCMS 1.4.1
111/tcp open rpcbind 2-4 (RPC #100000)
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
443/tcp open fuelCMS 1.4.1
445/tcp open microsoft-ds?
2049/tcp open mountd 1-3 (RPC #100005)
5432/tcp openc PostgreSQL
Код:
$ searchsploit fuelCMS 1.4.1
Видим, что для этой версии есть уязвимость RCE и есть эксплоит 47138.py. Поэтому, логическая цепочка происходит именно таким образом. Сначала мы сканируем хост, находим открытые порты и сервисы, проверяем их на уязвимость или на небезопасную конфигурацию. Это и будет нашей потенциальной точкой входа.
Без разведки — никуда
Из предыдущего блока становится понятно, почему нам всегда начинаем со сканирования. Нужно получить список портов TCP/UDP, собрать версии установленных компонентов, собрать информацию по SMB, пройти по WEB-части и т.д. Это достаточно большой кусок работы, который нужно выполнять каждый раз. Тем более что по каждому из пунктов приходиться использовать по 3-4 утилиты. По каждому инструменту есть логи, и это нужно как-то обрабатывать и хранить. Особенно сложно работать, если в работе сразу несколько хостов. Я думаю каждый, кто с этим сталкивался, понимает сколько времени на это уходит.
Для ускорения и упрощения процесса разведки был создан инструмент AutoRecon. Это универсальное решение, которое позволяет автоматически просканировать и проанализировать результаты и на выходе получить полную картину в понятном и удобном формате.
При запуске AutoRecon первым делом проверяет открытые порты на хосте с помощью Nmap. По умолчанию одновременно запускается 3 сканирования:
- полное сканирование топ 1000 TCP портов;
- полное сканирование всех TCP портов;
- сканирование топ 20 UDP портов.
Как установить AutoRecon?
Установку я буду выполнять на Kali Linux2020.2. Более детальный мануал с другими вариантами установки можно найти по ссылке. Для работы AutoRecon нужен Python3. Поэтому установка будет начинаться с инструментов для работы с Python3. Если на машине уже есть Python3 и Pip3, то этот шаг можно пропустить.
Код:
$ sudo apt install python3
$ sudo apt install python3-pip
Код:
curl
enum4linux
gobuster
nbtscan
nikto
nmap
onesixtyone
oscanner
smbclient
smbmap
smtp-user-enum
snmpwalk
sslscan
svwar
tnscmd10g
whatweb
wkhtmltoimage
Код:
$ sudo apt install seclists
$ 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
-h:
Код:
$ autorecon -h
AutoRecon в боевых условиях
Проверим AutoRecon в действии. Для этого запустим скан для нескольких целей, и увидим результаты работы. Для базового скана выполняем команду с флагом -o для указания директории для хранения логов, для одновременного сканирования нескольких хостов нужно использовать флаг -t:
Код:
$ autorecon 10.10.10.180 -o ./
$ autorecon -t targets.txt -o ./
Работа AutoRecon
После начала работы создается папка с IP и туда добавляется вся информация по ходу проверки. Структура имеет достаточно понятный вид:
Код:
├── exploit/
├── loot/
├── report/
│ ├── local.txt
│ ├── notes.txt
│ ├── proof.txt
│ └── screenshots/
└── scans/
├── _commands.log
├── _manual_commands.txt
└── xml/
Содержание папки scans
По названию папок и файлов понятно их содержимое. Больше всего нас интересует папка scans. Внутри логи всех инструментов, которые позволяют проанализировать и увидеть полную картину. Качество и подход к работе впечатляют, проверено все и даже больше. Вбивать каждую команду руками заняло бы достаточное количество времени. Например, в папке scans был отчет с названием tcp_111_nfs_nmap.txt. AutoRecon показал, что есть раздел /site_backups с данными сайта. А это уже является потенциальной точкой входа. Но для этого мы запустили только одну команду и ничего больше.
Стоит также отметить, что в папке scans есть другие интересные файлы:
- _commands.log — список выполненных команд в результате работы AutoRecon.
- _manual_commands.txt —команды, которые могут потенциально нанести вред таргету (брутфорс и т.д.). Поэтому такие команды лучше запускать вручную с дополнительной настройкой.
- _errors.log — ошибки, которые возникли в ходе работы. Можно проанализировать, какие инструменты не работают, или почему так, или иначе не была проведена проверка.
Заключение
AutoRecon — полезный и функциональный инструмент, который оптимизирует время на сканирование и анализ сервисов. Его можно использовать, как для тренировочных площадок, CTF, так и для реальных задач. Инструмент позволяет сканировать сразу несколько целей одновременно (5 по дефолту). Также все логи сохраняются отдельно по папкам с понятной структурой. Таким образом, этот инструмент решает достаточно серьезный запрос и позволяет использовать дополнительное время на проведение атак и эксплуатацию уязвимостей.