网络蚂蚁-静态分析挖掘栈缓冲区溢出漏洞并利用全记录

这是之前20171218左右发在论坛上的帖子,现在搬过来。

网络蚂蚁是一个很老很老的下载软件了,老到可能有的人根本就不知道它的存在。

之所以分析它是因为之前tk教主在微博上说它有一个堆溢出,利用方法还挺有意思的,然后我在寻找那个堆溢出的利用方法的时候发现了这个栈溢出,算是个副产品。不过感觉倒是可以把发现的过程写出来,给和我一样的初学者一个参考,在http client相关的漏洞挖掘利用上。

这个其实也算0day吧(滑稽),只不过这软件应该不会有人用了,这洞也不会有人修了。

插两句打油诗

目录

    1. 静态分析发现漏洞
    1. 编写利用
    1. 总结
    1. C#利用脚本

Read More

利用污点分析工具发现word2003的bug——word2003转换wps文件时堆溢出

这是之前20180129左右发在论坛上的帖子,现在搬过来。

最近一直在搞文档类漏洞的自动化挖掘分析(污点分析)。

测试那个污点分析工具的时候用的是word2003,测试过程中也算有一些微小的成果。

这个bug,一方面是感觉利用不起来,一方面是word2003也略老了。不过放出来给像我一样的初学者学习一个,提高姿势水平,应该还是有一些微小的意义的。

其实我也不知道这个bug有没有人公开过,感觉无从考证。如果发现有人已经公开过了的话,欢迎告诉我一声。(现在是2018年1月29日,留个时间戳)

现在漏洞挖掘好像分两派。一派是静态分析,这一派似乎比较讲究对代码功能的理解,比如对文件格式的理解,对js引擎的理解等等;另一派是fuzzing,这一派初期就是暴力穷举,现在也引入了类似符号执行等的方法来辅助fuzzing工具理解程序或者格式,加速测试过程。

静态分析太慢了,太累了,太苦了;fuzzing又有点像撞大运。

那么,有没有一种自动化的“静”态或“动”态方法呢?自动地去理解文件格式,代码流程。

从编译器的角度来看,一个程序就是一个CFG,程序运行就是根据用户输入,在CFG中走不同的路径;漏洞就是某个特定的路径。

所以,如果我们能自动发现某一部分数据,对应哪一部分代码,那么就相当于自动化理解了文件格式和代码实现。

本文所用的污点分析工具就是根据这个思路写的。

说完最近的理解进入正题。

这个bug简单描述就是word2003打开wps文件,自动转换格式时,可能发生堆溢出。

Read More

记一次利用污点分析工具在2天内在word2007中发现堆溢出的经历

这是之前20180725左右发在论坛上的帖子,现在搬过来。

从元旦前后(18年1月)的一个小念头,经过差不多7个月的开发,设想中的漏洞挖掘工具终于成型了。然后牛刀小试,分析word2007,在2天内发现了一个堆溢出(解析rtf格式的时候),简直是效果拔群。

经过对比,发现这个堆溢出在高版本已经修复了(word2013确认修复),但是word2007升级到sp3,漏洞代码依然存在。而且网上似乎也找不到对应的补丁或公告,看起来是偷偷修复的?有熟悉的朋友欢迎告知一下。

虽然高版本里已经修复,没有多大实用价值了,不过整个挖掘过程,尤其是思路,还是值得分享出来的。

下面的内容大概会按照这个思路走:

  • 工具的功能介绍
  • rtf里的攻击面选择
  • 生成初始样本
  • 采集指令并分析
  • 高版本里的修复方法

Read More

0. 漏洞挖掘系列

从去年开始,一直在研究漏洞挖掘相关的东西。这中间踩了不少坑,也收获了一些成果。
目前的成果有:

  1. ppt(最新版本)内的堆溢出。
  2. vbscript的3个crash(可以从word或ie触发)。一个是ie11全补丁的crash,还没有补丁;一个与360报的cve-2018-8242重了;还有一个已经被修补了(未知cve)。
  3. word解析wps格式文件的时候的堆溢出(已补,未知cve)。
  4. word解析rtf中pict格式图片时候整数溢出导致堆溢出(已补,未知cve)。
  5. 其他的一些小众软件的就不一一举例了。

最近打算把我的一些思路想法写出来,求交流求合作。

范围大概是

  • 文档与协议解析中的漏洞
  • 脚本引擎中的漏洞

比如17年word公式编辑器中的漏洞(cve-2017-11882)就是文档解析中的漏洞。18年vbscript的漏洞(cve-2018-8174)就是脚本引擎中的漏洞。

大概会从这几个方面去写

  • 分析代码特点,提出漏洞模型,研究挖掘方法
  • 分析历史上的漏洞,提取漏洞模型
  • 如何重新发现历史上的漏洞,用代码审计、污点分析、fuzz等方法。代码审计里的方法是利用污点分析、fuzz自动化挖洞的基础
  • 用实际的软件去测试漏洞挖掘方法

转载请注明出处 https://ktkitty.github.io