Linux应急响应

1 入侵排查思路

1.1 账号安全

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
1、查询特权用户 (uid 为0)
awk -F ':' '$3==0{print $1}' /etc/passwd
- 是否出现除了root以外的用户
- 查询特权组 --- wheel组 --- awk -F ':' '$3==10{print $0}' /etc/group

2、查询可以远程登录的帐号信息
awk -F ':' '/\$1|\$6/{print $1}' /etc/shadow
- 用户设置密码之后才能使用

3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
- 只能root拥有管理员权限,其他用户只能拥有普通用户权限 --- 在/etc/sudoers文件添加规则 加入到wheel组

4、禁用或删除多余及可疑的帐号
usermod -L user 禁用帐号,帐号无法登录,/etc/shadow第二栏为!开头
- passwd -l 用户名 //禁用
userdel user 删除user用户
userdel -r user 将删除user用户,并且将/home目录下的user目录一并删除
- 可疑用户 优先禁用

5、查询空密码用户
awk -F ':' 'length($2)==0{print $1}' /etc/shadow

1.2 历史命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
通过.bash_history查看帐号执行过的系统命令
1、root的历史命令
histroy

2、打开/home各帐号目录下的.bash_history,查看普通帐号的历史命令

为历史的命令增加登录的IP地址、执行命令时间等信息:
1)保存1万条命令
sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profile
2)在/etc/profile的文件尾部添加如下行数配置信息:
######jiagu history xianshi#########
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
if [ "$USER_IP" = "" ]
then
USER_IP=`hostname`
fi
export HISTTIMEFORMAT="%F %T $USER_IP `whoami` "
shopt -s histappend
export PROMPT_COMMAND="history -a"
######### jiagu history xianshi ##########
3)source /etc/profile让配置生效
生成效果: 1 2018-07-10 19:45:39 192.168.204.1 root source /etc/profile

3、历史操作命令的清除:history -c
但此命令并不会清除保存在文件中的记录,因此需要手动删除.bash_profile文件中的记录。

入侵排查:
进入用户目录下
cat .bash_history >> history.txt

1.3 检查异常端口

1.4 检查异常进程

1
2
3
4
5
6
7
8
9
10
检查异常端口
使用netstat 网络连接命令,分析可疑端口、IP、PID
netstat -antlp | more
- 查看可以的连接状态 --- ESTABLISHED
查看下pid所对应的进程文件路径,运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)

检查异常进程
使用ps命令,分析进程
ps aux | grep pid
- top 实时查看进程情况

1.5 检查开机启动项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
systemctl enable 服务   //自启动服务

cd /etc/init.d/ //自启动脚本存放处
vim ziqi.sh
#! /bin/bash
#chkconfig:2345 10 90
#description:ziqi.sh
echo 123 > /home/demo/Desktop/WWWWWWW.txt



chkconfig:2345 10 90
- chkconfig --- 管理系统服务的工具
- 2345 --- linux的级别
- 10 --- 启动优先级
- 90 --- 停止优先级
+ 数字越大优先级越低


chkconfig ziqi.sh on //启用自启动脚本
运行级别 含义
0 关机
1 单用户模式,可以想象为windows的安全模式,主要用于系统修复
2 不完全的命令行模式,不含NFS服务
3 完全的命令行模式,就是标准字符界面
4 系统保留
5 图形模式
6 重启动
1
2
3
4
5
runlevel  //查看级别
N 5
起始级别 现在的级别

init 级别
1
2
3
cd /etc/rc.d/  各级别的启动项目录
- ls rc[0-6].d //查看rc 0-6 的目录
- S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的
软链接 硬链接(实时备份)
创建方式 ln -s 原文件 链接文件 ln 原文件 链接文件
原文件权限更改 不变 随之变化
原文件被删除 损坏 不变
新建一个与被删除文件的同名文件 新文件的内容 原文件的内容
INODE值 与原文件不相同 与原文件相同
文件大小 比原文件小 与原文件相同

1.6 检查定时任务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
入侵排查:
重点关注以下目录中是否存在恶意脚本
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/*
/etc/anacrontab
/var/spool/anacron/*

小技巧:
more /etc/cron.daily/* 查看目录下所有文件

1.7 检查服务

1
2
3
4
5
6
7
8
查询已安装的服务
1、查看服务启动状态
chkconfig –list 查看服务的启动情况
ps aux | grep crond 查看指定服务
chkconfig --list | grep "3:on\|5:on" 查看系统在3与5级别下的启动项
2、查看源码包安装服务位置 ,一般在/usr/local/
3、查看服务状态:
如 service httpd status 或 systemctl status httpd

1.8 检查异常文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以 “.” 开头的文件夹具有隐藏属性
- /tmp ---- 临时目录 --- 粘滞位权限

2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?
可以使用find命令来查找,如
find /opt -iname “*” -atime 1 -type f
# 找出 /opt 目录及子目录下一天前访问过的文件
find / -mtime -3
# 查找过去3天内被修改过的文件

3、针对可疑文件可以使用stat进行创建修改时间。
[root@os61 Desktop]# stat WWWWWWW.txt
File: ‘WWWWWWW.txt’
Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 79321 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:user_home_t:s0
Access: 2025-08-28 14:54:52.777997071 +0800 创建时间
Modify: 2025-08-28 14:54:00.858999593 +0800 修改时间
Change: 2025-08-28 14:54:00.858999593 +0800 改变状态时间
Birth: -

+ 场景
1.是否有可疑时间点与事件发生时间一致?
2.是否有新创建的异常脚本或定时任务?
3.是否有访问了敏感文件

1.9 检查系统日志

1
2
日志默认存放位置:/var/log/
查看日志配置情况:more /etc/rsyslog.conf
日志文件 描述
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg 记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查看内核自检信息
/var/log/mailog 记录邮件信息
/var/log/message 记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件
/var/log/btmp 记录错误登录日志,这个文件是二进制文件
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件
**/var/log/**wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而要使用w,who,users等命令来查询
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如SSH登录,su切换用户,sudo授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
日志分析技巧:
1、定位有多少IP在爆破主机的root帐号:
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more


2、定位有哪些IP在爆破:
grep "Failed password" /var/log/secure | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)" | uniq -c


3、爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}' | uniq -c | sort -nr

4、登录成功的IP有哪些:
grep "Accepted" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

5、登录成功的日期、用户名、IP:
grep "Accepted" /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
6、增加用户日志:
grep "useradd" /var/log/secure

7、删除用户日志:
grep "userdel" /var/log/secure

8、su切换用户
more /var/log/secure | grep 'su:'

1.10 Rootkit查杀

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- 什么是rootkit  --- 木马 --- 特殊恶意文件 --- 隐藏在指定文件或者进程等等

1、chkrootkit
网址:http://www.chkrootkit.org

使用方法:
wget ftp://ftp.chkrootkit.org/pub/seg/pac/chkrootkit.tar.gz
tar -zxf chkrootkit.tar.gz
cd chkrootkit-0.58b/
./chkrootkit

2、rkhunter
网址:http://rkhunter.sourceforge.net/

使用方法:
wget https://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz
tar -zxf rkhunter-1.4.6.tar.gz
cd rkhunter-1.4.6/
./installer.sh --install
rkhunter -c

1.11 病毒查杀

1
2
3
4
5
6
7
8
9
Clamav
ClamAV的官方下载地址为:http://www.clamav.net/download.html

使用方法:
yum -y install epel-release
yum -y install clamav clamav-update
freshclam
clamscan -r /home

1.12 webshell查杀

1
2
3
4
5
河马webshell查杀
网址:https://www.shellpub.com/

使用方法:
https://www.shellpub.com/doc/hm_linux_usage.html