[<prev] [next>] [day] [month] [year] [list]
Message-ID: <200212010228.gB12Srv2048079@mailserver4.hushmail.com>
From: electronicsouls at hushmail.com (electronicsouls@...hmail.com)
Subject: [ElectronicSouls] - Scanner
-----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
Powered by blists - more mailing lists