网络嗅探(Network Sniffing)

攻击者(Adversaries)可能通过嗅探网络流量去捕获环境的信息,网络嗅探是指使用系统上的网络接口来监视或捕获通过有线或无线网络发送的信息。

攻击者可以把网络接口切换为混杂模式(promiscuous mode),通过被动访问方式获取网络传输的数据,或者跨端口捕获数据。

通过这种技术捕获的数据可能会获取到用户登录凭据,特别是通过不安全、未加密的协议发送的用户凭据。比如名称服务解析中毒技术(LLMNR/NBT-NS中毒和SMB中继)也会用于将流量重定向到攻击者,此时内部系统数据将会被获取。

通过网络嗅探,有可能查看到目标的详细信息,比如运行的服务,系统版本号。收集到在未来横向移动中所需要的其他信息,包括IP地址,主机名,Vlan ID等,甚至还可以在Adversary-in-the-Middle 期间,通过网络嗅探获取有关环境的更多信息。

通过无线局域网进行入侵并进行网络嗅探也是一个不错的思路。

网络嗅探不仅仅可以在本地实现,甚至在云上一样可以进行。

例如,AWS的流量镜像服务,GCP的数据包镜像服务,Azure 的vTap 都允许用户定义指定的实例去手机流量并且发送到指定的地址。

TLS Termination 大家应该都或多或少都听说过,它的主要作用是作为一个前置代理,接受外部到达的加密TLS流量,然后将这些流量解析未HTTP明文并转发到内部的对应服务器。

我在外部解不了TLS流量,那就不解了,攻击者可以使用渗透技术(Exfiltration Techniques)去将数据传输到有权限的云账户,此时所有信息都被一览无遗。

举个例子

tcpdump -c 5 -nnni #{网卡接口}

tshark -c 5 -i #{网卡接口}

有关tcpdump的最全使用说明

检测日志

linux /var/log/message

注意,请提前检查你的测试系统有无打开日志功能

场景复现

场景一

root@icbc:~# tcpdump -c 5 -nnni ens33 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes 10:37:34.347544 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137 10:37:37.355725 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137 10:37:40.356238 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137 10:37:43.356969 IP 192.168.66.1.60886 > 239.255.255.250.1900: UDP, length 137 10:37:49.808569 IP 192.168.66.148.59150 > 192.168.66.2.53: 15476+ [1au] A? connectivity-check.ubuntu.com. (58) 5 packets captured 5 packets received by filter 0 packets dropped by kernel

场景二

root@icbc:~# tshark -c 5 -i ens33 Running as user “root” and group “root”. This could be dangerous. Capturing on ‘ens33’ 1 0.000000000 192.168.66.148 → 192.168.66.2 DNS 100 Standard query 0xe349 A connectivity-check.ubuntu.com OPT 2 0.038532840 Vmware_e8:11:b3 → Broadcast ARP 60 Who has 192.168.66.148? Tell 192.168.66.2 3 0.038552195 Vmware_02:d5:c7 → Vmware_e8:11:b3 ARP 42 192.168.66.148 is at 00:0c:29:02:d5:c7 4 0.038758293 192.168.66.2 → 192.168.66.148 DNS 132 Standard query response 0xe349 A connectivity-check.ubuntu.com A 35.224.99.156 A 35.222.85.5 OPT 5 0.039670671 192.168.66.148 → 35.222.85.5 TCP 74 57812 → 80 [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1 TSval=136575048 TSecr=0 WS=128 5 packets captured

测试留痕

0x1

message日志

Jul 19 10:37:33 icbc kernel: [ 298.396406] device ens33 entered promiscuous mode

0x2

message日志

Jul 19 10:47:42 icbc systemd[1]: Started Cleanup of Temporary Directories. Jul 19 10:47:50 icbc kernel: [ 915.199848] device ens33 left promiscuous mode Jul 19 10:47:50 icbc start.sh[734]: 2019-07-19 10:47:50,165: DEBUG helpers.application.health RAM: 65MB

检测规则/思路

Qradar:

检查Event Payload 的内容是否包括[ entered promiscuous mode ]

Splunk:

index=linux sourcetype=syslog entered promiscuous mode | table host,message

index=linux sourcetype=syslog left promiscuous mode | table host,message

Leave a Reply