1、history
(1)使用history查看历史命令,分析攻击者使用过何命令
bash
history
(2)但攻击者也能回使用history -c 清除掉历史命令
bash
history -c
(3)使用cat查看cat /root/.bash_history 文件也可以查看到历史使用命令
bash
cat /root/.bash_history
2、查看passwd账户信息
(1)使用cat 命令查看/etc/passwd文件,来分析攻击者是否在服务器上添加了新的用户名,以及账号的信息改动。
bash
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用户以外的超级用户
bash
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、查看当前网络连接
可以使用此命令来分析当前服务器是否有异常连接
netstat -antlp
常见的状态
LISTEN:监听状态
ESTABLISHED:tcp连接已建立,已在会话传输中
TIME_WAIT:连接已终止
后面进程PID对应着相应的程序名,可以对未知或者不是自己启动的进程kill掉
kill -9 pid
7、查看端口被那个用户使用、和对应的执行文件
lsof -i:22 查看对应端口使用的文件
可以快速定位指定端口的网络连接状态
lsof -p 1334 查看1334这个pid执行的对应文件
可以列出此PID进程相关的所有文件,可以快速定位文件所在目录
20240827更