diff --git a/SUMMARY.md b/SUMMARY.md index cedf86022..767273274 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -21,6 +21,7 @@ * [Network Protocols Explained (ESP)](generic-methodologies-and-resources/pentesting-network/network-protocols-explained-esp.md) * [Nmap Summary (ESP)](generic-methodologies-and-resources/pentesting-network/nmap-summary-esp.md) * [Pentesting IPv6](generic-methodologies-and-resources/pentesting-network/pentesting-ipv6.md) + * [WebRTC DoS](generic-methodologies-and-resources/pentesting-network/webrtc-dos.md) * [Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks](generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md) * [Spoofing SSDP and UPnP Devices with EvilSSDP](generic-methodologies-and-resources/pentesting-network/spoofing-ssdp-and-upnp-devices.md) * [Pentesting Wifi](generic-methodologies-and-resources/pentesting-wifi/README.md) @@ -521,7 +522,7 @@ * [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) -* [2FA/OTP Bypass](pentesting-web/2fa-bypass.md) +* [2FA/MFA/OTP Bypass](pentesting-web/2fa-bypass.md) * [Account Takeover](pentesting-web/account-takeover.md) * [Browser Extension Pentesting Methodology](pentesting-web/browser-extension-pentesting-methodology/README.md) * [BrowExt - ClickJacking](pentesting-web/browser-extension-pentesting-methodology/browext-clickjacking.md) diff --git a/generic-methodologies-and-resources/pentesting-network/webrtc-dos.md b/generic-methodologies-and-resources/pentesting-network/webrtc-dos.md new file mode 100644 index 000000000..5187e989b --- /dev/null +++ b/generic-methodologies-and-resources/pentesting-network/webrtc-dos.md @@ -0,0 +1,63 @@ +# WebRTC DoS + +{% hint style="success" %} +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) + +
+ +Support HackTricks + +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
+{% endhint %} + +**Цю проблему було виявлено в цьому блозі:** [**https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/**](https://www.rtcsec.com/article/novel-dos-vulnerability-affecting-webrtc-media-servers/) + +Описана вразливість у медіа-серверах WebRTC виникає через **умову гонки** під час ініціалізації медіа-сесій, зокрема між **перевіркою згоди медіа ICE** та **ініціацією трафіку DTLS**. Ось детальний розгляд: + +### Походження вразливості + +1. **Розподіл UDP портів:** Коли користувач ініціює дзвінок WebRTC, медіа-сервер розподіляє UDP порти для обробки медіа-потоків, з IP та портом, які передаються через сигналізацію. +2. **Процеси ICE та STUN:** Браузер користувача використовує ICE для перевірки згоди медіа, використовуючи STUN для визначення шляху з'єднання до медіа-сервера. +3. **Сесія DTLS:** Після успішної перевірки STUN починається сесія DTLS для встановлення майстер-ключів SRTP, переходячи до SRTP для медіа-потоку. + +### Механізм експлуатації + +* **Експлуатація умови гонки:** Зловмисник може експлуатувати умову гонки, надіславши повідомлення DTLS ClientHello до того, як це зробить законний користувач, потенційно використовуючи недійсну шифрувальну сукупність, таку як `TLS_NULL_WITH_NULL_NULL`. Це викликає помилку DTLS на сервері, що заважає встановленню сесії SRTP. + +### Процес атаки + +* **Сканування портів:** Зловмисник повинен вгадати, які UDP порти обробляють вхідні медіа-сесії, надсилаючи повідомлення ClientHello з нульовою шифрувальною сукупністю на ці порти, щоб активувати вразливість. +* **Схема атаки:** Послідовність включає кілька повідомлень ClientHello, надісланих зловмисником на сервер, чергуючи їх з законними сигналізаційними та DTLS повідомленнями, що призводить до збою рукостискання через помилкову шифрувальну сукупність. + +### Тестування та пом'якшення + +* **Безпечне тестування:** Використовуючи інструменти, такі як Scapy, зловмисники повторно відтворюють повідомлення DTLS ClientHello, націлюючись на конкретні медіа-порти. Для етичного тестування були внесені зміни до Chromium (наприклад, `JsepTransport::AddRemoteCandidates`), щоб безпечно імітувати поведінку жертви. +* **Заходи пом'якшення:** Рішення включають скидання пакетів з неперевірених адрес, як це реалізовано в новіших версіях бібліотек, таких як libnice. Основне рішення підкреслює довіру до процесу перевірки ICE та обробку пакетів лише з перевірених комбінацій IP та портів. + +### Невразливі сценарії + +* **Конфігурації сервера DTLS:** Випадки, коли браузер діє як сервер DTLS або коли медіа-сервер не використовує епhemerальні порти для медіа-сесій, не підлягають цій вразливості. + +### Висновок + +Ця вразливість підкреслює делікатний баланс у процесах ініціалізації медіа-сесій та необхідність точного таймінгу та механізмів перевірки для запобігання експлуатації. Розробникам рекомендується впроваджувати рекомендовані заходи безпеки та забезпечувати надійні процеси перевірки для пом'якшення таких вразливостей. + +{% hint style="success" %} +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) + +
+ +Support HackTricks + +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos. + +
+{% endhint %} diff --git a/mobile-pentesting/ios-pentesting/ios-custom-uri-handlers-deeplinks-custom-schemes.md b/mobile-pentesting/ios-pentesting/ios-custom-uri-handlers-deeplinks-custom-schemes.md index 92ae34e57..bcba0d70d 100644 --- a/mobile-pentesting/ios-pentesting/ios-custom-uri-handlers-deeplinks-custom-schemes.md +++ b/mobile-pentesting/ios-pentesting/ios-custom-uri-handlers-deeplinks-custom-schemes.md @@ -1,6 +1,8 @@ +# iOS Custom URI Handlers / Deeplinks / Custom Schemes + {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -13,15 +15,13 @@ Learn & practice GCP Hacking: {% endhint %} -Це резюме з відповідної інформації з [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/) +## Basic Information -## Основна інформація +Користувацькі URL-схеми дозволяють додаткам спілкуватися, використовуючи власний протокол, як детально описано в [документації Apple Developer](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple\_ref/doc/uid/TP40007072-CH6-SW1). Ці схеми повинні бути оголошені додатком, який потім обробляє вхідні URL відповідно до цих схем. Важливо **перевіряти всі параметри URL** та **відкидати будь-які неправильно сформовані URL**, щоб запобігти атакам через цей вектор. -Користувацькі URL-схеми дозволяють додаткам спілкуватися, використовуючи власний протокол, як детально описано в [документації розробника Apple](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1). Ці схеми повинні бути оголошені додатком, який потім обробляє вхідні URL відповідно до цих схем. Важливо **перевіряти всі параметри URL** та **відкидати будь-які неправильно сформовані URL**, щоб запобігти атакам через цей вектор. +Наводиться приклад, де URI `myapp://hostname?data=123876123` викликає певну дію програми. Відзначена вразливість була в додатку Skype Mobile, який дозволяв неприпустимі дії дзвінків через протокол `skype://`. Зареєстровані схеми можна знайти в `Info.plist` додатка під `CFBundleURLTypes`. Зловмисні програми можуть використовувати це, повторно реєструючи URI для перехоплення чутливої інформації. -Приклад наводить URI `myapp://hostname?data=123876123`, який викликає певну дію програми. Відзначена вразливість була в додатку Skype Mobile, який дозволяв неприпустимі дії дзвінків через протокол `skype://`. Зареєстровані схеми можна знайти в `Info.plist` додатка під `CFBundleURLTypes`. Зловмисні програми можуть використовувати це, повторно реєструючи URI для перехоплення чутливої інформації. - -### Реєстрація схем запитів додатків +### Application Query Schemes Registration З iOS 9.0, щоб перевірити, чи доступний додаток, `canOpenURL:` вимагає оголошення URL-схем у `Info.plist` під `LSApplicationQueriesSchemes`. Це обмежує схеми, які може запитувати додаток, до 50, підвищуючи конфіденційність, запобігаючи перерахуванню додатків. ```xml @@ -75,20 +75,29 @@ Watching for crashes from iGoat... No logs were moved. Opened URL: iGoat://?contactNumber=0&message=0 ``` -## References +## Викрадення користувацьких URL-схем + +Згідно з [**цим постом**](https://evanconnelly.github.io/post/ios-oauth/), шкідливі програми можуть **реєструвати інші програми з користувацькими схемами,** тоді шкідлива програма може відкрити браузер, який має всі куки Safari App за допомогою [ASWebAuthenticationSession](https://developer.apple.com/documentation/authenticationservices/aswebauthenticationsession/2990952-init#parameters). + +За допомогою браузера шкідлива програма може завантажити веб-сторінку, контрольовану зловмисником, і TCC запитає у мобільного користувача дозволи на відкриття цієї програми. Потім шкідлива веб-сторінка може перенаправити на сторінку жертви, наприклад, на OAuth потік з параметром `prompt=none`. Якщо користувач вже увійшов у OAuth потік, OAuth потік надішле секрет назад до жертви, використовуючи користувацьку схему жертви.\ +Однак, оскільки шкідлива програма також зареєструвала її і оскільки використовуваний браузер знаходиться всередині шкідливої програми, користувацька схема в цьому випадку буде оброблятися шкідливою програмою, яка зможе вкрасти OAuth токен. + +## Посилання + * [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/) +* [https://evanconnelly.github.io/post/ios-oauth/](https://evanconnelly.github.io/post/ios-oauth/) {% hint style="success" %} -Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Підтримайте HackTricks +Support HackTricks -* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)! -* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** -* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github. +* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)! +* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** +* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
{% endhint %} diff --git a/network-services-pentesting/pentesting-web/README.md b/network-services-pentesting/pentesting-web/README.md index 3186f1dc5..6b2b27e2f 100644 --- a/network-services-pentesting/pentesting-web/README.md +++ b/network-services-pentesting/pentesting-web/README.md @@ -1,8 +1,8 @@ # 80,443 - Pentesting Web Methodology {% hint style="success" %} -Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Learn & practice AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Learn & practice GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
@@ -81,7 +81,7 @@ Search **for** [**вразливості веб-додатку** **версії* * [**https://github.com/Ekultek/WhatWaf.git**](https://github.com/Ekultek/WhatWaf.git) * [**https://nmap.org/nsedoc/scripts/http-waf-detect.html**](https://nmap.org/nsedoc/scripts/http-waf-detect.html) -### Трюки веб-технологій +### Веб-технічні трюки Декілька **трюків** для **пошуку вразливостей** у різних відомих **технологіях**: @@ -122,7 +122,7 @@ _Зверніть увагу, що **один і той же домен** мож ### Огляд вихідного коду -Якщо **вихідний код** додатку доступний на **github**, окрім проведення **вашого власного тесту White box** додатку, є **деяка інформація**, яка може бути **корисною** для поточного **Black-Box тестування**: +Якщо **вихідний код** додатку доступний на **github**, окрім виконання **вашого власного тесту White box** додатку, є **деяка інформація**, яка може бути **корисною** для поточного **Black-Box тестування**: * Чи є **Change-log або Readme або Version** файл або щось з **інформацією про версію, доступною** через веб? * Як і де зберігаються **облікові дані**? Чи є якийсь (доступний?) **файл** з обліковими даними (іменами користувачів або паролями)? @@ -137,7 +137,7 @@ _Зверніть увагу, що **один і той же домен** мож ### Автоматичні сканери -#### Автоматичні сканери загального призначення +#### Загального призначення автоматичні сканери ```bash nikto -h whatweb -a 4 @@ -185,7 +185,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs Веб-сервери можуть **несподівано реагувати**, коли їм надсилаються дивні дані. Це може відкрити **вразливості** або **розкрити чутливу інформацію**. -* Доступ до **фейкових сторінок** на кшталт /whatever\_fake.php (.aspx,.html,.тощо) +* Доступ до **фальшивих сторінок** на кшталт /whatever\_fake.php (.aspx,.html,.тощо) * **Додайте "\[]", "]]" та "\[\["** у **значеннях cookie** та **значеннях параметрів**, щоб створити помилки * Генеруйте помилку, вводячи **`/~randomthing/%s`** в **кінці** **URL** * Спробуйте **різні HTTP методи** такі як PATCH, DEBUG або неправильні, як FAKE @@ -202,7 +202,7 @@ joomlavs.rb #https://github.com/rastating/joomlavs * Якщо додаток **не примушує користувача використовувати HTTPS** в жодній частині, то він **вразливий до MitM** * Якщо додаток **надсилає чутливі дані (паролі) за допомогою HTTP**. Тоді це висока вразливість. -Використовуйте [**testssl.sh**](https://github.com/drwetter/testssl.sh) для перевірки на **вразливості** (в програмах Bug Bounty, ймовірно, такі вразливості не будуть прийняті) та використовуйте [**a2sv**](https://github.com/hahwul/a2sv) для повторної перевірки вразливостей: +Використовуйте [**testssl.sh**](https://github.com/drwetter/testssl.sh) для перевірки **вразливостей** (в програмах Bug Bounty, ймовірно, такі вразливості не будуть прийняті) і використовуйте [**a2sv**](https://github.com/hahwul/a2sv) для повторної перевірки вразливостей: ```bash ./testssl.sh [--htmlfile] 10.10.10.10:443 #Use the --htmlfile to save the output inside an htmlfile also @@ -230,38 +230,39 @@ Information about SSL/TLS vulnerabilities: * [**ParamSpider**](https://github.com/devanshbatham/ParamSpider): Цей скрипт знайде URL з параметрами та виведе їх. * [**galer**](https://github.com/dwisiswant0/galer) (go): HTML spider з можливостями рендерингу JS. * [**LinkFinder**](https://github.com/GerbenJavado/LinkFinder) (python): HTML spider, з можливостями beautify JS, здатний шукати нові шляхи в JS файлах. Також варто звернути увагу на [JSScanner](https://github.com/dark-warlord14/JSScanner), який є обгорткою для LinkFinder. -* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Для витягування кінцевих точок як з HTML джерела, так і з вбудованих javascript файлів. Корисно для шукачів вразливостей, червоних команд, інфосек ніндзя. +* [**goLinkFinder**](https://github.com/0xsha/GoLinkFinder) (go): Для витягування кінцевих точок як з HTML джерела, так і з вбудованих javascript файлів. Корисно для шукачів помилок, червоних команд, інфосек ніндзя. * [**JSParser**](https://github.com/nahamsec/JSParser) (python2.7): Скрипт python 2.7, що використовує Tornado та JSBeautifier для парсингу відносних URL з JavaScript файлів. Корисно для легкого виявлення AJAX запитів. Виглядає так, що не підтримується. -* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Даний файл (HTML) витягне URL з нього, використовуючи хитрі регулярні вирази для знаходження та витягування відносних URL з непривабливих (мінімізованих) файлів. +* [**relative-url-extractor**](https://github.com/jobertabma/relative-url-extractor) (ruby): Дано файл (HTML), він витягне URL з нього, використовуючи хитрі регулярні вирази для знаходження та витягування відносних URL з непривабливих (мінімізованих) файлів. * [**JSFScan**](https://github.com/KathanP19/JSFScan.sh) (bash, кілька інструментів): Збирає цікаву інформацію з JS файлів, використовуючи кілька інструментів. * [**subjs**](https://github.com/lc/subjs) (go): Знайти JS файли. * [**page-fetch**](https://github.com/detectify/page-fetch) (go): Завантажити сторінку в безголовому браузері та вивести всі URL, завантажені для завантаження сторінки. * [**Feroxbuster**](https://github.com/epi052/feroxbuster) (rust): Інструмент для виявлення вмісту, що поєднує кілька опцій попередніх інструментів. * [**Javascript Parsing**](https://github.com/xnl-h4ck3r/burp-extensions): Розширення Burp для знаходження шляхів та параметрів у JS файлах. -* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Інструмент, який, отримавши URL .js.map, надасть вам beautified JS код. +* [**Sourcemapper**](https://github.com/denandz/sourcemapper): Інструмент, який, given the .js.map URL, отримає вам beautified JS код. * [**xnLinkFinder**](https://github.com/xnl-h4ck3r/xnLinkFinder): Це інструмент, що використовується для виявлення кінцевих точок для заданої цілі. * [**waymore**](https://github.com/xnl-h4ck3r/waymore)**:** Виявляє посилання з wayback machine (також завантажуючи відповіді в wayback та шукаючи більше посилань). * [**HTTPLoot**](https://github.com/redhuntlabs/HTTPLoot) (go): Краулінг (навіть заповнюючи форми) та також знаходження чутливої інформації, використовуючи специфічні regex. * [**SpiderSuite**](https://github.com/3nock/SpiderSuite): Spider Suite - це розширений багатофункціональний GUI веб-безпековий краулер/spider, розроблений для фахівців з кібербезпеки. * [**jsluice**](https://github.com/BishopFox/jsluice) (go): Це пакет Go та [інструмент командного рядка](https://github.com/BishopFox/jsluice/blob/main/cmd/jsluice) для витягування URL, шляхів, секретів та інших цікавих даних з вихідного коду JavaScript. -* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge - це просте **розширення Burp Suite** для **витягування параметрів та кінцевих точок** з запиту для створення користувацького словника для фуззингу та перерахунку. +* [**ParaForge**](https://github.com/Anof-cyber/ParaForge): ParaForge - це просте **розширення Burp Suite** для **витягування параметрів та кінцевих точок** з запиту для створення користувацького списку слів для фуззингу та перерахунку. * [**katana**](https://github.com/projectdiscovery/katana) (go): Чудовий інструмент для цього. +* [**Crawley**](https://github.com/s0rg/crawley) (go): Друкує кожне посилання, яке може знайти. ### Brute Force directories and files -Почніть **brute-forcing** з кореневої папки та переконайтеся, що ви brute-force **всі** **знайдені каталоги**, використовуючи **цей метод** та всі каталоги, **виявлені** за допомогою **Spidering** (ви можете виконати цей brute-forcing **рекурсивно** та додати на початку використаного словника імена знайдених каталогів).\ +Почніть **brute-forcing** з кореневої папки та переконайтеся, що ви brute-force **всі** **каталоги, знайдені** за допомогою **цього методу** та всі каталоги, **виявлені** за допомогою **Spidering** (ви можете виконати цей brute-forcing **рекурсивно** та додати на початку використаного списку слів назви знайдених каталогів).\ Інструменти: -* **Dirb** / **Dirbuster** - Включено в Kali, **старий** (і **повільний**), але функціональний. Дозволяє авто-підписані сертифікати та рекурсивний пошук. Занадто повільний у порівнянні з іншими варіантами. +* **Dirb** / **Dirbuster** - Включено в Kali, **старий** (і **повільний**) але функціональний. Дозволяє авто-підписані сертифікати та рекурсивний пошук. Занадто повільний у порівнянні з іншими варіантами. * [**Dirsearch**](https://github.com/maurosoria/dirsearch) (python)**: Не дозволяє авто-підписані сертифікати, але** дозволяє рекурсивний пошук. * [**Gobuster**](https://github.com/OJ/gobuster) (go): Дозволяє авто-підписані сертифікати, **не має** **рекурсивного** пошуку. * [**Feroxbuster**](https://github.com/epi052/feroxbuster) **- Швидкий, підтримує рекурсивний пошук.** * [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ` * [**ffuf** ](https://github.com/ffuf/ffuf)- Швидкий: `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ` -* [**uro**](https://github.com/s0md3v/uro) (python): Це не spider, а інструмент, який, отримавши список знайдених URL, видалить "дубльовані" URL. +* [**uro**](https://github.com/s0md3v/uro) (python): Це не spider, а інструмент, який, given the list of found URLs, видалить "дубльовані" URL. * [**Scavenger**](https://github.com/0xDexter0us/Scavenger): Розширення Burp для створення списку каталогів з історії burp різних сторінок. * [**TrashCompactor**](https://github.com/michael1026/trashcompactor): Видаляє URL з дублікатами функціональностей (на основі js імпортів). -* [**Chamaleon**](https://github.com/iustin24/chameleon): Використовує wapalyzer для виявлення використовуваних технологій та вибору словників для використання. +* [**Chamaleon**](https://github.com/iustin24/chameleon): Використовує wapalyzer для виявлення використовуваних технологій та вибору списків слів для використання. **Рекомендовані словники:** @@ -289,25 +290,25 @@ _Зверніть увагу, що щоразу, коли під час brute-fo * [**Broken link checker**](https://github.com/stevenvachon/broken-link-checker): Знайти зламані посилання всередині HTML, які можуть бути схильні до захоплення. * **Резервні копії файлів**: Після того, як ви знайшли всі файли, шукайте резервні копії всіх виконуваних файлів ("_.php_", "_.aspx_"...). Загальні варіації для назви резервної копії: _file.ext\~, #file.ext#, \~file.ext, file.ext.bak, file.ext.tmp, file.ext.old, file.bak, file.tmp та file.old._ Ви також можете використовувати інструмент [**bfac**](https://github.com/mazen160/bfac) **або** [**backup-gen**](https://github.com/Nishantbhagat57/backup-gen)**.** * **Виявлення нових параметрів**: Ви можете використовувати інструменти, такі як [**Arjun**](https://github.com/s0md3v/Arjun)**,** [**parameth**](https://github.com/maK-/parameth)**,** [**x8**](https://github.com/sh1yo/x8) **та** [**Param Miner**](https://github.com/PortSwigger/param-miner) **для виявлення прихованих параметрів. Якщо зможете, спробуйте шукати** приховані параметри в кожному виконуваному веб-файлі. -* _Arjun всі стандартні словники:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db) +* _Arjun всі стандартні списки слів:_ [https://github.com/s0md3v/Arjun/tree/master/arjun/db](https://github.com/s0md3v/Arjun/tree/master/arjun/db) * _Param-miner “params” :_ [https://github.com/PortSwigger/param-miner/blob/master/resources/params](https://github.com/PortSwigger/param-miner/blob/master/resources/params) * _Assetnote “parameters\_top\_1m”:_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io) * _nullenc0de “params.txt”:_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773) * **Коментарі:** Перевірте коментарі всіх файлів, ви можете знайти **облікові дані** або **приховану функціональність**. -* Якщо ви граєте в **CTF**, "звичайний" трюк - це **сховати** **інформацію** всередині коментарів праворуч від **сторінки** (використовуючи **сотні** **пробілів**, щоб ви не бачили дані, якщо відкриєте вихідний код у браузері). Інша можливість - використовувати **кілька нових рядків** та **сховати інформацію** в коментарі в **нижній частині** веб-сторінки. +* Якщо ви граєте в **CTF**, "звичайний" трюк - це **сховати** **інформацію** всередині коментарів праворуч від **сторінки** (використовуючи **сотні** **пробілів**, щоб ви не бачили дані, якщо відкриєте вихідний код у браузері). Інша можливість - використовувати **кілька нових рядків** та **сховати інформацію** в коментарі внизу веб-сторінки. * **API ключі**: Якщо ви **знайдете будь-який API ключ**, є посібник, який вказує, як використовувати API ключі різних платформ: [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird). * Google API ключі: Якщо ви знайдете будь-який API ключ, що виглядає як **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik, ви можете використовувати проект [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner), щоб перевірити, до яких API ключ може отримати доступ. * **S3 Buckets**: Під час spidering перевірте, чи є якийсь **субдомен** або будь-яке **посилання**, пов'язане з якимось **S3 bucket**. У такому випадку, [**перевірте** **дозволи** на bucket](buckets/). ### Special findings -**Під час** виконання **spidering** та **brute-forcing** ви можете знайти **цікаві** **речі**, на які вам слід **звернути увагу**. +**Під час** виконання **spidering** та **brute-forcing** ви можете знайти **цікаві** **речі**, на які вам потрібно **звернути увагу**. **Цікаві файли** * Шукайте **посилання** на інші файли всередині **CSS** файлів. -* [Якщо ви знайдете файл _**.git**_, з нього можна витягти деяку інформацію](git.md). -* Якщо ви знайдете _**.env**_, така інформація, як API ключі, паролі бази даних та інша інформація можуть бути знайдені. +* [Якщо ви знайдете файл _**.git**_, можна витягнути деяку інформацію](git.md). +* Якщо ви знайдете _**.env**_, можна знайти інформацію, таку як API ключі, паролі бази даних та іншу інформацію. * Якщо ви знайдете **API кінцеві точки**, ви [також повинні їх протестувати](web-api-pentesting.md). Це не файли, але, ймовірно, "виглядатимуть" як вони. * **JS файли**: У розділі spidering згадувалися кілька інструментів, які можуть витягувати шляхи з JS файлів. Також було б цікаво **моніторити кожен знайдений JS файл**, оскільки в деяких випадках зміна може вказувати на те, що потенційна вразливість була введена в код. Ви можете використовувати, наприклад, [**JSMon**](https://github.com/robre/jsmon)**.** * Вам також слід перевірити виявлені JS файли за допомогою [**RetireJS**](https://github.com/retirejs/retire.js/) або [**JSHole**](https://github.com/callforpapers-source/jshole), щоб дізнатися, чи є вони вразливими. @@ -326,17 +327,17 @@ _Зверніть увагу, що щоразу, коли під час brute-fo **502 Proxy Error** -Якщо будь-яка сторінка **відповідає** з цим **кодом**, це, ймовірно, **погано налаштований проксі**. **Якщо ви надішлете HTTP запит, як: `GET https://google.com HTTP/1.1`** (з заголовком хоста та іншими загальними заголовками), **проксі** спробує **доступитися** до _**google.com**_ **і ви знайдете** SSRF. +Якщо будь-яка сторінка **відповідає** з цим **кодом**, це, ймовірно, **погано налаштований проксі**. **Якщо ви надішлете HTTP запит, наприклад: `GET https://google.com HTTP/1.1`** (з заголовком хоста та іншими загальними заголовками), **проксі** спробує **доступитися** до _**google.com**_ **і ви знайдете** SSRF. **NTLM Authentication - Info disclosure** Якщо працюючий сервер запитує аутентифікацію **Windows** або ви знаходите вхід, що запитує ваші **облікові дані** (і запитує **ім'я домену**), ви можете спровокувати **розкриття інформації**.\ **Надішліть** **заголовок**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` і через те, як працює **NTLM аутентифікація**, сервер відповість внутрішньою інформацією (версія IIS, версія Windows...) у заголовку "WWW-Authenticate".\ -Ви можете **автоматизувати** це, використовуючи **плагін nmap** "_http-ntlm-info.nse_". +Ви можете **автоматизувати** це, використовуючи **nmap плагін** "_http-ntlm-info.nse_". **HTTP Redirect (CTF)** -Можливо **вставити вміст** всередину **Redirection**. Цей вміст **не буде показаний користувачу** (оскільки браузер виконає перенаправлення), але щось може бути **сховане** там. +Можливо **вставити вміст** всередину **перенаправлення**. Цей вміст **не буде показаний користувачу** (оскільки браузер виконає перенаправлення), але щось може бути **сховане** там. ### Web Vulnerabilities Checking @@ -433,8 +434,8 @@ Description: Simple Scan with Ffuf for discovering additional vhosts Command: ffuf -w {Subdomain_List}:FUZZ -u {Web_Proto}://{Domain_Name} -H "Host:FUZZ.{Domain_Name}" -c -mc all {Ffuf_Filters} ``` {% hint style="success" %} -Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
diff --git a/pentesting-web/2fa-bypass.md b/pentesting-web/2fa-bypass.md index 72637c22d..42ef5e1db 100644 --- a/pentesting-web/2fa-bypass.md +++ b/pentesting-web/2fa-bypass.md @@ -1,12 +1,12 @@ -# 2FA/OTP Bypass +# 2FA/MFA/OTP Bypass {% hint style="success" %} -Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Підтримайте HackTricks +Підтримати HackTricks * Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)! * **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** @@ -19,7 +19,7 @@
-[**WhiteIntel**](https://whiteintel.io) — це **пошукова система**, що працює на основі **темного вебу**, яка пропонує **безкоштовні** функції для перевірки, чи була компанія або її клієнти **скомпрометовані** **шкідливими програмами-крадіями**. +[**WhiteIntel**](https://whiteintel.io) — це **пошукова система**, що працює на основі **темного вебу**, яка пропонує **безкоштовні** функції для перевірки, чи була компанія або її клієнти **скомпрометовані** **шкідливими програмами**. Основна мета WhiteIntel — боротися з захопленнями облікових записів та атаками програм-вимагачів, що виникають внаслідок шкідливих програм, які крадуть інформацію. @@ -33,7 +33,7 @@ ### **Прямий доступ до кінцевої точки** -Щоб обійти 2FA, отримайте доступ до наступної кінцевої точки безпосередньо, знаючи шлях, що є критично важливим. Якщо не вдається, змініть **Referrer header**, щоб імітувати навігацію з сторінки перевірки 2FA. +Щоб обійти 2FA, отримайте доступ до наступної кінцевої точки безпосередньо, знаючи шлях є критично важливим. Якщо не вдається, змініть **Referrer header**, щоб імітувати навігацію з сторінки перевірки 2FA. ### **Повторне використання токенів** @@ -41,7 +41,7 @@ ### **Використання невикористаних токенів** -Спробуйте витягти токен зі свого облікового запису, щоб обійти 2FA в іншому обліковому записі. +Спробуйте витягти токен з власного облікового запису, щоб обійти 2FA в іншому обліковому записі. ### **Витік токена** @@ -53,7 +53,7 @@ ### **Маніпуляція сесією** -Ініціювання сесій для облікових записів як користувача, так і жертви, і завершення 2FA для облікового запису користувача без подальших дій дозволяє спробувати отримати доступ до наступного етапу в потоці облікового запису жертви, експлуатуючи обмеження управління сесіями на сервері. +Ініціювання сесій для облікових записів користувача та жертви, а також завершення 2FA для облікового запису користувача без продовження, дозволяє спробувати отримати доступ до наступного етапу в потоці облікового запису жертви, експлуатуючи обмеження управління сесіями на сервері. ### **Механізм скидання пароля** @@ -85,7 +85,7 @@ Обмеження швидкості можуть захищати спроби входу, але не внутрішні дії облікового запису. -#### **Витрати на повторну відправку SMS-кодів** +#### **Витрати на повторну відправку SMS-коду** Надмірна повторна відправка кодів через SMS несе витрати для компанії, хоча це не обходить 2FA. @@ -105,7 +105,7 @@ #### **Передбачувані значення куків** -Вгадування значення кука "запам'ятати мене" може обійти обмеження. +Вгадування значення куки "запам'ятати мене" може обійти обмеження. #### **Імітація IP-адреси** @@ -123,11 +123,11 @@ ### **Обробка попередніх сесій** -При завершенні існуючих сесій після активації 2FA облікові записи захищені від несанкціонованого доступу з скомпрометованих сесій. +При активації 2FA завершення існуючих сесій захищає облікові записи від несанкціонованого доступу з скомпрометованих сесій. ### **Недоліки контролю доступу з резервними кодами** -Негайне створення та потенційне несанкціоноване отримання резервних кодів після активації 2FA, особливо з неправильними налаштуваннями CORS/XSS уразливостями, становить ризик. +Негайне створення та потенційне несанкціоноване отримання резервних кодів при активації 2FA, особливо з неправильними налаштуваннями CORS/XSS уразливостями, становить ризик. ### **Розкриття інформації на сторінці 2FA** @@ -139,18 +139,23 @@ ### **Декой-запити** -Використання декой-запитів для затемнення спроб методом грубої сили або введення в оману механізмів обмеження швидкості додає ще один рівень до стратегій обходу. Створення таких запитів вимагає тонкого розуміння заходів безпеки програми та поведінки обмеження швидкості. +Використання декой-запитів для затемнення спроб методом грубої сили або введення в оману механізмів обмеження швидкості додає ще один рівень до стратегій обходу. Створення таких запитів вимагає тонкого розуміння заходів безпеки додатку та поведінки обмеження швидкості. + +### Помилки конструкції OTP + +Якщо OTP створюється на основі даних, які користувач вже має, або які надсилаються раніше для створення OTP, користувач також може його згенерувати та обійти. ## Посилання * [https://medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35](https://github.com/carlospolop/hacktricks/blob/master/pentesting-web/%22https:/medium.com/@iSecMax/two-factor-authentication-security-testing-and-possible-bypasses-f65650412b35%22/README.md) * [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718) +* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce) ### [WhiteIntel](https://whiteintel.io)
-[**WhiteIntel**](https://whiteintel.io) — це **пошукова система**, що працює на основі **темного вебу**, яка пропонує **безкоштовні** функції для перевірки, чи була компанія або її клієнти **скомпрометовані** **шкідливими програмами-крадіями**. +[**WhiteIntel**](https://whiteintel.io) — це **пошукова система**, що працює на основі **темного вебу**, яка пропонує **безкоштовні** функції для перевірки, чи була компанія або її клієнти **скомпрометовані** **шкідливими програмами**. Основна мета WhiteIntel — боротися з захопленнями облікових записів та атаками програм-вимагачів, що виникають внаслідок шкідливих програм, які крадуть інформацію. @@ -161,12 +166,12 @@ P {% hint style="success" %} -Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ -Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte) +Вивчайте та практикуйте AWS Hacking:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ +Вивчайте та практикуйте GCP Hacking: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
-Підтримайте HackTricks +Підтримати HackTricks * Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)! * **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**