<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          急死!CPU被挖礦了,卻找不到哪個進程!

          共 2146字,需瀏覽 5分鐘

           ·

          2021-01-09 16:21

          CPU起飛了

          最近有朋友在群里反饋,自己服務(wù)器的CPU一直處于高占用狀態(tài),但用topps等命令卻一直找不到是哪個進程在占用,懷疑中了挖礦病毒,急的團團轉(zhuǎn)。

          根據(jù)經(jīng)驗,我趕緊讓他看一下當前服務(wù)器的網(wǎng)絡(luò)連接,看看有沒有可疑連接,果然發(fā)現(xiàn)了有點東西:

          Shodan查一下這IP地址:

          反向查找,發(fā)現(xiàn)有諸多域名曾經(jīng)解析到這個IP地址:

          這是一個位于德國的IP地址,開放了4444,5555,7777等數(shù)個特殊的服務(wù)端口:

          其中這位朋友服務(wù)器上發(fā)現(xiàn)的連接到的是7777端口,鐘馗之眼顯示,這是一個HTTP服務(wù)的端口,直接訪問返回的信息如下:

          mining pool!,服務(wù)器正在挖礦實錘了!

          但神奇的是,這個進程像是隱身了一般,找不到存在的任何痕跡。

          進程如何隱藏

          現(xiàn)在說回到本文的正題:Linux操作系統(tǒng)上,進程要隱藏起來,有哪些招數(shù)?

          要回答這個問題,先來知道ps、top等命令枚舉系統(tǒng)的進程列表的原理。

          Linux的設(shè)計哲學(xué)是:一切皆文件!

          進程也不例外, Linux系統(tǒng)中有一個特殊的目錄:/proc/,這個目錄下的內(nèi)容,不是硬盤上的文件系統(tǒng),而是操作系統(tǒng)內(nèi)核暴露出的內(nèi)核中進程、線程相關(guān)的數(shù)據(jù)接口,也就是procfs,里面記錄了系統(tǒng)上正在運行的進程和線程信息,來查看一下:

          這些以數(shù)字命名的目錄,就是一個進程的PID,里面記錄了該進程的詳細信息。

          而ps、top等命令的工作原理,實質(zhì)上就是遍歷這個目錄。

          知道了原理,想實現(xiàn)隱藏就有以下幾個思路:

          命令替換

          直接替換系統(tǒng)中的ps、top命令工具??梢詮腉itHub上下載它們的源碼,加入對應(yīng)的過濾邏輯,在遍歷進程的時候,剔除挖礦進程,實現(xiàn)隱藏的目的。

          模塊注入

          編寫一個動態(tài)鏈接庫so文件,在so中,HOOK遍歷相關(guān)的函數(shù)(readdir/readdir64),遍歷的時候,過濾挖礦進程。

          通過修改LD_PRELOAD環(huán)境變量或/etc/ld.so.preload文件,配置動態(tài)鏈接庫,實現(xiàn)將其注入到目標進程中。

          內(nèi)核級隱藏

          模塊注入的方式是在應(yīng)用層執(zhí)行函數(shù)HOOK,隱藏挖礦進程,更進一步,可以通過加載驅(qū)動程序的方式在內(nèi)核空間HOOK相應(yīng)的系統(tǒng)調(diào)用來實現(xiàn)隱藏。不過這對攻擊者的技術(shù)要求也更高,遇到這樣的病毒清理起來挑戰(zhàn)也更大了。

          揪出挖礦進程

          通過上面的進程隱藏原理看得住來,都是想盡辦法隱藏/proc目錄下的內(nèi)容,類似于“障眼法”,所以包含ps、top、ls等等在內(nèi)的命令,都沒辦法看到挖礦進程的存在。

          但蒙上眼不代表不存在,有一個叫unhide的工具,就能用來查看隱藏進程。

          我讓這位朋友安裝這個工具來查找隱藏的進程,但奇怪的是,一執(zhí)行yum install安裝,遠程連接的SSH會話就立刻斷開。

          于是退而求其次,選擇通過源碼安裝,又是一直各種報錯···

          因為我沒辦法親自操作這臺服務(wù)器,溝通起來比較麻煩,于是我決定研究下這個unhide工具的源碼,然后編一個python腳本發(fā)給他執(zhí)行。

          源碼地址:https://github.com/YJesus/Unhide-NG/blob/master/unhide-linux.c

          在查找隱藏進程模塊,其大致使用了如下的方法:

          挨個訪問 /proc/pid/ 目錄,其中,pid從1到到max_pid累加

          • 如果目錄不存在,跳過
          • 如果是unhide自己的進程,跳過
          • 如果在ps命令中能看到,跳過
          • 剩下的,既不是自己,也不在ps命令輸出中,則判定為隱藏進程

          按照這個思路,我編寫了一個Python腳本發(fā)給這位朋友,執(zhí)行后果然發(fā)現(xiàn)了隱藏的進程:

          別著急,不是真的有這么多進程,這里是把所有的線程ID列舉出來了。隨便挑選了一個看一下:

          還記得前面通過netstat命令看到挖礦進程建立了一個網(wǎng)絡(luò)連接嗎?Linux一切皆文件,在 /proc/pid/fd 目錄下有進程打開的文件信息:

          這里發(fā)現(xiàn)這個進程打開了一個socket,后面的10212是inode id,再通過下面的命令看一下這個socket到底是什么:

          cat /proc/net/tcp | grep 10212

          輸出了四元組信息:

          左邊是源IP地址:源端口,右邊是目的IP地址:目的端口

          目的端口1E61就是7777!?。?/p>

          找到了,就是這貨!

          再次查看 cat /proc/pid/environ,定位到進程的可執(zhí)行文件:

          總算把這家伙找到了:

          網(wǎng)上一搜這家伙,看來是慣犯了:

          挖礦病毒分析

          把這個挖礦木馬下載下來,反匯編引擎中查看,發(fā)現(xiàn)加殼了。

          脫殼后,在IDA中現(xiàn)出了原形,不禁倒吸了一口涼氣,居然悄悄修改/root/.ssh/authorized_keys文件,添加了RSA密鑰登錄方式,留下這么一個后門,隨時都能遠程登錄進來。

          除此之外,還發(fā)現(xiàn)了病毒嘗試連接的大量域名:

          看到這里簡直可怕!自己的服務(wù)器被病毒按在地上摩擦??!

          清除建議

          • 開啟SELinux
          • 殺掉挖礦進程
          • 刪除病毒程序(注意rm命令是否被替換)
          • 刪除病毒驅(qū)動程序(注意rm命令是否被替換)
          • 刪除病毒添加的登錄憑據(jù)
          • 防火墻封禁IP、端口
          瀏覽 74
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  狠狠撸五月天 | 欧美大鸡吧视频 | 免费国产一级黄色电影 | 国产伦理网站 | 在线一级黄色录像 |