diff --git a/src/generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md b/src/generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md index 4d9385316..5a6db9304 100644 --- a/src/generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md +++ b/src/generic-methodologies-and-resources/pentesting-wifi/enable-nexmon-monitor-and-injection-on-android.md @@ -3,7 +3,7 @@ {{#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) як приклад, використовуючи: @@ -23,7 +23,7 @@ * `/system/lib*/libnexmon.so` * `/system/xbin/nexutil` * Hijacker ≥ 1.7 (arm/arm64) – [https://github.com/chrisk44/Hijacker](https://github.com/chrisk44/Hijacker) -* (Необов'язково) Kali NetHunter або будь-який Linux chroot, де ви плануєте запускати бездротові інструменти +* (Додатково) Kali NetHunter або будь-який Linux chroot, де ви плануєте запускати бездротові інструменти --- @@ -53,13 +53,13 @@ nexutil -m0; svc wifi enable ``` Увімкніть “Start monitor mode on airodump start”, щоб кожен скан Hijacker відбувався в рідному моніторинговому режимі (`wlan0` замість `wlan0mon`). -Якщо Hijacker показує помилки під час запуску, створіть необхідний каталог на спільному сховищі та знову відкрийте додаток: +Якщо Hijacker показує помилки під час запуску, створіть необхідний каталог на загальному сховищі та знову відкрийте додаток: ```bash mkdir -p /storage/emulated/0/Hijacker ``` ### Що означають ці прапори `nexutil`? * **`-s0x613`** Записати змінну прошивки 0x613 (FCAP_FRAME_INJECTION) → `1` (увімкнути TX довільних кадрів). -* **`-i`** Перевести інтерфейс в моніторний режим (заголовок radiotap буде додано). +* **`-i`** Перевести інтерфейс в моніторний режим (заголовок radiotap буде додано на початку). * **`-v2`** Встановити рівень детальності; `2` виводить підтвердження та версію прошивки. * **`-m0`** Відновити керований режим (використовується в команді *disable*). @@ -104,7 +104,7 @@ wifite -i wlan0 # або aircrack-ng, mdk4 … ## Типові можливі атаки Якщо монітор + TX активні, ви можете: * Захоплювати WPA(2/3-SAE) хендшейки або PMKID за допомогою `wifite`, `hcxdumptool`, `airodump-ng`. -* Ін'єктувати кадри деавторизації / дисасоціації, щоб змусити клієнтів перепідключитися. +* Ін'єктувати кадри деаутентифікації / дисасоціації, щоб змусити клієнтів перепідключитися. * Створювати довільні управлінські/дані кадри за допомогою `mdk4`, `aireplay-ng`, Scapy тощо. * Будувати підроблені AP або виконувати атаки KARMA/MANA безпосередньо з телефону. diff --git a/src/images/discount.jpeg b/src/images/discount.jpeg new file mode 100644 index 000000000..5c0b098d4 Binary files /dev/null and b/src/images/discount.jpeg differ diff --git a/src/mobile-pentesting/android-app-pentesting/README.md b/src/mobile-pentesting/android-app-pentesting/README.md index c8c3eb4a1..885fa218b 100644 --- a/src/mobile-pentesting/android-app-pentesting/README.md +++ b/src/mobile-pentesting/android-app-pentesting/README.md @@ -48,12 +48,12 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed ``` ## Статичний аналіз -По-перше, для аналізу APK вам слід **ознайомитися з Java кодом** за допомогою декомпілера.\ +По-перше, для аналізу APK вам слід **ознайомитися з Java-кодом** за допомогою декомпілера.\ Будь ласка, [**читайте тут, щоб знайти інформацію про різні доступні декомпілери**](apk-decompilers.md). ### Пошук цікавої інформації -Просто ознайомившись з **рядками** APK, ви можете шукати **паролі**, **URL-адреси** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **api** ключі, **шифрування**, **bluetooth uuids**, **токени** та будь-яку цікаву інформацію... шукайте навіть код виконання **бекдорів** або бекдори аутентифікації (жорстко закодовані облікові дані адміністратора для програми). +Просто переглядаючи **рядки** APK, ви можете шукати **паролі**, **URL-адреси** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), **api** ключі, **шифрування**, **bluetooth uuids**, **токени** та будь-яку цікаву інформацію... шукайте навіть код виконання **бекдорів** або бекдори аутентифікації (жорстко закодовані облікові дані адміністратора для програми). **Firebase** @@ -73,11 +73,11 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed - **Отримувачі широкомовлення та URL-схеми**: Ці компоненти можуть бути використані для експлуатації, з особливою увагою до того, як управляються URL-схеми для вразливостей введення. - **Версії SDK**: Атрибути `minSdkVersion`, `targetSDKVersion` та `maxSdkVersion` вказують на підтримувані версії Android, підкреслюючи важливість непідтримки застарілих, вразливих версій Android з міркувань безпеки. -З файлу **strings.xml** можна виявити чутливу інформацію, таку як API ключі, власні схеми та інші нотатки розробників, що підкреслює необхідність ретельного перегляду цих ресурсів. +З файлу **strings.xml** можна виявити чутливу інформацію, таку як API-ключі, власні схеми та інші нотатки розробників, що підкреслює необхідність ретельного перегляду цих ресурсів. ### Tapjacking -**Tapjacking** - це атака, коли **зловмисна** **програма** запускається і **розташовується поверх програми жертви**. Як тільки вона видимо закриває програму жертви, її інтерфейс користувача спроектований таким чином, щоб обманути користувача взаємодіяти з нею, в той час як вона передає взаємодію до програми жертви.\ +**Tapjacking** - це атака, коли **зловмисна** **програма** запускається і **розташовується поверх програми жертви**. Як тільки вона видимо закриває програму жертви, її інтерфейс користувача спроектований так, щоб обманути користувача взаємодіяти з нею, в той час як вона передає взаємодію до програми жертви.\ Фактично, це **осліплює користувача, не даючи йому знати, що він насправді виконує дії в програмі жертви**. Знайдіть більше інформації в: @@ -86,9 +86,9 @@ java -jar uber-apk-signer.jar -a merged.apk --allowResign -o merged_signed tapjacking.md {{#endref}} -### Захоплення завдань +### Викрадення завдань -**Активність** з **`launchMode`**, встановленим на **`singleTask` без визначеного `taskAffinity`**, вразлива до захоплення завдань. Це означає, що **програму** можна встановити, і якщо вона запуститься до реальної програми, вона може **захопити завдання реальної програми** (так що користувач буде взаємодіяти з **зловмисною програмою, вважаючи, що використовує реальну**). +**Активність** з **`launchMode`**, встановленим на **`singleTask` без визначеного `taskAffinity`**, вразлива до викрадення завдань. Це означає, що **програму** можна встановити, і якщо її запустити перед реальною програмою, вона може **викрасти завдання реальної програми** (так що користувач буде взаємодіяти з **зловмисною програмою, вважаючи, що використовує реальну**). Більше інформації в: @@ -105,30 +105,30 @@ android-task-hijacking.md 1. **Статичний аналіз:** - **Переконайтеся**, що використання `MODE_WORLD_READABLE` і `MODE_WORLD_WRITABLE` **ретельно перевіряється**. Ці режими **можуть потенційно відкрити** файли для **небажаного або несанкціонованого доступу**. 2. **Динамічний аналіз:** -- **Перевірте** **дозволи**, встановлені на файли, створені програмою. Зокрема, **перевірте**, чи є файли, **встановлені на читання або запис для всіх**. Це може становити значний ризик для безпеки, оскільки це дозволить **будь-якій програмі**, встановленій на пристрої, незалежно від її походження чи наміру, **читати або змінювати** ці файли. +- **Перевірте** **дозволи**, встановлені на файли, створені програмою. Зокрема, **перевірте**, чи є файли **встановленими на читання або запис для всіх**. Це може становити значний ризик для безпеки, оскільки це дозволить **будь-якій програмі**, встановленій на пристрої, незалежно від її походження чи наміру, **читати або змінювати** ці файли. **Зовнішнє зберігання** При роботі з файлами на **зовнішньому зберіганні**, наприклад, на SD-картах, слід вжити певних запобіжних заходів: 1. **Доступність**: -- Файли на зовнішньому зберіганні є **глобально доступними для читання та запису**. Це означає, що будь-яка програма або користувач можуть отримати доступ до цих файлів. +- Файли на зовнішньому зберіганні є **глобально читабельними та записуваними**. Це означає, що будь-яка програма або користувач можуть отримати доступ до цих файлів. 2. **Проблеми безпеки**: - З огляду на легкість доступу, рекомендується **не зберігати чутливу інформацію** на зовнішньому зберіганні. - Зовнішнє зберігання може бути видалено або доступно будь-якою програмою, що робить його менш безпечним. 3. **Обробка даних з зовнішнього зберігання**: -- Завжди **виконуйте перевірку введення** даних, отриманих з зовнішнього зберігання. Це важливо, оскільки дані надходять з ненадійного джерела. +- Завжди **виконуйте перевірку введення** на дані, отримані з зовнішнього зберігання. Це важливо, оскільки дані надходять з ненадійного джерела. - Зберігання виконуваних файлів або класів на зовнішньому зберіганні для динамічного завантаження категорично не рекомендується. - Якщо ваша програма повинна отримувати виконувані файли з зовнішнього зберігання, переконайтеся, що ці файли **підписані та криптографічно перевірені** перед їх динамічним завантаженням. Цей крок є важливим для підтримки цілісності безпеки вашої програми. Зовнішнє зберігання може бути **доступним** у `/storage/emulated/0`, `/sdcard`, `/mnt/sdcard` > [!TIP] -> Починаючи з Android 4.4 (**API 17**), SD-карта має структуру каталогів, яка **обмежує доступ програми до каталогу, який спеціально призначений для цієї програми**. Це запобігає зловмисним програмам отримувати доступ для читання або запису до файлів іншої програми. +> Починаючи з Android 4.4 (**API 17**), SD-карта має структуру директорій, яка **обмежує доступ програми до директорії, яка спеціально призначена для цієї програми**. Це запобігає зловмисним програмам отримувати доступ на читання або запис до файлів іншої програми. **Чутливі дані, збережені у відкритому тексті** -- **Спільні налаштування**: Android дозволяє кожній програмі легко зберігати xml файли за адресою `/data/data//shared_prefs/`, і іноді можливо знайти чутливу інформацію у відкритому тексті в цій папці. +- **Спільні налаштування**: Android дозволяє кожній програмі легко зберігати xml-файли за адресою `/data/data//shared_prefs/`, і іноді можливо знайти чутливу інформацію у відкритому тексті в цій папці. - **Бази даних**: Android дозволяє кожній програмі легко зберігати sqlite бази даних за адресою `/data/data//databases/`, і іноді можливо знайти чутливу інформацію у відкритому тексті в цій папці. ### Пошкоджений TLS @@ -155,10 +155,10 @@ sf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); ### Інші перевірки - Рекомендується **обфускувати APK**, щоб ускладнити реверс-інженерні роботи для зловмисників. -- Якщо додаток є чутливим (наприклад, банківські додатки), він повинен виконувати **власні перевірки, щоб дізнатися, чи пристрій є рутованим**, і діяти відповідно. +- Якщо додаток є чутливим (наприклад, банківські додатки), він повинен виконувати **власні перевірки, щоб дізнатися, чи є мобільний пристрій зламаним**, і діяти відповідно. - Якщо додаток є чутливим (наприклад, банківські додатки), він повинен перевіряти, чи використовується **емулятор**. - Якщо додаток є чутливим (наприклад, банківські додатки), він повинен **перевіряти свою цілісність перед виконанням**, щоб перевірити, чи був він змінений. -- Використовуйте [**APKiD**](https://github.com/rednaga/APKiD), щоб перевірити, який компілятор/упаковщик/обфускатор був використаний для створення APK +- Використовуйте [**APKiD**](https://github.com/rednaga/APKiD), щоб перевірити, який компілятор/упаковщик/обфускатор був використаний для створення APK. ### React Native Application @@ -182,13 +182,13 @@ react-native-application.md ### Автоматизований статичний аналіз коду -Інструмент [**mariana-trench**](https://github.com/facebook/mariana-trench) здатний знаходити **вразливості** шляхом **сканування** **коду** програми. Цей інструмент містить ряд **відомих джерел** (які вказують інструменту **місця**, де **вхід** **контролюється користувачем), **синків** (які вказують інструменту **небезпечні** **місця**, де шкідливий вхід користувача може завдати шкоди) та **правил**. Ці правила вказують на **комбінацію** **джерел-синків**, яка вказує на вразливість. +Інструмент [**mariana-trench**](https://github.com/facebook/mariana-trench) здатний знаходити **вразливості** шляхом **сканування** **коду** програми. Цей інструмент містить серію **відомих джерел** (які вказують інструменту **місця**, де **вхід** **контролюється користувачем**), **синків** (які вказують інструменту **небезпечні** **місця**, де шкідливий вхід користувача може завдати шкоди) та **правил**. Ці правила вказують на **комбінацію** **джерел-синків**, яка вказує на вразливість. З цими знаннями **mariana-trench перегляне код і знайде можливі вразливості в ньому**. ### Витік секретів -Додаток може містити секрети (API ключі, паролі, приховані URL, піддомени...) всередині, які ви можете виявити. Ви можете використовувати інструмент, такий як [https://github.com/dwisiswant0/apkleaks](https://github.com/dwisiswant0/apkleaks) +Додаток може містити секрети (API ключі, паролі, приховані URL, піддомени...) всередині, які ви можете виявити. Ви можете використовувати інструмент, такий як [https://github.com/dwisiswant0/apkleaks](https://github.com/dwisiswant0/apkleaks). ### Обхід біометричної аутентифікації @@ -215,7 +215,7 @@ content-protocol.md ## Динамічний аналіз -> По-перше, вам потрібне середовище, де ви можете встановити додаток і все середовище (сертифікат CA Burp, Drozer і Frida в основному). Тому рутований пристрій (емулятор чи ні) є надзвичайно рекомендованим. +> По-перше, вам потрібне середовище, де ви можете встановити додаток і все середовище (сертифікат Burp CA, Drozer і Frida в основному). Тому дуже рекомендується використовувати зламаний пристрій (емулятор або ні). ### Онлайн динамічний аналіз @@ -231,7 +231,7 @@ content-protocol.md #### Використання емулятора -- [**Android Studio**](https://developer.android.com/studio) (Ви можете створити **x86** та **arm** пристрої, і відповідно до [**цього**](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**останні x86** версії **підтримують ARM бібліотеки** без необхідності повільного емулятора arm). +- [**Android Studio**](https://developer.android.com/studio) (Ви можете створювати **x86** та **arm** пристрої, і відповідно до [**цього**](https://android-developers.googleblog.com/2020/03/run-arm-apps-on-android-emulator.html)**останні версії x86** підтримують ARM бібліотеки без необхідності в повільному емуляторі arm). - Дізнайтеся, як налаштувати його на цій сторінці: {{#ref}} @@ -252,7 +252,7 @@ avd-android-virtual-device.md #### Використання фізичного пристрою -Вам потрібно активувати **опції налагодження**, і було б добре, якщо ви зможете **рутнути** його: +Вам потрібно активувати **опції налагодження**, і було б добре, якщо ви зможете **зламати** його: 1. **Налаштування**. 2. (З Android 8.0) Виберіть **Система**. @@ -260,14 +260,14 @@ avd-android-virtual-device.md 4. Натисніть **Номер збірки** 7 разів. 5. Поверніться назад, і ви знайдете **Опції розробника**. -> Після того, як ви встановили додаток, перше, що вам слід зробити, це спробувати його та дослідити, що він робить, як він працює і звикнути до нього.\ +> Як тільки ви встановили додаток, перше, що ви повинні зробити, це спробувати його та дослідити, що він робить, як він працює і звикнути до нього.\ > Я рекомендую **виконати цей початковий динамічний аналіз, використовуючи динамічний аналіз MobSF + pidcat**, щоб ми могли **вивчити, як працює додаток**, поки MobSF **збирає** багато **цікавих** **даних**, які ви зможете переглянути пізніше. ### Ненавмисний витік даних **Логування** -Розробники повинні бути обережними, щоб не оприлюднювати **інформацію для налагодження**, оскільки це може призвести до витоку чутливих даних. Рекомендується використовувати інструменти [**pidcat**](https://github.com/JakeWharton/pidcat) та `adb logcat` для моніторингу журналів додатка, щоб виявити та захистити чутливу інформацію. **Pidcat** віддається перевага за його простоту використання та читабельність. +Розробники повинні бути обережними, щоб не розкривати **інформацію для налагодження** публічно, оскільки це може призвести до витоку чутливих даних. Рекомендується використовувати інструменти [**pidcat**](https://github.com/JakeWharton/pidcat) та `adb logcat` для моніторингу журналів додатка, щоб виявити та захистити чутливу інформацію. **Pidcat** віддається перевага за його простоту використання та читабельність. > [!WARNING] > Зверніть увагу, що з **пізніми версіями Android 4.0**, **додатки можуть отримувати доступ лише до своїх власних журналів**. Тому додатки не можуть отримувати доступ до журналів інших додатків.\ @@ -275,13 +275,13 @@ avd-android-virtual-device.md **Кешування буфера копіювання/вставки** -Фреймворк Android на основі **буфера обміну** дозволяє функціональність копіювання-вставки в додатках, але несе ризик, оскільки **інші додатки** можуть **отримати доступ** до буфера обміну, потенційно відкриваючи чутливі дані. Важливо **відключити функції копіювання/вставки** для чутливих розділів програми, таких як дані кредитних карток, щоб запобігти витоку даних. +**Кліпборд** Android дозволяє функціональність копіювання-вставки в додатках, але це створює ризик, оскільки **інші додатки** можуть **отримати доступ** до буфера обміну, потенційно розкриваючи чутливі дані. Важливо **відключити функції копіювання/вставки** для чутливих частин програми, таких як дані кредитних карток, щоб запобігти витоку даних. **Журнали аварій** -Якщо додаток **виникає аварія** і **зберігає журнали**, ці журнали можуть допомогти зловмисникам, особливо коли додаток не може бути реверсовано. Щоб зменшити цей ризик, уникайте ведення журналів при аваріях, а якщо журнали повинні передаватися через мережу, переконайтеся, що вони надсилаються через SSL-канал для безпеки. +Якщо додаток **зависає** і **зберігає журнали**, ці журнали можуть допомогти зловмисникам, особливо коли додаток не може бути реверсовано. Щоб зменшити цей ризик, уникайте ведення журналів при аваріях, а якщо журнали повинні передаватися через мережу, переконайтеся, що вони надсилаються через SSL-канал для безпеки. -Як пентестер, **слідкуйте за цими журналами**. +Як пентестер, **спробуйте переглянути ці журнали**. **Дані аналітики, надіслані третім особам** @@ -289,12 +289,12 @@ avd-android-virtual-device.md ### SQLite БД -Більшість додатків використовуватимуть **внутрішні SQLite бази даних** для збереження інформації. Під час пентесту зверніть увагу на **бази даних**, що створюються, назви **таблиць** та **стовпців** і всі **дані**, що зберігаються, оскільки ви можете знайти **чутливу інформацію** (що буде вразливістю).\ -Бази даних повинні розташовуватися в `/data/data/the.package.name/databases`, наприклад, `/data/data/com.mwr.example.sieve/databases` +Більшість додатків використовуватимуть **внутрішні SQLite бази даних** для збереження інформації. Під час пентесту зверніть увагу на **бази даних**, які створені, назви **таблиць** та **стовпців** і всі **дані**, що зберігаються, оскільки ви можете знайти **чутливу інформацію** (що буде вразливістю).\ +Бази даних повинні розташовуватися в `/data/data/the.package.name/databases`, як `/data/data/com.mwr.example.sieve/databases`. -Якщо база даних зберігає конфіденційну інформацію і **зашифрована**, але ви можете **знайти** **пароль** всередині програми, це все ще є **вразливістю**. +Якщо база даних зберігає конфіденційну інформацію і **зашифрована**, але ви можете **знайти** **пароль** всередині програми, це все ще **вразливість**. -Перерахуйте таблиці, використовуючи `.tables`, і перераховуйте стовпці таблиць, виконуючи `.schema ` +Перерахуйте таблиці, використовуючи `.tables`, і перераховуйте стовпці таблиць, виконуючи `.schema `. ### Drozer (Експлуатація активностей, постачальників контенту та сервісів) @@ -308,7 +308,7 @@ Drozer є корисним інструментом для **експлуата **Обхід авторизації** -Коли активність експортується, ви можете викликати її екран з зовнішнього додатка. Тому, якщо активність з **чутливою інформацією** є **експортованою**, ви можете **обійти** механізми **автентифікації**, щоб отримати доступ до неї. +Коли активність експортується, ви можете викликати її екран з зовнішнього додатка. Тому, якщо активність з **чутливою інформацією** є **експортованою**, ви можете **обійти** механізми **авторизації**, щоб отримати доступ до неї. [**Дізнайтеся, як експлуатувати експортовані активності за допомогою Drozer.**](drozer-tutorial/index.html#activities) @@ -319,10 +319,10 @@ Drozer є корисним інструментом для **експлуата ```bash adb shell am start -n com.example.demo/com.example.test.MainActivity ``` -**NOTE**: MobSF виявить використання _**singleTask/singleInstance**_ як `android:launchMode` в активності як шкідливе, але через [це](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), очевидно, це небезпечно лише на старих версіях (версії API < 21). +**NOTE**: MobSF виявить використання _**singleTask/singleInstance**_ як `android:launchMode` в активності як шкідливе, але через [це](https://github.com/MobSF/Mobile-Security-Framework-MobSF/pull/750), очевидно, що це небезпечно лише в старих версіях (версії API < 21). > [!TIP] -> Зверніть увагу, що обхід авторизації не завжди є вразливістю, це залежить від того, як працює обхід і яка інформація розкривається. +> Зверніть увагу, що обхід авторизації не завжди є вразливістю, це залежить від того, як працює обхід і яка інформація піддається розкриттю. **Витік чутливої інформації** @@ -382,7 +382,7 @@ _Зверніть увагу, що ви можете **пропустити ім **Параметри в шляху** Ви **також повинні перевірити, чи використовує будь-яке глибоке посилання параметр всередині шляху** URL, наприклад: `https://api.example.com/v1/users/{username}`, у такому випадку ви можете примусити перехід по шляху, отримуючи доступ до чогось на кшталт: `example://app/users?username=../../unwanted-endpoint%3fparam=value`.\ -Зверніть увагу, що якщо ви знайдете правильні кінцеві точки всередині додатку, ви можете викликати **Open Redirect** (якщо частина шляху використовується як ім'я домену), **захоплення облікового запису** (якщо ви можете змінити деталі користувачів без CSRF токена, а вразлива кінцева точка використовувала правильний метод) та будь-яку іншу вразливість. Більше [інформації про це тут](http://dphoeniixx.com/2020/12/13-2/). +Зверніть увагу, що якщо ви знайдете правильні кінцеві точки всередині додатку, ви можете викликати **Open Redirect** (якщо частина шляху використовується як ім'я домену), **захоплення облікового запису** (якщо ви можете змінити дані користувачів без токена CSRF, а вразлива кінцева точка використовувала правильний метод) та будь-яку іншу вразливість. Більше [інформації про це тут](http://dphoeniixx.com/2020/12/13-2/). **Більше прикладів** @@ -392,7 +392,7 @@ _Зверніть увагу, що ви можете **пропустити ім - **Сертифікати не завжди належним чином перевіряються** Android-додатками. Це звичайна практика, коли ці додатки ігнорують попередження і приймають самопідписані сертифікати або, в деяких випадках, повертаються до використання HTTP-з'єднань. - **Переговори під час SSL/TLS рукопожаття іноді є слабкими**, використовуючи небезпечні шифри. Ця вразливість робить з'єднання вразливим до атак типу man-in-the-middle (MITM), що дозволяє зловмисникам розшифровувати дані. -- **Витік приватної інформації** є ризиком, коли додатки аутентифікуються за допомогою захищених каналів, але потім спілкуються через незахищені канали для інших транзакцій. Цей підхід не захищає чутливі дані, такі як сесійні куки або деталі користувачів, від перехоплення зловмисними особами. +- **Витік приватної інформації** є ризиком, коли додатки аутентифікуються за допомогою захищених каналів, але потім спілкуються через незахищені канали для інших транзакцій. Цей підхід не захищає чутливі дані, такі як сесійні куки або дані користувачів, від перехоплення зловмисними особами. #### Перевірка сертифікатів @@ -400,7 +400,7 @@ _Зверніть увагу, що ви можете **пропустити ім #### SSL Pinning -SSL Pinning - це захід безпеки, коли додаток перевіряє сертифікат сервера проти відомої копії, збереженої в самому додатку. Цей метод є важливим для запобігання атакам MITM. Рекомендується впроваджувати SSL Pinning для додатків, які обробляють чутливу інформацію. +SSL Pinning - це захід безпеки, коли додаток перевіряє сертифікат сервера проти відомої копії, збереженої в самому додатку. Цей метод є важливим для запобігання атакам MITM. Рекомендується впроваджувати SSL Pinning для додатків, що обробляють чутливу інформацію. #### Інспекція трафіку @@ -416,23 +416,23 @@ SSL Pinning - це захід безпеки, коли додаток перев - Автоматично **модифікуйте** **apk**, щоб **обійти** SSLPinning за допомогою [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). Найкраща перевага цього варіанту полягає в тому, що вам не потрібно мати root для обходу SSL Pinning, але вам потрібно буде видалити додаток і перевстановити новий, і це не завжди спрацює. - Ви можете використовувати **Frida** (обговорюється нижче), щоб обійти цю захист. Ось посібник з використання Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/) -- Ви також можете спробувати **автоматично обійти SSL Pinning** за допомогою [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"` -- Ви також можете спробувати **автоматично обійти SSL Pinning** за допомогою **MobSF динамічного аналізу** (пояснено нижче) +- Ви також можете спробувати **автоматично обійти SSL Pinning**, використовуючи [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"` +- Ви також можете спробувати **автоматично обійти SSL Pinning**, використовуючи **MobSF динамічний аналіз** (пояснено нижче) - Якщо ви все ще вважаєте, що є якийсь трафік, який ви не захоплюєте, ви можете спробувати **переслати трафік до burp за допомогою iptables**. Прочитайте цей блог: [https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62](https://infosecwriteups.com/bypass-ssl-pinning-with-ip-forwarding-iptables-568171b52b62) #### Пошук загальних веб-вразливостей -Важливо також шукати загальні веб-вразливості в додатку. Детальна інформація про виявлення та усунення цих вразливостей виходить за межі цього резюме, але широко висвітлюється в інших джерелах. +Важливо також шукати загальні веб-вразливості в додатку. Детальна інформація про виявлення та усунення цих вразливостей виходить за межі цього резюме, але вона широко висвітлюється в інших джерелах. ### Frida [Frida](https://www.frida.re) - це набір інструментів для динамічної інструментації для розробників, реверс-інженерів та дослідників безпеки.\ **Ви можете отримати доступ до працюючого додатку та підключати методи в реальному часі, щоб змінити поведінку, змінити значення, витягти значення, виконати різний код...**\ -Якщо ви хочете проводити тестування безпеки Android-додатків, вам потрібно знати, як використовувати Frida. +Якщо ви хочете провести тестування безпеки Android-додатків, вам потрібно знати, як використовувати Frida. - Дізнайтеся, як використовувати Frida: [**Посібник з Frida**](frida-tutorial/index.html) - Деякі "GUI" для дій з Frida: [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security) -- Ojection - це чудовий інструмент для автоматизації використання Frida: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon) +- Ojection - це чудово для автоматизації використання Frida: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon) - Ви можете знайти деякі чудові скрипти Frida тут: [**https://codeshare.frida.re/**](https://codeshare.frida.re) - Спробуйте обійти механізми анти-дебагінгу / анти-Frida, завантажуючи Frida, як вказано в [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (інструмент [linjector](https://github.com/erfur/linjector-rs)) @@ -455,7 +455,7 @@ strings * | grep -E "^[a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a-z]+ [a ``` ### **Чутливі дані в Keystore** -У Android Keystore є найкращим місцем для зберігання чутливих даних, однак, з достатніми привілеями все ще **можливо отримати доступ** до нього. Оскільки додатки, як правило, зберігають тут **чутливі дані у відкритому тексті**, пентести повинні перевіряти це як користувач root або хтось з фізичним доступом до пристрою може бути здатний вкрасти ці дані. +У Android Keystore є найкращим місцем для зберігання чутливих даних, однак, з достатніми привілеями все ще **можливо отримати доступ** до нього. Оскільки програми, як правило, зберігають тут **чутливі дані у відкритому тексті**, пентести повинні перевіряти це як користувач root або хтось з фізичним доступом до пристрою може бути здатний вкрасти ці дані. Навіть якщо додаток зберігав дані в keystore, дані повинні бути зашифровані. @@ -471,50 +471,50 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f ) @@ -530,10 +530,10 @@ MobSF також дозволяє вам **diff/Compare** аналіз і інт ### Допоміжний динамічний аналіз з MobSF -**MobSF** також може бути дуже корисним для **динамічного аналізу** в **Android**, але в цьому випадку вам потрібно буде встановити MobSF і **genymotion** на вашому хості (VM або Docker не працюватимуть). _Примітка: Вам потрібно **спочатку запустити VM в genymotion** і **потім MobSF.**_\ +**MobSF** також може бути дуже корисним для **динамічного аналізу** в **Android**, але в цьому випадку вам потрібно буде встановити MobSF і **genymotion** на вашому хості (VM або Docker не працюватимуть). _Примітка: Спочатку потрібно **запустити VM в genymotion** і **потім MobSF.**_\ **Динамічний аналізатор MobSF** може: -- **Витягувати дані програми** (URL-адреси, журнали, буфер обміну, скріншоти, зроблені вами, скріншоти, зроблені "**Exported Activity Tester**", електронні листи, бази даних SQLite, XML файли та інші створені файли). Усе це виконується автоматично, за винятком скріншотів, вам потрібно натиснути, коли ви хочете зробити скріншот, або вам потрібно натиснути "**Exported Activity Tester**", щоб отримати скріншоти всіх експортованих активностей. +- **Витягувати дані програми** (URL-адреси, журнали, буфер обміну, скріншоти, зроблені вами, скріншоти, зроблені "**Exported Activity Tester**", електронні листи, бази даних SQLite, XML файли та інші створені файли). Усе це виконується автоматично, за винятком скріншотів, вам потрібно натиснути, коли ви хочете зробити скріншот, або натиснути "**Exported Activity Tester**", щоб отримати скріншоти всіх експортованих активностей. - Захоплювати **HTTPS трафік** - Використовувати **Frida** для отримання **інформації під час виконання** @@ -541,7 +541,7 @@ MobSF також дозволяє вам **diff/Compare** аналіз і інт **Frida** -За замовчуванням, він також використовуватиме деякі скрипти Frida для **обходу SSL пінінгу**, **виявлення root** і **виявлення дебагера** та для **моніторингу цікавих API**.\ +За замовчуванням, він також використовуватиме деякі скрипти Frida для **обходу SSL пінінгу**, **виявлення root** і **виявлення дебагера**, а також для **моніторингу цікавих API**.\ MobSF також може **викликати експортовані активності**, захоплювати **скріншоти** з них і **зберігати** їх для звіту. Щоб **почати** динамічне тестування, натисніть зелену кнопку: "**Start Instrumentation**". Натисніть "**Frida Live Logs**", щоб побачити журнали, згенеровані скриптами Frida, і "**Live API Monitor**", щоб побачити всі виклики до підключених методів, передані аргументи та повернені значення (це з'явиться після натискання "Start Instrumentation").\ @@ -553,12 +553,12 @@ MobSF також дозволяє вам завантажувати власні - **Перерахувати завантажені класи**: Він виведе всі завантажені класи - **Захопити рядки**: Він виведе всі захоплені рядки під час використання програми (дуже шумно) -- **Захопити порівняння рядків**: Може бути дуже корисно. Він **показуватиме 2 рядки, які порівнюються** і чи був результат True чи False. +- **Захопити порівняння рядків**: Може бути дуже корисно. Він **показуватиме 2 рядки, що порівнюються** і чи був результат True чи False. - **Перерахувати методи класу**: Введіть ім'я класу (наприклад, "java.io.File") і він виведе всі методи класу. - **Шукати шаблон класу**: Шукати класи за шаблоном - **Трасувати методи класу**: **Трасувати** **весь клас** (дивитися вхідні та вихідні дані всіх методів класу). Пам'ятайте, що за замовчуванням MobSF трасує кілька цікавих методів Android API. -Якщо ви вибрали допоміжний модуль, який хочете використовувати, вам потрібно натиснути "**Start Instrumentation**" і ви побачите всі виходи в "**Frida Live Logs**". +Коли ви виберете допоміжний модуль, який хочете використовувати, вам потрібно натиснути "**Start Instrumentation**" і ви побачите всі виходи в "**Frida Live Logs**". **Shell** @@ -598,7 +598,7 @@ receivers ### [Qark](https://github.com/linkedin/qark) -Цей інструмент призначений для пошуку кількох **вразливостей Android-додатків, пов'язаних із безпекою**, як у **джерельному коді**, так і в **упакованих APK**. Інструмент також **може створювати "Proof-of-Concept" розгортаємий APK** та **команди ADB**, щоб експлуатувати деякі з виявлених вразливостей (відкриті активності, наміри, tapjacking...). Як і з Drozer, немає необхідності рутувати тестовий пристрій. +Цей інструмент призначений для пошуку кількох **вразливостей Android-додатків, пов'язаних із безпекою**, як у **джерельному коді**, так і в **упакованих APK**. Інструмент також **може створювати "Proof-of-Concept" розгортаємий APK** та **команди ADB**, щоб експлуатувати деякі з виявлених вразливостей (викриті активності, наміри, tapjacking...). Як і з Drozer, немає необхідності рутувати тестовий пристрій. ```bash pip3 install --user qark # --user is only needed if not using a virtualenv qark --apk path/to/my.apk @@ -634,7 +634,7 @@ StaCoAn - це **кросплатформений** інструмент, яки Концепція полягає в тому, що ви перетягуєте файл вашого мобільного додатку (файл .apk або .ipa) на додаток StaCoAn, і він створить для вас візуальний та портативний звіт. Ви можете налаштувати параметри та словники для отримання індивідуального досвіду. -Завантажити [остання версія](https://github.com/vincentcox/StaCoAn/releases): +Завантажити [остання версію](https://github.com/vincentcox/StaCoAn/releases): ``` ./stacoan ``` @@ -650,7 +650,7 @@ androbugs.exe -f [APK file] **Androwarn** - це інструмент, основна мета якого полягає в виявленні та попередженні користувача про потенційно шкідливу поведінку, розроблену Android-додатком. -Виявлення здійснюється за допомогою **статичного аналізу** байт-коду Dalvik додатку, представленого як **Smali**, з використанням бібліотеки [`androguard`](https://github.com/androguard/androguard). +Виявлення здійснюється за допомогою **статичного аналізу** байт-коду Dalvik додатка, представленого як **Smali**, з використанням бібліотеки [`androguard`](https://github.com/androguard/androguard). Цей інструмент шукає **поширену поведінку "поганих" додатків**, таких як: ексфільтрація ідентифікаторів телекомунікацій, перехоплення аудіо/відео потоків, модифікація PIM-даних, виконання довільного коду... ``` @@ -660,7 +660,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3 ![](<../../images/image (595).png>) -**MARA** - це **M**обільний **A**плікаційний **R**еверс-інжиніринг та **A**наліз Фреймворк. Це інструмент, який об'єднує загальновживані інструменти для реверс-інжинірингу та аналізу мобільних додатків, щоб допомогти в тестуванні мобільних додатків на предмет загроз безпеці мобільних додатків OWASP. Його мета - спростити це завдання та зробити його більш зручним для розробників мобільних додатків та фахівців з безпеки. +**MARA** - це **M**обільний **A**плікаційний **R**еверс-інжиніринг та **A**наліз Фреймворк. Це інструмент, який об'єднує загальновживані інструменти реверс-інжинірингу та аналізу мобільних додатків, щоб допомогти в тестуванні мобільних додатків на предмет загроз безпеці мобільних додатків OWASP. Його мета - спростити це завдання та зробити його більш дружнім для розробників мобільних додатків та фахівців з безпеки. Він здатний: @@ -681,7 +681,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3 ### [ProGuard]() -З [Wikipedia](): **ProGuard** - це інструмент командного рядка з відкритим кодом, який зменшує, оптимізує та обфускує Java код. Він здатний оптимізувати байт-код, а також виявляти та видаляти невикористовувані інструкції. ProGuard - це безкоштовне програмне забезпечення, яке розповсюджується під ліцензією GNU General Public License, версія 2. +З [Wikipedia](): **ProGuard** - це інструмент командного рядка з відкритим кодом, який зменшує, оптимізує та обфускує Java код. Він здатний оптимізувати байт-код, а також виявляти та видаляти невикористовувані інструкції. ProGuard є безкоштовним програмним забезпеченням і розповсюджується під ліцензією GNU General Public License, версія 2. ProGuard розповсюджується як частина Android SDK і запускається під час створення програми в режимі випуску. diff --git a/src/mobile-pentesting/android-app-pentesting/shizuku-privileged-api.md b/src/mobile-pentesting/android-app-pentesting/shizuku-privileged-api.md index 663fcfe2c..50cea5499 100644 --- a/src/mobile-pentesting/android-app-pentesting/shizuku-privileged-api.md +++ b/src/mobile-pentesting/android-app-pentesting/shizuku-privileged-api.md @@ -2,7 +2,7 @@ {{#include ../../banners/hacktricks-training.md}} -Shizuku - це відкритий сервіс, який **створює привілейований Java процес за допомогою `app_process`** і надає вибрані **API системи Android через Binder**. Оскільки процес запускається з тими ж **UID можливостями `shell`, які використовує ADB**, будь-який додаток (або термінал), що підключається до експортованого інтерфейсу AIDL, може виконувати багато дій, які зазвичай вимагають **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, файлового вводу/виводу всередині `/data`,** тощо – **без рутування пристрою**. +Shizuku - це відкритий сервіс, який **створює привілейований Java процес за допомогою `app_process`** і надає вибрані **API системи Android через Binder**. Оскільки процес запускається з тими ж **UID можливостями `shell`, які використовує ADB**, будь-який додаток (або термінал), що підключається до експортованого інтерфейсу AIDL, може виконувати багато дій, які зазвичай вимагають **`WRITE_SECURE_SETTINGS`, `INSTALL_PACKAGES`, доступу до файлів у `/data`,** тощо – **без рутування пристрою**. Типові випадки використання: * Аудит безпеки з не рутованого пристрою @@ -16,7 +16,7 @@ Shizuku - це відкритий сервіс, який **створює при `moe.shizuku.privileged.api` можна запустити трьома різними способами – результуючий сервіс Binder поводиться однаково в усіх випадках. ### 1.1 Безпровідний ADB (Android 11+) -1. Увімкніть **Опції розробника ➜ Безпровідне налагодження** та спарте пристрій. +1. Увімкніть **Опції для розробників ➜ Безпровідне налагодження** та спарте пристрій. 2. У додатку Shizuku виберіть **“Запустити через безпровідне налагодження”** та скопіюйте код спарювання. 3. Сервіс працює до наступного перезавантаження (сеанси безпровідного налагодження очищуються при завантаженні). @@ -98,13 +98,13 @@ pm uninstall --user 0 com.miui.weather2 --- ## 4. Заходи безпеки / виявлення -1. Shizuku потребує **привілеїв налагодження ADB**, тому _Опції розробника → USB/Бездротове налагодження_ повинні бути **увімкнені**. +1. Shizuku потребує **привілеїв налагодження ADB**, тому _Параметри розробника → USB/Бездротове налагодження_ повинні бути **увімкнені**. Організації можуть заблокувати це через MDM або за допомогою `settings put global development_settings_enabled 0`. 2. Сервіс реєструє себе під назвою `moe.shizuku.privileged.api`. -Просте `adb shell service list | grep shizuku` (або правило Endpoint Security) виявляє його присутність. +Простий `adb shell service list | grep shizuku` (або правило Endpoint Security) виявляє його присутність. 3. Можливості обмежені тим, що користувач `shell` вже може робити – це **не root**. Чутливі API, які вимагають користувача `system` або `root`, все ще недоступні. -4. Сесії **не переживають перезавантаження**, якщо пристрій не є рутованим, а Shizuku не налаштовано як демон запуску. +4. Сесії **не переживають перезавантаження**, якщо пристрій не має root-доступу, а Shizuku не налаштовано як демон запуску. --- ## 5. Пом'якшення diff --git a/src/mobile-pentesting/ios-pentesting/ios-pentesting-without-jailbreak.md b/src/mobile-pentesting/ios-pentesting/ios-pentesting-without-jailbreak.md index 6ff4e7a12..d11768865 100644 --- a/src/mobile-pentesting/ios-pentesting/ios-pentesting-without-jailbreak.md +++ b/src/mobile-pentesting/ios-pentesting/ios-pentesting-without-jailbreak.md @@ -6,12 +6,12 @@ Застосунки, підписані з **правом `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 +## Отримати дешифрований IPA ### Отримати його від Apple @@ -19,15 +19,15 @@ 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) для отримання більш детальної інформації про цей процес. -### Декодування застосунку +### Дешифрування застосунку -Щоб декодувати IPA, ми збираємося його встановити. Однак, якщо у вас старий джейлбрейкнутій iPhone, можливо, його версія не буде підтримуватися застосунком, оскільки зазвичай застосунки підтримують лише останні версії. +Щоб дешифрувати IPA, ми збираємося його встановити. Однак, якщо у вас старий джейлбрейкнутій iPhone, можливо, його версія не буде підтримуватися застосунком, оскільки зазвичай застосунки підтримують лише останні версії. Отже, щоб його встановити, просто розпакуйте IPA: ```bash @@ -49,9 +49,9 @@ 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`. @@ -78,7 +78,7 @@ ideviceinstaller -i resigned.ipa -w | Інструмент | Вимоги | Переваги | Обмеження | |------------|--------|----------|-----------| | **AltStore 2 / SideStore** | macOS/Windows/Linux компаньйон, який повторно підписує IPA кожні 7 днів з безкоштовним профілем розробника | Автоматичне перезавантаження через Wi-Fi, працює до iOS 17 | Потрібен комп'ютер в тій же мережі, обмеження на 3 додатки, накладене Apple | -| **TrollStore 1/2** | Пристрій на iOS 14 – 15.4.1, вразливий до помилки CoreTrust | *Постійне* підписування (без 7-денного обмеження); комп'ютер не потрібен після установки | Не підтримується на iOS 15.5+ (помилка виправлена) | +| **TrollStore 1/2** | Пристрій на iOS 14 – 15.4.1, вразливий до помилки CoreTrust | *Постійне* підписування (без обмеження на 7 днів); комп'ютер не потрібен після установки | Не підтримується на iOS 15.5+ (помилка виправлена) | Для рутинних пентестів на сучасних версіях iOS Alt/Side-Store зазвичай є найпрактичнішим вибором. @@ -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【】. Найшвидший спосіб - запустити 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. ## Посилання diff --git a/src/network-services-pentesting/pentesting-telnet.md b/src/network-services-pentesting/pentesting-telnet.md index 34e81e3ac..16845632d 100644 --- a/src/network-services-pentesting/pentesting-telnet.md +++ b/src/network-services-pentesting/pentesting-telnet.md @@ -23,7 +23,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 ``` Скрипт `telnet-ntlm-info.nse` отримає інформацію NTLM (версії Windows). -З [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): У протоколі TELNET є різні "**options**", які будуть санкціоновані і можуть бути використані зі структурою "**DO, DON'T, WILL, WON'T**", щоб дозволити користувачу та серверу погодитися використовувати більш складний (або, можливо, просто інший) набір конвенцій для їхнього з'єднання TELNET. Такі опції можуть включати зміну набору символів, режиму еха тощо. +З [telnet RFC](https://datatracker.ietf.org/doc/html/rfc854): У протоколі TELNET є різні "**options**", які будуть санкціоновані і можуть використовуватися зі структурою "**DO, DON'T, WILL, WON'T**", щоб дозволити користувачу та серверу погодитися використовувати більш складний (або, можливо, просто інший) набір конвенцій для їхнього з'єднання TELNET. Такі опції можуть включати зміну набору символів, режиму еха тощо. **Я знаю, що можливо перерахувати ці опції, але не знаю як, тому дайте знати, якщо знаєте як.** @@ -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 на увазі під час триажу вразливостей — якщо ціль працює на непатченої прошивці або застарілому демоні Telnet inetutils, ви можете мати простий шлях до виконання коду або деструктивного DoS. +Тримайте ці CVE на увазі під час триажу вразливостей — якщо ціль працює на непатченої прошивці або застарілому демоні inetutils Telnet, ви можете мати простий шлях до виконання коду або деструктивного 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:// @@ -114,9 +114,9 @@ Metasploit має кілька корисних модулів: ### Укріплення та виявлення (куток синьої команди) 1. Вибирайте SSH і повністю вимкніть службу Telnet. -2. Якщо Telnet необхідний, прив'яжіть його лише до VLAN для управління, забезпечте ACL і обгорніть демон за допомогою TCP wrappers (`/etc/hosts.allow`). +2. Якщо Telnet необхідний, прив'яжіть його лише до VLAN для управління, забезпечте ACL і обгорніть демон за допомогою TCP обгорток (`/etc/hosts.allow`). 3. Замініть застарілі реалізації `telnetd` на `ssl-telnet` або `telnetd-ssl`, щоб додати шифрування транспорту, але **це лише захищає дані в русі—вгадування паролів залишається тривіальним**. -4. Моніторте вихідний трафік на порт 23; компрометації часто запускають зворотні оболонки через Telnet, щоб обійти суворі HTTP фільтри виходу. +4. Моніторте вихідний трафік на порт 23; компрометації часто запускають зворотні оболонки через Telnet, щоб обійти суворі фільтри виходу HTTP. ## Посилання diff --git a/src/pentesting-web/less-code-injection-ssrf.md b/src/pentesting-web/less-code-injection-ssrf.md index 8be6f0999..0b3316a03 100644 --- a/src/pentesting-web/less-code-injection-ssrf.md +++ b/src/pentesting-web/less-code-injection-ssrf.md @@ -4,7 +4,7 @@ ## Огляд -LESS є популярним CSS препроцесором, який додає змінні, міксини, функції та потужну директиву `@import`. Під час компіляції движок LESS **отримує ресурси, на які посилаються в директивах `@import`** і вбудовує ("inline") їх вміст у результуючий CSS, коли використовується опція `(inline)`. +LESS - це популярний CSS препроцесор, який додає змінні, міксини, функції та потужну директиву `@import`. Під час компіляції движок LESS **отримує ресурси, на які посилаються в директивах `@import`** і вбудовує ("inline") їх вміст у результуючий CSS, коли використовується опція `(inline)`. Коли додаток конкатенує **вхідні дані, контрольовані користувачем**, у рядок, який пізніше обробляється компілятором LESS, зловмисник може **впровадити довільний код LESS**. Зловживаючи `@import (inline)`, зловмисник може змусити сервер отримати: @@ -16,7 +16,7 @@ LESS є популярним CSS препроцесором, який додає ## Експлуатація 1. Визначте параметр, який безпосередньо вбудований у рядок стилю, оброблений движком LESS (наприклад, `?lm=` в SugarCRM). -2. Закрийте поточну директиву та впровадьте нові директиви. Найбільш поширені примітиви: +2. Закрийте поточну інструкцію та впровадьте нові директиви. Найбільш поширені примітиви: * `;` – завершує попереднє оголошення. * `}` – закриває попередній блок (якщо потрібно). 3. Використовуйте `@import (inline) '';` для читання довільних ресурсів. diff --git a/src/windows-hardening/active-directory-methodology/ad-information-in-printers.md b/src/windows-hardening/active-directory-methodology/ad-information-in-printers.md index 9e16b435d..c947eb14f 100644 --- a/src/windows-hardening/active-directory-methodology/ad-information-in-printers.md +++ b/src/windows-hardening/active-directory-methodology/ad-information-in-printers.md @@ -2,7 +2,7 @@ {{#include ../../banners/hacktricks-training.md}} -В Інтернеті є кілька блогів, які **підкреслюють небезпеки залишення принтерів, налаштованих з LDAP з за замовчуванням/слабкими** обліковими даними для входу. \ +Є кілька блогів в Інтернеті, які **підкреслюють небезпеки залишення принтерів, налаштованих з LDAP з за замовчуванням/слабкими** обліковими даними для входу. \ Це пов'язано з тим, що зловмисник може **змусити принтер аутентифікуватися проти підробленого LDAP-сервера** (зазвичай `nc -vv -l -p 389` або `slapd -d 2` достатньо) і захопити **облікові дані принтера у відкритому вигляді**. Крім того, кілька принтерів міститимуть **журнали з іменами користувачів** або навіть можуть **завантажити всі імена користувачів** з контролера домену. @@ -41,18 +41,18 @@ sudo dpkg-reconfigure slapd # set any base-DN – it will not be validated # run slapd in foreground / debug 2 slapd -d 2 -h "ldap:///" # only LDAP, no LDAPS ``` -Коли принтер виконує свій запит, ви побачите облікові дані у відкритому тексті в виході налагодження. +Коли принтер виконує свій запит, ви побачите облікові дані у відкритому тексті в налагоджувальному виводі. > 💡 Ви також можете використовувати `impacket/examples/ldapd.py` (Python rogue LDAP) або `Responder -w -r -f` для збору NTLMv2 хешів через LDAP/SMB. --- ## Останні вразливості Pass-Back (2024-2025) -Pass-back *не* є теоретичною проблемою – постачальники продовжують публікувати повідомлення у 2024/2025, які точно описують цей клас атак. +Pass-back *не* є теоретичною проблемою – постачальники продовжують публікувати рекомендації в 2024/2025, які точно описують цей клас атак. ### Xerox VersaLink – CVE-2024-12510 & CVE-2024-12511 -Прошивка ≤ 57.69.91 принтерів Xerox VersaLink C70xx MFP дозволяла автентифікованому адміністратору (або будь-кому, коли залишаються стандартні облікові дані): +ПЗ ≤ 57.69.91 принтерів Xerox VersaLink C70xx MFP дозволяло автентифікованому адміністратору (або будь-кому, коли залишаються стандартні облікові дані): * **CVE-2024-12510 – LDAP pass-back**: змінити адресу LDAP сервера та ініціювати запит, що призводить до витоку налаштованих облікових даних Windows на хост, контрольований зловмисником. * **CVE-2024-12511 – SMB/FTP pass-back**: ідентична проблема через *scan-to-folder* призначення, витікаючи NetNTLMv2 або FTP облікові дані у відкритому тексті. @@ -65,7 +65,7 @@ or rogue SMB server (`impacket-smbserver`) достатньо для збору ### Canon imageRUNNER / imageCLASS – Повідомлення 20 травня 2025 -Canon підтвердила слабкість **SMTP/LDAP pass-back** у десятках продуктів Laser & MFP. Зловмисник з адміністративним доступом може змінити конфігурацію сервера та отримати збережені облікові дані для LDAP **або** SMTP (багато організацій використовують привілейований обліковий запис для дозволу сканування на електронну пошту). +Canon підтвердила вразливість **SMTP/LDAP pass-back** у десятках продуктів Laser & MFP. Зловмисник з адміністративним доступом може змінити конфігурацію сервера та отримати збережені облікові дані для LDAP **або** SMTP (багато організацій використовують привілейований обліковий запис для дозволу сканування на електронну пошту). Рекомендації постачальника чітко вказують: @@ -74,7 +74,7 @@ Canon підтвердила слабкість **SMTP/LDAP pass-back** у де 3. Уникати привілейованих облікових записів AD для інтеграції принтерів. --- -## Автоматизовані інструменти для перерахунку / експлуатації +## Інструменти автоматизованої енумерації / експлуатації | Інструмент | Призначення | Приклад | |------------|-------------|---------|