Es como jugar a los bolos con parachoques. - @ippsec
AutoRecon es una herramienta de reconocimiento de red multiproceso que realiza una enumeración automatizada de servicios. Está pensado como una herramienta que ahorra tiempo para su uso en CTF y otros entornos de pruebas de penetración (por ejemplo, OSCP). También puede resultar útil en compromisos del mundo real.
La herramienta funciona realizando primero escaneos de puertos/detección de servicios. A partir de esos resultados iniciales, la herramienta iniciará más análisis de enumeración de esos servicios utilizando varias herramientas diferentes. Por ejemplo, si se encuentra HTTP, se iniciará feroxbuster (y muchos otros).
Todo en la herramienta es altamente configurable. La configuración predeterminada no realiza ninguna explotación automatizada para mantener la herramienta en línea con las reglas del examen OSCP. Si desea agregar herramientas de explotación automática a la configuración, lo hace bajo su propio riesgo. El autor no será responsable de las acciones negativas que resulten del mal uso de esta herramienta.
Descargo de responsabilidad: si bien AutoRecon se esfuerza por realizar la mayor identificación y enumeración de servicios posible, no hay garantía de que se identifiquen todos los servicios ni de que se enumeren por completo. Los usuarios de AutoRecon (especialmente los estudiantes) deben realizar su propia enumeración manual junto con AutoRecon. No confíe únicamente en esta herramienta para exámenes, CTF u otros compromisos.
AutoRecon se inspiró en tres herramientas que el autor utilizó durante los laboratorios de OSCP: Reconnoitre, ReconScan y bscan. Si bien las tres herramientas eran útiles, ninguna de ellas por sí sola tenía la funcionalidad deseada. AutoRecon combina las mejores funciones de las herramientas antes mencionadas y al mismo tiempo implementa muchas funciones nuevas para ayudar a los evaluadores con la enumeración de múltiples objetivos.
Hay tres formas de instalar AutoRecon: pipx, pip y manualmente. Antes de la instalación utilizando cualquiera de estos métodos, se deben cumplir ciertos requisitos. Si no ha actualizado su caché apt recientemente, ejecute el siguiente comando para instalar los últimos paquetes disponibles:
sudo apt update
AutoRecon requiere el uso de Python 3.8+ y pip, que se pueden instalar en Kali Linux usando los siguientes comandos:
sudo apt install python3
sudo apt install python3-pip
Varios comandos utilizados en AutoRecon hacen referencia al proyecto SecLists, en el directorio /usr/share/seclists/. Puede descargar manualmente el proyecto SecLists a este directorio (https://github.com/danielmiessler/SecLists) o, si está utilizando Kali Linux ( muy recomendable ), puede ejecutar los siguientes comandos:
sudo apt install seclists
AutoRecon aún se ejecutará si no instala SecLists, aunque es posible que varios comandos fallen y que algunos comandos manuales tampoco se ejecuten.
Además, es posible que sea necesario instalar los siguientes comandos, según su sistema operativo:
curl
dnsrecon
enum4linux
feroxbuster
gobuster
impacket-scripts
nbtscan
nikto
nmap
onesixtyone
oscanner
redis-tools
smbclient
smbmap
snmpwalk
sslscan
svwar
tnscmd10g
whatweb
wkhtmltopdf
En Kali Linux, puede asegurarse de que todos estén instalados usando los siguientes comandos:
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
Se recomienda utilizar pipx
para instalar AutoRecon. pipx instalará AutoRecon en su propio entorno virtual y lo pondrá a disposición en el contexto global, evitando dependencias conflictivas de paquetes y la inestabilidad resultante. Primero, instale pipx usando los siguientes comandos:
sudo apt install python3-venv
python3 -m pip install --user pipx
python3 -m pipx ensurepath
Tendrá que recuperar su archivo ~/.bashrc o ~/.zshrc (o abrir una nueva pestaña) después de ejecutar estos comandos para poder usar pipx.
Instale AutoRecon usando el siguiente comando:
pipx install git+https://github.com/Tib3rius/AutoRecon.git
Tenga en cuenta que si desea ejecutar AutoRecon usando sudo (requerido para un escaneo SYN y UDP más rápido), debe usar uno de los siguientes ejemplos:
sudo env " PATH= $PATH " autorecon [OPTIONS]
sudo $( which autorecon ) [OPTIONS]
Alternativamente, puedes usar pip
para instalar AutoRecon usando el siguiente comando:
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
Tenga en cuenta que si desea ejecutar AutoRecon usando sudo (requerido para un escaneo SYN y UDP más rápido), tendrá que ejecutar el comando anterior como usuario root (o usando sudo).
De manera similar a pipx
, si se instala usando pip
puede ejecutar AutoRecon simplemente ejecutando autorecon
.
Si prefiere no utilizar pip
o pipx
, siempre puede instalar y ejecutar autorecon.py
manualmente como un script. Desde el directorio AutoRecon, instale las dependencias:
python3 -m pip install -r requirements.txt
Luego podrá ejecutar el script autorecon.py
:
python3 autorecon.py [OPTIONS] 127.0.0.1
Actualizar AutoRecon cuando se ha instalado con pipx es lo más fácil y es por eso que se recomienda este método. Simplemente ejecute el siguiente comando:
pipx upgrade autorecon
Si instaló AutoRecon usando pip, primero deberá desinstalar AutoRecon y luego reinstalarlo usando el mismo comando de instalación:
python3 -m pip uninstall autorecon
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
Si ha instalado AutoRecon manualmente, simplemente cambie al directorio de AutoRecon y ejecute el siguiente comando:
git pull
Suponiendo que no modificó ningún contenido en el directorio AutoRecon, esto debería extraer el código más reciente de este repositorio de GitHub, después de lo cual puede ejecutar AutoRecon usando el script autorecon.py como de costumbre.
Se está trabajando en un proceso de actualización del complemento. Hasta entonces, después de la actualización, elimine el directorio ~/.local/share/AutoRecon y ejecute AutoRecon con cualquier argumento para volver a llenarlo con los archivos más recientes.
AutoRecon utiliza una funcionalidad específica de Python 3 y no es compatible con 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 admite cuatro niveles de detalle:
Nota: Puede cambiar el nivel de detalle de AutoRecon en mitad del escaneo presionando las teclas de flecha hacia arriba y hacia abajo.
De forma predeterminada, los resultados se almacenarán en el directorio ./results. Se crea un nuevo subdirectorio para cada destino. La estructura de este subdirectorio es:
.
├── exploit/
├── loot/
├── report/
│ ├── local.txt
│ ├── notes.txt
│ ├── proof.txt
│ └── screenshots/
└── scans/
├── _commands.log
├── _manual_commands.txt
├── tcp80/
├── udp53/
└── xml/
El directorio de exploits está destinado a contener cualquier código de exploit que descargue/escriba para el objetivo.
El directorio de botín está pensado para contener cualquier botín (por ejemplo, hashes, archivos interesantes) que encuentres en el objetivo.
El directorio de informes contiene algunos archivos y directorios generados automáticamente que son útiles para generar informes:
El directorio de escaneos es donde irán todos los resultados de los escaneos realizados por AutoRecon. Esto incluye escaneos de puertos/detección de servicios, así como cualquier escaneo de enumeración de servicios. También contiene otros dos archivos:
De forma predeterminada, se crean directorios para cada puerto abierto (por ejemplo, tcp80, udp53) y los resultados del análisis de los servicios encontrados en esos puertos se almacenan en sus respectivos directorios. Puede desactivar este comportamiento utilizando la opción de línea de comando --no-port-dirs y, en su lugar, los resultados del análisis se almacenarán en el directorio de análisis.
Si un análisis produce un error, también aparecerá un archivo llamado _errors.log en el directorio de análisis con algunos detalles para alertar al usuario.
Si la salida coincide con un patrón definido, también aparecerá un archivo llamado _patterns.log en el directorio de escaneos con detalles sobre la salida coincidente.
El directorio scans/xml almacena cualquier resultado XML (por ejemplo, de los escaneos de Nmap) por separado de los resultados del escaneo principal, de modo que el directorio de escaneos en sí no quede demasiado saturado.
AutoRecon fue invaluable durante mi examen OSCP, ya que me salvó del tedio de ejecutar yo mismo mis comandos activos de recopilación de información. Pude comenzar con un objetivo con toda la información que necesitaba claramente colocada frente a mí. Recomendaría encarecidamente esta utilidad a cualquiera que esté en los laboratorios PWK, el examen OSCP u otros entornos como VulnHub o HTB. Es una gran herramienta tanto para las personas que recién comienzan su viaje hacia OffSec como para los veteranos experimentados. Sólo asegúrese de que en algún punto entre esos dos puntos se tome el tiempo para aprender qué sucede "bajo el capó" y cómo/por qué escanea lo que hace.
- b0ats (hosts de exámenes rooteados 5/5)
¡Guau, qué gran descubrimiento! Antes de usar AutoRecon, ReconScan era mi script de enumeración goto para objetivos porque ejecutaba automáticamente los comandos de enumeración después de encontrar puertos abiertos. Lo único que faltaba era la creación automática de directorios clave que un pentester podría necesitar durante un compromiso (explotar, saquear, informar, escanear). Reconnoitre hizo esto pero no ejecutó automáticamente esos comandos. Pensé que ReconScan era lo mejor hasta que probé AutoRecon. ¡Es increíble! Combina las mejores características de Reconnoitre (creación automática de directorios) y ReconScan (ejecución automática de los comandos de enumeración). Todo lo que tengo que hacer es ejecutarlo en un objetivo o en un conjunto de objetivos y comenzar a repasar la información que ya ha recopilado mientras continúa el resto del análisis. La prueba está en el pudín :) ¡Aprobé el examen OSCP! Felicitaciones a Tib3rius!
- trabajo0ut
Un amigo me habló de AutoRecon, así que lo probé en los laboratorios de PWK. AutoRecon lanza las herramientas comunes que todos usamos siempre, ya sea nmap o nikto, y también crea un bonito sistema de subcarpetas basado en los objetivos que estás atacando. La característica más fuerte de AutoRecon es la velocidad; En el examen OSCP dejé la herramienta ejecutándose en segundo plano mientras comenzaba con otro objetivo, y en cuestión de minutos tenía toda la salida de AutoRecon esperándome. AutoRecon crea un archivo lleno de comandos que debes probar manualmente, algunos de los cuales pueden requerir ajustes (por ejemplo, comandos de fuerza bruta de Hydra). Es bueno tener esa lista de verificación adicional.
- tr3mb0 (hosts de examen rooteados 4/5)
Conocer AutoRecon fue un cambio radical para mí mientras tomaba el OSCP y establecía mi metodología de prueba de penetración. AutoRecon es una herramienta de reconocimiento multiproceso que combina y automatiza herramientas de enumeración populares para hacer la mayor parte del trabajo duro por usted. ¡No hay nada mejor que eso! Después de ejecutar AutoRecon en los hosts de mi examen OSCP, me dieron un cofre del tesoro lleno de información que me ayudó a comenzar con cada host y aprobar en mi primer intento. La mejor parte de la herramienta es que inicia automáticamente análisis de enumeración adicionales basados en los análisis de puertos iniciales (por ejemplo, ejecute enum4linux si se detecta SMB). ¡Lo único malo es que no usé esta herramienta antes! Gracias Tib3rius.
- rufy (hosts de examen rooteados 4/5)
AutoRecon permite a un investigador de seguridad escanear hosts de forma iterativa e identificar posibles vectores de ataque. Su verdadero poder reside en la realización de análisis en segundo plano mientras el atacante trabaja en otro host. Pude iniciar mis escaneos y finalizar un host específico en el que estaba trabajando, y luego regresar para encontrar todos los escaneos relevantes completados. Luego pude comenzar inmediatamente a intentar obtener acceso inicial en lugar de realizar manualmente el proceso de escaneo activo. Continuaré usando AutoRecon en futuras pruebas de penetración y CTF, y recomiendo encarecidamente que hagas lo mismo.
- waar (hosts de examen rooteados 4.99/5)
"Si tienes que realizar una tarea más de dos veces al día, necesitas automatizarla". Ése es un consejo que me dio un antiguo jefe. AutoRecon toma esa lección en serio. Ya sea que esté en el examen o en los laboratorios de PWK, puede activar AutoRecon y dejar que haga su magia. Lo tuve ejecutándose durante mi último examen mientras trabajaba en el desbordamiento del búfer. Cuando terminé, todos los datos de enumeración que necesitaba estaban ahí para revisarlos. 10/10 lo recomendaría a cualquiera que ingrese a CTF y a cualquiera que haya estado en esto durante mucho tiempo.
- whoisflynn
Amo tanto esta herramienta que la escribí.
- Tib3rius (hosts de exámenes rooteados 5/5)
Recomiendo encarecidamente a cualquiera que opte por su OSCP, haga CTF o HTB que consulte esta herramienta. He estado usando AutoRecon en HTB durante un mes antes de usarlo nuevamente en los laboratorios de PWK y me ayudó a aprobar mi examen OSCP. Si tiene dificultades para adaptarse a una metodología de enumeración, le recomiendo que siga el flujo y las técnicas que utiliza este script. Elimina gran parte del trabajo tedioso al que probablemente esté acostumbrado y, al mismo tiempo, proporciona subdirectorios bien organizados para revisar rápidamente y no perder la cabeza. Los comandos manuales que proporciona son excelentes para aquellas situaciones específicas que los necesitan cuando se han quedado sin opciones. Es una herramienta muy valiosa, no puedo recomendar lo suficiente.
- d0hnuts (hosts de exámenes rooteados 5/5)
Autorecon no es una herramienta más, es un marco de correlación de reconocimiento para compromisos. Esto me ayudó a realizar una gran cantidad de escaneos mientras trabajaba en otros objetivos. Esto puede ayudar mucho en la gestión del tiempo. ¡Esto me ayudó a tener 4/5 cajas en el examen pwk! Resultado: ¡Aprobado!
- Wh0ami (hosts de exámenes rooteados 4/5)
La primera vez que oí hablar de AutoRecon me pregunté si realmente necesitaba esto, mi enumeración estaba bien... Lo probé con la mente abierta y de inmediato me quedé un poco desconcertado por la cantidad de información que generaría. Una vez que me acostumbré y comencé a leer el resultado, me di cuenta de cuánto me estaba perdiendo. Lo usé para el examen OSCP y encontré cosas que de otro modo nunca habría encontrado. Creo firmemente que sin AutoRecon habría fracasado. Es una gran herramienta y estoy muy impresionado con lo que Tib3rius pudo crear. Definitivamente algo que ya estoy recomendando a otros, ¡incluyéndote a ti!
- othorne
AutoRecon me ayudó a ahorrar un tiempo valioso en mi examen OSCP, permitiéndome dedicar menos tiempo a escanear sistemas y más tiempo a acceder a ellos. ¡Este software vale su peso en oro!
-TorHackr
La herramienta mágica que hizo que la enumeración fuera pan comido, simplemente enciéndela y observa la belleza de los subprocesos múltiples que escupen una tonelada de información que habría requerido muchos comandos para ejecutarse. Ciertamente creo que con sólo usar AutoRecon en el examen OSCP, la mitad del esfuerzo ya estaría hecho. ¡Muy recomendado!
- Arman (resuelto 4.5/5 anfitriones del examen)