当前位置:首页>Linux>记一次Linux服务器被黑病毒查杀

记一次Linux服务器被黑病毒查杀

  • 2026-09-02 19:17:27
记一次Linux服务器被黑病毒查杀
防火墙告警服务器短时间内连接大量国外ip,疑似中毒,赶紧登陆查看:
1、查看tcp会话:ss -ntp | more 反应很慢,显示有一堆的国外IP,疑似扫描22跟2222端口;
2、查看进程:ps -ef 疑似伪装的进程,因为服务器根本没有mysql 没有apach等服务;
3、查看计划任务:contrab -l 存在一堆乱七八糟的计划任务
4、根据扫描进程pid查找进程启动文件,这里是根据下面的pid 15397查询;查到进程启动路径是/usr/lib/nigqvcrlond/mimic_x86_64,病毒文件名字是mimic_x86_64;
156.99.46.22:22        users:(("lighttpd",pid=15397,fd=2119),#查询命令ls /proc/15397/exe  -llrwxrwxrwx 1 root root 0 Apr 14 15:30 /proc/15397/exe -> /usr/lib/nigqvcrlond/mimic_x86_64

5、查看/usr/lib/ 目录,发现有一堆乱七八糟的目录,每个目录下都有病毒文件,这么多怎么删除呢?
6、通过find命令输出所有的病毒路径:
find /usr/lib/ -name mimic_x86_64 >/tmp/mimic.txt
7、sed一下只保留病毒的目录:
cat mimic.txt | sed 's/mimic_x86_64//g' >mimic_dir.txt
8、接下来删除这些目录,方法有二,你觉着那个好:
方法一:
for i in `cat mimic_dir.txt ` ; do rm $i -rf ;done

方法二:

while IFS= read -r i; do  [ -n "$i" ] && rm -rf "$i"  echo "已删除:$i"  #sleep  1done < mimic_dir.txt

方法一解释:

可能存在误删文件或者误删根目录的问题,如果 txt 里有空行、空格、写错路径 ,那命令执行后就可能会直接删 / 根目录,假如cat mimic_dir.txt 如果有一行是空的,rm $i -rf 就会变成:rm -rf ,只剩下跑路了。这就是 Linux 最经典、最容易翻车的自杀命令哈哈哈哈。

方法二解释:

for 循环是按空白符(空格 / 换行 / Tab)切割的,会引发误删除;

while read 是按行读取一行就是一个变量 $i,不会因为空格切成两段;

IFS= 表示不切割任何内容,完全保留整行原样,包括开头 / 结尾空格、中间空格;

"$i" 加了双引号告诉系统这是一个完整路径,不要拆分;

所以即使路径是:/lib/nuikplhdegom/mimic x86_64 也会完整当作一个路径删除,不会拆成:rm /lib/nuikplhdegom/mimic x86_64 -rf;

9、通过以上脚本删除了病毒目录及病毒文件,但是病毒已加载到内存运行了,此时会发现ss -ntp还是有有很多外联tcp;那接下来就要清除内存中的病毒;

查看内存中的病毒,发现源文件链接已被标记为deleted如下:

ls /proc/12638/exe -llrwxrwxrwx 1 root root 0 Apr 14 15:35 /proc/12638/exe -> /usr/lib/kujymafqnl/mimic_x86_64 (deleted)

10、通过以下脚本kill掉病毒进程

for pid in $(ls -1 /proc | grep -E '^[0-9]+$'); do  if [[ -L /proc/$pid/exe && $(readlink /proc/$pid/exe) == *mimic* ]]; then    ls /proc/$pid/exe -l     echo "杀死木马进程 PID: $pid"    kill -9 $pid 2>/dev/null  fidone

脚本说明:

for pid in $(ls -1 /proc | grep -E '^[0-9]+$') 

#遍历 /proc 目录下所有数字名称的文件夹(这 里每个数字文件夹 = 一个进程 PID)拿到所有的pid;

if [[ -L /proc/$pid/exe && $(readlink /proc/$pid/exe) == *mimic* ]]; 

#-L /proc/$pid/exe判断 /proc/进程号/exe 是不是一个软链接;

#readlink /proc/$pid/exe读取这个软链接指向的真实文件路径;

#== *mimic*判断路径里是否包含 mimic,只要是木马进程就匹配成功;

11、注释掉所有计划任务:

sed 's/^/#/g' /var/spool/cron/root

12、防火墙增加22端口规则,仅允许堡垒机登陆服务器:

iptables -I INPUT -s x.x.x.x/32 -p tcp --dport 22 -j ACCEPTiptables -A INPUT -s 0.0.0.0/0  -p tcp --dport 22 -j DROP

13、清空.ssh/authorized_keys 

echo >.ssh/authorized_keys 

往期文章:

看完本文再也不怕网安通报“明文传输” “TLS版本低”漏洞了

别再只用Ping了!TCPPing带你解锁网络测试新姿势

5分钟搭建LNMP环境+漏洞靶场,小白合法练习黑客技术

服务器被境外IP疯狂扫描爆破?来教你一招制敌

记一次业务访问不通故障排查

绝了!端口这样藏,黑客扫到哭也扫不出来(端口敲门实战教程)

最新文章

随机文章