Skip to content
SnifflePiffle edited this page May 9, 2024 · 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

(Some TryHackMe Rooms):

Windows x64 Assembly

Windows Reversing Intro

(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

Στην κατηγορία αυτή (γνωστή και Binary Exploitation) στόχος είναι να μπορέσεις να εκμεταλλευτείς αδυναμίες και τρωτά σημεία στον κώδικα ενός εκτελέσιμου (binary) με σκοπό τις περισσότερες φορές να μπορέσεις να κάνεις spawn ένα shell σε κάποιο remote target. Οι αδυναμίες εδώ σχετίζονται κατά βάση με low level concepts όπως η μνήμη και το πώς αυτή δομείται, vulnerable system calls και αρκετά άλλα. Απαραίτητη προϋπόθεση βέβαια πριν κάνεις exploit κάποιο binary είναι, όπως και στο reverse, να κατανοήσεις τη λειτουργία του εκτελέσιμου προγράμματος. Επίσης αν σε ενδιαφέρει η συγκεκριμένη κατηγορία καλύτερα φρόντισε πρώτα να αποκτήσεις μια σχετική εξοικείωση με κάποιον debugger, καθώς σίγουρα θα τον χρειαστείς.

Περιλαμβάνει ενδεικτικά:

  • Buffer Overflows (Stack Smashing)
  • 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

Machine Learning / AI

Το ML hacking αφορά την εκμετάλλευση ML models ώστε είτε να leakάρουν ευαίσθητες πληροφορίες για το μοντέλο(πχ prompt injection σε AI) είτε η επιλογή τέτοιων inputs ώστε το outcome του μοντέλου θα είναι το επιθυμητό για των attacker. Εδώ θα εντάσσαμε και το prompt injection σε LLMs όπως το chatGPT (ουσιαστικά δίνεις ένα κειμενάκι φτιαγμένο ώστε το LLM να leakάρει κάποια σημαντική πληροφορία).

Resources

(Learn ML) Kaggle

(Adversarial Machine Learning) HackThisAI

(Prompt Injection) Gandalf