Linux的应急响应

入侵排查思路
账号安全 -> 历史命令 -> 检查异常端口 -> 检查异常进程 -> 检查开机启动项 ->
检查定时任务 -> 检查服务 -> 检查异常文件 -> 检查系统日志
一、账号安全
1 、查询特权用户 (uid 0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
2 、查询可以远程登录的帐号信息
可以远程登录 --> 等于有密码的用户
[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
3 、除 root 帐号外,其他帐号是否存在 sudo 权限。如非管理需要,普通帐号
应删除 sudo 权限
[root@localhost ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
4 、禁用或删除多余及可疑的帐号
usermod -L user 禁用帐号,帐号无法登录, /etc/shadow 第二栏为 ! 开头
userdel user 删除 user 用户
userdel -r user 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除
二、历史命令
ls -a // 查看隐藏文件
. 开头的为隐藏文件
通过 .bash_history 查看帐号执行过的系统命令
1 root 的历史命令
history
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
三、检查异常端口
检查异常端口
使用 netstat 网络连接命令,分析可疑端口、 IP PID
netstat -antlp|more
a:all 所有监听的端口
n: 直接使用 ip
t:tcp 协议
l:listen 监听
p: 进程
查看下 pid 所对应的进程文件路径,
运行 ls -l /proc/$PID/exe file /proc/$PID/exe $PID 为对应的 pid 号)
四、检查异常进程
检查异常进程
使用 ps 命令,分析进程
ps aux | grep pid
VSZ :虚拟内存的占用大小
RSS :实际内存的占用大小
TTY :终端类型( tty: 控制终端, pts: 虚拟终端)
STAT :进程状态
        R:正在运行或者可运行的进程
        S:休眠中
        s:一个信息头
        <:高优先级
        N:低优先级
        l:多线程
        +:在前台进程组
START :进程的启动时间
TIME :进程运行时长
COMMAND :启动进程的命令
五、检查开机启动项
systemctl enable 服务名 // 自启动服务
开机自启动的脚本:
#! /bin/bash
#chkconfig:2345 10 90
#description:ziqi.sh
echo 123
2345 :默认的启动级别
10 :启动优先级
90 :停止优先级
查看运行级别命令 runlevel
运行级别 含义
0 关机
1 单用户模式,可以想象为 windows 的安全模式,主要用于系统修复
2 不完全的命令行模式,不含 NFS 服务(无网络连接的多用户命令行模式)
3 完全的命令行模式,就是标准字符界面(有网络连接的多用户命令行模式)
4 系统保留
5 图形模式(带图形化界面的多用户命令行模式)
6 重启动
优先级的范围: 0-100 ,数字越大,优先级越低
设置开机自启动,只需将可执行脚本丢在 /etc/init.d 目录下,然后在
/etc/rc.d/rc*.d 中建立软链接即可
[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh
此处 sshd 是具体服务的脚本文件, S100ssh 是其软链接, S 开头代表加载时
自启动;如果是 K 开头的脚本文件,代表运行级别加载时需要关闭的。
S100--> 启动优先级 100
chkconfig --add ziqi.sh // 将脚本添加自启动列表
chkconfig --list // 查看自启动列表
chkconfig ziqi.sh on // 启用脚本
硬链接
软链接
类似完整克隆,但不完
成是
类似链接克隆,但不完全是
创建方式
ln [ 原文件 ] [ 目标链接文
件]
ln -s [原文件 ] [ 目标链接文件 ]
原文件删除
若有可执行权限,才能
执行,不受影响
随之损坏,不能执行
更改原文件权限
权限随之更改
权限不会更改,但是若原文件没有执行权
限,软链接也无法执行
新建一个与被删除原文
件的同名文件
执行将结果与被删除原
文件的内容一样
执行结果是新建文件的内容
六、检查定时任务
入侵排查:
重点关注以下目录中是否存在恶意脚本
/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/* 查看目录下所有文件
七、检查服务
systemctl list-units --type=service // 查看正在运行的服务
systemctl list-units --all --type=service // 查看系统中所有的服务
八、检查异常文件
1 、查看敏感目录,如 /tmp 目录下的文件,同时注意隐藏文件夹,以 “..” 为名的文件夹具有隐藏属性
2 、得到发现 WEBSHELL 、远控木马的创建时间,如何找出同一时间范围内创建的文件?
可以使用 find 命令来查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt
下一天前访问过的文件
-atime 1 :一天之内
-type f :类型, f-->file, 普通文件
3 、针对可疑文件可以使用 stat 进行创建修改时间。
[root@os39 ~]# stat 1.txt
        File: ‘1.txt’
        Size: 4 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 35006567 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:admin_home_t:s0
Access: 2023-07-26 21:10:09.071949332 -0400 // 访问时间( cat
Modify: 2023-07-26 21:10:09.071949332 -0400 // 修改文件内容时间
Change: 2023-07-26 21:10:09.071949332 -0400 // 改变状态的时间(包括内容修改、权限修改 等)
Birth: -
九、检查系统日志
日志默认存放位置: /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 记录错误登录日志,这个文件是二进制文件,不能直接 vi 查看,而要使用 lastb 命令查看
/var/log/lastlog 记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接 vi
而要使用 lastlog 命令查看
/var/log/wtmp 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文
件也是一个二进制文件,不能直接 vi ,而需要使用 last 命令来查看
/var/log/utmp 记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登
录用户的信息。同样这个文件不能直接 vi ,而要使用 w,who,users 等命令来查询
/var/log/secure 记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如 SSH 登录, su
切换用户, sudo 授权,甚至添加用户和修改用户密码都会记录在这个日志文件中
日志分析技巧:
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
sort :对文本文件中所有行进行排序
uniq -c :在每行开头的时候增加重复次数
sort -nr :统计出现的次数
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:'
十、工具使用
Rootkit 查杀
1 chkrootkit
网址: http://www.chkrootkit.org
使用方法:
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
tar -zxf chkrootkit.tar.gz
cd chkrootkit-0.55
./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
病毒查杀
Clamav
ClamAV 的官方下载地址为: http://www.clamav.net/download.html
使用方法:
yum -y install epel-release
yum install –y clamav clamav-update
freshclam
clamscan -r /home
webshell 查杀
河马 webshell 查杀
网址: https://www.shellpub.com/
使用方法:
https://www.shellpub.com/doc/hm_linux_usage.html
深信服 Webshell 网站后门检测工具
网址: https://edr.sangfor.com.cn/#/index/home

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

アイシン

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值