Geek Peak


极客巅峰2022初赛-RE

CrackMe

0x0 前言

https://mp.weixin.qq.com/s/thAUBnPRLQ7ZCjwB1dH0yQ

比赛时就看了apk一题,可惜没做出来,现在复现一下当时就卡在了RC4上,看了wp才知道还有加一 ,但是wp中的异或某一个值有点感觉太运气了,如果是异或i这种不同的值应该就G了。

非常感谢有wp学习。也感谢Retard师傅的指点。

0x1 JAVA层

1

里面的字符串进行了StringFog的加密,onCreate先是获取了输入,然后起了一个新服务,进行了loadassets,然后就是关键函数CheckFlag,这里的两个加密字符串就是right 和 wrong 为什么我知道,我用真机调试然后在recv接受的地方跳过,判断成功然后输出字符串。然后通过安卓killer改变里面的字符串改成其他的输出,就知道了其他字符串的值

2

Checkflag加载了native,然后里面的字符串就是dragon,通过上面说的方法输出知道的

3

这里的字符串就是 chmod +x 和 sudo 两个提权把前面的服务和dragon提权

image-20220821193112825

assets里就是dragon和一些假的png

0x2 分析So层

image-20220821193256720

recvdata就是等待服务端发送值回来,然后进行对比,密文我们就得到了

0x3 分析dragon

image-20220821193528483

可以发现1350里有一个rc4加密,当时我就是做到这里,不知道怎么动调这个RC4

image-20220821193634817

image-20220821193641606

这些异或出来的值就是上面rain1.png这些文件,在读取这5个png

image-20220821193744240

然后在1E9C的位置生成了shellcode,mprotect是保护这段内存不被读取,pthread_create创建了,所以调试断这里把V18dump下来即可

image-20220821194215748

在dragon中可以看见大小为1D000起始地址就动调dump的时候你自己当时的地址是多少都可以,选择32位ida arm架构,因为dragon是跑在真机里的

image-20220821194413623

进来直接起始地址加0x1430,因为在dumpshellcode时可以发现写在了shellcode的0x1430,所以我们这里快速到关键位置

image-20220821194524290

如果动调dump应该对这里熟悉直接转C

image-20220821194627518

可以发现无法转过来,我这里用了个体力活就是把最后面的BX nop了,因为这就类似跳转混淆那种llvm

image-20220821194810812

可以看到反编译出来很多

image-20220821195504646

但是很多wp中的检测flag格式哪些就没有反编译出来

0x4 总结

剩下的可以在上面wp中看见,这里有个坑点,我原本想自己动调一遍然后把上面的剩下算法走一遍给大家看,然后截图下来写进去,我手机是root的,大家运行的时候可能会发现没有回馈回来,报wrong,就是因为权限不够,服务没有加载出来,就直接死住,然后等待不到recv的数据就死了。这个软件不会主动申请root权限,就有点难受,面具对主动申请的软件会给root权限。动调的话,应该可以attch上新起的服务和shellcode。大家如果会过混淆通过静态估计也可以做出来

EZRE

0x0 前言

感谢Retard师傅,非常非常感谢(一定找个机会线下gank他)。这题复现我一直在想连接socket发送值过去。老是连不上。

0x1 Ctrl+s

3

一般做题都会findcrypt一下看一下加密。或者直接查看data段,发现data段这里就很想sbox

1

通过索引就可以看到被加密过了

2

然后就可以索引到AES加密的位置

这时候就是AES汇编下方一片红,然后通过索引

4

就可以发现这里有一个955的循环,就是smc,循环 异或 i %256

5

然后就可以得到这个真正的关键函数,里面就是调用了16次AES加密,然后每次改变key和iv,可以直接通过改变RIP跳到这边,dump里面的iv和key

然后while出来再加密一次进行对比

可以自己给a1写一个空地址 在空地址自己patch一点输入进去

或者自己写一个同样加密,自己实现一遍

0x2 总结

感觉有点迷糊复现这题,老是想通过socket通过程序跑到真函数中。


文章作者: Blue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Blue !
评论
  目录