當前位置:
首頁 > 新聞 > 一款功能豐富的Perl後門程序分析

一款功能豐富的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 ,則根據收到的IP地址構造UDP包,持續向目標地址和埠發包,直至給定的結束時間。


Tcpflood


 

如果收到的指令包含tcpflood 

,則調用tcpflooder函數進行持續時間為的tcpflood攻擊,tcpflooder函數如下:


實現方法很簡單,即根據傳入的IP地址、埠、持續時間利用socket方法構造TCP包在持續時間內連續對目標發送建立連接的請求。


Sqlflood

:



如果傳入的指令包含:sqlflood ,則根據接收的IP地址建立至目標IP地址3306埠的TCP連接,持續時間為


Httpflood:


 

如果傳入的指令包含:httpflood 

,則根據接收的IP地址建立至目標IP地址80埠的TCP連接,持續時間為

進行常見的hacking

功能,如:埠掃描、socks5

代理、本地root

提權、Google hacking

等。


埠掃描


如果解析出指令包含portscan ,則根據給定IP地址對埠列表進行創建tcp連接遍歷,獲得開放的埠號。


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 ,則根據給定的vuln和查詢欄位dork遍歷各大搜索引擎的搜索結果。



由於各個函數原理相同只是查詢的url和條數略有區別,因此這裡只拿Google做說明,其他類似,google函數:



查詢記錄條數限制在100條。其他函數皆類似。


擦除痕迹,清理日誌:



使用system函數調用rm命令刪除日誌信息和歷史文件。


情報搜集:


安全站點news搜集



如果接收的指令為」 milw0rm」則會訪問milw0rm站點搜集最新的exploits信息,同樣的如果接收到指令packetstorm,則會訪問www.packetstormsecurity.org獲取最新情報



利用google hacking技術搜集含有sql漏洞的站點



接收指令:sql2 ,然後調用之前google hacking講到的那些諸如google、msn函數進行查詢,返回查詢結果



然後構造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原創獎勵計劃,禁止轉載


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

挖洞經驗 | 看我如何利用SAML漏洞實現Uber內部聊天系統未授權登錄
安全CDN市場分析 | 動作頻出的背後,我們看到一個有野心的Incapsula
全能無線滲透測試工具,一個LAZY就搞定了
藍牙協議曝 8 個嚴重安全漏洞,可能影響 53 億有藍牙功能的設備
人,最脆弱也最安全:2017中國互聯網安全大會首日紀實

TAG:FreeBuf |