Comunidad de diseño web y desarrollo en internet online

Cómo atacar un servidor web vulnerable

El acceso a un servidor web es un paso fundamental al momento de realizar un penetration testing, pues rompe con la secuencia de recolección de información y escaneos para abrirnos la puerta a un amplio espectro de posibilidades de ataque en la fase de post-explotación, entre ellas:

  • Instalación de un backdoor.
  • Escalación de privilegios.
  • Extracción de hashes.


Además nos permite acceder a información sensible como:
  • Configuración de red
  • Software instalado y versión del mismo
  • Servicios corriendo
  • Nombres de usuarios


Y un largo etc. En el artículo "Cómo funciona SQL Injection, seguro eres vulnerable" se dió una explotación que finalizó con la subida de una shell PHP que permite tener control del servidor y continuar con la siguiente fase del círculo del Pentesting (Post-explotación).

Lo primero relevante que podemos notar es que el "Safe Mode" de apache está desactivado, por lo que la shell nos indica que el servidor no es seguro.



Además la navegación entre directorios no está restringida, de modo que podemos escalar hasta la raíz del servidor y listar todo el disco duro con los permisos suficientes como para borrarlo, editarlo o crear nuevos archivos.



La ejecución de comandos está totalmente habilitada, en la sección "sec" nuestra shell PHP nos ofrece la posibilidad de automatizar la obtención del /etc/passwd del servidor.



También podemos a través de ella ejecutar código PHP, matar servicios, bindear puertos, autoremover el archivo shell, etc.

Vamos a aprovechar todos estos factores para subir una nueva shell, esta vez generada con weevely, que nos dará mayor flexibilidad para la ejecución de comandos.



Para la subida tenemos varios métodos, el más coherente es hacerlo a través del formulario de "upload", en caso de que no funcione podemos crear a través del comando touch un archivo en el servidor y copiarle el contenido del que generó weevely.



Nos conectamos con weevely a través del "password" y la url:



Ahora tenemos una sesión de línea de comandos en el servidor, lo que indica un compromiso total del mismo. Sin duda el proceso de post-explotación puede continuar, esto es sólo el inicio, a través de herramientas como meterpreter podemos realizar todas las acciones mencionada al inicio del artículo.

También podríamos hacer un deface del sitio y dejar un mensaje, simplemente escalamos hasta la carpeta donde están los archivos "www" y sobrescribimos el archivo index:



Con esto obtendremos el siguiente resultado:

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate