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

    Linux后門RedXOR

    VSole2021-11-24 06:20:12

    一、簡介

    RedXOR是一個針對Linux終端和服務器的新的復雜后門程序,在2021年2月24號首次在VT上被上傳以及發現。這些樣本在 VirusTotal 中的檢測率較低,且大多是從印度尼西亞和臺灣上傳的。RedXOR使用名為Adore-ng的開源LKM rootkit來隱藏其進程。

    二、行為分析

    首先調用fork函數,創建子進程并讓父進程直接退出,使父進程被init接管成為僵尸進程去執行以后的操作。通過判斷用戶是否為root用戶還是普通用戶,選擇用戶根目錄下創建一個“.po1kitd.thumb”隱藏目錄。

    接著分析AddAuto函數,使用readlink讀取當前進程的源路徑可以獲取當前程序的絕對路徑。如果當前進程的二進制文件不叫”po1kitd-update-k“,則重命名為它。

    在創建一個名為”po1kitd-update.sh“的shell腳本,內容為用sh來執行”.po1kitd-update-k“文件,設置為開機執行,并在之后執行它。

    嘗試rootkit,通過insmod命令將“po1kitd.ko”文件中的內容加載到內核中。

    通過在/proc目錄下創建po1kitd文件再刪除,判斷KLM rootkit是否已經生效。根據Google知道該RAT使用的rootkit是開源的adore-ng(“CheckLKM”邏輯幾乎與“adore-ng”rootkit中的adore_init函數相同)。而在adore-ng中,已經hook掉了具體proc文件系統的lookup回調函數為adore_lookup,將隱藏進程的操作放到該lookup中。創建文件的目的不是創建一個新文件,而是希望使執行流到達lookup調用。如果文件的uid和sid被設置成實現約定好的id,那么就說明該文件要隱藏。然后,該RAT將進程的suid與uid進行比較,如果不匹配或者uid為“10”,則rootkit生效了。

    離開AddAuto函數,回到main函數,跟進hide_proc函數。

    根據之前的分析,我們可以知道這里調用open函數是為了觸發adore_lookup調用,而adore-ng發現文件的前綴為”hide-“就調用hide_proc函數,根據pid隱藏進程,從而實現進程隱藏。

    該RAT將C2地址、端口、驗證的用戶名和密碼配置存儲在可執行二進制文件中。配置值由“doXor”函數解密,解密邏輯是針對字節的簡單異或。其中ServerIP和Password處于被加密狀態,經過doXor為解密狀態,而ProxyServer、ProxyUser和ProxyPwd因為不需要用到則是相反。它們解密后的明文內容如下圖所示。

    main_process函數是該RAT的主要邏輯。若ServerIP與LastIP不同,則調用write_hidden_ip函數將ServerIP加密后的內容存儲到“/var/tmp/.po1kitd-k3i86dfv”文件中,并復制到LastIP中。接下來便是連接C2服務器了。

    該RAT使用tcp進行通信,但是通過自己定義使用類似http的形式交互。對于數據部分,該RAT使用待傳數據的長度對數據進行異或后再發送。

    先獲取Content-Length等數字信息,之后根據這些值來接收對應長度的內容。這部分接受的數據以128個字節為處理單元,通過analysisData函數負責處理來獲取整型數字或長整型。之后接收到的數據需要通過doXor函數進行解密。

    后接收到的數據內容中,前兩個字節為命令代碼。因為一共有19個命令,這里只選其中幾個介紹,其他的命令參考下文的列表。

    調用Portmap函數,把RPC程序號轉化為Internet的端口號。

    pty 模塊定義了處理偽終端概念的操作:啟動另一個進程,并能夠以編程方式對其控制終端進行寫入和讀取。創建管道,使用pty打開一個shell,通過管道來實現與shell交互。

    向管道寫入要執行的命令,shell的讀端會收到命令并執行。

    通過調用getFSYYSData函數獲取目錄信息,getFSYSData函數主要是通過directory函數進行信息獲取和整理的,directory函數細節如下圖所示。

    該RAT通過調用uninstall函數擦除痕跡。

    命令代碼功能如下:

    1. 0         調用get_sys_info函數,獲取系統信息
    2. 8         向文件寫入一個字節的內容,并當寫入長度達到要求時給文件“chmod 0777 ”
    3. 9         結束進程,擦除痕跡
    4. 1010  調用install_LKM函數,安裝LKM rootkit
    5. 2049  調用getFSYSData函數,列出目錄及目錄內文件的信息
    6. 2054  調用send_download函數,上傳文件
    7. 2055  fopen,以“ab”或“wb”的形式打開文件
    8. 2056  system,直接調用system執行傳過來的命令 
    9. 2058  remove,刪除文件
    10. 2059  rename,重命名文件或目錄
    11. 2060  rmdir,刪除目錄
    12. 2061  功能與2059相同
    13. 2062  mkdir,創建目錄
    14. 2066  fwrite,將數據寫到某個文件
    15. 3000  pty.spawn('/bin/sh'),打開一個shell
    16. 3058  write,借由管道將要執行的命令寫入到shell中執行
    17. 3999  szShellClosed = 1,關閉shell
    18. 4001  調用Portmap函數,把RPC程序號轉化為Internet的端口號
    19. 4002  kill portmap創建的進程,關閉portmap
    

    三、IOC

    樣本名稱:.po1kitd-update-k

    來源:https://www.tutorialjinni.com/download-redxor-backdoor-sample-1/0a76c55fa88d4c134012a5136c09fb938b4be88a382f88bf2804043253b0559f.py

    MD5:2bd6e2f8c1a97347b1e499e29a1d9b7c

    SHA-1:33b25277b4bc49e565bdabf2232b7c1412ce2796

    SHA-256:0a76c55fa88d4c134012a5136c09fb938b4be88a382f88bf2804043253b0559f

    C2地址:158.247.208.230

    四、總結

    如果發現在用戶根目錄下存在".po1kitd.thumb"的目錄,則該主機可能已經被控制了。受害者可以通過殺死來自“.po1kitd-update-k”二進制文件的進程,刪除".po1kitd.thumb"和"/var/tmp/.po1kitd-k3i86dfv"目錄,以及檢查“/etc/init.d/”和"/usr/syno/etc/rc.d/“目錄中是否存在名為“po1kitd-update.sh”的文件,若有則刪除。還要將已經加載的Adore-ng rootkit從內核中卸載下來。最后還要查看系統日志,查看“.po1kitd-update-k”程序是否有在其他地方創建文件或目錄,及時清除,確保擦除所有痕跡。

    函數調用linux服務器
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    又一天,又一個針對 Linux 系統的惡意軟件威脅!NoaBot和Mirai之間的一個顯著區別是,僵尸網絡不是針對DDoS攻擊,而是針對連接SSH連接的弱密碼來安裝加密貨幣挖掘軟件。
    陳馳 ,2017年加入美團,目前主要負責IDC服務器的檢測防御產品研發,完善服務器側縱深防御體系建設。 楊一 ,2017年加入美團,目前主要負責HIDS主機安全產品研發工作。 胡鑫博 ,2021年加入美團,目前主要負責HIDS Agent的研發。 前言
    由于傳播、利用此文所提供的信息而造成的任何直接或者間接的后果及損失,均由使用者本人負責,文章作者不為此承擔任何責任。 如果文章中的漏洞出現敏感內容產生了部分影響,請及時聯系作者,望諒解。
    不可中斷狀態實際上是系統對進程和硬件設備的一種保護機制。當負載存在明顯升高趨勢時,及時進行分析和調查。系統調用過程中并不會涉及虛擬內存等進程用戶態資源,也不會切換進程。因此系統調用通常稱為特權模式切換。進程是由內核管理和調度的,進程上下文切換只能發生在內核態。因此相比系統調用來說,在保存當前進程的內核狀態和CPU寄存器之前,需要先把該進程的虛擬內存,棧保存下來。
    本篇文章通過 網絡架構層、HTTP協議層、第三方應用層講解了繞過WAF的常見方法一、網絡架構層一般通過域名指向云WAF地址后反向實現代理,找到這些公司的服務器的真實IP即可實現繞過具體方法如下:1、查找相關的二級域名及同一域名注冊者的其他域名解析記錄。ISASP支持類似Unicode%u0027的編碼,還會對不合法的URL編碼進行字符刪除。
    今年初,Akamai 的研究人員發現了一個新型惡意僵尸網絡,它以 Realtek SDK、華為路由器和 Hadoop YARN 服務器為目標,將設備引入到 DDoS 群中,有可能進行大規模攻擊。這個新型僵尸網絡是研究人員在自己的 HTTP 和 SSH 蜜罐上發現的,該僵尸網絡利用了 CVE-2014-8361 和 CVE-2017-17215 等漏洞。
    命令注入漏洞如何讓攻擊者接管機器,以及如何防止這些漏洞。命令注入漏洞可能是應用程序中可能發生的最危險的漏洞之一。當用戶輸入在沒有適當預防措施的情況下直接連接到系統命令中時,就會發生這種情況。讓我們用一個例子來理解。在代碼中調用系統命令假設Web應用程序具有允許用戶通過站點下載網頁的功能。要實現此功能,可以使用Python執行系統命令wget來下載網頁。
    SMB協議可在互聯網的TCP/IP協議或者互聯網數據包交換和NetBEUI等協議之上使用。使用SMB協議,應用程序可訪問遠程服務器的文件以及打印機、信槽和命名管道等資源。RemoveLegacyFolder就是采用思路2來移除經典路徑..\的,向前搜索的過程存在風險,并且對其邊界檢查無效,從而導致了緩沖區溢出的產生。
    Satacom下載程序,也稱為LegionLoader,是2019年出現的一個著名的惡意軟件家族。該惡意軟件利用查詢DNS服務器的技術獲取base64編碼的URL,以便接收當前由Satacom傳播的另一惡意軟件家族的下一階段。
    我們發現了一個路徑遍歷漏洞(CVE-2022-24716),該漏洞可被濫用以泄露服務器上的任何文件。它可以在沒有身份驗證和事先不知道用戶帳戶的情況下被利用。我們還發現了CVE-2022-24715,它會導致從管理界面執行任意PHP代碼。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类