Linux服务器入侵检测基础

最近遇到了很多服务器被入侵的例子,为了方便日后入侵检测以及排查取证,我查询了一些linux服务器入侵取证的相关资料,并在此总结分享,以便日后查询。
  一般服务器被入侵的迹象,包括但不局限于:由内向外发送大量数据包(DDOS肉鸡)、服务器资源被耗尽(挖矿程序)、不正常的端口连接(反向shell等)、服务器日志被恶意删除等。那么既然是入侵检测,首先要判断的是服务器是否被入侵,必须排除是管理员操作不当导致的问题,因此入侵检测的第一项工作就是询问管理员服务器的异常现象,这对之后入侵类型的判断非常重要。

  在询问了相关异常信息,排除了管理员操作失误等原因后,那么便可以开始正式的上服务器进行入侵检测以及取证操作了。

审计命令

last

  这个命令可用于查看我们系统的成功登录、关机、重启等情况,本质就是将/var/log/wtmp文件格式化输出,因此如果该文件被删除,则无法输出结果。

相关参数:
last -10(-n) 查看最近10条记录
last -x reboot 查看重启的记录
last -x shutdown 查看关机的记录
last -d 查看登陆的记录
last –help 命令帮助信息
last -f wtmp 用last命令查看wtmp文件(直接打开无法查看)

lastb

这个命令用于查看登录失败的情况,本质就是将/var/log/btmp文件格式化输出。

相关参数:
lastb name(root) 查看root用户登陆失败记录
lastb -10(-n) 查看最近10条登陆失败记录
lastb –heplp 命令帮助信息

lastlog

这个命令用于查看用户上一次的登录情况,本质就是将/var/log/lastlog文件格式化输出。

相关参数:
lastlog 所有用户上一次登陆记录
lastlog -u username(root) root用户上一次登陆记录
lastlog –help 命令帮助信息

who

  这个命令用户查看当前登录系统的情况,本质就是将/var/log/utmp文件格式化输出。主要用来查看当前用户名称,以及登陆的ip地址信息,w命令与who一样,会更详细一些。

history

查看历史命令记录,其实就是查看root/.bash_history文件内容,删除这个文件,记录就没了。

相关参数:
history 查看所有历史记录
history -10 查看最近10条记录
history | grep “wget” 查看wget相关信息的记录
history –help 命令帮助信息

history显示时间戳:


1

2


export HISTTIMEFORMAT="%F %T `whoami` "

history | more

检查用户

Linux不同的用户,有不同的操作权限,但是所有用户都会在/etc/passwd、/etc/shadow、/etc/group文件中记录。


1

2

3

4

5


less /etc/passwd  查看是否有新增用户

grep :0 /etc/passwd  查看是否有特权用户(root权限用户)

ls -l /etc/passwd  查看passwd最后修改时间

awk -F: ‘$3==0 {print $1}‘ /etc/passwd  查看是否存在特权用户

awk -F: ‘length($2)==0 {print $1}‘ /etc/shadow  查看是否存在空口令用户

注:linux设置空口令:passwd -d username

检查进程

  一般被入侵的服务器都会运行一些恶意程序,或是挖矿程序,或者DDOS程序等等,如果程序运行着,那么通过查看进程可以发现一些信息。

普通进程


1

2

3

4

5

6


ps -aux  查看进程

top 查看进程

lsof -p pid  查看进程所打开的端口及文件

lsof -c 进程名  查看关联文件

ps -aux | grep python | cut -d ‘ ‘ -f 2 | xargs kill 杀死python相关的进程

检查/etc/inetd.conf文件,输入:cat /etc/inetd.conf | grep –v "^#",输出的信息就是你这台机器所开启的远程服务。

如果进程中没有发现异常,那么可以看看有没有开启某些隐藏进程。

隐藏进程


1

2

3


ps -ef | awk ‘{print}‘ | sort -n | uniq >1

ls /proc | sort -n |uniq >2

diff 1 2

注:以上3个步骤为检查隐藏进程。

检查文件

被入侵的网站,通常肯定有文件被改动,那么可以通过比较文件创建时间、完整性、文件路径等方式查看文件是否被改动。


1

2

3

4

5

6

7

8

9


find / -uid 0 -print  查找特权用户文件

find / -size +10000k -print  查找大于10000k的文件

find / -name "…" -prin  查找用户名为…的文件

find / -name core -exec ls -l {} \;  查找core文件,并列出详细信息

md5sum -b filename  查看文件的md5值

rpm -qf /bin/ls  检查文件的完整性(还有其它/bin目录下的文件)

whereis 文件名  查看文件路径

ls -al 文件名  查看文件创建时间

du -sh 文件名 查看文件大小

检查网络

检查网络的目的,是查看黑客是否通过篡改网卡类型,进行流量嗅探等操作。


1

2

3

4

5


ip link | grep PROMISC  正常网卡不应该存在promisc,如果存在可能有sniffer

lsof -i

netstat -nap  查看不正常端口

arp -a  查看arp记录是否正常

ifconfig -a  查看网卡设置

检查计划任务

当我们尝试kill恶意程序时,往往会遇到被kill程序自动启动的问题,那么就要检查下计划任务(cron)了。


1

2

3

4


crontab -u root -l  查看root用户的计划任务

cat /etc/crontab

ls -l /etc/cron.*  查看cron文件是否变化的详细信息

ls /var/spool/cron/

检查系统后门

可以使用工具,如:Conmodo、rkhunter等,当然也可以手工输入命令检查。


1

2

3


vim $HOME/.ssh/authorized_keys  查看ssh永久链接文件

lsmod  检查内核模块

chkconfig –list/systemctl list-units –type=service  检查自启

查看著名的木门后门程序:


1

2

3

4


ls /etc/rc.d #系统开机后,此目录下的文件会被启动

ls /etc/rc3.d

find / -name “.rhosts” –print

find / -name “.forward” –print

检查网站后门

  如果服务器上运行着web程序,那么需要检查是否通过web漏洞入侵服务器,具体的判断方法可以结合分析中间件日志以及系统日志,但过程需要较长时间。我们也可以通过检查服务器上是否留有入侵者放置的网站后门木马,以此判断黑客是否通过web应用入侵到服务器。

Method One

  • 将网站目录下,文件名中含有jsp、php、asp、aspx的文件(注意是含有)都copy出来并压缩。
  • 通过windows下的D盾工具扫描打包出来的目录,扫描是否存Webshell(网站后门)

Method Two

  直接使用MaskFindShell工具,进行webshell扫描(目前只能扫描jsp与php的网站,并且php的误报比较高)
关于MaskFindShell详细用法,可以参考:MaskFindShell-Document

寻找服务器物理路径

无论哪种方法的webshell查找,首先要确定的是web服务器安装的路径,因为webshell都是放在web路径下的。

打包文件

  当我们做好一切入侵检测分析后,我们需要把一些日志文件copy到本地进行更进一步详细的分析时,怎么打包服务器相关信息,并且copy到本地呢?

打包web文件

打包文件名中包含jsp的文件,打包后的文件为my_txt_files.tar:


1

tar cvf my_txt_files.tar `find . -type f -name "*.jsp*"`

打包日志文件


1

tar -cvf log.tar /var/log

打包其他信息


1

2

3


last > last.log

netstat -an > netstat.log

......

传输文件到本地

将服务器上的文件传输到本地电脑上的几种方法。

lrzsz

如果ssh连接的客户端为xshell等,可以安装lrzsz命令(putty无法使用)


1

apt-get install lrzsz

使用:
上传文件到linux,rz;下载linux文件,sz 文件名。

开启ftp或者http

  开ftp这里我不介绍了,网上很多教程,这里主要说说开启http服务。
  一般linux服务器都默认安装了python,那么可以借助python快速开启一个http服务,详细参考:基于Python的WebServer

U盘挂载

如果我们不是通过ssh的方式连接,而是直接通过显示器连接上服务器进行操作,那么可以尝试U盘传输。


1

2

3

4


fdisk -l 查看U盘路径

monut /dev/sdb4 /mnt 挂载U盘

cd /mnt 进入U盘

umount /mnt 退出U盘

本文总结的都是一些Linux入侵检测最基础的命令,至于怎么用好这些命令,需要结合实际情况,主要还是看经验。以上所诉,还只是入侵检测信息收集阶段,至于如何通过现有信息分析出入侵途径,还需要借助其他工具以及知识。

参考链接:http://www.jb51.net/hack/421908.html

时间: 2024-10-14 04:10:49

Linux服务器入侵检测基础的相关文章

Linux后门入侵检测

蛋疼啊,服务器被入侵成肉鸡了,发出大量SYN请求到某个网站!(瞬间有种被OOXX(强)(奸)的赶脚) 泪奔ING... 源起: Linux服务器日常检查,#ps aux 发现大量httpd进程,和往常情况不同(和以往多出好几倍),接着#top 一下,httpd名列前茅!(JJ Fly...) #netstat -anp 发现大量SYN_SENT,成肉鸡了!(瞬间有种被OOXX(强)(奸)的赶脚)! #cd / 转到根目录  #ll -a检查最近修改过的文件,发现/etc文件夹在前几天凌晨三点被修

linux服务器性能检测工具nmon使用

今天介绍一款linux系统服务器性能检测的工具-nmon及nmon_analyser (生成性能报告的免费工具),亲测可用. 一.介绍 nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新.这个高效的工具可以工作于任何哑屏幕.telnet 会话.甚至拨号线路.另外,它并不会消耗大量的 CPU 周期,通常低于百分之二.在更新的计算机上,其 CPU 使用率将低于百分之一. 使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新.然而,您可以很容易地将这个时间间隔

Linux服务器后门检测RKHunter及被攻击后处理思路

前言 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root  权限登录到系统. rootkit主要有两种类型:文件级别和内核级别. 文件级别的rootkit: 一般是通过程序漏洞或者系统漏洞进入系统后,通过修改系统的重要文件来达

Linux后门入侵检测工具,附bash漏洞解决方法[转载]

转自:http://blog.jobbole.com/77663/ 官网 ClamAV杀毒软件介绍 ClamAV是一个在命令行下查毒软件,因为它不将杀毒作为主要功能,默认只能查出您计算机内的病毒,但是无法清除,至多删除文件.ClamAV可以工作很多的平台上,但是有少数无法支持,这就要取决您所使用的平台的流行程度了.另外它主要是来防护一些WINDOWS病毒和木马程序.另外,这是一个面向服务端的软件. 下载ClamAV安装包 ClamAV的官方下载地址为http://www.clamav.net/d

Linux后门入侵检测工具,附bash漏洞解决方法

一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录到系统. rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍. 1.文件级别rootkit 文件级别的rootkit一般是通

安全运维之:Linux后门入侵检测工具,附最新bash漏洞解决方法

一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录到系统. rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍. 1.文件级别rootkit 文件级别的rootkit一般是通

安全运维之:Linux后门入侵检测工具的使用

一.rootkit简介 rootkit是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马.rootkit攻击能力极强,对系统的危害很大,它通过一套工具来建立后门和隐藏行迹,从而让攻击者保住权限,以使它在任何时候都可以使用root权限登录到系统. rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍. 1.文件级别rootkit 文件级别的rootkit一般是通

使用AIDE做Linux高级入侵检测文件监控

yum install aide -y  //epel cp /etc/aide.conf{,.bk} /etc/aide.conf  //配置文件 #初始化监控数据库(这需要一些时间) /usr/sbin/aide -c /etc/aide.conf -i #把当前初始化的数据库作为开始的基础数据库 cp /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz #如果是正常的改动 更新改动到基础数据库 aide -u cd /var/lib/

千呼万唤始出来!《高性能Linux服务器构建实战Ⅱ》出版在即

经过近2年的酝酿,几个月的修正,<高性能Linux服务器构建实战Ⅱ----系统安全.故障排查.自动化运维与集群架构>一书出版在即,马上就要与读者见面了. <高性能Linux服务器构建实战Ⅱ----系统安全.故障排查.自动化运维与集群架构>仍 然沿用了<高性能Linux服务器构建实战---运维监控.性能调优.集群应用>的写作特点:实战.实用.通俗.易懂的特点,而在内容上更加实战化,从运 维的多个方面以近似真实的环境介绍运维工作中的各个方方面面,与第一本书不同的是,此书新增