千家信息网

unix下的 rootkit

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,传统的Rootkit是一种比普通***后门更为阴险的***后门。它主要通过替换系统文件来达到目的,这样就会更加隐蔽,使检测变得比较困难。传统的 Rootkit主要针对Unix平台,例如Linux、AI
千家信息网最后更新 2024年09月21日unix下的 rootkit传统的Rootkit是一种比普通***后门更为阴险的***后门。它主要通过替换系统文件来达到目的,这样就会更加隐蔽,使检测变得比较困难。传统的 Rootkit主要针对Unix平台,例如Linux、AIX、 SunOs等操作系统,有些Rootkits可以通过替换DLL文件或更改系统来***Windows平台。Rootkit并不能让你直接获得权限,相反它 是在你通过各种方法获得权限后才能使用的一种保护权限的措施,在我们获取系统根权限(根权限即root权限,是Unix系统的最高权限)以后, Rootkits提供了一套工具用来建立后门和隐藏行迹,从而让***者保住权限。
传统Rootkit对Unix的***
RootKits是如何实现后门的呢?为了理解 Rootkits后门,有必要先了解一下Unix的基本工作流程,当我们访问Unix时(不管是本地还是远程登录),/bin/login程序都会运行, 系统将通过/bin/login来收集并核对用户的帐号和密码。Rootkits使用一个带有根权限后门密码的/bin/login来替换系统的 /bin/login,这样***者输入根权限后门的密码,就能进入系统。就算管理员更改了原来的系统密码或者把密码清空。我们仍能够使用后门密码以根用户 身份登录。在攻入Unix系统后,***者通常会进行一系列的***动作,如安装嗅探器收集重要数据,而Unix中也会有些系统文件会监视这些动作,比如 ifconfig等,Rootkit当然不会束手就擒,它会同样替换一下这些系统文件,通常被Rootkit替换的系统程序有login, ifconfig,du,find,ls,netstart,ps等。由于篇幅问题,这些系统文件的功能就不一一罗列,有兴趣的读者可以自己去查找,现在 Rootkit的工具很多,里面基本都是包含一些处理过的系统文件来代替原来的系统文件的,像tOmkit等一些Rootkit就是比较优秀的了。
防御办法:Rootkit如此可怕,得好好防它才行,实际上,最有效的防御方法是定期对重要系统文件的完整性进行核查,这类的工具很多,像 Tripwire就是一个非常不错的文件完整性检查工具。一但发现遭受到 Rootkit***,必须完全重装所有的系统文件、部件和程序,以确保安全性。
写到这里,战争似乎结束了,然而更可怕的Rootkit还没登场,那就是内核级Rootkit。在大多数操作系统中(各种Unix和Windows),内 核是操作系统最基本的部件,它控制着对网络设备、进程、系统内存、磁盘等的访问。例如当你打开一个文件时,打开文件的请求被发送到内核,内核负责从磁盘得 到文件的比特位并运行你的文件浏览程序。内核级 Rootkit使***者获得对系统底层的完全控制权。***者可以修改你的内核,大多数内核级Rootkit都能进行执行重定向,即截获运行某一程序的命 令,将其重定向到***者所选中的程序并运行此程序。也就是说用户或管理员要运行程序A,被修改过的内核假装执行A,实际却执行了程序B。
内核级Rootkit对Unix的***
和传统的Rootkit不同,内核级Rootkit***时 Unix的bin/login并未被修改,但所有执行/bin/login的请求(当登录系统时将产生)都被重定向到***者制作的隐藏文件 /bin/backdoorlogin,这样当系统管理员使用检测传统级别的Rootkit的方法(比如用tripwire之类的软件检测文件的完整性) 就行不通了,因为/bin/login并没有被改变。同样的道理,***者对其他的系统程序也进行重定,这样你的操作实际就是按照***者的意愿执行了。
内核级Rootkit不仅会进行"执行重定向"设置,还有很多支持文件隐蔽。传统的Rootkit是通过替换ls程序来实现文件的隐藏,而内核级的 Rootkit则是通过对内核的修改来对ls程序欺骗,更加的阴险隐蔽。另外内核级的Rootkit还能对进程和网络进行隐藏,用户将得不到真实的系统情 况报告。
实现思路:根据系统的类型,***者有不同的方法来对内核进行修改,在N种Unix系统上修改内核最简单的方法就是利用系统本身的加载的内核模块(LKM) 的功能,因此大多数的内核级Rootkit通过利用LKM动态地将内核更新来提供新功能,新添加的模块扩展了内核,同时对内核和其他使用内核的所有东西有 了完全访问权。
因此,许多内核级Rootkit都通过LKM来实现。安装通过LKM实现的内核级Rootkit十分简单。例如,在Linux上安装Knark内核级 Rootkit只需具有根权限的***者输入命令:insmod knark.o就行了,模块被安装后就等着我们输入命令了。更妙的是整个过程不需要重启。通过LKM实现的Rootkit在Unix上十分流行。我们也常 常会通过给windows平台打LKM补丁的方法***windows。
内核级Rootkit实例
现在有大量的内核级Rootkit可用,就选几种比较强大的来跟大家讨论一下。
一、linux上的内核级Rootkit:Knark
Knark具有各种标准的内核级Rootkit功能,包括执行重定向,文件隐藏,进程隐藏和网络隐藏。另外,还有不少比较过瘾的功能,如:
1、远程执行:我们可以通过网络向运行Knark的机器发送一条命令,源地址是假造的,命令被发往UDP端口53,使之表面上看起来像是DNS流量。我们 就可以利用这个功能来升级Knark,删除系统文件或任何我们想做的事。
2、任务***:当某一进程在系统上运行时,它总是具有与 UID和有效的UID(EUID)相关的权限。另外进程还具有与文件系统UID(FSUID)相关的文件及目录访问权。Knark的任务***能力可实时地 将进程UID,EUID和FSUID改变。进程在不停止运动的情况下突然具有了新的权限。
3、隐藏混杂模式:同一般的RootKit一样,***者也会在受害者机器上运行嗅探器。我们可以用文件隐藏和进程隐藏将嗅探器隐藏起来。然而,以太网卡会 被设成混杂模式,管理员可以检查到这一点Knark将内核进行了修改,使之隐瞒网卡的混合模式,这将使嗅探变得更加隐秘。
4、实时进程隐藏:Knark可以将一个正在运行的进程隐藏起来。通过发送信号31给一个进程,此进程将消失,但仍在运行。命令kill-31 process_id将阻止内核汇报任何有关此进程的信息。进程在运行时,ps和lsof命令的使用都不能显示此进程。
5、内核模块隐藏:Linux中的lsmod命令可以列出当前在机器上安装的LKM,我们自然不想让管理员看到Knark模块,因此Knark包含了一个 单独的模块modhide,modhide将Knark和自己隐藏了起来。这样,当我们用Knark***一个系统时,我们首先为Knark.o做一个 insmod,然后为modhide.o做一个insmod。这样不管谁运行lsmod命令,这些模块都不会被发现。
二、另一个Linux上的内核级Rootkit:Adore
同Knark一样,Adore也是一个针对Linux的LKM RootKit,他包含了标准的内核级Rootkit功能,如文件隐藏,进程隐藏,网络隐藏和内核模块隐藏。我们只所以讨论Adore,是因为他还有一个 非常强大的功能:内置的根权限后门。
Adore的根权限后门可以让我们连接到系统上并获得根权限的命令外壳,此功能十分直接了当 ,Adore将此功能巧妙的包含在内核模块中了。这一招十分难破,因为管理员看不到任何文件、进程、侦听网络端口的迹象。
防御办法:防御内核级的Rootkit的根本办法是不要让***者得到你的机器的系统的根本权限(Unix里的root和windows里的admin), 不过这看起来像废话:),目前对内核级的Rootkit还没有绝对的防御体系。
内核 系统 文件 权限 进程 程序 运行 后门 功能 命令 模块 传统 密码 方法 管理员 网络 管理 就是 防御 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 ftviewse数据服务器配置 三级网络技术通过的条件 网络安全 自主招生 加强居民对网络安全的意识 机关单位网络安全保密协议 连线至服务器时出错了请检查 电脑网络接入服务器 网络安全发展的作用 服务器的操作系统主要分为 北邮网络技术研究所 管家婆软件客户端怎么连接服务器 无限纷争服务器 韩城网络安全知识 计算机网络技术及应用答案 网络安全工作的不足 移动网络安全现状分析 端口重定向需要停服务器吗 搜索六年级网络安全宣传手抄报 路由器的dns服务器怎样设置 金蝶迷你版软件如何备份数据库 重庆中元数据库 怎么会安装不了用友数据库 数据库创建外键没反应 科技巨头争相布局互联网金融 中职网络安全 大赛 解析 电子支付与网络安全 试题 网络安全 诙谐 深圳市超美特软件开发有限公司 六年级网络安全班会方案 司法局网络安全工作实施方案
0