Ξεκινάς το ταξίδι σου στον τομέα της κυβερνοασφάλειας; Ένας οδηγός για να μη χαθείς (και να το ευχαριστηθείς)

Δημοσιεύτηκε στις:

Συντάκτης: Βασίλειος Μιχαηλίδης – Υπεύθυνος Διαχείρισης

Αν είσαι πρωτοετής, αν είσαι σε άλλο τμήμα αλλά σε «τρώει» το cybersecurity, αν είδες 2-3 βίντεο και είπες «ρε φίλε αυτό θέλω», ή απλά αν ψάχνεις κάτι που να έχει ενδιαφέρον και προοπτική… καλώς ήρθες.

Θα το πω όπως είναι:
στην αρχή η κυβερνοασφάλεια φαίνεται (και πολλές φορές είναι) χαοτική.

Κάποιος σου λέει «ξεκίνα μαθαίνοντας Linux», κάποιος άλλος σου λέει «ξεκίνα με TryHackMe», ένας άλλος πετάει άγνωστους όρους όπως priv esc, enumeration, lateral movement και εσύ είσαι σε φάση:
«ΟΚ… αλλά από πού ξεκινάω;»

Το άρθρο αυτό στοχεύει στο να δώσει μία απάντηση στο παραπάνω ερώτημα. Όχι για να προσπαθήσει να αυξήσει το “hype” και να σε ενθουσιάσει σε υπερθετικό βαθμό, αλλά για να σου δώσει μια πιο ξεκάθαρη εικόνα και μια διαδρομή που βγάζει νόημα.

1) Πριν πούμε οτιδήποτε, να ξεκινήσουμε με μία βασική αρχή: κυβερνοασφάλεια ≠ μόνο «hacking».

Ναι, το hacking είναι ίσως το πιο εντυπωσιακό κομμάτι. Είναι αυτό που έχουν όλοι στο μυαλό τους όταν ακούνε την λέξη κυβερνοασφάλεια. Σίγουρα είναι ο στόχος πολλών ατόμων που αποφασίζουν να ασχοληθούν με τον τομέα. Όλοι εξάλλου θα θέλαμε να μπορούμε να “χακάρουμε” όπως βλέπουμε να γίνεται σε ταινίες και τηλεοπτικές σειρές ή ακούμε στις ειδήσεις, ώστε να είμαστε και εμείς το ίδιο “κουλ”.
Αλλά δεν είναι όλος ο χώρος. Η μαγεία δε βρίσκεται μόνο εκεί. Ούτε τα οφέλη του να έχει κανείς γνώσεις στην κυβερνοασφάλεια περιορίζονται στο να μπορείς να εκμεταλλευτείς ευπάθειες σε ένα σύστημα για να αποκτήσεις πρόσβαση σε αυτό και να γίνεις κυρίαρχος του.

Η κυβερνοασφάλεια ουσιαστικά είναι ο κλάδος της πληροφορικής που ασχολείται με την προστασία και τον έλεγχο των υπολογιστικών συστημάτων. Μερικοί από τους επιμέρους τομείς που την απαρτίζουν είναι οι εξής:

  • Διαχείριση Αμυντικών Μηχανισμών και Παρακολούθηση Συστημάτων (Blue Team / Security Analyst)
  • Επιθέσεις για τον Εντοπισμό Κενών Ασφάλειας / Έλεγχος για Ευπάθειες (Red Team / Penetration Testing / Vulnerability Researcher)
  • Ανάλυση και Διαχείριση Περιστατικών
  • Forensics
  • Malware Analysis
  • Cloud Security
  • Reverse Engineering
  • Cyber Threat Intelligence
  • και γενικά… ό,τι έχει σχέση με το να αυξήσουμε τις αμυντικές δυνατότητες ενός συστήματος/δικτύου και να βελτιώσουμε την αντιμετώπιση εναντίον κυβερνοεπιθέσεων.

Για να διατηρούμε το ενδιαφέρον όλων και να καταδεικνύουμε τη σημασία όλων των παραπάνω, οι δραστηριότητες της λέσχης στοχεύουν κυρίως στις πρακτικές εφαρμογές (labs, challenges, CTFs), αλλά το σημαντικό είναι να καταλαβαίνουμε τι είναι αυτό που κάνουμε, γιατί το κάνουμε και τι αποτελέσματα έχει.

2) Το πιο κλασικό λάθος αρχαρίου (και γιατί είναι φυσιολογικό)

Μεγάλο ποσοστό των αρχαρίων ξεκινάει με το εξής τρόπο (πιθανόν λόγω του ενθουσιασμού τους):

Φτιάχνουν έναν λογαριασμό στο Hack The Box, διαλέγουν ένα machine… και μετά κοιτάνε την οθόνη.

Και σκέφτονται:

«μήπως δεν είμαι αρκετά ικανός για αυτό;»

«μήπως δε διαθέτω τις ικανότητες και τις γνώσεις που απαιτούνται;»

«μήπως είναι μόνο για “τέρατα”, για hackers που όλοι μέρα βρίσκονται μπροστά από οθόνες, γράφουν αμέτρητες γραμμές κώδικα, δοκιμάζουν συνέχεια καινούργια εργαλεία και πάντα βρίσκουν λύση σε όποιο challenge και αν βρεθεί μπροστά τους;»

Όχι.

Απλά το HTB είναι σαν να πας γυμναστήριο πρώτη μέρα και να προσπαθείς να σηκώσεις 100 κιλά στα βάρη.

Δεν σημαίνει πως είσαι “αδύναμος”. Δε σημαίνει πως δεν μπορείς να αποκτήσεις τις δεξιότητες και την εμπειρία για να προχωρήσεις παρακάτω.
Είσαι απλά…αρχάριος. Και είναι λογικό και αναμενόμενο. Όλοι έτσι ξεκινάνε. Κανείς δεν μπορεί να ξεκινήσει μία μέρα και να πάει απευθείας στα 100 κιλά. Το ίδιο ισχύει και στο hacking…

3) Τι πρέπει να ξέρεις πριν μπεις σε labs (χωρίς να έχεις “λιώσει” το HTB και ό,τι CTF υπάρχει εκεί έξω)

Επειδή ακούμε συνέχεια “μάθε τα βασικά”, να το κάνουμε πιο συγκεκριμένο και να βάλουμε μια σειρά:

α) Networking (τα βασικά αλλά και ουσιαστικά, εξάλλου η επικοινωνία μεταξύ των υπολογιστών είναι το Α και το Ω)

Να γνωρίζεις και να μπορείς να εξηγήσεις σε άλλους τους βασικούς όρους:

  • IP
  • Ports
  • MAC Address
  • DNS
  • HTTP/HTTPS
  • Network Packets
  • Server
  • Endpoint
  • Switch
  • Router

Π.χ. να μπορείς να εξηγήσεις τι υποδηλώνει η φράση «το port 80 είναι ανοιχτό».

Δεν χρειάζονται πολύπλοκες γνώσεις για το πως λειτουργούν όλα τα πρωτόκολλα τα οποία χρησιμοποιούνται στα δίκτυα, ούτε να διαθέτει κανείς πιστοποίηση CCNA. Το σημαντικότερο είναι να γνωρίζει κανείς τους κυριότερους όρους που μπορεί να συναντήσει καθημερινά στην πληροφορική, όχι μόνο στον τομέα της κυβερνοασφάλειας.

β) Linux (θα το αγαπήσεις ή θα το μισήσεις, όπως και να έχει θα το χρειαστείς ό,τι και αν κάνεις)

Στο χώρο του cybersecurity (και σε μεγάλο βαθμό στην πληροφορική), το διαβόητο αυτό λειτουργικό σύστημα εν ονόματι Linux βρίσκεται παντού.

Στην αρχή, αυτό που χρειάζεται είναι να εξοικειωθείς με βασικές εντολές command line, να μάθεις να τις χρησιμοποιείς και να ερμηνεύεις τα αποτελέσματα τους (π.χ. όταν προσπαθείς να ελέγξεις τα permissions σε κάποιο αρχείο ή φάκελο, γιατί το «permission denied» θα είναι καθημερινότητα). Μερικά παραδείγματα εντολών με τα οποία πρέπει να ξεκινήσεις:

  • ls, cd, cat, grep, find, id, whoami, pwd

Σε ό,τι έχει να κάνει με τη γραμμή εντολών, ο καλύτερος σου φίλος είναι η εντολή man (και φυσικά το google). Επίσης, μάθε τι είναι ο χρήστης root, και τι κάνει η εντολή sudo (hint: η χρήση της απαιτεί προσοχή).

γ) Web basics (σχεδόν απαραίτητο)

Ακόμα κι αν δεν είσαι τύπος που έχει ασχοληθεί με τα “web basics”, τα περισσότερα beginner challenges εστιάζουν στο web.

Ξεκίνα από:

  • cookies / sessions
  • HTTP Header
  • HTTP Requests/Responses (+ HTTP status codes)
  • πώς δουλεύει μια φόρμα

Αν κάτι από αυτά σου φαίνεται “too much”, χαλάρωσε.
Δεν θα τα μάθεις σε μία μέρα.
Η γνώση χτίζεται σταδιακά. Γι’ αυτό υπάρχουν οι πλατφόρμες, τα βιβλία, το έξτρα υλικό, το YouTube.

4) TryHackMe: το καλύτερο σημείο να ξεκινήσεις (γιατί δεν σε αφήνει να χαθείς)

Αν είσαι αρχάριος, το πιο τίμιο που μπορείς να κάνεις είναι:

Να ξεκινήσεις TryHackMe.

Το TryHackMe είναι σαν «φροντιστήριο με labs».
Σου λέει:

  • τι κάνεις
  • γιατί το κάνεις
  • τι σημαίνει το αποτέλεσμα
  • τι να κρατήσεις
  • Και αυτό είναι που χρειάζεται στην αρχή.

Ενδεικτικά paths που αξίζουν:

  • Pre Security
  • Introduction to Cyber Security
  • Complete Beginner
  • Web Fundamentals
  • Jr Penetration Tester

Και ναι: μην το κάνεις βιαστικά.
Καλύτερα λίγο κάθε μέρα, παρά “10 ώρες μια φορά”. Η σταθερή ενασχόληση φέρνει καλύτερα αποτελέσματα.

5) Hack The Box: το δυνατό upgrade (αλλά θέλει εμπειρία, γνώση και πολλή, πολλή υπομονή…)

Το Hack The Box είναι καταπληκτικό, αλλά είναι πιο “απότομο”, και σαφώς δυσκολότερο.

Εκεί τα πράγματα δεν είναι τόσο απλά. Σε αφήνει να βρεις μόνος σου την άκρη.
Και αυτό, ενώ σε ανεβάζει επίπεδο, μπορεί να σε απογοητεύσει αν ξεκινήσεις πολύ νωρίς.

Η σωστή πορεία ενασχόλησης με το HTB

Ξεκινάμε με HTB Academy
(είναι modules/μαθήματα με πιο επαγγελματική λογική, θυμίζουν αρκετά τη λογική του TryHackMe).

Μετά σιγά σιγά προχωράμε σε machines/challenges, ξεκινώντας πάντα με τα πιο εύκολα.

Έτσι το HTB γίνεται εργαλείο εξέλιξης, όχι απογοήτευσης. Προφανώς, η αρχή θα είναι δύσκολη. Θα υπάρξουν πολλές στιγμές όπου δεν θα βρίσκεις λύση. Είναι λογικό, εξάλλου η διαδικασία αυτή είναι που οδηγεί στην τελική γνώση.

6) CTFs: το πιο ωραίο κομμάτι (και το πιο… εθιστικό)

Τα CTFs (Capture The Flag) είναι challenges.
Σου λέει “πάρε αυτό το πρόβλημα — λύστο”. Απέκτησε πρόσβαση σε αυτό το μηχάνημα ή βρες το κρυμμένο flag μέσα σε αυτό το αρχείο.

Και εκεί συμβαίνει το μαγικό:

  • μαθαίνεις να σκέφτεσαι
  • μαθαίνεις να ψάχνεις
  • μαθαίνεις να μη φοβάσαι το “δεν ξέρω”
  • δουλεύεις ομαδικά

Κατηγορίες που θα συναντήσεις:

  • Web
  • Forensics
  • OSINT
  • Crypto
  • Reverse Engineering
  • Pwn (πιο advanced)

Σημαντικό:
Στην αρχή κανείς δεν λύνει CTFs μόνος του χωρίς βοήθεια.
Και ούτε χρειάζεται.

Η λέσχη προσφέρει αυτό που χρειάζεσαι σε αυτές τις περιπτώσεις: μία ομάδα, τόσο για καθοδήγηση, όσο και για παρέα.

7) Το path της λέσχης: 12 εβδομάδες

Εβδομάδες 1–2: Βασικές γνώσεις

  • TryHackMe beginner rooms
  • Networking/Linux fundamentals

Εβδομάδες 3–4: Web & βασικά εργαλεία

  • Web fundamentals
  • Nmap
  • Burp Suite basics
  • Wireshark

Εβδομάδες 5–8: HTB Academy (παράλληλα με πιο advanced TryHackMe labs)

  • Ισόποση ενασχόληση και με τα δύο

Εβδομάδες 9-10: Συνδυασμός γνώσεων

  • mini-labs
  • writeups / παρουσίαση λύσεων στην ομάδα

Εβδομάδες 11-12: Beginner HTB CTFs

  • ομαδικά beginner HTB CTFs

Σε περίπτωση που κολλάμε, μπορούμε να λαμβάνουμε hints με μέτρο (όχι τυφλό copy-paste των λύσεων)

Στόχος: να κατανοούμε τις λύσεις, όχι να “μαζέψουμε πόντους” και να ανέβουμε κατάταξη.

8) Το πιο σημαντικό για να μην τα παρατήσεις

Θα κολλήσεις. Δε θα βρίσκεις τη λύση. Θα ψάχνεις για πολλές ώρες και θα είσαι πιο μπερδεμένος από όταν ξεκίνησες την αναζήτηση.
Θα έχεις μέρες που θα λες “δεν το έχω”.

Αυτό δεν είναι αποτυχία. Είναι η διαδικασία. Είναι ο μόνος τρόπος να μάθεις.

Η κυβερνοασφάλεια δεν είναι “θα το βρω με την πρώτη” ή “το έλυσα, γνωρίζω όσα χρειάζονται”.

Είναι:

θα το δουλέψω, θα κολλήσω, θα το λύσω, θα ανέβω επίπεδο. Και μετά θα το ξαναδοκιμάσω για να δω αν μπορώ να το κάνω καλύτερα και πιο εύκολα. Τα “μυστικά” είναι τα εξής: διάβασμα, πολλή εξάσκηση και επανάληψη. Δεν είναι εύκολο. Αλλά η επιτυχία στο τέλος, είναι η καλύτερη επιβράβευση για τη σκληρή δουλεία.

Και αν το κάνεις μέσα από τη λέσχη/ομάδα, είναι 10 φορές πιο εύκολο (και πιο διασκεδαστικό).