freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

ApoorvCTF Rust语言逆向实战
蚁景科技 2025-03-07 10:20:12 7793
所属地 湖南省

上周参加了国外的比赛,名称叫:ApoorvCTF

看一下老外的比赛跟我们有什么不同,然后我根据国内比赛对比发现,他们考点还是很有意思的,反正都是逆向,哈哈哈

Rusty Vault

题目描述:

In the heart of an abandoned shrine, there's an old, rusted vault saidto guard an unspeakable secret. Many have tried to unlock it, but thedoor's demands are strange and no key seems to fit.

image

进入main函数,开始分析

image

这个命名方式,大概率是Rust语言

对于rust语言逆向,一般采用动态调试分析的方法

主要还是看汇编,因为F5根本看不出来啥东西。。。

image

从if比较处,可以看到成功和失败两个结果

那么这个比较绝对很关键

image

进入后发现,啥也没啊?

坏了,得看汇编,为代码估计又出问题了

image

发现了check2,果然为代码啥也看不到

image

对比check1-2

发现是在检测输入的字符串的字符类型,还是冲突的,不管了继续分析

image

下面可以看到失败

往下滑动可以看到成功

image

什么意思?

我猜测这题是改条件,然后动态输出flag?还有这好事

image

后面都是正常输出flag了

那么我们现在去解密的地方回溯,估计我要改一些判断,改变流程,让程序正常走到解密的地方,然后输出flag

【----帮助网安学习,以下所有学习资料加v~x:yj520400,备注“freebuf”获取!】

① 网安学习成长路径思维导图
② 60+网安经典常用工具包
③ 100+SRC漏洞分析报告
④ 150+网安攻防实战技术电子书
⑤ 最权威CISSP 认证考试指南+题库
⑥ 超1800页CTF实战技巧手册
⑦ 最新网安大厂面试题合集(含答案)
⑧ APP客户端安全检测指南(安卓+IOS)

教大家一个回溯方法

image

对标签疯狂X键,交叉引用定位回溯

image

最终定位到密文,发现是aes_128_cbc模式

需要:key+IV+密文=明文

这是一种思路,大家可以尝试

本文修改流程,让他自动输出明文

image

现在的思路就是:

x键回溯定位关键标签,修改关键判断

让程序自动走向解密

image

nop掉check1 和 check2

让他们走向自动解密的方向

image

最终运行程序得到flag,静态patch流程,绕过check1-chekc2

apoorvctf{P4tch_1t_L1k3_1t's_HOt}

这在我们国内比赛还是很少见到的,国内大概率要写脚本解密,或许国内认为加密才是CTF的重点。国外侧重逆向本身,如果可以patch修改流程得到flag,为什么要去写解密脚本呢?

锻炼了我们通过汇编分析程序流程的能力,而不是为代码一键分析。

# CTF # CTF writeup # CTF逆向 # CTF赛事
本文为 蚁景科技 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
蚁景科技 LV.9
湖南蚁景科技有限公司主要从事在线教育平台技术研究及网络培训产品研发,专注网络空间安全实用型人才培养,全面提升用户动手实践能力。
  • 907 文章数
  • 672 关注者
蚁景科技荣膺双项殊荣,引领网络安全教育新潮流
2025-03-28
FlowiseAI 任意文件写入漏洞(CVE-2025–26319)
2025-03-27
路由器安全研究:D-Link DIR-823G v1.02 B05 复现与利用思路
2025-03-18
文章目录