
ReconPi - Uno strumento di ricognizione leggero che esegue scansioni estensive con gli strumenti più recenti.
__________ __________.__
\______ \ ____ ____ ____ ____\______ \__|
| _// __ \_/ ___\/ _ \ / \| ___/ |
| | \ ___/\ \__( <_> ) | \ | | |
|____|_ /\___ >\___ >____/|___| /____| |__|
\/ \/ \/ \/
v2.2 - @x1m_martijn
ReconPi - Uno strumento di ricognizione leggero che esegue ricognizioni approfondite con gli ultimi strumenti utilizzando un Raspberry Pi.
Inizia a usare quel Raspberry Pi -- so che tutti ne avete uno in giro da qualche parte ;)
Dalla versione 2.1 ReconPi è utilizzabile sul tuo VPS, grazie a Sachin Grover per aver lavorato molto.
L'ultima immagine di HypriotOS funziona perfettamente per i Raspberry Pi!
Connettiti al tuo ReconPi o VPS con SSH:
ssh [email protected] [Edit IP address if needed]
Usa curl per lo script install.sh ed eseguilo:
curl -L https://raw.githubusercontent.com/x1mdev/ReconPi/master/install.sh | bash
Connettiti al tuo sistema con SSH:
$ ssh [email protected] [Edit IP address if needed]
Ora possiamo impostare tutto, è piuttosto semplice:
git clone https://github.com/x1mdev/ReconPi.gitcd ReconPi./install.shPrendi una tazza di caffè perché ci vorrà del tempo.
Dopo aver installato tutte le dipendenze per ReconPi, puoi finalmente iniziare a fare ricognizione!
$ recon <domain.tld>
recon.sh raccoglierà prima i resolver per il target specificato, seguito dall'enumerazione dei sottodomini e dal controllo di tali asset per potenziali takeover di sottodomini. Fatto questo, vengono enumerati gli indirizzi IP del target. Le porte aperte verranno scoperte accompagnate da una scansione dei servizi fornita da Nmap.
Nuclei e i suoi template sono stati implementati nella routine!
Infine, i target attivi verranno catturati in screenshot e valutati per scoprire endpoint.
I risultati verranno memorizzati sul Recon Pi e possono essere visualizzati eseguendo python -m SimpleHTTPServer 1337 nella directory dei risultati. I risultati saranno accessibili da qualsiasi sistema con un browser che si trova nella stessa rete.
Assicurati di aggiungere il tuo token SLACK al file tokens.txt se vuoi ricevere una notifica su Slack al termine del processo di ricognizione.
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"
Inserisci le tue chiavi API in questi file per ottenere risultati migliori
Subfinder Config file path : $HOME/ReconPi/configs/config.yaml
Amass Config file path : $HOME/ReconPi/configs/config.ini
Abbiamo aggiunto un $hackerhandle che viene utilizzato nelle scansioni nuclei. Verrà aggiunta un'intestazione aggiuntiva x-bug-bounty: reconpi, per favore aggiorna con il tuo handle :)
La cartella Script contiene uno script chiamato daily che può essere usato come cronjob per eseguire automaticamente l'enumerazione dei sottodomini.
La metodologia è prendere i sottodomini già enumerati come input e usare amass su di essi, poi tenere traccia degli ultimi 2 risultati e segnalare i nuovi sottodomini su Slack.
Strumenti che verranno installati:
Enumerazione dei sottodomini:
Sublert
Subfinder
assetfinder
amass
findomain (Add findomain sources token to get better result)
chaos dataset
github-subdomains
dns.bufferover.run
Mutate above Subdomains using commonspeak subdomain list
Combina e ordina i risultati sopra -> Usa shuffledns per risolvere -> dnsgen (per mutare) -> httprobe (per ottenere host attivi)
Controlla il takeover usando subjack e nuclei
Ottieni CNAME per controllare manualmente i takeover
Usa dnsprobe per raccogliere IP, ignora se rientrano nel range IP di Cloudflare
Esegui masscan e poi nmap su di essi, usa anche lo script http-title e vulners.
Fai screenshot per ricognizione visiva
Usa gau per ottenere URL di archivio, ottieni paramlist, jsurls, phpurls, aspxurls e jspurls in file separati.
Ottieni endpoint usando Linkfinder
Esegui script Nuclei sugli host attivi
Notifica sul canale Slack se il token è specificato.
Directory brute-forcing (Non abilitato, poiché richiede molto tempo, è meglio farlo manualmente)
Altri strumenti verranno aggiunti in futuro, sentiti libero di fare una pull request!