SCADA Hacking: Δοκιμές παρακολούθησης του SCADA HoneyPot

Στο προηγούμενο άρθρο της σειράς SCADA Hacking, κατασκευάσαμε ένα εξελιγμένο, χαμηλής αλληλεπίδρασης SCADA honeypot με το conpot.

Σε αυτό το άρθρο, θα δοκιμάσουμε το Honeypot που φτιάξαμε για να δούμε πώς φαίνεται σε κάποιον που προσπαθεί να μας κάνει επίθεση. Είναι ζωτικής σημασίας το HoneyPot μας να μοιάζει και να ενεργεί σαν ένα αυθεντικό σύστημα SCADA, αν θέλουμε να δελεάσουμε τους επιτιθέμενους να επιτεθούν στο honeypot που φτιάξαμε.

honey9

Ας χρησιμοποιήσουμε κάποια εργαλεία hacking/pentesting SCADA για να ελέγξουμε πώς θα φαινόταν το honeypot μας σε έναν επιτιθέμενο.

Βήμα #1 Σάρωση με το nmap

Πρώτα, ας το σαρώσουμε με το nmap. Τρέχουμε τα Kali. Στη συνέχεια, ας χρησιμοποιήσουμε το nmap με το switch -A για να συλλέξουμε πληροφορίες σχετικά με τις υπηρεσίες του.

kali> nmap -A -Pn -p1-1000 192.168.181.186

honey

Όπως μπορείτε να δείτε στο παραπάνω στιγμιότυπο οθόνης, το nmap βρήκε τη θύρα 80 ανοιχτή, αλλά μπορείτε επίσης να εντοπίσει το Siemens SIMATIC S7-200 και με άλλες εντολές. Βρήκε επίσης ανοιχτές τις tcpwrapped θύρες 102(S7-200) και 502 (modbus).

Για να διαπιστώσουμε αν κάποια θύρα UDP είναι ανοιχτή ή πιο συγκεκριμένα η θύρα 161 για το SMNP, μπορούμε να χρησιμοποιήσουμε ένα nmap script, το snmp-sysdescr, δίνοντας την παρακάτω εντολή,

kali > nmap -sU -p161 192.168.181.186 –script snmp-sysdescr

honey1

Σε αυτή την περίπτωση, βρήκε τη θύρα UDP 161 ανοιχτή και την αναγνώρισε ως snmp.

Βήμα #2 Σάρωση με το Metasploit στο Honeypot

Όπως γνωρίζετε, στο Metasploit υπάρχουν πολυάριθμες βοηθητικές ενότητες εκμετάλλευσης που έχουν σχεδιαστεί για συστήματα SCADA. Ας ρίξουμε μια ματιά σε μερικές από αυτές και ας τις δοκιμάσουμε στο Honeypot μας.

Πρώτον, ας χρησιμοποιήσουμε το modbusdetect module. Αυτό το module έχει σχεδιαστεί για να προσδιορίζει αν το modbus εκτελείται στον στόχο.

Για να εκκινήσετε το module πληκτρολογήστε,

kali > use auxiliary/scanner/scada/modbusdetect

Στη συνέχεια, πρέπει να ορίσουμε τη διεύθυνση IP του απομακρυσμένου κεντρικού υπολογιστή (RHOST) και στη συνέχεια να την εκμεταλλευτούμε.

honey2 honey3

Όπως μπορείτε να δείτε παραπάνω, ο σαρωτής αναγνώρισε ότι το modbus εκτελείται στο Honeypot. Μέχρι στιγμής, όλα καλά. Μοιάζει με ένα αυθεντικό σύστημα SCADA.

Στη συνέχεια, ας δούμε την ενότητα modbus_findclientid. Αυτή η ενότητα έχει σχεδιαστεί για να απαριθμεί τα αναγνωριστικά του πελάτη στο σύστημα SCADA.

Για να το εκκινήσετε, πληκτρολογήστε,

kali> use auxiliary/scanner/scada/modbus_findunitid

και στη συνέχεια,

kali> show options

honey4

Σημειώστε ότι πρέπει να ορίσουμε μόνο το RHOST για αυτόν τον σαρωτή.

kali > set RHOST 192.168.181.185

honey5

Όταν πληκτρολογήσουμε exploit, βλέπουμε ότι αυτός ο σαρωτής θα αρχίσει να απαριθμεί το stationID κάθε πελάτη στο σύστημα.

Τέλος, ας χρησιμοποιήσουμε το modbus client module για να γράψουμε δεδομένα σε ένα πηνίο.

Αυτή η ενότητα θα μας επιτρέψει να γράψουμε δεδομένα στα πηνία ή τους καταχωρητές του πελάτη modbus. Όπως μπορείτε να φανταστείτε, αυτό θα μπορούσε να προκαλέσει χάος σε ένα σύστημα SCADA, καθώς θα μπορούσε να ενεργοποιήσει ή να απενεργοποιήσει τα PLC ή να αλλάξει τη λειτουργία τους.

kali > use auxiliary/scanner/scad/modbusclient

honey6

Αυτή η ενότητα απαιτεί να επιλέξουμε το ACTION WRITE_COIL ή WRITE REGISTER. Επιπλέον, πρέπει να επιλέξουμε το UNIT_NUMBER (το αναγνωριστικό πελάτη) και τέλος, τα δεδομένα που θέλουμε να στείλουμε στο πηνίο ή στον καταχωρητή. Δεδομένου ότι εδώ θα στείλουμε δεδομένα στο πηνίο, μπορούμε να επιλέξουμε μόνο 0 ή 1 (απενεργοποίηση ή ενεργοποίηση).

Τέλος, πληκτρολογούμε run.

honey7

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

Όπως μπορείτε να δείτε, το conpot SCADA honeypot που κατασκευάσαμε εμφανίζεται και αντιδρά ακριβώς όπως ένα αυθεντικό σύστημα SCADA!

Βήμα #3 Παρακολούθηση του Honeypot

Ιδανικά, το honeypot θα πρέπει να διαθέτει κάποιο σύστημα παρακολούθησης εισβολών/ασφάλειας, όπως το Snort, το Splunk, το Suricata ή άλλα. Χωρίς αυτά, μπορούμε ακόμα να παρακολουθούμε τις δραστηριότητες μέσω τυπικών εργαλείων παρακολούθησης Linux, όπως,

  • /var/log/syslog – περιέχει όλα τα μηνύματα εκτός από αυτά που σχετίζονται με τον έλεγχο ταυτότητας. Αναλύοντας, βρήκα μόνο μηνύματα του kernel και thermald. Κάθε γραμμή περιέχει: ημερομηνία, όνομα κεντρικού υπολογιστή, πρόγραμμα που παρήγαγε το μήνυμα, αναγνωριστικό διεργασίας και μήνυμα καταγραφής.

  • /var/log/auth.log – περιέχει πληροφορίες εξουσιοδότησης του συστήματος, συμπεριλαμβανομένων των συνδέσεων χρηστών μέσω των διαχειριστών οθόνης και σύνδεσης, των αιτήσεων πρόσβασης sudo, του μηχανισμού ελέγχου ταυτότητας για το crontab, του system daemon policykit κ.λ.π. Αυτό το αρχείο καταγραφής βρίσκεται στις διανομές Debian Linux, αλλά κάποιες άλλες χρησιμοποιούν το /var/log/secure αντί αυτού.

  • /var/log/btmp – παρακολουθεί τις αποτυχημένες προσπάθειες σύνδεσης. Είναι ένα δυαδικό αρχείο και μπορεί να διαβαστεί με την εντολή last.

  • /var/log/dpkg.log και /var/log/yum.log – περιέχουν μηνύματα σχετικά με εγκαταστάσεις ή αναβαθμίσεις για διάφορους διαχειριστές πακέτων

 

SCADA Hacking,honeypot

Written by Anastasis Vasileiadis

Οι μεταφράσεις είναι σαν τις γυναίκες. Όταν είναι ωραίες δεν είναι πιστές και όταν είναι πιστές δεν είναι ωραίες.

Αφήστε μια απάντηση

Η ηλ. διεύθυνση σας δεν δημοσιεύεται. Τα υποχρεωτικά πεδία σημειώνονται με *

Το μήνυμα σας δεν θα δημοσιευτεί εάν:
1. Περιέχει υβριστικά, συκοφαντικά, ρατσιστικά, προσβλητικά ή ανάρμοστα σχόλια.
2. Προκαλεί βλάβη σε ανηλίκους.
3. Παρενοχλεί την ιδιωτική ζωή και τα ατομικά και κοινωνικά δικαιώματα άλλων χρηστών.
4. Διαφημίζει προϊόντα ή υπηρεσίες ή διαδικτυακούς τόπους .
5. Περιέχει προσωπικές πληροφορίες (διεύθυνση, τηλέφωνο κλπ).