-
Notifications
You must be signed in to change notification settings - Fork 0
Hacking Resources
Βλέπε και CTF101.
Παρακάτω αναφέρονται κάποια sites που hostάρουν ctf challenges όλων των κατηγοριών. Πολλά έχουν tutorials είτε πηγαίνουν easy 2 hard, οπότε αξίζει φουλ να τα τσεκάρετε για να μάθετε stuff:
Και επίσης υπάρχουν τα wargames που ουσιαστικά πρόκειται για machines με πίστες που ο σκοπός είναι να τις περάσεις όλες:
Αφορά τον εντοπισμό τρωτών σημείων σε 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
Πρόκειται για challenges που αφορούν το σπάσιμο αλγορίθμων κρυπτογράφησης ή τον εντοπισμό τρωτών σημείων σε αυτούς με σκοπό τη μετατροπή ενός κρυπτογραφημένου μηνύματος σε απλό κείμενο
Σε αυτήν την κατηγορία εμπίπτουν αλγόριθμοι κρυπτογράφησης όπως
- RSA, Diffie-Hellman
- AES/DES
- Elliptic Curve
- One-Time Pad
- Hash Functions
- Στα πολύ απλά Caesar,Vigenere,XOR κτλ
Resources:
Στη γενική περίπτωση σου δίνεται ένα εκτελέσιμο πρόγραμμα και καλείσαι να κατανοήσεις πώς λειτουργεί, ώστε να μπορέσεις να εξαγάγεις την τιμή κάποιων μεταβλητών, το input που πρέπει να δώσεις, ακόμα και το ίδιο το flag. Γενικά ό,τι αντιστρέφεται μπορεί να μπει σε rev chall.
Για την επίλυση rev challenges απαιτείται κατανόηση εννοιών όπως:
- x86/ARM Assembly (exe,elf)
- .NET
- Malware analysis
- Virtual Machine Binaries
- Mobile Reversing
Resources:
(Learn Assembly / Reverse Engineering):
(Challenges):
(Books):
Secrets Of Reverse Engineering
Αφορά την εξαγωγή πληροφορίας από αρχεία καταγραφών, στεγανογραφίας, εικόνες συστήματος, 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
(Book) The Art Of Memory Forensics
Όπως και στο 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
(Challenges):
(Books):
Hacking: The Art Of Exploitation
Επίσης καλό είναι να κοιτάξετε και τα tutorials για x86 Assembly που βρίσκονται στην κατηγορία rev.
Πρόκειται για challenges που δεν εμπίπτουν σε κάποια συγκεκριμένη κατηγορία
Παραδείγματα:
- Programming challenges
- Audio/Video challenges
Resources:
Όπως γίνεται φανερό και από τον τίτλο, στη συγκεκριμένη κατηγορία τα challenges απαιτούν την ενασχόληση με το hardware (για παράδειγμα κάποια πλακέτας) διαφόρων αρχιτεκτονικών καθώς και του τρόπου με τον οποίο τα διάφορα components του (για παράδειγμα τα περιφερειακά που πιθανώς έχει κάποιος μικροελεγκτής) αλληλεπιδρούν μεταξύ τους.
Resources:
Live Overflow hardware ctf (rhme2)
Αφορά vulnerabilities σε συστήματα γνωστών cloud providers, όπως aws, google cloud. Προφανώς, τα vulnerabilities αφορούν user misconfigurations και όχι zero-day exploits :P. Οι cloud servers τρέχουν συνήθως σε Windows, οπότε είναι μια ενδιαφέρουσα κατηγορία για εξοικείωση με Windows συστήματα.
Resources
Εδώ αναζητούμε vulnerabilities σε smart contracts που τρέχουν σε γνωστά δίκτυα όπως Etherium, Solana κτλ. Η εκμετάλλευση αυτών των vulnerabilites μπορεί να οδηγήσει σε compromise της αλυσίδας block, το οποίο σε πραγματικές συνθήκες θα σήμαινε μεγάλα οικονομική ζημία.
Resources
(Learn Solidity) CryptoZombies
(Hacking) Ethernaut