账号方面
- 用户信息文件/etc/passwd查看是否有非本机用户存在。– 注意:无密码只允许本机登陆,远程不允许登陆
- 用户shadow文件/etc/shadow
root:oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt.Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
- 常用查看用户的命令:w、id、uptime
- 账号入侵排查
- 特权用户
awk -F: '$3==0{print $1}' /etc/passwd
- 可以远程登录的帐号信息
awk '/$1|$6/{print $1}' /etc/shadow
- 除 root 帐号外,其他帐号是否存在 sudo 权限。如非管理需要,普通帐号应删除 sudo 权限
more /etc/sudoers | grep -v "^#|^$" | grep "ALL=(ALL)"
历史命令
history 及 .bash_history 命令
端口
netstat -antlp|more 进而查看pid对应的文件路径 ls -l /proc/$PID/exe
进程
ps aux | grep pid
开机启动
/etc/rc.local/etc/rc.d/rc[0~6].d 数字为运行的级别
当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 中建立软链接即可
定时任务
crontab -l文件 /var/spool/cron/root
检查点:
/var/spool/cron/* /etc/crontab/etc/cron.d/*/etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/*/etc/cron.weekly//etc/anacrontab/var/spool/anacron/*
服务
- 检查已经安装的服务
chkconfig --listchkconfig --list | grep "3:on|5:on 在3和5级别下的启动项
系统日志
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
小技巧
定位有多少IP在爆破主机的 root 帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
定位有哪些 IP 在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
登录成功的 IP 有哪些:
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
管理员最近登录情况:
1、登录成功的日期、用户名、IP:
[root@localhost ~]# grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'Jul 9 09:38:09 root 192.168.143.100Jul 9 14:55:51 root 192.168.143.100Jul 10 08:54:26 root 192.168.143.100Jul 10 16:25:59 root 192.168.143.100............................
通过登录日志分析,并未发现异常登录时间和登录IP。
2、顺便统计一下登录成功的 IP 有哪些:
[root@localhost ~]# grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more27 192.168.204.1
查看最近一段时间内更改的文件
find /home/work -type f -mtime T
webshell排查
find ./ -name "*.php" |xargs egrep 'assert|phpspy|c99sh|milw0rm|eval|\(gunerpress|\(base64_decoolcode|spider_bc|shell_exec|passthru|\(\$\_\POST\[|eval \(str_rot13|\.chr\(|\$\{\"\_P|eval\(\$\_R|file_put_contents\(\.\*\$\_|base64_decode'
查看某个进程涉及到的文件
lsof filename 查看打开filename文件的所有进程lsof -p procid 查看进程ID为procid的进程打开的文件列表lsof -c command 查看进程名称为command的进程打开的文件列表