简介
作者讲了挖漏洞的目标,和一些常用的挖漏洞的方法和如果你像现在开始挖掘二进制漏洞,那么你可以从memcpy开始。除此之外,作者实际演示了一遍在开启漏洞缓解措施Stack Pivot Protection和不开启的情况下攻击浏IE浏览器的效果。
议题分析
发现漏洞 - 什么时候/为什么
以前挖一个浏览器的RCE奖励2000美元,现在挖一个浏览器RCE奖励几万美元,当然这只是官方的,如果你把它拿到暗网等上面,他的价值更加恐怖。但需要注意的是,同样效果的漏洞,你先在需要做的事情比以前要多得多得多。
什么是漏洞挖掘
0day:第一个发现漏洞、没别人知道、无尽荣耀、牛逼,价值高昂
方法与注意事项:
- 补丁差异分析
- 静态分析,手挖
- 动态分析,fuzz
- 信任域边界
- 编译器操作系统等漏洞利用缓解措施,但通常不会全部打开
漏洞价值
用经济学的术语来说叫:这尼玛嗷嗷贵
如何挖洞
逆向工程环境
一些工具
- IDApython
- PyCharm
- Frida hook 工具,inline hook,非常方便跟踪程序
- binDiff,二进制补丁对比
难点:
反汇编代码不好阅读,结构体不好逆向
从哪开始
memcpy,先从找memcpy引发的溢出漏洞开始。大小参数通常都不注意使用的安全性,有些是动态构造的,这就会造成问题。
例子:DNS SIGRed漏洞,DNS是一个公开服务,涉及面很广。其中memcpy引发了漏洞。
挑战
漏洞利用缓解措施:
微软有非常多的漏洞利用缓解措施,这些措施可以包括代码检查、内存隔离、堆栈保护、地址空间布局随机化(ASLR)、Stack Pivot Protection(防止堆栈指针被篡改)等。
总结
感觉啥干货也没讲