一、实验内容
溯源取证分析作为网络攻防过程中重要环节,准确找到攻击者的入侵线索(尤其是攻击突破口、攻击IP地址、域名、工具等信息),对于企业或者团队安全运营团队来说都是必备技能。常规攻击取证过程中往往会结合流量、Web访问日志、终端系统或者软件日志等信息来挖掘或者推断相关线索。本实验通过网络流量、日志等溯源环境进行真实案例模仿,通过实战化分析来锻炼学生的取证溯源能力,从而加深大家对于网络攻防的实战化水平。在本实验结束时,学生应该能够具备对网络流量和日志的基本分析能力。
二、实验步骤及结果
1. Webshell数据包(webshell.zip)
小张单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
可以看到大部分是http协议数据包:
通过导出http对象,查看http的流量交互对象,可以看到在后面的分组中,主要是与1.php进行流量交互,可以确定1.php就是攻击者上传的shell文件。
A.黑客在整个过程中做了哪些操作,请简单列举出来并截图说明。
1.上传webshell文件,可以看到再后来黑客与一个叫做1.PHP的文件有很多流量交互。判断这个文件就是他上传的PHP文件。
2.修改日志,查看黑客登录之前的数据包,发现黑客在登陆前修改了日志文件。
B.黑客登录系统使用的密码、黑客的socks5的连接账号与密码请列举出来,并配图说明。
答:
1.登录系统使用的密码 Admin123!@#
2.socks5的连接账号与密码:得到账户是 0HDFt16cLQJ 密码是JTN276Gp
查看交互的详细流量信息:
可以看到登录的关键词是login,查看这个数据包中的信息;
在这个数据包中找到了攻击者的用户名和密码:
观察与1.php的通信信息,观察到数据包343的长度比较长,查看详细信息如下:
将其中的信息进行url解码,可以看到对文件进行了一个写操作。
将写入文件的内容进行hex解码,得到了如下信息,成功获取黑客的sock5账号的账户和密码信息。
2.日志分析(日志分析.zip)
小明发现单位某应用程序被攻击后提取了对应的日志数据,请分析日志并进行作答:
A.网络存在源码泄漏,源码文件名是什么?(请提交带有文件后缀的文件名,例如x.txt,并对流量分析进行截图)
答:源码文件名:www.zip
在日志文件中查找200,查看攻击者成功访问了什么信息。可以看到前面几次成功请求的文件时index.php,之后成功请求文件www.zip,所以泄露的文件应该时www.zip。
B.分析攻击流量,黑客往/tmp目录写入一个文件,文件名是什么?(请对流量分析进行截图)
答:文件名:Sees_car
在日志文件中查找tmp,发现一串URL编码的数据,进行解密,发现黑客通过filename参数向/tmp目录传递了一个sess_car文件。
将这个url编码进行解码,可以看到写入了一个sess_car文件
C.分析攻击流量,黑客使用的是什么漏洞读取了秘密文件?
答:利用splfileobject类的漏洞读取秘密文件。
从上面的信息中我们可以看到在写入文件时利用了类的漏洞。
splfileobject是PHP5中新加入的一个文件访问类,它继承于php标准库(SPL)中的Iterator和SeekableIterator接口,并提供了对文件的高效访问和处理。splfileobject中的分页方法可以实现分批读取文件内容,对于大文件的处理非常有用。
3.攻击“苹果”注入(ios.zip)
一位苹果安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析后作答:
A.简述黑客的整个攻击过程,关键步骤请配图说明。
首先在日志文件中可以看到攻击者上传了一个一句话木马文件。
控制主机后,首先使用ls命令,然后使用wget命令访问网站下载了GitHub的资源并赋予了可执行权限。
之后运行ios_agent命令进行攻击。
B.黑客所控制的C&C服务器IP是什么?
答:C&C服务器IP是3.128.156.159
查看流量包,将HTTP协议的流量包导出。查看文件,发现了一个ios_agent参数。还有链接github.com和一个ip。
在数据流中查找数据部分包含ios_agent的数据包。
使用追踪流功能追踪可以看到攻击的整个过程。
可以在最后的命令中看到黑客所控制的C&C服务器IP。
C.被害者手机上被拿走了的私钥文件内容是什么?
答:746558f3-c841-456b-85d7-d6c0f2edabb2
部分存在TLS加密的流量需要用到密钥进行解密,当浏览器访问https站点时使用SSL/TLS协议。必须拥有服务器私钥,才能得到用于对称加密的密钥,然后真正解开加密的数据。
我们需要导入TLS协议所需的keylog.txt文件。然后就可以查看https协议了。
筛选http2协议,并且查找与sql注入有关的select关键字。
将筛选出的数据包主要信息导出,使用url解码工具进行解码查看SQL注入语句。
存在很多http协议,查看http2发现存在许多sql注入的请求。这是在进行爆破,只需要查看每一位的最后一条请求的值,再使用hex解码就可以得到⼀个uuid值。