freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Asnap:一款功能强大的网络侦察工具
2020-10-18 22:57:58


Asnap

Asnap是一款功能强大的网络侦察工具,该工具定期扫描目标组织内的IPv4或IPv6地址,并定期更新目标组织的网络结构数据,帮助广大研究人员执行自动化的初始端口和服务扫描,并在渗透测试的网络侦察阶段提供更加丰富的数据。

工具安装

预编译代码

如果你已经在你的设备上安装好了Go环境,并配置好了$PATH环境变量,那你就可以直接运行下列命令了:

go get -u github.com/paradoxxer/asnap

如果你想要使用预编译代码,你还需要下载“move.sh”和“nmap.sh”文件,并将它们存放到asnap所在的相同目录下。

下载Asnap用于搜索数据的数据库,你需要提供一个密钥。如需获取免费密钥,可以点击【这里】进行注册,然后生成你自己的许可证密钥即可。接下来,在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 git@github.com:paradoxxer/asnap.git

接下来,点击【这里】安装Golang,或直接在你的包管理工具中安装Go:

sudo apt install golang

下载好项目的源代码之后,在命令行窗口中切换到项目所在目录路径,然后运行下列命令:

go build

上述命令运行完成后,将会生成Asnap的源代码。构建代码之后,在Asnap相同目录下创建一个名为“asnap_conf.txt”的文件,将之前申请的密钥添加到该文件的第一行即可:

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任务来实现Asnap的自动化执行。比如说,你可以使用-infile参数来提供一个输入文件,剩下要做的就是检查输出文件,并且根据需要来定期修改输入文件即可。默认配置下,Asnap的输出文件命名规则为"MM-DD-YYYY_out.txt"。

工具演示视频

视频地址:【点我观看

项目地址

Asnap:【GitHub传送门

# 渗透测试工具 # 网络侦察
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者