win-exec-calc-shellcode
Pequeno shellcode sem NUL que executa o calc.exe.
Executa nas versões x86 e x64 do Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), todos os service packs.
Tamanhos (build 306)
| plataforma |
tamanho |
alinhamento de stack |
wrapper de função |
func+salvar regs |
func+stack |
func+stack+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
- Livre de NUL
- Independente de versão do Windows e service pack.
- ISA independente:
executa na arquitetura x86 (w32-exec-calc-shellcode) ou x64 (w64-exec-calc-shellcode),
ou em ambas (win-exec-calc-shellcode).
- O ponteiro de pilha pode ser alinhado se necessário (se você estiver vendo falhas no
WinExec, tente usar a versão com alinhamento de pilha).
- Nenhuma suposição é feita sobre os valores nos registradores ou na pilha.
- x86: /3GB e
WoW64" compatível (os ponteiros
não são considerados menores que 0x80000000).
- DEP /
ASLR
compatível: os dados não são executados, o código não é modificado.
- Capaz de salvar e restaurar registradores e o retorno, para uso em código de PoC que chama
o shellcode como uma função (usando
cdecl/stdcall/fastcall como convenção de chamada.
Créditos
Skylined e Peter Ferrie