
ReconPi - Una herramienta de reconocimiento ligera que realiza escaneos exhaustivos con las herramientas más recientes.
__________ __________.__
\______ \ ____ ____ ____ ____\______ \__|
| _// __ \_/ ___\/ _ \ / \| ___/ |
| | \ ___/\ \__( <_> ) | \ | | |
|____|_ /\___ >\___ >____/|___| /____| |__|
\/ \/ \/ \/
v2.2 - @x1m_martijn
ReconPi - Una herramienta de reconocimiento ligera que realiza un reconocimiento exhaustivo con las últimas herramientas utilizando una Raspberry Pi.
Empieza a usar esa Raspberry Pi -- sé que todos tenéis una por ahí tirada ;)
Desde la versión 2.1, ReconPi es utilizable en tu VPS, gracias a Sachin Grover por el gran trabajo realizado.
La última imagen de HypriotOS funciona perfectamente para Raspberry Pi.
Conéctate a tu ReconPi o VPS mediante SSH:
ssh [email protected] [Edit IP address if needed]
Ejecuta el script install.sh con curl y ejecútalo:
curl -L https://raw.githubusercontent.com/x1mdev/ReconPi/master/install.sh | bash
Conéctate a tu sistema mediante SSH:
$ ssh [email protected] [Edit IP address if needed]
Ahora podemos configurar todo, es bastante sencillo:
git clone https://github.com/x1mdev/ReconPi.gitcd ReconPi./install.shPrepárate un café, ya que esto llevará un tiempo.
Después de instalar todas las dependencias de ReconPi, ¡por fin puedes empezar a hacer reconocimiento!
$ recon <domain.tld>
recon.sh primero recopilará resolvers para el objetivo dado, seguido de la enumeración de subdominios y la comprobación de esos activos para posibles tomas de control de subdominios. Cuando esto termine, se enumerarán las direcciones IP del objetivo. Se descubrirán puertos abiertos acompañados de un escaneo de servicios proporcionado por Nmap.
¡Nuclei y sus plantillas se han implementado en la rutina!
Finalmente, se tomarán capturas de pantalla de los objetivos activos y se evaluarán para descubrir endpoints.
Los resultados se almacenarán en la Recon Pi y se podrán ver ejecutando python -m SimpleHTTPServer 1337" en tu directorio de resultados. Tus resultados serán accesibles desde cualquier sistema con un navegador que esté en la misma red.
Asegúrate de añadir tu token de SLACK al archivo tokens.txt si quieres recibir notificaciones de Slack al finalizar el proceso de reconocimiento.
github_subdomains_token=""
SLACK_WEBHOOK_URL="https://hooks.slack.com/services/xxx/xxx/xxx"
findomain_spyse_token=""
findomain_virustotal_token=""
findomain_securitytrails_token=""
CHAOS_KEY=""
hackerhandle="reconpi"
Ingresa tus claves API en estos archivos para obtener mejores resultados
Subfinder Config file path : $HOME/ReconPi/configs/config.yaml
Amass Config file path : $HOME/ReconPi/configs/config.ini
Hemos añadido un $hackerhandle que se utiliza en los escaneos de nuclei. Se añadirá una cabecera adicional x-bug-bounty: reconpi, por favor actualízala con tu propio handle :)
La carpeta de scripts contiene un script llamado daily que se puede usar como cronjob para ejecutar la enumeración de subdominios automáticamente.
La metodología consiste en tomar los subdominios ya enumerados como entrada y usar amass sobre ellos, luego rastrear sus últimos 2 resultados, y alertar sobre nuevos subdominios en Slack.
Herramientas que se instalarán:
Enumeración de subdominios:
Sublert
Subfinder
assetfinder
amass
findomain (Añade token de fuentes de findomain para obtener mejores resultados)
chaos dataset
github-subdomains
dns.bufferover.run
Mutar los subdominios anteriores usando la lista de subdominios de commonspeak
Combinar y ordenar el resultado anterior -> Usar shuffledns para resolver -> dnsgen (para mutar) -> httprobe (para obtener hosts activos)
Comprobar toma de control usando subjack y nuclei
Obtener CNAME para comprobar manualmente las tomas de control
Usar dnsprobe para recopilar IP, ignorar si caen en el rango de IP de Cloudflare
Hacer masscan y luego escaneo nmap sobre ellas, también usar el script http-title y vulners.
Tomar captura de pantalla para reconocimiento visual
Usar gau para obtener urls de archivo, obtener lista de parámetros, urls js, urls php, urls aspx y urls jsp en sus propios archivos.
Obtener endpoints usando Linkfinder
Ejecutar scripts de Nuclei en hosts activos
Notificar en el canal de Slack si se especifica el token.
Fuerza bruta de directorios (No habilitado, ya que lleva mucho tiempo, es mejor hacerlo manualmente)
Se añadirán más herramientas en el futuro, ¡siéntete libre de hacer un pull request!