


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


find /usr/lib/ -name mimic_x86_64 >/tmp/mimic.txtcat mimic.txt | sed 's/mimic_x86_64//g' >mimic_dir.txtfor 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]+$'); doif [[ -L /proc/$pid/exe && $(readlink /proc/$pid/exe) == *mimic* ]]; thenls /proc/$pid/exe -lecho "杀死木马进程 PID: $pid"kill -9 $pid 2>/dev/nullfidone
脚本说明:
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/root12、防火墙增加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 往期文章: