hacktricks/generic-methodologies-and-resources/phishing-methodology
Translator workflow 35c6b081d2 Translated to Greek
2024-02-10 22:40:18 +00:00
..
clone-a-website.md Translated to Greek 2024-02-10 22:40:18 +00:00
detecting-phising.md Translated to Greek 2024-02-10 22:40:18 +00:00
phishing-documents.md Translated to Greek 2024-02-10 22:40:18 +00:00
README.md Translated to Greek 2024-02-10 22:40:18 +00:00

Μεθοδολογία Phishing

Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το htARTE (HackTricks AWS Red Team Expert)!

Άλλοι τρόποι για να υποστηρίξετε το HackTricks:

Μεθοδολογία

  1. Εξερεύνηση του θύματος
  2. Επιλέξτε το τομέα του θύματος.
  3. Εκτελέστε μερικές βασικές εντοπίσεις στον ιστό αναζητώντας για πύλες σύνδεσης που χρησιμοποιεί το θύμα και αποφασίστε ποια θα παραπλανήσετε.
  4. Χρησιμοποιήστε κάποιο OSINT για να βρείτε email.
  5. Προετοιμάστε το περιβάλλον
  6. Αγοράστε τον τομέα που θα χρησιμοποιήσετε για την αξιολόγηση phishing
  7. Διαμορφώστε την υπηρεσία email σχετικά με τις εγγραφές (SPF, DMARC, DKIM, rDNS)
  8. Διαμορφώστε το VPS με το gophish
  9. Προετοιμάστε την εκστρατεία
  10. Προετοιμάστε το πρότυπο email
  11. Προετοιμάστε την ιστοσελίδα για να κλέψετε τα διαπιστευτήρια
  12. Ξεκινήστε την εκστρατεία!

Δημιουργία παρόμοιων ονομάτων τομέων ή αγορά ενός αξιόπιστου τομέα

Τεχνικές Παραλλαγής Ονομάτων Τομέων

  • Λέξη-κλειδί: Το όνομα του τομέα περιέχει μια σημαντική λέξη-κλειδί του αρχικού τομέα (π.χ., zelster.com-management.com).
  • Υποτομέας με παύλα: Αλλάξτε το τελεία με παύλα ενός υποτομέα (π.χ., www-zelster.com).
  • Νέο TLD: Ίδιος τομέας χρησιμοποιώντας ένα νέο TLD (π.χ., zelster.org)
  • Homoglyph: Αντικαθιστά μια γράμματος στο όνομα του τομέα με γράμματα που μοιάζουν παρόμοια (π.χ., zelfser.com).
  • Αντιστροφή: Ανταλλάσσει δύο γράμματα μέσα στο όνομα του τομέα (π.χ., zelster.com).
  • Ενικότητα/Πληθυντικότητα: Προσθέτει ή αφαιρεί το "s" στο τέλος του ονόματος του τομέα (π.χ., zeltsers.com).
  • Παράλειψη: Αφαιρεί ένα από τα γράμματα από το όνομα του τομέα (π.χ., zelser.com).
  • Επανάληψη: Επαναλαμβάνει ένα από τα γράμματα στο όνομα του τομέα (π.χ., zeltsser.com).
  • Αντικατάσταση: Όπως το homoglyph αλλά λιγότερο αόρατο. Αντικαθιστά ένα από τα γράμματα στο όνομα του τομέα, ίσως με ένα γράμμα κοντά στο αρχικό γράμμα στο πληκτρολόγιο (π.χ., zektser.com).
  • Υποτομέας: Εισάγει μια τελεία μέσα στο όνομα του τομέα (π.χ., ze.lster.com).
  • Εισαγωγή: Εισάγει ένα γράμμα στο όνομα του τομέα (π.χ., zerltser.com).
  • Λείπουσα τελεία: Προσθέστε το TLD στο όνομα του τομέα. (π.χ., zelstercom.com)

Αυτόματα Εργαλεία

ssh -L 3333:127.0.0.1:3333 <user>@<ip>

Ρύθμιση

Ρύθμιση πιστοποιητικού TLS

Πριν από αυτό το βήμα, θα πρέπει να έχετε ήδη αγοράσει τον τομέα που πρόκειται να χρησιμοποιήσετε και πρέπει να δείχνει προς την IP του VPS όπου ρυθμίζετε το gophish.

DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
sudo apt install snapd
sudo snap install core
sudo snap refresh core
sudo apt-get remove certbot
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
certbot certonly --standalone -d "$DOMAIN"
mkdir /opt/gophish/ssl_keys
cp "/etc/letsencrypt/live/$DOMAIN/privkey.pem" /opt/gophish/ssl_keys/key.pem
cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt

Ρύθμιση ηλεκτρονικού ταχυδρομείου

Ξεκινήστε την εγκατάσταση: apt-get install postfix

Στη συνέχεια, προσθέστε τον τομέα στα ακόλουθα αρχεία:

  • /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 με το όνομα του τομέα σας και επανεκκινήστε το VPS σας.

Τώρα, δημιουργήστε ένα DNS A record για το mail.<domain> που να δείχνει στη διεύθυνση IP του VPS και ένα DNS MX record που να δείχνει στο mail.<domain>

Ας δοκιμάσουμε τώρα να στείλουμε ένα ηλεκτρονικό μήνυμα:

apt install mailutils
echo "This is the body of the email" | mail -s "This is the subject line" test@email.com

Ρύθμιση του Gophish

Σταματήστε την εκτέλεση του Gophish και ας το ρυθμίσουμε.
Τροποποιήστε το /opt/gophish/config.json ως εξής (σημειώστε τη χρήση του https):

{
"admin_server": {
"listen_url": "127.0.0.1:3333",
"use_tls": true,
"cert_path": "gophish_admin.crt",
"key_path": "gophish_admin.key"
},
"phish_server": {
"listen_url": "0.0.0.0:443",
"use_tls": true,
"cert_path": "/opt/gophish/ssl_keys/key.crt",
"key_path": "/opt/gophish/ssl_keys/key.pem"
},
"db_name": "sqlite3",
"db_path": "gophish.db",
"migrations_prefix": "db/db_",
"contact_address": "",
"logging": {
"filename": "",
"level": ""
}
}

Ρύθμιση της υπηρεσίας gophish

Για να δημιουργήσετε την υπηρεσία gophish έτσι ώστε να μπορεί να ξεκινά αυτόματα και να διαχειρίζεται μια υπηρεσία, μπορείτε να δημιουργήσετε το αρχείο /etc/init.d/gophish με τον παρακάτω περιεχόμενο:

#!/bin/bash
# /etc/init.d/gophish
# initialization file for stop/start of gophish application server
#
# chkconfig: - 64 36
# description: stops/starts gophish application server
# processname:gophish
# config:/opt/gophish/config.json
# From https://github.com/gophish/gophish/issues/586

# define script variables

processName=Gophish
process=gophish
appDirectory=/opt/gophish
logfile=/var/log/gophish/gophish.log
errfile=/var/log/gophish/gophish.error

start() {
echo 'Starting '${processName}'...'
cd ${appDirectory}
nohup ./$process >>$logfile 2>>$errfile &
sleep 1
}

stop() {
echo 'Stopping '${processName}'...'
pid=$(/bin/pidof ${process})
kill ${pid}
sleep 1
}

status() {
pid=$(/bin/pidof ${process})
if [["$pid" != ""| "$pid" != "" ]]; then
echo ${processName}' is running...'
else
echo ${processName}' is not running...'
fi
}

case $1 in
start|stop|status) "$1" ;;
esac

Ολοκληρώστε τη διαμόρφωση της υπηρεσίας και ελέγξτε την εκτελώντας:

mkdir /var/log/gophish
chmod +x /etc/init.d/gophish
update-rc.d gophish defaults
#Check the service
service gophish start
service gophish status
ss -l | grep "3333\|443"
service gophish stop

Ρύθμιση διακομιστή αλληλογραφίας και τομέα

Περιμένετε και είστε νόμιμοι

Όσο πιο παλιός είναι ένας τομέας, τόσο λιγότερο πιθανό είναι να πιαστεί ως ανεπιθύμητο μήνυμα. Συνεπώς, θα πρέπει να περιμένετε όσο το δυνατόν περισσότερο χρόνο (τουλάχιστον 1 εβδομάδα) πριν αξιολογήσετε το phishing. Επιπλέον, αν δημιουργήσετε μια σελίδα για έναν τομέα με καλή φήμη, η φήμη που θα αποκτηθεί θα είναι καλύτερη.

Σημειώστε ότι ακόμα κι αν πρέπει να περιμένετε μια εβδομάδα, μπορείτε να ολοκληρώσετε τη ρύθμιση όλων τώρα.

Ρύθμιση αντίστροφης επίλυσης (rDNS) εγγραφής

Ορίστε μια αντίστροφη επίλυση (PTR) εγγραφή που επιλύει τη διεύθυνση IP του VPS στο όνομα τομέα.

Εγγραφή πλαισίου πολιτικής αποστολέα (SPF)

Πρέπει να ρυθμίσετε μια εγγραφή SPF για τον νέο τομέα. Αν δεν γνωρίζετε τι είναι μια εγγραφή SPF διαβάστε αυτήν τη σελίδα.

Μπορείτε να χρησιμοποιήσετε το https://www.spfwizard.net/ για να δημιουργήσετε την πολιτική SPF σας (χρησιμοποιήστε τη διεύθυνση IP του VPS μηχανής)

Αυτό είναι το περιεχόμενο που πρέπει να οριστεί μέσα σε μια εγγραφή TXT εντός του τομέα:

v=spf1 mx a ip4:ip.ip.ip.ip ?all

Εγγραφή Domain-based Message Authentication, Reporting & Conformance (DMARC)

Πρέπει να διαμορφώσετε μια εγγραφή DMARC για το νέο domain. Αν δεν ξέρετε τι είναι μια εγγραφή DMARC διαβάστε αυτήν τη σελίδα.

Πρέπει να δημιουργήσετε μια νέα εγγραφή DNS TXT που να δείχνει στο hostname _dmarc.<domain> με τον παρακάτω περιεχόμενο:

v=DMARC1; p=none

DomainKeys Identified Mail (DKIM)

Πρέπει να διαμορφώσετε ένα DKIM για το νέο domain. Αν δεν ξέρετε τι είναι ένα DMARC record διαβάστε αυτήν τη σελίδα.

Αυτός ο οδηγός βασίζεται στο: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy

{% hint style="info" %} Πρέπει να συνενώσετε και τις δύο τιμές B64 που δημιουργεί το DKIM key:

v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB

{% endhint %}

Δοκιμάστε το σκορ ρύθμισης του email σας

Μπορείτε να το κάνετε αυτό χρησιμοποιώντας το https://www.mail-tester.com/
Απλά επισκεφθείτε τη σελίδα και στείλτε ένα email στη διεύθυνση που σας δίνουν:

echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com

Μπορείτε επίσης να ελέγξετε τη διαμόρφωση του ηλεκτρονικού σας ταχυδρομείου αποστέλλοντας ένα email στο check-auth@verifier.port25.com και διαβάζοντας την απόκριση (για αυτό θα πρέπει να ανοίξετε τη θύρα 25 και να δείτε την απόκριση στο αρχείο /var/mail/root αν στείλετε το email ως root).
Βεβαιωθείτε ότι περνάτε όλα τα τεστ:

==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         pass
Sender-ID check:    pass
SpamAssassin check: ham

Μπορείτε επίσης να στείλετε ένα μήνυμα σε ένα Gmail υπό τον έλεγχό σας, και να ελέγξετε τους κεφαλίδες του email στο εισερχόμενο του Gmail, το dkim=pass θα πρέπει να είναι παρόν στο πεδίο κεφαλίδας Authentication-Results.

Authentication-Results: mx.google.com;
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
dkim=pass header.i=@example.com;

Αφαίρεση από τη Μαύρη Λίστα του Spamhouse

Η σελίδα www.mail-tester.com μπορεί να σας ενημερώσει αν το domain σας έχει μπλοκαριστεί από το spamhouse. Μπορείτε να ζητήσετε το domain/IP σας να αφαιρεθεί από εκεί: https://www.spamhaus.org/lookup/

Αφαίρεση από τη Μαύρη Λίστα της Microsoft

Μπορείτε να ζητήσετε το domain/IP σας να αφαιρεθεί από εκεί: https://sender.office.com/.

Δημιουργία και Εκτέλεση Επίθεσης GoPhish

Προφίλ Αποστολέα

  • Ορίστε ένα όνομα για αναγνώριση του προφίλ αποστολέα
  • Αποφασίστε από ποιο λογαριασμό θα στείλετε τα ψεύτικα email. Προτάσεις: noreply, support, servicedesk, salesforce...
  • Μπορείτε να αφήσετε κενά το όνομα χρήστη και ο κωδικός πρόσβασης, αλλά βεβαιωθείτε ότι έχετε επιλέξει την επιλογή Αγνόηση Σφαλμάτων Πιστοποιητικού

{% hint style="info" %} Συνιστάται να χρησιμοποιήσετε τη λειτουργία "Αποστολή Δοκιμαστικού Email" για να ελέγξετε ότι όλα λειτουργούν σωστά.
Θα συνιστούσα να στείλετε τα δοκιμαστικά email σε διευθύνσεις 10min mail για να αποφύγετε να μπείτε στη μαύρη λίστα κατά τη διάρκεια των δοκιμών. {% endhint %}

Πρότυπο Email

  • Ορίστε ένα όνομα για αναγνώριση του προτύπου
  • Στη συνέχεια, γράψτε ένα θέμα (κάτι κανονικό που θα περιμένατε να διαβάσετε σε ένα κανονικό email)
  • Βεβαιωθείτε ότι έχετε επιλέξει την επιλογή "Προσθήκη Εικόνας Παρακολούθησης"
  • Γράψτε το πρότυπο email (μπορείτε να χρησιμοποιήσετε μεταβλητές όπως στο παρακάτω παράδειγμα):
<html>
<head>
<title></title>
</head>
<body>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:&quot;Verdana&quot;,sans-serif;color:black">Dear {{.FirstName}} {{.LastName}},</span></p>
<br />
Note: We require all user to login an a very suspicios page before the end of the week, thanks!<br />
<br />
Regards,</span></p>

WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY

<p>{{.Tracker}}</p>
</body>
</html>

Σημείωση ότι για να αυξήσετε την αξιοπιστία του email, συνιστάται να χρησιμοποιήσετε μια υπογραφή από ένα email του πελάτη. Προτάσεις:

  • Στείλτε ένα email σε μια μη υπάρχουσα διεύθυνση και ελέγξτε αν η απάντηση έχει κάποια υπογραφή.
  • Αναζητήστε δημόσια emails όπως info@ex.com ή press@ex.com ή public@ex.com και στείλτε τους ένα email και περιμένετε για την απάντηση.
  • Προσπαθήστε να επικοινωνήσετε με κάποιο έγκυρο ανακαλυφθέν email και περιμένετε για την απάντηση.

{% hint style="info" %} Το Πρότυπο Email επίσης επιτρέπει να συνημμένα αρχεία για αποστολή. Αν θέλετε επίσης να κλέψετε προκλήσεις NTLM χρησιμοποιώντας κάποια ειδικά δημιουργημένα αρχεία/έγγραφα διαβάστε αυτήν τη σελίδα. {% endhint %}

Σελίδα Προσγείωσης

  • Γράψτε ένα όνομα
  • Γράψτε τον κώδικα HTML της ιστοσελίδας. Σημειώστε ότι μπορείτε να εισάγετε ιστοσελίδες.
  • Σημειώστε Καταγραφή Υποβληθέντων Δεδομένων και Καταγραφή Κωδικών Πρόσβασης
  • Ορίστε μια ανακατεύθυνση

{% hint style="info" %} Συνήθως θα χρειαστεί να τροποποιήσετε τον κώδικα HTML της σελίδας και να κάνετε μερικές δοκιμές τοπικά (ίσως χρησιμοποιώντας κάποιον διακομιστή Apache) μέχρι να σας αρέσουν τα αποτελέσματα. Στη συνέχεια, γράψτε αυτόν τον κώδικα HTML στο πλαίσιο.
Σημειώστε ότι αν χρειάζεστε να χρησιμοποιήσετε κάποιους στατικούς πόρους για το HTML (ίσως κάποιες σελίδες CSS και JS) μπορείτε να τις αποθηκεύσετε στο /opt/gophish/static/endpoint και στη συνέχεια να τις προσπελάσετε από /static/<όνομα αρχείου> {% endhint %}

{% hint style="info" %} Για την ανακατεύθυνση μπορείτε να ανακατευθύνετε τους χρήστες στην πραγματική κύρια ιστοσελίδα του θύματος, ή να τους ανακατευθύνετε σε /static/migration.html για παράδειγμα, να βάλετε κάποιο περιστρεφόμενο τροχό (https://loading.io/) για 5 δευτερόλεπτα και στη συνέχεια να υποδείξετε ότι η διαδικασία ήταν επιτυχής. {% endhint %}

Χρήστες & Ομάδες

  • Ορίστε ένα όνομα
  • Εισαγάγετε τα δεδομένα (σημειώστε ότι για να χρησιμοποιήσετε το πρότυπο για το παράδειγμα χρειάζεστε το όνομα, το επώνυμο και τη διεύθυνση email κάθε χρήστη)

Εκστρατεία

Τέλος, δημιουργήστε μια εκστρατεία επιλέγοντας ένα όνομα, το πρότυπο email, τη σελίδα προσγείωσης, το URL, το προφίλ αποστολής και την ομάδα. Σημειώστε ότι το URL θα είναι ο σύνδεσμος που θα σταλεί στα θύματα

Σημείωση ότι το **Προφίλ Αποστολής επιτρέπει να στείλετε ένα δοκιμαστικό email για να δείτε πώς