Dnešní článek přímo naváže na konec předchozího, kde jsme si nastínili, jak vytvořit vlastní shellcode, respektive jeho základ. Pro použití v praxi (exploitu) je však nezbytné vyhnout se některým aspektům např. použití hodnoty NULL nebo závislosti na pozici v paměti, což si názorně předvedeme. Aby námi vytvořený shellcode nezůstal pouze jako nic nedělající „kostra“, vytvoříme ten obecně nejrozšířenější – reverse shell.
V minulých článcích jsme se zabývali limitací prostoru a velmi omezenou dostupnou sadou znaků. Zmíněná omezení, na první pohled, celkem efektivně bránily k použití volně dostupných shellcodů – vygenerovaných např. pomocí nástroje msfvenom. V dnešním článku se (opět) nebudeme zaměřovat na obcházení bezpečnostních ochran, ale popíšeme si způsob, jak vytvořit vlastní shellcode.