Dans cet article nous allons voir comment exploiter le service NFS afin d’élever nos privilèges à partir d'un compte standard pour devenir root.

Table des matières:

  • outils
  • scan
  • exploitation
  • conclusion

Outils

Pour ce challenge on va utiliser une VM légère configurée exprès pour cela: une tinycore. Retrouvez la VM ici.

On a besoin d'une machine d'attaque et nous avons choisi d'utiliser une VM kali, l'une des dernières versions. Nous allons sauter les étapes d'installation de notre environnement virtuel considérant cela comme acquis. Toutefois assurons nous d'avoir sur le même réseau la VM cible et la VM d'attaque.

Scan

Cette étape consiste à trouver l'adresse IP de la machine cible. En effet après l'avoir lancée on se retrouve avec cet écran :

tc machine

Il nous faut à présent connaître les adresses ip des deux machines. J'ai configuré la VM de la Kali avec une unique carte réseau

Dans un terminal de la machine d'attaque nous faisons un :

# ifconfig eth0

kaliip

Sachant que la machine cible est sur le même réseau que notre Kali, ce qui nous facilite la tache, nous allons utiliser nmap pour trouver son adresse ip et en même temps identifier les services qui tournent.

# nmap -A 192.168.1.0/24 

Étant donné que nous avons scanné tout le réseau, à chaque ip adresse, ip active, nmap va renvoyer un résultat.

Voila le résultat pour la machine cible :

runningservices

Exploitation

Trois services sont actifs sur la machine cible. Deux d'entre eux sont très intéressants: `ssh` et `nfs`.

Le protocole nfs est un protocole de partage de répertoire. Ceci étant dit nous allons rechercher quel répertoire la machine cible partage.

# showmount -e 192.168.1.37

Grace à ces informations on connaît non seulement le chemin complet du répertoire partagé mais on peut déduire que bob est un potentiel utilisateur du système.

Nous allons maintenant monter le répertoire partage sur notre kali afin de voir ce qu'il contient. Créons un répertoire de montage puis montons le répertoire /home/bob de la cible dessus

# mkdir mount_point
# mount -t nfs 192.168.1.37:/home/bob mount_point/
# cd mount_point

ls

Nous sommes à présent dans le répertoire partage et nous avons pu lister son contenu. Puisque nous avons déduit que c'est le répertoire personnel de l'utilisateur bob nous pouvons essayer de nous logger via le protocole ssh . Créons un répertoire .ssh dans lequel on ajoutera un fichier qui va contenir la clé ssh publique de ma machine d'attaque. Ainsi des que je voudrais me connecter à distance sur le système il ne va pas me demander de mot de passe car il va me reconnaître en tant que machine habilitée à me connecter de cette façon.

Pour cela générons la clé publique de la kali si ce n'est pas encore fait:

# ssh-keygen -t rsa

Pour ma par je l'avais déjà généré, il me demande d'écraser le premier. Bref. La commande crée d'abord une clé secrète id.rsa et la clé publique id_rsa.pub et sauvegarde le tout dans le répertoire /root/.ssh .

Copions la clé publique dans /root/mount_point/.ssh

# cp /root/.ssh/id_rsa.pub /root/mount_point/.ssh/authorized_keys

copy_id_rsa

Ouvrons à présent un autre terminal pour nous logger via ssh.

# ssh bob@192.168.1.37

connected

A la question qui m'a été posée j'ai répondu yes. C'est simplement la kali qui me demande si j'accepte d'ajouter la machine ayant pour adresse ip 192.168.1.37 dans la liste des machines qu'elle connaît. Je me suis bel et bien connecté sans avoir à entrer de mot de passe.


Ce site est propulsé par:

  • unofficial javascript logo
  • react atom logo
  • gatsbyjs logo
  • markdown logo

©2020 - SDLDonfred Digital