分享
 
 
 

探测LKM后门

王朝other·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

一、关于LKM

所谓LKM,就是Loadable Kernel Modules,这些模块本来是Linux系统用于扩展他的功能的。使用LKM的优点有:他们可以被动态的加载,而且不需要重新编译内核。由于这些优点,他们常常被特殊的设备(或者文件系统),例如声卡等使用。在linux、solaris以及*BSD中都存在同样的技术,这这里主要以linux下的lkm检测为主,结合部份其它系统的信息。

要了解LKM,我们需要对一些相关的重要文件、目录以及程序有一个基本的了解,首先是/lib/modules/"kernel_version",我们进入这个目录,可以看到:

------------------------------------------------------------------------------------

[root@test 2.2.14-5.0]# ls -laF

total 50

drwxr-xr-x 11 root root 1024 Apr 5 10:12 ./

drwxr-xr-x 4 root root 1024 Apr 4 12:02 ../

-rw-r--r-- 1 root root 149 Mar 8 2000 .rhkmvtag

drwxr-xr-x 2 root root 1024 Aug 23 1996 block/

drwxr-xr-x 2 root root 1024 Aug 23 1996 cdrom/

drwxr-xr-x 2 root root 1024 Aug 23 1996 fs/

drwxr-xr-x 2 root root 1024 Aug 23 1996 ipv4/

drwxr-xr-x 2 root root 4096 Aug 23 1996 misc/

-rw-r--r-- 1 root root 28633 Apr 7 18:35 modules.dep

-rw-r--r-- 1 root root 31 Apr 7 18:35 modules.generic_string

-rw-r--r-- 1 root root 81 Apr 7 18:35 modules.isapnpmap

-rw-r--r-- 1 root root 29 Apr 7 18:35 modules.parportmap

-rw-r--r-- 1 root root 99 Apr 7 18:35 modules.pcimap

-rw-r--r-- 1 root root 189 Apr 7 18:35 modules.usbmap

drwxr-xr-x 2 root root 2048 Aug 23 1996 net/

drwxr-xr-x 2 root root 1024 Aug 23 1996 pcmcia/

drwxr-xr-x 2 root root 1024 Aug 23 1996 scsi/

drwxr-xr-x 2 root root 1024 Aug 23 1996 video/

-------------------------------------------------------------------------------------

图一

这下面的目录及文件与LKM相关,比如modules.dep对各模块的依赖关系、modules.usbmap与usb设备的lkm都有着密切关系,另外有些与内核模块相关的命令,这些命令在/sbin目录下,一个个说吧:

modprobe:它可以从modules.dep来查找各个模块的依赖关系,然后加载进去,比如我们在加载网卡ne2000时,经常是用modprobe ne就可以了,而另一个依赖的模块8390.o也会自动地加载进去。

depmod:处理各种模块的从属关系。

lsmod:查看系统中加载的模块情况,但由于它是依赖于/proc/modules文件的,如果系统已经被人入侵过,那么这个命令展现出来的东西就不一定是真实的了。

insmod:加载内核模块的命令,如果我们要加载后门模块,也需要insmod -f troja.o

rmmod:从内核中删去模块,但是通常情况下,后门内核模块把自己从/proc/modules中摘除后,rmmod已经无法移除了。

我们可以再来看看/etc/modules.conf,这是对可加载内核模块的一个配置文件,它并不是必需的,你可以man 5 modules.conf看一看,一般情况下我们机器中这一文件看起来象是下面这个样子:

------------------------------------------

[root@test quack]# cat /etc/modules.conf

alias eth0 ne2k-pci

alias parport_lowlevel parport_pc

------------------------------------------

图二

如果对内核模块感兴趣的话,可以看看http://www.kernel.org/LDP/或者其中译版LINUX编程白皮书。也可以参见THC的文章。

二、关于LKM后门

1、knark

knark是sekure.net的成员creed开发的一个基于linux 2.2内核的后门模块,这并不是一个稳定版本,里面存在一些或许是故意,或许是无心留下的bug,我们可以先来看看它的功能。

--------------------------------------------------------------------------

[root@test knark-0.59]# lsmod

Module Size Used by

ne2k-pci 4688 1 (autoclean)

8390 6144 0 (autoclean) [ne2k-pci]

[root@test knark-0.59]# insmod knark.o

[root@test knark-0.59]# lsmod

Module Size Used by

knark 6944 0 (unused)

ne2k-pci 4688 1 (autoclean)

8390 6144 0 (autoclean) [ne2k-pci]

[root@test knark-0.59]# insmod modhide.o

[root@test knark-0.59]# lsmod

Module Size Used by

ne2k-pci 4688 1 (autoclean)

8390 6144 0 (autoclean) [ne2k-pci]

--------------------------------------------------------------------------

图三

knark的主要功能有隐藏文件、隐藏进程、重定向执行程序、隐藏网络连接、以root身份运行命令、改变用户id、远程执行命令(该功能尚不完善,作者自己注释了),它还有几个比较不错的特性,如:隐藏SIOCGIFFLAGS的标志位中IFF_PROMISC――接口为随机(promiscuous)模式的项,这可以防止部份检测网卡是否为混杂模式的工具发现入侵行为;另外,它能够用kill发送一个31的信号给某进程,以隐藏之。

----------------------------------------------------------------------------

[root@test src]# ps -aux |grep quack

root 412 0.0 1.7 2232 1116 pts/0 S 17:02 0:00 login -- quack

quack 413 0.0 1.5 1700 940 pts/0 S 17:02 0:00 -bash

[root@test src]# kill -31 412 413

[root@test src]# ps -aux |grep quack

[root@test src]#

-----------------------------------------------------------------------------

图四

同时它为了入侵者的方便查询,把一些隐藏起来的文件、进程等信息放在/proc/knark里。

2、adore

adore是由teso小组成员开发的一个lkm后门,当前版本是0.34,能够实现的功能有隐藏文件、隐藏进程、以root身份执行程序并提供了卸载功能(当然它的卸载是需要提供密码验证的),这个后门模块可以支持2.2及2.4的内核,同时易于配置使用。

-----------------------------------------------------------------------------

root@slackware:/home/quack/adore# ./ava

Usage: ./ava {h,u,r,R,i,v,U} [file, PID or dummy (for U)]

h hide file

u unhide file

r execute as root

R remove PID forever

U uninstall adore

i make PID invisible

v make PID visible

root@slackware:/home/quack/adore# cat startadore

#!/bin/sh

# Use this script to bootstrap adore!

# It will make adore invisible. You could also

# insmod adore without $0 but then its visible.

insmod adore.o

insmod cleaner.o

rmmod cleaner

-----------------------------------------------------------------------------

图五

adore的用途其实我想还在于建立honeypot,可以隐藏起一些东西,让入侵者摸不着头脑。

3、其它不常见的lkm小程序

a、Rkit-1.01.tgz:这个工具可以将你的编译前定义好的UID设为0,方便提升权限。未隐藏自身。

b、phide.tar.gz:这个工具可以隐藏进程

c、test.c:远程backdoor

……

……

三、关于LKM后门的探测

1、传统rootkit检测方法

a、完整性与真实性:用md5 checksums来对一些重要的文件或者二进制文件进行检验,或者用如tripware之类的工具来实现对机器的完整性做一个镜像,或者说,从cdrom等可信赖的介质中安装某些软件包……

b、某些入侵者使用的工具包、小程序中常常会有一些字符串是易于判断的,比如/bin/sh,或者说,它们可能会有些常见的打开的端口――毕竟自己写代码来攻击的人比较少……所以“默认”的东西,还是相当流行的。

2、THC的LKM检测理论

他们更多地是想防范于未然,在系统受侵害前就先做好一些准备,主要的思路有下面两点。

a、记录每一个模块的加载:把模块加载的情况记录在syslog中――或者其它地方,可以供比较及查对。

#define MODULE

#define __KERNEL__

#include

#include

#include #include#include#include#include#include#include#include#include#include#includeexter

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有