---
description: >-
  Dans ce write-up, nous verrons comment compléter Lazy admin de TryHackMe, Un
  challenge CTF de niveau débutant qui requiert plusieurs techniques : nmap,
  gobuster, CMS, élévation de privilège
---

# Tryhackme CTF Write-Up : Lazy Admins

<mark style="color:yellow;">**Enumération**</mark>

Commençons par un scan Nmap pour voir les ports ouverts puis un second sur ceux ouverts pour voir les services qui tournent dessus ainsi que le script par défaut de nmap sur ces ports

Dans ce scan nous trouvons que deux ports sont ouverts :

* 22 : un service ssh OpenSSH 7.2p2
* 80 : Un serveur Apache httpd 2.4.18

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2Fk31wCxXh52LX4havqAIH%2F1.png?alt=media&#x26;token=c2b0b2ec-66e0-4ba6-8663-0437085faf02" alt=""><figcaption></figcaption></figure>

Passons à l'énumération de dossir avec gobuster

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2F6J65pQHTuxQuj4l5N5FQ%2F2.png?alt=media&#x26;token=982e5fdf-6235-4125-bc50-5ce1562b1470" alt=""><figcaption></figcaption></figure>

Nous trouvons directement le dossier /content



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FApZl9ypAicPczKlwVef6%2FScreenshot_1.png?alt=media&#x26;token=60252668-9cdc-4534-858d-3e2429e47a41" alt=""><figcaption></figcaption></figure>

Qui contient un CMS SweetRice, après tentative de trouver la version sans résultat, je continue d'énumérer à partir de /content

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FA1bQ5jCGclSDkOT4R7lf%2FScreenshot_7.png?alt=media&#x26;token=0a5c8ad9-5b1d-4999-bf01-ae385223ba25" alt=""><figcaption></figcaption></figure>

dans le fichier /inc, nous trouvons un dossier intéressant "mysql\_backup"



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FHl8DG29yIDzupK1cHow2%2FScreenshot_2.png?alt=media&#x26;token=4dd67aba-8798-44f3-96d3-c760d3c737ca" alt=""><figcaption></figcaption></figure>

téléchargeons-le et regardons ce qu'il contient



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FXyYOTT5yUH1wwARbWeMr%2FScreenshot_3.png?alt=media&#x26;token=a8c90788-9dbc-4c78-b692-a5dd6bce4367" alt=""><figcaption></figcaption></figure>

Nous trouvons un username "manager" et un potentiel mot de passe hashé



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FigknzP6zoZF8Vnzi3BYj%2FScreenshot_4.png?alt=media&#x26;token=813602f5-03ac-43b9-9c43-0242b144bc91" alt=""><figcaption></figcaption></figure>

avec un analyseur de hash nous trouvons rapidement que c'est en MD5 et nous le crackons rapidement



Dans /content/as nous trouvons un panel administrateur, essayons les credentials que nous venons d'avoir

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FTgEF62RPRW5e85sh1skG%2FScreenshot_5.png?alt=media&#x26;token=493b9d12-6438-4292-b9e5-9081a38eb43c" alt=""><figcaption></figcaption></figure>

Cela fonctionne, nous trouvons alors la version 1.51,

recherchons sur exploit-db une vulnérabilité pour cette version\
nous trouvons ceci



&#x20;

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FV0FZEv8tDd3t15ABV20D%2FScreenshot_6.png?alt=media&#x26;token=b9203e1e-34d6-4877-9b04-6f61342b20fc" alt=""><figcaption></figcaption></figure>

Pour résumer, lors d'ajouts d'ad, nous pouvons injecter du code php, et donc nous allons injecter un reverse-shell php ( pentestmonkey)



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2F3aMq6P2RHmCcGzBi9SYs%2FScreenshot_8.png?alt=media&#x26;token=383f1d0b-00ff-46cb-9cd4-736d5ed2d31d" alt=""><figcaption></figcaption></figure>

vérifiez bien de mettre votre ip tryhackme ainsi que le port associé au listener netcat que vous allez mettre



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FRTgp6RcJsbIashrmnqs7%2FScreenshot_9.png?alt=media&#x26;token=2ef3753e-f7d3-447e-bc7f-eb6e12c03f02" alt=""><figcaption></figcaption></figure>

Une fois tout cela setup, rendez vous sur /content/inc/ads, et cliquez sur le reverse-shell



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FCwu6oKATt3eup9Y2x6TO%2FScreenshot_10.png?alt=media&#x26;token=58e84509-57ca-4f9c-8ce3-6c9c7c55159a" alt=""><figcaption></figcaption></figure>

Et voilà l'accès initial,

![](https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2F33JBxNMTIr8SBTY58wQp%2FScreenshot_11.png?alt=media\&token=64bec447-040f-41e0-b47f-0772bd78e301)

Nous pouvons récupérer le flag user dans /home/itguy



<mark style="color:yellow;">**Elevation de privileges :**</mark>&#x20;



<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FauRs9HCLqoHn6xDkE0cX%2FScreenshot_12.png?alt=media&#x26;token=f5765f96-8ad3-4866-9dae-0b6d27d51bec" alt=""><figcaption></figcaption></figure>

Nous voyons que notre utilisateur à les permissions root sur un binaire, backup.pl

dans le contenu de backup.pl nous voyons que cela execute un autre binaire, /etc/copy.sh

et nous avons les permissions d'écriture pour ce binaire

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FkwdOQofzuNpAG8wUBYN8%2Fimage.png?alt=media&#x26;token=691ba2e6-361d-4086-af24-84ef8b6e9f43" alt=""><figcaption></figcaption></figure>

Nous voyons dans copy.sh qu'il y'a déjà un reverse-shell, il ne reste plus qu'à changer l'ip de celui ci par celle de notre machine et de setup un netcat listener puis une fois le listener établi, qu'à lancer backup.pl avec sudo&#x20;

<figure><img src="https://3839766064-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxQeXO8rMJOSwaAmFiOY8%2Fuploads%2FSmFsimQVO67DYnbtw5DU%2FScreenshot_15.png?alt=media&#x26;token=9196a623-173c-479f-9a07-c68aed6479eb" alt=""><figcaption></figcaption></figure>

De retour sur notre listener nous voyons que nous avons établie la connexion en tant que root,

récupérons le flag&#x20;





J'espère que vous aurez appris quelque chose et apprécié mon write-up

N'hésitez pas à faire la room sur tryhackme : [https://tryhackme.com/room/lazyadmin](https://tryhackme.com/room/lazyadmin)

mon profil tryhackme : [https://tryhackme.com/p/Frozzinours](https://tryhackme.com/p/Frozzinours)
