
Автоматизирует разведку, сопоставляя IPv4/IPv6-адреса с организациями с помощью баз данных GeoLite2, с интегрированным сканированием портов nmap и пакетной обработкой через входные файлы.
Asnap предназначен для упрощения этапа разведки, предоставляя регулярно обновляемые данные о том, каким компаниям принадлежат какие 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-подобные дистрибутивы:
sudo apt install nmap
* MacOS
brew install nmap
* Arch-подобные дистрибутивы
sudo pacman -S nmap
Скачайте исходный код:
git clone [email protected]:yukselberkay/asnap.git
Установите golang здесь -> https://golang.org/doc/install или вы можете установить go, если он доступен в вашем пакетном менеджере:
sudo apt install golang
После скачивания исходного кода перейдите в директорию проекта и выполните:
go build
Это создаст бинарный файл asnap. После сборки создайте asnap_conf.txt в той же директории, что и asnap, вставьте ключ в первую строку, и всё готово.
echo 'insert key' > asnap_conf.txt
Usage and Examples
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-задач (см. -> https://en.wikipedia.org/wiki/Cron). Например, после того как вы предоставили входной файл с аргументом -infile, всё, что вам нужно сделать, это проверять выходной файл и регулярно изменять входной файл по своему усмотрению. По умолчанию выходной файл называется: "MM-DD-YYYY_out.txt".
Если у вас есть вопрос или функция, которую вы хотите, чтобы я добавил, не стесняйтесь связаться со мной. твиттер -> https://twitter.com/paradoxxer linkedin -> https://www.linkedin.com/in/mehmet-berkay-y%C3%BCksel-ab78aa153/ Веб-сайт -> https://yukselberkay.me