Πίσω στο blog

English  ·  Ελληνικά

MikroTik / Επιθετικη Ασφαλεια  ·  Security  ·  Ιουλιος 2026

Επιθεσεις σε Εξοπλισμο MikroTik
Οδηγος Πεδιου για Pentester

Το MikroTik σηκώνει ένα τεράστιο κομμάτι των μικρών δικτύων και του edge των παρόχων παγκοσμίως — γι' αυτό ακριβώς έγινε δύο φορές καύσιμο για botnet. Αυτή είναι η άλλη όψη της σειράς RouterOS: τι κάνει στην πράξη ένας επιτιθέμενος σε ένα MikroTik μέσα σε ένα engagement, από τη στιγμή που θα βρει μια εκτεθειμένη θύρα Winbox μέχρι να πάρει τον έλεγχο της συσκευής και να εγκατασταθεί μέσα της — με τη μονόγραμμη διόρθωση για το καθένα. Ο συνοδός του «Θωράκιση του RouterOS».

MikroTik Offensive Pentest Winbox RouterOS Post-Exploitation

Επιτιθέμενος internet / εντός LAN RouterOS Winbox 8291 · API 8728 εντοπισμός 8291 · CVE-2018-14847 default creds · btest · API Πλήρης έλεγχος creds · sniff · pivot Δύο παγκόσμια botnet (VPNFilter, Meris) χτίστηκαν πάνω σε εκτεθειμένα RouterOS χωρίς patch. Το μοτίβο επαναλαμβάνεται.
◆ Πλαισιο & Εξουσιοδοτημενη Χρηση

Αυτό αφορά εξουσιοδοτημένο testing — το δικό σου lab, ένα CTF, ή ένα engagement με γραπτό scope — και σκοπό έχει να δείξει στους defenders με τι ακριβώς έχουν να κάνουν. Το να επιτεθείς σε RouterOS που δεν σου ανήκει ή δεν έχεις ανάθεση να ελέγξεις είναι παράνομο. Στήσε ένα lab (το CHR — Cloud Hosted Router — τρέχει δωρεάν σε VM) και στρέψε εκεί κάθε δοκιμή. Κάθε ενότητα κλείνει με τη διόρθωση, με σύνδεσμο προς το Θωράκιση του RouterOS. Το κείμενο είναι γραμμένο με τον defender στο μυαλό: ο στόχος είναι να τα εντοπίσεις μόνος σου στην υποδομή σου, πριν τα βρει κάποιος άλλος.

Οι παραβιάσεις σε MikroTik έχουν το ίδιο σχήμα με τις Cisco: σχεδόν ποτέ δεν πρόκειται για exploit που εκμεταλλεύεται διαφθορά μνήμης — είναι έκθεση συν ένα γνωστό bug ή ένα αδύναμο διαπιστευτήριο. Η συσκευή είναι φθηνή, ικανή και βρίσκεται παντού — μικροί πάροχοι, καφετέριες, απομακρυσμένα σημεία — και ένας τεράστιος αριθμός τους κάθεται στο internet με το Winbox (TCP 8291) ή το API (8728) ανοιχτά και με RouterOS στην έκδοση που είχε όταν βγήκε από το κουτί. Αυτός ο συνδυασμός γέννησε το VPNFilter (2018) και το botnet Meris (2021, μία από τις μεγαλύτερες πηγές DDoS που έχουν καταγραφεί ποτέ).

Το kill-chain είναι προβλέψιμο: βρες τις θύρες διαχείρισης, μπες μέσω του κλασικού σφάλματος του Winbox ή με αδύναμα/προεπιλεγμένα creds, άρπαξε το config, και μετά ζήσε μέσα του — γιατί ένας router είναι το ιδανικό παρατηρητήριο για sniffing και pivoting. Κάθε στάδιο κλείνει με τη ρύθμιση του RouterOS που το εξαφανίζει. Η αξία εδώ είναι η λίστα των διορθώσεων, όχι κάποιο έτοιμο exploit για copy-paste.

Παει μαζι με

01

Recon — Βρες τις Θυρες Διαχειρισης Σχεδον παθητικο

Το MikroTik έχει ένα αποτύπωμα που το προδίδει: το Winbox στην 8291 είναι σχεδόν αποκλειστικά δικό του, και η συσκευή συχνά απαντά σε MNDP (το πρωτόκολλο ανακάλυψης του MikroTik) μέσα στο LAN, αποκαλύπτοντας την ταυτότητα και την έκδοσή της.

Assessor — αποτυπωμα μεσω θυρας και πρωτοκολλου ανακαλυψης
# Ανοιχτή η 8291 είναι σχεδόν σίγουρη ένδειξη RouterOS. Σάρωσε το δικό σου εύρος γι' αυτήν:
$ nmap -Pn -p 8291,8728,8729,22,80 --open 203.0.113.0/24
203.0.113.10  8291/tcp open  winbox   8728/tcp open  mikrotik-api

# Εντός του LAN: το MNDP (UDP 5678) εκπέμπει ταυτότητα, μοντέλο και έκδοση.
$ tcpdump -nn -i eth0 udp port 5678 -A -c 1
  Identity: CoreRTR  Version: 6.42.11  Board: RB750  Platform: MikroTik
# Η έκδοση σού λέει αμέσως αν ισχύουν γνωστά CVE. Σημείωσέ την.
◆ Η Διορθωση — Βγαλ' το απο το Internet

Οι 8291/8728 δεν έχουν καμία δουλειά να βλέπουν στο internet. Ένα input firewall με default-drop κάνει το παραπάνω recon να γυρίζει άδειο από το WAN, και ο περιορισμός του MNDP/discovery σε έμπιστα interfaces κόβει το δωράκι που κρύβεται μέσα στο LAN. Το δωρεάν routeros-scanner της Microsoft είναι καλός τρόπος να ελέγξεις τον στόλο σου για έκθεση και ενδείξεις. Δεν μπορεί κανείς να σου κάνει exploit σε μια θύρα που ο επιτιθέμενος δεν φτάνει.

02

CVE-2018-14847 — Γιατι ενα Εκτεθειμενο Winbox Σημαινει Τελος Χωρις Authentication

Το bug που έκανε το MikroTik διαβόητο. Ένα σφάλμα στην υπηρεσία Winbox σε RouterOS πριν την 6.42.12 επέτρεπε σε έναν επιτιθέμενο χωρίς authentication να διαβάσει αρχεία από τη συσκευή — ανάμεσά τους και τον χώρο όπου φυλάσσονται τα διαπιστευτήρια του admin. Χωρίς κωδικό· φτάνεις στη θύρα, και η συσκευή σού παραδίδει το ίδιο της το login.

Δεν χρειάζεσαι τον κώδικα του exploit για να πιάσεις το μάθημα. Η κατηγορία του bug είναι αποκάλυψη πληροφορίας πριν το authentication, πάνω σε υπηρεσία διαχείρισης: από τη στιγμή που ένας επιτιθέμενος μπορεί να διαβάσει αυθαίρετα αρχεία χωρίς να έχει πιστοποιηθεί, η ανάκτηση των αποθηκευμένων διαπιστευτηρίων του admin είναι απλή τυπικότητα — και από εκεί έχει πλήρη πρόσβαση στο RouterOS. Δημόσια εργαλεία γι' αυτό κυκλοφορούν εδώ και χρόνια· έγινε mass-exploited σε κλίμακα internet και μπήκε μέσα στο VPNFilter. Τα διαπιστευτήρια που ξεκλειδώνει είτε τα ξαναχρησιμοποιούν αυτούσια, είτε απλώς επαναρυθμίζουν τη συσκευή σαν πλέον πιστοποιημένοι.

⚠ Παγιδα — Το Patching απο Μονο του Δεν Ειναι το Μαθημα

Το CVE-2018-14847 έχει διορθωθεί εδώ και καιρό, οπότε το «απλώς κάνε patch» ακούγεται αρκετό — μόνο που χάνει το νόημα. Ο ίδιος τρόπος αστοχίας (ένα bug χωρίς authentication σε υπηρεσία διαχείρισης εκτεθειμένη στο internet) θα ξαναχτυπήσει με το επόμενο CVE που δεν έχει γραφτεί ακόμα. Η διόρθωση που κρατάει είναι να μην εκθέτεις καθόλου το management plane: μια θύρα Winbox/API που το internet δεν φτάνει είναι άτρωτη ακόμα και στα bugs που δεν έχουν δημοσιευτεί. Κάνε patch και κλείσ' την με firewall από το WAN (Θωράκιση του RouterOS §02), και φτάσ' την μέσα από ένα tunnel WireGuard. Αν πετύχεις συσκευή που ήταν εκτεθειμένη και χωρίς patch, αντιμετώπισέ την σαν παραβιασμένη και ξαναστήσ' την — μην κάνεις απλώς upgrade από πάνω.

03

Προεπιλεγμενα & Αδυναμα Διαπιστευτηρια, και το API

Δεν χρειάζεται κάθε νίκη ένα CVE. Το παλιό RouterOS ερχόταν με admin και κενό κωδικό· πολλές συσκευές το κρατούν ακόμα, ή έναν αδύναμο κωδικό που μπήκε μία φορά και δεν άλλαξε ποτέ. Και το binary API στην 8728 είναι ένα πλήρες, πιστοποιημένο κανάλι για το config — εύκολος στόχος για brute όπου είναι εκτεθειμένο.

Assessor — ελεγξε τη δικη σου υποδομη για τα προφανη
# Ο έλεγχος για κενό admin: δέχεται ακόμα η συσκευή το εργοστασιακό login;
# (Κάν' το στις ΔΙΚΕΣ σου συσκευές, για ν' αποδείξεις ότι άλλαξαν.)
$ ssh admin@203.0.113.10       # ο κενός κωδικός πρέπει ν' απορρίπτεται

# Το εκτεθειμένο plaintext API στην 8728 είναι πιστοποιημένο κανάλι ελέγχου και
# στόχος για brute-force. Δεν πρέπει να φτάνει από μη έμπιστα δίκτυα.
$ nmap -p 8728,8729 --open 203.0.113.0/24   # ανοιχτή 8728 = εκτεθειμένο plaintext API
◆ Η Διορθωση — Επωνυμοι Λογαριασμοι, Ισχυροι Κωδικοι, Κανενα Εκτεθειμενο API

Πέτα τον προεπιλεγμένο admin, βάλε ξεχωριστό λογαριασμό ανά άτομο σε ομάδες ελάχιστων προνομίων, και επίβαλε ισχυρούς κωδικούς (τα «First Contact» και «Θωράκιση του RouterOS» τα καλύπτουν και τα δύο). Κλείσε εντελώς το σκέτο api· αν το χρειάζεται κάποιος αυτοματισμός, βάλε api-ssl δεμένο μόνο στον host του αυτοματισμού. Το rate-limiting στις επαναλαμβανόμενες αποτυχίες auth πάνω στην input chain μετατρέπει ένα brute-force σε μη γεγονός.

04

Bandwidth-Test & Αλλες Δωρεαν Υπηρεσιες

Το RouterOS κουβαλάει αρκετές υπηρεσίες που είναι βολικές σε ένα lab και βάρος στο production. Ο bandwidth-test server ξεχωρίζει: όταν είναι προσβάσιμος, είναι ταυτόχρονα στόχος για credential-brute και τρόπος να γονατίσεις τη συσκευή ή τη γραμμή όποτε θελήσεις.

Assessor — η λιστα των υπολειμματικων υπηρεσιων
# Πράγματα να επιβεβαιώσεις ότι είναι OFF / περιορισμένα στις δικές σου συσκευές:
  bandwidth-test server (btest)  -> στόχος DoS + brute
  www / ftp                      -> mgmt σε καθαρό κείμενο, επιπλέον επιφάνεια
  romon                          -> L2 management mesh, αν δεν έχει scope
  mac-server / mac-winbox        -> L2 mgmt σε μη έμπιστες θύρες
  socks proxy                    -> το αγαπημένο pivot του επιτιθέμενου (βλ. §05)
$ nmap -p 2000,21,80,1080 --open 203.0.113.10   # btest/ftp/www/socks
◆ Η Διορθωση — Κλεισε Ο,τι Δεν Τρεχεις

/tool bandwidth-server set enabled=no, κλείσε www/ftp, περιόρισε το mac-server και το discovery σε έμπιστα interfaces, και άσε το romon και τον SOCKS proxy κλειστά, εκτός αν τα βάζεις σκόπιμα σε έμπιστο τμήμα. Κάθε υπηρεσία που κλείνεις είναι ένα πράγμα λιγότερο που φτάνει ο επιτιθέμενος — όλο το Θωράκιση του RouterOS §01/§04.

05

Ζωντας Μεσα στη Συσκευη — Γιατι ο Router Ειναι το Επαθλο

Το να παραβιάσεις έναν router δεν είναι ο στόχος· είναι η θέση. Ένας router βλέπει όλη την κίνηση, κάθεται μέσα στην περίμετρο, και σπάνια κάνει reboot — το ιδανικό σημείο για να επιμείνεις, να παρακολουθείς και να κάνεις pivot. Το να ξέρεις τι κάνει ένας επιτιθέμενος από εδώ, σου λέει τι να ψάχνεις.

Τι κανουν απο τη συσκευηΓιατι σε αφορα
Ανοίγουν τον SOCKS proxyΜετατρέπει τον router σου σε pivot προς το εσωτερικό δίκτυο — έλεγξε ότι το /ip socks είναι κλειστό.
Κάνουν stream τον packet snifferΠαθητική υποκλοπή όλων όσων περνούν από τη συσκευή — έλεγξε ότι το /tool sniffer δεν τρέχει/δεν κάνει stream.
Προσθέτουν scheduler + scriptPersistence και beaconing που επιβιώνουν στα reboot — δες /system scheduler και /system script.
Βάζουν web proxy / DNS staticΑνακατεύθυνση ή injection στην κίνηση των χρηστών (à la Meris) — έλεγξε /ip proxy, /ip dns static.
Προσθέτουν κρυφό χρήστη / SSH keyBackdoor πρόσβαση — αντιπαράβαλε /user και /user ssh-keys με τα αρχεία σου.
Κάνουν export το configΚάθε PSK, VPN key και διαπιστευτήριο φεύγει μαζί τους — άλλαξε τα secrets μετά από κάθε υποψία παραβίασης.
◆ Η Διορθωση — Logging Εκτος Συσκευης & Ενα Known-Good Baseline

Όποιος κατέχει τον router, κατέχει και τα τοπικά του logs — γι' αυτό το αντίγραφο remote syslog είναι αυτό με το οποίο πραγματικά ερευνάς, και το topic account δείχνει τα αναπάντεχα logins. Κράτα ένα /export baseline υπό version control (Backup και Ανάκτηση), ώστε ένα απλό diff να σου βγάλει αμέσως στην επιφάνεια έναν scheduler, χρήστη ή proxy που μπήκε κρυφά. Μετά από κάθε επιβεβαιωμένη παραβίαση, ξαναστήσε από καθαρό και άλλαξε κάθε secret που κρατούσε η συσκευή — ένα export του config σημαίνει ότι διέρρευσαν όλα.

06

Η Λιστα Ελεγχου του Assessor

Όταν εξετάζω ένα MikroTik σε ένα engagement, αυτό είναι το πέρασμα. Τρέξ' το πρώτα στις δικές σου συσκευές — κάθε γραμμή είναι ένα finding που περιμένει να συμβεί.

ΕλεγχοςΓιατι ειναι finding
8291 / 8728 προσβάσιμες από WANΕκτεθειμένο management plane — η ρίζα σχεδόν κάθε παραβίασης (§01/§02)
RouterOS κάτω από την τρέχουσα stableΙσχύουν γνωστά CVE· χωρίς patch + εκτεθειμένο = owned (§02)
Προεπιλεγμένος admin / αδύναμος κωδικόςΔεν χρειάζεται exploit (§03)
Ενεργά σκέτα api, www, ftp, telnetΚανάλια διαχείρισης σε καθαρό κείμενο ή ευάλωτα σε brute (§03/§04)
Ενεργά btest / romon / socksDoS, L2 management, και επιφάνεια για pivot (§04/§05)
Καθόλου logging εκτός συσκευήςΗ παραβίαση περνάει αόρατη και τα τοπικά logs δεν είναι αξιόπιστα (§05)
Αναπάντεχος scheduler/script/userPersistence ή backdoor — σύγκρινε με το baseline (§05)

Συμπερασματα

  1. Είναι έκθεση συν ένα γνωστό bug ή αδύναμο διαπιστευτήριο — η ίδια ιστορία με τη Cisco. Το RouterOS το βαράνε επειδή είναι παντού και συχνά βλέπει στο internet.
  2. Μια εκτεθειμένη θύρα Winbox/API είναι όλο το παιχνίδι. Το CVE-2018-14847 απέδειξε ότι ένα pre-auth bug σε προσβάσιμη υπηρεσία διαχείρισης σημαίνει τέλος.
  3. Κάνε patch και μην εκθέτεις. Το να κλείσεις με firewall το management plane από το WAN επιβιώνει το επόμενο αδημοσίευτο bug· το patching μόνο του, όχι.
  4. Οι μισές νίκες δεν θέλουν CVE — προεπιλεγμένος admin, αδύναμοι κωδικοί, εκτεθειμένο plaintext API. Επώνυμοι λογαριασμοί και κανένα εκτεθειμένο API τις κλείνουν.
  5. Κλείσε τις υπηρεσίες που περισσεύουν — btest, www/ftp, romon, socks, mac-server χωρίς scope — καθεμία είναι προσβάσιμη επιφάνεια.
  6. Ο router είναι παρατηρητήριο, όχι τρόπαιο. Το logging εκτός συσκευής και ένα known-good baseline είναι ο τρόπος να εντοπίσεις κάποιον που ζει μέσα του· ξαναστήσε και άλλαξε τα secrets μετά από κάθε παραβίαση.

Θες να μαθεις τι μοιραζει το MikroTik σου, πριν το βρει καποιος αλλος;

Κάνω εξουσιοδοτημένα penetration tests και ελέγχους διαμόρφωσης σε υποδομές RouterOS — έκθεση, επίπεδο patch, αδύναμα διαπιστευτήρια, υπηρεσίες που περισσεύουν, και τα σημάδια ότι μια συσκευή έχει ήδη περάσει από τα χέρια κάποιου άλλου.

Κλεισε μια Discovery Call →