Asnap 旨在通过提供定期更新的数据(哪些公司拥有哪些 IPv4 或 IPv6 地址)来简化侦查阶段,并允许用户自动化初始端口和服务扫描。
█████╗ ███████╗███╗ ██╗ █████╗ ██████╗
██╔══██╗██╔════╝████╗ ██║██╔══██╗██╔══██╗
███████║███████╗██╔██╗ ██║███████║██████╔╝
██╔══██║╚════██║██║╚██╗██║██╔══██║██╔═══╝
██║ ██║███████║██║ ╚████║██║ ██║██║
╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝╚═╝ ╚═╝╚═╝
作者: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 所在目录下创建 "asnap_conf.txt",并将密钥粘贴到 "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
在此处安装 Go -> https://golang.org/doc/install 或者如果你的包管理器可用,也可直接安装:
sudo apt install golang
下载源代码后,进入项目目录并运行:
go build
这将生成 asnap 二进制文件。编译完成后,在与 asnap 相同的目录下创建 asnap_conf.txt,将密钥插入第一行,即可使用。
echo 'insert key' > asnap_conf.txt
./asnap 的使用方法:
-download 首次使用时下载数据库。
-update 更新已下载的数据库。(Geolite 数据库每周更新一次)。
-search 指定搜索。
-ipv4 指定要搜索的 IPv4 数据库。
-ipv6 指定要搜索的 IPv6 数据库。
-company 按公司名称搜索。
-asn 按 AS 号搜索。
-outfile 指定输出文本的文件名。默认输出文件命名为:MM-DD-YYYY_out.txt
-infile 使用指定的 .txt 文件作为输入。Asnap 将逐行迭代,并将其视为公司名称,然后在指定的数据库中搜索。
-nmap 将找到的 IP 地址传递给 nmap。
示例:
"$asnap -download" -> 使用给定的密钥首次下载数据库。
"$asnap -update" -> 更新数据库。
"$asnap -search -ipv4 -company="example"" -> 按公司名称 "example" 搜索 IPv4 数据库。
"$asnap -search -ipv6 -asn 13337" -> 按 AS 号 "13337" 搜索 IPv6 数据库。
"$asnap -search -ipv4 -company="github" -outfile /path/to/output/file" -> 按公司名称 "github" 搜索 IPv4 数据库,并将输出保存到指定路径。
"$asnap -search -ipv4 -infile /path/to/input/file.txt -nmap" -> 提供公司名称列表作为输入,在 IPv4 数据库中搜索,并将找到的 IP 地址传递给 nmap 进行端口扫描。
虽然你可以手动使用 asnap,但也可以通过 cron 任务(参见 -> 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/ 网站 -> https://yukselberkay.me