win-exec-calc-shellcode
Shellcode pequeño y libre de NUL que ejecuta calc.exe.
Se ejecuta en versiones x86 y x64 de Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), todos los service packs.
Tamaños (build 306)
| plataforma | tamaño | alineación de pila | envoltorio de función | func+guardar regs | func+pila | func+pila+regs |
| x86 | 72 | 75 | 77 | 77 | 84 | 84 |
| x64 | 85 | 90 | 98 | 105 | 106 | 112 |
| x86+x64 | 113 | 118 | 179 | 188 | 188 | 196 |
Características
- Libre de NUL
- Independiente de la versión de Windows y del service pack.
- Independiente de la ISA:
se ejecuta en arquitectura x86 (w32-exec-calc-shellcode) o x64 (w64-exec-calc-shellcode),
o en ambas (win-exec-calc-shellcode).
- El puntero de pila se puede alinear si es necesario (si estás viendo fallos en
WinExec, prueba a usar la versión con alineación de pila).
- No se hacen suposiciones sobre los valores de los registros ni de la pila.
- Compatible con /3GB y
WoW64" en x86 (no se asume que los punteros
sean menores que 0x80000000).
- Compatible con DEP /
ASLR:
los datos no se ejecutan, el código no se modifica.
- Capaz de guardar y restaurar registros y retornar, para su uso en código PoC que llama
al shellcode como una función (usando la convención de llamada
cdecl/stdcall/fastcall.
Créditos
Skylined y Peter Ferrie