jueves, 14 de mayo de 2020

Arañita, ¿dónde vas?


Siempre he querido crear mi propio “spider” en bash, para no tener que utilizar herramientas externas.

A este respecto,  aproveché un trabajo de hace unas semanas para desarrollar la idea anterior, es más, aproveché para darle más funcionalidades, porque así lo necesitaba para mi trabajo.

La funcionalidad incorporada es la de detectar los distintos tipos de extensiones de los distintos documentos que posee el sitio web, y la posibilidad de descargarlos para su posterior análisis de metadatos. Esta última parte, la extracción de metadatos, lo desarrollaré a posteriori.

El código es el siguiente:

NOTA: Creo que el código es fácil de entender, si no es así, contáctame.

 Parte del código 1 de 3

Parte del código 2  de 3

Parte del código 2  de 3

Un ejemplo del uso de este código se puede ver a continuación:

Ejemplo de uso del código

Estos códigos y alguno más lo dejo en mi github, por si os sirven de algo.

En cualquier caso…

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.

jueves, 16 de abril de 2020

De todo se aprende


Recientemente ha tenido lugar un CTF de C0r0n4con, de hecho aún sigue, por lo que intentaré un hacer demasiado spoiler.

Durante los primeros días del CTF, tuve un momento para conectarme y realizar un reto de esteganografía, de hecho, uno que te daba 100 puntitos.

El reto consistía en dada un imagen, obtener la flag… nada fuera de lo normal, aunque personalmente terminé aprendiendo algo nuevo

El archivo descargado consistía en un archivo “pdf”, que cuando lo abras veras dos páginas, en la segunda de ellas podrás ver el siguiente icono


Si haces doble click sobre el icono, aparecerá un mensaje de texto que nos dará varias opciones, entre ellas estará aquella que nos permitirá ver el contenido del archivo.

El contenido se trata nada más y nada menos que de un hash en base64



Si decodificamos su contenido de manera online, vemos que lo que tenemos es un archivo en formato PNG (imagen)


Ahora se nos plantea un problema, como trasladar esta información a un archivo que tras ser interpretado nos muestre la imagen. Puedes pensar que con un simple corta y pega se resuelve pero me temo que no, ya que lo que estas copiando son caracteres ASCII y por ahí no van los tiros.

¡Pruébalo si no me crees!

En este punto, puedes hacer dos cosas: buscar alguna web online que nos haga lo que necesitamos, que existen o utilizar algún tipo de lenguaje de programación para realizar la tarea.

Yo tomé el primer camino, pero me prometí abordar el segundo… ¡y aquí estoy!… para ello ¡te escojo a ti, PYTHON!

Y aquí tenéis el código resultante:


Y nuestro archivo PNG, contiene la siguiente imagen:


Bien, hemos conseguido un código de barras.

Ahora toca, transformar dicho código de barras a caracteres ASCII.

En este punto podemos hacer dos cosas: buscar alguna web online que nos haga lo que necesitamos, que existen o utilizar algún tipo de lenguaje de programación para realizar la tarea.

Yo tomé el primer camino, pero me prometí abordar el segundo… ¡y aquí estoy!… para ello ¡te escojo a ti, PYTHON!

Pero antes necesitamos instalar la siguiente librería de Python: pyzbar, pero es fácil. Con un simple: apt-get install libzbar0, lo tenemos.
Y aquí tenéis el código resultante:


Y nuestro código de barras se corresponde con la cadena:


Estos códigos y alguno más lo dejo en mi github, por si os sirven de algo.

En cualquier caso…

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.

martes, 3 de marzo de 2020

Envia REQUESTS!!!


Cuando necesitemos enviar un fichero a un servidor web utilizando para ello un parámetro de un formulario (método POST), mediante código Python, podremos utilizar la librería: requests.

Para ello utilizaremos el siguiente código

url = <url del servidor web que tratara el formulario enviado>
filess = { ‘<nombre del parámetro utilizado para enviar el fichero>’ : (‘<nombre del fichero’, open(‘<nombre del archivo>’, ‘rb’))}
r = requests.post (url, files=filess)

Para muestra un botón:


En cualquier caso…

Lo que hagas con la información es cosa tuya, no mía... pero ten conciencia.