● 操作系统信息cat /proc/version
用户信息
用户信息文件
/etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell
查看哪些用户为root权限,有没有新增的
cat /etc/passwd | grep x:0
查询特权用户特权用户(uid 为0)
awk -F: '{if($3==0)print $1}' /etc/passwd
注: guest用户uid为0为非正常用户
查询可以远程登录的帐号信息
awk '/\$1|\$6/{print $1}' /etc/shadow
查看空口令账户
awk -F: 'length($2)==0 {print $1}' /etc/shadow
查询有sudo权限账户
more /etc/sudoers | grep -v "^#\|^$" | grep "
查看当前用户登录系统情况
who
查看用户错误的登录信息
lastb
查看所有用户最后的登录信息
lastblog
历史命令
当前用户的历史命令
history
打开 /home 各帐号目录下的 .bash_history,查 看普通帐号执行的历史命令。
应急措施
● usermod -L user 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
● userdel user 删除 user 用户
● userdel -r user 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
启动项
more /etc/rc.local
/etc/rc.d/rc[0~6].d
ls -l /etc/rc.d/rc3.d
计划任务
利用 crontab 创建计划任务
● crontab -l 列出某个用户cron服务的详细内容
● Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root
● crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
● crontab -e 使用编辑器编辑当前的crontab文件
● 如:/1 * echo "hello world" >> /tmp/test.txt 每分钟写入文件
入侵排查
重点关注以下目录中是否存在恶意脚本
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/
more /etc/cron.daily/* 查看目录下所有文件
检查异常端口使用 netstat 网络连接命令,分析可疑端口、 IP、PID
查看TCP连接
netstat -an | grep tcp | awk '{print $5}
查看SYN连接情况
netstat -an | grep SYN | awk '{print $5}' | awk -F: '{print $1}' | sort | uniq - c | sort -nr | more
查看对应链接的文件路径
ls -l /proc/$PID/exe 或 file /proc/$PID/ exe($PID 为对应的 pid 号)
使用ps命令,分析进程
ps -aux | grep pid
监控某一应用线程数(如ssh
ps -eLf | grep ssh| wc –l
监控网络客户连接数
netstat -n | grep tcp | grep 侦听端口 | wc -l
查看cpu占用率前十的进程,有时候可以发现
ps aux --sort=pcpu | head -10
检查服务服务自启动
第一种修改方法:
● chkconfig [--level 运行级别] [独立服务名] [on|off]
● chkconfig –level 2345 httpd on 开启自启动
● chkconfig httpd on (默认level是2345)
第二种修改方法:
● 修改 /etc/re.d/rc.local 文件
● 加入 /etc/init.d/httpd start
第三种修改方法:
● 使用 ntsysv 命令管理自启动,可以管理独立服 务和 xinetd 服务。
●
systemctl list-unit-files | grep enable #通过Systemctl查看所有开启的服务
检查异常文件查看敏感目录
● 如/tmp目录下的文件,同时注意隐藏文件夹,以 “..”为名的文件夹具有隐藏属性
时间点查找
列出攻击日期内变动的文件
find
● 在指定目录下查找文件
find -type b/d/c/p/l/f
● 查找块设备、目录、字符设备、管道、符号链 接、普通文件。
find -mtime -n +n
● 按文件更改时间来查找文件,-n 指n天以内,+n 指n天前
find -atime -n +n
● 按文件访问时间来查找文件,-n 指n天以内,+n 指n天前
find -ctime -n +n
● 按文件创建时间来查找文件,-n指n天以内,+n 指n天前
find / -ctime 0 -name "*.sh"
● 可查找一天内新增的sh文件
特殊权限文件查找
find / tmp -perm 777
webshell查找
find /var/www "*.php" | xargs egrep 'assert| phpspy|c99sh|milw0rm|eval|base64_decode| shell_exec|passthru|\(\$\_\$POST\[|eval'
● 查找/var/www下的所有php文件,xargs egrep 及之后的命令是查询php文件中是否包含后面的 关键字
对系统命令进行排查
● findWebshell、Scan_Webshell.py等进行 webshell扫描
● ls和ps等命令很可能被攻击者恶意替换,所以可以使用ls -alt /bin,查看命令目录中相 关系统命令的修改时间,而进行排查。
● ls -alt /bin查看相关文件大小,若明显偏大,则 文件恒可能被替换
Linux后门检测
● 使用第三方查杀工具(chkrootkit,rkhunter)
排查SUID程序
● find / -type f -perm -04000 -ls -uid 0 2>/ dev/null
检查系统日志● 日志默认存放位置:/var/log/
● 查看日志配置情况:more /etc/rsyslog.conf