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

    RotaJakiro后門與Buni后門關聯性分析

    VSole2022-12-05 09:31:19

    本文將根據360Netlab報告中提到的RotaJakiro后門特點以及微步報告中描述的Buni后門特點對二者關聯分析。經分析,兩種后門的相似之處如下:

    1、單一實例

    RotaJakiro通過文件鎖來實現單一實例,具體實現如下圖左所示。圖右為Buni單一實例實現方式。

    2、發包與收包

    RotaJakiro后門將構造上線信息加密發送至C2,其中send函數如下:

    同樣的,recv函數也十分相似。

    然而,RotaJakiro與Buni的不同之處似乎更多。

    1、C2解密算法

    OceanLotus RotaJakiro樣本中調用AES+Rotate Left解密C2,對抗技巧之一:使用stack strings obfuscation技術存儲加密的敏感資源信息。其與解密相關的各種參數如下圖所示,密文長度為32字節,明文長度為26字節。

    AES解密,其中aes_dec的采用的是AES-256, CBC模式,key&iv都是硬編碼。

    Rotate為循環移位,此處使用的循環左移,其中移位的次數由plain_len(明文長度)&7的值決定。

    AES解密后得到以下“次級密文”:

    從次級密文中取出有效密文,其中有效密文從第8字節開始,長度為明文長度減8,此處即為26-8=18字節。

    最后通過明文長度26可以計算26&7=2,得到移位的次數,將上述有效密文逐字節左移2位之后得到C2明文。

    而Buni后門中使用的C2加密算法為XOR。

    與0xB1異或結果為 zabbixasaservice.com:443。

    2、結構化流量/網絡通信包

    RotaJakiro的網絡通信包由Head,Key,Payload三部分組成。其中header是必須的,長度為82字節,而body&payload部分是可選的。head&key采用的XOR&Rotate加密,payload采用AES&ZLIB加密壓縮。

    head通過逐字節左移3位,然后和0x1b異或進行解密。

    解密后可得

    offset 0x09, 4 bytes -> payload length

    offset 0x0d, 2 bytes -> key length

    offset ox0f, 4 bytes -> cmdi

    key的長度為0x8字節,payload 的長度為0x20字節,要執行的指令碼為0x18320e0,即上報設備信息。

    key使用和head一樣的解密方法,解密后作為AES的密鑰來解密payload。

    payload 使用解密后的key做為AES-256的密鑰,以CBC模式解密,第8字節起即為ZLIB壓縮數據,進行解壓。

    解壓后做為新的AES密鑰,配合參數解密樣本中硬編碼的加密指令。

    最后發送至C2的數據包仍以上述結構組成,其中payload 經解密為上述指令執行的結果。

    Buni則是通過逐字節recv接收的方式解析流量結構。

    解析結果如下,要執行的指令碼為0xdafe。

    Buni的通信流量特征與RotaJakiro相似度較低。

    進程偽裝

    RotaJakiro進程偽裝對root/non-root做了區分。

    針對root用于偽裝的文件名:/bin/systemd/systemd-daemon 或 /usr/lib/systemd/systemd-daemon

    針對non-root:$HOME/.dbus/sessions/session-dbus 和$HOME/.gvfsd/.profile/gvfsd-helper

    Buni 通過隨機函數產生6-12的隨機長度字符串,調用 prctl 函數設置隨機進程名稱,偽裝成系統進程。

    再來看RotaJakiro與2017年Palo Alto披露的海蓮花macOS后門的相同之處。

    1、C2會話建立函數

    RotaJakiro與海蓮花macOS后門均使用了相對小眾的getaddrinfo()函數,Buni后門中則使用Linux常見的域名解析函數gethostbyname()。

    2、上線包構造手法

    RotaJakiro和海蓮花的網絡數據包都是由Head,Key,Payload三部分組成,其中Head是必須的,長度為82字節,而Key和Payload則是可選的。Head中的關鍵字段包括:

    偏移1,DWORD類型,存放一個magic;

    偏移9,DWORD類型,存放Payload長度;

    偏移13,WORD類型,存放Key長度;

    偏移15,DWORD類型,存放消息碼。

    RotaJakiro通過一個單獨的函數初始化上線包的Head,海蓮花樣本中也存在一個專門初始化上線包Head的函數。

    最終上線包如下,RotaJakiro與海蓮花上線包明文結構一樣,關鍵字段值基本相同。

    Buni上線包如下:

    3、均存在rotate函數

    RotaJakiro和海蓮花都存在一個“rotate()”的函數,用于加/解密,Buni后門不包含該特征。

    4、相同的指令碼

    RotaJakiro和海蓮花都用DWORD類型的指令碼來指定消息的功能,并且共享了多個語義相同的指令碼。

    Buni指令碼為WORD類型,未發現指令碼共享。

    研究人員將Buni后門歸因為海蓮花的主要原因是其與RotaJakiro后門存在相似之處。

    經分析,Buni后門與RotaJakiro后門的關聯性較低,只有創建文件鎖、發包與收包函數相似,在其他方面例如加解密算法:RotaJakiro樣本中幾乎沒有明文存在,C2地址以及執行指令均經過加密,涉及到的算法包括動態AES、Rotate Letf、ZLIB,而Buni中的指令以明文硬編碼存在,C2地址僅以異或加密,上線包特征,指令特征,持久化實現、進程偽裝等方向均無重合之處,因此筆者認為Buni后門或不足以歸因為海蓮花。

    payloadaes加密
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    主流webshell工具流量分析
    而iOS呢肯定是iPhone了,但是如何選系統如何自己越獄呢?比如手機越獄后,發現開不開機無法進入主界面,有可能是注入的插件有問題。然后進入frida-ios-dump腳本的目錄直接執行./dump 包名。
    在Shiro反序列化漏洞修復的過程中,如果僅進行Shiro的版本升級,而沒有重新生成密鑰,那么AES加密的默認密鑰扔硬編碼在代碼里,仍然會存在反序列化風險。
    BurpCrypto在Web滲透測試中有一個關鍵的測試項:密碼爆破。使用方法BurpCrypto安裝完成后會在BurpSuite中添加一個名為BurpCrypto的選項卡,打開選項卡可進入不同加密方式的具體設置界面。找的密文對應的明文BurpSuite中有一個飽受詬病的問題,在測試器的測試結果中,無法顯示原始Payload,也就是字典內容。因為Java內置的JavaScript不包含瀏覽器中的window、document、console等API,不過好在此類組件一般不會對加密的核心功能造成影響,但是還是需要將調用此類組件的相關代碼進行刪除或者調整。
    Villain是一款針對Windows和Linux操作系統設計和開發的后門生成與多會話處理工具,該工具允許廣大研究人員與兄弟服務器或其他運行了Villain的設備進行連接,并共享他們的后門會話,以方便廣大研究人員和團隊之間的協同工作。由于該工具基于Python 3開發,因此廣大研究人員首先需要在本地設備上安裝并配置好Python 3環境。
    Bypass Shellcode - Encryptor
    2022-01-03 08:55:10
    Bypass Shellcode - Encryptor
    Xray撿洞中的高頻漏洞
    2021-12-28 04:33:22
    用 X-Ray 刷洞發現一些出現頻率高的漏洞,把漏洞原理和利用方式稍作整理,按照危害排名,低危漏洞可以收集一些信息然后深度利用變高危。
    一次成功的Shiro Padding Oracle需要一直向服務器不斷發包,判斷服務器返回,攻擊時間通常需要幾個小時。因為這些程序沒有對發包失敗拋出異常的情況做出處理,從而導致工具停止工作。最終,攻擊成功了,我虛擬機下花了不到1小時共計完成,但是在真實生產環境測試,攻擊成功一次DNS或者JRMPClient攻擊,程序需要跑大約4個小時左右,2次攻擊加起來近9個小時。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类