
Automatisiert die Erkundung, indem IPv4/IPv6-Adressen mithilfe von GeoLite2-Datenbanken Organisationen zugeordnet werden, mit integriertem nmap-Portscan und Batch-Verarbeitung über Eingabedateien.
Asnap zielt darauf ab, die Recon-Phase zu erleichtern, indem es regelmäßig aktualisierte Daten darüber bereitstellt, welche Unternehmen welche ipv4- oder ipv6-Adressen besitzen, und dem Benutzer ermöglicht, das anfängliche Port- und Service-Scanning zu automatisieren.
█████╗ ███████╗███╗ ██╗ █████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║██╔══██╗██╔══██╗
███████║███████╗██╔██╗ ██║███████║██████╔╝
██╔══██║╚════██║██║╚██╗██║██╔══██║██╔═══╝
██║ ██║███████║██║ ╚████║██║ ██║██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝
Author : Mehmet Berkay Yuksel | twitter -> @paradoxxer
Wenn Sie Go installiert und in Ihrer $PATH-Umgebungsvariable konfiguriert haben, führen Sie einfach aus:
go get -u github.com/yukselberkay/asnap
Wenn Sie das vorkompilierte Binary verwenden möchten, müssen Sie auch die Dateien "move.sh" und "nmap.sh" herunterladen und im selben Verzeichnis wie asnap ablegen.
Um die Datenbank herunterzuladen, die asnap durchsucht, müssen Sie einen Schlüssel bereitstellen. Um Ihren kostenlosen Schlüssel zu erhalten, registrieren Sie sich hier -> https://www.maxmind.com/en/geolite2/signup. Nach der Registrierung navigieren Sie zu services -> My license key und erstellen Sie einen neuen Schlüssel. Erstellen Sie dann "asnap_conf.txt" im selben Verzeichnis wie asnap und fügen Sie Ihren Schlüssel in die erste Zeile von "asnap_conf.txt" ein:
echo 'insert key' > asnap_conf.txt
Um die Port-Scan-Funktionalität nutzen zu können, müssen Sie nmap auf Ihrem Rechner installieren:
* Debian Based Distros:
sudo apt install nmap
* MacOS
brew install nmap
* Arch Based Distros
sudo pacman -S nmap
Laden Sie den Quellcode herunter:
git clone [email protected]:yukselberkay/asnap.git
Installieren Sie golang hier -> https://golang.org/doc/install oder Sie können go installieren, wenn es in Ihrem Paketmanager verfügbar ist:
sudo apt install golang
Nachdem Sie den Quellcode heruntergeladen haben, navigieren Sie zum Projektverzeichnis und führen Sie aus:
go build
Dies erzeugt das asnap-Binary. Nachdem Sie es gebaut haben, erstellen Sie asnap_conf.txt im selben Verzeichnis wie asnap, fügen Sie Ihren Schlüssel in die erste Zeile ein und schon kann es losgehen.
echo 'insert key' > asnap_conf.txt
Nutzung und Beispiele
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.
Sie können asnap zwar manuell verwenden, aber Sie können diesen gesamten Prozess mit Cron-Jobs automatisieren (siehe -> https://en.wikipedia.org/wiki/Cron). Wenn Sie z. B. eine Eingabedatei mit dem Argument -infile bereitgestellt haben, müssen Sie nur die Ausgabedatei überprüfen und die Eingabedatei regelmäßig nach Ihren Bedürfnissen anpassen. Standardmäßig heißt die Ausgabedatei: "MM-DD-YYYY_out.txt".
Wenn Sie eine Frage oder eine Funktion haben, die ich hinzufügen soll, können Sie mich gerne kontaktieren. Twitter -> https://twitter.com/paradoxxer LinkedIn -> https://www.linkedin.com/in/mehmet-berkay-y%C3%BCksel-ab78aa153/ Webseite -> https://yukselberkay.me