扫描结果差异化分析
对于所有客户机,我们要做的第一件事就是设置不同的监视脚本。这些通常只是一些能快速完成的 bash 脚本,它们每天通过电子邮件向我们发送客户机网络的差异。当然,在扫描之前,确保你有适当合法的授权来执行扫描。
对于一般不太大的客户机网络,我们设置简单的 cronjob 来执行外部端口差异化分析。例如,我们可以创建一个快速的 Linux bash 脚本来完成这项艰巨的工作(请记住替换下面脚本中的 IP 范围):
- #!/bin/bash
- mkdir /opt/nmap_diff
- d=$(date +%Y-%m-%d)
- y=$(date -d yesterday +%Y-%m-%d)
- /usr/bin/nmap -T4 -oX /opt/nmap_diff/scan_$d.xml 10.100.100.0/24 ><br>
/dev/null 2>&1
- if [ -e /opt/nmap_diff/scan_$y.xml ]; then
- /usr/bin/ndiff /opt/nmap_diff/scan_$y.xml /opt/nmap_diff/scan_$d.xml ><br>
/opt/nmap_diff/diff.txt
- fi
译者注:上面这段脚本中使用了正则表达式。所以本小节的英文名字叫 Regular Nmap Diffing。
这是一个非常简单的脚本,它每天用默认的端口运行 nmap,然后使用 ndiff 比较结果。然后,我们可以获取这个脚本的输出结果,并让它把每天发现的新端口及时通知我们的团队。
在上一本书中,我们着重讨论了 Masscan 的好处,以及它比 nmap 的速度快多少。Masscan 的开发者说,如果你的网络带宽足够大,你可以在6分钟内扫描完毕整个互联网。所以说,当扫描大的范围时,Masscan 是很可靠的。Masscan 对我们最初的侦察很有用,但通常不用于比较差异。
实验:
本书中的实验是选修的。在某些部分中,我添加了一些实验方便你进行测试或者扩展更多的领域。这都是基于读者的个人兴趣的,如果对某方面感兴趣,我强烈推荐你花时间改进我们的工具,并与社区共享它。
建立一个更好的网络 diff 扫描器:
- 构建一个比默认的 nmap 更好的端口列表(例如,nmap 默认的漏掉一些端口,比如 Redis 6379/6380 和其他端口)
- 实现 nmap banner
- 保持对端口的历史跟踪
- 建立电子邮件提醒/通知系统
- 参考 diff Slack 警报
当前内容版权归 Snowming(雪茗)译 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 Snowming(雪茗)译 .