## 缘由
某台服务器CPU异常, 4核心CPU使用 3个核心 使用top 查看看不到那个程序使用了CPU
### 分析
1. top 命令后输入小写c 看到一个命令在使用CPU 杀掉后马上又起来了, 怀疑已经安装了后门程序去除非木马运行
2. 删除了木马后又自动生成了新的木马, 怀疑部分命令已经被劫持故意隐藏木马和触发木马运行
3. 发现部分命令属性(lsattr /usr/bin/ps)都带**i**了
4. 使用vim 编辑命令文件可以发现里面有带木马字符串等
### 处理
1. 先找出$PATH下所有命令带i 属性的
2. 找一台系统版本一致的 比如 生产CentOS 6.7 本地环境6.5 左右都可以
3. 本地环境执行以下命令 常用命令处理
```
cd /
python -m SimpleHTTPServer # 开启一个简单的HTTP服务器, 生产能够访问随意映射一个端口
```
4. 生产服务器执行命令
```
mkdir -p ~/safe
cd ~/safe
#!/usr/bin/env bash
s=~/safe
host="http://112.5.6.8:8000" #修改成自己的服务器
for c in $(echo "/bin/chmod /bin/rm /usr/bin/wget /usr/bin/chattr /usr/bin/lsattr");do
echo $host$c 1>/dev/null 2>&1
#chmod 755 $(echo $c|awk -F"$(dirname $c)" '{print $2}'| sed -e 's/\///')
done
chmod 755 $s/*
for p in $(echo $PATH| sed -e 's/:/ /g');do
if [ ! -d $p ];then continue ;fi
cd $p
files=$($s/lsattr 2>/dev/null | $s/grep '\-i\-' | $s/awk '{print $2}'|$s/sed -e 's/\.\///g')
echo $files
for f in $(echo $files);do
error_404=$(curl $host$p/$f -I 2>/dev/null | $s/grep -Po "HTTP/1.\d 404")
if [ -z "$error_404" ];then
$s/chattr -i $p/$f
$s/rm -f $p/$f
$s/wget $host$p/$f
$s/chmod 755 $p/$f
else
$s/chattr -i $p/$f
$s/rm -f $p/$f
fi
done
done
```
4. 一般会隐藏成系统服务 修改回来即可
centos7: /etc/rc.d/init.d/network
centos6: /etc/init.d/network
```
find / -type f | grep -E -v "(sys/|proc/|dev/)" | xargs lsattr | grep "\-i\-" >/tmp/file
```
5. 碰到这样的情况最好重装系统, 更新内核, 服务普通用户运行
6. 病毒名为tplink /usr/sbin/tplink
劫持 ps netstat network top 等命令
/usr/lib64/... 目录
系统内所有带 i属性文件
清空 /usr/lib64/... 目录
```
cd /usr/lib64
chattr -i \.\.\.
mv \.\.\. fuck
cd fuck
find -type d | xargs chattr -i
find -type f | xargs chattr -i
rm -rf *
cd ../
rm -rf fuck
```
一键复制
编辑
Web IDE
原始数据
按行查看
历史