# Leaked Credentials

La filtración de credenciales, especialmente en entornos de nube como AWS, es un riesgo de seguridad significativo que puede tener consecuencias devastadoras. Un escenario común de este tipo de incidente ocurre cuando un desarrollador o arquitecto accidentalmente deja expuestas credenciales de acceso programático, como claves de acceso AWS Access Key ID y AWS Secret Access Key, en repositorios públicos (por ejemplo, GitHub) o foros en línea.

## <mark style="color:orange;">Impacto de las Credenciales Filtradas en AWS</mark>

Las implicaciones de las credenciales filtradas son amplias y pueden incluir:

* <mark style="color:orange;">**Acceso no Autorizado**</mark><mark style="color:orange;">:</mark> Los atacantes pueden utilizar las credenciales expuestas para obtener acceso no autorizado a los recursos de AWS de la organización, permitiéndoles leer, modificar o eliminar datos almacenados en servicios como Amazon S3, ejecutar instancias de Amazon EC2, o realizar cambios en las políticas de seguridad.
* <mark style="color:orange;">**Movimiento Lateral**</mark><mark style="color:orange;">:</mark> Con el acceso inicial a la cuenta de AWS, los atacantes pueden intentar escalar privilegios o moverse lateralmente dentro de la infraestructura para comprometer recursos adicionales o acceder a datos más sensibles.
* <mark style="color:orange;">**Exfiltración de Datos**</mark><mark style="color:orange;">:</mark> La exfiltración de datos confidenciales o privados puede llevar a violaciones de la privacidad, pérdida de propiedad intelectual y daño a la reputación de la empresa.
* <mark style="color:orange;">**Fraude y Abuso de Recursos**</mark><mark style="color:orange;">:</mark> Las credenciales comprometidas pueden ser utilizadas para desplegar infraestructura en AWS a expensas de la víctima, a menudo para alojar sitios web maliciosos, lanzar ataques DDoS o minar criptomonedas.

## <mark style="color:orange;">Medidas de Prevención y Respuesta</mark>

Para mitigar el riesgo de credenciales filtradas y gestionar eficazmente los incidentes:

* <mark style="color:orange;">**Revisión y Monitoreo de Repositorios:**</mark> Utilizar herramientas de escaneo para identificar y remediar credenciales expuestas en repositorios de código y configuraciones. GitHub, por ejemplo, ofrece alertas de seguridad para credenciales expuestas.
* <mark style="color:orange;">**Educación y Políticas de Seguridad:**</mark> Formar a los desarrolladores y otros miembros del equipo sobre la importancia de manejar las credenciales de forma segura, incluyendo el uso de variables de entorno y secretos cifrados, en lugar de hardcoding en el código fuente.
* <mark style="color:orange;">**Rotación de Credenciales:**</mark> En caso de sospecha de una filtración, es crucial rotar inmediatamente las credenciales comprometidas para cortar el acceso no autorizado.
* <mark style="color:orange;">**Principio de Menor Privilegio**</mark><mark style="color:orange;">:</mark> Asignar permisos basados en el rol y la necesidad mínima de acceso para limitar lo que un atacante puede hacer si logra obtener acceso a través de credenciales filtradas.
* <mark style="color:orange;">**Uso de AWS IAM Roles y Identity Federation:**</mark> Evitar el uso de credenciales estáticas donde sea posible, prefiriendo roles IAM para EC2 y la federación de identidades para el acceso programático.
* <mark style="color:orange;">**Auditoría y Alertas con AWS CloudTrail y Amazon GuardDuty:**</mark> Implementar políticas de detección para identificar el uso inusual de las credenciales y responder rápidamente.

## <mark style="color:orange;">Herramientas para detectar leaks en repositorios de Git</mark>

{% embed url="<https://github.com/zricethezav/gitleaks>" %}

Para utilizar GitLeaks, simplemente lo descargamos de los releases y realizamos lo siguiente:

```bash
mv gitleaks-linux-amd64 gitleaks
chmod +x gitleaks
sudo mv gitleaks /usr/local/bin/
gitleaks detect -v
```

**Link para probar las capacidades de GitLeaks:**&#x20;

{% embed url="<https://github.com/zricethezav/gronit>" %}
