Linux系统入侵排查(二)

简介: 本文介绍了Linux系统入侵排查的步骤,包括检查历史命令记录、可疑端口和进程、开机启动项以及定时任务。作者强调了了解这些技能对于攻防两端的重要性,并提供了相关命令示例,如查看`/root/.bash_history`记录、使用`netstat`分析网络连接、检查`/etc/rc.local`和`/etc/cron.*`目录下的可疑脚本等。此外,还提到了如何查看和管理服务的自启动设置,以判断是否被恶意篡改。文章旨在帮助读者掌握Linux服务器安全维护的基本技巧。

前言


版权声明:本文为本博主在CSDN的原创文章搬运而来,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。                            

原文链接:https://blog.csdn.net/weixin_72543266/article/details/138620902


       对我处在学生时期的我来说,目前web渗透还是为主,但是还是需要对于蓝队相关的应急响应,等保测评等还是需要有一定的了解的,攻防兼备才能越站越勇嘛,linux入侵排查也能够让我更加熟悉liunx命令,本篇博文紧接上一篇博文开始进行.

为什么要做系统入侵排查

       当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。针对常见的攻击事件,结合工作中应急响应事件分析和解决的方法,总结了一些Linux服务器入侵排查的思路。

入侵排查思路

作为渗透小子一名,当然是通过kali来进行练习和总结了

入侵排查1

1.排查历史命令记录

       进入用户目录下,这里用户指的是,觉得可疑的用户或是要排查的用户,这里用root用户进行示例进入用户目录下后将需要查询的历史操作命令追加到,一个自己命名的txt文件中,然后自己查看,历史命令看是否存在可疑的命令.

cd /root/
cat .bash_history >> his.txt(自己命名)

image.gif

2.可疑端口排查

使用netstat 网络连接命令,分析可疑端口、IP、PID

netstat -antlp|more

image.gif

image.gif

其中图中Local Address代表开放的端口,如图所示只开放了22,36029这两个端口,查看下pid所对应的进程文件路径,这里我用上图所示的1039进程做个示例,可以查看对应进程文件件的位置,如果发现可疑端口开放,可以查看对应的进程进行关闭进程

运行ls -l /proc/$PID/exe或file /proc/$PID/exe($PID 为对应的pid 号)

image.gif

image.gif

发现可疑的进程,通过下面的命令进行关闭

sudo kill -9 进程PID号

image.gif

3.可疑进程排查

这个其实上面的基本就处理了一部分了

使用ps命令,分析进程

ps aux | grep pid

image.gif

image.gif

  1. 第一列是进程ID(PID),例如911、1885和5836。
  2. 第二列是进程所属用户,例如message+、kali和root。
  3. 第三列是进程占用的CPU百分比,例如0.0、0.3和0.1。
  4. 第四列是进程占用的内存百分比,例如0.3、0.3和0.1。
  5. 第五列是进程占用的虚拟内存大小,单位为KB,例如11948、10632和6572。
  6. 第六列是进程占用的常驻内存大小,单位为KB,例如6144、6144和2304。
  7. 第七列是进程状态,例如Ss、Ss和S+。其中S表示休眠状态,s表示中断等待状态,+表示前台运行状态。
  8. 第八列是进程启动时间,例如13:29、13:35和17:10。
  9. 第九列是进程运行时间,例如0:01、0:01和0:00。
  10. 第十列是进程的命令行,例如/usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile

4.开机启动项

基本使用:

4.1系统运行级别示意图:

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

4.2查看运行级别命令

runlevel

image.gif

┌──(root?kali)-[~]

└─# runlevel

N 5  代表我现在使用的是图形界面

4.3系统默认允许级别

vi /etc/inittab
id=3:initdefault 系统开机后直接进入哪个运行级别

image.gif

4.4.开机启动配置文件

/etc/rc.local

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

例子:当我们需要开机启动自己的脚本时,只需要将可执行脚本丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 中建立软链接即可

┌──(root?kali)-[~]

└─# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

此处sshd是具体服务的脚本文件,S100ssh是其软链接,S开头代表加载时自启动;如果是K开头的脚本文件,代表运行级别加载时需要关闭的。

入侵排查2:

1.启动项文件排查:

排查启动项文件夹,下面的是通过简化方式进行写的,主要看当然目录的位置  ,示例: more /etc/rc0.d

image.gif

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

image.gif

2.定时任务排查

基本使用

1、利用crontab创建计划任务

基本命令

crontab -l 列出某个用户cron服务的详细内容
Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如: /var/spool/cron/root
crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
crontab -e 使用编辑器编辑当前的crontab文件
如:/1 * echo "hello world" >> /tmp/test.txt 每分钟写入文件

image.gif

2、利用anacron实现异步定时任务调度

使用示例:每天运行 /home/backup.sh 脚本: vi /etc/anacrontab @daily 10 example.daily /bin/bash   /home/backup.sh  当机器在 backup.sh 期望被运行时是关机的,anacron会在机器开机十分钟之后运行它,而不用再等待7天。

3.入侵排查

重点关注以下目录中是否存在恶意脚本,查看方法和上面的一致,基本都是查看对应目录下是否有可疑的文件.

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

image.gif

小技巧:

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

image.gif

3.服务排查

服务自启动

3.1第一种修改方法:

chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig –level  2345 httpd on 开启自启动
chkconfig httpd on (默认level是2345)

image.gif

3.2第二种修改方法:

修改/etc/re.d/rc.local 文件  
加入 /etc/init.d/httpd start

image.gif

3.3第三种修改方法:

使用ntsysv命令管理自启动,可以管理独立服务和xinetd服务。

3.4入侵排查

1、查询已安装的服务:

RPM包安装的服务

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

image.gif

2.源码包安装的服务

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


总结

       对系统进行入侵排查也是比较费时间和精力的一次行动,本篇目前只记录这么多,后续会继续记录和总结.

相关文章
|
5天前
|
IDE Linux 开发工具
Linux 系统上安装
在Linux和Mac上安装Lua 5.3.0只需下载源码,解压,编译和安装。Windows用户可选择SciTE IDE或通过LuaForWindows在Github或Google Code下载安装。创建 HelloWorld.lua,使用`lua HelloWorld.lua`运行显示"Hello World!"。另可参考LuaDist官方推荐方式安装。
|
3天前
|
运维 Linux
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
CentOS系统openssh-9,你会的还只有初级Linux运维工程师的技术吗
|
4天前
|
监控 JavaScript Linux
Linux系统之部署Homepage个人导航页
【5月更文挑战第13天】Linux系统之部署Homepage个人导航页
24 1
|
5天前
|
监控 JavaScript 网络协议
Linux系统之安装uptime-kuma服务器监控面板
【5月更文挑战第12天】Linux系统之安装uptime-kuma服务器监控面板
18 0
|
5天前
|
Linux Perl
Linux系统的文本处理
Linux系统的文本处理
|
5天前
|
缓存 Linux 测试技术
安装【银河麒麟V10】linux系统--并挂载镜像
安装【银河麒麟V10】linux系统--并挂载镜像
261 0
|
8月前
|
缓存 Ubuntu Linux
Vim编辑器入门指南:安装、基本操作和高级技巧详解 | 适用于Linux系统
Vim编辑器入门指南:安装、基本操作和高级技巧详解 | 适用于Linux系统
320 0
|
9月前
|
Oracle 关系型数据库 Linux
Virtualbox上安装Linux系统(CentOS7)(图文超详细)
Virtualbox上安装Linux系统(CentOS7)(图文超详细)
287 0
|
5天前
|
Linux 开发工具 Android开发
Docker系列(1)安装Linux系统编译Android源码
Docker系列(1)安装Linux系统编译Android源码
27 0
|
5天前
|
关系型数据库 MySQL Linux
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
【VMware安装+centos 7Linux系统+MySQL安装】——在Linux系统中安装MySQL步骤,以及遇见的各种问题(如:vm两个虚拟网卡消失、vm网络适配器有感叹号等等)
207 0
http://www.vxiaotou.com