Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/

This commit is contained in:
Translator
2025-01-02 01:13:27 +00:00
parent 599a50fbec
commit c14d2efa43
215 changed files with 1670 additions and 1679 deletions

View File

@@ -33,7 +33,7 @@ Para auditar un ambiente de AWS, es muy importante saber: qué **servicios se es
Desde el punto de vista de un Red Team, el **primer paso para comprometer un ambiente de AWS** es lograr obtener algunas **credenciales**. Aquí tienes algunas ideas sobre cómo hacerlo:
- **Filtraciones** en github (o similar) - OSINT
- **Leaks** en github (o similar) - OSINT
- **Ingeniería** Social
- Reutilización de **contraseñas** (filtraciones de contraseñas)
- Vulnerabilidades en Aplicaciones Alojadas en AWS
@@ -41,11 +41,11 @@ Desde el punto de vista de un Red Team, el **primer paso para comprometer un amb
- **Lectura de Archivos Locales**
- `/home/USERNAME/.aws/credentials`
- `C:\Users\USERNAME\.aws\credentials`
- **terceros** **comprometidos**
- **brechas** de terceros
- Empleado **Interno**
- [**Cognito** ](aws-services/aws-cognito-enum/#cognito)credenciales
O comprometiendo un **servicio no autenticado** expuesto:
O comprometiendo un servicio **no autenticado** expuesto:
{{#ref}}
aws-unauthenticated-enum-access/
@@ -58,7 +58,7 @@ aws-permissions-for-a-pentest.md
{{#endref}}
> [!NOTE]
> Después de haber logrado obtener credenciales, necesitas saber **a quién pertenecen esas credenciales**, y **a qué tienen acceso**, así que necesitas realizar alguna enumeración básica:
> Después de haber logrado obtener credenciales, necesitas saber **a quién pertenecen esas credenciales**, y **a qué tienen acceso**, por lo que necesitas realizar alguna enumeración básica:
## Enumeración Básica
@@ -92,7 +92,7 @@ curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/dynamic
> Tenga en cuenta que las empresas pueden usar **canary tokens** para identificar cuándo **se están robando y utilizando tokens**. Se recomienda verificar si un token es un canary token o no antes de usarlo.\
> Para más información [**ver esta página**](aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md#honeytokens-bypass).
### Enumeración de Org
### Enumeración de Organizaciones
{{#ref}}
aws-services/aws-organizations-enum.md
@@ -115,7 +115,7 @@ aws-services/aws-iam-enum.md
## Enumeración de Servicios, Post-Explotación y Persistencia
AWS tiene una asombrosa cantidad de servicios, en la siguiente página encontrará **información básica, enumeración** cheatsheets\*\*,\*\* cómo **evitar la detección**, obtener **persistencia** y otros trucos de **post-explotación** sobre algunos de ellos:
AWS tiene una asombrosa cantidad de servicios, en la siguiente página encontrará **información básica, cheatsheets de enumeración**, cómo **evitar la detección**, obtener **persistencia** y otros trucos de **post-explotación** sobre algunos de ellos:
{{#ref}}
aws-services/
@@ -131,7 +131,7 @@ aws-unauthenticated-enum-access/
## Escalación de Privilegios
Si puede **ver al menos sus propios permisos** sobre diferentes recursos, podría **verificar si puede obtener más permisos**. Debería centrarse al menos en los permisos indicados en:
Si puede **ver al menos sus propios permisos** sobre diferentes recursos, podría **ver si puede obtener más permisos**. Debería centrarse al menos en los permisos indicados en:
{{#ref}}
aws-privilege-escalation/
@@ -161,7 +161,7 @@ Por lo tanto, para acceder como administrador a una cuenta secundaria, necesita:
- **Comprometer** la **cuenta de administración** y encontrar el **ID** de las **cuentas secundarias** y los **nombres** del **rol** (OrganizationAccountAccessRole por defecto) que permite a la cuenta de administración acceder como administrador.
- Para encontrar cuentas secundarias, vaya a la sección de organizaciones en la consola de aws o ejecute `aws organizations list-accounts`
- No puede encontrar el nombre de los roles directamente, así que verifique todas las políticas IAM personalizadas y busque cualquier que permita **`sts:AssumeRole` sobre las cuentas secundarias descubiertas previamente**.
- **Comprometer** un **principal** en la cuenta de administración con **permiso `sts:AssumeRole` sobre el rol en las cuentas secundarias** (incluso si la cuenta permite que cualquiera de la cuenta de administración se impersonifique, como es una cuenta externa, son necesarios permisos específicos de `sts:AssumeRole`).
- **Comprometer** un **principal** en la cuenta de administración con **permiso `sts:AssumeRole` sobre el rol en las cuentas secundarias** (incluso si la cuenta permite que cualquiera de la cuenta de administración se haga pasar por ella, como es una cuenta externa, son necesarios permisos específicos de `sts:AssumeRole`).
## Herramientas Automatizadas
@@ -179,7 +179,7 @@ AWS_PROFILE=<profile> aws_recon \
--verbose
```
- [**cloudlist**](https://github.com/projectdiscovery/cloudlist): Cloudlist es una **herramienta multi-nube para obtener Activos** (Nombres de host, Direcciones IP) de Proveedores de Nube.
- [**cloudmapper**](https://github.com/duo-labs/cloudmapper): CloudMapper te ayuda a analizar tus entornos de Amazon Web Services (AWS). Ahora contiene mucha más funcionalidad, incluyendo auditoría para problemas de seguridad.
- [**cloudmapper**](https://github.com/duo-labs/cloudmapper): CloudMapper te ayuda a analizar tus entornos de Amazon Web Services (AWS). Ahora contiene mucha más funcionalidad, incluyendo auditoría de problemas de seguridad.
```bash
# Installation steps in github
# Create a config.json file with the aws info, like:
@@ -239,7 +239,7 @@ AWS_PROFILE=dev cartography --neo4j-uri bolt://127.0.0.1:7687 --neo4j-password-p
### Privesc & Exploiting
- [**SkyArk**](https://github.com/cyberark/SkyArk)**:** Descubre los usuarios más privilegiados en el entorno de AWS escaneado, incluyendo los AWS Shadow Admins. Utiliza powershell. Puedes encontrar la **definición de políticas privilegiadas** en la función **`Check-PrivilegedPolicy`** en [https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1](https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1).
- [**SkyArk**](https://github.com/cyberark/SkyArk)**:** Descubre los usuarios más privilegiados en el entorno de AWS escaneado, incluyendo a los AWS Shadow Admins. Utiliza powershell. Puedes encontrar la **definición de políticas privilegiadas** en la función **`Check-PrivilegedPolicy`** en [https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1](https://github.com/cyberark/SkyArk/blob/master/AWStealth/AWStealth.ps1).
- [**pacu**](https://github.com/RhinoSecurityLabs/pacu): Pacu es un **framework de explotación de AWS** de código abierto, diseñado para pruebas de seguridad ofensivas contra entornos en la nube. Puede **enumerar**, encontrar **configuraciones incorrectas** y **explotarlas**. Puedes encontrar la **definición de permisos privilegiados** en [https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam\_\_privesc_scan/main.py#L134](https://github.com/RhinoSecurityLabs/pacu/blob/866376cd711666c775bbfcde0524c817f2c5b181/pacu/modules/iam__privesc_scan/main.py#L134) dentro del diccionario **`user_escalation_methods`**.
- Ten en cuenta que pacu **solo verifica tus propios caminos de privesc** (no a nivel de cuenta).
```bash
@@ -255,7 +255,7 @@ pacu
> exec iam__enum_permissions # Get permissions
> exec iam__privesc_scan # List privileged permissions
```
- [**PMapper**](https://github.com/nccgroup/PMapper): Principal Mapper (PMapper) es un script y biblioteca para identificar riesgos en la configuración de AWS Identity and Access Management (IAM) para una cuenta de AWS o una organización de AWS. Modela los diferentes Usuarios y Roles de IAM en una cuenta como un grafo dirigido, lo que permite verificar la **escalada de privilegios** y los caminos alternativos que un atacante podría tomar para obtener acceso a un recurso o acción en AWS. Puedes verificar los **permisos utilizados para encontrar caminos de privesc** en los nombres de archivo que terminan en `_edges.py` en [https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing](https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing)
- [**PMapper**](https://github.com/nccgroup/PMapper): Principal Mapper (PMapper) es un script y biblioteca para identificar riesgos en la configuración de AWS Identity and Access Management (IAM) para una cuenta de AWS o una organización de AWS. Modela los diferentes IAM Users y Roles en una cuenta como un grafo dirigido, lo que permite verificar **privilege escalation** y los caminos alternativos que un atacante podría tomar para obtener acceso a un recurso o acción en AWS. Puedes verificar los **permissions utilizados para encontrar privesc** caminos en los nombres de archivo que terminan en `_edges.py` en [https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing](https://github.com/nccgroup/PMapper/tree/master/principalmapper/graphing)
```bash
# Install
pip install principalmapper
@@ -278,7 +278,7 @@ pmapper --profile dev orgs create
pmapper --profile dev orgs display
```
- [**cloudsplaining**](https://github.com/salesforce/cloudsplaining): Cloudsplaining es una herramienta de evaluación de seguridad de AWS IAM que identifica violaciones del principio de menor privilegio y genera un informe HTML priorizado por riesgo.\
Mostrará los clientes **sobre privilegiados** potencialmente, las **políticas** en línea y de aws, y qué **principales tienen acceso a ellas**. (No solo verifica el privesc, sino también otros tipos de permisos interesantes, se recomienda su uso).
Mostrará los clientes **sobre privilegiados** potencialmente, las políticas en línea y de aws **y qué principales tienen acceso a ellas**. (No solo verifica privesc, sino también otros tipos de permisos interesantes, se recomienda su uso).
```bash
# Install
pip install cloudsplaining
@@ -303,7 +303,7 @@ cloudsplaining scan --input-file /private/tmp/cloudsplaining/dev.json --output /
# Compiance options: --compliance {hipaa,cis,cis1,cis2,pci}
## use "cis" for cis level 1 and 2
```
- [**Prowler**](https://github.com/prowler-cloud/prowler): Prowler es una herramienta de seguridad de código abierto para realizar evaluaciones de las mejores prácticas de seguridad de AWS, auditorías, respuesta a incidentes, monitoreo continuo, endurecimiento y preparación forense.
- [**Prowler**](https://github.com/prowler-cloud/prowler): Prowler es una herramienta de seguridad de código abierto para realizar evaluaciones de las mejores prácticas de seguridad de AWS, auditorías, respuesta a incidentes, monitoreo continuo, endurecimiento y preparación para forenses.
```bash
# Install python3, jq and git
# Install
@@ -334,8 +334,8 @@ scout aws -p dev
### Auditoría Constante
- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian es un motor de reglas para gestionar cuentas y recursos de nube pública. Permite a los usuarios **definir políticas para habilitar una infraestructura de nube bien gestionada**, que sea segura y optimizada en costos. Consolida muchos de los scripts ad-hoc que las organizaciones tienen en una herramienta ligera y flexible, con métricas y reportes unificados.
- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** es una plataforma para **monitoreo continuo de cumplimiento, reportes de cumplimiento y automatización de seguridad para la nube**. En PacBot, las políticas de seguridad y cumplimiento se implementan como código. Todos los recursos descubiertos por PacBot son evaluados contra estas políticas para medir la conformidad con las políticas. El marco de **auto-fix** de PacBot proporciona la capacidad de responder automáticamente a violaciones de políticas tomando acciones predefinidas.
- [**cloud-custodian**](https://github.com/cloud-custodian/cloud-custodian): Cloud Custodian es un motor de reglas para gestionar cuentas y recursos de nube pública. Permite a los usuarios **definir políticas para habilitar una infraestructura en la nube bien gestionada**, que sea segura y optimizada en costos. Consolida muchos de los scripts ad-hoc que las organizaciones tienen en una herramienta ligera y flexible, con métricas y reportes unificados.
- [**pacbot**](https://github.com/tmobile/pacbot)**: Policy as Code Bot (PacBot)** es una plataforma para **monitoreo continuo de cumplimiento, reporte de cumplimiento y automatización de seguridad para la nube**. En PacBot, las políticas de seguridad y cumplimiento se implementan como código. Todos los recursos descubiertos por PacBot se evalúan contra estas políticas para medir la conformidad con las políticas. El marco **auto-fix** de PacBot proporciona la capacidad de responder automáticamente a violaciones de políticas tomando acciones predefinidas.
- [**streamalert**](https://github.com/airbnb/streamalert)**:** StreamAlert es un marco de análisis de datos **en tiempo real** sin servidor que te permite **ingresar, analizar y alertar** sobre datos de cualquier entorno, **usando fuentes de datos y lógica de alertas que defines**. Los equipos de seguridad informática utilizan StreamAlert para escanear terabytes de datos de registro todos los días para la detección y respuesta a incidentes.
## DEBUG: Capturar solicitudes de AWS cli