陇剑杯 2023 Writeup
题量非常多,师傅们也非常猛~ 整体来说陇剑杯大部分题目对新手还是挺友好的,可能大家最大的问题就是时间完全不够用2333,另外不清楚为什么那么多公司看重这比赛,很多联系代打的,理解不能(
SS
这个方向给了俩文件 do.tar
和 final.pcap
,分别为 Linux 所有目录文件的备份以及网站流量包,但是在做题的时候基本只看 do.tar
就够了
sevrer save_1
黑客是使用什么漏洞来拿下root权限的。格式为:CVE-2020-114514
1 |
|
sevrer save_2
黑客反弹shell的ip和端口是什么,格式为:10.0.0.1:4444
1 |
|
sevrer save_3
黑客的病毒名称是什么? 格式为:filename
一看是没找到,先做的后面题目,根据后面的答案猜到了正确答案,病毒在 home/guests
1 |
|
sevrer save_4
黑客的病毒运行后创建了什么用户?请将回答用户名与密码:username:password
1 |
|
sevrer save_5
服务器在被入侵时外网ip是多少? 格式为:10.10.0.1
1 |
|
sevrer save_6
病毒运行后释放了什么文件?格式:文件1,文件2
1 |
|
sevrer save_7
矿池地址是什么? 格式:domain:1234
1 |
|
sevrer save_5
黑客的钱包地址是多少?格式:xx:xxxxxxxx
1 |
|
WS
Wireshark1_1
被入侵主机的IP是?
1 |
|
Wireshark1_2
被入侵主机的口令是?
1 |
|
Wireshark1_3
用户目录下第二个文件夹的名称是?
图片如上,第二个文件夹为
1 |
|
Wireshark1_4
/etc/passwd中倒数第二个用户的用户名是?
1 |
|
IR
该题目给了一个 ova
镜像,可以直接导入 Vmware 之中,但是着实不方便,所有一直想着直接把文件目录全部拿出来,直接使用 R-studio 对 ova
里面的 vmdx
文件进行恢复,从而得到所有文件。
IncidentResponse_1
你是公司的一名安全运营工程师,今日接到外部监管部门通报,你公司网络出口存在请求挖矿域名的行为。需要立即整改。经过与网络组配合,你们定位到了请求挖矿域名的内网IP是10.221.36.21。查询CMDB后得知该IP运行了公司的工时系统。(虚拟机账号密码为:root/IncidentResponsePasswd)
挖矿程序所在路径是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
直接使用杀软对整个文件系统进行木马查杀,得到挖矿程序
1 |
|
IncidentResponse_2
挖矿程序连接的矿池域名是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
这种一般和挖矿程序在同一目录,在 redis.conf
中发现域名
1 |
|
IncidentResponse_3
攻击者入侵服务器的利用的方法是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
题目提示:答案md5值前两位为3e
这题比较迷惑,一开始就确定铁定是 shiro 反序列化漏洞了,判定依据为攻击者最终攻击的为登陆页面,其次该系统使用的 renren-security
也确实采用了 Shiro 框架,同时系统运行日志 nohup.log
也报错爆出了 RememberMe
,但始终回答不对,最终根据 hint 试出了最终答案
1 |
|
IncidentResponse_4
攻击者的IP是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
全局检索日志文件,得到 /var/log/nginx/access.log
1 |
|
通过分析日志响应的状态码,得到攻击者IP
1 |
|
IncidentResponse_5
攻击者发起攻击时使用的User-Agent是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
直接 log 文件末尾得到正确的 UA
1 |
|
IncidentResponse_6
攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5加密后以a开头)(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
找来找去,总共俩用户 root
和 superuser
而 root
用户的 authorized_keys
不为空,判定为权限维持手段之一
1 |
|
IncidentResponse_7
攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5加密后以b开头)(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n ‘strings’|md5sum|cut -d ‘ ‘ -f1获取md5值作为答案)
1 |
|
使用命令查到到 redis.service
文件
1 |
|
HW
hard_web_1
服务器开放了哪些端口,请按照端口大小顺序提交答案,并以英文逗号隔开(如服务器开放了80 81 82 83端口,则答案为80,81,82,83)
直接使用表达式进行过滤即可
1 |
|
得到如下三个端口
1 |
|
hard_web_2
服务器中根目录下的flag值是多少?
哥斯拉的 JSP 流量,解密最后一个 Jsp 流量即可
1 |
|
hard_web_3
该webshell的连接密码是多少?
解密流量发现关键信息 748007e861908c03
同时还发现 the key is 1****y // 748007e861908c03
1 |
|
直接写脚本爆破,最后发现直接去 cmd5 解密也行,就是收费
1 |
|
SW
SmallSword_1
连接蚁剑的正确密码是______________?(答案示例:123asd)
随便追踪一个木马文件的 HTTP 的流(如流143),即可得到正确密码
1 |
|
SmallSword_2
攻击者留存的值是______________?(答案示例:d1c3f0d3-68bb-4d85-a337-fb97cf99ee2e)
base64解码后得到
1 |
|
SmallSword_3
攻击者下载到的flag是______________?(答案示例:flag3{uuid})
导出所有文件后,发现有个 PHP 文件近 5M ,十分异常,直接查看发现是一个 exe 文件,我们手动删掉 ->|
后把后缀改为 exe
进行运行
运行过后得到一个高度有异常的图片,直接进行宽高爆破即可
1 |
|
EW
经典 HTTP 流量包,直接 文件
-> 导出对象
-> HTTP
将文件全部导出
ez_web_1
服务器自带的后门文件名是什么?(含文件后缀)
一开始以为是 d00r.php
没成功,那么应该是通过其他文件写入的 d00r.php
,直接全局检索我们导出的文件,在 ViewMore(1).php
发现关键流量
1 |
|
直接得到答案
1 |
|
ez_web_2
服务器的内网IP是多少?
每个 d00r.php
都看了一下,发现 d00r(7).php
执行了 ifconfig
其响应包内容中包含了两个内网IP,经过测试得到答案
1 |
|
ez_web_3
攻击者往服务器中写入的key是什么?
d00r(19).php
发现进行了写入操作,解码后发现是一个加密的 Zip 压缩包
1 |
|
查看前几个文件,在 d00r(16).php
得到压缩包密码
1 |
|
解压后文件内容为
1 |
|
BF
baby_forensics_1
磁盘中的key是多少?
1 |
|
然后 Rot 47
baby_forensics_2
电脑中正在运行的计算器的运行结果是多少?
1 |
|
得到运行结果
1 |
|
baby_forensics_3
该内存文件中存在的flag值是多少?
010 打开 发现有串字符串 多次出现
1 |
|
同时发现一个类似 key 的东西 qwerasdf
直接 AES 解密即可
1 |
|
TP
tcpdump_1
攻击者通过暴力破解进入了某Wiki 文档,请给出登录的用户名与密码,以:拼接,比如admin:admin
流 1323
发现登录成功的回显
1 |
|
tcpdump_2
攻击者发现软件存在越权漏洞,请给出攻击者越权使用的cookie的内容的md5值。(32位小写)
这题也没啥好说的,直接在最一开始登录成功后发现其 cookie
最后为 userid=1
,而到了后面的流量包中发现 userid=2
了,那么直接提交后面的 cookie
内容
1 |
|
tcpdump_3
攻击使用jdbc漏洞读取了应用配置文件,给出配置中的数据库账号密码,以:拼接,比如root:123456
在流 1600
发现账号密码,另外下面的 flag 不知道有什么用
1 |
|
tcpdump_4
攻击者又使用了CVE漏洞攻击应用,执行系统命令,请给出此CVE编号以及远程EXP的文件名,使用:拼接,比如CVE-2020-19817:exp.so
在流 1602
发现关键数据,通过检索其漏洞为 CVE-2022-21724
1 |
|
tcpdump_5
给出攻击者获取系统权限后,下载的工具的名称,比如nmap
在流 1611
发现下载了工具
1 |
|
HD
hacked_1
admIn用户的密码是什么?
流 56
发现用户密码为加密数据
同时在流 66
发现 key 和 iv
直接进行 AES 解密即可
1 |
|
hacked_2
app.config[‘SECRET_KEY’]值为多少?
流 69
发现 SECRET_KEY
1 |
|
hacked_3
flask网站由哪个用户启动?
解密 flask session 发现执行了 whoami 命令,最终得到
1 |
|
hacked_4
攻击者写入的内存马的路由名叫什么?(答案里不需要加/)
放眼望去,路由就那几个,随机试了一下,得到正确答案
1 |
|
Web
fungame
近日,网管小李被通知说自己管理的网站存在漏洞,请你帮助小李找到存在漏洞的位置,并且将漏洞修复(敏感信息泄露也算哦)。修复漏洞后,等待一分钟左右,/flag就会变为可读权限。可以借用 /index.php?r=debug/default/index 的web接口的debug进行分析。
首先通过题干里面提到的 debug 接口查看调试的信息
1 |
|
在这里我们发现了 check 规则
1 |
|
既然如此我们直接去控制器里修改一下
1 |
|
我们直接把原有的逻辑注释掉即可
1 |
|
等一分钟后 check 发现 404 了,说明没问题
尝试直接 cat /flag
还是提示无权限,说明还是没 fix 完毕,最后看了一下题干 敏感信息泄露也算哦
,突然意识到 Debug 面板肯定泄露敏感信息,根据经验来看,这些信息大概率是通过 phpinfo
来获取的,我们直接进行搜索发现一个文件
1 |
|
直接进行 fix 即可,把返回值改为空
1 |
|