[9996] in bugtraq

home help back first fref pref prev next nref lref last post

Re: WUftp scanner

daemon@ATHENA.MIT.EDU (Scott Stone)
Fri Mar 26 16:22:36 1999

Date: 	Fri, 26 Mar 1999 10:05:54 -0700
Reply-To: Scott Stone <sstone@TURBOLINUX.COM>
From: Scott Stone <sstone@TURBOLINUX.COM>
X-To:         baku@EXCITE.COM
To: BUGTRAQ@NETSPACE.ORG
In-Reply-To:  <922285760.14964.823@excite.com>

On Wed, 24 Mar 1999 baku@EXCITE.COM wrote:

> Hi, aleph1
> this is a quick and dirty scanner I wrote to look for vulernable wu-ftpd
> servers.

Sorry, but this is kind of dumb.  This will check to make sure that you're
using a specific build of wu-ftpd... but what if you rebuilt it yourself?
then the timestamp will be different.  The timestamp reflects the
time/date/zone in which this particular server binary was COMPILED.  So
basically all this program tells me is if I'm using Redhat's prebuilt
wu-ftpd binary, right?  My TurboLinux wu-ftpd RPM is correctly patched,
but it will say that it's 19:19:11 PST 1999 since that's when I built it,
and I built it in California.

> <---------wscan.c------>
> #include <netdb.h>
>
> #define FTPPORT 21
> #define VERBOSE 1
>
> int
> main (int argc, char **argv)
> {
>   struct hostent *hp;
>   struct in_addr addr;
>   struct sockaddr_in s;
>   u_char *buf[280];
>   int p, i;
>
>
>   if (argc == 1)
>     {
>       printf("WUftpd Buffer overflow scanner.\n");
>       printf("Written by 03m0s1s 3/19/1999\n");
>       printf ("Usage: %s <hostname>\n",argv[0]);
>       exit (1);
>     }
>
>   hp = gethostbyname (argv[1]);
>   if (!hp) exit (1);
>
>   bcopy (hp->h_addr, &addr, sizeof (struct in_addr));
>   p = socket (s.sin_family = 2, 1, IPPROTO_TCP);
>   s.sin_port = htons (FTPPORT);
>   s.sin_addr.s_addr = inet_addr (inet_ntoa (addr));
>   connect (p, &s, sizeof (s));
>   alarm (4);			/*Time out after 4 seconds */
>   read (p, buf, 255); /* Grab the banner*/
>
>   if (strstr (buf, "Version wu-2.4.2-academ[BETA-18](1)"))
>     {
>       if (strstr (buf, "Mon Jan 18 19:19:31 EST 1999"))
> 	printf ("%s is patched.\n", inet_ntoa (addr));
>       else
> 	printf ("%s is vulnerable.\n", inet_ntoa (addr));
> /*It must be the "Mon Aug 3 19:17:20 EDT 1998) ready." banner. */
>     }
>   else
>     printf ("%s does not look BETA-18.\n", inet_ntoa (addr));
>
>   if (VERBOSE)
>     printf ("%s\n\n", buf);
>   write (p,"bye\n",4); /*We just want the banner no need to stick around.*/
>
> }
> <------end wuscan.c---------->
> <-------wuss perl script----->
> #!/usr/bin/perl -w
> #Automate class C subnet scan, it doesnt check to see if the host is up
> #could add a ping routine in here.
> #Syntax  ./wuss [aaa.bbb.ccc]
>
> $net = $ARGV[0];
> $START=1;
> $END=254;
>
>
> while ($START < $END) {
>   $HOST ="$net.$START";
>   print `./wuscan $HOST`;
>   $START = $START + 1;
> }
> <------wuss--------->
>
>
>
>
> _______________________________________________________
> Get your free, private email at http://mail.excite.com/
>

--------------------------------------------------
Scott M. Stone <sstone@turbolinux.com>
Head of TurboLinux English / Systems Administrator
Pacific HiTech, Inc. (http://www.turbolinux.com)

home help back first fref pref prev next nref lref last post