Búsqueda de Claves Secretas en Repositorios Git con Kali Linux
Resumen
¿Cómo encontrar claves secretas en un repositorio de Git utilizando TruffleHog?
Descubrir claves secretas en repositorios de Git es una habilidad crucial para garantizar la seguridad de proyectos de software. En esta práctica, aprenderás cómo sacar provecho de una herramienta poderosa llamada TruffleHog para localizar claves que podrían estar ocultas en el código. Vamos paso a paso para guiarte en esta búsqueda.
¿Qué es TruffleHog y cómo instalarlo?
TruffleHog es una herramienta que inspecciona repositorios de Git en busca de cadenas con alta entropía que podrían ser claves secretas. Está diseñada para detectar anomalías en la aleatoriedad y otros patrones inusuales que se presentan en el texto.
Instalación de TruffleHog en Kali Linux:
Abre una consola en tu máquina virtual con Kali Linux.
Corre el siguiente comando para instalar TruffleHog usando pip:
pip install trufflehog
Espera a que se complete la instalación, lo cual tomará aproximadamente dos minutos.
¿Cómo analizar un repositorio con TruffleHog?
Una vez instalada la herramienta, puedes comenzar a trabajar con ella para analizar un repositorio de Git. Aquí están los pasos a seguir:
Abre tu navegador y selecciona la URL del repositorio que deseas analizar. Copia esta dirección.
En la terminal de Kali Linux, ejecuta los siguientes comandos:
trufflehog git-url
Asegúrate de reemplazar git-url con la URL del repositorio objetivo.
La herramienta empezará a trabajar y buscará patrones inusuales dentro del repositorio.
¿Cómo interpretar los resultados de TruffleHog?
TruffleHog te mostrará cadenas que tienen alta entropía, indicando que podrían ser claves secretas. Es importante revisar cada una de ellas y determinar si son relevantes o no:
Cadena alta en entropía: Puede indicar una clave potencial.
Información adicional: A veces las cadenas pueden ser parte de un commit o la última publicación. En cada caso, examina la información para decidir si continuar investigando más.
Caso práctico: Resolviendo un reto de seguridad
Supongamos que estás participando en un desafío de seguridad y necesitas encontrar un password oculto en un repositorio del Polo Norte. Sigue estos pasos para completar este reto:
Descarga el archivo cifrado desde la página del desafío.
Intenta descomprimirlo con un password que podrías encontrar con la ayuda de TruffleHog.
Si encuentras un archivo llamado password en los resultados de TruffleHog, prueba esa cadena como clave para descomprimir.
Una vez descomprimido correctamente, accederás a los archivos secretos.
¿Qué hacer después de encontrar las claves?
Una vez que encuentres y confirmes las claves secretas necesarias:
Asegúrate de guardar la información de manera segura.
Realiza un informe del hallazgo si estás en un contexto de auditoría de seguridad.
Verifica que el repositorio haya sido limpiado de estas claves para evitar exposiciones futuras.
Con estas directrices y usando herramientas como TruffleHog, podrás no solo resolver retos de seguridad, sino también aplicar estos conocimientos en la vida real para mejorar la seguridad de tu propio código. ¡Adelante y que no te detengan los desafíos!
La herramienta Trufflehog se encuentra en
github.com/dxa4481/trufflehog
Trufflehog se basa en la entropía del documento. En un documento hay diferentes combinaciones de letras, pero trufflehog encuentra los patrones que NO SON COMUNES, que tienen mayor nivel de aleatoriedad o inusuales, en este caso en un repositorio tipo github.
En Kali es necesario abrir una consola y escribir los siguiente:
pip install trufflehog
Una vez descargada la herramienta empezamos a trabajar.
Si queremos encontrar un password para un archivo zip determninado, descargamos el archivo y desde consola nos ubicamos en carpeta y tratamos de descomprimir:
`# cd Downloads
¬/Downloads# unzip <nombre del archivo>`
Va a pedir contraseña.
Para obtenerla vamos a analizar la dirección objetivo.
Limpiamos con comando
Entre los resultados menciona en color verde las entropias, es decir casos posibles singulares poco usuales. Allí se ve un texto que dice que cambiaron de contraseña y la mencionan.
El profesor sabe bastante del tema el problema esta en que va muy deprisa por lo menos para mi por ejemplo no explica porque ingresamos a la carpeta schematics de una vez, lo hace muy robotico no explica el porque de esos comandos que significan que posibilidades hay de que dicho comando no sirva y porque un ejemplo claro es el de que en algunos no sirve el pip sino el pip3 o por ejemplo en el momento de colocar trufflehog y el enlace a mi no me salto la pantalla que a el (pero porque)en los comentarios me pueden dar la solucion de como hacerlo pero por lo menos a mi me gustaria saber el porque no andar ahi como dicen aqui en colombia comer entero y decir si, aja, claro.
me parece que deberian actualizar los repositorios y los retos ya muchas cosas estan algo obsoletas estoy intentando seguir el curso pero ya hay cosas con las que no se puede contar porque estan fuera de servicio.
Hola Luis, es cierto, me pasa igual, hay paginas que ya están actualizadas entonces es mas difícil seguir el paso a paso, pensé que era a la única que le sucedía esto.
Estamos igual para seguir los retos del holiday hack challenge del 2018 ya fue.. hay una actualización de esa pagina pero no lo entiendo
Cordial saludo;
Estimado profesor, considero que seria necesario poder actualizar los repositorios , igualmente los retos .
Feliz día.
Muy interesantes las clases, aunque no se ni programar, pero con este curso ya me estoy haciendo una idea de lo que realmente quiero y ademas me están dando las pautas de donde debo de comenzar.
El sans challengue no funciona...
para los que les da el problema de
bash:trufflehog no found
pueden probar usar
sudo pip3 install truffleHog```
Esta algo engorroso seguir el ritmo del profe, aunque se nota que sabe mucho del tema, hay demasiada información que a la fecha ya esta desactualizada, y así es mas difícil entender lo que se esta realizando, ademas, en ninguna parte del curso dice el año. Porque de haber sabido que es un curso que se dicto hace mas de 2 años de seguro no lo habría tomado, porque así como bien dice en varios de los videos que la tecnología avanza a pasos agigantados debería saber que una actualización al curso no quedaría nada mal.
Los repositorios estan desactualizados.
El curso esta demasiado atrasado, es imposible seguirlo o replicar lo impartido.
Entonces, Github es como un foro geek ?
Creo que sería resumirlo de una manera algo errónea, creo que yo lo vería como una red de profesionales donde pueden compartir diferentes cosas que hace cada uno y esté relacionado con programación.
Recuerda que también su principal función es tener un sistema de control de versiones mediante Git. Es muy útil para trabajar en equipo, contribuir a proyectos Open Source y evidentemente, también te podría servir de portafolio :)
Muy interesante. Hay que revisar los servidores que alberguen nuestro codigo para no cometer un error como el del ejemplo.
Para entender por completo haré de nuevo este laboratorio
Es mejor ir al repositorio para identificar como instalarlo: .
Actualmente a mi funciono en kali el comando: git clone cd trufflehog; go install
No pude instalar trufflehog
Tengo el mismo error de un companero.
Intenta con:
pip3 install trufflehog
Saludos!
Excelente profesor! solo que hay clases que sería bueno que fuera un poco mas lento.
Hola, alguien podría ayudarme? Al momento de hacer pip install trufflehog me dice que necesito GitPython==3.0.6. Que puedo hacer??
intenta con pip3 install trufflehog
Hace poco me entere que por descuidos se suben llaves de AWS o de cualquier servicio , a pesar que despues se borrar en el siguiente commit hay que entender que git no borra nada ese cambio esta en el commit anterior , hay que asegurarse de borrar o invalidar la llave ya que si pusheaste a GitHub o GitLab se mantienen esos cambios como "commits fantasmas" es importante tomar esas precausiones
Para realizar el proceso que esta realizando el docente se debe tener en cuenta que el repositorio debe estar en modo publico, posteriormente realizar los siguientes Pasos
literalme lo unico que puedo hacer es ver lo que hace el profesor, medio suponer lo que trata de enseñar y preguntarle a chat gpt que es lo que esta haciendo y para que sirve