【应急响应】- Linux 系统分析排查

Linux 分析排查

    • 1. 开机启动项 /etc/init.d
      • 1.1 查看 /etc/init.d
      • 1.2 查看文件
    • 2. 新增文件分析
    • 3. 网络连接分析
    • 4. 进程分析 - 进程对应的文件
    • 5. 登录分析
    • 6. 异常用户分析排查
    • 7. 计划任务排查
    • 8. $PATH 变量异常
      • 8.1 变量的修改
      • 8.2 查看变量
    • 9. 后门排查 - rkhunter

Linux 系统下一切都是文件,因此对敏感文件的分析是排查的关键。

1. 开机启动项 /etc/init.d

查看开机启动项内容 /etc/init.d/,恶意代码很有可能设置在开机自启动的位置

通过查看最近创建的文件,判断是否是恶意文件

1.1 查看 /etc/init.d

查看相关程序文件

在该路径下的文件,并不一定全是开机自启动

etc/init.d 

查看 apache2 的状态

etc/init.d/apache2 status

设置开机启动/不启动

etc/init.d/apache2 stop				# 停止正在运行的程序
etc/init.d/apache2 start			# 启动 apache2 程序
update-rc.d apache2 disable
update-rc.d apache2 enable	

1.2 查看文件

查看指定目录下文件时间顺序的排序

ls -alt | head -n 10

查看文件的详细信息

stat filename

2. 新增文件分析

查看 24 小时内被修改的文件

find ./ -mtime 0 -name "*.php*"

查找 72 小时内新增的文件

find ./ -ctime 2 -name "*.php*"

查看权限为 777 的文件

find ./ -iname "*.php*" -perm 777

注:文件权限为 777,有很大的可疑

3. 网络连接分析

netstat 查看网络连接情况

man netstat		# 查看 netstat 的具体用法 

netstat -pantl	# 查看端口连接情况

4. 进程分析 - 进程对应的文件

查看进程信息

ps aux | grep "22"		# 查看包含关键字 22 的信息

lsof -i:端口号			# 也可以实现上一行命令的功能

5. 登录分析

在 Linux 系统中,所有的操作都会被记录到日志中,对于登录也可以查看登录日志信息查看是否有异常登录

通过 last 命令查看

last -i | grep -v 0.0.0.0		# 查看登录日志,grep -v 0.0.0.0 筛选非本地登录 

w								# 实时查看当前登录的信息

6. 异常用户分析排查

在Linux中,root 用户可以做任何事情,root 用户的 uid=0,gid=0

分析密码文件

cat /etc/passwd
grep "0:0" /etc/passwd					  # 查看uid,gid为0的用户
awk -F: '$3==0 {print $1}' /etc/passwd    # 以: 为分隔符,找到第三个占位符为0的数据,并输出第一个占位符的内容

7. 计划任务排查

在 Linux 系统中,可以使用 crontab 进行计划任务的设定

crontab -e		# 用来编辑设定计划任务
crontab -l		# 用来查看当前的计划任务
crontab -r		# 用来删除计划任务

通过查计划任务,查看是否有一次的计划任务

8. $PATH 变量异常

决定了 shell 将到哪些目录中寻找命令或程序,PATH 的值是一系列目录,当您运行一个程序时,Linux 在这些目录下进行搜寻编译链接

8.1 变量的修改

  • 修改 PATH export PATH=$PATH:/usr/locar/new/bin 本次终端中有效,重启后无效。

  • /etc/profile/home/.bashrc(source~/.bashrc)才能永久生效

8.2 查看变量

查看是否存在异常文件(恶意代码)

echo $PATH

9. 后门排查 - rkhunter

Rkhunter 的功能

  • 系统命令检测,MD5值校验
  • Rookit 检测
  • 本机敏感目录,系统配置异常检测

Rookit 是 Unix/Linux 的一组工具集,能够隐藏攻击者的行为踪迹,包括恶意程序、文件夹、注册码、网络端口、键盘记录。

rkhunter 的基本使用

rkhunter --check --sk	# 进行系统检测,忽略键盘输入
rkhunter -c				# check the local system
rkhunter -sk			# don't wait for a keypress after each test

你可能感兴趣的:(系统专区,应急响应,linux,应急响应,进程排查,rkhunter)