Linux环境入侵应急与排查(1)

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

查询特权用户特权用户(uid 为0):

awk -F: ‘$3==0{print $1}’ /etc/passwd

查询可以远程登录的帐号信息:

awk ‘/$1|$6/{print $1}’ /etc/shadow

除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限:

more /etc/sudoers | grep -v “#|$” | grep “ALL=(ALL)”

禁用或删除多余及可疑的帐号

usermod -L user # 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
userdel user # 删除 user 用户
userdel -r user # 将删除 user 用户,并且将 /home 目录下的 user 目录一并删除


**通过.bash\_history文件查看帐号执行过的系统命令:**  
 打开 /home 各帐号目录下的 .bash\_history,查看普通帐号执行的历史命令。  
 为历史的命令增加登录的 IP 地址、执行命令时间等信息:



1、保存1万条命令:

sed -i ‘s/^HISTSIZE=1000/HISTSIZE=10000/g’ /etc/profile

2、在/etc/profile的文件尾部添加如下行数配置信息:

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”

3、让配置生效

source /etc/profile


注意:历史操作命令的清除:history -c  
 该操作并不会清除保存在文件中的记录,因此需要手动删除.bash\_profile文件中的记录


### 三、检查端口连接情况:



netstat -antlp | more


![在这里插入图片描述](https://img-blog.csdnimg.cn/8b26962627474b14b903e61db62d06aa.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rWB5rWq5rOV5biIMTI=,size_20,color_FFFFFF,t_70,g_se,x_16)


使用 ps 命令,分析进程,得到相应pid号:



ps aux | grep 6666


![在这里插入图片描述](https://img-blog.csdnimg.cn/2ca431912e4448399b967c63b652047e.png)


查看 pid 所对应的进程文件路径:



P I D 为对应的 p i d 号 l s − l / p r o c / PID 为对应的 pid 号ls -l /proc/ PID为对应的pidlsl/proc/PID/exe 或 file /proc/$PID/exe

分析进程:

根据pid号查看进程lsof -p 6071

通过服务名查看该进程打开的文件lsof -c sshd

通过端口号查看进程:lsof -i :22


查看进程的启动时间点:



ps -p 6071 -o lstart


根据pid强行停止进程:



kill -9 6071


**注意:** 如果找不到任何可疑文件,文件可能被删除,这个可疑的进程已经保存到内存中,是个内存进程。这时需要查找PID 然后kill掉


### 四、检查开机启动项:


系统运行级别示意图:




| 运行级别 | 含义 |
| --- | --- |
| 0 | 关机 |
|  | – |
| 1 | 单用户模式,可以想象为windows的安全模式,主要用于系统修复 |
| – | – |
| 2 | 不完全的命令行模式,不含NFS服务 |
| – | – |
| 3 | 完全的命令行模式,就是标准字符界面 |
| – | – |
| 4 | 系统保留 |
| – | – |
| 5 | 图形模式 |
| – | – |
| 6 | 重启动 |


查看运行级别命令:



runlevel


开机启动配置文件:



/etc/rc.local/etc/rc.d/rc[0~6].d


启动Linux系统时,会运行一些脚本来配置环境——rc脚本。在内核初始化并加载了所有模块之后,内核将启动一个守护进程叫做init或init.d。这个守护进程开始运行/etc/init.d/rc中的一些脚本。这些脚本包括一些命令,用于启动运行Linux系统所需的服务  
 **开机执行脚本的两种方法:**



> 
> 在/etc/rc.local的exit 0语句之间添加启动脚本。脚本必须具有可执行权限  
>  用update-rc.d命令添加开机执行脚本
> 
> 
> 


1、编辑修改/etc/rc.local  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/0c28972e0a3743c39774307485ebe7ae.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rWB5rWq5rOV5biIMTI=,size_20,color_FFFFFF,t_70,g_se,x_16)


2、update-rc.d:此命令用于安装或移除System-V风格的初始化脚本连接。脚本是存放在/etc/init.d/目录下的,当然可以在此目录创建连接文件连接到存放在其他地方的脚本文件。  
 此命令可以指定脚本的执行序号,序号的取值范围是 0-99,序号越大,越迟执行。  
 **当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在/etc/init.d目录下,然后在/etc/rc.d/rc\_.d文件中建立软链接即可**  
 语法:



update-rc.d 脚本名或服务 <remove|defaults|disable|enable>
#1、在/etc/init.d目录下创建链接文件到后门脚本:
ln -s /home/b4yi/kali-6666.elf /etc/init.d/backdoor
#2、用 update-rc.d 命令将连接文件 backdoor 添加到启动脚本中去
sudo update-rc.d backdoor defaults 99


开机即执行。  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/aec3ef0d387c41d1af356b2ce2c837ec.png)


入侵排查:



more /etc/rc.local/etc/rc.d/rc[0~6].dls -l /etc/rc.d/rc3.d/


计划任务排查:  
 需要注意的几处利用cron的路径:



crontab -l # 列出当前用户的计时器设置
crontab -r # 删除当前用户的cron任务


上面的命令实际上是列出了/var/spool/cron/crontabs/root该文件的内容:



/etc/crontab只允许root用户修改
/var/spool/cron/存放着每个用户的crontab任务,每个任务以创建者的名字命名
/etc/cron.d/将文件写到该目录下,格式和/etc/crontab相同
把脚本放在/etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/cron.monthly/目录中,让它每小时/天/星期/月执行一次


小技巧:



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


入侵排查:  
 重点关注以下目录中是否存在恶意脚本;



/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/*


**入侵排查:**  
 查询已安装的服务:  
 RPM 包安装的服务:



chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务
ps aux | grep crond 查看当前服务 系统在3与5级别下的启动项
中文环境
chkconfig --list | grep “3:启用|5:启用”
英文环境
chkconfig --list | grep “3:on|5:on”


源码包安装的服务:



查看服务安装位置 ,一般是在/user/local/
service httpd start
搜索/etc/rc.d/init.d/ 查看是否存在


异常文件检查:  
 按照三种方式查找修改的文件:



按照名称
依据文件大小
按照时间查找


根据名称查找文件



find / -name a.Test

如果文件名记不全,可使用通配符*来补全

如果不区分大小写,可以将-name 替换为-iname


依据文件大小查找:



find / -size +1000M

+1000M表示大于1000M的文件,-10M代表小于10M的文件


依据时间查找:



-atime 文件的访问时间

-mtime 文件内容修改时间

-ctime 文件状态修改时间(文件权限,所有者/组,文件大小等,当然文件内容发生改变,ctime也会随着改变)

要注意:系统进程/脚本访问文件,atime/mtime/ctime也会跟着修改,不一定是人为的修改才会被记录

查找最近一天以内修改的文件:

find / -mtime -1 -ls | more

查找50天前修改的文件:

find ./ -mtime +50 -ls


根据属主和属组查找:



-user 根据属主查找
-group 根据属组查找
-nouser 查找没有属主的文件
-nogroup 查找没有属组的文件

查看属主是root的文件find ./ -user root -type f

-type f表示查找文件,-type d表示查找目录

注意:系统中没有属主或者没有属组的文件或目录,也容易造成安全隐患,建议删除。


按照CPU使用率从高到低排序:



ps -ef --sort -pcpu


按照内存使用率从高到低排序:



ps -ef --sort -pmem


**补充:**  
 1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“…”为名的文件夹具有隐藏属性。  
 2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时间范围内创建的文件?可以使用find命令来查找,如find /opt -iname “\*” -atime 1 -type f 找出 /opt 下一天前访问过的文件。  
 3、针对可疑文件可以使用 stat 进行创建修改时间。


### 五、系统日志检查:


日志默认存放位置:/var/log/  
 必看日志:secure、history  
 查看日志配置情况:more /etc/rsyslog.conf  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/8b7cbc23b20445a5b3f2a07ad7573cde.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5rWB5rWq5rOV5biIMTI=,size_20,color_FFFFFF,t_70,g_se,x_16)





### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/48b898a094f741b6889198fc928bf1ee.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/830270de0f17d5319087ecf3ec2fe518.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

...(img-I8K4IKzW-1715816678048)]

给大家整理的电子书资料:

  

[外链图片转存中...(img-nOdobv6Y-1715816678049)]



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618635766)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值