至少我们曾经在一起过。
来自:一言
var xhr = new XMLHttpRequest(); xhr.open('get', 'https://v1.hitokoto.cn/'); xhr.onreadystatechange = function () { if (xhr.readyState === 4) { var data = JSON.parse(xhr.responseText); var hitokoto = document.getElementById('hitokoto'); hitokoto.innerText = data.hitokoto; } } xhr.send();
前言
作为一个菜鸡,抱着学习的态度来试着打打了这次的陇剑杯,结果只拿到300多名(丢脸[aru_21]),所谓重在参与嘛。
在高铁站等着没事干,就写个帖子记录一下本人做的一些题目(有些py,懂的都懂[aru_51]),复盘一下,不然过段时间又忘记了[aru_39]。
理论题就不写了,直接开始实操题吧。
吐槽一下:为什么这个陇剑杯全是流量分析,取证方面题?表示一脸懵逼,基本上是第一次接触这样的,觉得还是蛮有意思的[aru_15]
签到
题目描述:网管小王在上网途中发现自己的网络访问异常缓慢,于是对网络出口捕获了流量,请您分析流量后进行回答:(本题仅1小问)
题目下载: 签到
1.1 此时正在进行的可能是__________协议的网络攻击。(如有字母请全部使用小写,填写样例:http、dns、ftp)
解题过程
解题过程:
1.下载附件后拿到一个Good.pcapng文件,直接用Wireshark打开[aru_13]
2.直接追踪tcp流,可以看到全是http协议的包,所以答案是http协议
Flag
http
Jwt
题目描述:昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:
题目下载: JWT
2.1 该网站使用了______认证方式。(如有字母请全部使用小写)
解题过程
解题过程:
1.下载附件后,得到了一个goroot.pcap文件(又是流量分析[aru_29]),照样用Wireshark打开[aru_13]
2.问题问的是该网站使用了什么认证方式,然后又知道该题类型是jwt,那直接反手写个jwt(全称:JSON Web Token)认证方式上去,关于jwt:相关文章
3.要是觉得不放心可以看看包,随便找个post包,追踪http流,直接查看cookie,jwt石锤。
Flag
jwt(或者是全称:JSON Web Token) ps :有点忘记了[aru_61]
2.2 黑客绕过验证使用的jwt中,id和username是______。(中间使用#号隔开,例如1#admin)
解题过程
解题过程:
1.继续分析流量包,根据题目可以知道需要让我们找jwt字段,由题目可以知道,绕过就是成功了,所以我们直接找到黑客执行命令的post包,如果命令执行成功了,那就表示这个jwt是合法的,就是黑客绕过所使用的jwt。然后再把jwt拿去jwt.io进行解密,最终拿到flag[aru_57]
2.照样用Wireshark打开,筛选post包: http.request.method==POST
3.查看一个post包,进行追踪流,查看相关返回包。下面这个就是没有绕过验证的jwt,如果那这个jwt信息去解密提交的话将会是错误。[aru_45]
4.找一个返回长度比较长的,查看命令执行成功的包。
5.通过上面返回包,可以知道已经执行成功命令了,黑客已经绕过了认证,所以他解密后jwt就是flag[aru_31]。
jwt:
代码语言:javascript复制eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTAwODcsIk1hcENsYWltcyI6eyJ1c2VybmFtZSI6ImFkbWluIn19.rurQD5RYgMrFZow8r-k7KCP13P32sF-RpTXhKsxzvD0
明文:
代码语言:javascript复制{
"id": 10087,
"MapClaims": {
"username": "admin"
}
}
Flag
根据题目要求,可以知道flag为: 10087#admin
2.3 黑客获取webshell之后,权限是______?
解题过程
解题过程:
1.没啥好说的,上一道题看到的流量里,就看到了黑客执行了个whoami,返回信息是 root
Flag
root
2.4 黑客上传的恶意文件文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
解题过程
解题过程:
1.我们继续查看post流量,如果是上传的话,那么那个包的长度应该会比较长,那我们直接看长度长的包就行了(我的思路就这样,因为也没接触过,都是第一次做这种,有啥不对的可以指出[aru_44]),如下图:
Flag
1.c
2.5 黑客在服务器上编译的恶意so文件,文件名是_____________。(请提交带有文件后缀的文件名,例如x.so)
解题过程
解题过程:
1.没啥过程,就继续分析post包,由于不会别的办法,就慢慢看过去咯~,找到了嘿阔编译文件时候的包,如下图:
2.接着在下一个包,黑阔执行了ls命令,查看是否编译成功,如下图:
去掉换行符后,可以知道编译后的so文件是:looter.so
Flag
looter.so
2.6 黑客在服务器上修改了一个配置文件,文件的绝对路径为_____________。(请确认绝对路径后再提交)
解题过程
解题过程:
1.还是继续查看流量包,还是老一套,要执行命令只有post包,所以继续往下找post包,如下图:
Flag
/etc/pam.d/common-auth
Webshell
题目描述:单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:
题目下载: Webshell
3.1 黑客登录系统使用的密码是_____________。
解题过程
解题过程:
1.一样是个流量分析题,下载附件打开后,根据题目要求可以知道是找登录密码,所以直接筛选post包,第一个就是了[aru_11]
可以很明显的看到密码是:Admin123!@#
url解密后:Admin123!@#
Flag
Admin123!@#
3.2 黑客修改了一个日志文件,文件的绝对路径为_____________。(请确认绝对路径后再提交
解题过程
解题过程:
1.通过分析流量包,可以知道黑阔攻击的cms应该是骑士cms,采用的是模板注入getshell的方式(相关文章),所以可以直接查看payload得知,修改的日志文件路径为下图:
2.根据上面的请求我们已经拿到了日志文件的相对路径:data/Runtime/Logs/Home/21_08_07.log,但是题目要求是拿到绝对路径,所以我们继续看这个包,返回的是一个phpinfo,关于phpinfo的话,直接搜索:DOCUMENT_ROOT 可以直接知道网站根目录.
3.将网站根目录路径和日志相对路径进行拼接,拿到最终flag: /var/www/html/data/Runtime/Logs/Home/21_08_07.log
Flag
/var/www/html/data/Runtime/Logs/Home/21_08_07.log
3.3 黑客获取webshell之后,权限是______?
解题过程
解题过程:
1.由上一道题我们已经拿到了phpinfo的相关配置,那就直接查找:User/Group
Flag
www-data
3.4 黑客写入的webshell文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
解题过程
解题过程:
1.继续往下看post包,其实一眼就可以看出来,后面的请求都是给1.php了,所以答案肯定就是1.php了,但是为了保险,我们还是看一下写马的那个包,如下:
可以很明显的看到攻击者写入了一个一句话木马到1.php文件中
Flag
1.php
3.5 黑客上传的代理工具客户端名字是_____________。(如有字母请全部使用小写)
解题过程
解题过程:
1.根据题目可以知道,上传代理工具文件(那就是说包挺大),所以我们直接看长度较大的包,如下图:
2.根据上面的包拿到请求的php代码,如下图:
3.再根据第一步里找到的第一个key是:TqL3Zhci93d3cvaHRtbC9mcnBj,去掉前两个字符解码后如下图:
Flag
frpc
3.6 黑客代理工具的回连服务端IP是_____________。
解题过程
解题过程:
1.还是继续上一个操作,找到黑阔上传的frpc配置文件(frpc常用的人应该都知道官方有个配置文件,这里是比赛,应该不会是修改版),找到如下图:
2.拿到配置文件hex编码后的字符:
代码语言:javascript复制5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A72656D6F74655F706F7274203D383131310A706C7567696E203D20736F636B73350A706C7567696E5F75736572203D2030484446743136634C514A0A706C7567696E5F706173737764203D204A544E32373647700A7573655F656E6372797074696F6E203D20747275650A7573655F636F6D7072657373696F6E203D20747275650A
解码后:
代码语言:javascript复制[common]
server_addr = 192.168.239.123
server_port = 7778
token=Xa3BJf2l5enmN6Z7A8mv
[test_sock5]
type = tcp
remote_port =8111
plugin = socks5
plugin_user = 0HDFt16cLQJ
plugin_passwd = JTN276Gp
use_encryption = true
use_compression = true
Flag
很明显了,回连地址: 192.168.239.123
3.7 黑客的socks5的连接账号、密码是______。(中间使用#号隔开,例如admin#passwd)
解题过程
解题过程:
1.没啥好说的,拿到回连地址,就可以拿到账号密码了,直接拿到flag。
Flag
0HDFt16cLQJ#JTN276Gp
日志分析
题目描述:单位某应用程序被攻击,请分析日志,进行作答:
题目下载: 日志分析
4.1 网络存在源码泄漏,源码文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)
解题过程
解题过程:
1.下载附件后,拿到了一个access.log文件(ps:[aru_15]终于不是Wireshark了,但是还是流量分析),根据题目要求可知是源码泄露,源码泄露常见的有几种后缀zip,rar,tar.gz等等,这里直接打开搜索zip
2.如果我们直接搜索zip的话会出现很多,然后题目是确定存在源码泄露,那就是说该文件是存在的,那么我们直接搜索200
Flag
www.zip
4.2 分析攻击流量,黑客往/tmp目录写入一个文件,文件名为_____________。
解题过程
解题过程:
1.根据题目知道有一个/tmp目录,那就直接搜索tmp,如下图:
2.发现了攻击者的写入文件语句:
代码语言:javascript复制/?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";}
url解码后:
代码语言:javascript复制/?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";}
Flag
明显可知文件名为:sess_car
4.3 分析攻击流量,黑客使用的是______类读取了秘密文件。
解题过程
解题过程:
1.根据上面解码后的攻击语句可直接获取flag:SplFileObject
Flag
SplFileObject
流量分析(一道都不会)
题目描述:某天晚上,X单位的网站被黑客入侵了,管理员从单位网络出口捕获采样流量,请您分析流量进行回答
题目下载: 流量分析
5.1 攻击者的IP是_____________。
未做出
5.2 攻击者所使用的会话密钥是_____________。
未做出
5.3 攻击者所控制的C&C服务器IP是_____________。
未做出
一道题都不会,等待学习中,后续慢慢更新。
内存分析(做出一道)
题目描述:网管小王制作了一个虚拟机文件,让您来分析后作答:
题目下载: 内存分析
6.1 虚拟机的密码是_____________。(密码中为flag{xxxx},含有空格,提交时不要去掉)。
解题过程
解题过程:
1.下载附件后,拿到一个Target.vmem文件和一个tips.txt,首先打开txt文件,里面只有一句话:"no space but underline",翻译后就是:没有空格,但是有下划线。
2.第一次尝试分析vmem文件,问了别人才知道是需要用volatility这个工具来进行分析[aru_19],相关教程:Volatility内存取证 这里给出一个官网的下载地址:volatility下载
3.下载好工具后,尝试分析镜像的系统版本:
代码语言:javascript复制volatility_2.6_win64_standalone.exe -f Target.vmem imageinfo
4.获取到一个profile,一般情况下第一个就是对的:Win7SP1x64,然后读取该镜像的用户名:
代码语言:javascript复制volatility_2.6_win64_standalone.exe -f Target.vmem --profile=Win7SP1x64 printkey -K "SAMDomainsAccountUsersNames"
5.安装版:https://github.com/volatilityfoundation/volatility (主要要用python2,kali下自带该工具)可以直接使用mimikatz.py的插件直接获取密码,下载地址:mimikatz.py
Flag
安装插件时候卡住,写不下去了,hash又解不出来
简单日志分析
题目描述:某天晚上,X单位的网站被黑客入侵了,管理员从单位网络出口捕获采样流量,请您分析流量进行回答
题目下载: 简单日志分析
7.1 黑客攻击的参数是______。(如有字母请全部使用小写)
解题过程
解题过程:
1.下载附件打开,发现一个app.log文件,打开开始查看,发现一个可疑的访问地址,解码后:
2.可以很明显的看到是攻击者执行的命令,所以参数就是user
Flag
user
7.2 黑客查看的秘密文件的绝对路径是_____________。
解题过程
解题过程:
1.继续往下看,又发现一个命令执行的url,解码后:
2.拿到一个文件名:Th4s_IS_VERY_Import_Fi1e,然后继续往下看,没有发现别的东西,尝试一下/var/www/html/Th4s_IS_VERY_Import_Fi1e,成功拿到flag
Flag
/var/www/html/Th4s_IS_VERY_Import_Fi1e
7.3 黑客反弹shell的ip和端口是_____________。(格式使用“ip:端口",例如127.0.0.1:2333)
解题过程
解题过程:
1.继续往下看,这个文件就三个命令执行的url,直接拿到最后一个先url解码,然后再base64解码,即可拿到flag.
Flag
192.168.2.197:8888