Herramientas de usuario

Herramientas del sitio


sad:fedora14:p4

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
sad:fedora14:p4 [2018/02/13 07:40]
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 31: Línea 31:
   * Probar la secuencia de comandos Login.php con una contraseña descifrada.   * Probar la secuencia de comandos Login.php con una contraseña descifrada.
     ​     ​
-En el navegador de nustro BackTrack escribiremos la ip del fedora 
  
 {{:​sad:​fedora:​p4:​01.png?​500|}} {{:​sad:​fedora:​p4:​01.png?​500|}}
-{{:​sad:​fedora:​p4:​02.png?​500|}} 
-{{:​sad:​fedora:​p4:​03.png?​500|}} 
-{{:​sad:​fedora:​p4:​04.png?​500|}} 
-{{:​sad:​fedora:​p4:​05.png?​500|}} 
-{{:​sad:​fedora:​p4:​06.png?​500|}} 
-{{:​sad:​fedora:​p4:​07.png?​500|}} 
-{{:​sad:​fedora:​p4:​08.png?​500|}} 
-{{:​sad:​fedora:​p4:​09.png?​500|}} 
-{{:​sad:​fedora:​p4:​10.png?​500|}} 
  
-{{:sad:fedora:​p4:​11.png?​500|}} +En el navegador de nustro BackTrack escribiremos la ip del fedora
-{{:​sad:​fedora:​p4:​12.png?​500|}} +
-{{:​sad:​fedora:​p4:​13.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|}}+
 ** 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**''​
  
-pantalla inicial con las ip´s del fedora ​y backtrack+{{:sad:fedora:​p4:​02.png?​500|}}
  
-Pulsamo ​en "​Please Choose Author"​+Pulsamos ​en ''​"**Please Choose Author**"''​
  
-Si siquiera ​iniciar sesión ​se puede ver los registros de otros usuarios.+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.
  
-Esto normalmente no es un gran problema.+{{:​sad:​fedora:​p4:​03.png?500|}}
  
-Sin embargo, ​el cuadro de lista a continuación contendrá el valor o el nombre de usuario de la base de datos de cada nombre de usuario que se muestra.+Para ver el codigo fuente del Blog
  
-Vemos el codigo fuente ​del Blog+''​Botón derecho ​del ratón''​ y pulsamos ''"​**ver pagina fuente**"''​
  
-Botón derecho del ratón ​pulsamos ​"ver pagina fuente"+Pulsamos ''​**Ctrl + F**''​ par buscar el codigo fuente ​escribimos ''​**"admin"**''​
  
-Pulsamos Ctrol + 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">**.
  
-Aviso 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>
-<end 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\\
 **> admin </ option>​** - Este es el nombre para mostrar del usuario **> admin </ option>​** - Este es el nombre para mostrar del usuario
 +
 +{{:​sad:​fedora:​p4:​04.png?​500|}}
  
 Abrimos un terminal y escribimos ​ Abrimos un terminal y escribimos ​
Línea 100: 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. \\
-**grep -i \"​admin\"​**, ​ muestra el resultado de curl que contiene la cadena "​\"​ admin \ ""​.\\ +**BEGIN{fs= >}** realiza las acciones antes de procesar una entrada, en este caso estoy indicando cual es el caracter separador \\ 
-**sed '​s/"//​g',​** usa sed para reemplazar citas sin nada  \\+**grep -i \"​admin\"​**, ​ muestra el resultado de curl que contiene la cadena "​\"​ admin \ " ".\\ 
 +**sed '​s/"/​ /g',** usa sed para reemplazar citas sin nada  \\
 **awk '​BEGIN{FS=">"​}{for (i=1; i<=NF; i++) print $i}',​** se usa el caracter ">"​ como delimitador o separador de campo e imprima cada elemento de la matriz en un separador línea\\ **awk '​BEGIN{FS=">"​}{for (i=1; i<=NF; i++) print $i}',​** se usa el caracter ">"​ como delimitador o separador de campo e imprima cada elemento de la matriz en un separador línea\\
 **grep -v value,** muestra la salida del elemento de matriz que solo contiene la cadena "​value"​. \\ **grep -v value,** muestra la salida del elemento de matriz que solo contiene la cadena "​value"​. \\
-**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** 
 + 
 +**FS** permite decir cual es el separador de linea\\ 
 +**NF** contiene el numero total de campos del registro\\ 
 +**RS** indica en qué punto del archivo acaba el registro\\ 
 +**NR** contiene el numero de orden del registro que se está procesando\\ 
 +**OFS** la instruccion print inserta en la salida un caracter de separación\ 
 + 
 + 
 +{{:​sad:​fedora:​p4:​05.png?​500|}} 
 + 
 +Lo siguiente es pulsar el boton ''​**login\register**''​\\ 
 + 
 +{{:​sad:​fedora:​p4:​06.png?​500|}}
  
-Lo siguiente es pulsar el boton **registrar**\\ 
 escribirmos \\ escribirmos \\
 +''​Name:​ **admin** \\
 +Password: ** admin**''​
  
-Nameadmin \\ +{{:sad:​fedora:​p4:​07.png?​500|}}
-Password admin+
  
-Nos sale un mensaje de error y copiamos ese mensaje (ctrol+C) +Nos sale un mensaje de error y copiamos ese mensaje (<​del>​ctrl+C</​del>​)\\ 
-Abrimos un nano y pegamos el menaje ​\\ +Abrimos un nano o gedit y pegamos el mensaje ​\\ 
-Volvemos a la web y pulsamos en el boton de login/​register y boton derecho del ratón "​ver ​pagina ​fuente"​ + 
-pulsamos ​Ctrol + f y buscamos "form action"​ \\+{{:​sad:​fedora:​p4:​08.png?​500|}} 
 +{{:​sad:​fedora:​p4:​09.png?​500|}} 
 +{{:​sad:​fedora:​p4:​10.png?​500|}} 
 +{{:​sad:​fedora:​p4:​11.png?​500|}} 
 + 
 +Volvemos a la web y pulsamos en el boton de ''​**login/​register**'' ​''​boton derecho del ratón'' ​"​ver ​codigo ​fuente"​ 
 + 
 +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. \\
  
-Ahora seleccionamos las preferencias de firexox, y vamos a la solapa de avanzado, la solapa de red y el boton de setting+{{:​sad:​fedora:​p4:​12.png?​500|}}
  
-seleccionamos 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:​14.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 130: 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 146: 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 159: 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
- +</​code>​ 
- +{{:​sad:​fedora:​p4:​22.png?​500|}} 
-/​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 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>​ </​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
sad/fedora14/p4.1518507635.txt.gz · Última modificación: 2019/01/04 13:18 (editor externo)