
يؤتمت الاستطلاع عن طريق ربط عناوين IPv4/IPv6 بالمنظمات باستخدام قواعد بيانات GeoLite2، مع دمج فحص المنافذ باستخدام nmap ومعالجة الدُفعات عبر ملفات الإدخال.
يهدف Asnap إلى تسهيل مرحلة الاستطلاع (recon) من خلال توفير بيانات محدثة بانتظام حول الشركات التي تمتلك عناوين IPv4 أو IPv6، ويتيح للمستخدم أتمتة المسح الأولي للمنافذ والخدمات.
█████╗ ███████╗███╗ ██╗ █████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║██╔══██╗██╔══██╗
███████║███████╗██╔██╗ ██║███████║██████╔╝
██╔══██║╚════██║██║╚██╗██║██╔══██║██╔═══╝
██║ ██║███████║██║ ╚████║██║ ██║██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝
Author : Mehmet Berkay Yuksel | twitter -> @paradoxxer
إذا كان لديك Go مثبتاً ومهيأً في متغير البيئة $PATH، قم ببساطة بتشغيل:
go get -u github.com/yukselberkay/asnap
إذا كنت ترغب في استخدام الباينري المترجم مسبقاً، فستحتاج أيضاً إلى تنزيل ملفي "move.sh" و "nmap.sh" ووضعهم في نفس المسار الذي يحتوي على asnap.
لتنزيل قاعدة البيانات التي يبحث فيها asnap، يجب توفير مفتاح. للحصول على مفتاحك المجاني، سجل هنا -> https://www.maxmind.com/en/geolite2/signup بعد التسجيل انتقل إلى services -> My license key وأنشئ مفتاحاً جديداً. ثم أنشئ ملف "asnap_conf.txt" داخل نفس المسار الذي يحتوي على asnap، والصق مفتاحك في السطر الأول من "asnap_conf.txt":
echo 'insert key' > asnap_conf.txt
لتتمكن من استخدام وظيفة مسح المنافذ، يجب تثبيت nmap على جهازك:
* Debian Based Distros:
sudo apt install nmap
* MacOS
brew install nmap
* Arch Based Distros
sudo pacman -S nmap
قم بتنزيل الكود المصدري:
git clone [email protected]:yukselberkay/asnap.git
قم بتثبيت golang من هنا -> https://golang.org/doc/install أو يمكنك تثبيته إذا كان متاحاً في مدير الحزم لديك:
sudo apt install golang
بعد تنزيل الكود المصدري، انتقل إلى مجلد المشروع وشغّل:
go build
سينتج هذا الباينري asnap. بعد بنائه، أنشئ ملف asnap_conf.txt داخل نفس المسار الذي يحتوي على asnap، وأدخل مفتاحك في السطر الأول وستكون على ما يرام.
echo 'insert key' > asnap_conf.txt
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.
بينما يمكنك استخدام asnap يدوياً، يمكنك أتمتة العملية برمتها باستخدام cron jobs (انظر -> https://en.wikipedia.org/wiki/Cron). على سبيل المثال بعد توفير ملف إدخال باستخدام الوسيطة -infile، كل ما عليك فعله هو فحص ملف الإخراج وتعديل ملف الإدخال بانتظام حسب احتياجاتك. بشكل افتراضي، يُسمى ملف الإخراج: "MM-DD-YYYY_out.txt".
إذا كان لديك سؤال أو ميزة تريد إضافتها، فلا تتردد في الاتصال بي. twitter -> https://twitter.com/paradoxxer linkedin -> https://www.linkedin.com/in/mehmet-berkay-y%C3%BCksel-ab78aa153/ Web Site -> https://yukselberkay.me