首页
社区
课程
招聘
[原创]小白的CVE-2010-0249——极光行动漏洞分析
发表于: 2019-9-22 16:40 6754

[原创]小白的CVE-2010-0249——极光行动漏洞分析

2019-9-22 16:40
6754

操作系统:

                 用作服务器的主机 (使用PhpStudy 搭建):Window 7 专业版 (32 位)

                  靶机:Window XP Pro SP3

软件:IE 6.0

工具:Ollydbg,windbg,IDA Pro,Sublime Text,Chrome,PHPStudy,WireShark

1.      通过协议分析客户端获得恶意html(POC)


查看会话


然后流跟踪,可以发现  



2.      分析服务端发送的html文件

下面是提取出的网页代码

首先,创建了一个字符串


接着把对该字符串进行解密,请求链接?后面的数据被用来解密


解密完代码后使用window["eval".replace(/[A-Z]/g,"")]定义解密后的js代码中的变量,声明其函数


再gif图片被加载完后执行函数WisgEgTNEfaONekEqaMyAUALLMYW


通过Chrome的开发者工具(F12),获得解密后的JS脚本:

小结:

    当使用HTML访问服务器时,服务器会返回一个重定向信息迫使客户端重新发起请求,然后通过请求链接中的索引解密返回的html文件中的JS代码,接着在本地执行js脚本触发漏洞并且执行ShellCode。

搭建漏洞环境,执行漏洞poc

执行 poc 以及样本(在执行时,如果使用OD 附加,需要把原本忽略的异常都恢复)

执行 恶意html :

在Win7电脑上开启phpStudy设置服务器,将提取出来的html放在网站根目录中,在WindXP上访问地址http://win7的IP/hack.html?rFfWELUjLJHpP

访问结果触发异常,如下:


从图中可以看出,由于此时的eax为0x00000000,导致了下面的call出现了异常,而eax的值是从ecx中地址取内容获得的,所以重点就是ecx的值是由谁赋值的。

随着js脚本分析漏洞成因

1.找到执行函数


从图中可以看出,加载完gif后会调用WisgEgTNEfaONekEqaMyAUALLMYW函数,参数是一个event对象(在此处是iframe的event对象)

2 .先简要分析WisgEgTNEfaONekEqaMyAUALLMYW函数


先查看该函数调用的第一个函数

很明显的,这是一个堆喷射函数,目标是把0x0c0d0c0d的只是内容覆盖为0x0c0d0c0d,大红框内就是ShellCode


堆喷结束后,会创建一个event对象副本,本例中传入的是IFream的event对象,然后将将span对象的innerHtml清空,释放iframe对象,最后创建一个定时器,接下来查看定时器函数的内容


可以推断,应该是定时器最后的代码

var t = lTneQKOeMgwvXaqCPyQAaDDYAkd.srcElement;

触发的漏洞

3 .  验证是否是srcElement触发漏洞


从异常触发点的调用堆栈可以看出,是调用了get_srcElement后,引发了异常,而之前的

正是调用get_srcElement函数

4 . 分析js脚本是如何引发漏洞的

参考了看雪大佬的文章:

https://bbs.pediy.com/thread-105899-1.htm

首先,在函数中引发漏洞的关键函数是下面三个


而触发漏洞的是定时器函数


那么要分析如何触发漏洞,就得分析浏览器是如何获得srcElement属性的,那么就要理解函数

get_srcElement是如何实现的,以下是看雪大佬的原话


而从这段话中分析出来的一个结构是这样的,get_srcElement函数要获取srcElement属性需要从CEventObj中获取EVENTPARAM结构中的CTreeNode指针,接着再通过CTreeNode指针获取指向CElement的指针,下面是具体的结构图


Event对象就是CEventObj

那么接下来根据上面看雪大佬的话以及结构图,进入IDA中分析

下面是get_srcElement函数


进入函数GenericGetElement中分析,函数内部执行GetParam函数,push了 ebp-8 作为参数,该函数获得了EVNETPARAM的地址


GetParam函数内部,下图中的ebp-8指的是函数外Push的ebp - 8,而不是GetParam的局部变量



[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2019-10-22 11:37 被Ashen1编辑 ,原因: 把图片弄高清点。。
收藏
免费 2
支持
分享
最新回复 (1)
雪    币: 26398
活跃值: (63257)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
2
感谢分享!
2019-10-12 10:33
0
游客
登录 | 注册 方可回帖
返回
//