Camp CTF 2015 - Bitterman
00:00 - Introduction
01:20 - Using CheckSEC to explain the binary protections that can be applied.
02:45 - Running the binary to discover a segfault with long string of A's
04:10 - This is a 64 bit Binary so we overwrite RSP (Stack Pointer) not RIP (Instruction Pointer)
04:30 - Using Pattern Create to identify where we can overwrite RSP
05:15 - Using PwnTools to create a skeleton exploit
07:20 - Using objdump to dump the PLT (Procedural Link Address) and GOT (Global Offset Table) Address for PUTS so we can use ROP to write to the screen
09:00 - Using R2 (radare) to find the location to a pop rdi function
09:45 - Building the gadget chain to print the location of PUTS
12:20 - Packing the addresses in our exploit with p64(), then showing the leaked address
14:00 - Storing the leaked address as a variable so we can convert it to hex
15:50 - Memory address retrieved! It changes every time the program loads, so adding a ROP back to MAIN
18:50 - Looking for a SYSTEM() Address with ReadElf
19:00 - Using strings to find the location of "/bin/sh" within libc
19:55 - Using the leaked addresses to find where libc is loaded
24:50 - Fixing up some memory addresses then getting a shell!
25:10 - Using Pwntools to the max! Having it automate a lot of stuff.
25:50 - Mapping the ELF + LIBC within PwnTools
26:45 - Using PwnTools to build the ROP Chain to leak PUTS
28:15 - Using PwnTools to rebase LibC From our memory leak
29:00 - Using PwnTools to pull the SYSTEM and /bin/sh information from LibC
30:30 - Debugging some errors then getting a shell!
Bitterman: https://github.com/ctfs/write-ups-2015/blob/master/camp-ctf-2015/pwn/bitterman-300/bitterman?raw=true
Good Links.
PLT/GOT explanation: https://www.technovelty.org/linux/plt-and-got-the-key-to-code-sharing-and-dynamic-libraries.html
Great Writeup to similar CTF Challenge: https://blog.skullsecurity.org/2015/defcon-quals-r0pbaby-simple-64-bit-rop
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from IppSec · IppSec · 8 of 60
1
2
3
4
5
6
7
▶
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
HHC2016 - Analytics
IppSec
HackTheBox - October
IppSec
HackTheBox - Arctic
IppSec
HackTheBox - Brainfuck
IppSec
HackTheBox - Bank
IppSec
HackTheBox - Joker
IppSec
HackTheBox - Lazy
IppSec
Camp CTF 2015 - Bitterman
IppSec
HackTheBox - Devel
IppSec
Reversing Malicious Office Document (Macro) Emotet(?)
IppSec
HackTheBox - Granny and Grandpa
IppSec
HackTheBox - Pivoting Update: Granny and Grandpa
IppSec
HackTheBox - Optimum
IppSec
HackTheBox - Charon
IppSec
HackTheBox - Sneaky
IppSec
HackTheBox - Holiday
IppSec
HackTheBox - Europa
IppSec
Introduction to tmux
IppSec
HackTheBox - Blocky
IppSec
HackTheBox - Nineveh
IppSec
HackTheBox - Jail
IppSec
HackTheBox - Blue
IppSec
HackTheBox - Calamity
IppSec
HackTheBox - Shrek
IppSec
HackTheBox - Mirai
IppSec
HackTheBox - Shocker
IppSec
HackTheBox - Mantis
IppSec
HackTheBox - Node
IppSec
HackTheBox - Kotarak
IppSec
HackTheBox - Enterprise
IppSec
HackTheBox - Sense
IppSec
HackTheBox - Minion
IppSec
VulnHub - Sokar
IppSec
VulnHub - Pinkys Palace v2
IppSec
HackTheBox - Inception
IppSec
Vulnhub - Trollcave 1.2
IppSec
HackTheBox - Ariekei
IppSec
HackTheBox - Flux Capacitor
IppSec
HackTheBox - Jeeves
IppSec
HackTheBox - Tally
IppSec
HackTheBox - CrimeStoppers
IppSec
HackTheBox - Fulcrum
IppSec
HackTheBox - Chatterbox
IppSec
HackTheBox - Falafel
IppSec
How To Create Empire Modules
IppSec
HackTheBox - Nightmare
IppSec
HackTheBox - Nightmarev2 - Speed Run/Unintended Solutions
IppSec
HackTheBox - Bart
IppSec
HackTheBox - Aragog
IppSec
HackTheBox - Valentine
IppSec
HackTheBox - Silo
IppSec
HackTheBox - Rabbit
IppSec
HackTheBox - Celestial
IppSec
HackTheBox - Stratosphere
IppSec
HackTheBox - Poison
IppSec
HackTheBox - Canape
IppSec
HackTheBox - Olympus
IppSec
HackTheBox - Sunday
IppSec
HackTheBox - Fighter
IppSec
HackTheBox - Bounty
IppSec
More on: Tool Use & Function Calling
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Inside Consumer DVRs — Hardware, Firmware & Network Security Evaluation
Medium · Cybersecurity
Cómo construimos un SOC con honeypot e IA local
Dev.to · Yoandy Ramirez Delgado
Credentials in web applications: how to store them properly
Dev.to · Ian Johnson
XSS Nedir ve Neden Hâlâ Tehlikeli? | Bir Siber Güvenlik Öğrencisinin Notları
Medium · Cybersecurity
Chapters (22)
Introduction
1:20
Using CheckSEC to explain the binary protections that can be applied.
2:45
Running the binary to discover a segfault with long string of A's
4:10
This is a 64 bit Binary so we overwrite RSP (Stack Pointer) not RIP (Instructi
4:30
Using Pattern Create to identify where we can overwrite RSP
5:15
Using PwnTools to create a skeleton exploit
7:20
Using objdump to dump the PLT (Procedural Link Address) and GOT (Global Offset
9:00
Using R2 (radare) to find the location to a pop rdi function
9:45
Building the gadget chain to print the location of PUTS
12:20
Packing the addresses in our exploit with p64(), then showing the leaked addre
14:00
Storing the leaked address as a variable so we can convert it to hex
15:50
Memory address retrieved! It changes every time the program loads, so adding
18:50
Looking for a SYSTEM() Address with ReadElf
19:00
Using strings to find the location of "/bin/sh" within libc
19:55
Using the leaked addresses to find where libc is loaded
24:50
Fixing up some memory addresses then getting a shell!
25:10
Using Pwntools to the max! Having it automate a lot of stuff.
25:50
Mapping the ELF + LIBC within PwnTools
26:45
Using PwnTools to build the ROP Chain to leak PUTS
28:15
Using PwnTools to rebase LibC From our memory leak
29:00
Using PwnTools to pull the SYSTEM and /bin/sh information from LibC
30:30
Debugging some errors then getting a shell!
🎓
Tutor Explanation
DeepCamp AI