Это как боулинг с бамперами. - @ippsec
AutoRecon — это многопоточный инструмент сетевой разведки, который выполняет автоматический перебор сервисов. Он предназначен для экономии времени при использовании в CTF и других средах тестирования на проникновение (например, OSCP). Это также может быть полезно в реальных условиях.
Инструмент работает, сначала выполняя сканирование портов/сканирование обнаружения служб. На основании этих первоначальных результатов инструмент запустит дальнейшее сканирование этих сервисов с использованием ряда различных инструментов. Например, если будет найден HTTP, запуститсяferoxbuster (как и многие другие).
Все в инструменте легко настраивается. Конфигурация по умолчанию не выполняет автоматических атак , чтобы обеспечить соответствие инструмента правилам экзамена OSCP. Если вы хотите добавить в конфигурацию инструменты автоматического эксплойта, вы делаете это на свой страх и риск. Автор не несет ответственности за негативные действия, возникшие в результате неправильного использования этого инструмента.
Отказ от ответственности: хотя AutoRecon стремится выполнить как можно больше идентификации и перечисления служб, нет никакой гарантии, что каждая служба будет идентифицирована или что каждая служба будет полностью перечислена. Пользователи AutoRecon (особенно студенты) должны выполнять собственный ручной подсчет наряду с AutoRecon. Не полагайтесь только на этот инструмент при сдаче экзаменов, CTF или других мероприятий.
AutoRecon был вдохновлен тремя инструментами, которые автор использовал во время лабораторных работ OSCP: Reconnoitre, ReconScan и bscan. Хотя все три инструмента были полезны, ни один из них по отдельности не обладал желаемой функциональностью. AutoRecon сочетает в себе лучшие функции вышеупомянутых инструментов, а также реализует множество новых функций, помогающих тестировщикам перечислять несколько целей.
Существует три способа установки AutoRecon: pipx, pip и вручную. Перед установкой любым из этих методов необходимо выполнить определенные требования. Если вы недавно не обновляли кеш apt, выполните следующую команду, чтобы установить последние доступные пакеты:
sudo apt update
AutoRecon требует использования Python 3.8+ и pip, которые можно установить в Kali Linux с помощью следующих команд:
sudo apt install python3
sudo apt install python3-pip
Несколько команд, используемых в AutoRecon, ссылаются на проект SecLists в каталоге /usr/share/seclists/. Вы можете либо вручную загрузить проект SecLists в этот каталог (https://github.com/danielmiessler/SecLists), либо, если вы используете Kali Linux ( настоятельно рекомендуется ), вы можете запустить следующие команды:
sudo apt install seclists
AutoRecon по-прежнему будет работать, если вы не установите SecLists, хотя некоторые команды могут завершиться неудачей, а некоторые ручные команды также могут не запуститься.
Кроме того, в зависимости от вашей ОС может потребоваться установка следующих команд:
curl
dnsrecon
enum4linux
feroxbuster
gobuster
impacket-scripts
nbtscan
nikto
nmap
onesixtyone
oscanner
redis-tools
smbclient
smbmap
snmpwalk
sslscan
svwar
tnscmd10g
whatweb
wkhtmltopdf
В Kali Linux вы можете убедиться, что все они установлены, используя следующие команды:
sudo apt install seclists curl dnsrecon enum4linux feroxbuster gobuster impacket-scripts nbtscan nikto nmap onesixtyone oscanner redis-tools smbclient smbmap snmp sslscan sipvicious tnscmd10g whatweb wkhtmltopdf
Для установки AutoRecon рекомендуется использовать pipx
. pipx установит AutoRecon в своей собственной виртуальной среде и сделает его доступным в глобальном контексте, избегая конфликтующих зависимостей пакетов и, как следствие, нестабильности. Сначала установите pipx, используя следующие команды:
sudo apt install python3-venv
python3 -m pip install --user pipx
python3 -m pipx ensurepath
Вам придется повторно использовать файл ~/.bashrc или ~/.zshrc (или открыть новую вкладку) после выполнения этих команд, чтобы использовать pipx.
Установите AutoRecon, используя следующую команду:
pipx install git+https://github.com/Tib3rius/AutoRecon.git
Обратите внимание: если вы хотите запустить AutoRecon с помощью sudo (требуется для более быстрого сканирования SYN и сканирования UDP), вам необходимо использовать один из следующих примеров:
sudo env " PATH= $PATH " autorecon [OPTIONS]
sudo $( which autorecon ) [OPTIONS]
Альтернативно вы можете использовать pip
для установки AutoRecon, используя следующую команду:
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
Обратите внимание: если вы хотите запустить AutoRecon с помощью sudo (требуется для более быстрого сканирования SYN и UDP), вам придется запустить указанную выше команду от имени пользователя root (или использовать sudo).
Как и в случае с pipx
, если он установлен с помощью pip
вы можете запустить AutoRecon, просто выполнив autorecon
.
Если вы предпочитаете не использовать pip
или pipx
, вы всегда можете установить и запустить autorecon.py
вручную в виде сценария. Из каталога AutoRecon установите зависимости:
python3 -m pip install -r requirements.txt
После этого вы сможете запустить скрипт autorecon.py
:
python3 autorecon.py [OPTIONS] 127.0.0.1
Обновление AutoRecon, если оно установлено с помощью pipx, является самым простым, и именно поэтому этот метод рекомендуется. Просто запустите следующую команду:
pipx upgrade autorecon
Если вы установили AutoRecon с помощью pip, вам сначала придется удалить AutoRecon, а затем переустановить его, используя ту же команду установки:
python3 -m pip uninstall autorecon
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
Если вы установили AutoRecon вручную, просто перейдите в каталог AutoRecon и выполните следующую команду:
git pull
Предполагая, что вы не изменяли какое-либо содержимое в каталоге AutoRecon, необходимо извлечь последнюю версию кода из этого репозитория GitHub, после чего вы можете запустить AutoRecon, используя сценарий autorecon.py, как обычно.
Процесс обновления плагина находится в разработке. А до тех пор, после обновления, удалите каталог ~/.local/share/AutoRecon и запустите AutoRecon с любым аргументом для повторного заполнения последними файлами.
AutoRecon использует специальные функции Python 3 и не поддерживает Python 2.
usage: autorecon [-t TARGET_FILE] [-p PORTS] [-m MAX_SCANS] [-mp MAX_PORT_SCANS] [-c CONFIG_FILE] [-g GLOBAL_FILE] [--tags TAGS]
[--exclude-tags TAGS] [--port-scans PLUGINS] [--service-scans PLUGINS] [--reports PLUGINS] [--plugins-dir PLUGINS_DIR]
[--add-plugins-dir PLUGINS_DIR] [-l [TYPE]] [-o OUTPUT] [--single-target] [--only-scans-dir] [--no-port-dirs]
[--heartbeat HEARTBEAT] [--timeout TIMEOUT] [--target-timeout TARGET_TIMEOUT] [--nmap NMAP | --nmap-append NMAP_APPEND]
[--proxychains] [--disable-sanity-checks] [--disable-keyboard-control] [--force-services SERVICE [SERVICE ...]] [--accessible]
[-v] [--version] [--curl.path VALUE] [--dirbuster.tool {feroxbuster,gobuster,dirsearch,ffuf,dirb}]
[--dirbuster.wordlist VALUE [VALUE ...]] [--dirbuster.threads VALUE] [--dirbuster.ext VALUE]
[--onesixtyone.community-strings VALUE] [--global.username-wordlist VALUE] [--global.password-wordlist VALUE]
[--global.domain VALUE] [-h]
[targets ...]
Network reconnaissance tool to port scan and automatically enumerate services found on multiple targets.
positional arguments:
targets IP addresses (e.g. 10.0.0.1), CIDR notation (e.g. 10.0.0.1/24), or resolvable hostnames (e.g. foo.bar) to scan.
optional arguments:
-t TARGET_FILE, --target-file TARGET_FILE
Read targets from file.
-p PORTS, --ports PORTS
Comma separated list of ports / port ranges to scan. Specify TCP/UDP ports by prepending list with T:/U: To scan both
TCP/UDP, put port(s) at start or specify B: e.g. 53,T:21-25,80,U:123,B:123. Default: None
-m MAX_SCANS, --max-scans MAX_SCANS
The maximum number of concurrent scans to run. Default: 50
-mp MAX_PORT_SCANS, --max-port-scans MAX_PORT_SCANS
The maximum number of concurrent port scans to run. Default: 10 (approx 20% of max-scans unless specified)
-c CONFIG_FILE, --config CONFIG_FILE
Location of AutoRecon's config file. Default: ~/.config/AutoRecon/config.toml
-g GLOBAL_FILE, --global-file GLOBAL_FILE
Location of AutoRecon's global file. Default: ~/.config/AutoRecon/global.toml
--tags TAGS Tags to determine which plugins should be included. Separate tags by a plus symbol (+) to group tags together. Separate
groups with a comma (,) to create multiple groups. For a plugin to be included, it must have all the tags specified in
at least one group. Default: default
--exclude-tags TAGS Tags to determine which plugins should be excluded. Separate tags by a plus symbol (+) to group tags together. Separate
groups with a comma (,) to create multiple groups. For a plugin to be excluded, it must have all the tags specified in
at least one group. Default: None
--port-scans PLUGINS Override --tags / --exclude-tags for the listed PortScan plugins (comma separated). Default: None
--service-scans PLUGINS
Override --tags / --exclude-tags for the listed ServiceScan plugins (comma separated). Default: None
--reports PLUGINS Override --tags / --exclude-tags for the listed Report plugins (comma separated). Default: None
--plugins-dir PLUGINS_DIR
The location of the plugins directory. Default: ~/.local/share/AutoRecon/plugins
--add-plugins-dir PLUGINS_DIR
The location of an additional plugins directory to add to the main one. Default: None
-l [TYPE], --list [TYPE]
List all plugins or plugins of a specific type. e.g. --list, --list port, --list service
-o OUTPUT, --output OUTPUT
The output directory for results. Default: results
--single-target Only scan a single target. A directory named after the target will not be created. Instead, the directory structure will
be created within the output directory. Default: False
--only-scans-dir Only create the "scans" directory for results. Other directories (e.g. exploit, loot, report) will not be created.
Default: False
--no-port-dirs Don't create directories for ports (e.g. scans/tcp80, scans/udp53). Instead store all results in the "scans" directory
itself. Default: False
--heartbeat HEARTBEAT
Specifies the heartbeat interval (in seconds) for scan status messages. Default: 60
--timeout TIMEOUT Specifies the maximum amount of time in minutes that AutoRecon should run for. Default: None
--target-timeout TARGET_TIMEOUT
Specifies the maximum amount of time in minutes that a target should be scanned for before abandoning it and moving on.
Default: None
--nmap NMAP Override the {nmap_extra} variable in scans. Default: -vv --reason -Pn -T4
--nmap-append NMAP_APPEND
Append to the default {nmap_extra} variable in scans. Default:
--proxychains Use if you are running AutoRecon via proxychains. Default: False
--disable-sanity-checks
Disable sanity checks that would otherwise prevent the scans from running. Default: False
--disable-keyboard-control
Disables keyboard control ([s]tatus, Up, Down) if you are in SSH or Docker.
--force-services SERVICE [SERVICE ...]
A space separated list of services in the following style: tcp/80/http tcp/443/https/secure
--accessible Attempts to make AutoRecon output more accessible to screenreaders. Default: False
-v, --verbose Enable verbose output. Repeat for more verbosity.
--version Prints the AutoRecon version and exits.
-h, --help Show this help message and exit.
plugin arguments:
These are optional arguments for certain plugins.
--curl.path VALUE The path on the web server to curl. Default: /
--dirbuster.tool {feroxbuster,gobuster,dirsearch,ffuf,dirb}
The tool to use for directory busting. Default: feroxbuster
--dirbuster.wordlist VALUE [VALUE ...]
The wordlist(s) to use when directory busting. Separate multiple wordlists with spaces. Default:
['~/.local/share/AutoRecon/wordlists/dirbuster.txt']
--dirbuster.threads VALUE
The number of threads to use when directory busting. Default: 10
--dirbuster.ext VALUE
The extensions you wish to fuzz (no dot, comma separated). Default: txt,html,php,asp,aspx,jsp
--onesixtyone.community-strings VALUE
The file containing a list of community strings to try. Default: /usr/share/seclists/Discovery/SNMP/common-snmp-
community-strings-onesixtyone.txt
global plugin arguments:
These are optional arguments that can be used by all plugins.
--global.username-wordlist VALUE
A wordlist of usernames, useful for bruteforcing. Default: /usr/share/seclists/Usernames/top-usernames-shortlist.txt
--global.password-wordlist VALUE
A wordlist of passwords, useful for bruteforcing. Default: /usr/share/seclists/Passwords/darkweb2017-top100.txt
--global.domain VALUE
The domain to use (if known). Used for DNS and/or Active Directory. Default: None
AutoRecon поддерживает четыре уровня детализации:
Примечание. Вы можете изменить степень детализации промежуточного сканирования AutoRecon, нажимая клавиши со стрелками вверх и вниз.
По умолчанию результаты будут храниться в каталоге ./results. Для каждой цели создается новый подкаталог. Структура этого подкаталога следующая:
.
├── exploit/
├── loot/
├── report/
│ ├── local.txt
│ ├── notes.txt
│ ├── proof.txt
│ └── screenshots/
└── scans/
├── _commands.log
├── _manual_commands.txt
├── tcp80/
├── udp53/
└── xml/
Каталог эксплойтов предназначен для хранения любого кода эксплойта, который вы загружаете/пишете для цели.
Каталог добычи предназначен для хранения любой добычи (например, хэшей, интересных файлов), которую вы найдете на цели.
Каталог отчетов содержит несколько автоматически созданных файлов и каталогов, полезных для создания отчетов:
Каталог сканирований — это место, куда будут помещаться все результаты сканирований, выполненных AutoRecon. Сюда входит сканирование портов/сканирование обнаружения служб, а также сканирование перечисления служб. Он также содержит еще два файла:
По умолчанию для каждого открытого порта создаются каталоги (например, tcp80, udp53), и результаты сканирования служб, обнаруженных на этих портах, сохраняются в соответствующих каталогах. Вы можете отключить это поведение с помощью параметра командной строки --no-port-dirs, и вместо этого результаты сканирования будут сохраняться в самом каталоге сканирования.
Если сканирование приводит к ошибке, в каталоге сканирований также появится файл с именем _errors.log с некоторыми подробностями, чтобы предупредить пользователя.
Если выходные данные соответствуют определенному шаблону, в каталоге сканирования также появится файл с именем _patterns.log с подробной информацией о совпавших выходных данных.
В каталоге scans/xml хранятся все выходные данные XML (например, от сканирований Nmap) отдельно от основных результатов сканирования, так что сам каталог сканирований не становится слишком загроможденным.
AutoRecon оказал неоценимую помощь во время экзамена OSCP, поскольку избавил меня от утомительного выполнения команд активного сбора информации самостоятельно. Я смог начать работу над целью, имея перед собой всю необходимую информацию. Я настоятельно рекомендую эту утилиту всем, кто работает в лабораториях PWK, на экзамене OSCP или в других средах, таких как VulnHub или HTB. Это отличный инструмент как для людей, только начинающих свой путь в OffSec, так и для опытных ветеранов. Просто убедитесь, что где-то между этими двумя моментами вы найдете время, чтобы узнать, что происходит «под капотом» и как/почему он сканирует то, что делает.
- b0ats (организаторы экзаменов 5/5 с root-доступом)
Ух ты, какая замечательная находка! До использования AutoRecon ReconScan был моим сценарием перечисления переходов для целей, поскольку он автоматически запускал команды перечисления после обнаружения открытых портов. Единственное, чего не хватало, — это автоматического создания ключевых каталогов, которые могут понадобиться пентестеру во время сражения (эксплойт, добыча, отчет, сканирование). Reconnoitre сделал это, но не выполнил эти команды автоматически. Я думал, что ReconScan — это «колени пчелы», пока не попробовал AutoRecon. Это потрясающе! Он сочетает в себе лучшие функции Reconnoitre (автоматическое создание каталогов) и ReconScan (автоматическое выполнение команд перечисления). Все, что мне нужно сделать, это запустить его на цели или наборе целей и начать просматривать уже собранную информацию, продолжая при этом остальную часть сканирования. Доказательство — в пудинге :) Сдал экзамен OSCP! Слава Тиб3риусу!
- werk0ut
Друг рассказал мне об AutoRecon, и я попробовал его в лабораториях PWK. AutoRecon запускает общие инструменты, которые мы все всегда используем, будь то nmap или nikto, а также создает удобную систему подпапок на основе целей, которые вы атакуете. Самая сильная особенность AutoRecon — скорость; на экзамене OSCP я оставил инструмент работающим в фоновом режиме, пока начал с другой цели, и через несколько минут меня ждали все выходные данные AutoRecon. AutoRecon создает файл, полный команд, которые вам следует попробовать вручную, некоторые из которых могут потребовать настройки (например, команды брутфорса гидры). Хорошо иметь дополнительный контрольный список.
- tr3mb0 (организаторы экзаменов 4/5 с root-доступом)
Знакомство с AutoRecon полностью изменило правила игры во время прохождения OSCP и разработки моей методологии тестирования на проникновение. AutoRecon — это многопоточный инструмент разведки, который объединяет и автоматизирует популярные инструменты подсчета, выполняя большую часть тяжелой работы за вас. Вы не можете получить намного лучше, чем это! После запуска AutoRecon на хостах, где проходил экзамен OSCP, мне была предоставлена сокровищница, полная информации, которая помогла мне начать работу на каждом хосте и сдать экзамен с первой попытки. Самое приятное в этом инструменте то, что он автоматически запускает дальнейшее сканирование перечисления на основе начального сканирования портов (например, запустите enum4linux, если обнаружен SMB). Единственный минус в том, что я не воспользовался этим инструментом раньше! Спасибо Тиб3риус.
- rufy (организаторы экзаменов 4/5 с root-доступом)
AutoRecon позволяет исследователю безопасности итеративно сканировать хосты и выявлять потенциальные векторы атак. Его истинная сила заключается в выполнении сканирования в фоновом режиме, пока злоумышленник работает на другом хосте. Я смог начать сканирование и завершить сканирование конкретного хоста, над которым работал, а затем вернуться и обнаружить, что все соответствующие сканирования завершены. После этого я смог немедленно начать попытки получить первоначальный доступ вместо того, чтобы вручную выполнять активный процесс сканирования. Я буду продолжать использовать AutoRecon в будущих тестах на проникновение и CTF и настоятельно рекомендую вам делать то же самое.
- waar (укорененные хосты экзамена 4.99/5)
«Если вам приходится выполнять задачу более двух раз в день, вам необходимо ее автоматизировать». Это совет, который дал мне старый босс. AutoRecon принимает этот урок близко к сердцу. Сидите ли вы на экзамене или в лабораториях PWK, вы можете запустить AutoRecon и позволить ему творить чудеса. У меня он работал во время моего последнего экзамена, пока я работал над переполнением буфера. К тому времени, как я закончил, все необходимые мне данные перечисления были уже готовы. 10/10 рекомендую всем, кто занимается CTF, и всем, кто занимается этим долгое время.
- вуисфлинн
Мне так понравился этот инструмент, что я написал его.
- Tib3rius (организатор экзамена 5/5 с root-доступом)
Я настоятельно рекомендую всем, кто использует OSCP, CTF или HTB, попробовать этот инструмент. Я использовал AutoRecon на HTB в течение месяца, прежде чем использовать его в лабораториях PWK, и это помогло мне сдать экзамен OSCP. Если вам трудно освоиться с методологией перечисления, я советую вам следовать порядку и методам, которые использует этот сценарий. Это позволяет выполнять большую часть утомительной работы, к которой вы, вероятно, привыкли, и в то же время предоставляет хорошо организованные подкаталоги, которые можно быстро просмотреть, чтобы не потерять голову. Предоставляемые им ручные команды отлично подходят для тех конкретных ситуаций, когда они необходимы, когда у вас закончились варианты. Это очень ценный инструмент, поэтому я не могу не порекомендовать его.
- d0hnuts (укорененные хосты экзамена 5/5)
Autorecon — это не просто какой-то другой инструмент, это система корреляции разведки для боевых действий. Это помогло мне выполнить целую серию сканирований, пока я работал над другими целями. Это может очень помочь в тайм-менеджменте. Это помогло мне получить 4/5 ящиков на экзамене PWK! Результат: Пройдено!
- Wh0ami (организаторы экзаменов 4/5 с root-доступом)
Когда я впервые услышал об AutoRecon, я спросил, действительно ли мне это нужно, мое перечисление было в порядке... Я попробовал его непредвзято и сразу же был немного поражен количеством информации, которое оно сгенерирует. Как только я привык к этому и начал читать результаты, я понял, как многого мне не хватало. Я использовал его для сдачи экзамена OSCP, и он нашел вещи, которые иначе я бы никогда не нашел. Я твердо верю, что без AutoRecon я бы потерпел неудачу. Это отличный инструмент, и я очень впечатлен тем, что смог создать Тиб3риус. Определенно то, что я уже рекомендую другим, в том числе и вам!
- другой новый
AutoRecon помог мне сэкономить драгоценное время на экзамене OSCP, позволив мне тратить меньше времени на сканирование систем и больше времени на их взлом. Эта программа на вес золота!
- ТорХакр
Волшебный инструмент, который превратил перечисление в несложную задачу: просто запустите его и наблюдайте за красотой многопоточности, выбрасывающей тонны информации, для выполнения которой потребовалось бы множество команд. Я, конечно, считаю, что, просто используя AutoRecon на экзамене OSCP, половина усилий уже будет сделана. Настоятельно рекомендуется!
- Арман (решил экзамен на 4,5/5 хостов)