一款功能豐富的Perl後門程序分析
*本文原創作者douwanhu,屬於FreeBuf原創獎勵計劃,禁止轉載
最近通過Cowrie蜜罐捕獲一枚有趣的後門程序,此程序用perl語言編寫。功能包括:DDoS(udpflood、tcpflood、httpflood、sqlflood)、hacking(埠掃描、信息收集、本地root、日誌清理等)情報信息搜集(packetstorm、milw0rm)等
一、樣本信息:
蜜罐日誌顯示黑客使用密碼猜解成功登陸SSH後用wget命令下載了程序:
文件信息:
CRC-32 fb9cfdcb
MD5 Hash 8756f19b4385cb2e6b6123da168aca38
SHA1 Hash aa948991579c2f4e7454fd3fecf7c1255a17c835
SHA256 Hash a424c0fc1ac52e34e6bfd68707720ac90148a8dc6450409e85c1dcf24aa7bf8b
VirusTotal 檢測信息
二、行為分析:
程序啟動後調用conectar函數建立與遠程伺服器的連接,伺服器IP地址:118.178.190.138 埠:9981
測試機運行效果:
然後讀取遠程伺服器端傳入的指令:
調用parse函數解析指令,並調用bfunc函數執行相應的任務。此程序核心內容皆在bfunc函數里,因此後續主要分析這個函數。bfunc函數依據傳入的指令參數有如下功能:
①
結束進程:②
列出可處理的指令:③
進行常見的DDoS攻擊:
可以看到訪問hxxp://server.perpetual.pw/syn.c下載源文件然後調用GCC編譯器進行編譯,刪除後使用命令行./syn + []+[]+[]執行DDoS攻擊。經測試這個下載站點已經失效。
Udpflood
可以看到如果收到的指令包含 udp
Tcpflood
如果收到的指令包含tcpflood
實現方法很簡單,即根據傳入的IP地址、埠、持續時間利用socket方法構造TCP包在持續時間內連續對目標發送建立連接的請求。
Sqlflood
:如果傳入的指令包含:sqlflood
Httpflood:
如果傳入的指令包含:httpflood
④
進行常見的hacking功能,如:埠掃描、socks5
代理、本地root提權、Google hacking
等。埠掃描
:如果解析出指令包含portscan
Socks5代理
:可以看出如果收到的指令為socks5,則下載mocks安裝包,並調用system函數執行命令自動化mock的安裝與配置完成socksv5的安裝,然後獲取IP地址:
簡單的通過調用ifconfig命令獲取,提示可以連接的IP地址和埠。
本地root提權
:如果讀取的指令包含rootme則調用」uname -r」和」whoami」命令查看Linux版本號及當前用戶。然後根據版本號尋找可用的root工具,版本號列表及對應的root工具存在名為」h」的哈希中:
由於太長只截取一部分,剩餘的rootexploits還有:」elfdump」,」 expand_stack」 ,」 h00lyshit」,」 kdump」,」 km2」,」 krad」,」krad3」,」 krad3」,」 loko」,」 mremap_pte」,」 newlocal」,」 ong_bak」,」 ptrace」,」ptrace_kmod」,」 ptrace24」,」 pwned」,」 py2」,」 raptor_prctl」,」 prctl3」,」 remap」,」rip」,」 stackgrow2」,」 uselib24」,」 uselib24」,」 smpracer」,」 smpracer」,」 exp.sh」,」kmdx」,」 raptor」,」 raptor2」。這部分功能該腳本僅是查詢到宿主系統可以用列表中的哪個exploit工具提權,沒有後續的提權動作。
發送郵件
:
可以看出程序利用linuxsendmail發送郵件,接收指令格式為:sendmail
利用各搜索引擎dork技巧查詢情報(googlehacking、yahoo、msn、fireball等)
如果接收的指令為 multiscan
由於各個函數原理相同只是查詢的url和條數略有區別,因此這裡只拿Google做說明,其他類似,google函數:
查詢記錄條數限制在100條。其他函數皆類似。
擦除痕迹,清理日誌:
使用system函數調用rm命令刪除日誌信息和歷史文件。
⑤
情報搜集:安全站點news搜集
如果接收的指令為」 milw0rm」則會訪問milw0rm站點搜集最新的exploits信息,同樣的如果接收到指令packetstorm,則會訪問www.packetstormsecurity.org獲取最新情報
利用google hacking技術搜集含有sql漏洞的站點
接收指令:sql2
然後構造sql語句測試漏洞情況
至此該腳本的大部分主要功能都已分析完畢,接下來進行簡單的溯源。
三、簡單溯源
腳本在最開始不傳入參數的情況下默認與IP地址為118.178.190.138的server建立連接,查詢該IP地址信息如下:
Kail 下nmap掃描該主機,沒得到有用信息,估計有防護措施,掃描不到有用的結果:
猜測是部署在阿里雲上的雲主機,嘗試瀏覽器訪問此IP得到如下頁面:
顯示為「向向遊戲平台」。至於是這台server也淪陷了還是….就不得而知了。
四、總結
這個後門程序類似於之前網上有報過的名為」 DDoS Perl Bot v1.0」的後門程序,只是功能上要豐富許多,作者應該是國外的,被國內黑客通過修改遠程server的IP進行定製,從而實現與自己的C&C server交互。可以跨平台,對於安裝了Perl解釋器的Windows系統同樣可以實現部分功能,不過主要還是針對Linux系統威脅較大,用於滲透後植入後門。總的來說功能雖多但實現的質量和方法確實不高,作為案例分享和思路啟發還是有一定意義的。
*本文原創作者douwanhu,屬於FreeBuf原創獎勵計劃,禁止轉載
※挖洞經驗 | 看我如何利用SAML漏洞實現Uber內部聊天系統未授權登錄
※安全CDN市場分析 | 動作頻出的背後,我們看到一個有野心的Incapsula
※全能無線滲透測試工具,一個LAZY就搞定了
※藍牙協議曝 8 個嚴重安全漏洞,可能影響 53 億有藍牙功能的設備
※人,最脆弱也最安全:2017中國互聯網安全大會首日紀實
TAG:FreeBuf |