Archive for Duben, 2010

Nebojme se shellcodů III.

Již není mnoho základních věcí, které by měl začínající tvůrce shellcodů znát. V poslední dílu z minisérie pro začátečníky si ukážeme, jakým způsobem pracovat s funkcemi z externích DLL knihoven. Praktickou ukázkou je pak tvorba shellcodu, který využívá API funkci MessageBox z DLL knihovny user32.dll. Opět nebude chybět nezbytná teorie :)
Read more

Nebojme se shellcodů II.

V druhém dílu seriálu se čtenáři dovědí několik teoretických věcí, jež se při práci s shellcody hodí znát, a zjistí, jak využívat textové řetězce. Výsledkem jsou pak téměř identické shellcody, využívající rozdílné techniky práce s řetězci, které spouští Příkazový řádek (Command Line).
Read more

Nebojme se shellcodů I.

(Snad nejen) První díl seriálu s názvem „Nebojme se shellcodů“ by měl čtenáře provést a zasvětit do tajů tvorby shellcodů pro platformu Win32 NT na procesorech rodiny x86. V prvním díle se čtenář dozví něco málo o historii, zjistí, co vlastně shellcode je, a na závěr si jeden ukázkový vytvoří.
Read more

MessageBoxA + ExitProcess Win32 Portable Shellcode

Přenositelný (portable) shellcode, který vyvolá MessageBoxA s textem „O_o“ a regulérně se ukončí pomocí ExitProcess. Shellcode neobsahuje NULL byty. Využívá PEB strukturu k nalezení kernel32.dll v paměti procesu. Kód byl úspěšně testován na:
Win XP SP2 ENG
Win XP SP2 CZ
Win XP SP3 CZ
Win Vista (32bit)/(64bit)
Win 2000
Win 2003
Win 7 (32bit)/(64bit)
Win 2k8 (32bit)

Read more