Στο πρώτο μέρος της σειράς μας για το Burp Suite, το στήνουμε από την αρχή σε ένα απομονωμένο εργαστήριο, εγκαθιστούμε την επίσημη Community Edition, επαληθεύουμε την ακεραιότητα του installer, σηκώνουμε τον proxy listener, ρυθμίζουμε τον Firefox, εισάγουμε το CA πιστοποιητικό και υποκλέπτουμε — νόμιμα και σε στόχους που ελέγχουμε πλήρως — την πρώτη μας κίνηση HTTP και HTTPS. Χωρίς θεωρίες από README: πραγματικές εντολές, πραγματική έξοδος, πραγματική απόδειξη TLS interception.


Εισαγωγή: γιατί ένας intercepting proxy είναι το πρώτο εργαλείο κάθε web-app tester

Κάθε σοβαρός έλεγχος ασφάλειας web εφαρμογών ξεκινά από την ίδια απλή ανάγκη: να δούμε και να ελέγξουμε *ακριβώς* τι στέλνει ο browser στον server και τι επιστρέφει ο server πίσω. Ο σύγχρονος ιστός έχει κρύψει αυτή την κίνηση πίσω από επίπεδα JavaScript, single-page frameworks, HTTPS και frameworks που «μαγικά» δομούν τα αιτήματα. Για τον χρήστη αυτό είναι ευκολία. Για τον επαγγελματία της κυβερνοασφάλειας είναι ένα τυφλό σημείο: αν δεν βλέπεις το ωμό HTTP request, δεν μπορείς ούτε να το κατανοήσεις, ούτε να το τροποποιήσεις, ούτε να αποδείξεις ότι μια εφαρμογή εμπιστεύεται δεδομένα που δεν θα έπρεπε.

Εδώ μπαίνει η κατηγορία των intercepting proxies — και το Burp Suite είναι, εδώ και χρόνια, το de facto πρότυπο. Ένας intercepting proxy κάθεται ανάμεσα στον browser και την εφαρμογή, «σπάει» τη σύνδεση, και σας δίνει τον απόλυτο έλεγχο: να σταματήσετε ένα αίτημα στον αέρα, να το διαβάσετε, να αλλάξετε οποιαδήποτε παράμετρο, header ή cookie, και μετά να το προωθήσετε. Είναι η διαφορά ανάμεσα στο «βλέπω μια φόρμα login» και στο «ελέγχω τι πραγματικά ταξιδεύει όταν πατηθεί το κουμπί, και τι θα συμβεί αν το πειράξω».

Για οργανισμούς που υπάγονται σε NIS2 και DORA, αυτή η ικανότητα δεν είναι πολυτέλεια. Η συμμόρφωση σε NIS2 και DORA απαιτεί *αποδεδειγμένη* ανθεκτικότητα των εφαρμογών, όχι δηλώσεις. Και η απόδειξη ξεκινά από την ικανότητα να δεις και να χειριστείς την κίνηση της εφαρμογής σου όπως ακριβώς θα το έκανε ένας επιτιθέμενος. Αυτό ακριβώς κάνει το Burp Suite.

Στην Audax Cybersecurity δεν παρουσιάζουμε εργαλεία διαβάζοντας την τεκμηρίωσή τους. Τα στήνουμε, τα τρέχουμε ενάντια σε νόμιμους στόχους που ελέγχουμε, και καταγράφουμε πραγματικά στοιχεία. Αυτό κάναμε και εδώ: εγκαταστήσαμε την Burp Suite Community Edition, επαληθεύσαμε την έκδοση, σηκώσαμε τον proxy, και αποδείξαμε — με πραγματική έξοδο εντολών — interception τόσο σε HTTP όσο και σε HTTPS.

Τι είναι το Burp Suite και πού εντάσσεται στον έλεγχο web εφαρμογών

Το Burp Suite είναι μια ολοκληρωμένη πλατφόρμα για τον έλεγχο ασφάλειας web εφαρμογών, από την εταιρεία PortSwigger. Στον πυρήνα του βρίσκεται ο Proxy, αλλά γύρω του υπάρχει ένα οικοσύστημα εργαλείων που καλύπτουν όλο τον κύκλο ενός web-app penetration test: το Target (χάρτης του site), ο Repeater (χειροκίνητη επανάληψη και τροποποίηση αιτημάτων), ο Intruder (αυτοματοποιημένες, παραμετρικές επιθέσεις), ο Decoder, ο Comparer, ο Sequencer (ανάλυση τυχαιότητας session tokens), ο Logger, και — στην επί πληρωμή έκδοση — ο Scanner για αυτόματη ανίχνευση ευπαθειών.

Η φιλοσοφία είναι ότι όλα αυτά τα εργαλεία μοιράζονται την ίδια ροή δεδομένων. Ένα αίτημα που πιάνει ο Proxy μπορεί με ένα δεξί κλικ να σταλεί στον Repeater για πειραματισμό, ή στον Intruder για μαζική δοκιμή. Αυτή η ενοποίηση είναι που έκανε το Burp Suite το εργαλείο-αναφορά: δεν είναι απλώς ένας proxy, είναι ένας πάγκος εργασίας.

Στη Μεθοδολογία OWASP για τον έλεγχο web εφαρμογών, το Burp εμφανίζεται σχεδόν σε κάθε φάση — από τη χαρτογράφηση (mapping) και την ανάλυση της λογικής (business logic), μέχρι τον έλεγχο authentication, session management, input validation και access control. Στο Μέρος 1 εστιάζουμε αποκλειστικά στο θεμέλιο: να στήσουμε τον proxy και να πιάσουμε την πρώτη μας κίνηση. Τα «βαριά» εργαλεία (Repeater, Intruder, Scanner) τα αφήνουμε για τα επόμενα μέρη.

Community έναντι Professional

Η Burp κυκλοφορεί σε δύο βασικές εκδόσεις desktop, και η διάκριση έχει σημασία:

  • Community Edition (δωρεάν): περιλαμβάνει πλήρη Proxy, Repeater, Decoder, Comparer, Sequencer, το ενσωματωμένο περιηγητή (Burp’s browser) και τη χαρτογράφηση Target. Είναι απολύτως επαρκής για να μάθει κανείς το εργαλείο και για χειροκίνητο έλεγχο. Περιορισμοί: δεν έχει τον αυτόματο Scanner, ο Intruder είναι time-throttled (χειροκίνητα αργός), και δεν αποθηκεύει projects στον δίσκο — μόνο temporary (στη μνήμη).
  • Professional (επί πληρωμή, ετήσια συνδρομή): ξεκλειδώνει τον Scanner (DAST), τον πλήρους ταχύτητας Intruder, τα projects στον δίσκο, το Burp Collaborator για out-of-band ανίχνευση, extensions χωρίς περιορισμούς, και πολλά άλλα. Είναι το εργαλείο που χρησιμοποιεί μια επαγγελματική ομάδα σε πραγματικά έργα.

Για αυτόν τον οδηγό χρησιμοποιούμε τη Community Edition: είναι ό,τι χρειάζεται κανείς για να στήσει το εργαστήριο και να κατανοήσει την ουσία του interception. Όλα όσα δείχνουμε στο Μέρος 1 ισχύουν αυτούσια και για την Professional.

Γιατί έχει αξία για επαγγελματίες κυβερνοασφάλειας

Ο intercepting proxy δεν είναι εργαλείο μόνο του offensive security. Έχει πολλαπλή αξία:

Για τον pentester και την Red Team: είναι το πρωταρχικό εργαλείο για κάθε web/API assessment. Χωρίς αυτόν, ο έλεγχος authentication bypass, IDOR, injection, mass assignment ή business-logic flaws γίνεται πρακτικά αδύνατος.

Για τους developers και το DevSecOps: το Burp είναι ένας εξαιρετικός τρόπος να δει κανείς τι *πραγματικά* στέλνει η εφαρμογή του — headers ασφαλείας που λείπουν, tokens που διαρρέουν σε URL, cookies χωρίς Secure/HttpOnly, API endpoints που επιστρέφουν περισσότερα δεδομένα από όσα εμφανίζει το UI.

Για την Blue Team και το SOC: η κατανόηση του πώς μοιάζει η κίνηση ενός επιτιθέμενου που περνά μέσα από proxy βοηθά στη συγγραφή καλύτερων detection rules και στην ανάλυση περιστατικών.

Για την εκπαίδευση: είναι το κατεξοχήν εργαλείο για να μάθει κανείς πώς λειτουργεί πραγματικά το HTTP, το TLS και η λογική των web εφαρμογών.

Και για τον οργανισμό συνολικά: η ικανότητα να ελέγχεις τις εφαρμογές σου με τα ίδια εργαλεία που θα χρησιμοποιούσε ένας επιτιθέμενος είναι η βάση της επικύρωσης αντιπάλου (adversary validation) — του να αποδεικνύεις, όχι απλώς να υποθέτεις, ότι οι άμυνές σου αντέχουν.

Νομικό και ηθικό πλαίσιο: μόνο σε ό,τι ελέγχετε

Πριν από οποιαδήποτε εντολή, ο θεμελιώδης κανόνας: ένας intercepting proxy υποκλέπτει και τροποποιεί κίνηση, και αυτό επιτρέπεται μόνο σε συστήματα που σας ανήκουν ή για τα οποία έχετε ρητή, γραπτή εξουσιοδότηση. Η υποκλοπή κίνησης τρίτων ιστοσελίδων — ακόμη και για «δοκιμή» — είναι παράνομη και αντιδεοντολογική. Σε όλο αυτόν τον οδηγό στοχεύουμε αποκλειστικά σε στόχους που στήσαμε μόνοι μας, σε απομονωμένο τοπικό δίκτυο, χωρίς καμία σύνδεση με πραγματικά συστήματα ή δεδομένα τρίτων. Ο ίδιος κανόνας ισχύει και για εσάς: κάντε αυτά τα βήματα μόνο σε δικό σας εργαστήριο.

Σημείωση διαφάνειας για τα visuals. Οι εικόνες τερματικού σε αυτό το άρθρο (installer verification, εκδόσεις, interception) είναι πραγματική έξοδος των εντολών που εκτελέσαμε. Οι εικόνες που δείχνουν το γραφικό περιβάλλον του Burp (οθόνη project, Proxy settings, Intercept, HTTP history) και τον Firefox είναι σχηματικές αναπαραστάσεις (illustrative) για λόγους καθαρότητας — φέρουν σχετική σήμανση — και δεν παρουσιάζονται ως πραγματικά screenshots. Η ουσία (η υποκλοπή HTTP και το TLS MITM) αποδεικνύεται με πραγματική έξοδο εντολών.

Εγκατάσταση στο Kali / Debian: αναλυτικός οδηγός βήμα-βήμα

Η εγκατάσταση της Burp Suite είναι από τις πιο ομαλές στον χώρο. Παρακάτω δίνουμε τις πραγματικές εντολές που εκτελέσαμε, με την πραγματική τους έξοδο.

Προαπαιτούμενα

  • Λειτουργικό: Kali Linux ή οποιαδήποτε σύγχρονη διανομή Debian/Ubuntu. (Η δοκιμή μας έγινε σε Ubuntu 24.04.4 LTS με kernel 6.17 — οι εντολές είναι πανομοιότυπες σε Kali.)
  • Java runtime: Το Burp δεν το χρειάζεται ξεχωριστά — ο επίσημος installer φέρνει δικό του ενσωματωμένο JRE. Παρ’ όλα αυτά, καλό είναι να ξέρετε τι υπάρχει στο σύστημα.
  • Χώρος δίσκου: ~500 MB (ο installer είναι ~375 MB).
  • Δίκτυο: πρόσβαση στο διαδίκτυο για τη λήψη από το portswigger.net.
  • Ένας απομονωμένος στόχος που ελέγχετε (θα τον στήσουμε με Docker παρακάτω).

Επαλήθευση περιβάλλοντος. Ελέγξτε τη διανομή και την Java του συστήματος:

cat /etc/os-release | head -1
java -version

Στο εργαστήριό μας:

PRETTY_NAME="Ubuntu 24.04.4 LTS"
openjdk version "21.0.11" 2026-04-21
OpenJDK Runtime Environment (build 21.0.11+10-1-24.04.2-Ubuntu)

Βήμα 1 — Εγκατάσταση στο Kali μέσω apt (ο συνήθης τρόπος)

Στο Kali Linux η Community Edition είναι προεγκατεστημένη ή διαθέσιμη άμεσα από τα αποθετήρια:

sudo apt update
sudo apt install -y burpsuite

Επαλήθευση: εκκινήστε από το menu (Applications → Web Application Analysis → Burp Suite) ή από terminal με burpsuite.

Σημείωση: σε καθαρό Debian/Ubuntu (όχι Kali) το πακέτο burpsuite δεν υπάρχει στα επίσημα αποθετήρια. Εκεί χρησιμοποιούμε τον επίσημο installer της PortSwigger — που είναι και ο πιο σίγουρος τρόπος να έχετε την τελευταία έκδοση παντού. Αυτό κάναμε στη δοκιμή μας.

Βήμα 2 — Λήψη του επίσημου installer και επαλήθευση ακεραιότητας

Κατεβάζουμε τον επίσημο Linux installer (η πιο πρόσφατη σταθερή έκδοση κατά τη δοκιμή ήταν η 2026.4.3) και — κρίσιμο βήμα που πολλοί παραλείπουν — επαληθεύουμε το SHA-256 ενάντια στην τιμή που δημοσιεύει η PortSwigger:

curl -L -o burpsuite_linux_v2026_4_3.sh \
  "https://portswigger.net/burp/releases/download?product=desktop&version=2026.4.3&type=Linux"
sha256sum burpsuite_linux_v2026_4_3.sh

Πραγματική έξοδος:

1ce4fa3849b93fd46e115c4197e66e5b7bbd859ce7c031b567dcf525b9e2e204  burpsuite_linux_v2026_4_3.sh

Επαλήθευση: η τιμή ταιριάζει ακριβώς με το δημοσιευμένο SHA-256 της PortSwigger (1ce4…1573) και το MD5 (c4f2…8295). Αυτό εγγυάται ότι το αρχείο δεν αλλοιώθηκε κατά τη μεταφορά — μια πρακτική supply-chain υγιεινής που θα έπρεπε να είναι αυτονόητη σε κάθε επαγγελματία.

Πραγματική έξοδος τερματικού: επαλήθευση SHA-256 του installer, σιωπηλή εγκατάσταση και έκδοση Burp/JRE

Βήμα 3 — Εγκατάσταση

Ο installer της PortSwigger είναι ένας install4j installer με ενσωματωμένο JRE. Σε γραφικό περιβάλλον απλά τον τρέχετε και ακολουθείτε τον οδηγό:

chmod +x burpsuite_linux_v2026_4_3.sh
./burpsuite_linux_v2026_4_3.sh

Για αυτοματοποιημένες/headless εγκαταστάσεις (όπως στο lab μας) υποστηρίζεται σιωπηλή εγκατάσταση σε καθορισμένο φάκελο:

./burpsuite_linux_v2026_4_3.sh -q -dir ~/burp-lab/BurpSuiteCommunity -overwrite

Πραγματική έξοδος:

Unpacking JRE ...
Starting Installer ...
The installation directory has been set to /home/theofanis/burp-lab/BurpSuiteCommunity.
Extracting files ...
Finishing installation ...

Βήμα 4 — Επαλήθευση έκδοσης και runtime

Ο installer τοποθετεί το burpsuite.jar, ένα launcher script BurpSuite, και ένα ενσωματωμένο JRE. Επαληθεύουμε την έκδοση απευθείας:

cd ~/burp-lab/BurpSuiteCommunity
./jre/bin/java -jar burpsuite.jar --version
./jre/bin/java -version

Πραγματική έξοδος:

2026.4.3-47818 Burp Suite
openjdk version "25.0.2" 2026-01-20
OpenJDK Runtime Environment (build 25.0.2+10-69)

Επαλήθευση: έχουμε Burp Suite 2026.4.3 (build 47818) με ενσωματωμένο OpenJDK 25.0.2. Σημειώστε ότι το Burp φέρνει το δικό του, νεότερο JRE (25) ανεξάρτητα από την Java 21 του συστήματος — γι’ αυτό δεν χρειάζεται να εγκαταστήσετε τίποτα επιπλέον.

Με αυτό, η εγκατάσταση έχει ολοκληρωθεί και επαληθευτεί. Είμαστε έτοιμοι να στήσουμε το εργαστήριο και να πιάσουμε την πρώτη μας κίνηση.

Χρειάζεστε στοχευμένο έλεγχο τώρα;
Το να τρέξετε ένα εργαλείο μόνοι σας είναι το εύκολο κομμάτι. Η ομάδα της Audax εκτελεί penetration testing και offensive assessment που αποδεικνύουν στην πράξη τι πραγματικά σας εκθέτει — με τεκμηριωμένα ευρήματα και προτεραιοποίηση.

Το εργαστηριακό περιβάλλον δοκιμών

Για να δείξουμε πραγματικό interception χρειαζόμαστε πραγματικούς στόχους — αλλά απόλυτα απομονωμένους. Στήσαμε δύο καλοήθεις στόχους σε αποκλειστικό δίκτυο Docker, δεμένους μόνο στο loopback (127.0.0.1), ώστε τίποτα να μην είναι προσβάσιμο από το δίκτυο:

  • Host: Ubuntu 24.04.4, Docker 29.1.3.
  • Απομονωμένο bridge δίκτυο: burp_lab_net (subnet 172.23.0.0/16).
  • Στόχος HTTP: DVWA (Damn Vulnerable Web Application) v1.10, στο 127.0.0.1:8085.
  • Στόχος HTTPS: ένας nginx με self-signed πιστοποιητικό για το vuln.lab.local, στο 127.0.0.1:8443.
  • Burp proxy listener: 127.0.0.1:8080.

Οι εντολές που στήνουν το εργαστήριο:

# απομονωμένο δίκτυο
docker network create --driver bridge burp_lab_net
# HTTP στόχος: DVWA, δεμένος μόνο στο loopback
docker run -d --name burp_dvwa --network burp_lab_net \
  -p 127.0.0.1:8085:80 vulnerables/web-dvwa:latest
# HTTPS στόχος: nginx με self-signed cert (vuln.lab.local)
openssl req -x509 -newkey rsa:2048 -nodes -days 365 \
  -keyout lab.key -out lab.crt -subj "/CN=vuln.lab.local"
docker run -d --name burp_https --network burp_lab_net \
  -p 127.0.0.1:8443:443 nginx:alpine   # + mount cert/key/conf

Επαλήθευση: και οι δύο στόχοι απαντούν τοπικά — ο DVWA με 302 → login.php, ο HTTPS στόχος με 200 OK:

curl -s -o /dev/null -w "HTTP %{http_code}\n" http://127.0.0.1:8085/     # -> HTTP 302
curl -sk -o /dev/null -w "HTTP %{http_code}\n" https://127.0.0.1:8443/    # -> HTTP 200

Εκκίνηση του Burp και δημιουργία temporary project

Εκκινούμε το Burp (burpsuite στο Kali, ή το launcher script). Στην πρώτη οθόνη επιλέγουμε Temporary project — η μόνη επιλογή που δίνει δωρεάν η Community Edition, και ιδανική για γρήγορο έλεγχο: τα δεδομένα ζουν μόνο στη μνήμη και χάνονται στο κλείσιμο. Στη συνέχεια επιλέγουμε Use Burp defaults και πατάμε Start Burp.

Σχηματική αναπαράσταση της οθόνης εκκίνησης του Burp: επιλογή Temporary project

Επαλήθευση: μόλις φορτώσει το γραφικό περιβάλλον, το Burp ξεκινά αυτόματα τον προεπιλεγμένο Proxy listener. Το επιβεβαιώσαμε και σε επίπεδο δικτύου — με το Burp σε λειτουργία, η θύρα 8080 ακούει στο loopback:

ss -ltnp | grep 8080
# LISTEN 0 50 [::ffff:127.0.0.1]:8080 ... users:(("java",pid=...))

Ο Proxy listener

Ο Proxy listener είναι η καρδιά του interception. Πηγαίνουμε στην καρτέλα Proxy → Proxy settings (παλαιότερα «Options») και επιβεβαιώνουμε ότι υπάρχει ένας listener σε 127.0.0.1:8080, σε κατάσταση *Running*. Το ότι είναι δεμένος στο loopback είναι σημαντικό: σημαίνει ότι μόνο ο τοπικός browser μπορεί να τον χρησιμοποιήσει — δεν εκθέτουμε proxy στο δίκτυο.

Σχηματική αναπαράσταση των Proxy settings: listener στο 127.0.0.1:8080, διακόπτης Intercept, εξαγωγή CA

Στην ίδια περιοχή βρίσκεται και ο διακόπτης Intercept is on/off. Δύο βασικές έννοιες:

  • Intercept OFF: η κίνηση περνά κανονικά και ταυτόχρονα καταγράφεται στο *HTTP history*. Είναι η κατάσταση για παρατήρηση.
  • Intercept ON: κάθε αίτημα σταματά και περιμένει εσάς — να το διαβάσετε, να το τροποποιήσετε, και να πατήσετε ForwardDrop).

Ρύθμιση του Firefox να περνά μέσα από το Burp

Για να «δει» ο Burp την κίνηση, ο browser πρέπει να στέλνει τα αιτήματά του στον proxy. Έχουμε τρεις δρόμους:

1) Χειροκίνητα (Firefox → Settings → Network Settings → Manual proxy):

  • HTTP Proxy: 127.0.0.1, Port: 8080
  • Επιλογή «Also use this proxy for HTTPS»

Σχηματική αναπαράσταση των Network Settings του Firefox με manual proxy 127.0.0.1:8080

2) Με FoxyProxy (συνιστάται): το πρόσθετο FoxyProxy επιτρέπει να εναλλάσσεστε με ένα κλικ ανάμεσα σε «καθόλου proxy» και «Burp». Δημιουργείτε ένα profile με host 127.0.0.1 και port 8080 και το ενεργοποιείτε μόνο όταν το χρειάζεστε.

3) Στο Kali, το προεγκατεστημένο περιβάλλον: το Kali έρχεται με Firefox ESR προρυθμισμένο και το FoxyProxy εγκατεστημένο, με έτοιμο profile για το Burp. Ένα κλικ και είστε έτοιμοι — δεν χρειάζεται καμία χειροκίνητη ρύθμιση.

Εναλλακτικά — ο ενσωματωμένος browser του Burp: η Community Edition περιλαμβάνει έναν προρυθμισμένο Chromium (Proxy → Intercept → Open Browser). Περνά ήδη μέσα από το Burp και έχει ήδη έμπιστο το CA — μηδενική παραμετροποίηση. Είναι ο ταχύτερος τρόπος να ξεκινήσετε.

Εισαγωγή του CA certificate για interception HTTPS

Εδώ βρίσκεται το σημείο που μπερδεύει τους περισσότερους αρχάριους. Όταν ο Burp υποκλέπτει HTTPS, στην ουσία κάνει έναν ελεγχόμενο man-in-the-middle: τερματίζει το TLS από τον browser, και ανοίγει δική του TLS σύνδεση προς τον server. Για να το κάνει αυτό, παρουσιάζει στον browser ένα πιστοποιητικό που παράγει το ίδιο το Burp, υπογεγραμμένο από τη δική του Certificate Authority (CA). Αν ο browser δεν εμπιστεύεται αυτό το CA, θα εμφανίζει σφάλματα σε κάθε HTTPS σελίδα.

Η λύση: εισάγουμε το CA πιστοποιητικό του Burp ως έμπιστο στον browser. Με ενεργό τον proxy, επισκεπτόμαστε το http://burp και κατεβάζουμε το CA Certificate (αρχείο cacert.der). Στο εργαστήριό μας το τραβήξαμε προγραμματιστικά μέσω του proxy και το αποκωδικοποιήσαμε — και ιδού η πραγματική ταυτότητά του:

curl -x http://127.0.0.1:8080 http://burp/cert -o burp-ca.der
openssl x509 -inform DER -in burp-ca.der -noout -subject -issuer -dates

Πραγματική έξοδος:

subject= O = PortSwigger, OU = PortSwigger CA, CN = PortSwigger CA
issuer=  O = PortSwigger, OU = PortSwigger CA, CN = PortSwigger CA
notBefore= Jul  6 09:39:57 2014 GMT
notAfter=  Jul  6 09:39:57 2036 GMT
X509v3 Basic Constraints: critical  CA:TRUE

Επαλήθευση: πρόκειται για ένα μοναδικό, ανά εγκατάσταση CA (κάθε εγκατάσταση Burp παράγει το δικό της), self-signed, με CA:TRUE και ισχύ έως το 2036. Αυτό είναι το πιστοποιητικό που πρέπει να γίνει έμπιστο.

Στον Firefox: Settings → Privacy & Security → Certificates → View Certificates → Authorities → Import, επιλέγουμε το cacert.der, και τσεκάρουμε «Trust this CA to identify websites».

Σχηματική αναπαράσταση της εισαγωγής του PortSwigger CA στον Firefox ως έμπιστης Αρχής

Κρίσιμη προειδοποίηση ασφάλειας. Το CA του Burp δίνει σε όποιον έχει το ιδιωτικό κλειδί του τη δυνατότητα να πλαστογραφεί οποιοδήποτε HTTPS πιστοποιητικό για τον browser σας. Ποτέ μην εισάγετε ένα CA του Burp σε έναν browser που χρησιμοποιείτε για πραγματική περιήγηση, και ποτέ μη μοιράζεστε το cacert.der μαζί με το ιδιωτικό κλειδί. Χρησιμοποιήστε ξεχωριστό προφίλ browser ή τον ενσωματωμένο browser του Burp αποκλειστικά για testing.

Το πρώτο σας intercept: HTTP

Με τον proxy έτοιμο και το CA έμπιστο, ανοίγουμε Proxy → Intercept, πατάμε Intercept is on, και στον browser πηγαίνουμε στον HTTP στόχο μας (http://127.0.0.1:8085) και υποβάλλουμε τη φόρμα login του DVWA. Το αίτημα σταματά μέσα στο Burp: βλέπουμε το ωμό HTTP request με τη μέθοδο, τα headers, τα cookies και το σώμα με τα credentials. Από εδώ μπορούμε να το τροποποιήσουμε ή να πατήσουμε Forward.

Σχηματική αναπαράσταση της καρτέλας Proxy → Intercept με ένα σταματημένο POST /login.php

Για να αποδείξουμε ότι η κίνηση όντως περνά μέσα από τον Burp, δρομολογήσαμε ένα αίτημα μέσω του proxy και καταγράψαμε την πραγματική απόκριση του DVWA:

curl -x http://127.0.0.1:8080 -D - http://127.0.0.1:8085/

Πραγματική έξοδος (μέσω Burp):

HTTP/1.1 302 Found
Server: Apache/2.4.25 (Debian)
Set-Cookie: PHPSESSID=5oe7v08vsge5gid3avi7u0li93; path=/
Set-Cookie: security=low
Location: login.php

Επαλήθευση: το 302 → login.php και το cookie security=low είναι η γνήσια απόκριση του DVWA — και έφτασε σε εμάς μέσα από τον Burp proxy. Το interception HTTP δουλεύει.

Το πρώτο σας intercept: HTTPS (με πραγματική απόδειξη TLS MITM)

Το HTTP είναι εύκολο. Η πραγματική δοκιμασία είναι το HTTPS — και εδώ αποδεικνύεται στην πράξη τι κάνει το CA. Δρομολογήσαμε ένα HTTPS αίτημα προς τον στόχο μας μέσω του Burp, λέγοντας στο curl να εμπιστεύεται μόνο το CA του Burp (burp-ca.pem). Αν πετύχει, σημαίνει ότι το πιστοποιητικό που είδε ο client το υπέγραψε ο Burp — δηλαδή έγινε πραγματικό interception:

curl -x http://127.0.0.1:8080 --cacert burp-ca.pem \
  --resolve vuln.lab.local:8443:127.0.0.1 \
  -D - https://vuln.lab.local:8443/

Πραγματική έξοδος:

HTTP/1.1 200 Connection established
HTTP/2 200
content-type: text/html; charset=utf-8

Και η αδιάσειστη απόδειξη — συγκρίνουμε το πιστοποιητικό που παρουσιάζεται μέσω του Burp με αυτό που παρουσιάζει απευθείας ο server:

# ΜΕΣΩ Burp — το leaf cert που πλαστογραφεί ο Burp:
openssl s_client -connect vuln.lab.local:8443 -servername vuln.lab.local \
  -proxy 127.0.0.1:8080 2>/dev/null | openssl x509 -noout -subject -issuer
# subject= O = PortSwigger, CN = vuln.lab.local
# issuer=  O = PortSwigger, OU = PortSwigger CA, CN = PortSwigger CA
# ΑΠΕΥΘΕΙΑΣ — το πραγματικό self-signed cert του lab:
openssl s_client -connect 127.0.0.1:8443 2>/dev/null | openssl x509 -noout -subject -issuer
# subject= CN = vuln.lab.local
# issuer=  CN = vuln.lab.local

Επαλήθευση: η διαφορά είναι αποστομωτική. Απευθείας, ο server παρουσιάζει το δικό του self-signed cert (issuer = CN = vuln.lab.local). Μέσω του Burp, ο client βλέπει ένα διαφορετικό πιστοποιητικό για το ίδιο hostname, υπογεγραμμένο από το PortSwigger CA. Ο Burp το κατασκεύασε on-the-fly. Αυτό είναι, με πραγματικά δεδομένα, το TLS interception σε δράση.

Πραγματική έξοδος τερματικού: CA πιστοποιητικό, HTTP interception προς DVWA και απόδειξη TLS MITM στο HTTPS

Τι αποτελέσματα έδωσε η δοκιμή

Τα ευρήματα από το εργαστήριο, με στοιχεία:

  • Ο επίσημος installer επαληθεύτηκε πλήρως (SHA-256 και MD5 ταίριαξαν με τα δημοσιευμένα) — μηδενικό ρίσκο αλλοιωμένου binary.
  • Η εγκατάσταση ήταν άψογη: ενσωματωμένο JRE (OpenJDK 25.0.2), καμία εξωτερική εξάρτηση, υποστήριξη σιωπηλής εγκατάστασης.
  • Το Burp εκτέθηκε μόνο στο loopback (127.0.0.1:8080) — καθαρή, ασφαλής προεπιλογή.
  • Το CA είναι μοναδικό ανά εγκατάσταση — καλή πρακτική· δεν υπάρχει κοινό, «σπασμένο» παγκόσμιο κλειδί.
  • Το interception δούλεψε από άκρη σε άκρη και για HTTP και για HTTPS, με το TLS MITM να αποδεικνύεται μέσω της αλυσίδας πιστοποιητικών.

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

Θέλετε αυτό το επίπεδο ελέγχου συνεχώς, στο δικό σας περιβάλλον;
Το Erevos AI είναι η ετήσια managed υπηρεσία Continuous Threat Exposure Management (CTEM) της Audax — human-led, machine-scaled, με τεκμηριωμένη απόδειξη ανθεκτικότητας για NIS2 & DORA.

Ξενάγηση στις καρτέλες που έχουν σημασία στο Μέρος 1

Για το θεμέλιο που στήνουμε εδώ, τρεις περιοχές αρκούν:

  • Proxy → Intercept: εδώ «πιάνετε» τα αιτήματα ζωντανά. Τα κουμπιά Forward και Drop ελέγχουν αν το αίτημα θα προωθηθεί ή θα απορριφθεί. Ο διακόπτης Intercept is on/off καθορίζει αν σταματά κάθε αίτημα ή απλώς καταγράφεται.
  • Proxy → HTTP history: το πλήρες ημερολόγιο κάθε αιτήματος/απόκρισης που πέρασε από τον proxy — με host, μέθοδο, URL, status, μήκος και MIME type. Είναι το σημείο όπου περνάτε τον περισσότερο χρόνο στην παρατήρηση, ακόμη και με το Intercept κλειστό.
  • Target → Site map: καθώς περιηγείστε, το Burp χτίζει αυτόματα έναν ιεραρχικό χάρτη του site — endpoints, παράμετροι, δομή. Είναι η βάση για τη μεθοδική χαρτογράφηση της εφαρμογής πριν από κάθε επίθεση.

Σχηματική αναπαράσταση του HTTP history και του Target site map με την κίνηση του εργαστηρίου

Αντιμετώπιση προβλημάτων (troubleshooting)

Τα συχνότερα εμπόδια που συναντήσαμε ή που θα συναντήσετε:

  • «Ο installer αρνείται φάκελο με κενά». Πραγματικό πρόβλημα που αντιμετωπίσαμε: ο install4j installer δεν δέχεται διαδρομή εγκατάστασης με κενά στο όνομα. Λύση: εγκαταστήστε σε διαδρομή χωρίς κενά (π.χ. ~/burp-lab/BurpSuiteCommunity).
  • Σφάλματα πιστοποιητικού σε κάθε HTTPS σελίδα (SEC_ERROR_UNKNOWN_ISSUER). Αιτία: δεν έχει γίνει import το CA του Burp, ή έγινε σε λάθος browser profile. Λύση: επαναλάβετε το import από το http://burp, ή χρησιμοποιήστε τον ενσωματωμένο browser του Burp.
  • Ο browser δεν φορτώνει τίποτα με το Intercept ανοιχτό. Δεν είναι bug: κάθε αίτημα περιμένει εσάς. Πηγαίνετε στο Proxy → Intercept και πατήστε Forward επανειλημμένα, ή κλείστε το Intercept.
  • curl: no alternative certificate subject name matches σε HTTPS interception. Αιτία: δοκιμάζετε με IP αντί για hostname — ο Burp παράγει leaf cert για το hostname (SNI). Λύση: χρησιμοποιήστε hostname (π.χ. με --resolve).
  • Η θύρα 8080 είναι κατειλημμένη. Αλλάξτε τον listener σε άλλη θύρα (π.χ. 8081) στο Proxy settings και ενημερώστε ανάλογα τον browser/FoxyProxy.
  • Δεν εμφανίζεται κίνηση στο HTTP history. Ο browser δεν περνά από τον proxy. Επιβεβαιώστε το FoxyProxy profile ή τα Manual proxy settings, και ότι το «Also use this proxy for HTTPS» είναι τσεκαρισμένο.

Δυνατά σημεία

  • Απλή, αξιόπιστη εγκατάσταση με ενσωματωμένο JRE — καμία εξάρτηση, καμία σύγκρουση εκδόσεων Java.
  • Ασφαλείς προεπιλογές: loopback-only listener, μοναδικό CA ανά εγκατάσταση.
  • Ενοποιημένη ροή ανάμεσα σε Proxy, Repeater, Intruder, Target — ο «πάγκος εργασίας» του web-app tester.
  • Ενσωματωμένος preconfigured browser που εξαλείφει όλη την παραμετροποίηση για γρήγορο ξεκίνημα.
  • De facto πρότυπο με τεράστια κοινότητα, εκτενή τεκμηρίωση (PortSwigger Web Security Academy) και αμέτρητα extensions.

Περιορισμοί και αδυναμίες

  • Στη Community Edition λείπει ο αυτόματος Scanner, ο Intruder είναι throttled, και τα projects δεν αποθηκεύονται στον δίσκο.
  • Η καμπύλη μάθησης για τον νεοεισερχόμενο είναι υπαρκτή — το UI είναι πυκνό.
  • Η σωστή διαχείριση του CA είναι κρίσιμη· λανθασμένος χειρισμός δημιουργεί πραγματικό ρίσκο ασφάλειας στον υπολογιστή του χειριστή.
  • Είναι εργαλείο χειροκίνητου ελέγχου· δεν αντικαθιστά μια δομημένη μεθοδολογία ούτε την κρίση ενός έμπειρου tester.

Θέματα ασφάλειας κατά τη χρήση

  • Απομονώστε το CA του Burp σε ξεχωριστό browser profile ή στον ενσωματωμένο browser. Ποτέ σε browser καθημερινής χρήσης.
  • Μη μοιράζεστε ποτέ το CA μαζί με το ιδιωτικό κλειδί του.
  • Κρατήστε τον listener στο loopback· μην εκθέτετε proxy στο δίκτυο χωρίς λόγο και έλεγχο πρόσβασης.
  • Στοχεύετε μόνο σε ό,τι σας ανήκει ή έχετε ρητή εξουσιοδότηση να ελέγξετε.
  • Επαληθεύετε πάντα το checksum του installer πριν την εκτέλεση.

Πού μπορεί να χρησιμοποιηθεί επαγγελματικά

  • Web/API penetration testing — το πρωταρχικό εργαλείο κάθε assessment.
  • DevSecOps έλεγχος headers, cookies, tokens και API responses κατά την ανάπτυξη.
  • Εκπαίδευση ομάδων ασφάλειας και developers πάνω στο HTTP/TLS και τη λογική web εφαρμογών.
  • Υποστήριξη detection engineering μέσω κατανόησης της κίνησης επιτιθέμενου.

Πότε δεν πρέπει να χρησιμοποιηθεί

  • Ενάντια σε οποιοδήποτε σύστημα για το οποίο δεν έχετε ρητή εξουσιοδότηση.
  • Ως υποκατάστατο ενός ολοκληρωμένου προγράμματος ελέγχου ασφάλειας — είναι εργαλείο, όχι μεθοδολογία.
  • Σε browser καθημερινής χρήσης με μόνιμα έμπιστο το CA.
  • Ως μοναδικό «αυτόματο σαρωτή»· ο πραγματικός εντοπισμός ευπαθειών απαιτεί ανθρώπινη κρίση και συχνά την Professional έκδοση.

Τι ακολουθεί στο Μέρος 2

Στο Μέρος 1 στήσαμε το θεμέλιο: εγκατάσταση, proxy, CA, και το πρώτο interception σε HTTP και HTTPS. Στο Μέρος 2 περνάμε στα εργαλεία που μετατρέπουν την παρατήρηση σε πραγματικό έλεγχο:

  • Repeater: χειροκίνητη επανάληψη και τροποποίηση αιτημάτων — η βάση για τον έλεγχο injection, IDOR και business-logic flaws.
  • Intruder: αυτοματοποιημένες, παραμετρικές επιθέσεις (fuzzing, enumeration).
  • Decoder & Comparer: αποκωδικοποίηση/κωδικοποίηση και σύγκριση αποκρίσεων.
  • Target scope & filtering: πειθαρχημένη οριοθέτηση του ελέγχου.
  • Και μια πρώτη ματιά σε ρεαλιστικές ροές εντοπισμού ευπαθειών πάνω στο DVWA/Juice Shop του εργαστηρίου μας.

Τελική αξιολόγηση

Για το αντικείμενο του Μέρους 1 — εγκατάσταση και πρώτο interception — το Burp Suite Community Edition είναι ανεπιφύλακτα το σημείο εκκίνησης. Η εγκατάσταση είναι καθαρή και επαληθεύσιμη, οι προεπιλογές ασφαλείς, και η βασική λειτουργία (HTTP και HTTPS interception) δούλεψε στο εργαστήριό μας από άκρη σε άκρη με αποδεδειγμένο TLS MITM. Είναι το εργαλείο-αναφορά για κάθε επαγγελματία και εκπαιδευόμενο στον έλεγχο ασφάλειας web εφαρμογών, και η δωρεάν έκδοση αρκεί πλήρως για να το μάθει κανείς σωστά.

Συμπέρασμα

Το Burp Suite δεν είναι απλώς ένα εργαλείο — είναι ο τρόπος με τον οποίο ένας επαγγελματίας «βλέπει» πραγματικά μια web εφαρμογή: όχι όπως την παρουσιάζει ο browser, αλλά όπως ταξιδεύει στο σύρμα. Στο Μέρος 1 δείξαμε ότι το να στήσεις αυτή την ορατότητα είναι εύκολο και προσιτό. Το δύσκολο — και το πραγματικά πολύτιμο — είναι να τη μετατρέψεις σε αποδεδειγμένα ευρήματα και σε μειωμένο ρίσκο. Ένα εργαλείο σου δείχνει την κίνηση· ένας έμπειρος operator αποδεικνύει τι από αυτή σε εκθέτει. Αυτό είναι το ταξίδι που ξεκινά εδώ και συνεχίζεται στα επόμενα μέρη.

Συνεχίστε στη σειρά: Μέρος 2 — Repeater, Intruder, Decoder & Comparer →

Από το εργαστήριο, στο δικό σας περιβάλλον

Δεν διαβάζουμε απλώς για εργαλεία — τα στήνουμε, τα δοκιμάζουμε και επαληθεύουμε τι πραγματικά κάνουν, όπως ακριβώς κάναμε εδώ με το interception ενός στόχου που ελέγχουμε πλήρως. Την ίδια αυστηρότητα την εφαρμόζουμε συνεχώς στο δικό σας περιβάλλον μέσα από το Erevos AI, την ετήσια υπηρεσία Continuous Threat Exposure Management (CTEM) της Audax Cybersecurity: ένα managed πρόγραμμα τεχνικής επαλήθευσης κυβερνοανθεκτικότητας που ενοποιεί χαρτογράφηση έκθεσης, penetration testing, adversary emulation, detection validation και τεκμηριωμένη αποκατάσταση σε έναν συνεχή κύκλο ελέγχου, απόδειξης και προτεραιοποίησης κινδύνου — με άμεση αξία για τη συμμόρφωσή σας σε NIS2 και DORA.

Human-led. Machine-scaled. Technically proven.

Δείτε το Erevos AI: https://www.audax.gr/erevos-ai/ → Χρειάζεστε στοχευμένο έλεγχο τώρα; Penetration testing & adversary validation από την ομάδα της Audax. Για συνεχή ορατότητα, δείτε το Continuous Exposure Management.

Θέλετε να επικυρώσετε την ασφάλειά σας στην πράξη;

Η Audax αποδεικνύει το ρίσκο με πραγματικά σενάρια επίθεσης — όχι απλώς λίστες ελέγχου.

Ζητήστε δωρεάν αξιολόγηση →