# GoatseLinux: 1

## Détails de la machine

**Nom :** GoatseLinux: 1\
**Date de sortie :** 27 Juin 2009\
**Lien de téléchargement :** [http://neutronstar.org/tmp/GoatseLinux\_1.0\_VM.rar](http://neutronstar.org/tmp/GoatseLinux_1.0_VM.rar)\
**Niveau :** Facile\
**Objectif(s) :** obtenir un accès "root"\
**Description :**`GoatseLinux v1.0 pentest lab Virtual MachineSteve Pordon`\
`2009.06.27`\
`Feel free to distribute this far and wide under the gnu license.`\
`This is specifically built for VMware 6.5 compatibility.`\
`WARNING: GoatseLinux is intentionally unsecure. It was designed as a laboratory box to practice penetration testing on. Due to the wide open nature of nearly every program installed on it, I would strongly advise against setting your VM network to anything other than "host-based," unless you enjoy your VMs being used as zombie spamboxes.`\
`Notes:`\
`Built on the Slax 5.0.7 distro.`\
`Source: readme.txt`\


## Reconnaissance

Pour scanner une cible je dois tout d'abord connaitre son adresse IP. Cela peut se faire grâce à l'outil `netdiscover` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXoYPBhW8e-zk6lMXKG%2Fdda4d9317564af4bac9cdb698758b3b5.png?alt=media\&token=f2a57033-3fbb-4dfa-b4f9-35e935efeca1)

Le listing des services via `nmap` pour l'adresse IP 192.168.1.28 :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXoYYzWUTA2TBvWsBCK%2Faf71b11b2f198a81e0bb32cf2572458f.png?alt=media\&token=48b8d60f-1885-4838-aff1-aab29014a846)

### Service HTTP

Rien de très intéressant sur le service web (qui est en cours de construction) disponible sur le port 80 malgré un `nikto` et un `dirb`.

Résultat du `nikto` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXoaBSPci-dESUyECZi%2F890e2275dc4d88860063aa3bdbfd5976.png?alt=media\&token=7bc6f84d-680d-4bed-b733-3303d3595f60)

Résultat du `dirb` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXoaRkL44J4c9bM6aMS%2F1cd9693cd6eb8444ed133049e00abc09.png?alt=media\&token=33e33131-a64b-4968-9afa-ab9b89110b84)

La page "goatse.html" qui est disponible quand je clique sur l'image d'accueil permet de récupérer trois adresses emails ainsi que la fonction de chacun des utilisateurs :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXoassnV9w0QzRMwJqX%2F0a4688e8850df7f64a34a74e23a0f214.png?alt=media\&token=74c1a2c5-c040-4a9c-82b0-dc17d40577ae)

L'analyse s'arrête ici pour le serveur web, je continue avec le prochain service : Webmin.

### Webmin

Une recherche sur le webmin permet d'identifier une vulnérabilité de type Arbitrary File Disclosure :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXoc0BQ0j6oI-HpO5DE%2Fcab2a936f9146e332f0b86164a81f9a4.png?alt=media\&token=3508be90-29eb-4fd7-9cac-7cdf86e4b725)

Toutes les version inférieures à 1.290 sont vulnérables à un Arbitrary File Disclosure

## Exploitation

### Webmin (CVE-2006-3392)

L'exploitation reste très simple avec un script PHP existant. Je récupère un premier fichier qui est "/etc/passwd" :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXod8u7ANZ3DPz3IBoE%2F176bb3cdc4ca3d61b6fb564baa73a371.png?alt=media\&token=1229a116-02e9-446f-bdfc-6f76d0d50e40)

Je continue avec le fichier "/etc/shadow" :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoR8RWWV4f6XFZwINm%2F-LXodPFUeWo3kk6zXgX5%2F892cb970140ba41f582b89cbfc324dc9.png?alt=media\&token=9017acd8-f448-4e16-b51a-d9adf0755a4d)

Je vais ensuite tenter de cracker les mots de passe grâce à John The Ripper. Pour cela tout d'abord un `unshadow` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoodxFZpAbyxUneI__%2F-LXopBJikmo_40derm27%2Fc243fdf5bb5a8cc8be6ce0f395f12e71.png?alt=media\&token=799e9690-84d2-4d78-8993-9156d096b32e)

Puis je lance `john` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXoodxFZpAbyxUneI__%2F-LXopJ86C6DjA5dpCTNC%2F3562a697fcc39cb70d567ed1ccf80bbd.png?alt=media\&token=55ca5871-25d4-48c9-841d-cff344b88b4d)

Je récupère quatre des cinq mots de passe possibles.

## Élévation de privilèges

Je me connecte avec chacun des comptes en SSH (à noter l'utilisation de quelques options SSH car la machine cible commence à se faire vieille) :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXopRQgxCmLXWMCCBgf%2F-LXopXHrgMfUPSFaIPgI%2F442a348df6358e910d38cfc44fa83133.png?alt=media\&token=3bd1c5a4-27e3-4e18-9caf-9e515d30e76f)

Un de ces comptes possède les droits `sudo` :

![](https://1502624390-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LXA-aPG-dBFXBTzP1DC%2F-LXpADk8nQpljWTKHyQx%2F-LXpAGvvFfs3Fs-OidG9%2F8e25dcb12d7ae8952614b739aa551605.png?alt=media\&token=95204b77-8466-4130-8eec-627ca618a517)

Travail terminé.

## Conclusion

Aucune difficulté ici car le Webmin était déjà connu grâce à d'autres machines et l'élévation de privilèges ne requiert aucune recherche particulière (sauf se connecter sur tous les comptes pour connaitre celui qui possède les droits `sudo`).
