linux系统应急排查

admin 2024年9月3日08:58:28评论22 views字数 3612阅读12分2秒阅读模式

前言

在进行应急响应时,我们首先需要对系统进行一个全面的排查,发现可能存在问题的点,如是否存在恶意进程,恶意文件等。

本篇文章来看一下linux下常见的应急排查。

系统排查

1)查看CPU信息:lscpu

通过lscpu命令可以查找cpu的信息

linux系统应急排查

2)操作系统信息

uname -a

linux系统应急排查

cat /proc/version

linux系统应急排查

3)模块信息

lsmod

linux系统应急排查

用户信息排查

1)查看所有用户的信息   cat /etc/passwd

查看系统所有用户信息可以在命令行中输入【cat/etc/passwd】命令,后续各项由冒号隔开,分别表示“用户名”“密码加密”“用户ID”“用户组ID”“注释”“用户主目录”“默认登录shell”。查询的用户信息中,最后显示“bin/bash”的,表示账户状态为可登录;显示“sbin/nologin”的,表示账户状态为不可登录

linux系统应急排查

2)查找超级账号

linux账号中药特别关注root权限的账号,也就是UID/GID为0的账号。如果出现了除root以外的UID为0的可登录账号,要重点排查

awk -F: '{if ($3==0) print $1}' '/etc/passwd'

linux系统应急排查

3)可登录账号分析

除了root账号以外,可登录账号也要重点关注

cat /etc/passwd |grep /bin/bash

linux系统应急排查

4)查看用户错误的登录信息

lastb

可查看用户错误的登录列表,包括错误的登录方法、IP地址、时间等5)

linux系统应急排查

更详细的登录错误信息,可以到/var/log/secure日志中查看

linux系统应急排查

5)查看所有用户最后的登录信息

lastlog

查看系统重所有用户最后的登录信息

linux系统应急排查

6)查看用户最近登录信息

last

可查看用户最近登录信息(数据源为/var/log/wtmp、/var/log/btmp、/var/log/utmp)

linux系统应急排查

7)查看当前用户登录系统情况

who

linux系统应急排查

8)查看空口令账户

无需密码即可登录的账号也需要重点排查。

awk -F : 'length($2)==0 {print $1}' /etc/passwd

linux系统应急排查

启动项

启动项是恶意病毒实现持久化驻留的一种常用手段,使用以下方法可以查找启动项相关内容。

使用【cat /etc/init.d/rc.local】命令,可查看init.d 文件夹下的rc.local文件内容。

使用【cat /etc/rc.local】命令,可查看rc.local文件内容。

使用【ls -alt /etc/init.d】命令,可查看init.d文件夹下所有文件的详细信息

linux系统应急排查

也可以使用下面的两个命令来查看系统中的启动项

systemctl list-unit-files –type=service

chkconfig –list

linux系统应急排查

重点排查以下的启动项项目

/etc/rc.d/rc /etc/rc /etc/rc.local /etc/rc.d/rc.local /etc/rc.d/rc /etc/init/*.conf /etc/rc$runlevel.d/ 该目录下都是链接的可执行文件,也可以自己添加可执行程序 以上目录都是重点排查的启动项目 另外一个添加启动项的地方在  /etc/profile里面,还有  /etc/profile.d/目录下以sh结尾的文件

计划任务

在Linux系统中,任务计划也是维持权限和远程下载恶意软件的一种手段。一般有以下两种方法可以查看任务计划。

1)通过crontab命令查看

crontab -l  查看当前的技术啊任务

crontab -u root -l  指定root用户

linux系统应急排查

2)通过计划任务文件查看

般在Linux系统中的任务计划文件是以cron开头的,可以利用正则表达式的*筛选出etc目录下的所有以cron开头的文件,具体表达式为/etc/cron*。

包含计划任务的文件夹

/etc/crontab /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /etc/anacrontab

防火墙规则

进程排查

1)netstat命令分析

netstat -tulnp  查看网络连接,分析是否存在异常

linux系统应急排查

2)ls -alt /proc/PID 查看对应的可执行文件

linux系统应急排查

3)lsof -p PID  查看进程打开的文件

linux系统应急排查

4)kill -9 PID 结束进程

然后使用【rm-rf filename】命令可删除木马,如要删除mbrn文件,则可使用命令【rm-rf mbrn】。如果root用户都无法删除相关文件,那么很可能是因为该文件被加上了i属性。使用【lsatter filename】命令,可查看文件属性,然后使用【chattr-i filename】命令,可移除i属性,进而删除文件。也有的进程因为存在守护进程而无法删除,我们可以先把进程挂起,查杀守护进程后,再返回将进程删除。

5)隐藏进程

有些攻击者会将进程隐藏,以躲避排查,因此查看隐藏进程同样重要。

下面是一个简单的查看隐藏进程的方式,就是将ps的输出与/proc里面的内容进行比较

[root@master init.d]# ps -ef |awk '{print $2}' |sort -n |uniq >1 [root@master init.d]# ls /proc|sort -n |uniq >2 [root@master init.d]# diff 1 2

linux系统应急排查

服务排查

1)chkconfig--list

在命令行中输入【chkconfig --list】命令,可以查看系统运行的服务

linux系统应急排查

其中,0、1、2、3、4、5、6表示等级,具体含义如下:

1表示单用户模式;

2表示无网络连接的多用户命令行模式;

3表示有网络连接的多用户命令行模式;

4表示不可用;

5表示带图形界面的多用户模式;

6表示重新启动。

2)service --status-all

查看服务的状态

linux系统应急排查

文件排查

1)敏感目录

(1)/tmp目录和命令目录/usr/bin/usr/sbin等经常作为恶意软件下载目录及相关文建被替换的目录。文件名为crloger8的木马下载到/tmp目录下。

(2)此外,~/.ssh及/etc/ssh也经常作为一些后门配置的路径,需要重点检查

2)根据时间点排查

(1)通过列出攻击日期内变动的文件,可发现相关的恶意软件。通过【find】命令可对某一时间段内增加的文件进行查找。以下为常用的【find】命令。

find使用语法

find:在指定目录下查找文件。-type b/d/c/p/l/f:查找块设备、目录、字符设备、管道、符号链接、普通文件。-mtime -n+n:按文件更改时间来查找文件,-n指n天以内,+n指n天前。-atime -n+n:按文件访问时间来查找文件,-n指n天以内,+n指n天前。-ctime -n+n:按文件创建时间来查找文件,-n指n天以内,+n指n天前

find ./ -ctime 0  一天内创建的所有文件

linux系统应急排查

ls -alt|head -n 10  按照时间排序的前10个文件

linux系统应急排查

stat :可以显示文件的创建时间,修改时间,访问时间

使用【stat】命令可以详细查看文件的创建时间、修改时间、访问时间,若修改时间距离应急响应事件日期接近,有线性关联,说明可能被篡改。

3)特殊文件

Linux系统中的恶意文件存在特定的设置、特定的关键字信息等。Linux系统中的几种特殊文件类型可以按照以下方法进行排查。

(1)权限过高文件查找

find  /tmp  -perm 777  查找/tmp下权限为777的文件

linux系统应急排查

(2)用户属组异常的文件

find /var/www/html -user apache  查找/var/www/html的目录下属主为apache的文件

(3)文件内特征查找

如根据webshell的特征查找

find /var/www/ -name "*.php"

find /var/www/ -name "*.php" |xargs egrep 'assert|phpspy|eval'

4)对系统命令进行排查

ls和ps等命令很可能被攻击者恶意替换,所以可以使用【ls -alt /bin】命令,查看命令目录中相关系统命令的修改时间,从而进行排查

也可以使用【ls -alh /bin】命令查看相关文件的大小,若明显偏大,则文件很可能被替换

5)排查SUID程序

对于一些设置了SUID权限的程序进行排查

find  /  -type  f  -perm  -04000  -ls  -uid 0 2>/dev/null

linux系统应急排查

6)linux后门检测

可以使用第三方查杀工具(如chkrootkit、rkhunter)进行查杀。chkrootkit工具用来监测 rootkit 是否被安装到当前系统中。rootkit是攻击者经常使用的后门程序。这类后门程序通常非常隐秘、不易被察觉,植入后,等于为攻击者建立了一条能够长时间入侵系统或可对系统进行实时控制的途径。因此,使用chkrootkit工具可定时监测系统,以保证系统的安全。

总结

上面是linux常用的一些排查命令,在应急时可以灵活应用。

原文始发于微信公众号(信安路漫漫):linux系统应急排查

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年9月3日08:58:28
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   linux系统应急排查http://cn-sec.com/archives/3121895.html

发表评论

匿名网友 填写信息