环境介绍
NAT模式:
- kali攻击方
- win7受害者
工具简介
DMitry(Deepmagic Information Gathering Tools 深度信息收集工具)是一个linux下用C语言写的工具。它能够尽可能的获取指定主机目标的信息。基础功能是获取目标的子域名,Email地址,运行时间相关信息,tcp端口,whois信息等等。
用法:dmitry [-winsepfb] [-t 0-9] [-o %host.txt] host
-o 将输出保存到%host.txt或由-o文件指定的文件
-i 对主机的IP地址执行whois查找
-w 对主机的域名执行whois查找
-n 在Netcraft.com上检索主机信息
-s 搜索的子域
-e 搜索可能的电子邮件地址
-p 在主机上执行TCP端口扫描
* -f 在显示输出报告过滤端口的主机上执行TCP端口扫描
* -b 读取从扫描端口接收的横幅
* -t 0-9 设置扫描TCP端口时的TTL(默认值2)
* 以上3个选项需要传递-p选项
数据包
1:(-p参数)端口扫描
dmitry -p 192.168.239.130
注意到,此数据包与入侵检测——nc(扫描篇)介绍到的nc的TCP扫描数据包极为相似,只是options
字段略有不同。同时,在扫描方式上,建立完整的三次握手之后,就发送Fin+Ack开始断开连接(同nc)
得出规则:
alert tcp any any -> any any (msg:"dmitry -p参数端口扫描"; flags:S; window:64240; tcp.option:"|02 04 05 b4 04 02 08 0a 40 ce|"; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:10; rev:1;)
特别注意:在这一个数据包的多条对话中,会发现tcp.option是存在部分变化的!
由于snort不识别tcp.option
关键字,移除之后,snort可以正常告警
2:(-i参数)whois查询ip
dmitry -i 39.156.69.79
规则很简单,直接根据数据流的内容,选一段进行匹配即可
alert tcp any any -> any any (msg:"dmitry -i参数扫描"; flow:to_client; content:"The objects are in RPSL format"; metadata:service check-ports; sid:11; rev:1;)
3:(-w参数)whois查询域名
追踪流仅一条,对响应的内容选取一段进行匹配即可
得出规则:
alert tcp any any -> any any (msg:"dmitry -w参数扫描"; flow:to_client; content:"please visit https|3a 2f 2f|icann.org"; metadata:service check-ports; sid:12; rev:1;)
规则汇总
alert tcp any any -> any any (msg:"dmitry -p参数端口扫描"; flags:S; window:64240; tcp.option:"|02 04 05 b4 04 02 08 0a 40 ce 1d bc 00 00 00 00 01 03 03 07|"; dsize:0; detection_filter:track by_src,count 100,seconds 5; metadata:service check-ports; sid:10; rev:1;)
alert tcp any any -> any any (msg:"dmitry -i参数扫描"; flow:to_client; content:"The objects are in RPSL format"; metadata:service check-ports; sid:11; rev:1;)
alert tcp any any -> any any (msg:"dmitry -w参数扫描"; flow:to_client; content:"please visit https|3a 2f 2f|icann.org"; metadata:service check-ports; sid:12; rev:1;)