Linux系统入侵排查(二)

前言

为什么要做系统入侵排查

入侵排查1

1.排查历史命令记录 

2.可疑端口排查

3.可疑进程排查

4.开机启动项

4.1系统运行级别示意图:

4.2查看运行级别命令

4.3系统默认允许级别

4.4.开机启动配置文件

入侵排查2:

1.启动项文件排查:

2.定时任务排查

1、利用crontab创建计划任务

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

3.入侵排查

小技巧:

3.服务排查

3.1第一种修改方法:

3.2第二种修改方法:

3.3第三种修改方法:

3.4入侵排查

1、查询已安装的服务:

2.源码包安装的服务

总结


前言


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

为什么要做系统入侵排查

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

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

入侵排查1

1.排查历史命令记录 

        进入用户目录下,这里用户指的是,觉得可疑的用户或是要排查的用户,这里用root用户进行示例

进入用户目录下后将需要查询的历史操作命令追加到,一个自己命名的txt文件中,然后自己查看,历史命令看是否存在可疑的命令. 

cd /root/

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

2.可疑端口排查

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

netstat -antlp|more

其中图中Local Address代表开放的端口,如图所示只开放了22,36029这两个端口

        查看下pid所对应的进程文件路径,这里我用上图所示的1039进程做个示例,可以查看对应进程文件件的位置,如果发现可疑端口开放,可以查看对应的进程进行关闭进程

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

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

sudo kill -9 进程PID号

3.可疑进程排查

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

使用ps命令,分析进程

ps aux | grep pid

  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

┌──(root㉿kali)-[~]
└─# runlevel
N 5  代表我现在使用的是图形界面

4.3系统默认允许级别

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

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

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

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 每分钟写入文件
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/*
小技巧:
more /etc/cron.daily/* 查看目录下所有文件

3.服务排查

服务自启动

3.1第一种修改方法:
chkconfig [--level 运行级别] [独立服务名] [on|off]
chkconfig –level  2345 httpd on 开启自启动
chkconfig httpd on (默认level是2345)
3.2第二种修改方法:
修改/etc/re.d/rc.local 文件  
加入 /etc/init.d/httpd start
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"
2.源码包安装的服务
查看服务安装位置 ,一般是在/user/local/
service httpd start
搜索/etc/rc.d/init.d/ 查看是否存在

总结

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

XError_xiaoyu

你的支持,使我更好的创作

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

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

打赏作者

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

抵扣说明:

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

余额充值