关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » HTML5 »Linux后门入侵检测工具,附最新bash漏洞解决方法

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

    2014-09-26 00:00:00 出处:周县长
    分享

    一、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 ~]# yum -y install gcc
    [root@server ~]# yum -y install gcc-c++
    [root@server ~]# yum -y install make

    2、安装chkrootkit

    为了安全起见,建议直接从官方网站下载chkrootkit源码,然后进行安装,操作如下:

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

    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”参数指定这个路径进行检测即可。

    三、rootkit后门检测工具RKHunter

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

    MD5校验测试,检测文件是否有改动

    检测rootkit使用的二进制和系统工具文件

    检测特洛伊木马程序的特征码

    检测常用程序的文件属性是否异常

    检测系统相关的测试

    检测隐藏文件

    检测可疑的核心模块LKM

    检测系统已启动的监听端口

    下面详细讲述下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分运行一次。

    安全更新:

    今天刚刚爆出Bash安全漏洞,SSH bash紧急安全补丁!重要!

    测试是否存在漏洞,执行以下命令:

    $ env x=’() { :;}; echo vulnerable’ bash -c “echo this is a test”
    vulnerable
    this is a test

    假如显示如上,那么,很遗憾,必须立即打上安全补丁修复,

    临时解决办法为:

    yum -y update bash

    升级bash后,执行测试:

    $ env x=’() { :;}; echo vulnerable’ bash -c “echo this is a test”
    bash: warning: x: ignoring function definition attempt
    bash: error importing function definition for `x’
    this is a test

    假如显示如上,表示已经修补了漏洞。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    正版 Windows 11产品密钥怎么查找/查看?

    还有3个月,微软将停止 Windows 10 的更新

    Windows 10 终止支持后,企业为何要立即升级?

    Windows 10 将于 2025年10 月终止技术支持,建议迁移到 Windows 11

    Windows 12 发布推迟,微软正全力筹备Windows 11 25H2更新

    Linux 退出 mail的命令是什么

    Linux 提醒 No space left on device,但我的空间看起来还有不少空余呢

    hiberfil.sys文件可以删除吗?了解该文件并手把手教你删除C盘的hiberfil.sys文件

    Window 10和 Windows 11哪个好?答案是:看你自己的需求

    盗版软件成公司里的“隐形炸弹”?老板们的“法务噩梦” 有救了!

    IT头条

    公安部:我国在售汽车搭载的“智驾”系统都不具备“自动驾驶”功能

    02:03

    液冷服务器概念股走强,博汇、润泽等液冷概念股票大涨

    01:17

    亚太地区的 AI 驱动型医疗保健:2025 年及以后的下一步是什么?

    16:30

    智能手机市场风云:iPhone领跑销量榜,华为缺席引争议

    15:43

    大数据算法和“老师傅”经验叠加 智慧化收储粮食尽显“科技范”

    15:17

    技术热点

    商业智能成CIO优先关注点 技术落地方显成效(1)

    用linux安装MySQL时产生问题破解

    JAVA中关于Map的九大问题

    windows 7旗舰版无法使用远程登录如何开启telnet服务

    Android View 事件分发机制详解

    MySQL用户变量的用法

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。