8.3wp

Day3

[[toc]]

0x01

早上是继续warmup+部分regular

hide

sudo dd if=/proc/$(pidof hide)/mem of=hide_dump1 skip=4194304  bs=1c count=827392
sudo dd if=/proc/$(pidof hide)/mem of=hide_dump2 skip=7110656  bs=1c count=20480
cat hide_dump1 hide_dump2 >hide_dump

脱壳命令
在运行过程中,实际上已经脱了壳,在内存里会有个对应的原始镜像
我们去内存里把它拿出来就大功告成了。
skip count参数是数据段参数。上述函数需要在hide运行过程中执行(另开执行窗口)

flag不对/疑似被藏起来了
我们尝试在start下断点(这题下硬件断点 hb+地址)
慢慢找。

IDA在某些函数断点判断可能会出错,比如混淆代码,再加上这个静态文件是不完全的,所以这题的syscall没有被正确的判定,cmp eax 0会直接跳转到false,直接到exit,导致函数无法F5。
方法一:
把cmp后的jnz改成jz或者jz改成jnz,使得函数可以通过IDA的逻辑成功反编译,从而分析核心代码逻辑。(多看机器码)
改了一个还不够,逻辑图中所有能到达exit的全部都要强行绕开,这样虽然逻辑是错的,但是可以在IDA中显示更多的代码。
**Trick 在exit处X看调用,追溯往上,全部修改。
8.3wp_第1张图片

8.3wp_第2张图片
方法二:
直接静态分析汇编,其实不难发现其对加密过程的跳转,加密次数也可以看出来。
8.3wp_第3张图片
加密算法是Tea算法 - XTea算法
看过的直接秒,没看过的就逆一下

这个题真真切切地锻炼了我python能力,用C++估计是几分钟就搞定了。

Trick&Skill

字符串强行定位关键函数
关掉反调试(ptrace)

catch syscall ptrace
set $eax=0

在start下断点(这题下硬件断点 hb+地址)
gdb的静态链接调试trick

record full
reverse_continue

Atum大佬:
也可以符号执行
RIZZO.PY 但不支持ida7.0
ida FLIRT
写一个简易版本的hide 编译运行
“只要函数主体的基本功能”

gcc --static -ohide_fake hide_fake //静态编译
gcc -ohide hide

用脚本把两个文件用脚本来patch一下,就可以还原部分符号。

Magic

改main函数的调用约定 编译器upup(改成visual c++)
从字符串找交叉引用 / 找其他控制流
initial array/function
RC4算法
考点二 setjump longjump
C3CTF
对不起我什么基本都没听懂

Trick&Skill:

逆向过程可以在结构体窗口创建结构体(按insert)
然后调整struct的类型来适配
再在代码里按Y重定义类型,就不用看那些(int *)(v3 + i + 24) 之类的东西,而是会显示 prt->xxx 正确的指针,可读性会高很多。

0x02

下午讲了irregular的相关内容没听懂
还有一般过程等别人的总结贴上来
顺便教了我们一下pwn(雾

iregular

radare2 有tracer+别人写的debugger
学习看汇编 快速学习

pwn题的逆向分析策略

对double free的任意地址写有了很直观的认识暂时还是不会用

HCTF2016 fheap 格式化/double free
pwnable.cn calc 整数溢出

熟练运用IDA对编程帮助很大

文档地址(本地):Info/Material/Reversing CTF Pwnable .pdf

0x03

为期两天的逆向工程学习结束了,接下来几天就是pwn的时间了。
之前我们学习方向为“二进制”,如今确切地发觉pwn和逆向的区别所在。
逆向是pwn的基础,如果不能成功理顺程序逻辑和思路,就无法很好的找到漏洞并加以应用。
当然,逆向也不仅仅是pwn,逆出一个程序往往需要更多的知识,对各方面算法都要非常了解,对调试技巧要求也颇高。
pizza和pandaos牛逼
这两天不能说自己的逆向提高了很多,但是眼界开阔了不少,硬实力也提高了不少,起码IDA能用了,汇编也不是一头懵了。
感谢冠城大佬的细心教学,教的很多都是方法而不是套路,有了这些技巧和小trick,以后也能少走不少弯路。
师傅领进门,修行在个人,冠城师傅也说过,逆向,或者说ctf关键是锻炼思维而不是套路,要提炼思路,提高学习能力。
接下来的pwn学习好好加油吧!
觉得越学越爽我是抖m吧

你可能感兴趣的:(题解,总结)