diff --git a/square/de-anonymization.md b/square/de-anonymization.md new file mode 100644 index 0000000..11182aa --- /dev/null +++ b/square/de-anonymization.md @@ -0,0 +1,60 @@ +# de-anonymization + +Se nos entrega la +[url](https://glacial-coast-79626.squarectf.com/4WzKpfyFbgdEzO3ONxDPpIXdo9Qps5) +de un sitio web, al cual tenemos que ingresar como un tal Yakubovics, +el inconveniente es que no tenemos la contraseña, pero tenemos varios +datasets que prometen tener información. + +Una vez que ingresamos al sitio web, podemos visualizar la opción de +recuperar la contraseña, como medida se nos piden preguntas acerca +del dueño del correo. + +![Datos](rp.png) + +Todo parece simple, revisando los datasets podremos encontrar toda +la información que se nos solicita, el detalle será unir los +archivos en uno solo, o en su dado caso, realizar los cruces +correctos. Para este caso se empleó Python: + +```python +#!/usr/bin/env python +# coding: utf-8 + +# Librería + +import pandas as pd + +# Lectura de archivos + +df1 = pd.read_csv('1.csv') +df2 = pd.read_csv('2.csv') +df3 = pd.read_csv('3.csv') +df4 = pd.read_csv('4.csv') +df5 = pd.read_csv('5.csv') + +# Unión de dataframes + +jdf1 = df1.merge(df2, how = 'inner').merge(df3, how = 'inner').merge(df4, how = 'inner').merge(df5, how = 'inner') + +# Exportar a csv + +jdf1.to_csv('final') + +# A partir de aquí podemos utilizar herramientas como grep, hará el proceso más sencillo. + +``` + +Por último buscamos coincidencias en el dataset: + +```shell +>_ grep -i Yakubovics | xargs -d ',' +``` + +Con esto podremos llenar la información que nos pide la página de +recuperación, asignar una nueva contraseña y ver la contraseña +asignada anteriormente, que en este caso será la flag. + +``` +flag-5ed43dc6356b2b68c689422769952b82 +``` diff --git a/square/rp.png b/square/rp.png new file mode 100644 index 0000000..c71d322 Binary files /dev/null and b/square/rp.png differ