NiveK VulnHub

Escaneo de puertos

nmap -p- --min-rate 5000 -sV <IP>

Info:

Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-05-24 03:42 EDT
Nmap scan report for 192.168.195.143
Host is up (0.00062s latency).

PORT     STATE SERVICE VERSION
21/tcp   open  ftp     vsftpd 3.0.3
| ftp-syst: 
|   STAT: 
| FTP server status:
|      Connected to ::ffff:192.168.195.128
|      Logged in as ftp
|      TYPE: ASCII
|      No session bandwidth limit
|      Session timeout in seconds is 300
|      Control connection is plain text
|      Data connections will be plain text
|      At session startup, client count was 2
|      vsFTPd 3.0.3 - secure, fast, stable
|_End of status
|_ftp-anon: Anonymous FTP login allowed (FTP code 230)
22/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 3c:fc:ed:dc:9b:b3:24:ff:2e:c3:51:f8:33:20:78:40 (RSA)
|   256 91:5e:81:68:73:68:65:ec:a2:de:27:19:c6:82:86:a9 (ECDSA)
|_  256 a7:eb:f6:a2:c6:63:54:e1:f5:18:53:fc:c3:e1:b2:28 (ED25519)
7080/tcp open  http    Apache httpd 2.4.48 ((Unix) OpenSSL/1.1.1k PHP/7.3.29 mod_perl/2.0.11 Perl/v5.32.1)
| http-title: Admin Panel
|_Requested resource was login.php
| http-cookie-flags: 
|   /: 
|     PHPSESSID: 
|_      httponly flag not set
|_http-server-header: Apache/2.4.48 (Unix) OpenSSL/1.1.1k PHP/7.3.29 mod_perl/2.0.11 Perl/v5.32.1
MAC Address: 00:0C:29:D8:BA:92 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Linux 3.10 - 4.11 (97%), Linux 3.16 - 4.6 (97%), Linux 3.2 - 4.9 (97%), Linux 4.4 (97%), Linux 3.13 (94%), Linux 3.13 - 3.16 (91%), OpenWrt Chaos Calmer 15.05 (Linux 3.18) or Designated Driver (Linux 4.1 or 4.4) (91%), Linux 4.10 (91%), Linux 5.1 (91%), Android 5.0 - 6.0.1 (Linux 3.4) (91%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 1 hop
Service Info: OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.62 ms 192.168.195.143

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 21.81 seconds

Gobuster

Info:

Si hacemos una captura de peticion con BurpSuit en el panel de login e inyectamos codigos de SQL Injection, veremos que funciona en el campo de email, si hacemos un sqlmap vemos que el parametro injectable es el de user, por lo que haremos lo siguiente, nos guardamos el request.txt de la caputa de peticion de BurpSuit en un archivo .txt...

![[Pasted image 20240524122010.png]]

El archivo request.txt se tiene que ver algo tal que asi...

Info:

Hemos descubierto las bases de datos que se encuentran en el servidor, yo elejire clinic_db, lo haremos de la siguiente manera...

Info:

Tambien podeis hacerlo de otra forma para ir solo a la tabla admin...

Info:

Credentials:

En principio deberiamos de crckear la contraseña, pero no lo consegui, por lo que intente quitar la verificacion de que se tenga que añadir un email, tendremos que inspeccionar el codigo y eliminar lo siguiente...

Codigo sin tocar...

Codigo modificado...

Una vez hecho estos cambios meteremos en el password lo que queramos y en el campo del email ya que hemos quitado la verificacion le meteremos codigo de SQL Injection ' OR 1=1-- - para poder logearnos como si fueramos admin y saltarnos la verificacion...

![[Pasted image 20240524153900.png]] ![[Pasted image 20240524153926.png]]

Hecho esto ya estariamos dentro del panel...

Si inspeccionamos el codigo veremos que hay un link comentado llamado setting.php...

Dentro de esta parte, veremos que podemos subir archivos, por lo que intentaremos hacer una Reverse Shell...

Crearemos el siguiente archivo, yo lo llamare shell.php...

Una vez tengamos el archivo creado, le daremos a browser para subir el archivo shell.php, pero antes estaremos a la escucha...

Una vez estando a la escucha le daremos al boton para subir el archivo, una vez hecho esto nos hara una shell con el servidor como deamon...

Una vez teniendo la shell la sanitizamos...

Si nos vamos a la /home/ de nivek veremos la flag...

local.txt (falg1)

Si hacemos lo siguiente...

Info:

Veremos que podemos ejecutar /usr/bin/bash como el usuario eren, por lo que si hacemos lo siguiente...

Con esto ya seremos eren...

Ahora lo que haremos sera crear una clave publica y privada para poder conectarnos mediante eren por ssh y asi poder hacer sudo -l sin que nos pida una contraseña...

Por lo que haremos lo siguiente...

Info:

Le daremos <ENTER> a todo sin rellenar nada, hecho esto ya habremos creado las 2 claves...

A parte de todo esto crearemos el siguiente archivo llamado authorized_keys para poder conectarnos por ssh con el id_rsa privado...

Dentro de este archivo hay que pegar el contenido de la id_rsa.pub...

Y nos copiaremos el contenido de la id_rsa privada...

En nuestro host utilizaremos el id_rsa privado para conectarnos con el mismo...

Y con esto ya estariamos dentro, pero si hacemos sudo -l veremos lo siguiente...

Por lo que haremos esto...

Con esto ya seriamos root asi que leemo la flag...

root.txt (flag2)

Last updated