
Automatizza la ricognizione mappando indirizzi IPv4/IPv6 a organizzazioni utilizzando database GeoLite2, con scansione delle porte nmap integrata ed elaborazione batch tramite file di input.
Asnap mira a rendere più semplice la fase di ricognizione fornendo dati regolarmente aggiornati su quali aziende possiedono quali indirizzi ipv4 o ipv6 e permette all'utente di automatizzare la scansione iniziale delle porte e dei servizi.
█████╗ ███████╗███╗ ██╗ █████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║██╔══██╗██╔══██╗
███████║███████╗██╔██╗ ██║███████║██████╔╝
██╔══██║╚════██║██║╚██╗██║██╔══██║██╔═══╝
██║ ██║███████║██║ ╚████║██║ ██║██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝
Author : Mehmet Berkay Yuksel | twitter -> @paradoxxer
Se hai Go installato e configurato nella variabile d'ambiente $PATH, esegui semplicemente:
go get -u github.com/yukselberkay/asnap
Se vuoi usare il binario precompilato, devi anche scaricare i file "move.sh" e "nmap.sh" e posizionarli nella stessa directory di asnap.
Per scaricare il database da cui asnap effettua le ricerche, devi fornire una chiave. Per ottenere la tua chiave gratuita, registrati qui -> https://www.maxmind.com/en/geolite2/signup dopo la registrazione vai su servizi -> La mia chiave di licenza e crea una nuova chiave. Quindi crea "asnap_conf.txt" nella stessa directory di asnap e incolla la tua chiave nella prima riga di "asnap_conf.txt":
echo 'insert key' > asnap_conf.txt
Per poter utilizzare la funzionalità di scansione delle porte, devi installare nmap sulla tua macchina:
* Distribuzioni basate su Debian:
sudo apt install nmap
* MacOS
brew install nmap
* Distribuzioni basate su Arch
sudo pacman -S nmap
Scarica il codice sorgente:
git clone [email protected]:yukselberkay/asnap.git
Installa golang qui -> https://golang.org/doc/install oppure puoi installare go se è disponibile nel tuo gestore di pacchetti:
sudo apt install golang
Dopo aver scaricato il codice sorgente, naviga nella directory del progetto ed esegui:
go build
Questo produrrà il binario asnap. Una volta compilato, crea asnap_conf.txt nella stessa directory di asnap, inserisci la tua chiave nella prima riga e sei a posto.
echo 'insert key' > asnap_conf.txt
Utilizzo ed Esempi
Usage of ./asnap:
-download Download database for the first usage.
-update Update downloaded database. (Geolite databases updates once a week.).
-search Specify search.
-ipv4 Specify ipv4 database to search.
-ipv6 Specify ipv6 database to search.
-company Search by company name.
-asn Search by as number.
-outfile Specifies a name for the output text. By default, output file is named: MM-DD-YYYY_out.txt
-infile Use specified .txt file as input. Asnap will iterate every line, and treats them as company names and searches specified database with given inputs.
-nmap Passes found ip addresses to nmap.
Examples:
"$asnap -download" -> Downloads database with given key, for the first time.
"$asnap -update" -> Updates database.
"$asnap -search -ipv4 -company="example" " -> Search ipv4 database by company name "example"
"$asnap -search -ipv6 -asn 13337" -> Search ipv6 database by as number "13337"
"$asnap -search -ipv4 -company="github" -outfile /path/to/output/file" -> Search ipv4 database by company name "test" and save output to specified path.
"$asnap -search -ipv4 -infile /path/to/input/file.txt -nmap" -> Give a list of company names as input, search it inside ipv4 database and pass found ip addresses to nmap for port scanning.
Sebbene tu possa usare asnap manualmente, puoi automatizzare l'intero processo con cron job (vedi -> https://en.wikipedia.org/wiki/Cron). Ad esempio, dopo aver fornito un file di input con l'argomento -infile, tutto ciò che devi fare è controllare il file di output e modificare regolarmente il file di input secondo le tue esigenze. Di default il file di output si chiama: "MM-DD-YYYY_out.txt".
Se hai una domanda o una funzionalità che desideri venga aggiunta, non esitare a contattarmi. twitter -> https://twitter.com/paradoxxer linkedin -> https://www.linkedin.com/in/mehmet-berkay-y%C3%BCksel-ab78aa153/ Sito Web -> https://yukselberkay.me