Linux应急排查
文件分析
敏感目录文件
/tmp #临时目录文件,每个用户都有读写权限
/etc/init.d/ #开启自启动项内容
/etc/passwd #系统用户配置文件,存储了所有用户的基本信息
/etc/shadow #存储Linux系统中用户的密码信息
/root/.bash_history #记录历史执行的命令
ls命令-敏感文件信息
#ls -alt /tmp #以长格式展现出/tmp目录下的全部信息
#ls -alt /etc/init.d/ #以长格式展现出/etc/init.d/目录下的全部信息
/etc/init.d#ls -alh | head -n 10 #筛选出最新添加的十条内容
/etc/init.d#ls -alh | tail -n 10 #筛选出最早添加的十条内容
参数详解:
参数 | 介绍 |
---|---|
a | all,全部,显示所有文件及目录(包括.开头的隐藏文件) |
l | 长格式,将文件型态、权限、拥有者、文件大小等详细列出 |
t | 将文件依建立时间之先后次序列出 |
h | 文件大小显示为字节 |
小知识:在Linux系统下一切都是文件,其中/tmp是一个特别的临时目录文件。每个用户都可以对它进行读写操作。 | |
stat 文件名 //查看文件时间属性 |
find命令-敏感文件信息
查找24小时内被修改的文件
#find ./ -mtime 0 -name “*.php”
----------------------------------
查找72小时内被修改的文件
#find ./ -ctime 2 -name “*.php”
----------------------------------
筛选出以.php权限777相关的所有文件名
#find ./ -iname “*.php*” -perm 777
进程分析
find命令-敏感文件信息
查看处于TCP的连接,并且以数字形式输出
#netstat -pantl
-----------------------------------
关闭未知连接
#kill -9 pid
ps命令-进程所对文件
查看所有进程信息
#ps aux
筛选出具体PID的进程信息
#ps aux | grep PID
小分享:查看进程所对应的文件路径、PID
#lsof -i:端口号
登录分析
last命令-登录分析
查看登录日志,筛选非本地登录
#last -i | grep -v 0.0.0.0
小分享:w命令,实时登录查看
异常用户分析排查
如何将普通用户修改为root权限
----------------------------------------------------------
在Linux中root用户是一个无敌的存在,可以在Linux上做任何事。
root用户的uid为0,gid为0
新建用户 useradd username
设置密码 passwd username 密码
设置用户uid和gid都为0(拥有root权限),修改文件即可/etc/passwd
----------------------------------------------------------
#cat /etc/passwd
#grep 0:0 /etc/passwd
#ls -l /etc/passwd
#vim /etc/passwd
----------------------------------------------------------
小分享:/etc/shadow存储了Linux系统中的用户和密码信息。
用户名:! 冒号后面带!号代表用户为空密码
查找/etc/shadow文件中带有!号内容
#grep ! /etc/shadow
历史命令分析
history-查看历史命令
-------------------------------------------------------------------
在Linux系统中默认会记录之前执行的命令 /root/.bash_history文件
用户可以使用cat /root/.bash_history进行查看或使用history命令进行查看
-------------------------------------------------------------------
#cat /root/.bash_history
#history
※特别注意:wget(可能远程下载木马)、ssh(连接内网主机)、tar zip类命令(数据打包)、系统配置等(命令修改)
计划任务排查
crontab-计划任务排查
-----------------------------------------------
在Linux系统中可以使用命令crontab进行计划任务的设定
-----------------------------------------------
#crontab -e //编辑计划任务
0 * * * * /bin/ls
-----------------------------------------------
#crontab -l //查看当前计划任务
-----------------------------------------------
#crontab -d //删除计划任务
-----------------------------------------------
参数 | 介绍 |
---|---|
e | 可以用来编辑设定计划任务 |
l | 可以用来查看当前计划任务 |
d | 用来删除计划任务 |
开机自启动项
/etc/init.d目录
-------------------------------------------------------
在Linux系统中/etc/init.d/ 目录下保存着开机自启动程序的目录
-------------------------------------------------------
#/etc/init.d/程序名称 status //查看状态。
#/etc/init.d/程序名称 start //启动程序
#/etc/init.d/程序名称 stop //关闭程序
#/etc/init.d/程序名称 restart //重启程序
#update-rc.d 程序名称 disable //取消开机自启动。
#update-rc.d 程序名称 enable //启动开机自启动。
$PATH变量异常
$PATH变量
决定了shell(终端)将到哪些目录中寻找命令或程序(类似Windows系统环境变量PATH),PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。
输出$PATH变量相关的值
------------------------------------------------------------------
#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
------------------------------------------------------------------
修改PATH
#export PATH=$PATH:/usr/local/new/bin //本次终端中有效
在/etc/profile或/home/.bashrc (source ~/.bashrc) //永久生效
------------------------------------------------------------------
后门排查
rkhunter
Rkhunter具有以下功能:
1、 系统命令检测,MD5校验
2、 Rookit检测
3、 本机敏感目录、系统配置异常检测
安装:apt install rkhunter
基本使用:rkhunter -check -sk
参数 | 介绍 |
---|---|
–check | 进行检测 |
–sk | 忽略写入键盘按键 |
参数check、sk前面都是俩个杠(-) |