2011-12-21來源:金山安全中心
摘要:Q幣大盜分析報告
關鍵詞:Q幣大盜 分析 報告

圖1 病毒程序圖標
這是一個以盜Q幣為主要目的的盜號木馬,采用UPX加殼。
典型行為:
1.在登陸QQ的機器上,QQ會莫名其妙的退出;
2.QQ有的時候會彈出彩色的異常登錄提示框,提示用戶輸入驗證碼;
3.QQ的Bin目錄下出現MSIMG32.dll、SVulStrong.dat等文件。
4.如果被盜的QQ里有Q幣、Q點,則下手竊取。否則,就不動聲色繼續潛伏。
5.病毒由一個母體文件釋放的多個不同文件共同完成盜取Q幣或Q點的目的,各病毒組件的結構關系如下圖所示:

1. 病毒通過鉤子技術盜取qq的用戶名和密碼。
1. 查詢用戶QQ賬戶信息,查詢Q幣或Q點,余額不為0的,就盜號,將QQ賬戶和密碼發到病毒服務器。
母體文件行為較為簡單:檢測qq,如果存在的話則結束qq,并且釋放病毒文件到QQ的Bin目錄,為盜取QQ及相關財產做前期鋪墊工作。
1、創建名稱為“...TM345”的互斥量,如果創建失敗,退出自身進程,防止多個實例運行,然后釋放該互斥量。
2、創建進程快照,遍歷進程查找是否有QQ.exe或者TM.exe進程運行。
3、如果沒有找到QQ.exe進程,通過注冊表判斷當前系統是否已經安裝qq,并嘗試通過注冊表獲取QQ安裝路徑。
病毒遍歷注冊表項HKEY_CURRENT_USER\Software\Microsoft\Windows\ShellNoRoam\MUICache下的鍵值,查找是否有QQ2011、QQ2010、QQ、QQ2009、TM2009的鍵值信息,用于查看用戶是否安裝了QQ并找到該目錄文件。如果沒有找到,會繼續創建進程快照查找是否存在qq.exe進程,如果沒有找到,會循環遍歷進程查找QQ進程。
4、刪除QQ相關記錄信息,使得QQ無法自動登錄,需手動輸入密碼。(狡猾的病毒作者用這招來欺騙用戶重新輸入QQ帳號密碼)
A.如果找到QQ.exe進程,查找QQ安裝目錄的bin目錄下是否存在AutoLogin.dat、msimg32.dll,存在則刪除相應文件。
B.如果有文件C:\ProgramFiles\Tencent\QQ\Users\All Users\QQ\Registry.db,則使用StgOpenStorage函數打開Registry.db文件,獲得Main_LoginAccountList,銷毀記錄,從而再次登錄時需要手動輸入密碼。
5、在QQ安裝目錄的bin目錄下創建文件msimg32.dll(偽造系統文件)和SVulStrong.dat文件,并設置文件屬性為系統隱藏。
注:QQ啟動過程中會優先啟動自身目錄下的msimg32.dll。
6、遍歷進程查找QQ.exe進程,如果找到,結束該進程;然后繼續遍歷進程查找QQ.exe進程,查看是否已經結束該進程。
7、創建進程,以命令行方式刪除病毒源文件自身,退出自身進程。
8、QQ啟動過程中,加載木馬程序創建的msimg32.dll。
此模塊為病毒核心模塊,主要功能為盜取qq號和密碼及對應QQ賬號的QQ幣、Q點。
此文件是偽造的系統文件,釋放到qq的安裝目錄下會使得qq運行時自動加載此文件。當用戶啟動QQ后,偽造的msimg32.dll被QQ加載運行,并執行以下行為:
1. 加載系統真正的msimg32.dll文件
2. 修改qq載入的文件,從而hook關鍵函數,獲得賬號密碼。
a. 使用多種方法干擾QQ帳號保護模塊的正常運行,截取QQ帳號。
b. 在MSIMG32.dll內存塊中搜索用戶輸入的QQ密碼。
![]()
3. 傳輸QQ賬號密碼,查詢q幣和q點信息。
A檢測QQ是否上線成功。
B.上線成功,則檢測當前用戶Q幣Q點的情況。
病毒使用URL的方式訪問我的錢包,登陸之后查詢QQ幣信息,把需要的驗證碼下載到本地,以虛假的異常登陸方式騙取用戶輸入驗證碼。
1) 病毒在后臺,偷偷通過URL直接訪問“我的錢包”。
正常情況下,QQ用戶這樣訪問“我的錢包”:點擊QQ主程序界面左下角的企鵝圖標->所有服務->財付通->我的錢包。如下圖所示:

而病毒程序MSIMG32.dll則通過以下地址(URL),直接訪問“我的錢包”
http://ptlogin2.tenpay.com/clienturl_wallet?clientuin=%s&clientkey=%s&mail=%s&ADUIN=%s&ADSESSIO
https://wallet.tenpay.com/main/cgi-bin/v1.0/wallet_loginto_cft.cgi?COOKIE_uin=%s&COOKIE_skey=%s

圖5 病毒通過Url直接訪問我的錢包
2) 查詢QQ幣信息和QQ點信息。
A.通過https://www.tenpay.com/cgi-bin/v1.0/getimage.cgi?t=1320%lu獲得驗證碼的圖片

B.獲取到驗證碼的圖片之后,會調用另一個病毒文件SVulStrong.dat的相關函數,來誘騙用戶輸入驗證碼,然后查詢QQ幣和QQ點信息。

圖7 查詢Q幣Q點信息填寫驗證碼
通過SVulStrong.dat,創建假冒的QQ異常對話框,誘騙用戶輸入驗證碼。(見接下來對病毒組件SVulStrong.dat的分析)
C.解析相關XML文件,得到Q幣Q點信息。
具體:通過URL可以獲得一個包含有Q幣Q點等QQ帳戶信息的XML文件,通過解析XML文件,即可以得到想要知道的Q幣Q點等信息。
XML中包含以下幾個節點:
<jifen_balance>15分</jifen_balance>
<not_check_dirty_list/>
<qb_balance>0.00個</qb_balance>
<qb_balance>0.0點</qd_balance>
<retcode>00</retcode>
<retmsg>交易成功</retmsg>
如果<retmsg>包含“成功的字樣”,則證明已成功返回Q幣等信息,進而讀取節點<qb_balance>(Q幣的信息)和<qb_balance>(Q點)的信息。
1. 向病毒服務器發送QQ賬號密碼。
A.如果成功返回,則判斷QQ幣和QQ點是否為零。
B.不為零,則向病毒服務器發送QQ賬號和密碼。
服務器地址為:http://121.10.107.117:8015/kkasdf1/lldfa1.asp,經查證,此IP為淮安市殘聯,黑客霸占了這臺服務器,用來收集盜竊來的QQ帳號密碼。
此文件功能較為簡單,主要就是彈出假冒的QQ異常框。
參考下圖可以識別“帳號存在異常”對話框的真假,其中彩色驗證碼圖片為假:

1. 釋放虛假的系統文件msimg32.dll到qq目錄中,使得QQ自動加載,運行病毒。
2. 然后通過掛接鍵盤輸入來截取用戶輸入的帳號密碼,同時修改QQ安全保護相關代碼,破壞qq的密碼保護機制。
3. 獲得賬號密碼之后,后臺偷偷查詢Q幣、Q點信息,再欺騙用戶填寫驗證碼。將Q點或Q幣余額不為零的帳號密碼發送到黑客服務器。
4. 病毒突破了qq的密碼保護,在同類病毒中尚不多見。