RSS订阅
RSS订阅TT安全

Linux系统环境下入侵工具Knark分析及防范

2008-5-15  选择字号:  | |
打印本文章

导读:本文讨论Linux环境下攻击者入侵成功后常使用的后门技术,并且对最著名的rootkit工具knark进行详细的分析,并且指出在发现系统被入侵后如何发现是否是kark及如何恢复。

关键词:Linux 攻击者 入侵 后门技术 rootkit knark 系统

正在加载数据...

  本文讨论了Linux环境下攻击者入侵成功以后常常使用的一些后门技术,并且对最著名的rootkit工具之一knark进行了详细的分析,并且指出了在发现系统被入侵以后如何发现是否是knark及如何恢复。

  什么是"rootkit"?

  入侵者入侵后往往会进行清理脚印和留后门等工作,最常使用的后门创建工具就是rootkit。不要被名字所迷惑,这个所谓的“rootkit”可不是给超级用户root用的,它是入侵者在入侵了一太主机后,用来做创建后门并加以伪装用的程序包。这个程序包里通常包括了日志清理器,后门等程序。同时,程序包里通常还带有一些伪造的ps、ls、who、w、netstat等原本属于系统本身的程序,这样的话,程序员在试图通过这些命令查询系统状况的时候,就无法通过这些假的系统程序发觉入侵者的行踪。

  在一些黑客组织中,rootkit (或者backdoor) 是一个非常感兴趣的话题。各种不同的rootkit被开发并发布在internet上。在这些rootkit之中, LKM尤其被人关注, 因为它是利用现代操作系统的模块技术。作为内核的一部分运行,这种rootkit将会越来越比传统技术更加强大更加不易被发觉。一旦被安装运行到目标机器上, 系统就会完全被控制在hacker手中了。甚至系统管理员根本找不到安全隐患的痕迹, 因为他们不能再信任它们的操作系统了。后门程序的目的就是甚至系统管理员企图弥补系统漏洞的时候也可以给hacker系统的访问权限。

  入侵者通过:设置uid程序, 系统木马程序, cron后门等方法来实现入侵者以后从非特权用户使用root权限。

  设置uid程序。 黑客在一些文件系统理放一些设置uid脚本程序。无论何时它们只要执行这个程序它们就会成为root。

  系统木马程序。黑客替换一些系统程序,如"login"程序。因此, 只要满足一定的条件,那些程序就会给黑客最高权限。

  Cron后门。黑客在cron增加或修改一些任务,在某个特定的时间程序运行,他们就可以获得最高权限。

  具体可能通过以下方法给予远程用户以最高访问权限: ".rhost" 文件, ssh认证密钥, bind shell, 木马服务程序。

  ".rhosts" 文件。一旦 "+ +"被加入某个用户的.rhosts文件里, 任何人在任何地方都可以用这个账号来登陆进来而不需要密码。

  ssh认证密钥。黑客把他自己的公共密钥放到目标机器的ssh配置文件"authorized_keys"里, 他可以用该账号来访问机器而不需要密码。

  Bind shell。黑客绑定一个shell到一个特定的tcp端口。任何人telnet这个端口都可以获得交互的shell。更多精巧的这种方式的后门可以基于udp,或者未连接的tcp, 甚至icmp协议。

  Trojaned服务程序。任何打开的服务都可以成为木马来为远程用户提供访问权限。例如, 利用inetd服务在一个特定的端口来创建一个bind shell,或者通过ssh守护进程提供访问途径。

  在入侵者植入和运行后门程序之后, 他会设法隐藏自己存在的证据,这主要涉及到两个方面问题: 如何来隐藏他的文件且如何来隐藏他的进程。

  为了隐藏文件, 入侵者需要做如下事情: 替换一些系统常用命令如"ls", "du", "fsck"。在底层方面, 他们通过把硬盘里的一些区域标记为坏块并把它的文件放在那里。或者如果他足够疯狂,他会把一些文件放入引导块里。

  为了隐藏进程, 他可以替换 "ps"程序, 或者通过修改argv[]来使程序看起来象一个合法的服务程序。有趣的是把一个程序改成中断驱动的话,它就不会出现在进程表里了。

  RootKit-Knark的历史

  Knark是第二代的新型rootkit工具-其基于LJM(loadable kernel module)技术,使用这种技术可以有效地隐藏系统的信息。作者在代码和README文件中都标注有不承担责任的声明,声明该代码不可以被用作非法活动。然而该软件可以容易地被用于这种目的。

  Knark是由creed@sekure.net编写的,主要基于http://www.dataguard.no/bugtraq/1997_4/0059.html中Runar Jensen编写的代码heroin.c,设计思想主要来自于Phrack 52中plaguez发表的文章Weakening the Linux Kernel"。在重新编写了heroin.c的大部分代码以后,Creed决定重新命名为"Knark",在瑞典语中是指吸毒者。Creed编写的其他软件可以在www.sekure.net/~happy-h/得到,但是由于该站点只有瑞典语版本,因此应用并不广泛。

  Knark的第一个公开版本是0.41,发布于June, 1999。可以在B4B0 #9中索引到它:http://packetstorm.securify.com/mag/b4b0/b4b0-09.txt。随后0.50和0.59被发布,当前版本是0.59。可以从这里下载0.59版。

  Knark0.59具有以下特性:

  隐藏或显示文件或目录

  隐藏TCP或UDP连接

  程序执行重定向

  非授权地用户权限增加("rootme")

  改变一个运行进程的UID/GID的工具

  非授权地、特权程序远程执行守护进程

  Kill –31来隐藏运行的进程

  联合使用程序执行重新定向和文件隐藏,入侵者能提供各种后门程序执行。由于执行重定向是在内核级别进行的,因此文件检测工具不会发现程序文件被修改-原始的执行程序并没有被修改,因此配置检测工具在路径环境中也不会发现任何异常。

  如果Knark结合另外一个用来隐藏系统当前加载的模块的LKM工具modhide,就可能实现甚至通过lsmod命令也不能发现knark的存在。

来源:赛迪网    作者:左边    
Rootkit是很多想要访问受害者系统的攻击者选择的工具。有了这种恶意软件,攻击者可以在受害者的计算机上安装恶意代码,而用户很难检测到这种方式……
微软的Windows Vista操作系统中发现了一个安全漏洞。这个安全漏洞允许rootkits在使用Vista操作系统的计算机上隐藏起来或者实施拒绝服务器攻击……
9月10日发布的调查显示,公司对Web2.0的安全威胁越来越关注,而且正在采取步骤保护敏感用户信息和知识产权,91%的回应者都把网络犯罪作为主要的商业风险……
United States Computer Emergency Readiness Team(US-CERT) 警告Linux用户,他们正在成为使用窃取的SSH密钥的黑客的活跃目标……
随着虚拟机的普及,rootkit已经悄然进入了虚拟化的世界。目前可能还没发现黑客们开发这种更加恶毒的软件。即使不依靠虚拟化,目前的rootkit足以让一般的检测技术兴叹了……

当身份窃取猖獗的时候,有力地用户认证、客户认证和合作伙伴认证是至关重要的措施。有了用户名和密码就足够了吗?双因素认证是有效的方法吗?还是无力应对新出现的威胁呢?本专题将提供全面的信息,帮助理解目前的认证方式和面临的挑战,并且介绍如何采用安全的认证系统。

本专题将介绍一款免费的、开源的、可移动的适用于笔记本电脑的加密软件TrueCrypt。TrueCrypt适用于个人或者小型企业和团队,可以在任何系统上运行而不需要安装。TrueCrypt可以采用多种加密算法,有效地保护机密数据。
本专题可以帮助理解在无线网络中,无线入侵检测/防御系统(WIDS/WIPS)的价值,及时您所在的公司不支持无线局域网。此外,本专题还将介绍如何为公司环境选择合适的WIDS,以及如何防御无线拒绝服务攻击。
最新更新
专家答疑
技巧
Michael Cobb
渗透测试的目标不仅是要评估电脑系统或者网络的安全性,还要决定成功攻击的可行性和商业影响。那么如果选择合适的渗透测试人员呢?
Mike Chapple
渗透测试可以提供安全防御的有价值的信息,但是成本很高。为了渗透测试的可信性,通常必须要有独立的外部公司进行。如果使用内部人员和测试示范漏洞……
Ed Skoudis
问:社会工程应该是渗透测试的一部分吗?这样做是道德的吗?   答:这个问题的答案还在争论之中。