Linux XOR.DDoS样本取证特征与清除
一、取证特征
1)获取进程ID
使用top命令,查看占用内存率最高的十位随机名称进程名(示例:进程名pygdykcrqf)
2)获取进程对应路径
Linux 在启动一个进程时,系统会在/proc下创建一个以 PID 命名的文件夹,在该文件夹下会有进程信息。
ll /proc/xxxx
用lsof查看某个路径下的进程列表,木马文件在/usr/bin/下的文件拷贝出来备份。
lsof /usr/bin/*
用pidof命令查看某个路径下进程的pid,判断有没有符合条件的木马文件:
pidof /usr/bin/*
查看目录
/usr/bin
/tmp
/bin
3)查看计划任务
$ cat /etc/crontab
查看计划任务的具体内容,如果有可疑的Shell脚本拷贝出来。例如:
/etc/cron.hourly/gcc.sh
二、清除木马
1)下载rkhunter,扫描Rootkit
$ wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz
$ tar xzvf rkhunter*
$ cd rkhunter*
$ ./installer.sh --layout /usr --install
$ rkhunter --update
$ rkhunter -C
2)重新安装默认命令程序
常用命令依赖包名如下:
ps --> procps
ss --> iproute
netstat --> net-tools
top --> htop
e2fsprogs #可以恢复chattr lsattr
安装命令:
$ yum -y reinstall procps lsof iproute net-tools
3)删除cron定时任务
$ rm -f /etc/cron.hourly/gcc4.sh
$ crontab -e # 进入 vim 编辑器,删除木马启动内容
$ chattr +i /etc/crontab
删除木马源文件:
rm -f /lib/libudev4.so /lib/libudev4.so.6
4)清除开机启动内容
$ ls /etc/rc*/
# init.d 是软链 `init.d -> rc.d/init.d`
$ ls /etc/rc*/init.d
查看 /usr/bin/ 中最近变动的文件,并删除十位随机字串木马
$ ls -lt /usr/bin/ | head
# 或者用 `ls -lrt /usr/bin/` 查看按时间倒序查
删除服务里面的异常服务
chkconfig --list|grep :on
chkconfig --del 异常服务名
5)使用clamav进行病毒查杀
#安装
yum install -y epel-release
yum install -y clamav
#更新病毒库
freshclam
#扫描方法
clamscan -r /etc --max-dir-recursion=5 -l /root/etcclamav.log
clamscan -r /bin --max-dir-recursion=5 -l /root/binclamav.log
clamscan -r /usr --max-dir-recursion=5 -l /root/usrclamav.log
#扫描并杀毒
clamscan -r --remove /usr/bin/bsd-port
clamscan -r --remove /usr/bin/
clamscan -r --remove /usr/local/zabbix/sbin
#查看扫描日志
cat /root/usrclamav.log |grep FOUND
/usr/bin/ohhnzdjent: Unix.Trojan.DDoS_XOR-1 FOUND
/usr/bin/oracle: Legacy.Trojan.Agent-1388639 FOUND
/usr/bin/tgbtrjldlq: Unix.Trojan.DDoS_XOR-1 FOUND
/usr/bin/wcwghpgruw: Unix.Trojan.DDoS_XOR-1 FOUND
6)彻底查杀木马
- 尝试破坏病毒文件
echo slkfhrl,kfhs > /lib/libudev4.so
rm -f /lib/libudev4.so
touch /lib/libudev4.so
chattr +i /lib/libudev4.so
- 通过关联文件清除服务里面的异常服务
grep -r scon.sh /etc/