RODGAR
  • Whoami
  • ACTIVE DIRECTORY
    • HackTheBox Scrambled
    • HackTheBox Forest
    • HackTheBox Escape
    • HackTheBox Authority
    • HackTheBox Support
    • HackTheBox Return
    • HackTheBox Timelapse
    • HackTheBox Administrator
    • HackTheBox Cicada
    • ⛔HackTheBox Vintage
    • HackTheBox Sauna
    • HackTheBox Active
  • CTF WRITEUP's
    • TryHackme
      • TryHackme 0day
      • TryHackme Daily Bugle
      • TryHackme Blog
      • TryHackme Year of the Owl
      • TryHackme Wgel CTF
      • TryHackme Chill Hack
      • TryHackme Wonderland
      • TryHackne OhSINT
      • TryHackme Cold VVars
      • TryHackme Dav
      • TryHackme RootMe
      • TryHackMe Basic Pentesting
      • TryHackMe Simple-CTF
      • TryHackMe Vulnversity
      • Tryhackme Kenobi
    • Burp Suite
      • 1️⃣SQL Ijections
        • Laboratorio Uno
        • Laboratorio Dos
        • Laboratorio Tres
        • Laboratorio Cuatro
        • Laboratorio Cinco
        • Laboratorio Seis
        • Laboratorio Siete
    • VulnHub
      • Inferno
      • Election
      • SYMFONOS 3
      • SYMFONOS 2
      • DJinn-3
      • Durian 1
      • DarkHole 2
      • OffSec DC-9
      • OffSec Potato
      • OffSec Pwned1
      • OffSec VIKINGS
      • OffSec Tre
      • OffSec MoneyBox
      • OffSec DEATHNOTE
      • OffSec Gaara
      • OffSec NoName
      • OffSec Katana
      • OffSec Sick0s
    • The Hackers Labs
      • The Hackers Labs Offensive
      • The Hackers Labs Resident
      • The Hacker Labs Base
      • The Hackers Labs Statue
      • The Hackers Labs Luna
      • The Hackers Labs Templo
      • The Hackers Labs GOIKO
      • The Hackers Labs Microsoft
    • Hackmyvm
      • Hackmyvm UP
    • Pivoting
      • Pivoting
      • Internal TryHackme
      • Basic /Doctor
      • Pluck /Brain
  • Privilege escalation
    • Abuso de grupos de usuario especiales
      • Docker
      • LXD
      • ADM
    • Abuso de permisos incorrectamente implementados
    • Detección y explotación de Capabilities
    • Tareas Crom
    • Path Hijacking
    • Abusando de privilegios a nivel de Sudoers
    • Abusando de privilegios SUID
    • Linux Privilege Escalation
  • Shared Files
    • Share Windows Linux
      • Compartir de entre Windows y Linux
      • Compartir de Windows a linux [Impacket-Server]
    • Share Linux
      • Compartir de linux en [PHP]
  • OWASP TOP 10
    • SQL Injections
    • XSS
    • XXE
    • Path traversal Lab
    • LFI con Wrappers
    • Log Poisoning (LFI -> RCE)
    • Server-Side Template Injection (SSTI)
    • Ataque de oráculo de relleno (Padding Oracle)
    • Inyecciones LaTeX
    • Ataques de transferencia de zona (AXFR – Full Zone Transfer)
    • Enumeración y explotación de WebDAV
    • ShellShock
    • Enumeración y explotación de SQUID Proxies
    • Insecure Direct Object Reference (IDORs)
    • Json Web Token
    • Intercambio de recursos de origen cruzado (CORS)
    • Abuso de subidas de archivos
      • Laboratorio 1
      • Laboratorio 2
      • Laboratorio 3
      • Laboratorio 4
      • Laboratorio 5
      • Laboratorio 6
      • Laboratorio 7
      • Laboratorio 8
      • Laboratorio 9
  • Group 1
    • Recursos
Con tecnología de GitBook
En esta página
  • WFUZZ
  • Escalada de privilegios
  • Python Library Hijacking
  • PATH Hijacking
  • Escalada de privilegios Capabilities.
  1. CTF WRITEUP's
  2. TryHackme

TryHackme Wonderland

AnteriorTryHackme Chill HackSiguienteTryHackne OhSINT

Última actualización hace 1 año

Bueno en esta vez vamos a resolver esta maquina de nivel de dificultad Medio.

  • Primeramente vamos a ver los puertos abiertos usando nuestra herramienta de confianza NMAP. La cual nos muestra que tenemos dos.

# Nmap 7.93 scan initiated Sat Sep 30 22:39:36 2023 as: nmap -sCV -p22,80 -oN target.txt 10.10.59.148
Nmap scan report for 10.10.59.148
Host is up (0.060s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 8eeefb96cead70dd05a93b0db071b863 (RSA)
|   256 7a927944164f204350a9a847e2c2be84 (ECDSA)
|_  256 000b8044e63d4b6947922c55147e2ac9 (ED25519)
80/tcp open  http    Golang net/http server (Go-IPFS json-rpc or InfluxDB API)
|_http-title: Follow the white rabbit.
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Sat Sep 30 22:39:54 2023 -- 1 IP address (1 host up) scanned in 17.67 seconds
  • Ahora seguimos usando NMAP para observar la version que corre para los dos puertos abiertos.

  • Si vamos al puerto 80 nos muestra esto nada mas, una pagina web simple. A la cual le haremos fuzzing para descubrir directorios ocultos o subdominios si fuera el caso.

WFUZZ

  • Utilizando wfuzz fuzzeamos en busca de directorios y encontramos de momento uno solo la letra /r.

  • Nota para no hacer tan extenso el WRITEUPS

  • Cuando recien usabamos wfuzz lo unico que de primeras encontrabamos era la letra /r como DC primero, pero si seguimos fuzeando vamos encontrando mas DC con una sola letra que al final toda la conbinacion es /r/a/b/b/i/t.

  • Que todo este combo nos lleva a esta pagina.

  • Que si luego inspeccionamos el codigo fuente de la pagina encontramos credenciales para un usuario llamdo alice. Estas credenciales las testearemos en el puerto 22 ya que solo tenemos dos puertos abiertos.

  • Si utilizamos las credenciales encontradas en el codigo fuente de la pagina lo cual no es muy realista pero bueno es un CTF no la vida real.

  • Observamos que nos podemos autentificar y conectarnos por SSH como el usuario alice.

  • Ya conectados vamos por nuestra primera bandera la de user.txt. Ahora vienes la parte de escalar nuestros privilegios y convertirnos en el administrador del sistema para obtener la ultima bandera la de root.txt.

Escalada de privilegios

  • Si como el usuario alice nos vamos al /home, observamos que tenemos mas usuarios, hatter,rabbit,tryhackme.

  • Si como el actual usuario hacemos un sudo -l, observamos que como el usuario rabbit y no como el usuario alice podemos ejecutar este script en python3.6 que esta bajo el directorio de trabajo de alice.

  • Si abrimos el script con nano, podemos ver que es un poema que no se que dice, mi ingles es barato, pero de entrada esta importando la libreria de random.

Python Library Hijacking

  • Como esta importando la libreria de random, nos creamos nuestra propia random.py y le metemos ahi algo pequeño para que nos otorgue una bash.

  • La idea es hacer un secuestro de la libreria random, por eso creamos lo que creamos con ese nombre, para que asi cuando ejecutemos el script original que solo puede ejecutar rabbit, en vez de invocar la libreria que esta dentro del script original tome la que nosotros hemos creado.

  • Ejecutamos el script original como el usuario rabbit, y observamos que nos migra del usuario alice ah rabbit.

  • Estamos escalando nuestros privilegios de forma lateral saltando de usuario en usuario.

  • Ahora ya como el usuario rabbit si hacemos un ls -l, tenemos un binario con permisos SUID, el cual ejecuta algo que tiene que ver con un evento poniendonos la fecha.

  • La fecha del binario no se toma de forma absoluta si no de forma relativa lo cual puede deribar en un PATH Hijacking.

PATH Hijacking

  • Ahora vamos a hacer un PATH Hijacking, este ataque consiste en la manipulacion del PATH.

  • Nos creamos el date le damos permisos de ejecucion y el codigo que introducimos dentro es /bin/bash.

  • Ahora vamos a manipular el PATH despues de haber creado el date. Ese archivo lo puedes crear en /tmp/ o como lo hice yo en /dev/shm.

  • Ahora si hago un echo $PATH me muestra que mi PATH empieza en /usr/local/sbin/etc/etc.

  • Ahora como punto dos vamos a exportar el PATH manipularlo y que empiece donde yo quiero eso lo hacemos asi export PATH=/dev/shm:$PATH.

  • Ahora como tercer punto si hacemos un echo $PATH observamos que ahora el PATH no inicia en /usr/local/sbin/etc/etc si no que en /dev/shm:/local/etc/etc.

  • NOTA. El PATH ya lo hemos manipulado y ahora inicia donde nosotros queremos donde tenemos alojado el archivito date.

  • Ahora si ejecutamos el binario ./teaParty si hacemos un whoami, ahora ya no somos rabbit, ahora somos otro usuario hatter.

  • Como pasa esto, pues por la manipulacion del PATH, como la ruta de la funcion que me muestra la fecha osea date no es absoluta si no relativa podemos crear nuestro propio date que fue lo que hicimos y introducir lo que nosotros queramos lo que queremos que nos interprete que en este caso fue /bin/bash.

  • Bueno ahora que ya somos el usuario hatter seguimos escalando nuestros privilegios de forma lateral hasta llegar al rey root.

  • Ahora como el usuario hatter si nos vamos a su directorio de trabajo tiene un password.txt el cual es del ssh pero para el usuario hatter, nos las copiamos y ahora nos conectamos al usuario hatter via ssh.

Escalada de privilegios Capabilities.

  • Ahora buscando una forma de escalar lo encontramos por las Capabilities la de perl, ejecutamos lo que se observa resaltado y wala somos root.

Ahora ya como root solo nos queda hacernos con la ultima bandera la de root.txt. YYY maquina RESUELTA.