文章列表
 
您正在查看 "Rootkit" 分类下的文章

2010-10-18 10:01
boxer这个mem rk是在07年的时候被一个管理员给爆出来的, 很专业的一个rk, 有很多人猜测boxer是不是就是sk2改进来的, 单从hook方式来说, boxer跟sk2不一样, sk2是直接替换了int 0x80的handler function, 所以判断有没有被sk2入侵, 只需读idt表的0x80项, 在跟/proc/kallsyms里的system_call做比较即可。 boxer更先进一点, 它是在system_call里, 把call *sys_call_tabl(, %eax, 4)替换为movl $0xnew_idt_handler, %edx, jmp *%edx来进一步处理, 所以判断机器有没有被boxer入侵, 只需从system_call开始搜寻0xe2也就是jmp的机器码
 
2010-09-13 14:38
周日在家研究了下 Android内核, 成功的在模拟器上运行了一个rootkit程序, 隐藏文件,进程,模块,开启了一个bindshell监听某个端口。 今年defcon上有黑客演示了运行在android手机上的rootkit,但他那篇paper写的太水了, 里面讲到还要修改内核代码来突破模块校验, 这个我去年就写过paper讲述如何bypass模块校验了。 Android内核本来就是在linux kernel上改进的, 所以rootkit方法大同小异, 会写x86架构下的rootkit就会写arm下的了。
 
2010-05-21 9:57
将需要inline hook的函数机器码先拷贝到一块内存中, 然后动态修正这块内存的call,jmp对应的offset, 然后给原始函数做个inline hook, 跳到新函数去执行, 新函数做一些过滤判断后, 调用新分配的内存保存的机器码, 想当于调用原始函数。这种技术在实战中没什么用, 拓展下思路还是不错的。

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/version.h>
#include <linux/string.h>
#include <linux/list.h>
#incl
 
2010-01-23 11:50

By wzt


1、 为什么要突破模块验证
Linux内核版本很多,升级很快,2个小内核版本中内核函数的定义可能都不一样,为了确保不一致的驱动程序导致kernel oops, 开发者加入了模块验证机制。它在加载内核模块的时候对模块进行校验, 如果模块与主机的一些环境不一致,就会加载不成功。
看下面一个例子,它简单的输出当期系统中的模块列表:

#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/ver

 
2010-01-23 11:40
                           ==Ph4nt0m Security Team==

Issue 0x02, Phile #0x05 of 0x0A


|=---------------------------------------------------------------------------=|
|=-------------------=[ 高级Linux kernel inline hook技术 ]=------------------=|
|=---------------------------------------------------------------------------=|
|=------
 
2009-07-07 16:35
因为这个选项, /dev/mem类型的rootkit很可能会再次发挥作用,它默认是没开启的。。。

kernel hacking -> Filter access to /dev/mem

不过rhel系列的内核已经开启了这个选项,所以还是很安全的。 大于1m的物理内存是不能被映射的, 因此想读内核空间是不可能的。

重新升级内核到2.6.30, 没开启filter选项, 又可以读写内核空间了。。。

看下代码/drivers/char/mem.c:

/*
* This funcion reads the *physical* memory. The f_pos points directly to the
* memory location.
 
2009-06-04 8:10
前几天看了rwrk这个rk的demo, 它就是利用netfilter hook住了进入主机的数据包, hook点是NF_IP_PRE_ROUTING, 因此可以在进入iptables之前提前实现数据包的过滤。在这个hook点上作文章就比较多了, 可以实现防火墙, 嗅探器, 当然也可以用来触发回连后门, wnps就是这么来作的, 因此不管主机防火墙作的规则如何变态, 都有机会穿透它。下面这个demo用来演示分析tcp包的内容, 分析出里面的命令, 然后去执行它, 有点类似以前的icmp, ip包后门, 只不过这些都在内核来完成, 功能更强大。
demo在ubuntu8.10 + 2.6.28上测试成功。
 
2009-05-08 8:23
很久之前写的ssh后门patch了, 对于ssh和pam后门, 编写都比较简单, 只要在对应函数中打个patch即可。

diff -uNr old/auth-passwd.c new/auth-passwd.c
--- old/auth-passwd.c    2004-06-22 11:37:12.000000000 +0800
+++ new/auth-passwd.c    2005-10-13 15:22:27.093750000 +0800
@@ -150,6 +150,21 @@
     * Authentication is accepted if the encrypted passwords
     * are identical.
  
 
2009-05-07 11:04
adore-ng老牌的linux rootkit在高版本内核编译不过去了, 简单的fix了下, 可以在高版本内核编译和运行。有需求的同学可以试试。

http://kevin1986.com/plus/wzt/adore-ng-0.56-wztfix.rar

感谢凯文提供空间
 
2009-05-01 8:03
pattern.c/get_kma():
    作用:通过模式匹配搜索kmalloc()函数的地址
    如果内核没有提供LKM支持,将使我们陷入困境。而且,这个问题的解决方法非常脏,也不是很好,
    但是看来还有效。我们将遍历内核的.text段,对如下指令进行模式查询:

    push GFP_KERNEL <something between 0-0xffff>
    push size <something between 0-0x1ffff>
    call kmalloc

  
 
   
 
 
文章分类
 
 
 
Kernel(41)
 
 
C(11)
 
Life(43)
 
 
 
   
 
文章存档
 
     
 
最新文章评论
  

我觉得你应该来高校、研究机构,10年之前系统安全还是很火热的。不过只是系统安全在
 

原来博主是阿里的人呀!佩服
 

支持楼主,敬佩楼主的钻研精神
 

不知道怎么使用
 

博主你好!请问这个bug有没有可能造成down机,我的2.6.30.10内核发生了down 机,task
   
帮助中心 | 空间客服 | 投诉中心 | 空间协议
©2012 Baidu