Website Defacement
consiste en atacar una web con el objetivo de cambiar su apariencia. Normalmente la página de inicio es reemplazada por algún mensaje que indique que la misma fue vulnerada. Podemos pensar este tipo de ataque como una suerte de vandalismo como los graffitis
de protesta en los frentes de los destacamentos policiales o en los ventanales de centros comerciales. XSS
, SQL Injection
, CSRF
, DNS Hijacking
, etc. XAMPP
es bastante simple, basta con ejecutar el instalador y prácticamente hacer click en Next con los valores por default hasta que comience la instalación.XAMPP
solamente nos resta hacer click en el botón Start
para las opciones Apache
y MySQL
. Una vez completada la inicialización de estas opciones veremos lo siguiente:80
y 443
).Firewall de Windows
nos pida confirmación para darle acceso a Apache y MySQL
. Asegúrate de hacerlo en caso de que te salga esa confirmación.XAMPP
listo para cargar nuestra aplicación web vulnerable y comenzar con nuestra práctica. A continuación veremos como configuramos DVWA
para que sea servida con XAMPP
y podamos acceder a esta app.htdocs
dentro la carpeta de instalación de XAMPP
. En mi caso opté por instalar XAMPP en la siguiente ruta C:\xampp
y luego dentro copie la carpeta DVWA
dentro de htdocs
. Como se muestra en la imagen a continuación:DVWA
para que pueda conectarse a la base de datos MySQL
que fue configurada por XAMPP
. Para esto ingresamos al directorio DVWA
, luego al sub-directorio llamado config
y creamos una copia del file llamado config.inc.php.dist
y renombramos la copia como config.inc.php
. Una vez listo esto, abrimos ese archivo con el block de notas o tu editor de preferencia y veremos lo siguiente:root
lo dejamos vacío
.localhost/DVWA/setup.php:
admin
y password
Burp Suite Community
instalado. Debo aclarar que nunca antes había intentado vulnerar esta aplicación web, por ende este escrito puede ser bastante largo dado que voy a documentar todo proceso que intente seguir para poder hackearlo.Wh1t3R0s3
.Proxy Tab -> Intercept Tab -> Open Browser button
(both the one in the tab header and the one in the body of burp tab content do the same).Windows-VM-IP:port/pathDVWA:
XAMPP
y nuestra app DVWA
.XAMPP
(80
y 443
).DVWA
, que esta dentro de XAMPP/htdocs
.credenciales (admin:password)
. El reto que nos interesa resolver esta dentro de el dashboard de DVWA, y es el que nos dará el acceso para realizar nuestro defacement.index.php
). Ese archivo index, será luego reemplazado por nuestro HTML para defacement que dejé preparado antes. De esta manera realizaremos nuestro defacement.Content-Type: image/jpeg
: El cuál indica que el servidor interpretará el archivo que se intenta subir como, lo que en este caso, es. Una imagen.Filename="Test1.jpg"
: El nombre de archivo y su extensión. Content-Type: application/x-php
: El cuál indica que el servidor interpretará el archivo que se intenta subir como un archivo php
.Filename="Test_shell.php"
: El nombre de archivo y su extensión. Burp Suite
y modificaremos el Filename
y Content-Type
para especificar que nuestro Form PHP
es en realidad una imagen y ver si de esta forma podemos burlar la protección.Custom File Upload Form
subido, lo usaremos para cargar un payload(php reverse shell en este caso)
con el cual, si todo sale bien, tendremos el acceso inicial para poder comenzar con el defacement.Content-Type
, Filename
y headers
como si fueran los de una imagen. Por este motivo intentaremos enmascarar lo mejor posible nuestro formulario, al mismo tiempo que tratamos de mantenerlo lo más pequeño posible.PHP
y HTML
muy pequeño que simplemente genere un formulario de subida de archivos sin ningún tipo de restricción. Si logramos que este pequeño form suba sin problema, estaremos más cerca de tener el acceso necesario para hacer el defacement.GIF98.php.jpg
en un intento de burlar algún control que revise la extensión del archivo subido. Es bastante común que protecciones débiles implementadas en las web apps, únicamente verifiquen solamente desde el final del nombre de archivo hasta el primer punto (.jpg) ignorando la segunda extensión (.php). Algunas veces esta verificación se da al revés, y se controla de izquierda a derecha desde el nombre del archivo por ende es posible que tengamos que cambiar el nombre a GIF98.php.jpg.Upload
en la app, para eliminar la extensión jpg
y dejar el parámetro Filename
de esta manera: Filename=GIF98.php
. GIF89a
, pero también existen otros como GIF98
que es el que voy a usar en este lab.DVWA -> File Upload
cargaremos nuestro formulario e interceptamos la request con burp luego de subirlo.Filename=GIF98.php.jpg
a Filename=GIF98.php
Content-Type: application/x-php
a Content-Type: image/jpeg
msfvenom
. No usaremos metasploit
, directamente intentaremos conectar el reverse shell a nuestro listener de netcat
en la terminal de Kali.index.php
con nuestro archivo web que preparamos para el defacement.segundo payload
con en formato exe para la plataforma Windows donde corre la app. La idea es que una vez tengamos la conexión inicial con el payload1
, ejecutaremos el payload2
para obtener una sesión más estable en un netcat
listener secundario.msfvenom
:2 listeners
corriendo con netcat
, cada uno apuntando al puerto seleccionado durante la creación de estos payloads. En mi caso, 2112 para el payload php
y 2113 para el exe
. Ejecutaremos entonces el payload php
y al recibir la conexión rápidamente ejecutaremos el payload .exe para recibir la otra conexión por reverse shell que quizá sea más estable:index.php
listo y lo serviremos online usando un HTTP server local
levantado con python:HTML
para el defacement:DVWA
: