已更新:windows服务器被黑快速排查
一般来说linux系统服务器被黑比较少,若怀疑服务器被黑了,可通过下述方法快速排查。
下面是小梁的一些总结,可供大家参考。如有问题,欢迎大家在评论区留言交流。
感谢大家(关注、转发、收藏)一键三连。
持续更新ing
1、检查用户和组
(1)查看/etc/passwd下的异常用户
(2)查看/etc/group组中有无异常
(3)检查空口令,uid为0的用户,和就有登录权限的用户
awk -F: '($7=="/bin/bash"){print $1}' /etc/passwd
//查看具有登录权限的用户
awk -F: '($3==0)' /etc/passwd
//查看UID为0的账号,UID为0的用户会自动切换到root用户,所以危害很大正常只有root
awk -F: '($2=="")' /etc/shadow
//查看空口令账号,如果存在空口令用户的话必须设置密码
2、检查进程
(1)输入top,shift+p按照cpu排序,shift+m按照内存排序,查看下是否有异常的进程占用很高。
(2)ps aux | more 检查所有进程,找出不是很常见的进行下排查,这个需要结合一些经验。
查看到pid后检查proc位置检查下的pid路径,找到异常进程的程序文件,kill掉进程,然后删除。
使用ll /proc/进程ID 查看exe路径
查看该进程启动的完整命令行: ps eho command -p $PID
查看该进程启动时候所在的目录: readlink /proc/$PID/cwd
查看下pid所对应的进程文件路径:ls -l /proc/$PID/exe
查看该进程启动时的完整环境变量: strings -f /proc/1461/environ | cut -f2 -d ''
列出该进程所打开的所有文件: lsof -p $PID
3、检查启动项
(1)检查/etc/init.d/目录,有无异常服务
(2)vi /etc/rc.local 查看有无异常启动项
(3)centos可使用chkconfig查看3为on的服务
4、检查计划任务
(1)crontab -l查看有没有被加入异常的计划任务,如果有需要根据文件路径做处理删除
(2)检查/var/spool/cron有无用户的计划任务(部分计划任务是以其他用户添加的)
(3)检查/etc/cron.daily/等下面的计划任务,打开查看下,
比如vi /etc/cron.daily/logrotate黑客可以在一些正常的计划任务中添加异常代码,实现异常的启动项。
5、检查应用的敏感目录
比如/tmp/ MySQL的运行data目录,有没有被注入大量恶意信息 ,如果发现有很多异常的程序,需要删除下(这种一般不容易清理干净,可以进行下备份恢复)
比如linux系统中出现类似Windows的目录或可执行文件如果判断不是用户自己上传的,很有可能系统被黑或数据库被黑。
6、检查系统日志
在Linux上一般跟系统相关的日志默认都会放到/var/log下面,若是一旦出现问题,用户就可以通过查看日志来迅速定位,及时解决问题。
常用日志文件如下:
/var/log/btmp:记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要使用lastb命令查看。
/var/log/lastlog:记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接vi,而要使用lastlog命令查看。
/var/log/wtmp:永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要使用last命令来查看。
/var/log/utmp:记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询。
/var/log/secure:记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。