SlideShare a Scribd company logo
1 of 44
Download to read offline
A CTF Hackers Toolbox
Grazer Linuxtage 2016
$ who
mike/@f0rki
f0rki@hack.more.systems
CS/InfoSec Student
CTF Player since 2010
@stefan2904
stefan@hack.more.systems
CS/InfoSec/CI Student
CTF Player since 2014
CTF: Capture The Flag
Collaborative hacking competitions
Teams vs. Teams
The goal is to capture ags
CTF{THIS_IS_A_FLAG}
CTF Type: Jeopardy
Figure: Sharif CTF Challenge Board
CTF Type: Attack-Defense
Figure: RUCTFe 2015 Network Schema (source: RUCTF org)
CTF Type: Attack-Defense
Figure: FAUST CTF 2015 scoreboard
Why CTFs?
It's fun!
Gain experience in Information Security
Challenges modeled after real-world problems
Sometimes real-world bugs modeled after CTF bugs?
LosFuzzys: A CTF Team in Graz
We Like Bugs!
LosFuzzys: A CTF Team in Graz
A group of people interested in information security
Primarily CS/SW/ICE Students from TUGraz
But we welcome anyone interested and motivated :)
and maybe even you ;)
Irregular Meet-ups
Where to start?
Talk to us! :-)
https://hack.more.systems
twitter: @LosFuzzys
Read writeups!
Repo: github.com/ctfs
Ours: hack.more.systems/writeups
CTF Toolbox
CTF Toolbox
Great diversity of challenges
Some things turn up frequently
Knowledge of technology necessary
Experience helps a lot
Using the right tools is essential
assuming you know how to use them . . .
Scripting is your best Friend
Be comfortable in automating things
Use whatever works best
bash, zsh etc.
Python, Ruby etc.
Command-Line-Fu is very helpful
Standard utils  grep, sed, awk, sort, cut, uniq, . . .
Network stu  nc, socat, dig, nmap
Query json  jq
HTTP  curl
. . .
Pipe together to get your results!
Bash Password Guessing
f o r x in q w e r t y u i o p a s d f g h j k l z 
x c v b n m Q W E R T Y U I O P A S D F G H J 
K L Z X C V B N M 1 2 3 4 5 6 7 8 9 0 − _ ?
do
echo = $x =
# count s i g a c t i o n s y s c a l l s
s t r a c e ./ stage3 . bin Did_you_l$x$x$x$x$x$x$x$x 21 
| grep s i g a c t i o n 
| wc −l
done  log
# get h i g h e s t count of s i g a c t i o n s and t r i g g e r i n g char
cat log | grep −B 1 
$ ( cat log | grep −v = | s o r t | uniq | t a i l −n 1)
Automated Browsing  python-requests
import r e q u e s t s
URL = ' http :// c t f . example . com '
s = r e q u e s t s . s e s s i o n ()
r = s . post (URL + ' / l o g i n ' ,
data={ ' user ' : ' fuzzy ' , ' pass ' : ' 1234 ' })
# GET http :// c t f . example . com/ vuln ?x=' or%201=1−−x
resp = s . get (URL + ' / vuln ' ,
params={ ' x ' : '  ' or 1=1 −−x ' })
# s e s s i o n cookie automagically used here
p r i n t resp . t e x t
# f l a g {some_flag_of_some_service}
Dirty Networking  pwntools
from pwn import ∗
r = remote ( ' c t f . example . com ' , 1337)
# l i n e based
r . r e c v l i n e ()
r . s e n d l i n e ( 'HELO %s%s%s%s ' )
r . r e c v u n t i l ( ' 250 Hello ' )
data = r . recv (4)
# unpack LE uint32 from bin
i = u32 ( data )
log . i n f o ( ' r e c e i v e d uint32 {} ' . format ( i ))
# pack BE uint32 to bin
r . send ( p32 (1094795585 , endian=' big ' ))
r . r e c v l i n e ()
Finding  Analyzing Vulnerabilities
Analyzing Java/.NET Apps
Great decompilers!
Java/Dalvik bytecode
intellij built-in decompiler (fernower), procyon
http://www.javadecompilers.com/
Android apps/Dalvik bytecode
apktool, smali/baksmali, jadx
Xposed
.NET bytecode
ILSpy, Jetbrains dotPeek
A wild binary appears!
$ f i l e ./ pwn
pwn : ELF 32− b i t LSB executable , I n t e l 80386 ,
v e r s i o n 1 (GNU/ Linux ) , s t a t i c a l l y linked ,
f o r GNU/ Linux 2 . 6 . 2 4 ,
not s t r i p p e d
$ objdump -d ./pwn | less
Keep Calm
And
Use radare2
From git
radare2  example commands
Search for functions containing exec
afl~exec
Show/search all strings in the le
izz
izz~FLAG
Compute CRC32 over next 32 byte
#crc32 32
Binary Decompilers
No really good open source binary decompilers :(
The radare guys are working on one
Commercial/Closed-Source
Hex-Rays/IDA Pro Decompiler ($$$)
Hopper ($)
retdec (free, webservice, no x86_64)
Debugging?
Debuggers
Use gdb with one of those:
PEDA
GEF
pwndbg
voltron
gdb-dashboard
gdb alternatives: lldb, radare2
Newer debugging approaches
qira
rr
Pwning!
$ mkfifo ./ f i f o
$ ./ pwn ./ f i f o  python −c ' p r i n t (A∗4128) '  ./ f i f o
[ 1 ] 9391
The f i l e has been saved s u c c e s s f u l l y
[ 1 ] + 9391 segmentation f a u l t ( core dumped) ./ pwn ./ f i f o
$ dmesg | t a i l −n 1
pwn [ 9 3 9 1 ] : s e g f a u l t at 41414141 ip 0000000041414141
sp 00000000 ffb6d340 e r r o r 14
pwntools again!
from pwn import ∗ # NOQA
v e l f = ELF(  ./ pwn )
r = ROP( v e l f )
r . c a l l (  e x i t  , [ 4 2 ] )
payload = A ∗ 4124 + s t r ( r )
# launch process
vp = process ( [  ./ pwn ,  ./ f i f o  ] )
gdb . attach ( vp )
# break ∗0 x8048f4e
with open (  ./ f i f o  , w ) as f :
f . w r i t e ( payload )
# forward s t d i n / stdout to process s t d i n / stdout
vp . i n t e r a c t i v e ()
pwntools/binjitsu
I/O abstraction (called Tubes)
ELF parser/info
Return Oriented Programming (ROP)
Shellcode
plug'n'pwn
shellcode builder
Binary data parsing
. . .
Cryptography
Crypto Tools
Pen  Paper
sage
CAS  python
packages implementing attacks, e.g.
python-paddingoracle
hashpumpy (hash length extension attack)
. . .
Learn to Improvise
Premature optimization* is the root of all evil!
* also commenting code
* also clean code
(only true for attack  during CTFs!)
If it works once, . . . it works!
Code-reuse between dierent CTFs!
Post-CTF code cleanup would be good . . .
A fool with a tool is still a fool!
https://hack.more.systems
Thanks to
all LosFuzzys members
tuflowgraphy.at
realraum
IAIK
Writeups of Used Examples
https://hack.more.systems/writeups
9447ctf: premonition (web)
NDH quals 2016: matriochka (reversing)
NDH quals 2016: secure le reader (pwn)
don't be eve!

More Related Content

What's hot

CapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptx
CapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptxCapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptx
CapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptxCapitolTechU
 
NDIS Packet of Death
NDIS Packet of DeathNDIS Packet of Death
NDIS Packet of Deathnitayart
 
Chap 1 Fundamentals of Cyber Security _ Intr to Cyber types.pptx
Chap 1 Fundamentals of Cyber Security _ Intr to Cyber  types.pptxChap 1 Fundamentals of Cyber Security _ Intr to Cyber  types.pptx
Chap 1 Fundamentals of Cyber Security _ Intr to Cyber types.pptxSharmilaMore5
 
Introduction to Malware Analysis
Introduction to Malware AnalysisIntroduction to Malware Analysis
Introduction to Malware AnalysisAndrew McNicol
 
Access Control: Principles and Practice
Access Control: Principles and PracticeAccess Control: Principles and Practice
Access Control: Principles and PracticeNabeel Yoosuf
 
Bypass_AV-EDR.pdf
Bypass_AV-EDR.pdfBypass_AV-EDR.pdf
Bypass_AV-EDR.pdfFarouk2nd
 
Cloud-forensics
Cloud-forensicsCloud-forensics
Cloud-forensicsanupriti
 
DDoS Attack PPT by Nitin Bisht
DDoS Attack  PPT by Nitin BishtDDoS Attack  PPT by Nitin Bisht
DDoS Attack PPT by Nitin BishtNitin Bisht
 
Introduction to red team operations
Introduction to red team operationsIntroduction to red team operations
Introduction to red team operationsSunny Neo
 
Malware analysis, threat intelligence and reverse engineering
Malware analysis, threat intelligence and reverse engineeringMalware analysis, threat intelligence and reverse engineering
Malware analysis, threat intelligence and reverse engineeringbartblaze
 
Metasploit seminar
Metasploit seminarMetasploit seminar
Metasploit seminarhenelpj
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration TestingSubho Halder
 
Web Application Forensics: Taxonomy and Trends
Web Application Forensics: Taxonomy and TrendsWeb Application Forensics: Taxonomy and Trends
Web Application Forensics: Taxonomy and TrendsKrassen Deltchev
 

What's hot (20)

CapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptx
CapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptxCapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptx
CapTech Talks--OSINT- Dr. Kellup Charles 10--6-22.pptx
 
DDoS.pptx
DDoS.pptxDDoS.pptx
DDoS.pptx
 
NDIS Packet of Death
NDIS Packet of DeathNDIS Packet of Death
NDIS Packet of Death
 
Introduction to Snort
Introduction to SnortIntroduction to Snort
Introduction to Snort
 
Chap 1 Fundamentals of Cyber Security _ Intr to Cyber types.pptx
Chap 1 Fundamentals of Cyber Security _ Intr to Cyber  types.pptxChap 1 Fundamentals of Cyber Security _ Intr to Cyber  types.pptx
Chap 1 Fundamentals of Cyber Security _ Intr to Cyber types.pptx
 
Understanding NMAP
Understanding NMAPUnderstanding NMAP
Understanding NMAP
 
Introduction to Malware Analysis
Introduction to Malware AnalysisIntroduction to Malware Analysis
Introduction to Malware Analysis
 
Malware analysis
Malware analysisMalware analysis
Malware analysis
 
Arp Cache Poisoning
Arp Cache PoisoningArp Cache Poisoning
Arp Cache Poisoning
 
Access Control: Principles and Practice
Access Control: Principles and PracticeAccess Control: Principles and Practice
Access Control: Principles and Practice
 
Bypass_AV-EDR.pdf
Bypass_AV-EDR.pdfBypass_AV-EDR.pdf
Bypass_AV-EDR.pdf
 
Cloud-forensics
Cloud-forensicsCloud-forensics
Cloud-forensics
 
DDoS Attack PPT by Nitin Bisht
DDoS Attack  PPT by Nitin BishtDDoS Attack  PPT by Nitin Bisht
DDoS Attack PPT by Nitin Bisht
 
Cyber security
Cyber securityCyber security
Cyber security
 
Introduction to red team operations
Introduction to red team operationsIntroduction to red team operations
Introduction to red team operations
 
Malware analysis, threat intelligence and reverse engineering
Malware analysis, threat intelligence and reverse engineeringMalware analysis, threat intelligence and reverse engineering
Malware analysis, threat intelligence and reverse engineering
 
Metasploit seminar
Metasploit seminarMetasploit seminar
Metasploit seminar
 
Android Security & Penetration Testing
Android Security & Penetration TestingAndroid Security & Penetration Testing
Android Security & Penetration Testing
 
Web Application Forensics: Taxonomy and Trends
Web Application Forensics: Taxonomy and TrendsWeb Application Forensics: Taxonomy and Trends
Web Application Forensics: Taxonomy and Trends
 
Metasploit
MetasploitMetasploit
Metasploit
 

Viewers also liked

Ctf For Beginner
Ctf For BeginnerCtf For Beginner
Ctf For BeginnerWei-Bo Chen
 
Playing 44CON CTF for fun and profit
Playing 44CON CTF for fun and profitPlaying 44CON CTF for fun and profit
Playing 44CON CTF for fun and profit44CON
 
EUhackathon 2015: Team Tschunk
EUhackathon 2015: Team TschunkEUhackathon 2015: Team Tschunk
EUhackathon 2015: Team TschunkStefan
 
Building the 44CON CTF
Building the 44CON CTFBuilding the 44CON CTF
Building the 44CON CTF44CON
 
Root the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF AdministrationRoot the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF AdministrationChristopher Grayson
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享Chong-Kuan Chen
 
Best nature photography in india
Best nature photography in indiaBest nature photography in india
Best nature photography in indiapankaj788
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A PrimerSaumil Shah
 
The art of standing out.
The art of standing out.The art of standing out.
The art of standing out.Alex Esser
 
Implantación de una sección bilingüe
Implantación de una sección bilingüeImplantación de una sección bilingüe
Implantación de una sección bilingüeCarmen Arias
 
Propuesta 2.0 museo v 03
Propuesta 2.0 museo v 03Propuesta 2.0 museo v 03
Propuesta 2.0 museo v 03Publis NCM
 
ODS2 Client Cases
ODS2  Client CasesODS2  Client Cases
ODS2 Client Casesboudealink
 
Hypnotic Fusion of Portraits By Antonio Mora
Hypnotic Fusion of Portraits By Antonio MoraHypnotic Fusion of Portraits By Antonio Mora
Hypnotic Fusion of Portraits By Antonio Moramaditabalnco
 
Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...
Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...
Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...Ivan Marcos Toledo
 
Alimentos transgénicos
Alimentos transgénicosAlimentos transgénicos
Alimentos transgénicosmakaciencia
 
Caso de estudio 6
Caso de estudio 6Caso de estudio 6
Caso de estudio 6Liz Rembao
 

Viewers also liked (20)

Ctf For Beginner
Ctf For BeginnerCtf For Beginner
Ctf For Beginner
 
Playing 44CON CTF for fun and profit
Playing 44CON CTF for fun and profitPlaying 44CON CTF for fun and profit
Playing 44CON CTF for fun and profit
 
EUhackathon 2015: Team Tschunk
EUhackathon 2015: Team TschunkEUhackathon 2015: Team Tschunk
EUhackathon 2015: Team Tschunk
 
Building the 44CON CTF
Building the 44CON CTFBuilding the 44CON CTF
Building the 44CON CTF
 
Capture The Flag
Capture The FlagCapture The Flag
Capture The Flag
 
Python
PythonPython
Python
 
Root the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF AdministrationRoot the Box - An Open Source Platform for CTF Administration
Root the Box - An Open Source Platform for CTF Administration
 
HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享HITCON CTF 2014 BambooFox 解題心得分享
HITCON CTF 2014 BambooFox 解題心得分享
 
Best nature photography in india
Best nature photography in indiaBest nature photography in india
Best nature photography in india
 
How to Setup A Pen test Lab and How to Play CTF
How to Setup A Pen test Lab and How to Play CTF How to Setup A Pen test Lab and How to Play CTF
How to Setup A Pen test Lab and How to Play CTF
 
Operating Systems - A Primer
Operating Systems - A PrimerOperating Systems - A Primer
Operating Systems - A Primer
 
LeAnne Bloedon (Aegerion) Rare Disease Day 2016 Conference
LeAnne Bloedon (Aegerion) Rare Disease Day 2016 Conference LeAnne Bloedon (Aegerion) Rare Disease Day 2016 Conference
LeAnne Bloedon (Aegerion) Rare Disease Day 2016 Conference
 
The art of standing out.
The art of standing out.The art of standing out.
The art of standing out.
 
Implantación de una sección bilingüe
Implantación de una sección bilingüeImplantación de una sección bilingüe
Implantación de una sección bilingüe
 
Propuesta 2.0 museo v 03
Propuesta 2.0 museo v 03Propuesta 2.0 museo v 03
Propuesta 2.0 museo v 03
 
ODS2 Client Cases
ODS2  Client CasesODS2  Client Cases
ODS2 Client Cases
 
Hypnotic Fusion of Portraits By Antonio Mora
Hypnotic Fusion of Portraits By Antonio MoraHypnotic Fusion of Portraits By Antonio Mora
Hypnotic Fusion of Portraits By Antonio Mora
 
Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...
Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...
Numeracion del 1 al 10 (Material para PRIMER GRADO DE PRIMARIA) Iván Marcos T...
 
Alimentos transgénicos
Alimentos transgénicosAlimentos transgénicos
Alimentos transgénicos
 
Caso de estudio 6
Caso de estudio 6Caso de estudio 6
Caso de estudio 6
 

Similar to A CTF Hackers Toolbox

Filip palian mateuszkocielski. simplest ownage human observed… routers
Filip palian mateuszkocielski. simplest ownage human observed… routersFilip palian mateuszkocielski. simplest ownage human observed… routers
Filip palian mateuszkocielski. simplest ownage human observed… routersYury Chemerkin
 
Simplest-Ownage-Human-Observed… - Routers
 Simplest-Ownage-Human-Observed… - Routers Simplest-Ownage-Human-Observed… - Routers
Simplest-Ownage-Human-Observed… - RoutersLogicaltrust pl
 
Python and Machine Learning
Python and Machine LearningPython and Machine Learning
Python and Machine Learningtrygub
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?Ben Hall
 
printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);
printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);
printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);Joel Porquet
 
Linux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudLinux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudAndrea Righi
 
Cypherock Assessment (1).pdf
Cypherock Assessment (1).pdfCypherock Assessment (1).pdf
Cypherock Assessment (1).pdfPARNIKA GUPTA
 
golang_getting_started.pptx
golang_getting_started.pptxgolang_getting_started.pptx
golang_getting_started.pptxGuy Komari
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2goMoriyoshi Koizumi
 
Kamil witecki asynchronous, yet readable, code
Kamil witecki asynchronous, yet readable, codeKamil witecki asynchronous, yet readable, code
Kamil witecki asynchronous, yet readable, codeKamil Witecki
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in RustInfluxData
 
Introduction to Compiler Development
Introduction to Compiler DevelopmentIntroduction to Compiler Development
Introduction to Compiler DevelopmentLogan Chien
 
Advanced Debugging Using Java Bytecodes
Advanced Debugging Using Java BytecodesAdvanced Debugging Using Java Bytecodes
Advanced Debugging Using Java BytecodesGanesh Samarthyam
 
Rust LDN 24 7 19 Oxidising the Command Line
Rust LDN 24 7 19 Oxidising the Command LineRust LDN 24 7 19 Oxidising the Command Line
Rust LDN 24 7 19 Oxidising the Command LineMatt Provost
 
04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)Alexandre Moneger
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak PROIDEA
 
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...Vincenzo Iozzo
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Aleksandr Yampolskiy
 

Similar to A CTF Hackers Toolbox (20)

Filip palian mateuszkocielski. simplest ownage human observed… routers
Filip palian mateuszkocielski. simplest ownage human observed… routersFilip palian mateuszkocielski. simplest ownage human observed… routers
Filip palian mateuszkocielski. simplest ownage human observed… routers
 
Simplest-Ownage-Human-Observed… - Routers
 Simplest-Ownage-Human-Observed… - Routers Simplest-Ownage-Human-Observed… - Routers
Simplest-Ownage-Human-Observed… - Routers
 
Python and Machine Learning
Python and Machine LearningPython and Machine Learning
Python and Machine Learning
 
Debug generic process
Debug generic processDebug generic process
Debug generic process
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 
printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);
printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);
printf("%s from %c to Z, in %d minutes!\n", "printf", 'A', 45);
 
Os lab final
Os lab finalOs lab final
Os lab final
 
Linux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloudLinux kernel tracing superpowers in the cloud
Linux kernel tracing superpowers in the cloud
 
Cypherock Assessment (1).pdf
Cypherock Assessment (1).pdfCypherock Assessment (1).pdf
Cypherock Assessment (1).pdf
 
golang_getting_started.pptx
golang_getting_started.pptxgolang_getting_started.pptx
golang_getting_started.pptx
 
All I know about rsc.io/c2go
All I know about rsc.io/c2goAll I know about rsc.io/c2go
All I know about rsc.io/c2go
 
Kamil witecki asynchronous, yet readable, code
Kamil witecki asynchronous, yet readable, codeKamil witecki asynchronous, yet readable, code
Kamil witecki asynchronous, yet readable, code
 
Performance Profiling in Rust
Performance Profiling in RustPerformance Profiling in Rust
Performance Profiling in Rust
 
Introduction to Compiler Development
Introduction to Compiler DevelopmentIntroduction to Compiler Development
Introduction to Compiler Development
 
Advanced Debugging Using Java Bytecodes
Advanced Debugging Using Java BytecodesAdvanced Debugging Using Java Bytecodes
Advanced Debugging Using Java Bytecodes
 
Rust LDN 24 7 19 Oxidising the Command Line
Rust LDN 24 7 19 Oxidising the Command LineRust LDN 24 7 19 Oxidising the Command Line
Rust LDN 24 7 19 Oxidising the Command Line
 
04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)04 - I love my OS, he protects me (sometimes, in specific circumstances)
04 - I love my OS, he protects me (sometimes, in specific circumstances)
 
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak   CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
CONFidence 2015: DTrace + OSX = Fun - Andrzej Dyjak
 
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...
Post Exploitation Bliss: Loading Meterpreter on a Factory iPhone, Black Hat U...
 
Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?Much ado about randomness. What is really a random number?
Much ado about randomness. What is really a random number?
 

Recently uploaded

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationBradBedford3
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noidabntitsolutionsrishis
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion ApplicationHow to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva2.pdf Ejercicios de programación competitiva
2.pdf Ejercicios de programación competitiva
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in NoidaBuds n Tech IT Solutions: Top-Notch Web Services in Noida
Buds n Tech IT Solutions: Top-Notch Web Services in Noida
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

A CTF Hackers Toolbox

  • 1. A CTF Hackers Toolbox Grazer Linuxtage 2016
  • 2. $ who mike/@f0rki f0rki@hack.more.systems CS/InfoSec Student CTF Player since 2010 @stefan2904 stefan@hack.more.systems CS/InfoSec/CI Student CTF Player since 2014
  • 3. CTF: Capture The Flag Collaborative hacking competitions Teams vs. Teams The goal is to capture ags
  • 5. CTF Type: Jeopardy Figure: Sharif CTF Challenge Board
  • 6. CTF Type: Attack-Defense Figure: RUCTFe 2015 Network Schema (source: RUCTF org)
  • 7. CTF Type: Attack-Defense Figure: FAUST CTF 2015 scoreboard
  • 8. Why CTFs? It's fun! Gain experience in Information Security Challenges modeled after real-world problems Sometimes real-world bugs modeled after CTF bugs?
  • 9. LosFuzzys: A CTF Team in Graz We Like Bugs!
  • 10. LosFuzzys: A CTF Team in Graz A group of people interested in information security Primarily CS/SW/ICE Students from TUGraz But we welcome anyone interested and motivated :) and maybe even you ;) Irregular Meet-ups
  • 11. Where to start? Talk to us! :-) https://hack.more.systems twitter: @LosFuzzys Read writeups! Repo: github.com/ctfs Ours: hack.more.systems/writeups
  • 13. CTF Toolbox Great diversity of challenges Some things turn up frequently Knowledge of technology necessary Experience helps a lot Using the right tools is essential assuming you know how to use them . . .
  • 14. Scripting is your best Friend Be comfortable in automating things Use whatever works best bash, zsh etc. Python, Ruby etc.
  • 15. Command-Line-Fu is very helpful Standard utils grep, sed, awk, sort, cut, uniq, . . . Network stu nc, socat, dig, nmap Query json jq HTTP curl . . . Pipe together to get your results!
  • 16. Bash Password Guessing f o r x in q w e r t y u i o p a s d f g h j k l z x c v b n m Q W E R T Y U I O P A S D F G H J K L Z X C V B N M 1 2 3 4 5 6 7 8 9 0 − _ ? do echo = $x = # count s i g a c t i o n s y s c a l l s s t r a c e ./ stage3 . bin Did_you_l$x$x$x$x$x$x$x$x 21 | grep s i g a c t i o n | wc −l done log # get h i g h e s t count of s i g a c t i o n s and t r i g g e r i n g char cat log | grep −B 1 $ ( cat log | grep −v = | s o r t | uniq | t a i l −n 1)
  • 17. Automated Browsing python-requests import r e q u e s t s URL = ' http :// c t f . example . com ' s = r e q u e s t s . s e s s i o n () r = s . post (URL + ' / l o g i n ' , data={ ' user ' : ' fuzzy ' , ' pass ' : ' 1234 ' }) # GET http :// c t f . example . com/ vuln ?x=' or%201=1−−x resp = s . get (URL + ' / vuln ' , params={ ' x ' : ' ' or 1=1 −−x ' }) # s e s s i o n cookie automagically used here p r i n t resp . t e x t # f l a g {some_flag_of_some_service}
  • 18. Dirty Networking pwntools from pwn import ∗ r = remote ( ' c t f . example . com ' , 1337) # l i n e based r . r e c v l i n e () r . s e n d l i n e ( 'HELO %s%s%s%s ' ) r . r e c v u n t i l ( ' 250 Hello ' ) data = r . recv (4) # unpack LE uint32 from bin i = u32 ( data ) log . i n f o ( ' r e c e i v e d uint32 {} ' . format ( i )) # pack BE uint32 to bin r . send ( p32 (1094795585 , endian=' big ' )) r . r e c v l i n e ()
  • 19. Finding Analyzing Vulnerabilities
  • 20. Analyzing Java/.NET Apps Great decompilers! Java/Dalvik bytecode intellij built-in decompiler (fernower), procyon http://www.javadecompilers.com/ Android apps/Dalvik bytecode apktool, smali/baksmali, jadx Xposed .NET bytecode ILSpy, Jetbrains dotPeek
  • 21. A wild binary appears! $ f i l e ./ pwn pwn : ELF 32− b i t LSB executable , I n t e l 80386 , v e r s i o n 1 (GNU/ Linux ) , s t a t i c a l l y linked , f o r GNU/ Linux 2 . 6 . 2 4 , not s t r i p p e d
  • 22. $ objdump -d ./pwn | less
  • 23.
  • 25.
  • 26.
  • 27.
  • 28. radare2 example commands Search for functions containing exec afl~exec Show/search all strings in the le izz izz~FLAG Compute CRC32 over next 32 byte #crc32 32
  • 29. Binary Decompilers No really good open source binary decompilers :( The radare guys are working on one Commercial/Closed-Source Hex-Rays/IDA Pro Decompiler ($$$) Hopper ($) retdec (free, webservice, no x86_64)
  • 31.
  • 32.
  • 33. Debuggers Use gdb with one of those: PEDA GEF pwndbg voltron gdb-dashboard gdb alternatives: lldb, radare2 Newer debugging approaches qira rr
  • 34. Pwning! $ mkfifo ./ f i f o $ ./ pwn ./ f i f o python −c ' p r i n t (A∗4128) ' ./ f i f o [ 1 ] 9391 The f i l e has been saved s u c c e s s f u l l y [ 1 ] + 9391 segmentation f a u l t ( core dumped) ./ pwn ./ f i f o $ dmesg | t a i l −n 1 pwn [ 9 3 9 1 ] : s e g f a u l t at 41414141 ip 0000000041414141 sp 00000000 ffb6d340 e r r o r 14
  • 35. pwntools again! from pwn import ∗ # NOQA v e l f = ELF( ./ pwn ) r = ROP( v e l f ) r . c a l l ( e x i t , [ 4 2 ] ) payload = A ∗ 4124 + s t r ( r ) # launch process vp = process ( [ ./ pwn , ./ f i f o ] ) gdb . attach ( vp ) # break ∗0 x8048f4e with open ( ./ f i f o , w ) as f : f . w r i t e ( payload ) # forward s t d i n / stdout to process s t d i n / stdout vp . i n t e r a c t i v e ()
  • 36.
  • 37.
  • 38. pwntools/binjitsu I/O abstraction (called Tubes) ELF parser/info Return Oriented Programming (ROP) Shellcode plug'n'pwn shellcode builder Binary data parsing . . .
  • 40. Crypto Tools Pen Paper sage CAS python packages implementing attacks, e.g. python-paddingoracle hashpumpy (hash length extension attack) . . .
  • 41. Learn to Improvise Premature optimization* is the root of all evil! * also commenting code * also clean code (only true for attack during CTFs!) If it works once, . . . it works! Code-reuse between dierent CTFs! Post-CTF code cleanup would be good . . .
  • 42. A fool with a tool is still a fool!
  • 43. https://hack.more.systems Thanks to all LosFuzzys members tuflowgraphy.at realraum IAIK
  • 44. Writeups of Used Examples https://hack.more.systems/writeups 9447ctf: premonition (web) NDH quals 2016: matriochka (reversing) NDH quals 2016: secure le reader (pwn) don't be eve!