Rootkit.Agent.lk是个什么病毒?
RootKit.Agent.lk,\u662f\u4ec0\u4e48\u75c5\u6bd2\uff0c\u6709\u4f55\u529f\u6548\uff0c\u5bb3\u6211\u4e00\u6253\u5f00QQ\u5c31\u8dd1\u51fa\u6765\uff1f\u6c14\u6b7b\u6211\u4e86\uff0c\u6551\u547d\u5440\uff01\uff01\u8fd9\u4e2a\u75c5\u6bd2\u5728\u6211\u4eec\u7684\u8bba\u575b\u4e0a\u5df2\u7ecf\u516c\u5e03\u4e86\u5904\u7406\u65b9\u6cd5,\u53bb\u770b\u5427,\u6709\u56fe\u6240\u4ee5\u4e0d\u590d\u5236\u8fc7\u6765\u4e86
http://forum.ikaka.com/topic.asp?board=28&artid=8191559
下面就针对Unix来讲解一下传统Rootkit的攻击原理
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。在大多数操作系统中(各种Uni x和windows),内核是操作系统最基本的部件,它控制着对网络设备、进程、系统内存、磁盘等的访问。例如当你打开一个文件时,打开文件的请求被发送到内核,内核负责从磁盘得到文件的比特位并运行你的文件浏览程序。内核级Rootkit使攻击者获得对系统底层的完全控制权。攻击者可以修改你的内核,大多数内核级Rootkit都能进行执行重定向,即截获运行某一程序的命令,将其重定向到入侵者所选中的程序并运行此程序。也就是说用户或管理员要运行程序A,被修改过的内核假装执行A,实际却执行了程序B.
现在就介绍一下内核级的Rootkit是如何攻击Unix系统的
和传统的Rootkit不同,Unix的bin/login并未被修改,但所有执行/bin/login 的请求(当登陆系统时将产生)都被重定向到攻击者制作的隐藏文件/bin/backdoorlogin,这样当系统管理员使用检测传统级别的Rootkit的方法(比如用tripwire之类的软件检测文件的完整性)就行不通了,因为/bin/login并没有被改变。同样的道理,攻击者对其他的系统程序也进行重定,这样你的操作实际就是按照入侵者的意愿执行了。也就是说,表面上你在运行程序A,你也认为自己运行的是程序A,而实际上你运行的是入侵者设定的程序B~!
更恐怖的是,内核级Rootkit不仅仅只会进行执行重定向,许多内核级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还没有绝对的防御体系。
现在也存在一些Rootkit自动检测工具,但都不是很可靠.同时内核级的Rootkit也在不断的发展中,对一些系统来说防御它最好的办法是使用不支持LKM的内核,Linux的内核就可以设成不支持LKM的单一内核。
下面是一些图例,帮助大家理解
普通应用级别的木马后门
绛旓細杩欐鐥呮瘨鐨勫埗浣滀汉鏄彶寰嬪AMA璁$畻鏈哄鏍$殑涓鍚嶅悕鍙玂nel de Guzman鐨23宀佸鐢熴傛嵁璇达紝褰撴椂鍒朵綔杩欐鐥呮瘨鍙槸涓轰簡瀹屾垚绋嬪簭鐨勬瘯涓氳鏂囥傜粡浠栬嚜宸变粙缁嶈锛氫汉浠紝鐗瑰埆鏄洜鐗圭綉鐢ㄦ埛锛岃兘澶熸垨璁歌濡傚洜鐗圭綉绔欏ソ鐨刉indows鍙d护锛岃繖鏍蜂粬浠棤闇浠橀挶灏辫兘浠ユ洿澶氱殑鏃堕棿涓婄綉銆傚湪鐜板湪鐪嬫潵鐨勭‘鏄潪甯歌浜虹殑锛屼笉杩囪繖鏄竴绉嶈繚娉曠殑...
绛旓細鍙兘鏄綉娓歌揪鍒颁箣绫荤殑鏈ㄩ┈.鏈ㄩ┈鏄湪椹.鍜岄棿璋嶇▼搴忕殑鎬ц川宸笉澶氾紝涓嶅睘浜庣梾姣掋
绛旓細Trojan.DL.JS.Agent.lco 鐥呮瘨鍒嗙被 鏅氭枃浠剁梾姣 鐥呮瘨鍚嶇О Trojan.DL.JS.Agent.lco 鐥呮瘨闀垮害 琛屼负绫诲瀷 鏃犵被鍨 鎰熸煋 鐟炴槦鐗堟湰鍙 19.21.02 Trojan绯诲垪鐥呮瘨 (鐗归瞾浼婃湪椹梾姣)鍏蜂綋鐨勬煡鏉鍔炴硶 鐗规礇浼婃湪椹紒 杩欑鐥呮瘨鎬庝箞娓呴櫎? 鐗规礇浼婃湪椹紙Trojan horse锛 瀹屾暣鐨勬湪椹▼搴忎竴鑸敱涓や釜閮ㄤ唤缁勬垚...
绛旓細9. -5 Trojan-Downloader.HTML.Agent.ml 10. -2 Virus.Win32.Virut.n 11. 1 Email-Worm.Win32.Runouce.b 12. 1 Worm.Win32.Otwycal.g 13. 1 P2P-Worm.Win32.Bacteraloh.h 14. 4 Virus.Win32.Hidrag.a 15. 5 Virus.Win32.Small.l 16. -5 Virus.Win32.Parite.a 17. 閲嶆柊涓婃 Worm.Win...
绛旓細43. Win32.Troj.Rootkit.hr.14336 44. Worm.SpyBot.sg.40448 杩欎釜鐥呮瘨宸ヤ綔浜嶹indows 32骞冲彴銆 45. Win32.Hack.Xploit.wh.57856 杩欎釜鐥呮瘨浣跨敤浜嗗悗闂,鍚庨棬绉嶆鑰呴氳繃璇ュ悗闂,绉樺瘑鎺у埗鍙楁劅鏌撴満鍣,杩欎釜鐥呮瘨宸ヤ綔浜嶹indows 32骞冲彴銆 46. Win32.Hack.Agent.as.92189 47. Win32.Hack.Agent.h.12273 48. Win32....
绛旓細43. Win32.Troj.Rootkit.hr.14336 44. Worm.SpyBot.sg.40448 杩欎釜鐥呮瘨宸ヤ綔浜嶹indows 32骞冲彴銆45. Win32.Hack.Xploit.wh.57856 杩欎釜鐥呮瘨浣跨敤浜嗗悗闂,鍚庨棬绉嶆鑰呴氳繃璇ュ悗闂,绉樺瘑鎺у埗鍙楁劅鏌撴満鍣,杩欎釜鐥呮瘨宸ヤ綔浜嶹indows 32骞冲彴銆46. Win32.Hack.Agent.as.92189 47. Win32.Hack.Agent.h.12273 48. Win32.Hack....
绛旓細184. Win32.Hack.Agent.l.770048 185. Win32.Troj.OnLineGames.ak.61441 186. Win32.Troj.EncodeGameOL.a.24576 187. Win32.Troj.Obfuscated.475648 188. Win32.Troj.Obfuscated.467456 189. Win32.PSWTroj.GameOL.29760 190. Win32.PSWTroj.OnLineGames.39979 191. Win32.Troj.Monderb.40448 192. Win...
绛旓細43. Win32.Troj.Rootkit.hr.14336 44. Worm.SpyBot.sg.40448 杩欎釜鐥呮瘨宸ヤ綔浜嶹indows 32骞冲彴銆 45. Win32.Hack.Xploit.wh.57856 杩欎釜鐥呮瘨浣跨敤浜嗗悗闂,鍚庨棬绉嶆鑰呴氳繃璇ュ悗闂,绉樺瘑鎺у埗鍙楁劅鏌撴満鍣,杩欎釜鐥呮瘨宸ヤ綔浜嶹indows 32骞冲彴銆 46. Win32.Hack.Agent.as.92189 47. Win32.Hack.Agent.h.12273 48. Win32....
绛旓細鐟炴槦涓婃樉绀哄嚭瑕佹墜鍔ㄥ垹闄ら偅灏辨槸鍒犻櫎涓嶄簡鐨勨︹︽垜甯綘鐪嬬湅鏈変粈涔堝姙娉曗︹ttp://zhidao.baidu.com/q?word=Trojan%D4%F5%C3%B4%C9%B1&ct=17&pn=0&tn=ikaslist&rn=10杩欓噷浣犺嚜宸辩湅鈥︹ttp://zhidao.baidu.com/q?word=AdWare.Win32.Agent%D4%F5%C3%B4%C9%B1&ct=17&pn=0&tn=ikas...
绛旓細for %%f in (autorun.inf,hsomklg.exe) do for /D %%d in (c,d,e,f,g,h,i,j,k,l,...%RegDeleteIFEO%\RsAgent.exe" /v Debugger /f%RegDeleteIFEO%\Rsaupd.exe" /v Debugger /f%...CNNIC涓枃涓婄綉鎭舵剰杞欢浣跨敤Rootkit鎭舵剰鎶鏈 瀵硅嚜宸辩殑鏂囦欢杩涜淇濇姢 涓ラ噸褰卞搷绯荤粺鎬ц兘涓庣ǔ瀹氭 鏅氭柟寮忔棤娉...