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
  1. CTF WRITEUP's
  2. TryHackme

TryHackMe Vulnversity

AnteriorTryHackMe Simple-CTFSiguienteTryhackme Kenobi

Última actualización hace 1 año

Ahora hacemos un reconocimiento con nmap para detectar que puertos estan abiertos en el host.

sS: Indica a Nmap que realice un escaneo de tipo SYN, también conocido como "escaneo stealth". 

-Pn: Esta opción indica a Nmap que ignore la detección de host y realice el escaneo de todas formas. 

-n: Indica a Nmap que no realice la resolución de nombres DNS. Esto acelera el escaneo.

--open: Esta opción muestra solo los puertos que están abiertos.

-vvv: Habilita la salida detallada y verbosa de Nmap.

--min-rate 500: Establece la tasa mínima de envío de paquetes a 500 por segundo. Esto ayuda a acelerar el escaneo al aumentar la velocidad.

# Nmap 7.93 scan initiated Mon Jul 10 18:42:15 2023 as: nmap -sCV -p21,22,139,445,3128,3333 -oN targeted 10.10.232.111
Nmap scan report for 10.10.232.111
Host is up (0.17s latency).

PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 3.0.3
22/tcp   open  ssh         OpenSSH 7.2p2 Ubuntu 4ubuntu2.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 5a4ffcb8c8761cb5851cacb286411c5a (RSA)
|   256 ac9dec44610c28850088e968e9d0cb3d (ECDSA)
|_  256 3050cb705a865722cb52d93634dca558 (ED25519)
139/tcp  open  netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn Samba smbd 4.3.11-Ubuntu (workgroup: WORKGROUP)
3128/tcp open  http-proxy  Squid http proxy 3.5.12
|_http-server-header: squid/3.5.12
|_http-title: ERROR: The requested URL could not be retrieved
3333/tcp open  http        Apache httpd 2.4.18 ((Ubuntu))
|_http-title: Vuln University
|_http-server-header: Apache/2.4.18 (Ubuntu)
Service Info: Host: VULNUNIVERSITY; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

Host script results:
| smb-os-discovery: 
|   OS: Windows 6.1 (Samba 4.3.11-Ubuntu)
|   Computer name: vulnuniversity
|   NetBIOS computer name: VULNUNIVERSITY\x00
|   Domain name: \x00
|   FQDN: vulnuniversity
|_  System time: 2023-07-10T12:42:46-04:00
|_clock-skew: mean: 1h20m06s, deviation: 2h18m34s, median: 5s
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   311: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2023-07-10T16:42:46
|_  start_date: N/A
|_nbstat: NetBIOS name: VULNUNIVERSITY, NetBIOS user: <unknown>, NetBIOS MAC: 000000000000 (Xerox)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Jul 10 18:42:43 2023 -- 1 IP address (1 host up) scanned in 27.97 seconds

Ahora lanzamos una nmap para ver que versiones y servicios corren para estos puertos que encontramos abiertos.

-sCV: Indica a Nmap que realice un escaneo de versión y detección de servicios. 
-p: Especifica el puerto que deseas escanear. 

Primeramente vamos a la pagina web ya que los demas puertos no hay mucho que hacer y vemos una pagina web simple.


WFUZZ

Usando wfuzz vamos a enumerar directorios dentro de la pagina web y vemos que encontramos varias pero vamos a ver que hay en Internal


Nos vamos a /internal, vemos que tenemos una subida de archivos.


Nos creamos un archivo php de prueba para ver si lo podemos subir a la web y asi subir un archivo malicioso que nos envie una rever shell.


Intentamos subir el archivo de prueba.php pero no lo podemos subir, vemos que nos dice Extension not alloweb. Vamos a interceptar esta peticion con BurpSuite para observar que tipo de extension acepta.


Interceptamos la peticion la enviamos al intruder y le decimos que el payload lo queremos dentro de la palabra prueba.php.


En el punto uno nos vamos ah payload, luego en el punto dos escribimos varias extensiones que queremos probar y observar cual le gusta.


En el punto uno vemos todas las extensiones probadas y observamos que la extension .phtml tiene una longitud diferente 723 diferente a las demas lo que hace pensar que la web acepta subida de archivos .phtml.

En el punto dos y observando la respuesta que obtenemos, vemos que en la respuesta obtenemos un Success, lo cual confirma que podemos subir archivos con la extension .phtml.


Nos copiamos una rever shell que el parrot ya trae que esta bajo esa ruta que se observa en la imagen.


REVERSHELL

Y ahora con nano vamos a editar el archivo, hacemos los cambios que debemos hacer la direccion IP que se fue asignada cuando te conectas a la VPN y por ultimo el puerto por donde te quieres poner en escucha.


Guardado el archivo y con los cambios ya hechos, vamos a cambiarle el nombre a la extension que la pagina acepta, y lo pasamos de .php a .phtml. Ahora ya podriamos subir archivos a la pagina


Ahora observamos que si podemos subir archivos y que ah subido correctamente nuestro archivo malicioso el cual nos dara una shell a nuestra maquina atacante.


Nos vamos a la ruta /uploads que normalmente en las subidas de archivo es esa o esta /upload, no necesitas usar ni Gobuster,Wfuzz o otra vaina.


NETCAT NC

Ahora ya con el archivo malicioso subido, vamos pa dentro

En el punto uno nos podemos en escucha con netcat por el puerto 443.

Ahora en el punto dos con curl hacemos una peticion a la ruta donde se encuentra subido el archivo .phtml, vemos por la parte de arriba que ganamos acceso y que si hacemos un whoami somos www-data.


Nos vamos al /home/bill y vemos que tenemos la primera flag la del user.txt, ahora solo falta la de root.


ESCALADA DE PRIVILEGIOS

Ahora nos dirigimos a la raiz y buscamos binarios SUID para tratar de pasar de ser www-data a root y vemos que systemctl tiene permisos SUID lo cual es de ayuda.

QUE ES SYSTEMCTL

Systemctl es un comando en los sistemas operativos basados en Linux que se utiliza para controlar y administrar el servicio del sistema, también conocido como el init system. Es parte del proyecto systemd, que es un sistema de inicio y administración de servicios ampliamente utilizado en distribuciones de Linux modernas.

Algunos comandos comunes de systemctl incluyen:

  • systemctl start : Inicia un servicio específico.

  • systemctl stop : Detiene un servicio específico.

  • systemctl restart : Reinicia un servicio específico.

  • systemctl enable : Configura un servicio para que se inicie automáticamente en el arranque del sistema.

  • systemctl disable : Desactiva la ejecución automática de un servicio en el arranque del sistema.

  • systemctl status : Muestra el estado actual de un servicio, incluyendo si está en ejecución o detenido.

Esto nos quiere decir que si podemos reiniciar el servicio podemos incluir nuestras propias ordenes.



Ahora como punto numero uno hacemos un systemctl enable a la ruta donde creamos nuestro root.service recuerde lo que hace este comando es Configura un servicio para que se inicie automáticamente en el arranque del sistema.

En el punto dos hacemos un systemctl start y le pasamos el archivo que queremos que en este caso es root.service. recuerde lo que hace el comando systemctl start Inicia un servicio específico.

Ahora en el punto tres en la parte de abajo nos ponemos en escuha por Netcat por el puerto 9999 y vemos que si hacemos un whoami somos root y no www-data

Ahora como cuarto punto nos vamos /root para ver la ultima flag que es la de root y asi completar la maquina, le hacemos un cat al archivo root.txt y listo maquina resuelta.


Maquina resuelta.

80
wfuzz
Internal
php
php
Burp
bupr
bupr
php
nano
re
succes
uploads
netcat

Ahora hacemos un tratamiento de la TTY si no sabes como hacerlo pincha

Home
es
root

Nos vamos al directorio /dev/shm y creamos un archivo llamado root.service y escribimos lo siguiente, tiene el enlace al .

ser
con
TTY
EXPLOIT
nmap1