简介
OnesixTyOne是一个简单的SNMP扫描仪,它发送SNMP请求与用户调整的发送时间和然后记录给出软件描述的响应在设备上运行。
在B类网络上运行OnesixTyOne(用1GBS切换100MB 带有-W 10的骨干)每级C的性能为3秒, 没有掉落的数据包,所有65536个IP地址均在少于13分钟。
SNMP协议是一种无状态的,面向数据报协议。 SNMP扫描仪是一个程序,该程序将SNMP请求发送到多个IP地址,尝试不同的社区字符串并等待答复。不幸的是,SNMP服务器没有响应无效的社区字符串的请求,而基本的UDP协议并未可靠地报告关闭的UDP端口。这意味着来自探测的IP地址的“无响应”可能意味着以下任何一个:
- 机器无法到达
- SNMP服务器未运行
- 无效的社区字符串
- 响应数据报尚未到达
大多数SNMP扫描仪采用的方法是发送请求,等待n秒,并假设社区字符串无效。如果每百个扫描的IP地址中只有1个对SNMP请求做出响应,则扫描仪将花费99*n秒,等待永远不会出现的答复。这使得传统的SNMP扫描仪非常低效。
OnesixtyOne采用了不同的方法来扫描SNMP。它利用了SNMP是无连接协议并尽可能快地发送所有SNMP请求的事实。然后,扫描仪等待响应返回并以类似于Nmap Ping扫描的方式记录下来。默认情况下,OnesixTyOne在发送数据包之间等待10毫秒,这足以适合100MBS交换网络。用户可以通过-W命令行选项调整此值。如果设置为0,扫描仪将像内核一样快速发送数据包,这可能会导致数据包下降。
安装
源码安装
通过以下命令进行克拉项目,建议请先提前挂好代理。
git clone https://github.com/trailofbits/onesixtyone.git
进入目录并查看
cd onesixtyone/
ls
使用 make 进行编译
make
输入以下命令,如果出现这个界面就说明安装成功了。
./onesixtyone
APT 包管理器安装
Kali Linux 默认安装好 onesixtyone 工具了,当然也可以通过以下命令进行安装。
sudo apt install onesixtyone
使用
1. 帮助文档
可以看到我们 onesixtyone 当前的版本是 0.3.3
onesixtyone
2. 常规使用
#语法:onesixtyone [options] <host> <community>
onesixtyone 192.168.174.132
主机是 IPv4 地址或 IPv4 地址和网络掩码默认社区名称为:public(公共),private(私有)
最大主机数:65535
最大社区长度:32
最大社区数:16384
3. -c <communityfile>
包含要尝试的社区名称的文件
onesixtyone -c dict.txt 192.168.174.132
4. -i <inputfile>
包含目标主机的文件
onesixtyone -i hosts.txt
5. -o <outputfile>
输出日志
onesixtyone -o output.txt 192.168.174.132
6. -p
指定备用目标 SNMP 端口
onesixtyone -p 161 192.168.174.132
7. -d
调试模式,使用两次以获取更多信息
onesixtyone -d 192.168.174.132
8. -s
短模式,仅打印 IP 地址
onesixtyone -s 192.168.174.132 public
9. -w n
在发送数据包之间等待 n 毫秒(1/1000 秒)(默认 10)
onesixtyone -w 100 192.168.174.132
10. -q
安静模式,不将日志打印到标准输出,与 -l 一起使用
onesixtyone -q 192.168.174.132 private
综合使用
onesixtyone 192.158.174.0/24 public
onesixtyone -c dict.txt -i hosts -o my.log -w 100
总结
onesixtyone 是一款高效的 SNMP 扫描工具,可快速发现开放 SNMP 端口的主机并枚举社区字符串。结合字典爆破,它能助力渗透测试,提高信息收集效率。合理使用该工具,有助于加强安全防御。
在此特别强调,本教程仅在合法授权的情况下进行测试和研究,请勿用于其他用途。未经授权使用此类工具可能会侵犯他人隐私,触犯相关法律,任何因此引发的法律或利益纠纷与本人无关。
欢迎各位大佬,小白来找我交流。