某实训系统-恶意流量分析过程
[TOC]
知识点学习
以太网数据包(Packet)的大小是固定的,最初是1518字节,后来增加到1522字节。
其中, 1500 字节是负载(Payload),22字节是头信息(Head)。
IP 数据包在以太网数据包的负载里面,它也有自己的头信息,最少需要20字节,所以 IP 数据包的负载最多为1480字节。
TCP 数据包在 IP 数据包的负载里面。
它的头信息最少也需要20字节,因此 TCP 数据包的最大负载是 1480 - 20 = 1460 字节。
由于 IP 和 TCP 协议往往有额外的头信息,所以 TCP 负载实际为1400字节左右。
因此,一条1500字节的信息需要两个 TCP 数据包。
HTTP/2 协议的一大改进, 就是压缩 HTTP 协议的头信息,使得一个 HTTP 请求可以放在一个 TCP 数据包里面,而不是分成多个,这样就提高了速度。
1400字节,那么一次性发送大量数据,就必须分成多个包。
比如,一个 10MB 的文件,需要发送7100多个包。发送的时候,TCP 协议为每个包编号,以便接收的一方按照顺序还原。万一发生丢包,也可以知道丢失的是哪一个包。
第一个包的编号是一个随机数。为了便于理解,这里就把它称为1号包。假定这个包的负载长度是100字节,那么可以推算出下一个包的编号应该是101。这就是说,每个数据包都可以得到两个编号:自身的编号,以及下一个包的编号。接收方由此知道,应该按照什么顺序将它们还原成原始文件。
收到 TCP 数据包以后,组装还原是操作系统完成的。应用程序不会直接处理 TCP 数据包。对于应用程序来说,不用关心数据通信的细节。除非线路异常,收到的总是完整的数据。应用程序需要的数据放在 TCP 数据包里面,有自己的格式(比如 HTTP 协议)。
TCP 并没有提供任何机制,表示原始文件的大小,这由应用层的协议来规定。比如,HTTP 协议就有一个头信息Content-Length,表示信息体的大小。对于操作系统来说,就是持续地接收 TCP 数据包,将它们按照顺序组装好,一个包都不少。
操作系统不会去处理 TCP 数据包里面的数据。一旦组装好 TCP 数据包,就把它们转交给应用程序。TCP 数据包里面有一个端口(port)参数,就是用来指定转交给监听该端口的应用程序。
应用程序收到组装好的原始数据,以浏览器为例,就会根据 HTTP 协议的Content-Length字段正确读出一段段的数据。这也意味着,一次 TCP 通信可以包括多个 HTTP 通信。
目标
- 找出攻击者扫描所使用的ip地址。
- 攻击者对哪个ip进行了利用?
- 系统中间件是什么?
- 找出pcap包的中间件base_domain的绝对路径。
- 攻击者下载了哪两个文件?
- 攻击者上传的文件名。
过程
找出攻击者扫描所使用的ip地址。
进行日志分析
打开日志文件access_log,可以看到大量的GET请求
这些GET请求用来扫描网站的目录数据,从log日志中可以看到,这些GET请求的来源是219.239.105.18
所以攻击者扫描所使用的ip地址是219.239.105.18
攻击者对哪个ip进行了利用?
用wireshark打开hack.pcap流量包,根据上一步查找access.log发现的攻击者IP,在过滤器中使用语句ip.addr==219.239.105.18,过滤出攻击者发送的数据包
可以发现攻击者IP只有和172.16.61.199进行相互通信。
在第271帧中的数据包发现是在利用漏洞获取/etc目录下的文件名
攻击者的目标为172.16.61.199
系统中间件是什么?
往下拉找到第1680行数据包,发现攻击者下载了/etc/shadow文件
同时该数据包中可以看到weblogic字样
判断中间件为weblogic
找出pcap包的中间件base_domain的绝对路径
往下拉找到第1774行数据包,可以看到该base_domain的绝对路径
则base_domain的绝对路径为/root/Oracle/Middleware/user_projects/domains/base_domain。
攻击者下载了哪两个文件?
找到第1680行数据包,发现攻击者下载了/etc/shadow文件
第1759行数据包中发现下载了/etc/passwd文件
攻击者下载了/etc/passwd和/etc/shadow这两个文件
攻击者上传的文件名
在第1771行数据包中发现攻击者上传的文件名为muma.zip
同时在下一个包(1772)中还可以看到上传成功字样
















