win-exec-calc-shellcode
Kleiner NUL-freier Shellcode, der calc.exe ausführt.
Läuft auf x86- und x64-Versionen von Windows 5.0-6.3 (2000, XP, 2003, 2008, 7, 8, 8.1), alle Service Packs.
Größen (Build 306)
| Plattform | Größe | Stack-Ausrichtung | Funktions-Wrapper | Funktion+Register sichern | Funktion+Stack | Funktion+Stack+Register |
| x86 | 72 | 75 | 77 | 77 | 84 | 84 |
| x64 | 85 | 90 | 98 | 105 | 106 | 112 |
| x86+x64 | 113 | 118 | 179 | 188 | 188 | 196 |
Features
- NUL-frei
- Unabhängig von Windows-Version und Service Pack.
- ISA-unabhängig:
läuft auf x86- (w32-exec-calc-shellcode) oder x64-Architektur (w64-exec-calc-shellcode)
oder beiden (win-exec-calc-shellcode).
- Der Stack-Pointer kann bei Bedarf ausgerichtet werden (wenn Sie Abstürze in
WinExec sehen, versuchen Sie es mit der Version mit Stack-Ausrichtung).
- Es werden keine Annahmen über die Werte in Registern oder auf dem Stack gemacht.
- x86: /3GB- und
WoW64"-kompatibel (es wird nicht angenommen,
dass Zeiger kleiner als 0x80000000 sind).
- DEP /
ASLR-
kompatibel: Daten werden nicht ausgeführt, Code wird nicht verändert.
- Kann Register und Rückgabewert sichern und wiederherstellen, für den Einsatz in PoC-Code, der
den Shellcode als Funktion aufruft (unter Verwendung der
cdecl/stdcall/fastcall-Aufrufkonvention.
Mitwirkende
Skylined und Peter Ferrie