Linux挖礦程序kworkerds分析

0×00 背景概述

近日,同伴的一臺Linux服務器中了kworkerds挖礦程序,隨即對挖礦程序進行了處理與分析。服務器

0×01服務器現狀

進入服務器以後經過top命令,沒有發現有佔用CPU資源太高的進程,隨後使用busybox top命令查看發現一個kworkerds的程序佔用CPU資源達到了99%,計劃任務中被寫入惡意下載命令;網絡

系統top命令界面;ide

使用busybox top命令界面;函數

busybox.png

寫入的計劃任務;.net

計劃任務.png

0×02腳本分析:

1)  mr.sh腳本:

清理文件或其餘挖礦程序;3d

mr1.png

值得一提的是,腳本首部已經把防火牆關閉了,爲何又要在防火牆中加入規則,禁止了一個IP地址,並經過string匹配域名來過濾了pastebin,這個很像是在防近期爆發的 khugepageds、watchdogs…blog

往下是一頓清理—–進程

mr2.png

再通過一番清理以後,開始把下載腳本的命令寫入計劃任務中;資源

mr3.png

寫入的文件列表以下;get

mr4.png

隨後又開始了一番清理,把除本身以外的進程且佔用CPU資源大於30%的給殺掉,而且查看netstat中是否與本身的服務器創建鏈接成功;

mr5.png

在腳本的最後開始下載一個名爲2mr.sh的雲端腳本,而且檢查計劃任務中是否有本身寫入的下載命令,若是沒有繼續寫入;

mr6.png

2) 2mr.sh腳本:

2mr腳本是關於挖礦程序的下載與調整,在腳本的首部判斷下載的/var/tmp/sustse文件是否存在,若是存在則經過MD5值對比/var/tmp/sustse是否相符,若是不相符則刪除而且殺掉本身的相關進程,不然建立/var/tmp;

2mr1.png

隨後經過downloadIfNeed()、download()、download2()三個函數進行判斷/下載挖礦相關文件,這裏下載了一個名爲1.so的文件,而且把1.so替換掉/usr/local/lib/libkk.so,把路徑寫入/etc/ld.so.preload,最後把/var/tmp/sustse複製一份並命名爲kworkerds;

2mr2.png

2mr3.png2mr4.png

最後經過judge()、judge2()函數根據網絡鏈接狀況進行判斷被攻陷的主機是否與礦池創建鏈接成功,若是沒有則清理佔用資源大於30%的其餘程序,隨後下載相關挖礦程序進行挖礦操做;

2mr5.png

0×03處理建議:

1)      清除相關的惡意計劃任務;

2)      刪除/var/tmp目錄下的相關惡意文件;

3)      刪除被替換的動態連接庫;

相關信息:

礦池信息:

pools.jpg

URL:

http://107.174.47.156/mr.sh

http://107.174.47.156/wc.conf

http://107.174.47.156/xmrig

http://107.174.47.156/11

MD5:

be9469ea238d53993f70ed09b8347f3e  kworkerds

b4f6d69c8777fea8b169898bea9fb040  sustse

2fdb64bf08f09ce0cdc650b443590d7b  1.so   libkk.so

83d502512326554037516626dd8ef972  /root/kworkerdss/xmrig

PS:1.so~~~

最新Linux挖礦程序kworkerds分析

*本文做者:runmoke

相關文章
相關標籤/搜索