
Automatise la reconnaissance en mappant les adresses IPv4/IPv6 vers des organisations à l'aide des bases de données GeoLite2, avec scan de ports nmap intégré et traitement par lots via des fichiers d'entrée.
Asnap vise à faciliter la phase de reconnaissance en fournissant des données régulièrement mises à jour sur les adresses IPv4 ou IPv6 détenues par chaque entreprise et en permettant à l'utilisateur d'automatiser le scan initial des ports et des services.
█████╗ ███████╗███╗ ██╗ █████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║██╔══██╗██╔══██╗
███████║███████╗██╔██╗ ██║███████║██████╔╝
██╔══██║╚════██║██║╚██╗██║██╔══██║██╔═══╝
██║ ██║███████║██║ ╚████║██║ ██║██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝
Author : Mehmet Berkay Yuksel | twitter -> @paradoxxer
Si vous avez Go installé et configuré dans votre variable d'environnement $PATH, exécutez simplement :
go get -u github.com/yukselberkay/asnap
Si vous souhaitez utiliser le binaire précompilé, vous devez également télécharger les fichiers "move.sh" et "nmap.sh" et les placer dans le même répertoire qu'asnap.
Pour télécharger la base de données dans laquelle asnap recherche, vous devez fournir une clé. Pour obtenir votre clé gratuite, inscrivez-vous ici -> https://www.maxmind.com/en/geolite2/signup après inscription, naviguez vers services -> My license key et créez une nouvelle clé. Ensuite, créez le fichier "asnap_conf.txt" dans le même répertoire qu'asnap, et collez votre clé sur la première ligne de "asnap_conf.txt" :
echo 'insert key' > asnap_conf.txt
Pour pouvoir utiliser la fonctionnalité de scan de ports, vous devez installer nmap sur votre machine :
* Distributions basées sur Debian :
sudo apt install nmap
* MacOS
brew install nmap
* Distributions basées sur Arch
sudo pacman -S nmap
Téléchargez le code source :
git clone [email protected]:yukselberkay/asnap.git
Installez golang ici -> https://golang.org/doc/install ou vous pouvez installer go s'il est disponible dans votre gestionnaire de paquets :
sudo apt install golang
Après avoir téléchargé le code source, naviguez dans le répertoire du projet et exécutez :
go build
Cela produira le binaire asnap. Après l'avoir compilé, créez asnap_conf.txt dans le même répertoire qu'asnap, insérez votre clé sur la première ligne et vous êtes prêt.
echo 'insert key' > asnap_conf.txt
Utilisation et exemples
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.
Exemples :
"$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.
Bien que vous puissiez utiliser asnap manuellement, vous pouvez automatiser tout ce processus avec des tâches cron (voir -> https://en.wikipedia.org/wiki/Cron). Par exemple, après avoir fourni un fichier d'entrée avec l'argument -infile, tout ce que vous avez à faire est de vérifier le fichier de sortie et de modifier régulièrement le fichier d'entrée selon vos besoins. Par défaut, le fichier de sortie est nommé : "MM-DD-YYYY_out.txt".
Si vous avez une question ou une fonctionnalité que vous souhaitez que j'ajoute, n'hésitez pas à me contacter. twitter -> https://twitter.com/paradoxxer linkedin -> https://www.linkedin.com/in/mehmet-berkay-y%C3%BCksel-ab78aa153/ Site Web -> https://yukselberkay.me