linux入侵后的必要工作。及rootkit的监测工具rkhunter简析-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

linux入侵后的必要工作。及rootkit的监测工具rkhunter简析

简介:
 rootkit是是Linux平台下最常见的一种木马后门工具,它主要通过替换系统文件来达到入侵和和隐蔽的目的,这种木马比普通木马后门更加危险和隐蔽,普通的检测工具和检查手段很难发现这种木马。
    一般分为文件级别和内核级别:
        文件级别的rootkit一般是通过程序漏洞或者系统漏洞进入系统后,通过修改系统的重要文件来达到隐藏自己的目的。
        内核级rootkit是比文件级rootkit更高级的一种入侵方式,它可以使攻击者获得对系统底层的完全控制权,此时攻击者可以修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到入侵者所选择的程序并运行此程序。一般系统镜像要从官网或可信度高的网站下载镜像。
   rootkit后门检测工具RKHunter
   RKHunter 是检测rootkit而生的,主要功能;
      MD5校验测试,检测文件是否有改动
       检测rootkit使用的二进制和系统工具文件
      检测特洛伊木马程序的特征码
      检测常用程序的文件属性是否异常
      检测系统相关的测试
      检测隐藏文件
      检测可疑的核心模块LKM
      检测系统已启动的监听端口
    RKHunter 的下载:wget https://sourceforge.net/projects/rkhunter/files/latest/download --no-check-certificate
    安装;
    tar xf rkhunter-1.4.2.tar.gz
    cd rkhunter-1.4.2
    ./installer.sh --install
    使用 :rkhunter -c
    常用选项:--check  检查
            --skip-keypress  一般每项检查后都会停下来等待输入回车继续。加入这个选项可以自动执行完成,不在需要键入回车键。
             --cronjob   定制 任务计划       
    会监测以下几个部分:
        Checking system commands...
        Checking for rootkits...
        Checking the network...
        Checking the local host...
        Checking application versions...

    最后会把监测过程和报告写入  /var/log/rkhunter.log 文件。
    这里可以制作脚本启动来监测:
        crontab -e
        30 1 * * * /usr/local/bin/rkhunter --check --cronjob
服务器操作攻击后的措施:
    一般,出现带宽流量异常。如果切断较高流量的服务器后带宽流量正常。可以证明服务器被入侵。
    1.切断被入侵服务器的网络
    如果已经安装了rkhunter 可以先查看下日志。或者运行下查看结果。
        1.查找入侵源;
        可以查看系统日志  /var/log/message   和 登录服务器的日志 /var/log/secure
        dmesg 命令查看:
        dmesg命令被用于检查和控制内核的环形缓冲区。kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息保存在/var/log/dmesg文件
         
        1.1查看开启端口 :  netstat  -ltunp
        1.2查看系统负载: top  命令      查看 TIME+ 这个列 包含程序运行的累计时间。
        1.3查看进程; ps -ef   
        一般系统的进程都有 [] 包含   。安装的程序都有位置。 特别需要注意的是 隐藏文件 "."开头的文件。 找到位置的话。可以用  ls -a 查看隐藏文件
        1.4查看  /proc
        Linux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态。
        这里需要查看pid 可以通过命令# pidof  服务名
        或者联合 ps -ef   (查看pid)  # ps -ef | awk '{print $2,$8}'  # ps -ef | awk '{print $2 "\t" $8}'
        #ll  /proc/pid/exe
        exe — 指向启动当前进程的可执行文件(完整路径)的符号链接,通过/proc/N/exe可以启动当前进程的一个拷贝
        #ll  /proc/pid/fd
        fd — 这是个目录,包含当前进程打开的每一个文件的文件描述符(file descriptor),这些文件描述符是指向实际文件的一个符号链接
        1.5 查看histtory  命令记录
           more  .bash_history
    2.如果业务不可以停。首要是查找可以用户。把用户锁定。
    3.分析入侵原因和途径
    4.备份用户数据(注意的是。查看先是否有隐藏的攻击源)
    5.重新安装系统
    6.修复程序或漏洞
    7.恢复数据和连接网络。









本文转自 swallow_zys  51CTO博客,原文链接:http://blog.51cto.com/12042068/1897576,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章