“魔鏟”挖礦木馬清理


非專業人事第一次處理挖礦木馬,脫殼啥的也不會,一點一點找到並刪除相關文件,最后整理為清理腳本

事由

發現我的esxi內的Gitlab虛機連不上了,登錄顯示ERROR:ld.so:object '/usr/local/lib/libprocessshider.so' from /etc/ld.so.preload cannot be preloaded: ignored.,機子卡的基本屬於斷連狀態。

console和SSH登錄顯示異常:

后發現相同網段其他設備也有這個問題,但是可以正常登錄,就先上另一台設備處理(代號:33

檢查

表征問題

  1. CPU 占用 100%
  2. 空閑內存低
  3. 輸命令經常會出ERROR:ld.so:...ignored.
  4. 會有異常定時任務

會有一個update.sh或者root.sh的文件,進程會看到curl請求並運行一個腳本,相關進程已經隱藏,不在進程列表顯示

系統資源占用,但是沒有相關進程顯示:

檢查主要看幾個常見的地兒,有沒有最近同一時間創建或者修改的內容,像/sbin//bin//etc/init.d/etc/corn*/,可疑用戶等

有關木馬的分析可以看:精准投放Tsunami僵屍網絡和“魔鏟”挖礦木馬的行動分析

清理

參考其他人清理挖礦木馬的過程

  1. 先清空/etc/ld.so.preload

    echo "" > /etc/ld.so.preload
    rm -rf /usr/local/lib/libprocesshider.so
    
  2. 刪除可疑服務pwnrigl.servicentpdate.service

    chattr -ia /usr/lib/systemd/system/pwnrigl.service /usr/lib/systemd/system/ntpdate.service > /dev/null 2>&1
    systemctl stop pwnrigl.service ntpdate.service && systemctl disable pwnrigl.service ntpdate.service
    rm -rf /usr/lib/systemd/system/pwnrigl.service /usr/lib/systemd/system/ntpdate.service
    
  3. 清空定時任務,刪除建的用戶x

    crontab -r && crontab -u x -r > /dev/null 2>&1
    chattr -ia /etc/cron*/ntpdate /etc/cron*/pwnrig > /dev/null 2>&1 && rm -rf /etc/cron*/ntpdate /etc/cron*/pwnrig
    userdel -r x > /dev/null 2>&1 && rm -rf /home/x
    
  4. 刪除所有釋放的程序

    rm -rf /var/tmp /tmp/*
    pkill -f '\-bash'
    chattr -ia /bin/sysdr /bin/initdr /bin/crondr /bin/bprofr /bin/-bash > /dev/null 2>&1
    rm -rf /bin/sysdr /bin/initdr /bin/crondr /bin/bprofr /bin/-bash
    chattr -ia /sbin/lntpdate /sbin/entpdate /sbin/bsysd /sbin/binitd /sbin/bcrond /sbin/msysd /sbin/minitd /sbin/mcrond /sbin/-bash > /dev/null 2>&1
    rm -rf /sbin/lntpdate /sbin/entpdate /sbin/bsysd /sbin/binitd /sbin/bcrond /sbin/msysd /sbin/minitd /sbin/mcrond /sbin/-bash
    chattr -ia /etc/init.d/ntpdate  /etc/init.d/pwnrig > /dev/null 2>&1 && rm -rf /etc/init.d/ntpdate  /etc/init.d/pwnrig
    
  5. 刪除.bash_profile中的異常命令

    chattr -ia /$USER/.bash_profile > /dev/null 2>&1 && sed -i '/bprofr/d' /$USER/.bash_profile
    

清理腳本

Gist 地址:clean.sh

#!/bin/env bash
# clean pwnrig coin miner
# Gsealy
# 2021-2-3 21:19:17

set +e

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

USER=`whoami`

function delete_it() {
echo "" > /etc/ld.so.preload
rm -rf /usr/local/lib/libprocesshider.so

chattr -ia /usr/lib/systemd/system/pwnrigl.service /usr/lib/systemd/system/ntpdate.service > /dev/null 2>&1
systemctl stop pwnrigl.service ntpdate.service && systemctl disable pwnrigl.service ntpdate.service
rm -rf /usr/lib/systemd/system/pwnrigl.service /usr/lib/systemd/system/ntpdate.service

rm -rf /var/tmp /tmp/*
pkill -f '\-bash'
chattr -ia /bin/sysdr /bin/initdr /bin/crondr /bin/bprofr /bin/-bash > /dev/null 2>&1
rm -rf /bin/sysdr /bin/initdr /bin/crondr /bin/bprofr /bin/-bash
chattr -ia /sbin/lntpdate /sbin/entpdate /sbin/bsysd /sbin/binitd /sbin/bcrond /sbin/msysd /sbin/minitd /sbin/mcrond /sbin/-bash > /dev/null 2>&1
rm -rf /sbin/lntpdate /sbin/entpdate /sbin/bsysd /sbin/binitd /sbin/bcrond /sbin/msysd /sbin/minitd /sbin/mcrond /sbin/-bash
chattr -ia /etc/init.d/ntpdate  /etc/init.d/pwnrig > /dev/null 2>&1 && rm -rf /etc/init.d/ntpdate  /etc/init.d/pwnrig
chattr -ia /etc/cron*/ntpdate /etc/cron*/pwnrig > /dev/null 2>&1 && rm -rf /etc/cron*/ntpdate /etc/cron*/pwnrig

pkill -f '\-bash' > /dev/null 2>&1
crontab -r && crontab -u x -r > /dev/null 2>&1
userdel -r x > /dev/null 2>&1 && rm -rf /home/x

chattr -ia /$USER/.bash_profile > /dev/null 2>&1 && sed -i '/bprofr/d' /$USER/.bash_profile
}

read -p "ATTENTION: will clean current user's cron task, y[Y] for continue;others exit " _continue
if [[ ("$_continue" == [yY]) ]]; then
    delete_it
    echo "clean finish, please change login password ASAP"
    else
    exit 0
fi

參考

  1. 精准投放Tsunami僵屍網絡和“魔鏟”挖礦木馬的行動分析
  2. Opex:libprocesshider-翻車及修復


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM