1、history
(1)使用history查看历史命令,分析攻击者使用过何命令
history
(2)但攻击者也能回使用history -c 清除掉历史命令
history -c
(3)使用cat查看cat /root/.bash_history 文件也可以查看到历史使用命令
cat /root/.bash_history
2、查看passwd账户信息
(1)使用cat 命令查看/etc/passwd文件,来分析攻击者是否在服务器上添加了新的用户名,以及账号的信息改动。
cat /etc/passwd
(2)passwd文件是存储了linux系统上的所有用户信息,以root用户信息为例讲解
root是用户名
X是密码位,真正的密码存储在shadow文件中
第一个零是用户的ID,0表示超级用户 1是表示普通用户
第二个是组ID,0超级用户组,1表示普通用户组
注释
/root是用户的主目录
/bin/bash是允许shell登录
/sbin/nologin 不允许登录
(3)使用awk命令快速检查是否存在root用户以外的超级用户
awk -F: '{if($3==0)print $1}' /etc/passwd
$3是对应/etc/passwd文件里的第三列的用户ID是否等于0,如果等于0就输出第一列的内容,第一列也就是用户名,可快速检索是否有其他用户是id=0的。
3、查看账户使用情况
(1)使用last查看最近账户登录状态,来判断服务器账户的使用情况是否有异常。
1:root 是用户 2:pty是伪终端 3:tty是终端 4:登录IP :5:still logged in为保持会话状态 6:会话断开时间以及会话时长 7:crash为异常结束会话 reboot表示系统重启事件
(2)使用lastlog查看账户最近登录信息
lastlog
(3)使用lastb查看账户错误登录信息
账户———————————— 攻击者IP ————————————登录时间
4、使用who命令查看当前系统账户的会话
可以使用此命令来分析当前系统账户是否有异常登录。
who
who -a 显示详情
系统引导是系统启动的时间
运行级别5是图形化模式也就是桌面版
root是用户
后面数字2050这一列为进程ID,可以结合kill命令来结束
例如结束掉tty4的demon用户
kill前
kill -9 10487
kill后 断开连接
6、查看当前网络连接
可以使用此命令来分析当前服务器是否有异常连接的IP地址
netstat -antlp
常见的状态
LISTEN:监听状态
ESTABLISHED:tcp连接已建立,已在会话传输中
TIME_WAIT:连接已终止
后面进程PID对应着相应的程序名,可以对未知或者不是自己启动的进程kill掉
kill -9 pid
7、查看端口被那个用户使用、和对应的执行文件
lsof -i:22 查看对应端口使用的文件
可以快速定位指定端口的网络连接状态
lsof -p 1334 查看1334这个pid执行的对应文件
可以列出此PID进程相关的所有文件,可以快速定位文件所在目录
8、检查是否有任务计划
一般攻击者入侵到服务器后台后选择留下的后面都会使用定时任务
cat /etc/crontab
示例
* * * * * /a.sh 每分钟执行一次a.sh脚本
1 1 1 * * /a.sh 每个月1号的1点1分执行a.sh脚本
crontab -l
cat /etc/cron.d/*
cat /etc/anacrontab
9、检查系统文件权限
ls -l /etc/passwd /etc/group /etc/shadow /etc/crontab
这几个为系统比较重要的文件,需要检查权限是否被篡改
10、查看自启动列表
systemctl list-unit-files --type service
启用状态: “enabled”(已启用,即在系统启动时会自动启动)、
禁用状态:“disabled”(已禁用,不会自动启动)
静态服务:“static”(静态服务,不能由 systemctl 控制)
11、查看是否有异常隐藏文件
ls -al
隐藏文件为.开头
12、检查hosts文件是否被篡改
cat /etc/hosts
hosts文件是系统配置文件,用于本地DNS查询的域名设置
13、查看安全日志/var/log/secure
#查看登录记录
grep "Accepted password" /var/log/secure
#查找用户创建或修改的记录
grep "useradd" /var/log/secure
grep "usermod" /var/log/secure
#查找权限更改的记录
grep "chmod" /var/log/secure
grep "chown" /var/log/secure
3查找 SSH 相关的特定信息,比如连接尝试:
grep "sshd" /var/log/secure
#查找demon用户操作记录
grep "demon" /var/log/secure
#查找sudo 命令的使用记录
grep "sudo" /var/log/secure
secure日志常见的查找关键词语
- “Accepted password”(成功的密码验证)
- “Failed password”(失败的密码尝试)
- “Authentication failure”(认证失败)
- “Login successful”(登录成功)
- “Login incorrect”(登录不正确)
- “User not known to the underlying authentication module”(用户不为底层认证模块所知)
- “Permission denied”(权限被拒绝)
- “sudo”(sudo 命令的使用)
- “PAM”(可插拔认证模块相关)
- “SSH”(SSH 连接相关)
- “Key exchange”(密钥交换)
- “Publickey authentication”(公钥认证)
- “User account locked”(用户账户被锁定)
- “User account expired”(用户账户过期)
- “New session”(新的会话)
- “Logout”(注销)
- “Root login”(root 登录)
- “Access denied”(访问被拒绝)
抖音搜索Demon,有对应的视频讲解