Phishing Methodology
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Recon the victim
Επιλέξτε το domain του θύματος.
Εκτελέστε κάποια βασική διαδικτυακή καταμέτρηση αναζητώντας πύλες σύνδεσης που χρησιμοποιούνται από το θύμα και αποφασίστε ποια θα παραστήσετε.
Χρησιμοποιήστε κάποια OSINT για να βρείτε emails.
Prepare the environment
Αγοράστε το domain που θα χρησιμοποιήσετε για την αξιολόγηση phishing
Ρυθμίστε την υπηρεσία email σχετικές εγγραφές (SPF, DMARC, DKIM, rDNS)
Ρυθμίστε το VPS με gophish
Prepare the campaign
Ετοιμάστε το πρότυπο email
Ετοιμάστε την ιστοσελίδα για να κλέψετε τα διαπιστευτήρια
Εκκινήστε την καμπάνια!
Keyword: Το domain name περιέχει μια σημαντική λέξη-κλειδί του αρχικού domain (π.χ., zelster.com-management.com).
hypened subdomain: Αλλάξτε την τελεία σε παύλα ενός υποτομέα (π.χ., www-zelster.com).
New TLD: Ίδιο domain χρησιμοποιώντας ένα νέο TLD (π.χ., zelster.org)
Homoglyph: Αντικαθιστά ένα γράμμα στο domain name με γράμματα που μοιάζουν (π.χ., zelfser.com).
Transposition: Ανταλλάσσει δύο γράμματα μέσα στο domain name (π.χ., zelsetr.com).
Singularization/Pluralization: Προσθέτει ή αφαιρεί “s” στο τέλος του domain name (π.χ., zeltsers.com).
Omission: Αφαιρεί ένα από τα γράμματα του domain name (π.χ., zelser.com).
Repetition: Επαναλαμβάνει ένα από τα γράμματα στο domain name (π.χ., zeltsser.com).
Replacement: Όπως το homoglyph αλλά λιγότερο διακριτικό. Αντικαθιστά ένα από τα γράμματα στο domain name, ίσως με ένα γράμμα κοντά στο αρχικό γράμμα στο πληκτρολόγιο (π.χ., zektser.com).
Subdomained: Εισάγετε μια τελεία μέσα στο domain name (π.χ., ze.lster.com).
Insertion: Εισάγει ένα γράμμα στο domain name (π.χ., zerltser.com).
Missing dot: Προσθέστε το TLD στο domain name. (π.χ., zelstercom.com)
Automatic Tools
Websites
Υπάρχει μια πιθανότητα ότι ένα από τα bits που αποθηκεύονται ή σε επικοινωνία μπορεί να αλλάξει αυτόματα λόγω διαφόρων παραγόντων όπως ηλιακές εκρήξεις, κοσμικές ακτίνες ή σφάλματα υλικού.
Όταν αυτή η έννοια είναι εφαρμοσμένη σε DNS αιτήματα, είναι πιθανό ότι το domain που λαμβάνεται από τον DNS server δεν είναι το ίδιο με το domain που ζητήθηκε αρχικά.
Για παράδειγμα, μια μόνο τροποποίηση bit στο domain "windows.com" μπορεί να το αλλάξει σε "windnws.com."
Οι επιτιθέμενοι μπορεί να εκμεταλλευτούν αυτό καταχωρώντας πολλαπλά domains bit-flipping που είναι παρόμοια με το domain του θύματος. Η πρόθεσή τους είναι να ανακατευθύνουν τους νόμιμους χρήστες στην υποδομή τους.
Για περισσότερες πληροφορίες διαβάστε https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/
Μπορείτε να αναζητήσετε στο https://www.expireddomains.net/ για ένα ληγμένο domain που θα μπορούσατε να χρησιμοποιήσετε. Για να βεβαιωθείτε ότι το ληγμένο domain που πρόκειται να αγοράσετε έχει ήδη καλή SEO μπορείτε να ελέγξετε πώς είναι κατηγοριοποιημένο σε:
https://github.com/laramies/theHarvester (100% δωρεάν)
https://phonebook.cz/ (100% δωρεάν)
Για να ανακαλύψετε περισσότερες έγκυρες διευθύνσεις email ή να επιβεβαιώσετε αυτές που έχετε ήδη ανακαλύψει μπορείτε να ελέγξετε αν μπορείτε να κάνετε brute-force στους smtp servers του θύματος. Μάθετε πώς να επιβεβαιώσετε/ανακαλύψετε διεύθυνση email εδώ. Επιπλέον, μην ξεχνάτε ότι αν οι χρήστες χρησιμοποιούν οποιαδήποτε διαδικτυακή πύλη για να αποκτήσουν πρόσβαση στα emails τους, μπορείτε να ελέγξετε αν είναι ευάλωτη σε brute force username, και να εκμεταλλευτείτε την ευπάθεια αν είναι δυνατόν.
Μπορείτε να το κατεβάσετε από https://github.com/gophish/gophish/releases/tag/v0.11.0
Κατεβάστε και αποσυμπιέστε το μέσα στο /opt/gophish
και εκτελέστε το /opt/gophish/gophish
Θα σας δοθεί ένας κωδικός για τον χρήστη διαχειριστή στην πόρτα 3333 στην έξοδο. Επομένως, αποκτήστε πρόσβαση σε αυτήν την πόρτα και χρησιμοποιήστε αυτά τα διαπιστευτήρια για να αλλάξετε τον κωδικό διαχειριστή. Μπορεί να χρειαστεί να στήσετε αυτήν την πόρτα σε τοπικό:
Διαμόρφωση πιστοποιητικού TLS
Πριν από αυτό το βήμα θα πρέπει να έχετε αγοράσει ήδη το domain που πρόκειται να χρησιμοποιήσετε και πρέπει να δείχνει στη διεύθυνση IP του VPS όπου διαμορφώνετε το gophish.
Ρύθμιση αλληλογραφίας
Αρχίστε την εγκατάσταση: apt-get install postfix
Στη συνέχεια, προσθέστε το domain στα παρακάτω αρχεία:
/etc/postfix/virtual_domains
/etc/postfix/transport
/etc/postfix/virtual_regexp
Αλλάξτε επίσης τις τιμές των παρακάτω μεταβλητών μέσα στο /etc/postfix/main.cf
myhostname = <domain>
mydestination = $myhostname, <domain>, localhost.com, localhost
Τέλος, τροποποιήστε τα αρχεία /etc/hostname
και /etc/mailname
με το όνομα του domain σας και επανεκκινήστε το VPS σας.
Τώρα, δημιουργήστε μια DNS A record του mail.<domain>
που να δείχνει στη διεύθυνση ip του VPS και μια DNS MX record που να δείχνει στο mail.<domain>
Τώρα ας δοκιμάσουμε να στείλουμε ένα email:
Διαμόρφωση Gophish
Σταματήστε την εκτέλεση του gophish και ας το διαμορφώσουμε.
Τροποποιήστε το /opt/gophish/config.json
ως εξής (σημειώστε τη χρήση του https):
Διαμόρφωση υπηρεσίας gophish
Για να δημιουργήσετε την υπηρεσία gophish ώστε να μπορεί να ξεκινά αυτόματα και να διαχειρίζεται ως υπηρεσία, μπορείτε να δημιουργήσετε το αρχείο /etc/init.d/gophish
με το παρακάτω περιεχόμενο:
Ολοκληρώστε τη διαμόρφωση της υπηρεσίας και ελέγξτε την κάνοντας:
Όσο παλαιότερος είναι ένας τομέας, τόσο λιγότερο πιθανό είναι να πιαστεί ως spam. Έτσι, θα πρέπει να περιμένετε όσο το δυνατόν περισσότερο (τουλάχιστον 1 εβδομάδα) πριν από την αξιολόγηση phishing. Επιπλέον, αν δημιουργήσετε μια σελίδα σχετικά με έναν τομέα φήμης, η φήμη που θα αποκτηθεί θα είναι καλύτερη.
Σημειώστε ότι ακόμη και αν πρέπει να περιμένετε μια εβδομάδα, μπορείτε να ολοκληρώσετε τη ρύθμιση όλων τώρα.
Ορίστε μια εγγραφή rDNS (PTR) που επιλύει τη διεύθυνση IP του VPS στο όνομα τομέα.
Πρέπει να ρυθμίσετε μια εγγραφή SPF για τον νέο τομέα. Αν δεν ξέρετε τι είναι μια εγγραφή SPF διαβάστε αυτή τη σελίδα.
Μπορείτε να χρησιμοποιήσετε https://www.spfwizard.net/ για να δημιουργήσετε την πολιτική SPF σας (χρησιμοποιήστε τη διεύθυνση IP της μηχανής VPS)
Αυτό είναι το περιεχόμενο που πρέπει να οριστεί μέσα σε μια εγγραφή TXT στον τομέα:
Πρέπει να ρυθμίσετε ένα DMARC record για το νέο domain. Αν δεν ξέρετε τι είναι ένα DMARC record διαβάστε αυτή τη σελίδα.
Πρέπει να δημιουργήσετε ένα νέο DNS TXT record που να δείχνει το hostname _dmarc.<domain>
με το εξής περιεχόμενο:
Πρέπει να ρυθμίσετε ένα DKIM για το νέο τομέα. Αν δεν ξέρετε τι είναι ένα DMARC record διαβάστε αυτή τη σελίδα.
Αυτό το tutorial βασίζεται σε: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy
Πρέπει να συνδυάσετε και τις δύο τιμές B64 που παράγει το DKIM key:
Μπορείτε να το κάνετε αυτό χρησιμοποιώντας https://www.mail-tester.com/ Απλά επισκεφθείτε τη σελίδα και στείλτε ένα email στη διεύθυνση που σας δίνουν:
Μπορείτε επίσης να ελέγξετε τη διαμόρφωση του email σας στέλνοντας ένα email στο check-auth@verifier.port25.com
και διαβάζοντας την απάντηση (για αυτό θα χρειαστεί να ανοίξετε την πόρτα 25 και να δείτε την απάντηση στο αρχείο /var/mail/root αν στείλετε το email ως root).
Ελέγξτε ότι περνάτε όλους τους ελέγχους:
Μπορείτε επίσης να στείλετε μήνυμα σε ένα Gmail υπό τον έλεγχό σας και να ελέγξετε τα κεφαλίδες του email στο Gmail inbox σας, το dkim=pass
θα πρέπει να είναι παρόν στο πεδίο κεφαλίδας Authentication-Results
.
Η σελίδα www.mail-tester.com μπορεί να σας υποδείξει αν το domain σας μπλοκάρεται από το spamhouse. Μπορείτε να ζητήσετε την αφαίρεση του domain/IP σας στο: https://www.spamhaus.org/lookup/
Μπορείτε να ζητήσετε την αφαίρεση του domain/IP σας στο https://sender.office.com/.
Ορίστε κάποιο όνομα για να αναγνωρίσετε το προφίλ αποστολέα
Αποφασίστε από ποιον λογαριασμό θα στείλετε τα phishing emails. Προτάσεις: noreply, support, servicedesk, salesforce...
Μπορείτε να αφήσετε κενό το όνομα χρήστη και τον κωδικό πρόσβασης, αλλά βεβαιωθείτε ότι έχετε ελέγξει την επιλογή Αγνόηση Σφαλμάτων Πιστοποιητικού
Συνιστάται να χρησιμοποιήσετε τη λειτουργία "Αποστολή Δοκιμαστικού Email" για να ελέγξετε ότι όλα λειτουργούν. Θα πρότεινα να στείλετε τα δοκιμαστικά emails σε διευθύνσεις 10min προκειμένου να αποφύγετε την προσθήκη στη μαύρη λίστα κατά τη διάρκεια των δοκιμών.
Ορίστε κάποιο όνομα για να αναγνωρίσετε το πρότυπο
Στη συνέχεια, γράψτε ένα θέμα (τίποτα παράξενο, απλώς κάτι που θα περιμένατε να διαβάσετε σε ένα κανονικό email)
Βεβαιωθείτε ότι έχετε ελέγξει την επιλογή "Προσθήκη Εικόνας Παρακολούθησης"
Γράψτε το πρότυπο email (μπορείτε να χρησιμοποιήσετε μεταβλητές όπως στο παρακάτω παράδειγμα):
Note that για να αυξήσετε την αξιοπιστία του email, συνιστάται να χρησιμοποιήσετε κάποια υπογραφή από ένα email του πελάτη. Προτάσεις:
Στείλτε ένα email σε μια μη υπάρχουσα διεύθυνση και ελέγξτε αν η απάντηση έχει κάποια υπογραφή.
Αναζητήστε δημόσια emails όπως info@ex.com ή press@ex.com ή public@ex.com και στείλτε τους ένα email και περιμένετε την απάντηση.
Προσπαθήστε να επικοινωνήσετε με κάποιο έγκυρο ανακαλυφθέν email και περιμένετε την απάντηση.
Το Email Template επιτρέπει επίσης να επισυνάπτετε αρχεία για αποστολή. Αν θέλετε επίσης να κλέψετε NTLM challenges χρησιμοποιώντας κάποια ειδικά κατασκευασμένα αρχεία/έγγραφα διαβάστε αυτή τη σελίδα.
Γράψτε ένα όνομα
Γράψτε τον HTML κώδικα της ιστοσελίδας. Σημειώστε ότι μπορείτε να εισάγετε ιστοσελίδες.
Σημειώστε Capture Submitted Data και Capture Passwords
Ορίστε μια ανακατεύθυνση
Συνήθως θα χρειαστεί να τροποποιήσετε τον HTML κώδικα της σελίδας και να κάνετε κάποιες δοκιμές τοπικά (ίσως χρησιμοποιώντας κάποιον Apache server) μέχρι να σας αρέσουν τα αποτελέσματα. Στη συνέχεια, γράψτε αυτόν τον HTML κώδικα στο κουτί. Σημειώστε ότι αν χρειαστεί να χρησιμοποιήσετε κάποιους στατικούς πόρους για τον HTML (ίσως κάποιες σελίδες CSS και JS) μπορείτε να τους αποθηκεύσετε στο /opt/gophish/static/endpoint και στη συνέχεια να τους αποκτήσετε από /static/<filename>
Για την ανακατεύθυνση μπορείτε να ανακατευθύνετε τους χρήστες στην κανονική κύρια ιστοσελίδα του θύματος, ή να τους ανακατευθύνετε στο /static/migration.html για παράδειγμα, να βάλετε κάποιο spinning wheel (https://loading.io/) για 5 δευτερόλεπτα και στη συνέχεια να υποδείξετε ότι η διαδικασία ήταν επιτυχής.
Ορίστε ένα όνομα
Εισάγετε τα δεδομένα (σημειώστε ότι για να χρησιμοποιήσετε το template για το παράδειγμα χρειάζεστε το όνομα, το επώνυμο και τη διεύθυνση email κάθε χρήστη)
Τέλος, δημιουργήστε μια καμπάνια επιλέγοντας ένα όνομα, το email template, τη landing page, το URL, το sending profile και την ομάδα. Σημειώστε ότι το URL θα είναι ο σύνδεσμος που θα σταλεί στα θύματα.
Σημειώστε ότι το Sending Profile επιτρέπει να στείλετε ένα δοκιμαστικό email για να δείτε πώς θα φαίνεται το τελικό phishing email:
Θα συνιστούσα να στείλετε τα δοκιμαστικά emails σε διευθύνσεις 10min mails προκειμένου να αποφύγετε να μπείτε σε μαύρη λίστα κάνοντας δοκιμές.
Μόλις είναι όλα έτοιμα, απλά ξεκινήστε την καμπάνια!
Αν για οποιονδήποτε λόγο θέλετε να κλωνοποιήσετε την ιστοσελίδα ελέγξτε την παρακάτω σελίδα:
Σε ορισμένες αξιολογήσεις phishing (κυρίως για Red Teams) θα θέλετε επίσης να στείλετε αρχεία που περιέχουν κάποιο είδος backdoor (ίσως ένα C2 ή ίσως απλώς κάτι που θα ενεργοποιήσει μια αυθεντικοποίηση). Δείτε την παρακάτω σελίδα για μερικά παραδείγματα:
Η προηγούμενη επίθεση είναι αρκετά έξυπνη καθώς προσποιείστε μια πραγματική ιστοσελίδα και συγκεντρώνετε τις πληροφορίες που εισάγει ο χρήστης. Δυστυχώς, αν ο χρήστης δεν εισάγει τον σωστό κωδικό ή αν η εφαρμογή που προσποιείστε είναι ρυθμισμένη με 2FA, αυτές οι πληροφορίες δεν θα σας επιτρέψουν να προσποιηθείτε τον παραπλανημένο χρήστη.
Εδώ είναι που εργαλεία όπως evilginx2, CredSniper και muraena είναι χρήσιμα. Αυτό το εργαλείο θα σας επιτρέψει να δημιουργήσετε μια επίθεση τύπου MitM. Βασικά, οι επιθέσεις λειτουργούν ως εξής:
Εσείς προσποιείστε τη φόρμα σύνδεσης της πραγματικής ιστοσελίδας.
Ο χρήστης στέλνει τα διαπιστευτήριά του στη ψεύτικη σελίδα σας και το εργαλείο στέλνει αυτά στη πραγματική ιστοσελίδα, ελέγχοντας αν τα διαπιστευτήρια λειτουργούν.
Αν ο λογαριασμός είναι ρυθμισμένος με 2FA, η σελίδα MitM θα ζητήσει αυτό και μόλις ο χρήστης το εισάγει το εργαλείο θα το στείλει στη πραγματική ιστοσελίδα.
Μόλις ο χρήστης αυθεντικοποιηθεί εσείς (ως επιτιθέμενος) θα έχετε καταγράψει τα διαπιστευτήρια, το 2FA, το cookie και οποιαδήποτε πληροφορία από κάθε αλληλεπίδραση σας ενώ το εργαλείο εκτελεί μια MitM.
Τι θα γινόταν αν αντί να στείλετε το θύμα σε μια κακόβουλη σελίδα με την ίδια εμφάνιση όπως η αρχική, το στείλετε σε μια συνεδρία VNC με έναν περιηγητή συνδεδεμένο στην πραγματική ιστοσελίδα; Θα μπορείτε να δείτε τι κάνει, να κλέψετε τον κωδικό, το MFA που χρησιμοποιείται, τα cookies... Μπορείτε να το κάνετε αυτό με EvilnVNC
Προφανώς ένας από τους καλύτερους τρόπους για να ξέρετε αν έχετε ανακαλυφθεί είναι να αναζητήσετε το domain σας μέσα σε μαύρες λίστες. Αν εμφανίζεται καταχωρημένο, με κάποιο τρόπο το domain σας ανιχνεύθηκε ως ύποπτο. Ένας εύκολος τρόπος για να ελέγξετε αν το domain σας εμφανίζεται σε οποιαδήποτε μαύρη λίστα είναι να χρησιμοποιήσετε https://malwareworld.com/
Ωστόσο, υπάρχουν και άλλοι τρόποι για να ξέρετε αν το θύμα αναζητά ενεργά ύποπτη phishing δραστηριότητα στον κόσμο όπως εξηγείται σε:
Μπορείτε να αγοράσετε ένα domain με πολύ παρόμοιο όνομα με το domain του θύματος και/ή να δημιουργήσετε ένα πιστοποιητικό για ένα subdomain ενός domain που ελέγχετε περιέχοντας τη λέξη-κλειδί του domain του θύματος. Αν το θύμα εκτελέσει οποιαδήποτε μορφή DNS ή HTTP αλληλεπίδρασης με αυτά, θα ξέρετε ότι αναζητά ενεργά ύποπτα domains και θα χρειαστεί να είστε πολύ διακριτικοί.
Χρησιμοποιήστε Phishious για να αξιολογήσετε αν το email σας θα καταλήξει στο φάκελο spam ή αν θα μπλοκαριστεί ή θα είναι επιτυχές.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)