本教程使用Windows感染流量示例,这些流量来自通过大规模分发方法,如恶意垃圾邮件(malspam)或Web流量分发的商品恶意软件。 在恶意软件(通常是Windows可执行文件)感染Windows主机之前,这些感染可以遵循许多不同的路径。
指标包括从网络流量中获取的与感染相关的信息。 这些指标通常称为危害指标(IOC)。 安全专业人员经常记录与Windows感染流量相关的指示器,例如URL,域名,IP地址,协议和端口。 正确使用Wireshark显示过滤器可以帮助人们快速找到这些指标。
经常使用到的
Equals: == or eq
And: && or and
Or: || (double pipe) or or
ip.addr eq 192.168.10.195 and ip.addr == 192.168.10.1
http.request && ip.addr == 192.168.10.195
http.request || http.response
dns.qry.name contains microsoft or dns.qry.name contains windows
指定排除值时,请勿在过滤器表达式中使用!=。例如,如果要指定不包含IP地址192.168.10.1的所有流量,请使用!(ip.addr eq 192.168.10.1)
而不是ip.addr!= 192.168.10.1
。
快速查看pcap中的网络流量:
http.request or ssl.handshake.type == 1
值http.request显示HTTP请求的URL,而ssl.handshake.type == 1显示HTTPS或SSL / TLS通信中使用的域名。
但是,我也使用Windows 7主机生成pcaps流量,并且该流量包括在正常活动期间通过UDP端口1900发出的HTTP请求。 UDP端口1900上的HTTP通信是简单服务发现协议(SSDP)。 SSDP是用于发现即插即用设备的协议,它与正常的网络流量无关。 因此,我使用以下表达式将其过滤掉:
http.request or ssl.handshake.type == 1 and !(udp.port eq 1900)
http.request or ssl.handshake.type == 1 and !(ssdp)
从Windows 7主机上的感染中检查pcap时,过滤出SSDP活动可提供非常清晰的流量视图。 图6显示了从2018年12月3日开始在Windows 7主机上具有IcedID感染流量的Emotet活动。 它针对包含SSDP请求的Web流量进行过滤。 图7显示了对除SSDP请求之外的Web流量进行过滤的相同pcap,它提供了更清晰的活动图。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20
添加!ssdp后更加清晰
在图7中,我们看到了一些感染流量的指标,但并非所有感染指标都可以显示出来。 在某些情况下,受感染的主机可能会尝试与已脱机或拒绝TCP连接的服务器连接。 通过添加tcp.flags eq 0x0002在过滤器中包含TCP SYN段,可以揭示这些尝试的连接。 对相同的流量尝试以下过滤器:
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
其中黑色部分三次握手没有回应
在搜索中包括TCP SYN段,这表明受感染的主机还试图通过TCP端口8443与IP地址217.164.2 .133连接。
在某些情况下,感染后流量将不是基于Web的,并且被感染的主机将与命令和控制(C2)服务器联系。 这些服务器可以直接托管在IP地址上,也可以托管在使用域名的服务器上。 某些感染后活动(例如,由Nanocore远程访问工具(RAT)引起的C2通信)不是HTTP或HTTPS / SSL / TLS通信。
因此,在查看pcap来查看流量中是否有任何这些域处于活动状态时,我经常添加DNS活动。 这将导致以下过滤器表达式:
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)
我使用上面的过滤器表达式查看了pcap,该pcap显示了从www.mercedes-club-bg [.]com下载的Nanocore RAT可执行文件,以感染易受攻击的Windows主机。 初始下载后,尝试通过TCP连接到185.163.45 [.]48上的franex.sytes [.]net和95.213.251 [.]165上的franexserve.duckdns [.]org。 图10显示了DNS查询和TCP流量之间的相关性。
某些感染流量使用的通用协议很容易被Wireshark解码。 图11显示了由该恶意软件可执行文件产生的感染后流量,该可执行文件生成FTP流量。 使用标准的网络流量搜索(该功能还会检查DNS流量和TCP SYN标志),在对ftp.totallyanonymous [.] com进行DNS查询之后,我们可以找到TCP端口21和其他TCP端口上的流量。
向下滚动至以后的FTP通信,如图13所示,您将发现大约每分钟发送到FTP服务器的名为6R7MELYD6的文件。 进一步调查将发现6R7MELYD6包含从受感染Windows主机窃取的密码数据。
除了FTP,恶意软件还可以使用其他通用协议来处理恶意流量。 Spambot恶意软件可以将受感染的主机转变为旨在每分钟发送数十至数百封电子邮件的spambot。 它的特征是对各种邮件服务器的几个DNS请求,然后是TCP端口25、465、587或与电子邮件流量关联的其他TCP端口上的SMTP流量。
(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns)and!(udp.port eq 1900)
在查看spambot流量时,您会发现对邮件服务器的DNS查询和对与SMTP相关的端口的TCP通信。
如果将smtp用作过滤器表达式,则会发现几个结果。如果您发现STARTTLS,则可能是经过加密的SMTP通信,并且您将无法看到电子邮件数据。
smtp contains "From: "
smtp contains "Message-ID: "
smtp contains "Subject: "
tcp流
basic (http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)
basic+ (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)
basic+DNS (http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)