SPbCTF Meeting (https://vk.com/spbctf)
Egor Zaitsev explains how to execute not just some library function, but truly arbitrary code: write shellcode that performs the necessary operations via syscalls.
Solve problems — https://pwn.spbctf.ru
✄ − − − − − − − − − − − − − − − − − − − − − −
If you liked our materials and found them helpful, please support the community with a donation: https://donate.spbctf.ru
CTF in St. Petersburg (SPbCTF) is an open, independent competitive hacking community based in St. Petersburg. We conduct computer security seminars and training sessions for students and schoolchildren in the city in the format of CTF competitions. We also organize competitions, educational intensives for universities and companies, and host events and master classes at conferences. We post edited recordings of our meetings on YouTube, discuss tasks, and stream for fun.
Read: https://vk.com/spbctf
Ask a question in the chat: https://t.me/spbctf
Subscribe to the news: https://t.me/spbctfnews and our https://github.com/SPbCTF
Track the movements of the community mascot: / theblzh2017
Write: [email protected]
0:00 Why shellcode is used
4:44 Demo environment. Executing raw bytes as instructions
15:58 Collections of ready-made shellcode
20:56 Writing your own shellcode. System calls
25:21 Compiling shellcode. NASM
40:56 Passing data to syscall. PUSH on the stack
54:17 Shellcoding with restrictions: no null bytes allowed
1:02:19 Shellcoding with restrictions: limited space
1:09:39 Addressing data inside shellcode using CALL