文档章节

Linux后门入侵检测工具

mickelfeng
 mickelfeng
发布于 2017/05/31 14:24
字数 2968
阅读 16
收藏 0
点赞 0
评论 0

Linux后门入侵检测工具1

一、rootkit简介

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

rootkit主要有两种类型:文件级别和内核级别,下面分别进行简单介绍。

1、文件级别rootkit

文件级别的rootkit一般是通过程序漏洞或者系统漏洞进入系统后,通过修改系统的重要文件来达到隐藏自己的目的。在系统遭受rootkit攻击后,合法的文件被木马程序替代,变成了外壳程序,而其内部是隐藏着的后门程序。通常容易被rootkit替换的系统程序有login、ls、ps、ifconfig、du、find、netstat等,其中login程序是最经常被替换的,因为当访问Linux时,无论是通过本地登录还是远程登录,/bin/login程序都会运行,系统将通过/bin/login来收集并核对用户的账号和密码,而rootkit就是利用这个程序的特点,使用一个带有根权限后门密码的/bin/login来替换系统的/bin/login,这样攻击者通过输入设定好的密码就能轻松进入系统。此时,即使系统管理员修改root密码或者清除root密码,攻击者还是一样能通过root用户登录系统。攻击者通常在进入Linux系统后,会进行一系列的攻击动作,最常见的是安装嗅探器收集本机或者网络中其他服务器的重要数据。在默认情况下,Linux中也有一些系统文件会监控这些工具动作,例如ifconfig命令,所以,攻击者为了避免被发现,会想方设法替换其他系统文件,常见的就是ls、ps、ifconfig、du、find、netstat等。如果这些文件都被替换,那么在系统层面就很难发现rootkit已经在系统中运行了。

这就是文件级别的rootkit,对系统维护很大,目前最有效的防御方法是定期对系统重要文件的完整性进行检查,如果发现文件被修改或者被替换,那么很可能系统已经遭受了rootkit入侵。检查件完整性的工具很多,常见的有Tripwire、 aide等,可以通过这些工具定期检查文件系统的完整性,以检测系统是否被rootkit入侵。

2、内核级别的rootkit

内核级rootkit是比文件级rootkit更高级的一种入侵方式,它可以使攻击者获得对系统底层的完全控制权,此时攻击者可以修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到入侵者所选择的程序并运行此程序,也就是说,当用户要运行程序A时,被入侵者修改过的内核会假装执行A程序,而实际上却执行了程序B。

内核级rootkit主要依附在内核上,它并不对系统文件做任何修改,因此一般的检测工具很难检测到它的存在,这样一旦系统内核被植入rootkit,攻击者就可以对系统为所欲为而不被发现。目前对于内核级的rootkit还没有很好的防御工具,因此,做好系统安全防范就非常重要,将系统维持在最小权限内工作,只要攻击者不能获取root权限,就无法在内核中植入rootkit。

二、rootkit后门检测工具chkrootkit

chkrootkit是一个Linux系统下查找并检测rootkit后门的工具,它的官方址: http://www.chkrootkit.org/。 chkrootkit没有包含在官方的CentOS源中,因此要采取手动编译的方法来安装,不过这种安装方法也更加安全。下面简单介绍下chkrootkit的安装过程。

1.准备gcc编译环境

对于CentOS系统,需要安装gcc编译环境,执行下述三条命令:

[root@server ~]# tar zxvf chkrootkit.tar.gz
[root@server ~]# cd chkrootkit-*
[root@server chkrootkit-0.50]# make sense

[root@server chkrootkit-0.50]# cd ..
[root@server ~]# cp -r chkrootkit-* /usr/local/chkrootkit
[root@server ~]# rm -rf chkrootkit-*

3、使用chkrootkit

安装完的chkrootkit程序位于/usr/local/chkrootkit目录下,执行如下命令即可显示chkrootkit的详细用法:

[root@server chkrootkit]# /usr/local/chkrootkit/chkrootkit  -h

chkrootkit各个参数的含义如下所示。

参数含义

-h显示帮助信息

-v显示版本信息

-l显示测试内容

-ddebug模式,显示检测过程的相关指令程序

-q安静模式,只显示有问题的内容

-x高级模式,显示所有检测结果

-r dir设置指定的目录为根目录

-p dir1:dir2:dirN指定chkrootkit检测时使用系统命令的目录

-n跳过NFS连接的目录

chkrootkit的使用比较简单,直接执行chkrootkit命令即可自动开始检测系统。下面是某个系统的检测结果:

[root@server chkrootkit]# /usr/local/chkrootkit/chkrootkit
Checking `ifconfig'... INFECTED
Checking `ls'... INFECTED
Checking `login'... INFECTED
Checking `netstat'... INFECTED
Checking `ps'... INFECTED
Checking `top'... INFECTED
Checking `sshd'... not infected
Checking `syslogd'... not tested
Checking `tar'... not infected
Checking `tcpd'... not infected
Checking `tcpdump'... not infected
Checking `telnetd'... not found

从输出可以看出,此系统的ifconfig、ls、login、netstat、ps和top命令已经被感染。针对被感染rootkit的系统,最安全而有效的方法就是备份数据重新安装系统。

4、chkrootkit的缺点

chkrootkit在检查rootkit的过程中使用了部分系统命令,因此,如果服务器被黑客入侵,那么依赖的系统命令可能也已经被入侵者替换,此时chkrootkit的检测结果将变得完全不可信。为了避免chkrootkit的这个问题,可以在服务器对外开放前,事先将chkrootkit使用的系统命令进行备份,在需要的时候使用备份的原始系统命令让chkrootkit对rootkit进行检测。这个过程可以通过下面的操作实现:

[root@server ~]# mkdir /usr/share/.commands
[root@server ~]# cp `which --skip-alias awk cut echo find egrep id head ls netstat ps strings sed uname` /usr/share/.commands
[root@server ~]# /usr/local/chkrootkit/chkrootkit -p /usr/share/.commands/
[root@server share]# cd /usr/share/
[root@server share]# tar zcvf commands.tar.gz .commands
[root@server share]#  rm -rf commands.tar.gz

上面这段操作是在/usr/share/下建立了一个.commands隐藏文件,然后将chkrootkit使用的系统命令进行备份到这个目录下。为了安全起见,可以将.commands目录压缩打包,然后下载到一个安全的地方进行备份,以后如果服务器遭受入侵,就可以将这个备份上传到服务器任意路径下,然后通过chkrootkit命令的“-p”参数指定这个路径进行检测即可。

 

Linux后门入侵检测工具2

 

三、rootkit后门检测工具RKHunter

RKHunter是一款专业的检测系统是否感染rootkit的工具,它通过执行一系列的脚本来确认服务器是否已经感染rootkit。在官方的资料中

下面详细讲述下RKHunter的安装与使用。

1、安装RKHunter

RKHunter的官方网页地址为:http://www.rootkit.nl/projects/rootkit_hunter.html,建议从这个网站下载RKHunter,这里下载的版本是rkhunter-1.4.0.tar.gz。RKHunter的安装非常简单,过程如下:

[root@server ~]# ls
rkhunter-1.4.0.tar.gz
[root@server ~]# pwd

/root

[root@server ~]# tar -zxvf rkhunter-1.4.0.tar.gz 
[root@server ~]# cd rkhunter-1.4.0
[root@server rkhunter-1.4.0]# ./installer.sh  --layout default --install

这里采用RKHunter的默认安装方式,rkhunter命令被安装到了/usr/local/bin目录下。

2、使用rkhunter指令

rkhunter命令的参数较多,但是使用非常简单,直接运行rkhunter即可显示此命令的用法。下面简单介绍下rkhunter常用的几个参数选项。

[root@server ~]#/usr/local/bin/rkhunter–help

Rkhunter常用参数以及含义如下所示。

 参数             含义

-c, --check必选参数,表示检测当前系统

--configfile <file>使用特定的配置文件

--cronjob作为cron任务定期运行

--sk, --skip-keypress自动完成所有检测,跳过键盘输入

--summary显示检测结果的统计信息

--update检测更新内容

-V, --version显示版本信息

--versioncheck检测最新版本

下面是通过rkhunter对某个系统的检测示例:

[root@server rkhunter-1.4.0]# /usr/local/bin/rkhunter   -c 

[ Rootkit Hunter version 1.4.0 ]

#下面是第一部分,先进行系统命令的检查,主要是检测系统的二进制文件,因为这些文件最容易被rootkit攻击。显示OK字样表示正常,显示Warning表示有异常,需要引起注意,而显示“Not found”字样,一般无需理会

Checking system commands...

  Performing 'strings' command checks

    Checking 'strings' command                           [ OK ]

  Performing 'shared libraries' checks

    Checking for preloading variables                        [ None found ]

    Checking for preloaded libraries                         [ None found ]

    Checking LD_LIBRARY_PATH variable                 [ Not found ]

  Performing file properties checks

    Checking for prerequisites                              [ Warning ]

    /usr/local/bin/rkhunter  [ OK ]

    /sbin/chkconfig                                       [ OK ]

....(略)....

[Press <ENTER> to continue]

#下面是第二部分,主要检测常见的rootkit程序,显示“Not found”表示系统未感染此rootkit

Checking for rootkits...

  Performing check of known rootkit files and directories

    55808 Trojan - Variant A                                 [ Not found ]

    ADM Worm                                           [ Not found ]

    AjaKit Rootkit                                         [ Not found ]

    Adore Rootkit                                          [ Not found ]

aPa Kit                                               [ Not found ]

    Apache Worm                                          [ Not found ]

    Ambient (ark) Rootkit                                    [ Not found ]

    Balaur Rootkit           [ Not found ]

    BeastKit Rootkit                                         [ Not found ]

beX2 Rootkit                                             [ Not found ]

    BOBKit Rootkit                    [ Not found ]

....(略)....

[Press <ENTER> to continue]

#下面是第三部分,主要是一些特殊或附加的检测,例如对rootkit文件或目录检测、对恶意软件检测以及对指定的内核模块检测

  Performing additional rootkit checks

    Suckit Rookit additional checks                          [ OK ]

    Checking for possible rootkit files and directories      [ None found ]

    Checking for possible rootkit strings                    [ None found ]

  Performing malware checks

    Checking running processes for suspicious files          [ None found ]

    Checking for login backdoors                          [ None found ]

    Checking for suspicious directories                     [ None found ]

    Checking for sniffer log files                          [ None found ]

  Performing Linux specific checks

    Checking loaded kernel modules                     [ OK ]

    Checking kernel module names                     [ OK ]

[Press <ENTER> to continue]

#下面是第四部分,主要对网络、系统端口、系统启动文件、系统用户和组配置、SSH配置、文件系统等进行检测

Checking the network...

  Performing checks on the network ports

    Checking for backdoor ports                         [ None found ]

  Performing checks on the network interfaces

    Checking for promiscuous interfaces                      [ None found ]

Checking the local host...

  Performing system boot checks

    Checking for local host name                         [ Found ]

    Checking for system startup files                        [ Found ]

    Checking system startup files for malware                [ None found ]

  Performing group and account checks

    Checking for passwd file [ Found ]

    Checking for root equivalent (UID 0) accounts            [ None found ]

    Checking for passwordless accounts                   [ None found ]

....(略)....

[Press <ENTER> to continue]

#下面是第五部分,主要是对应用程序版本进行检测

Checking application versions...

    Checking version of GnuPG[ OK ]

    Checking version of OpenSSL                        [ Warning ]

    Checking version of OpenSSH                        [ OK ]

#下面是最后一部分,这个部分其实是上面输出的一个总结,通过这个总结,可以大概了解服务器目录的安全状态。

System checks summary

=====================

File properties checks...

    Required commands check failed

    Files checked: 137

    Suspect files: 4

Rootkit checks...

    Rootkits checked : 311

    Possible rootkits: 0

Applications checks...

    Applications checked: 3

    Suspect applications: 1

The system checks took: 6 minutes and 41 seconds


在Linux终端使用rkhunter来检测,最大的好处在于每项的检测结果都有不同的颜色显示,如果是绿色的表示没有问题,如果是红色的,那就要引起关注了。另外,在上面执行检测的过程中,在每个部分检测完成后,需要以Enter键来继续。如果要让程序自动运行,可以执行如下命令:

[root@server ~]# /usr/local/bin/rkhunter --check --skip-keypress 

同时,如果想让检测程序每天定时运行,那么可以在/etc/crontab中加入如下内容:

30 09 * * * root /usr/local/bin/rkhunter --check --cronjob 

这样,rkhunter检测程序就会在每天的9:30分运行一次。

本文转载自:http://wwdhks.blog.51cto.com/839773/1563819

共有 人打赏支持
mickelfeng

mickelfeng

粉丝 227
博文 2555
码字总数 551789
作品 0
成都
高级程序员
Linux 命令行网络监控工具

转自:http://blog.sina.com.cn/s/blog_14d68bfac0102vux9.html 对任何规模的业务来说,网络监控工具都是一个重要的功能。网络监控的目标可能千差万别。比如,监控活动的目标可以是保证长期的...

被使用的文件
2015/07/13
0
0
史上 12 大著名安全后门植入案例

“棱镜门”事件后, 人们关于软件植入后门的日益关注, 其实, 植入后门这种手法黑客很早就在使用了。 最近, InfoWorld为大家总结了史上最著名的12个后门植入案例: Back Orifice Back Orif...

oschina
2014/07/11
10K
30
linux入侵后的必要工作。及rootkit的监测工具rkhunter简析

rootkit是是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马。 ...

swallow_zys
2017/02/14
0
0
百度快照被劫持跳转到博彩页面的解决办法

近期受世界杯的影响,我们Sinesafe接过很多中小企业网站频繁的被黑客入侵篡改了快照内容的网站安全问题导致打开网站被提示博彩页面,在搜索引擎中会被提示百度网址安全中心提醒您:该页面可能已...

网站安全
07/02
0
0
网络入侵检测步骤及思路

网络入侵检测步骤及思路 by littleshrimp (kaka) http://www.chinansl.com http://www.airarms.org /第一次写文章,当作调整一下思路和心态吧!:)还有好多没有写出来,因为没有亲手实践过,...

zt371
2009/05/05
265
0
Linux安全隐患及如何加强其安全管理

下面,我具体从两个方面来阐述Linux存在的不足之处,并介绍如何加强Linux系统在安全方面的管理。 防止黑客的入侵 在谈黑客入侵方面的安全管理之前,我先简单介绍一些黑客攻击Linux主机的主要...

红薯
2009/05/07
176
0
裸奔的后果!一次ssh被篡改的入侵事件

通常服务器安全问题在规模较小的公司常常被忽略,没有负责安全的专员,尤其是游戏行业,因为其普遍架构决定了游戏服通常都是内网进行数据交互,一般端口不对外开放,也因此对安全问题不过于重...

不死鸟一辉
2014/08/29
0
0
你的Linux服务器被黑了?看一看是不是犯了这5点错

转自:http://os.51cto.com/art/201707/545341.htm 安全是IT行业一个老生常谈的话题了,从之前的“棱镜门”事件中折射出了很多安全问题,处理好信息安全问题已变得刻不容缓。因此做为运维人员...

holy2009
2017/07/27
0
0
网页后门危害大 网站安全狗帮助查杀

网站被被植入后门,这是管理员们无论如何都无法忍受的。服务器被攻克不算,还“城门失火殃及池鱼”,网站的访客也不能幸免。这无论是网站的运营,还是对管理员的技术能力都是沉重的打击。因此...

小猪猪的风
2014/11/14
0
0
Linux系统安全隐患及加强安全管理的方法

下面,我具体从两个方面来阐述Linux存在的不足之处,并介绍如何加强Linux系统在安全方面的管理。 防止黑客的入侵 在谈黑客入侵方面的安全管理之前,我先简单介绍一些黑客攻击Linux主机的主要...

JavaGG
2009/05/07
141
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

实现异步有哪些方法

有哪些方法可以实现异步呢? 方式一:java 线程池 示例: @Test public final void test_ThreadPool() throws InterruptedException { ScheduledThreadPoolExecutor scheduledThre......

黄威
今天
0
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

六库科技
今天
0
0
牛客网刷题

1. 二维数组中的查找(难度:易) 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入...

大不了敲一辈子代码
今天
0
0
linux系统的任务计划、服务管理

linux任务计划cron 在linux下,有时候要在我们不在的时候执行一项命令,或启动一个脚本,可以使用任务计划cron功能。 任务计划要用crontab命令完成 选项: -u 指定某个用户,不加-u表示当前用...

黄昏残影
昨天
0
0
设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
昨天
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
昨天
1
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
昨天
1
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
昨天
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
昨天
1
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部