Bootstrap

[RSA议题分析] Finding Vulnerabilities through Static Analysis and Scripting

简介

作者讲了挖漏洞的目标,和一些常用的挖漏洞的方法和如果你像现在开始挖掘二进制漏洞,那么你可以从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(防止堆栈指针被篡改)等。

在这里插入图片描述

总结

感觉啥干货也没讲

;