Linux分析排查
一、文件分析
1、敏感文件信息
重点目录
/tmp
在Linux系统下一切都是文件,其中/tmp是一个特别的临时目录,每个用户都可以对该目录进行读写操作。因此一个普通用户可以对/tmp目录执行读写操作。
黑客往往会以/tmp目录作为跳板进而攻击服务器,所以要重点排查/tmp目录。
/etc/init.d/
恶意代码很有可能设置在开机自启动的位置。
查看指定目录下文件事件顺序的排序:ls -alt |head -n 10
查看文件时间属性:stat 文件名 (如果创建时间与修改时间很近,就可疑)
快速筛选find
1、新增文件分析
-
查找24小时内被修改的文件
find ./ -mtime 0 -name “*.php” (0+1*24)
-
查找72小时内新增的文件
find ./ -ctime -2 -name “*.php” (2+1*24)
2、权限查找perm
在linux系统中,如果具有777权限,那么文件很可疑
find ./ -iname “*.php*” -perm 777 (其中-iname忽略大小写,-perm用于设定筛选文件权限)
二、网络连接分析
1、进程分析
网络连接分析netstat
在Linux中可以使用netstat进行网络连接查看。
netstat -Print network connections,routing tables,interface statistics,masquerade connections,and multicast memberships
具体帮助信息查看man netstat
常用命令 netstat -pantl 查看处于tcp网络套接字相关信息。
netstat -pantl | grep pid
关闭未知连接 kill -9 pid 关闭
进程所对文件分析ps
在Linux中可以使用ps查看进程相关信息
使用ps aux查看所有进程信息
ps aux | grep PID 筛选出具体PID的进程信息
lsof -i:端口号 也可实现类似功能(不常用)
ps aux | grep PID | grep -v grep (排除字符串中grep项)
2、登录分析last
在Linux做的操作都会被记录到系统日志中,对于登录也可以查看日志信息查看是否有异常登录。
last命令 last -i | grep -v 0.0.0.0 (查看登录记录,排除本地登录)
w命令 实时登录查看
3、异常用户分析排查uid&id=0
在Linux中root用户是一个无敌的存在,可以在Linux上做任何事情。
新建用户 useradd username
设置密码 passwd username 输出密码
设置用户uid和gid都为0.(root用户的uid为0gid为0)修改文件即可 /etc/passwd
cat /etc/passwd
grep “0:0” /etc/passwd 搜索具有root权限的账户
ls -l /etc/passwd 查看文件属性,注意修改时间是否有异常
awk -F: ‘$3==0 {print $1}’ /etc/passwd (查看root权限用户)
awk -F: ‘$2=="!" {print $1}’ /etc/shadow 查看空密码用户(密码处为!)
awk -F: ‘length($2)==0 {print $1}’ /etc/shadow 查看空密码用户(密码处长度为0)
4、历史命令分析history
在Linux系统中默认会记录之前执行的命令 /root/.bash_history文件中。
用户可以使用cat /root/.bash_history进行查看或者使用history命令进行查看。
特别注意:wget(可能远程下载木马)、ssh(连接内网主机)、tar zip类命令(数据打包)、系统配置等(命令修改)ps netstat
5、计划任务排查crontab
在Linux系统中可以使用命令crontab进行计划任务的设定
-e 用来编辑设定计划任务
-l 用来查看当前计划任务
-r 用来删除计划任务
6、开机自启动项
在Linux(Debian)系统中 /etc/init.d/ 目录下保存着开机自启动程序的目录
/etc/init.d/ apache status
/etc/init.d/ apache start
/etc/init.d/ apache stop
使用update-rc.d apache disable 取消apache开机自启动
update-rc.d apache enable 开启apache开机自启动
7、$PATH变量异常
$PATH中的路径决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。ls cd
修改PATH export PATH=$PATH:/usr/locar/new/bin
只在本次终端中有效,重启后无效。在/etc/profile或/home/.bashrc (source ~/bashrc)才能永久生效。
8、后门排查-rkhunter
Rkhunter具有以下功能:
1、系统命令检测,MD5校验
2、Rookit检测
3、本机敏感目录、系统配置异常检测
安装:apt install rkhunter
基本使用:rkhunter --check --sk
-c,–check Check the local system
–sk,–skip-keypress Don’t wait for a keypress after each test