Redis漏洞攻擊植入木馬逆向分析

wyzsk發表於2020-08-19
作者: 阿里雲安全 · 2015/11/17 14:24

作者:夢特(阿里云云盾安全攻防對抗團隊)

0x00 背景


2015年11月10日,阿里雲安全團隊捕獲到駭客大規模利用Redis漏洞的行為,獲取機器root許可權,並植入木馬進行控制,異地登入來自IP:104.219.xxx.xxx(異地登入會有報警)。由於該漏洞危害嚴重,因此阿里雲安全團隊在2015年11月11日,簡訊電話聯絡使用者修復Redis高危漏洞,2015年11月14日,雲盾系統檢測到部分受該漏洞影響淪為肉雞的機器進行DDOS攻擊,發現後雲盾系統已自動通知使用者。

0x01 木馬控制協議逆向分析


分析發現木馬作者,有2個控制協議未完成。

  • Connect協議有處理函式,但沒有功能,函式地址為0x8048545。

  • sniffsniff協議沒有對應的處理函式,作者未實現該功能。

    完全逆向分析後得到控制協議如下表:

協議 協議格式 分析描述
kill kill 結束自身程式
dlexec dlexec IP filepath port 在指定IP下載檔案並執行
qweebotkiller qweebotkiller 遍歷程式PID為0到65535,查詢對應檔案,若匹配特徵EXPORT %s:%s:%s,則刪除檔案
system system cmdline 呼叫系統的/bin/sh執行shell指令碼
connect connect ips arg2 arg3 arg4 有處理函式,但作者把connect的功能給閹割了,並沒有去實現connect協議的功能,因此我們只分析出協議1個引數的意議,另外3個引數不知道意義。
icmp icmp IPs attacktime PacketLen 發動icmp協議攻擊
tcp tcp ips port attacktime flags packetlen 發動TCP的(fin,syn,rst,psh,ack,urg)DDOS攻擊,攻擊時間為秒。
udp udp ips port attacktime packetlen 發動UDP攻擊。
sniffsniff sniffsniff 這個協議木馬並沒有實現功能。
  • 協議完成逆向後,我們用Python寫了一個控制端,並實現全部協議控制木馬,如下圖:

0x02 木馬概述


從逆向得到的協議分析可以發現,該木馬的功能主要包括:

  • 發動DDoS攻擊(ICMP、UDP、TCP)
  • 遠端執行命令
  • 遠端下載檔案執行
  • 清除其他後門檔案

檔案MD5:9101E2250ACFA8A53066C5FCB06F9848

程式操作

  • 木馬啟動,木馬接受1個引數,引數為要kill的程式PID。函式地址為0x8049C77.

  • 木馬會啟動一個孫子程式執行木馬功能,然後當前程式退出。

檔案操作

  • 暴力關閉檔案,關閉0到0xFFFF的檔案,呼叫系統呼叫sys_close(),函式地址為0x8049C77。

  • 自我刪除,呼叫系統呼叫sys_readlink()讀取/proc/self/exe獲取檔案路徑,sys_unlink()進行刪除,處理函式地址為0x80494F3。

網路操作

  • 連線8.8.8.8的53埠,探測網路是否連線到Internet,處理函式地址為0x8049B90。

  • 連線木馬控制端37.xxx.xxx.x的53埠,處理函式地址為0x8049C77。

本文章來源於烏雲知識庫,此映象為了方便大家學習研究,文章版權歸烏雲知識庫!

相關文章