Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
sad:fedora14:p4 [2018/02/13 08:20] José Manuel Guallar |
sad:fedora14:p4 [2019/01/04 13:18] (actual) |
||
---|---|---|---|
Línea 15: | Línea 15: | ||
**¿Qué es crack_web_form.pl?** | **¿Qué es crack_web_form.pl?** | ||
- | crack_web_form.pl es una herramienta / script de Perl muy básico que utiliza una combinación de (1) http-post-data, (2) una lista de contraseñas y (3) mensajes de error para probar contraseñas para nombres de usuario específicos. | + | crack_web_form.pl es un script de Perl muy básico que utiliza una combinación de (1) http-post-data, (2) una lista de contraseñas y (3) mensajes de error para probar contraseñas para nombres de usuario específicos. |
- | ** | + | |
- | Que necesitamos para hacer esta práctica?** | + | |
- | Fedora 14 | + | ** Que necesitamos para hacer esta práctica?** |
- | BackTrack 5 R1 | + | |
+ | * Fedora 14 | ||
+ | * BackTrack 5 R1 | ||
**Notas de la practica** | **Notas de la practica** | ||
Línea 37: | Línea 37: | ||
** http://ip-fedora/mutillidae** y alli iremos a | ** http://ip-fedora/mutillidae** y alli iremos a | ||
- | **OWASP Top 10 --> A1 - SQL Injection --> SQLMAP Practice --> View Someones Blog** | + | ''**OWASP Top 10 --> A1 - SQL Injection --> SQLMAP Practice --> View Someones Blog**'' |
{{:sad:fedora:p4:02.png?500|}} | {{:sad:fedora:p4:02.png?500|}} | ||
- | Pulsamos en "**Please Choose Author**" | + | Pulsamos en ''"**Please Choose Author**"'' |
- | En este caso si queremos iniciar la sesión, vemos los registros de todos los usuarios, esto no es un problema, pero si que nos da información,porque el cuadro de lista que está a continuacióncontendrá el valor o el nombre de usuario de la base de datos de cada nombre de usuario que se muestra. | + | En este caso si queremos iniciar la sesión, vemos los registros de todos los usuarios, esto no es un problema, pero si que nos da información, porque el cuadro de lista que está a continuación contendrá el valor o el nombre de usuario de la base de datos de cada nombre de usuario que se muestra. |
{{:sad:fedora:p4:03.png?500|}} | {{:sad:fedora:p4:03.png?500|}} | ||
- | para ver el codigo fuente del Blog | + | Para ver el codigo fuente del Blog |
- | Botón derecho del ratón y pulsamos "**ver pagina fuente**" | + | ''Botón derecho del ratón'' y pulsamos ''"**ver pagina fuente**"'' |
- | Pulsamos **Ctrol + F** par buscar el codigo fuente y escribimos **"admin"** | + | Pulsamos ''**Ctrl + F**'' par buscar el codigo fuente y escribimos ''**"admin"**'' |
Para cada nombre de usuario en esta línea, habrá una etiqueta llamada** <option value = "USERNAME">**. | Para cada nombre de usuario en esta línea, habrá una etiqueta llamada** <option value = "USERNAME">**. | ||
+ | |||
<code mysql> | <code mysql> | ||
<option value = "admin"> admin </ option> | <option value = "admin"> admin </ option> | ||
- | <\code> | + | </code> |
**<option value = "admin"** - Este es el valor de la base de datos\\ | **<option value = "admin"** - Este es el valor de la base de datos\\ | ||
Línea 61: | Línea 63: | ||
{{:sad:fedora:p4:04.png?500|}} | {{:sad:fedora:p4:04.png?500|}} | ||
+ | |||
Abrimos un terminal y escribimos | Abrimos un terminal y escribimos | ||
<code bash> | <code bash> | ||
Línea 68: | Línea 71: | ||
**curl -L "página web",** recupera el código fuente de una página web. \\ | **curl -L "página web",** recupera el código fuente de una página web. \\ | ||
**2>/dev/null,** significa que no se visualizan los errores o la salida del estado del curl. \\ | **2>/dev/null,** significa que no se visualizan los errores o la salida del estado del curl. \\ | ||
- | BEGIN{fs=>} realiza las acciones antes de procesar una entrada, en este caso estoy indicando cual es el caracter separador \\ | + | **BEGIN{fs= >}** realiza las acciones antes de procesar una entrada, en este caso estoy indicando cual es el caracter separador \\ |
**grep -i \"admin\"**, muestra el resultado de curl que contiene la cadena "\" admin \ " ".\\ | **grep -i \"admin\"**, muestra el resultado de curl que contiene la cadena "\" admin \ " ".\\ | ||
**sed 's/"/ /g',** usa sed para reemplazar citas sin nada \\ | **sed 's/"/ /g',** usa sed para reemplazar citas sin nada \\ | ||
Línea 75: | Línea 78: | ||
**sed s'/<\/option/ /g'**, usamos sed para reemplazar la cadena "</ option" sin nada. \\ | **sed s'/<\/option/ /g'**, usamos sed para reemplazar la cadena "</ option" sin nada. \\ | ||
- | -VARIABLES definidas del awk | + | **-VARIABLES definidas del awk** |
**FS** permite decir cual es el separador de linea\\ | **FS** permite decir cual es el separador de linea\\ | ||
Línea 85: | Línea 88: | ||
{{:sad:fedora:p4:05.png?500|}} | {{:sad:fedora:p4:05.png?500|}} | ||
- | Lo siguiente es pulsar el boton **login\register**\\ | + | |
+ | Lo siguiente es pulsar el boton ''**login\register**''\\ | ||
{{:sad:fedora:p4:06.png?500|}} | {{:sad:fedora:p4:06.png?500|}} | ||
+ | |||
escribirmos \\ | escribirmos \\ | ||
- | Name: **admin** \\ | + | ''Name: **admin** \\ |
- | Password** admin**\\ | + | Password: ** admin**'' |
{{:sad:fedora:p4:07.png?500|}} | {{:sad:fedora:p4:07.png?500|}} | ||
- | Nos sale un mensaje de error y copiamos ese mensaje (ctrol+C)\\ | + | |
- | Abrimos un nano o gedit y pegamos el menaje \\ | + | Nos sale un mensaje de error y copiamos ese mensaje (<del>ctrl+C</del>)\\ |
+ | Abrimos un nano o gedit y pegamos el mensaje \\ | ||
{{:sad:fedora:p4:08.png?500|}} | {{:sad:fedora:p4:08.png?500|}} | ||
{{:sad:fedora:p4:09.png?500|}} | {{:sad:fedora:p4:09.png?500|}} | ||
{{:sad:fedora:p4:10.png?500|}} | {{:sad:fedora:p4:10.png?500|}} | ||
- | |||
{{:sad:fedora:p4:11.png?500|}} | {{:sad:fedora:p4:11.png?500|}} | ||
- | Volvemos a la web y pulsamos en el boton de **login/register** y boton derecho del ratón "ver pagina fuente" | + | Volvemos a la web y pulsamos en el boton de ''**login/register**'' y ''boton derecho del ratón'' "ver codigo fuente" |
- | pulsamos Ctrol + f y buscamos "form action" \\ | + | |
+ | pulsamos ''Ctrl + f'' y buscamos ''"form action"'' \\ | ||
Nos fijamos en la convención de nomenclatura de los cuadros de texto de nombre de usuario y contraseña.\\ Observamos la convención de nomenclatura y el valor del botón Enviar. \\ | Nos fijamos en la convención de nomenclatura de los cuadros de texto de nombre de usuario y contraseña.\\ Observamos la convención de nomenclatura y el valor del botón Enviar. \\ | ||
{{:sad:fedora:p4:12.png?500|}} | {{:sad:fedora:p4:12.png?500|}} | ||
- | Ahora seleccionamos las **preferencias de firefox**, y vamos a la solapa de **avanzado**, de **red** y el boton de **setting** | ||
- | Se selecciona **proxy manual** y lo configuramos | + | Ahora seleccionamos las ''**preferencias de firefox**'', y vamos a la solapa de ''**avanzado**'', de ''**red**'' y el boton de ''**setting**'' |
+ | |||
+ | Se selecciona ''**proxy manual**'' y lo configuramos | ||
{{:sad:fedora:p4:13.png?500|}} | {{:sad:fedora:p4:13.png?500|}} | ||
{{:sad:fedora:p4:14.png?500|}} | {{:sad:fedora:p4:14.png?500|}} | ||
- | {{:sad:fedora:p4:15.png?500|}} | ||
- | {{:sad:fedora:p4:16.png?500|}} | ||
- | {{:sad:fedora:p4:17.png?500|}} | ||
- | {{:sad:fedora:p4:18.png?500|}} | ||
- | {{:sad:fedora:p4:19.png?500|}} | ||
- | {{:sad:fedora:p4:20.png?500|}} | ||
- | |||
- | {{:sad:fedora:p4:21.png?500|}} | ||
- | {{:sad:fedora:p4:22.png?500|}} | ||
- | {{:sad:fedora:p4:23.png?500|}} | ||
- | {{:sad:fedora:p4:24.png?500|}} | ||
- | {{:sad:fedora:p4:25.png?500|}} | ||
- | {{:sad:fedora:p4:26.png?500|}} | ||
- | {{:sad:fedora:p4:27.png?500|}} | ||
- | {{:sad:fedora:p4:28.png?500|}} | ||
- | {{:sad:fedora:p4:29.png?500|}} | ||
- | {{:sad:fedora:p4:30.png?500|}} | ||
- | |||
- | |||
- | |||
- | |||
- | |||
ahora vamos a \\ | ahora vamos a \\ | ||
**Applications --> BackTrack --> Vulnerability Assessment --> Web Application Assessment ---> Web Vulnerability Scanner --> burpsuite** | **Applications --> BackTrack --> Vulnerability Assessment --> Web Application Assessment ---> Web Vulnerability Scanner --> burpsuite** | ||
+ | |||
+ | {{:sad:fedora:p4:15.png?500|}} | ||
En la solapa proxy opciones puerto **8080** | En la solapa proxy opciones puerto **8080** | ||
Línea 140: | Línea 131: | ||
Activamos la opcion de interceptar con \\ | Activamos la opcion de interceptar con \\ | ||
**proxy ---> intecept ------> intercept is on** | **proxy ---> intecept ------> intercept is on** | ||
+ | |||
+ | {{:sad:fedora:p4:16.png?500|}} | ||
volvemos a la web y escribimos | volvemos a la web y escribimos | ||
- | http://ip-fedora/mutillidae/index.php?page=login.php. | + | **http://ip-fedora/mutillidae/index.php?page=login.php.** |
- | Name: admin\\ | + | Name: **admin**\\ |
- | Password: admin\\ | + | Password: **admin**\\ |
La página web no se actualizará, ya que está esperando en Burp Suite. | La página web no se actualizará, ya que está esperando en Burp Suite. | ||
+ | |||
+ | {{:sad:fedora:p4:17.png?500|}} | ||
+ | {{:sad:fedora:p4:18.png?500|}} | ||
verificamos los resultados | verificamos los resultados | ||
Línea 156: | Línea 152: | ||
En la primera línea, se puede ver que se ha producido una POST para login.php | En la primera línea, se puede ver que se ha producido una POST para login.php | ||
- | username = admin, username es el nombre del cuadro de texto y admin es su valor. | + | **username = admin,** username es el nombre del cuadro de texto y admin es su valor. |
- | password = admin, contraseña es el nombre del cuadro de texto y admin es su 'valor. | + | **password = admin**, contraseña es el nombre del cuadro de texto y admin es su 'valor. |
- | login-php-submit-button = Login, login-php-submit-button es el nombre del botón y Login is its 'value. | + | ** login-php-submit-button** = Login, login-php-submit-button es el nombre del botón y Login is its 'value. |
+ | |||
+ | {{:sad:fedora:p4:19.png?500|}} | ||
+ | {{:sad:fedora:p4:20.png?500|}} | ||
+ | ---- | ||
+ | PANTALLA NO IMPRESA | ||
vamos a nuestra ventana con el nano abierto y pergamos esa linea, de forma que tendremos | vamos a nuestra ventana con el nano abierto y pergamos esa linea, de forma que tendremos | ||
Línea 169: | Línea 170: | ||
username=admin&password=admin&login-php-submit-button=Login | username=admin&password=admin&login-php-submit-button=Login | ||
</code> | </code> | ||
+ | |||
+ | ---- | ||
+ | |||
<code bash> | <code bash> | ||
mkdir -p /pentest/passwords/cwf | mkdir -p /pentest/passwords/cwf | ||
cd /pentest/passwords/cwf | cd /pentest/passwords/cwf | ||
- | wget http://servidor/SECURITY_TOOLS/MUTILLIDAE/MUTILLIDAE_2511/lesson4/cwf.v2.tar.gz | + | wget http://217.182.207.57/~jguallar/mutillae/ejercicio04/cwf.v2.tar.gz |
ls -l cwf.v2.tar.gz | ls -l cwf.v2.tar.gz | ||
tar zxovf cwf.v2.tar.gz | tar zxovf cwf.v2.tar.gz | ||
+ | </code> | ||
+ | {{:sad:fedora:p4:21.png?500|}} | ||
+ | <code bash> | ||
./crack_web_form.pl -help | more | ./crack_web_form.pl -help | more | ||
- | |||
- | |||
- | /crack_web_form.pl -U admin -http "http://ip-fedora/mutillidae/index.php?page=login.php" -data "username=USERNAME&password=PASSWORD&login-php-submit-button=Login" -F "Authentication Error" | ||
</code> | </code> | ||
+ | {{:sad:fedora:p4:22.png?500|}} | ||
+ | <code bash> | ||
+ | ./crack_web_form.pl -U admin -http "http://ip-fedora/mutillidae/index.php?page=login.php" -data "username=USERNAME&password=PASSWORD&login-php-submit-button=Login" -F "Authentication Error" | ||
+ | </code> | ||
+ | |||
- | -U, es un parámetro opcional. Permite especificar un nombre de usuario. Si no se proporciona el nombre de usuario, el nombre de usuario se configurará por defecto en admin. | + | **-U**, es un parámetro opcional. Permite especificar un nombre de usuario. Si no se proporciona el nombre de usuario, el nombre de usuario se configurará por defecto en admin. |
| | ||
- | -P, es un parámetro opcional. Permite especificar la ubicación del archivo de contraseña. El archivo de contraseña predeterminado se establece en el archivo password.txt ubicado en el mismo directorio que crack_web_form.pl. | + | **-P**, es un parámetro opcional. Permite especificar la ubicación del archivo de contraseña. El archivo de contraseña predeterminado se establece en el archivo password.txt ubicado en el mismo directorio que crack_web_form.pl. |
- | -http, es un parámetro requerido. Permite especificar la página de inicio de sesión. | + | **-http**, es un parámetro requerido. Permite especificar la página de inicio de sesión. |
- | http://ip-fedora/mutillidae/index.php?page=login.php | + | **http://ip-fedora/mutillidae/index.php?page=login.php** |
- | -data, es un parámetro requerido. Permite especificar los HTTP POST DATA. | + | **-data**, es un parámetro requerido. Permite especificar los HTTP POST DATA. |
- | username = USERNAME, donde USERNAME es el "administrador" predeterminado o reemplazado por el parámetro proporcionado por el usuario. | + | **username = USERNAME**, donde USERNAME es el "administrador" predeterminado o reemplazado por el parámetro proporcionado por el usuario. |
- | password = PASSWORD, donde PASSWORD se reemplaza por valores en el archivo de contraseña. | + | **password = PASSWORD,** donde PASSWORD se reemplaza por valores en el archivo de contraseña.\\ |
- | "username = USERNAME & password = PASSWORD & login-php-submit-button = Login", | + | "username = USERNAME & password = PASSWORD & login-php-submit-button = Login", |
- | + | ||
- | -F, es un parámetro opcional. Permite especificar el mensaje de fallo de autenticación. El mensaje de error predeterminado se establece en "error | no válido | error", donde el mensaje no distingue entre mayúsculas y minúsculas | + | **-F,** es un parámetro opcional. Permite especificar el mensaje de fallo de autenticación. El mensaje de error predeterminado se establece en "error | no válido | error", donde el mensaje no distingue entre mayúsculas y minúsculas |
- | + | ||
+ | {{:sad:fedora:p4:23.png?500|}} | ||
+ | {{:sad:fedora:p4:24.png?500|}} | ||
+ | |||
+ | |||
una vez sacada la contraseña, quitamos el proxy y nos registramos | una vez sacada la contraseña, quitamos el proxy y nos registramos | ||
- | '' | + | |
- | Practica que hay que entregar'' | + | {{:sad:fedora:p4:25.png?500|}} |
+ | |||
+ | |||
+ | ''Practica que hay que entregar'' | ||
<code bash> | <code bash> | ||
cd /pentest/passwords/cwf | cd /pentest/passwords/cwf |