被黑客攻擊的那幾天

這幾天從我釘釘上面報(bào)警是23號(hào)開始報(bào)的告警信息給我,當(dāng)時(shí)已經(jīng)經(jīng)歷了13天,天啊,當(dāng)時(shí)我們的服務(wù)器已經(jīng)被劫持(強(qiáng)暴)了13天,然后23號(hào)開始我就一直留意cup使用過高的問題,可是最近要去游山玩水的,也沒有時(shí)間去認(rèn)真投入排錯(cuò),等正式上班了就認(rèn)真開始排錯(cuò)了,以下就是排錯(cuò)的思路:

1、登陸服務(wù)器用top -c 的命令查看那個(gè)進(jìn)程的cup使用高,我的天這個(gè)yarn進(jìn)程的使用了高達(dá)了600-700%的使用率,然后一開始不知道為什么一個(gè)yarn的服務(wù)為什么能夠使用這么高的cup,然后就跟財(cái)哥網(wǎng)上搜索原因,

原因:網(wǎng)上很多都說yarn進(jìn)程如果8080端口暴露在公網(wǎng),而且沒有對(duì)這個(gè)服務(wù)進(jìn)行驗(yàn)證等不安全的操作導(dǎo)致黑客利用yarn的api通過修改一個(gè)json的文件,然后直接可以對(duì)我們服務(wù)器進(jìn)行任何的操作,當(dāng)然yarn只是我們的普通用戶,所以本次的攻擊暫時(shí)沒有對(duì)我們業(yè)務(wù)造成很大的傷害。

以下是yarn-api漏洞的原理:

https://www.freebuf.com/vuls/173638.html

2、通過網(wǎng)上的一頓搜索、思考和操作,終于知道了是yarn的漏洞,一開始以為很簡(jiǎn)單,殺掉這個(gè)進(jìn)程就解決了,我還很高興的和財(cái)哥說,誰知道nodemaniager(yarn下面服務(wù))這個(gè)進(jìn)程又起來了,然后在網(wǎng)上又繼續(xù)搜索,查看到這個(gè)yarn的服務(wù)做了很多循環(huán)的操作,不斷得在定時(shí)任務(wù)上面定時(shí)執(zhí)行挖礦計(jì)算的操作。

3、然后我把定時(shí)任務(wù)刪了,把默認(rèn)的端口也改了,又把nodemaniager服務(wù)起來,這個(gè)進(jìn)程yarn的進(jìn)程又跑起來了,超級(jí)惡心,所以我們前面一直殺一直刪都是無用功。

4、最后我們抱著試下的心里,先把yarn的任務(wù)先刪除,然后再刪定時(shí)任務(wù),最后再殺挖礦的進(jìn)程,這里的yarn的任務(wù)多達(dá)1000多個(gè),只把yarn的任務(wù)kill完也需要30-40分鐘,

查看yarn里所有的任務(wù)

# yarn application -list

以下是我寫kill掉yarn任務(wù)的腳本

#!/bin/bash
array=($(yarn application -list |awk '{print $1}'))
echo ${#array[@]}
for(( i=0;i<${#array[@]};i++))
do
yarn application -kill ${array[i]}
done

總結(jié),如果沒有把yarn任務(wù)都清完,nodemaniager一起來,yarn的進(jìn)程又再做循環(huán)把挖礦程序一直輸出到定時(shí)任務(wù)每隔一分鐘執(zhí)行,網(wǎng)上沒有說到的就是yarn的任務(wù)要清空掉,如果不清空掉的話,從而導(dǎo)致一直殺都?xì)⒉煌甑默F(xiàn)象。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容