Skip to content
SnifflePiffle edited this page Nov 3, 2023 · 12 revisions

Βλέπε και CTF101.

General Resources

Παρακάτω αναφέρονται κάποια sites που hostάρουν ctf challenges όλων των κατηγοριών. Πολλά έχουν tutorials είτε πηγαίνουν easy 2 hard, οπότε αξίζει φουλ να τα τσεκάρετε για να μάθετε stuff:

Και επίσης υπάρχουν τα wargames που ουσιαστικά πρόκειται για machines με πίστες που ο σκοπός είναι να τις περάσεις όλες:

Web

Αφορά τον εντοπισμό τρωτών σημείων σε servers και την εκμετάλλευση αυτών για απόκτηση πρόσβασης σε λογαριασμούς χρηστών, εύρεση τοπικών αρχείων του μηχανήματος που τρέχει τον σερβερ, εκτέλεση κώδικα, απόκτηση reverse shell κ.α.

Κύριες τεχνικές:

  • SQL Injection
  • LFI (Local File Inclusion)
  • RCE (Remote Code Execution)
  • Server Side / Cross Site Request Forgery
  • Cross Site Scripting
  • Server Side Template Injection
  • XML Injection

Basic Attacks with simple explanations: https://bit.ly/3eRyC1S

Intermediate level materials but well explained, along side with labs and solutions: https://bit.ly/3dFLjge

Latest research on the web, mostly advanced stuff: https://bit.ly/2XGf6zY

Resources:

Portswigger PentesterLab Hacker101

Crypto

Πρόκειται για challenges που αφορούν το σπάσιμο αλγορίθμων κρυπτογράφησης ή τον εντοπισμό τρωτών σημείων σε αυτούς με σκοπό τη μετατροπή ενός κρυπτογραφημένου μηνύματος σε απλό κείμενο

Σε αυτήν την κατηγορία εμπίπτουν αλγόριθμοι κρυπτογράφησης όπως

  • RSA, Diffie-Hellman
  • AES/DES
  • Elliptic Curve
  • One-Time Pad
  • Hash Functions
  • Στα πολύ απλά Caesar,Vigenere,XOR κτλ

Resources:

Cryptohack

Krypton

Rev

Στη γενική περίπτωση σου δίνεται ένα εκτελέσιμο πρόγραμμα και καλείσαι να κατανοήσεις πώς λειτουργεί, ώστε να μπορέσεις να εξαγάγεις την τιμή κάποιων μεταβλητών, το input που πρέπει να δώσεις, ακόμα και το ίδιο το flag. Γενικά ό,τι αντιστρέφεται μπορεί να μπει σε rev chall.

Για την επίλυση rev challenges απαιτείται κατανόηση εννοιών όπως:

  • x86/ARM Assembly (exe,elf)
  • .NET
  • Malware analysis
  • Virtual Machine Binaries
  • Mobile Reversing

Resources:

(Learn Assembly / Reverse Engineering):

Learn x86 Assembly

Another x86/Arm Course

Reverse Engineering 101

Reverse Engineering 102

OpenSecurityTraining2

(Challenges):

Begin.re

Crackmes.one

(Books):

Secrets Of Reverse Engineering

Windows Internals Part 1

Forensics

Αφορά την εξαγωγή πληροφορίας από αρχεία καταγραφών, στεγανογραφίας, εικόνες συστήματος, malware, γενικά είναι το κομμάτι του καλού χάκερ που ψάχνει να βρει ποιος και πώς πραγματοποίησε μια επίθεση.

Περιλαμβάνει:

  • Pcap(ng)s
  • Docker forensics
  • Memory forensics
  • Stego

Memory Forensics

Volatility (most preferred) https://github.com/volatilityfoundation/volatility https://github.com/volatilityfoundation/volatility/wiki/Command-Reference https://digital-forensics.sans.org/media/memory-forensics-cheat-sheet.pdf https://book.hacktricks.xyz/generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/volatility-cheatsheet

Volatility Volatility Part 1: https://bit.ly/cheatsheet-part-1 Volatility Part 2: https://bit.ly/cheatsheet-part-2 Volatility Part 3: https://bit.ly/cheatsheet-part-3 Volatility Part 4: https://bit.ly/cheatsheet-part-4 Volatility Part 5: https://bit.ly/cheatsheet-part-5 Volatility Part 6: https://bit.ly/cheatsheet-part-6 Volatility Part 7: https://bit.ly/cheatsheet-part-7 Volatility Part 8: https://bit.ly/cheatsheet-part-8

Volatility Training https://github.com/stuxnet999/MemLabs

Resources: ENISA: https://bit.ly/enisa-resources

https://bit.ly/trail-of-bits-fore

https://bit.ly/ctf-guide-fore

CyberDefenders

Blueteamlabs

LetsDefend

(Book) The Art Of Memory Forensics

Pwn

Όπως και στο reverse, έτσι κι εδώ καλείσαι να κατανοήσεις τη λειτουργία ενός δεδομένου εκτελέσιμου προγράμματος με την εξής διαφορά:

Υπάρχουν 2 instances του προγράμματος. Ένα τρέχει τοπικά κι ένα σε έναν απομακρυσμένο server στον οποίο αποθηκεύεται το flag. Το binary executable έχει κάποια τρωτά σημεία που επιτρέπουν στον επιτιθέμενο μέσω κατάλληλου input να διαβάσει περιοχές της στοίβας στις οποίες δε θα έπρεπε να έχει πρόσβαση, να εκτελέσει δικό του κώδικα, και γενικά να χρησιμοποιήσει το πρόγραμμα για να αποκτήσει πρόσβαση σε άλλους πόρους του συστήματος.

Έτσι, σε αντίθεση με το σκέτο reverse, εδώ το flag βρίσκεται σε μέρη του συστήματος / προγράμματος που δεν είναι ορατά στον χρήστη, καθώς βρίσκονται στον απομακρυσμένο σέρβερ (πχ φόρτωση του αρχείου flag.txt που υπάρχει μόνο στον server), ούτε προσπελάσιμα κατά την κανονική ροή του προγράμματος και καλείσαι να βρεις έναν τρόπο να αποκτήσεις πρόσβαση σε αυτά.

Περιλαμβάνει:

  • Buffer Overflow
  • Format String Vulnerabilities
  • ROP Chains
  • Heap Exploitation

Resources:

(Learn Pwn):

Live overflow binary exploitation series

OpenSecurityTraining2

Exploit Development Class

(Challenges):

pwnable.xyz

ROP Emporium

(Books):

Hacking: The Art Of Exploitation

Επίσης καλό είναι να κοιτάξετε και τα tutorials για x86 Assembly που βρίσκονται στην κατηγορία rev.

Misc

Πρόκειται για challenges που δεν εμπίπτουν σε κάποια συγκεκριμένη κατηγορία

Παραδείγματα:

  • Programming challenges
  • Audio/Video challenges

Resources:

leetcode

Hardware

Όπως γίνεται φανερό και από τον τίτλο, στη συγκεκριμένη κατηγορία τα challenges απαιτούν την ενασχόληση με το hardware (για παράδειγμα κάποια πλακέτας) διαφόρων αρχιτεκτονικών καθώς και του τρόπου με τον οποίο τα διάφορα components του (για παράδειγμα τα περιφερειακά που πιθανώς έχει κάποιος μικροελεγκτής) αλληλεπιδρούν μεταξύ τους.

Resources:

microcorruption

Live Overflow hardware ctf (rhme2)

Cloud

Αφορά vulnerabilities σε συστήματα γνωστών cloud providers, όπως aws, google cloud. Προφανώς, τα vulnerabilities αφορούν user misconfigurations και όχι zero-day exploits :P. Οι cloud servers τρέχουν συνήθως σε Windows, οπότε είναι μια ενδιαφέρουσα κατηγορία για εξοικείωση με Windows συστήματα.

Resources

EKS Cluster Games (AWS)

Blockchain

Εδώ αναζητούμε vulnerabilities σε smart contracts που τρέχουν σε γνωστά δίκτυα όπως Etherium, Solana κτλ. Η εκμετάλλευση αυτών των vulnerabilites μπορεί να οδηγήσει σε compromise της αλυσίδας block, το οποίο σε πραγματικές συνθήκες θα σήμαινε μεγάλα οικονομική ζημία.

Resources

(Learn Solidity) CryptoZombies

(Hacking) Ethernaut

Clone this wiki locally