自2020年開始,深信服安全團隊監測到Linux惡意軟體挖礦事件大量增多,且有持續上升的趨勢。
與Windows下五花八門的勒索病毒家族不同,Linux下感染量較大的惡意軟體就幾個家族。但這幾個家族佔據了全球大部分的感染主機,幾乎呈現出壟斷的趨勢。
本文將介紹Linux環境下7個較常見的流行惡意軟體家族,以及其對應的清除步驟。
常見的七大流行病毒家族
BillGates
BillGates在2014年被首次發現,由於其樣本中多變數及函式包含字串”gates”而得名,該病毒主要被黑客用於DDos,其特點是會替換系統正常程式(ss、netstat、ps、lsof)進行偽裝。
主機中毒現象:
[1] 在/tmp/目錄下存在gates.lod、moni.lod檔案。
[2] 出現病毒資料夾/usr/bin/bsd-port/。
[2] 主機訪問域名www.id666.pw。
[3] 系統檔案(ss、netstat、ps、lsof)被篡改過,修改時間異常。
病毒清除步驟:
[1] 清除/usr/bin/bsd-port/getty、.ssh等病毒程式。
[2] 清除/usr/bin/bsd-port/getty、/usr/bin/.sshd等病毒檔案。
[3] 從/usr/bin/dpkgd/目錄恢復原系統檔案。
DDG
DDG是目前更新最頻繁的惡意軟體家族,同時感染量也十分龐大,黑客使用P2P協議來控制這個殭屍網路,來實現隱藏C&C的目的,該病毒的主要目的為蠕蟲式挖礦,特點是版本迭代過程中,病毒檔名保持以ddg.*和i.sh的規範命名。
主機中毒現象:
[1] /tmp/目錄下出現有ddgs.+數字的ELF檔案。
[2] 在/tmp/目錄下存在qW3xT.*和SzDXM等隨機名檔案。
[3] 存在下載i.sh的定時任務。
病毒清除步驟:
[1] 清除隨機名挖礦程式及對應檔案。
[2] 刪除母體檔案ddg.*。
[3] 刪除帶有i.sh字串的定時任務。
[4] 刪除ssh快取公鑰authorized_keys。
SystemdMiner
SystemdMiner使用3種方式(YARN漏洞、Linux自動化運維工具、.ssh快取金鑰)進行傳播,該病毒前期的檔案命名帶有Systemd字串,而後期版本已更換為隨機名,其特點是,善用暗網代理來進行C&C通訊。
主機中毒現象:
[1] 定時訪問帶有tor2web、onion字串的域名。
[2] 在/tmp目錄下出現systemd*的檔案(後期版本為隨機名)。
[3] 存在執行systemd-login的定時任務(後期版本為隨機名)。
病毒清除步驟:
[1] 清除/var/spool/cron和/etc/cron.d目錄下的可疑定時任務。
[2] 清除隨機名的挖礦程式。
[3] 清除殘留的systemd-login和*.sh病毒指令碼。
StartMiner
StartMiner於今年2月被發現,由於其程式及定時任務中包含2start.jpg字串而得名,該病毒通過ssh進行傳播,其特點是會建立多個包含2start.jpg字串的惡意定時任務。
主機中毒現象:
[1] 定時任務裡有包含2start.jpg的字串。
[2] /tmp/目錄下存在名為x86_*的病毒檔案。
[3] /etc/cron.d出現多個偽裝的定時任務檔案:apache、nginx、root。
病毒清除步驟:
[1] 結束挖礦程式x86_*。
[2] 刪除所有帶有2start.jpg字串的定時任務。
[3] 清除所有帶有2start.jpg字串的wget程式。
WatchdogsMiner
2019年一個同樣以Redis未授權訪問漏洞及SSH爆破傳播的WatchdogsMiner家族被發現,由於其會在/tmp/目錄下釋放一個叫watchdogs的母體檔案而得名。WatchdogsMiner的初始版本會將惡意程式碼託管在pastebin.com上以繞過檢測,不過後續版本已棄用,改為自己的C&C伺服器*.systemten.org。該病毒的特點是樣本由go語言編譯,並試用了偽裝的hippies/LSD包(github_com_hippies_LSD_*)。
主機中毒現象:
[1]存在執行pastebin.com上惡意程式碼的定時任務。
[2]/tmp/目錄下存在一個名為watchdogs的病毒檔案。
[3]訪問*.systemten.org域名。
病毒清除步驟:
[1] 刪除惡意動態連結庫 /usr/local/lib/libioset.so
[2] 清理 crontab 異常項
[3] 使用kill命令終止挖礦程式
[4] 排查清理可能殘留的惡意檔案:
(a) chattr -i /usr/sbin/watchdogs /etc/init.d/watchdogs /var/spool/cron/root /etc/cron.d/root;
(b) chkconfig watchdogs off;
(c) rm -f /usr/sbin/watchdogs /etc/init.d/watchdogs。
[5] 由於檔案只讀且相關命令被hook,需要安裝busybox並使用busybox rm命令刪除。
XorDDos
XorDDoS殭屍網路家族從2014年一直存活至今,因其解密方法大量使用Xor而被命名為XorDDoS,其主要用途是DDos公網主機,特點是樣本運用了“多型”及自刪除的方式,導致主機不斷出現隨機名程式,同時採用了Rootkit技術隱藏通訊IP及埠。
主機中毒現象:
[1] 存在病毒檔案/lib/libudev.so。
[2] 在/usr/bin,/bin,/lib,/tmp目錄下有隨機名病毒檔案。
[3]存在執行gcc.sh的定時任務。
病毒清除步驟:
[1] 清除/lib/udev/目錄下的udev程式。
[2] 清除/boot下的隨機惡意檔案(10個隨機字串數字)。
[3] 清除/etc/cron.hourly/cron.sh和/etc/crontab定時器檔案相關內容。
[4] 如果有RootKit驅動模組,需要解除安裝相應的驅動模組,此次惡意程式主要它來隱藏相關的網路IP埠。
[5] 清除/lib/udev目錄下的debug程式。
RainbowMiner
RainbowMiner自2019年就頻繁出現,由於其訪問的C&C域名帶有Rainbow字串而得名,其最大的特點是會隱藏挖礦程式kthreadds,排查人員會發現主機CPU佔用率高,但找不到可疑程式。
主機中毒現象:
[1] 隱藏挖礦程式/usr/bin/kthreadds,主機CPU佔用率高但看不到程式。
[2] 訪問Rainbow66.f3322.net惡意域名。
[3] 建立ssh免密登入公鑰,實現持久化攻擊。
[4] 存在cron.py程式持久化守護。
病毒清除步驟:
[1] 下載busybox:wget http://www.busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-x86_64。
[2] 使用busybox top定位到挖礦程式kthreadds及母體程式pdflushs,並清除。
[6] 刪除/usr/bin/kthreadds及/etc/init.d/pdflushs檔案,及/etc/rc*.d/下的啟動項。
[7] 刪除/lib64/下的病毒偽裝檔案。
[8] 清除python cron.py程式。
加固建議
1、Linux惡意軟體以挖礦為主,一旦主機被挖礦了,CPU佔用率高,將會影響業務,所以,需要實時監控主機CPU狀態。
2、定時任務是惡意軟體慣用的持久化攻擊技巧,應定時檢查系統是否出現可疑定時任務。
3、企業還大量存在ssh弱密碼的現象,應及時更改為複雜密碼,且檢查在/root/.ssh/目錄下是否存在可疑的authorized_key快取公鑰。
4、定時檢查Web程式是否存在漏洞,特別關注Redis未授權訪問等RCE漏洞。