English · Ελληνικά
Το offensive post έδειξε τι κάνει ένας επιτιθέμενος σε ένα switch ή router Cisco. Αυτό είναι το άλλο μισό του ζευγαριού: οι γραμμές log, τα patterns κίνησης, και τα σήματα config-change που πιάνουν καθεμιά από αυτές τις τεχνικές ενώ συμβαίνει — ώστε μια παραβίαση να είναι ένα alert, όχι μια έκπληξη που μαθαίνεις από κάποιον άλλο.
Κάθε τεχνική στο Attacking Cisco Gear αφήνει ίχνος — απλά πρέπει να το συλλέγεις και να κοιτάς. Αυτό το post ζευγαρώνει κάθε επίθεση με την υπογραφή εντοπισμού της: το config-theft μέσω Smart Install και SNMP εμφανίζεται ως απρόσμενα flows TFTP και syslog config-copy· η κατάχρηση Layer-2 (DTP/VTP) πυροδοτεί logs port και πρωτοκόλλου· οι κινήσεις μετά την παραβίαση (νέοι χρήστες, αλλαγές config) είναι ακριβώς αυτό που παρακολουθούν το config-archive και το EEM. Ο εντοπισμός μετατρέπει τη λίστα διορθώσεων του offensive post σε λίστα alerting.
Η προϋπόθεση είναι το stack observability — σωστή ώρα, remote syslog, NetFlow σε έναν collector, SNMPv3. Χωρίς αυτά δεν έχεις τίποτα με το οποίο να κάνεις εντοπισμό· με αυτά, οι περισσότερες από αυτές τις υπογραφές είναι μια αποθηκευμένη αναζήτηση μακριά. Ο εντοπισμός δεν αντικαθιστά το hardening — είναι το δίχτυ ασφαλείας για όταν το hardening είναι ελλιπές ή εμφανιστεί ένα νέο bug.
01
Και τα δύο unauthenticated μονοπάτια config-exfil καταλήγουν στο ίδιο: η συσκευή στέλνει το running-config της σε έναν επιτιθέμενο μέσω TFTP. Αυτό το outbound flow TFTP προς έναν non-management host είναι το σημάδι.
# NetFlow: η συσκευή να ΣΤΕΛΝΕΙ UDP/69 (TFTP) σε οτιδήποτε δεν είναι ο # server provisioning/backup σου είναι ο συναγερμός — το config φεύγει από το κουτί. flow: src=<device> dst=<unknown> proto=UDP dstport=69 -> ALERT # Syslog: ένα config-copy που δεν ξεκίνησες εσύ (SNMP ccCopyTable ή SMI): %SYS-5-CONFIG_I: Configured from ... by snmp %SNMP-... copy of running-config to network # Δοκιμές Smart Install: συνδέσεις στο TCP/4786 από έξω από το management. flow: dst=<device> dstport=4786 src=<not-mgmt> -> ALERT
Αν φτιάξεις έναν εντοπισμό από όλο αυτό το post, κάν' τον «μια συσκευή δικτύου είναι η πηγή ενός flow TFTP/FTP/SCP προς έναν host που δεν είναι ο backup server σου.» Η κλοπή config — είτε μέσω Smart Install, SNMP-RW, ή ενός συνδεδεμένου επιτιθέμενου που τρέχει copy run tftp — σχεδόν πάντα εκδηλώνεται ως η συσκευή να σπρώχνει το config της προς τα έξω. Τα switch και routers σου σχεδόν ποτέ δεν πρέπει να ξεκινούν μεταφορές αρχείων εκτός προς γνωστή υποδομή· οτιδήποτε άλλο είναι είτε λάθος ρύθμιση είτε exfil, και τα δύο αξίζουν page.
02
Η διαπραγμάτευση trunk και οι αλλαγές στη βάση VLAN είναι θορυβώδεις αν ακούς. Ένα access port που γίνεται trunk, ή η αναθεώρηση config του VTP να πηδάει, δεν είναι ποτέ φυσιολογικό σε ένα σταθερό δίκτυο.
# Ένα port που απρόσμενα διαπραγματεύεται trunk (DTP / απόπειρα VLAN-hopping): %DTP-5-TRUNKPORTON: Port Gi0/x has become dot1q trunk # σε ACCESS port = συναγερμός # Η βάση VTP ξαναγράφεται (πήδημα αναθεώρησης config / εισηγμένα VLANs): %SW_VLAN-4-VTP_...: VTP ... revision N # απρόσμενα πηδήματα = επίθεση VTP # Port-security / BPDU-guard πυροδοτεί (rogue συσκευή, MAC flood, rogue switch): %PM-4-ERR_DISABLE: ... err-disabled (psecure-violation / bpduguard)
Αυτά είναι επίσης σήματα πρόληψης — αν έχεις κάνει hardening σύμφωνα με το Switch Security (access ports nonegotiate, VTP transparent/password, BPDU guard), η επίθεση μπλοκάρεται και καταγράφει την απόπειρα. Κάνε alert στα events err-disable και DTP-trunk και πιάνεις τον on-LAN επιτιθέμενο επ' αυτοφώρω.
03
Πριν το exploit έρχεται το χτύπημα: SNMP walks με μαντεμένα communities, καταιγίδες login SSH/Telnet, σαρώματα ports management. Τα patterns ρυθμού και αποτυχιών τους προδίδουν.
| Σημα recon / brute | Που εμφανιζεται |
|---|---|
| Αποτυχίες SNMP / λάθος community | %SNMP-3-AUTHFAIL — επαναλαμβανόμενο = μάντεμα community |
| Αποτυχίες auth SSH/Telnet | syslog AAA/login — μια έκρηξη από μία src = brute force |
| Σάρωμα mgmt-port (22/23/161/4786) | NetFlow: μία src αγγίζει πολλά mgmt ports/hosts |
| Login από απρόσμενη πηγή | Το log login on-success — ανωμαλία geo/host |
Το IOS έχει login on-failure log και login on-success log — ενεργοποίησε και τα δύο και κάθε authentication management, καλή ή κακή, χτυπάει το syslog με source και username. Αυτό το ένα ζευγάρι εντολών είναι η διαφορά ανάμεσα στο «κάποιος μας έκανε brute-force για μια ώρα και ποτέ δεν το μάθαμε» και ένα threshold alert σε εκρήξεις αποτυχιών. Συνδύασέ το με ένα ACL/CoPP ώστε αυτές οι απόπειρες να μπορούν να έρχονται μόνο από το management εξαρχής — τότε κάθε failure log από έξω από το management είναι διπλά ύποπτο.
04
Ένας επιτιθέμενος που μπαίνει αλλάζει πράγματα: έναν νέο τοπικό χρήστη, ένα τροποποιημένο ACL, ένα προστιθέμενο SNMP community, ένα export config. Το config archive και το EEM μετατρέπουν κάθε αλλαγή σε ένα καταγεγραμμένο, diff-able event.
# Config-change logging: ποιος άλλαξε τι, πότε, από πού. R1(config)# archive R1(config-archive)# log config R1(config-archive-log-cfg)# logging enable R1(config-archive-log-cfg)# notify syslog # EEM: page αμέσως όταν συμβαίνει ένα config write (ή όταν εμφανίζεται μια νέα # γραμμή 'username') — ο συναγερμός συνεπειών. R1(config)# event manager applet CONFIG-WATCH R1(config-applet)# event syslog pattern "CONFIG_I" R1(config-applet)# action 1.0 syslog msg "Config changed — verify" # Δες το post EEM για αντίδραση on-box· τροφοδότησε το CONFIG_I και στο SIEM σου.
Βασικα Συμπερασματα
login on-failure/on-success log και SNMP auth-fail — το recon και το brute force γίνονται threshold alerts.Ένα παραβιασμένο router θα έπρεπε να πυροδοτεί ένα page, όχι να ανακαλύπτεται τρεις εβδομάδες αργότερα κατά τη διάρκεια ενός άσχετου audit. Χτίζω εντοπισμό για estates Cisco και MikroTik — log alerts, ανωμαλίες flow, diffing αλλαγών config — γύρω ακριβώς από αυτό.
Κλεισε μια Discovery Call →