-: Nous avons vu jusqu’à présent comment utiliser
un service avec un
mot de passe par défaut ou un service qui n’a pas
été configuré correctement ou un service livré avec une
porte dérobée pour obtenir un accès complet à l’ordinateur cible.
Nous avons également vu comment Metasploit utilise l’utilisation de
base pour se connecter à une porte dérobée
installée sur le service FTP.
Aujourd'hui, nous allons examiner Metasploit
de manière plus avancée et nous verrons comment nous l'utilisons pour
exécuter les vulnérabilités présentes dans un service donné.
C'est une vulnérabilité d'exécution de code qui nous donnera
également un accès complet à l'ordinateur cible.
Donc, revenons à nos résultats ici avec Nmap et nous allons faire la
même chose que nous faisons depuis un moment,
nous copions le nom du service et
voyons s’il comporte des vulnérabilités.
Donc, aujourd’hui, nous examinons ce port en particulier, 139, qui
dispose d’un serveur Samba version 3. X.
Số 3. rien? Vraiment.
Nous allons donc parcourir
Google comme nous l'avons fait
dans les vidéos précédentes et nous allons rechercher
Samba 3. X exploit.
Comme vous pouvez le constater, plusieurs résultats ont été obtenus.
Celui qui nous intéresse, ceux qui
proviennent de Rapid 7 parce que, comme je l’ai
dit, ce sont les gens qui fabriquent Metasploit, les
exploits que vous voyez là-bas peuvent donc être utilisés via Metasploit.
Nous avons donc deux exemples
ici, maintenant que j'ai réellement essayé les deux.
Le premier ne fonctionne pas, il y
a donc quelques essais et erreurs dans ceci et le
second est le script utilisateur.
C'est une vulnérabilité d'exécution de commande, comme vous pouvez le voir ici.
Le nom de la vulnérabilité est donc le suivant.
C'est donc la même chose que
nous utilisions auparavant avec la backdoor maléfique dans le service FTP.
Ceci est juste le nom différent que nous allons utiliser.
Donc, je vais à Metasploit et j'ai
déjà exécuté la console MSF, vous
pouvez donc voir que la console fonctionne ici pour moi.
Donc, je vais faire un usage, comme nous l'avons
fait hier, puis je vais donner le nom de l'exploit que
je veux utiliser.
Ensuite, la chose suivante que nous faisons habituellement est d’afficher les options
comme nous l’avions fait hier.
Donc je vais faire des show options.
Donc, utiliser ces exploits est toujours à peu près identique,
la seule différence étant les options que vous pouvez définir
pour chaque exploit.
Donc, vous utilisez toujours et ensuite vous mettez le nom de l'exploit,
puis vous faites une option show pour voir ce que vous pouvez changer
pour travailler avec cet exploit.
Donc, à l'avenir, vous obtiendrez probablement des exploits différents de
ceux que j'ai.
Ainsi, chaque fois que vous voulez exécuter
un exploit, vous créez un nom d’exploit, puis vous affichez des options pour
voir les options que vous souhaitez configurer, mais
l’utilisation des exploits et la définition des options et
leur exécution sont toujours les mêmes.
Je vous montre donc quelques exemples qui devraient
couvrir à peu près tout ce que vous voulez faire à l'avenir.
Encore une fois, nous devons configurer l’hôte R-Host, qui est l’adresse IP de l’ordinateur
cible, et nous allons procéder de la même manière que nous l’avions
fait auparavant.
Comme je l'ai dit, les options sont toujours les mêmes.
Nous allons donc définir R-HOST,
puis l’adresse IP de l’ordinateur cible, qui
est 10. 20 14 204.
Donc, exactement comme nous le faisions auparavant, nous utilisons l'ensemble
pour définir une option qui est le R-HOST.
Donc, nous allons faire nos options de spectacle.
Et comme vous pouvez le voir maintenant, le R-HOST a été réglé correctement.
Ce que nous devons faire maintenant, c’est ici que les choses
diffèrent de la conférence précédente.
Lors de la conférence précédente, nous utilisions une porte dérobée déjà installée sur
l'ordinateur cible. Tout ce que nous devions faire était de
se connecter à la porte dérobée.
Nous pouvions ensuite exécuter toutes les commandes, toutes les commandes Linux sur l'ordinateur cible.
Dans la vidéo d'aujourd'hui, l'ordinateur cible n'a pas de
porte dérobée, il dispose d'un programme normal présentant un débordement de
mémoire tampon ou une vulnérabilité d'exécution de code.
Donc, le programme ne dispose pas de code nous permettant d'exécuter
des commandes Linux, il a une faille qui nous permettra d'exécuter un
petit morceau de code.
Ces petits morceaux de code s'appellent des charges utiles.
Donc, ce que nous devons faire, nous devons créer
une charge utile, puis l’exécuter sur l’ordinateur cible
en utilisant la vulnérabilité trouvée.
Ce code nous permettra de faire différentes choses.
La charge utile est donc ce qui nous permet de faire des
choses qui nous sont utiles.
Maintenant, les données utiles pourraient nous permettre d’effectuer des commandes Linux
et nous examinerons d’autres types de données utiles
à l’avenir.
Ainsi, pour voir les charges utiles que vous pouvez
utiliser avec cet exploit particulier, il vous suffit de
lancer des charges utiles show.
Et ce sont les différents types de charge utile que vous pouvez utiliser.
Maintenant, je vais en reparler, alors les charges utiles sont
de petits morceaux de code qui seront exécutés sur l’ordinateur cible une
fois que la vulnérabilité aura été exploitée.
Ainsi, lorsque nous exploitons cette vulnérabilité, le code
que nous allons sélectionner ici sera exécuté et, selon le
type de charge utile choisi, il servira à quelque chose
qui nous soit utile.
Donc, à présent, vous pouvez voir que toutes les charges utiles
sont en cmd. C’est donc une abréviation de commande; elles
vous permettent donc d’exécuter des commandes sur l’ordinateur cible, tout comme les commandes Linux.
Et tous ne fonctionnent que sous Unix, ce qui est
normal car notre cible est Linux.
Et il y a deux types principaux, il y a les charges
utiles de liaison et les charges utiles inverses.
Les charges utiles de liaison sont simplement ouvrir un port sur
l’ordinateur cible, puis nous nous connectons à ce port.
Au contraire, ils font le contraire.
Ils ouvrent donc un port sur ma machine puis se
connectent de l'ordinateur cible à ma machine.
Ceci est utile car l’inverse nous permet de contourner les pare-feu, le
pare-feu filtrera donc toutes les connexions allant à la machine cible, mais si
la machine cible se connecte à moi et
que je n’ai pas de pare-feu, je
pourrai alors contourner le pare-feu. pare-feu.
Donc, je vais utiliser le cmd Unix reverse
ou en fait, je vais utiliser le cmd Unix reverse Netcat.
La dernière partie de ces données utiles est l'outil de commande de
programme et de langage qui sera
utilisé pour faciliter la connexion.
Ainsi, par exemple, nous pouvons voir que des
charges utiles sont écrites en perl en ruby ou en python, php ou
utilisent un netcat, un outil qui permet les connexions entre ordinateurs.
C'est donc celui que je vais utiliser et je vais l'utiliser
de la même façon que vous utilisez un exploit.
Donc je vais juste dire, vraiment désolé, je vais l'utiliser en
utilisant la commande set.
Donc, de la même manière que vous utilisez set
et option, nous allons définir la charge utile, donc comme une option, le nom de
la charge utile que nous venons de choisir.
Maintenant, je vais faire un show options pour voir s'il y a
d'autres options que je dois définir.
Et oui, parce que nous avons choisi une charge utile maintenant,
il y a plus d'options.
Il y a donc une option
appelée L-HOST et c'est l'adresse d'écoute qui est ma propre adresse.
Donc, je vais obtenir ma propre adresse IP en utilisant if config.
Et ma propre adresse est 10. 20 14 203.
Donc je vais fermer
ça et régler le L-HOST.
Donc, c'est comme si nous avions configuré le R-Host auparavant,
nous avons paramétré le L-HOST.
Faites 10.
20
Donc, avant de définir R-HOST pour définir cette option, nous
configurons maintenant le L-HOST pour définir cette option.
Donc, définir est très simple, définissez le nom de l’option,
puis la valeur que vous souhaitez lui attribuer.
Ensuite, je vais montrer les options et maintenant, tout
semble aller pour le mieux.
Nous utilisons donc cet exploit, le R-HOST est réglé sur ceci, ce
qui est correct.
Et puis le L-HOST est réglé sur ce qui est parfait.
Et ensuite, vous pouvez également définir le port
sur lequel vous allez écouter, sur votre ordinateur actuel.
Vous pouvez en fait définir la valeur sur 80
si vous le souhaitez. C'est le port utilisé par les navigateurs Web.
Ainsi, si vous définissez L-PORT sur 80, l’ordinateur cible essaiera de
vous connecter en utilisant le port 80 qui n’est jamais filtré sur les
pare-feu, car c’est le port utilisé par les navigateurs Web
ou les serveurs Web.
Ainsi, chaque fois que vous accédez à un site Web, vous accédez réellement au port
80 sur ce site.
Donc, si vous ouvrez le port 80 sur votre ordinateur et
que la cible se connecte à vous sur 80, le
pare-feu pensera que la cible navigue uniquement sur Internet.
Je ne vais pas le faire maintenant parce que j'ai un serveur Web
fonctionnant sur le port 80 et qui sera en conflit.
Donc, je vais simplement régler
le port L-PORT sur 555, par exemple, afin de vous assurer que vous pouvez
modifier n’importe quelle option en utilisant la même méthode que celle qui
est définie, le nom de l’option, puis la valeur.
Donc, je vais encore montrer les options.
Et comme vous pouvez le voir, cela a été changé en 5555
et je vais faire un exploit pour le lancer.
Maintenant, comme vous pouvez le
constater, cela me dit que la session 1 a été ouverte.
Et la connexion est établie entre cet appareil et cet appareil.
Quel est la cible et mon appareil.
Donc, je vais faire un pwd et,
ou je fais un identifiant.
Vous verrez que je suis root donc je fais un uname -a.
Vous verrez que je suis dans la machine Metasploitable
et si je fais un ls, je pourrai lister les fichiers et ainsi de suite.
Je peux utiliser n’importe quelle commande Linux, comme nous l’avions déjà fait dans
les autres vidéos.