Home page logo
/

fulldisclosure logo Full Disclosure mailing list archives

[ElectronicSouls] - Scanner
From: electronicsouls () hushmail com
Date: Sat, 30 Nov 2002 18:28:52 -0800


-----BEGIN PGP SIGNED MESSAGE-----

Dear List,

I'm real fucking tired of writing witty descriptions for this shit.

# cat fresh2.txt

/*
 *
 *  !! PRIVATE CODE !!
 *  DO NOT DISTRIBUTE ! () #
 *
 *  ( ( F R E S H ) ) - String Scanner
 *
 *  (C) BrainStorm [ElectronicSouls]
 *  This code is deticated to my bro it_fresh =)
 *
 *  "KEEP THE SPIRIT ALIVE!"
 *
 */

#include <stdio.h>
#include <netdb.h>
#include <string.h>
#include <fcntl.h>
#include <unistd.h>
#include <time.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>

#define STR1 "BSD"
#define STR2 "7.0"
#define STR3 "IRIX"
#define STR4 "6.2"
#define STR5 "4.2"
#define STR6 "6.5"
#define STR7 "5.6"
#define STR8 "5.7"
#define STR9 "5.8"
#define STR10 "Wingate>"

#define FSTR1 "Feb 28"
#define FSTR2 "Pro"

void usage (char *s);
void timedout ();

int scan (char *host);
int scan2 (char *host);

FILE *infile, *outfile;
int sock, numforks = 0, timesup = 0, port;

void usage(char *s)
   {
   printf("\n\n               ( (  F R E S H  ) )  \n");
   printf("        [ E l e c t r o n i c S o u l s ] \n\n");
   printf(" [!] Usage: ./fresh [IPfile] [OUTfile] [Childs] \n\n");
   exit(0);
   }

int scan1(char *host)
   {
   struct sockaddr_in sin;
   int sock, len;
   u_char buf[4000];
   sock = socket(AF_INET, SOCK_STREAM, 0);

if (!sock)
   {
   fprintf(stderr, "unable to get socket\n");
   return;
   }
   sin.sin_family = AF_INET;
   sin.sin_port = htons(23);
   sin.sin_addr.s_addr = inet_addr(host);

if (connect(sock, (struct sockaddr*)&sin, sizeof(sin)) == 0) {
   while (1)
   {
   memset(buf, 0, sizeof(buf));
if ((len = read (sock, buf, 1)) <= 0)
   break;

if (*buf == (unsigned int) 255)
   {
   read(sock, (buf + 1), 2);
if (*(buf + 1) == (unsigned int) 253 && !(u_char) * (buf + 2));
   else if ((u_char) * (buf + 1) == (unsigned int) 253)
   {
   *(buf + 1) = 252;
   write (sock, buf, 3);
   }
   }
   else
   {
   if (*buf != 0)
   {
   bzero (buf, sizeof (buf));
   read (sock, buf, sizeof (buf));
   usleep(40000);
if (strstr(buf, STR1))
   {
   fprintf(outfile, "%s:BSD-telnetd\n", host);
   printf("--- BSD:\n");
   printf("%s\n", host);
   alarm(0);
   return 1;
   }
if (strstr(buf, STR2))
   {
   fprintf(outfile, "%s:RedHat-7.0\n", host);
   printf("--- RedHat7.0:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR3))
   {
   fprintf(outfile, "%s:IRIX\n", host);
   printf("--- IRIX:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR4))
   {
   fprintf(outfile, "%s:rh6.2\n", host);
   printf("--- RedHat6.2:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR5))
   {
   fprintf(outfile, "%s:FreeBSD 4.2\n", host);
   printf("--- FreeBSD4.2:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR6))
   {
   fprintf(outfile, "%s:IRIX 6.5\n", host);
   printf("--- IRIX 6.5:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR7))
   {
   fprintf(outfile, "%s:SunOS 5.6\n", host);
   printf("--- SunOS 5.6:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR8))
   {
   fprintf(outfile, "%s:SunOS 5.7\n", host);
   printf("--- SunOS 5.7:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR9))
   {
   fprintf(outfile, "%s:SunOS 5.8\n", host);
   printf("--- SunOS 5.8:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
if (strstr(buf, STR10))
   {
   fprintf(outfile, "%s:Wingate\n", host);
   printf("--- Wingate:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
   }
   }
   }
   }
   alarm(0);
   close(sock);
   return;
   }
int scan2(char *host)
   {
   struct sockaddr_in sin;
   int sock, len;
   u_char buf[4000];
   sock = socket(AF_INET, SOCK_STREAM, 0);

if (!sock)
   {
   fprintf(stderr, "unable to get socket\n");
   return;
   }
   sin.sin_family = AF_INET;
   sin.sin_port = htons(21);
   sin.sin_addr.s_addr = inet_addr(host);

if (connect(sock, (struct sockaddr*)&sin, sizeof(sin)) == 0) {
   while (1)
   {
   memset(buf, 0, sizeof(buf));
if ((len = read (sock, buf, 1)) <= 0)
   break;

if (*buf == (unsigned int) 255)
   {
   read(sock, (buf + 1), 2);
if (*(buf + 1) == (unsigned int) 253 && !(u_char) * (buf + 2));
   else if ((u_char) * (buf + 1) == (unsigned int) 253)
   {
   *(buf + 1) = 252;
   write (sock, buf, 3);
   }
   }
   else
   {
   if (*buf != 0)
   {
   bzero (buf, sizeof (buf));
   read (sock, buf, sizeof (buf));
   usleep(40000);
if (strstr(buf, FSTR1))
   {
   fprintf(outfile, "%s:WU 2.6.0\n", host);
   printf("--- WU-2.6.0:\n");
   printf("%s\n", host);
   alarm(0);
   return 1;
   }
if (strstr(buf, FSTR2))
   {
   fprintf(outfile, "%s:ProFtpd\n", host);
   printf("--- ProFtpd:\n", host);
   printf("%s\n");
   alarm(0);
   return 1;
   }
   }
   }
   }
   }
   alarm(0);
   close(sock);
   return;
   }
int
main (int argc, char *argv[])
   {
   int n;
   char buf[1024];
   time_t start;
if (argc < 4)
   usage (argv[0]);
if (((infile = fopen (argv[1], "r")) == NULL)
   || ((outfile = fopen (argv[2], "a")) == NULL))
   {
   fprintf (stderr, "Unable to open file(s) for reading!\n");
   exit (-1);
   }
   start = time(0);
   while (!feof (infile))
   {
   fgets ((char *) &buf, sizeof (buf), infile);
if (buf[strlen (buf) - 1] == '\n')
   buf[strlen (buf) - 1] = '\0';
if (!(fork ()))
   {
   scan1(buf);
   exit(0);
   }
   else
   {
   numforks++;
if (numforks > atoi(argv[3]))
   for (numforks; numforks > atoi(argv[3]); numforks--)
   wait (NULL);
   }
   }
   fclose (infile);
   fclose (outfile);
   printf ("\n\n\n [ F R E S H ]  - (C) ElectronicSouls\n");
   printf ("[Done] Completed in %lu seconds\n\n", (time(0) - start));
   exit(0);
 }

#

The Electronic Souls Crew
[ElectronicSouls] (c) 2002

"Unga bunga."

-----BEGIN PGP SIGNATURE-----
Version: Hush 2.2 (Java)
Note: This signature can be verified at https://www.hushtools.com/verify

wmQEARECACQFAj3pdAEdHGVsZWN0cm9uaWNzb3Vsc0BodXNobWFpbC5jb20ACgkQ39CI
8XTNSM5yaQCgjcLF5hd4GEj7RLCUzuH84ObjQYEAnAuzXpw+LutdjTJTCnbkuMTpoDfk
=XvK1
-----END PGP SIGNATURE-----




Concerned about your privacy? Follow this link to get
FREE encrypted email: https://www.hushmail.com/?l=2 

Big $$$ to be made with the HushMail Affiliate Program: 
https://www.hushmail.com/about.php?subloc=affiliate&l=427
_______________________________________________
Full-Disclosure - We believe in it.
Charter: http://lists.netsys.com/full-disclosure-charter.html


  By Date           By Thread  

Current thread:
[ Nmap | Sec Tools | Mailing Lists | Site News | About/Contact | Advertising | Privacy ]
AlienVault