科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网网络频道在Linux下用gdb检测内核rootkit

在Linux下用gdb检测内核rootkit

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文涉及的技术原理都不是新的,对研究人员没什么特别大的价值,不过对工程人员应急相应来说不失为一种新的方法。

作者:51CTO.COM 2007年10月19日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共4页)

  通过反汇编system_call函数可以找出系统调用表的地址:

  (gdb) disass system_call

  Dump of assembler code for function system_call:

  0xc01090dc : push %eax

  0xc01090dd : cld

  0xc01090de : push %es

  0xc01090df : push %ds

  0xc01090e0 : push %eax

  0xc01090e1 : push %ebp

  0xc01090e2 : push %edi

  0xc01090e3 : push %esi

  0xc01090e4 : push %edx

  0xc01090e5 : push %ecx

  0xc01090e6 : push %ebx

  0xc01090e7 : mov $0x18,%edx

  0xc01090ec : mov %edx,%ds

  0xc01090ee : mov %edx,%es

  0xc01090f0 : mov $0xffffe000,%ebx

  0xc01090f5 : and %esp,%ebx

  0xc01090f7 : testb $0x2,0x18(%ebx)

  0xc01090fb : jne 0xc010915c

  0xc01090fd : cmp $0x100,%eax

  0xc0109102 : jae 0xc0109189

  0xc0109108 : call *0xc0302c30 (,%eax,4) <<--系统调用表地址

  0xc010910f : mov %eax,0x18(%esp,1)

  0xc0109113 : nop

  End of assembler dump.

  注意:上面的输出中显示的是一个正常的系统调用表地址。

  实用工具

  一种方法是使用基于主机的入侵检测系统HIDS实时监控重要的内核结构,比如使用Samhain工具,可以监视系统调用表、IDT等,在“Host Integrity Monitoring: Best Practices for Deployment”一文中有相关描述。

  译者注

  本文提及的方法在kstat2.4版中都有代码的实现,可以参阅kstat/2.4/src/syscall.c,使用gdb是一种手工检测方法,它能解决的问题是检测系统是否被更改,至于如何找出内核rootkit还需要一些工具,比如madsys在phrack60上的module_hunter.c,有2.4和2.6的版本,grip2、coolq对其做了一些修改,并且该代码不断完善中。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章