Laboratorio: Divulgación de información en el historial de control de versiones
Last updated
Last updated
Esto es lo que encontramos, lo que está en morado es lo que he estado viendo, buscando en todos esos archivos he visto que han sido las modificaciones de cada parte del proyecto de lo que estaban haciendo, tuvieron problemas para añadir todo a Master, les toco hacer rebase en algunas ramas hijas, pillé tambien que la rama Master tenía un texto codificado:
Acá también estaba el registro del commit que exponía la password de admin junto con la de carlos.
Finalmente esa no era la contraseña. pero encontré algo mejor aún, la contraseña de admin fue borrada de config, el directorio que está dentro de .git ahora solo nos toca mirar el historial de config a ver 🥸
Un commit de borrar la contraseña de admin de config
jum ¿y si fue borrada? que dice el git history
o git logs
¿?
Vamos a descargar el .git entero, toca hacerlo en este caso con wget
Con ese parametro descargaremos la url de .git más el wget por supuesto.
Buscando intentamos ver los registros con los comandos:
git log -- config
pero no resultó
git log -1 <hash del commit>
pero no resultó porque lo que yo quería era ver a fondo todo del log del commit de “Remove admin password from config”
Entonces lo hicimos con el comando git show
que lo que hace es mostrar absolutamente todo lo referente a registros y cambios de un commit especifico.
git show <hash del commit>
git show c86cadb31022ecc63295f05e5568d2fea466a3ad
#Commit del password admin.
Y esto nos mostró:
Parece que sabían que era un error tener la contraseña en claro y la guardaron en una variable de entorno (buenas practicas de coding), el problema es que el .git si lo dejaron por fuera y por ello pudimos ver los registros y la contraseña que quedo en evidencia, porque fue la que se modificó para que quedara como variable de entorno ADMIN_PASSWORD
ADMIN_PASSWORD
=3pw1uuv7rytvt5cfyemf
Si quieres ver toda la información detallada de todos los commits en un solo vistazo, puedes utilizar el siguiente comando con la opción --stat y --patch:
Este comando mostrará la información completa de cada commit, incluyendo las estadísticas de cambios (--stat
) y el parche completo (--patch
), que muestra las diferencias línea por línea en cada archivo modificado en cada commit.
Si hay muchos commits y solo deseas ver algunos de ellos, puedes limitar la salida utilizando opciones adicionales. Por ejemplo, puedes ver los últimos 5 commits:
Ahora si podemos ingresar como Administrator y eliminamos a carlos.
Finished.
wget -r <https://0a3700cf0444fd5081f3b781008600b9.web-security-academy.net/.git
>
Comando que pudimos usar para descargar.
Eso es todo gracias por leerme :)