Hacker Lab


Linsecurity est une machine qui a été écrite en 2018 par In.security.
Elle permet de s'entrainer aux techniques d'élévation de privilège: sudo, sticky bit, injection de clef ssh

Les identifiants de connection sont: bob/secret

Vérifiez que la VM est lancée sur la page [VMs], et pingez l'IP à  partir de la Kali.
Pour un travail en team utilisez l'etherpad: https://pad.yoloctf.org/p/linsecurity ou https://pad.yoloctf.org:8443/p/linsecurity

Auteur de la VM: In.security
Auteur de ces challs: Dirtflash

1 / 17 - Nmap
5

Lancer un nmap sans option
Le flag est la liste des ports ouverts sous la forme: a:b:c

2 / 17 - liste users
5

Connectez vous avec l'utilisateur bob, et listez les différents utilisateurs.

Le flag est composé de la première lettre de chaque utilisateur.

3 / 17 - cmd exécuté en root
5

Utilisez sudo -l pour voir les commandes que bob peut exécuter avec les droits root.

Le flag est la deuxième commande que bob peut exécuter.
Toutes ces commandes peuvent vous permettre d'obtenir unshell root.
Nous allons nous concentrer sur une seule, mais vous pouvez vous faire plaisir :)

4 / 17 - bash
5

Après ce flag vous aurez normalement réussi à avoir les droits root depuis l'utilisateur bob.
Lancez un bash en utilisant la commande du flag précedent pour obtenir les droits root. Puis utilisez la commande id.

Pour vous aidez, consultez le site : https://gtfobins.github.io/

Le flag est la valeur du uid de root.

5 / 17 - susan
5

Passons maintenant à l'utilisateur susan.
Regardez le contenu du répertoire de susan, un des fichiers contient son mot de passe.

Le flag est le mot de passe de susan.

6 / 17 - susan@
5

Connectez vous au compte du susan.

Le flag est le nom du groupe dont susan fait parti.

7 / 17 - suid
5

Avec la commande find, listez les fichiers SUID.
Ce sont des fichiers s'exécutant avec les privilèges du propriétaire et non ceux de l'utilisateur invoquant.

find / -perm -4000 -exec [commande] {} \;
Détails commande find : http://www.linux-france.org/article/memo/node126.html

Le flag est le nom du fichier pouvant etre exécuté par les membres du groupe de susan.

8 / 17 - shadow
5

Affichez le contenu du fichier /etc/shadow en utilisant le fichier ( dans l'exemple ci-dessous) appartenant au groupe de susan.
Aide syntaxe :
[chemin fichier] | *** -r

Le flag est le premier mot du fichier /etc/shadow.

9 / 17 - Mypasswd
5

Pour décrypter un mot de passe il faut le fichier /etc/shadow et le fichier /etc/passwd.
Copiez ces deux fichier sur votre machine kali.
Utilisez la commande unshadow pour assembler ces deux fichier dans un seul et meme fichier.

Le flag est l'avant dernière ligne du fichier créé.

10 / 17 - John the Ripper
5

Utilisez John the Ripper pour décrypter les mots de passe.

Le flag est le mot de passe du compte root.

11 / 17 - partage de fichier
5

Vous avez maintenant les droits root depuis le compte de susan, passons à peter.
Vous avez pu voir au début, avec le résultat du nmap, qu'il a un partage de fichier nfs.
Depuis votre kali, listez les répertoires partagés par la VM Insecurity.

Le flag est le répertoire partagé.

12 / 17 - mount
5

Monter le répertoire distant /home/peter sur votre kali. Puis rendez-vous dedans.
Avec ls -al regardez les droits que vous avez sur le répertoire.

Le flag est composé du UID et du GID de Peter sous la forme numérique 0000:0000.

13 / 17 - new user
5

Créez un nouvel utilisateur avec le même UID et GID que peter.
Puis connectez vous avec pour vous faire passer pour Peter.
Vérifiez que ca fontionne avec ls -al sur le répertoire /home/peter.

Le flag est composé du UID et du GID de Peter sous la forme NOM:GROUPE.

14 / 17 - ssh key
5

Générez une paire de clés SSH toutes neuves avec openssl: https://yoloctf.org/yoloctf/toolbox/toolbox.php?id=sshidrsagen
Nous allons déposer la clef publique dans le répertoire de peter ce qui nous permettra de nous connecter en ssh avec la clef privée.

Le flag est le nom du fichier contenant la clé publique.

15 / 17 - clé pub
5

Copiez votre clé publique précédement généré dans le répartoire /home/peter/.ssh/authorized_keys.
https://yoloctf.org/yoloctf/toolbox/toolbox.php?id=sshidrsaauth
Puis connectez vous à la machine Linsecurity en tant que Peter.

Le flag est le prompt de Peter.

16 / 17 - information identification
5

Affichez les informations d'identification de Peter.

Le flag est le nom du groupe auquel il est membre.

17 / 17 - exploit
5

Utilisez l'exploit de Chrisfosterelli pour ouvrir un shell avec les droits root.
https://hub.docker.com/r/chrisfosterelli/rootplease

Le flag est le hash SHA256 qui apparait lors de l'exécution de l'exploit.