Ir al contenido

Friendly

·748 palabras·4 mins
loco0000
Autor
loco0000
Estudiante de ingenier铆a electrica y aspirante a pentester.
Hackmyvm F谩cil - Este art铆culo es parte de una serie.
Parte 2: Este art铆culo

Informaci贸n de la maquina
#


NombreFriendly
Sistema operativoLinux
AutorRiJaba1
DificultadEasy
Sitiohackmyvm

Preparaci贸n de la red NAT (virtual box)
#

Antes que nada, preparamos en virtual box nuestra red NAT, para que nuestras maquinas se puedan comunicar, asignamos la ip con la que queremos identificar a la red, y luego en cada maquina revisamos que est茅n en la misma red :

Reconocimiento y enumeraci贸n
#

Corremos un escaneo de nmap en la maquina:

Nmap 7.94SVN scan initiated Tue Jan  9 20:20:06 2024 as: nmap -oN friendly_scan.txt -vv -sS -sV -sC -T4 -p 0-9999 192.168.25.4
Warning: Hit PCRE_ERROR_MATCHLIMIT when probing for service http with the regex '^HTTP/1\.1 \d\d\d (?:[^\r\n]*\r\n(?!\r\n))*?.*\r\nServer: Virata-EmWeb/R([\d_]+)\r\nContent-Type: text/html; ?charset=UTF-8\r\nExpires: .*<title>HP (Color |)LaserJet ([\w._ -]+)&nbsp;&nbsp;&nbsp;'
Nmap scan report for 192.168.25.4
Host is up, received arp-response (0.00015s latency).
Scanned at 2024-01-09 20:20:06 CST for 14s
Not shown: 9998 closed tcp ports (reset)
PORT   STATE SERVICE REASON         VERSION
21/tcp open  ftp     syn-ack ttl 64 ProFTPD
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rw-r--r--   1 root     root        10725 Feb 23  2023 index.html
80/tcp open  http    syn-ack ttl 64 Apache httpd 2.4.54 ((Debian))
| http-methods: 
|_  Supported Methods: HEAD GET POST OPTIONS
|_http-title: Apache2 Debian Default Page: It works
|_http-server-header: Apache/2.4.54 (Debian)
MAC Address: 08:00:27:A2:9F:C0 (Oracle VirtualBox virtual NIC)

Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Tue Jan  9 20:20:20 2024 -- 1 IP address (1 host up) scanned in 14.18 seconds

Puerto FTP y HTTP abiertos, revisamos la pagina web para ver que informaci贸n podemos obtener:

Parece ser una pagina predeterminada de apache2, enumeramos los directorios para ver si encontramos algo de inter茅s:

Como podemos ver, tanto con la lista peque帽a y mediana de dirbuster, no encontramos nada de inter茅s en la pagina, ahora vamos a revisar el servicio FTP. Intentamos hacer un anonymous login para ver si podemos entrar sin credenciales:

Entramos al servidor FTP, revisemos si hay alg煤n archivo interesante.

Encontramos un archivo index.html, que es el archivo que esta en la pagina default de apache2, y parece ser que tenemos privilegios de escritura y lectura, 驴Tal vez podemos subir algo? Intentare con el archivo de texto donde se guardo mi escaneo de nmap:

Y se subi贸 correctamente, revisamos la pagina, deber铆amos ver nuestro escaneo:

Ahora, vamos a intentar subir un script php, el cual nos arrojara una reverse shell a nuestra maquina, pero antes que nada, tenemos que modificar ciertos contenidos del script, para el escucha de netcat que vamos a correr en nuestra maquina:

Subimos el script al servidor FTP:

Preparamos nuestro escucha de netcat, y luego en la pagina, vamos a la barra de url y escribimos esto http://192.168.25.4/php-reverse-shell.php y damos enter, deber铆amos obtener una shell session en nuestra escucha:

Acceso inicial y escalada de privilegios
#

Tenemos la shell de usuario, listamos los contenidos del directorio:

Vamos al directorio home, para ver si encontramos algo de inter茅s ahi: Encontramos un posible nombre de usuario: RiJaba1 Y dentro de ese mismo directorio encontramos la bandera de usuario:

Ahora, necesitamos escalar privilegios, corremos sudo -l:

Interesante, buscamos en gtfo bins alguna manera de explotar esto:

https://gtfobins.github.io/gtfobins/vim/

Si el binario tiene permitido correr como administrador el comando聽sudo, no nos dar谩 privilegios elevados, pero podr谩 ser usado para navegar el sistema de archivos, escalar o mantener acceso privilegiado.

A. sudo vim -c ':!/bin/sh' B. Requiere que聽vim聽se compilado con soporte de python. Agregamos :py3聽para Python 3. sudo vim -c ':py import os; os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'

C. Este requiere que聽vim聽sea compilado con soporte Lua. sudo vim -c ':lua os.execute("reset; exec sh")'

Vamos a intentar el primer m茅todo.

Corremos el comando, y tenemos privilegios de administrador, revisemos que podemos encontrar:

Vamos al directorio /root, y corremos el comando ls -al , y podemos ver que no tenemos los privilegios suficientes para ver el archivo, cambiamos los privilegios con chmod 777 root.txt e intentamos ver sus contenidos con cat:

Parece ser, que la bandera que encontramos no es la correcta, corremos el siguiente comando find / -name root.txt , para ver si nos encuentra el archivo correcto:

Y encontramos definitivamente el que estamos buscando, el cual es el que esta en la carpeta de apache2.Corremos el comando cat en el archivo, y deber铆amos obtener la bandera de root:

Y con esto, hemos comprometido la maquina.

Cosas que aprend铆 de esta maquina
#

  • Siempre revisar si puedo subir archivos si el servicio tiene la opci贸n.
Hackmyvm F谩cil - Este art铆culo es parte de una serie.
Parte 2: Este art铆culo