Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
aws-perimeter — Un escáner de seguridad de AWS basado en terminal con más de 102 comprobaciones de seguridad en VPC, IAM, S3, CloudTrail, contenedores (ECS/EKS) y detección de ataques de IA. Detecta permisos IAM peligrosos, secretos expuestos, cubos S3 mal configurados, vulnerabilidades de contenedores y amenazas emergentes de LLMjacking. | Kitploit
Herramientas/GitHubGitHub/thirukguru/aws-perimeter
Seguridad de Infraestructura en la NubeEscáneres de VulnerabilidadesSeguridad de ContenedoresAuditoría de ConfiguraciónPruebas de PenetraciónSeguridad en la NubeDevSecOpsDetección de SecretosInteligencia de Amenazas
Gestión de Identidad y Acceso (IAM)
Mala Configuración
Seguridad de IA
GitHubthirukguru/aws-perimeter

aws-perimeter

Ver Repositorio
37hace 7 mesesAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →

Acerca de

Un escáner de seguridad de AWS basado en terminal con más de 102 comprobaciones de seguridad en VPC, IAM, S3, CloudTrail, contenedores (ECS/EKS) y detección de ataques de IA. Detecta permisos IAM peligrosos, secretos expuestos, cubos S3 mal configurados, vulnerabilidades de contenedores y amenazas emergentes de LLMjacking.

Compartir

aws-perimeter

Go Version Go Reference Go Report Card License

Un Escáner de seguridad de AWS basado en terminal con más de 100 verificaciones de seguridad en VPC, IAM, S3, CloudTrail, contenedores (ECS/EKS) y detección de ataques de IA. Detecta permisos peligrosos de IAM, secretos expuestos, buckets S3 mal configurados, vulnerabilidades de contenedores y amenazas emergentes de LLMjacking.

Descripción general del producto: docs/CAPABILITIES_OVERVIEW.md

Características

Seguridad de VPC

  • Análisis de grupos de seguridad (SSH/RDP abiertos, puertos de bases de datos)
  • Detección de exposición pública y riesgos de puertos de administración
  • Análisis de ACL de red y auditoría de VPC Flow Log
  • Riesgos de emparejamiento de VPC, detección de bastion hosts
  • Estado de NAT Gateway y cobertura de VPC endpoints

Seguridad de IAM

  • Detección de escalada de privilegios (17 patrones)
  • Credenciales obsoletas (más de 90 días)
  • Análisis de confianza entre cuentas
  • Brechas en la aplicación de MFA
  • Políticas demasiado permisivas (*:*)
  • Encadenamiento de roles, ID externo, límites de permisos

Seguridad de S3

  • Detección de buckets públicos
  • Auditoría de cifrado y políticas de bucket riesgosas
  • Estado de bloqueo de acceso público
  • Descubrimiento de archivos/objetos sensibles (.env, .git, credenciales)
  • Detección de secretos en contenido de texto profundo en objetos S3

CloudTrail y registro

  • Brechas en la cobertura de trails y registro multirregión
  • Estado de validación de registros
  • Integración con CloudWatch Logs

Detección de secretos

  • Variables de entorno de Lambda (10 patrones de secretos)
  • Escaneo de paquetes de despliegue (ZIP) de Lambda
  • Escaneo de datos de usuario de EC2
  • Escaneo de contenido de objetos S3 públicos
  • Escaneo de capas de imágenes ECR en busca de credenciales incrustadas
  • Claves de AWS, tokens de GitHub/Slack/Stripe

Seguridad de contenedores (NUEVO)

Seguridad ECS (10 verificaciones)

  • Contenedores privilegiados
  • Secretos en variables de entorno
  • Exposición de IP pública
  • Modo de red del host
  • Imágenes no registradas en ECR
  • Sistema de archivos raíz editable
  • Capacidades peligrosas de Linux
  • ECS Exec habilitado
  • Estado de Container Insights
  • Rol de tarea de administrador

Seguridad EKS (12 verificaciones)

  • Acceso a endpoint público
  • Endpoint privado deshabilitado
  • Registro del plano de control
  • Cifrado de secretos
  • Versión de Kubernetes
  • Proveedor OIDC para IRSA
  • Modos de autenticación heredados
  • Nodos en subredes públicas
  • Acceso SSH sin restricciones
  • Rol IAM de nodo a nivel de administrador
  • Tipo de AMI (preferencia por Bottlerocket)

Detección de ataques de IA (NUEVO)

Basado en inteligencia de amenazas de febrero de 2025: violación de AWS en 8 minutos

  • Monitoreo de instancias GPU: Detección de instancias p2/p3/p4/p5, g3/g4/g5, inf1/inf2, trn1
  • Exposición pública de GPU: Instancias GPU con IPs públicas
  • Riesgo IMDSv1 en GPU: Instancias GPU vulnerables a robo de credenciales
  • Abuso de Bedrock: Detección de rendimiento aprovisionado de alta capacidad
  • Modelos personalizados: Entrenamiento no autorizado de modelos Bedrock
  • Registro de Bedrock: Falta de registro de invocación de modelos
  • Aprovisionamiento rápido: Detección de limitación de API EC2 (patrón de ataque)

Resumen de verificaciones de seguridad

CategoríaConteo
Núcleo (IAM, VPC, S3, CloudTrail, Secretos)38
Extendido (Lambda, ELB, Route53, Inspector, etc.)35
Seguridad de contenedores (ECS + EKS)22
Detección de ataques de IA7
Total102

Verificaciones de seguridad críticas

VerificaciónGravedadDescripción
Escalada de privilegios🔴 CríticoEl usuario puede escalar a administrador
Acceso de administrador (:)🔴 CríticoAcceso completo a AWS concedido
Secretos expuestos🔴 CríticoClaves/tokens API en Lambda/EC2
Bucket S3 público🔴 CríticoBucket accesible públicamente
Sin CloudTrail🔴 CríticoSin registro de auditoría
SSH/RDP abierto🔴 CríticoPuerto 22/3389 a internet
Contenedor privilegiado🔴 CríticoContenedor ECS con acceso root
GPU IMDSv1🔴 CríticoCredenciales de instancia GPU vulnerables
Confianza entre cuentas🟠 AltoCuenta externa puede asumir rol
Endpoint público de EKS🟠 AltoAPI de Kubernetes accesible públicamente
Bedrock sin registro🟠 AltoUso del modelo de IA no auditado

Prerrequisitos

1. AWS CLI instalado

root@kitploit:~
# macOS
brew install awscli

# Linux
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip && sudo ./aws/install

2. Credenciales AWS configuradas

root@kitploit:~
aws configure
# o usar perfiles con nombre
aws configure --profile myprofile

3. Permisos IAM requeridos

Sus credenciales AWS deben tener acceso de solo lectura a los servicios que se escanean. La política administrada ReadOnlyAccess de AWS funciona, o consulte Permisos requeridos más abajo.

Nota: aws-perimeter solo realiza operaciones de lectura y nunca modifica sus recursos AWS.

Instalación

Instalación rápida (macOS/Linux)

root@kitploit:~
curl -sSfL https://raw.githubusercontent.com/thirukguru/aws-perimeter/main/install.sh | sh

Usando Go

root@kitploit:~
go install github.com/thirukguru/aws-perimeter@latest

Uso

root@kitploit:~
aws-perimeter                          # Ejecutar escaneo de seguridad completo
aws-perimeter --output json            # Salida JSON
aws-perimeter --profile prod           # Perfil AWS específico
aws-perimeter --region us-west-2       # Región específica
aws-perimeter --regions us-east-1,us-west-2            # Escaneo multirregión
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4  # Multirregión con concurrencia controlada
aws-perimeter --regions us-east-1,us-west-2 --max-parallel 4 --best-effort  # Salir con éxito si al menos una región tiene éxito
aws-perimeter --rules                   # Imprimir RULES.md en stdout (Markdown)
aws-perimeter --capabilities            # Imprimir descripción general de capacidades en stdout (Markdown)
aws-perimeter --all-regions                            # Escanear todas las regiones habilitadas
aws-perimeter --org-scan --org-role-name OrganizationAccountAccessRole  # Escaneo multiorganización
aws-perimeter --org-scan --max-parallel 5              # Concurrencia de fanout de organización+región
aws-perimeter --output html --output-file report.html  # Generar informe HTML
aws-perimeter --store --profile prod --region us-west-2 # Ejecutar + persistir escaneo
aws-perimeter --trends --trend-days 30 --account-id 123456789012  # Mostrar tabla de tendencias históricas
aws-perimeter history list --db-path ~/.aws-perimeter/history.db
aws-perimeter dashboard --port 8080

Para modos de fanout (--regions, --all-regions, --org-scan) con --output html --output-file ..., aws-perimeter escribe un informe por unidad de escaneo con sufijos de región/cuenta y marca de tiempo (por ejemplo security-report-us-east-1-20260210-213045.html o security-report-123456789012-us-east-1-20260210-213045.html). En modo HTML, la salida de tabla de terminal se suprime y solo se imprimen líneas de resumen concisas.

Modo de automatización JSON

Cuando se usa --output json, aws-perimeter emite un único documento JSON válido sin ruido de banner/spinner, por lo que es seguro para pipelines.

root@kitploit:~
aws-perimeter --profile prod --region us-west-2 --output json | jq .

# JSON multirregión emite un único documento JSON agregado de nivel superior:
aws-perimeter --profile prod --regions us-east-1,us-west-2 --output json | jq .

# exportar documentos mediante redirección de stdout
aws-perimeter --rules > rules.md
aws-perimeter --capabilities > capabilities.md

La carga útil JSON multirregión incluye:

  • summary (total_regions, success, failed, skipped)
  • results (cargas útiles de escaneo consolidadas por región)
  • failures (región + detalles del error cuando falla un escaneo de región)

Salida de resumen de fanout

Para escaneos multirregión y de organización en modos de salida que no son JSON, aws-perimeter imprime un resumen consolidado al final de la ejecución:

  • Filas por unidad de escaneo con account_id, account_name, region, status, duration y error.
  • Totales agregados (TOTAL, SUCCESS, FAILED, SKIPPED).
  • Tabla de resumen a nivel de cuenta para escaneos de organización (conteos de éxito/fallo/salto por cuenta).

--max-parallel y --best-effort

  • --max-parallel controla cuántas unidades de escaneo de región/cuenta se ejecutan concurrentemente en modos de fanout (--regions, --all-regions, --org-scan).
  • Valores más altos aceleran los escaneos pero aumentan la presión de API y la posibilidad de limitación/contensión de red.
  • Punto de inicio recomendado: --max-parallel 3 o --max-parallel 4.
  • --best-effort se aplica a escaneos multirregión: el comando sale con éxito (0) cuando al menos una región tiene éxito, incluso si algunas fallan.
  • Sin --best-effort, cualquier región fallida devuelve un código de salida distinto de cero.
  • En la salida JSON multirregión, las regiones fallidas aparecen bajo failures con el error exacto.

Banderas

BanderaCortaDescripción
--profile-pPerfil AWS a usar
--region-rRegión AWS
--regionsRegiones separadas por comas
--all-regionsEscanear todas las regiones habilitadas
--org-scanEscanear todas las cuentas activas de AWS Organization
--org-role-nameNombre del rol IAM a asumir en cuentas miembro
--external-idID externo para asumir rol entre cuentas
--output-oFormato de salida: table, json o html
--rulesImprimir catálogo de reglas Markdown y salir
--capabilitiesImprimir capacidades Markdown y salir
--output-file-fArchivo de salida (requerido para html)
--storePersistir resultados de escaneo en SQLite
--db-pathRuta personalizada a la base de datos SQLite
--trendsMostrar tendencias históricas
--trend-daysVentana de tendencia en días (predeterminado 30)
--compareComparar dos escaneos recientes
--export-jsonExportar archivo JSON de tendencias
--export-csvExportar archivo CSV de tendencias
--account-idFiltro de cuenta para tendencias/historial

Permisos IAM requeridos

Se requieren los siguientes permisos para la cobertura completa de características (incluyendo escaneo multirregión y de organización):

root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sts:GetCallerIdentity",
        "sts:AssumeRole",
        
        "organizations:DescribeOrganization",
        "organizations:ListAccounts",
        
        "ec2:Describe*",
        "ec2:GetEbsEncryptionByDefault",
        
        "iam:List*",
        "iam:Get*",
        "iam:GenerateCredentialReport",
        
        "s3:ListAllMyBuckets",
        "s3:GetBucket*",
        "s3:GetEncryptionConfiguration",
        
        "cloudtrail:DescribeTrails",
        "cloudtrail:GetTrailStatus",
        "cloudtrail:LookupEvents",
        
        "lambda:ListFunctions",
        "lambda:GetFunctionConfiguration",
        "lambda:GetFunction",
        
        "ecr:DescribeRepositories",
        "ecr:DescribeImages",
        "ecr:BatchGetImage",
        "ecr:GetDownloadUrlForLayer",
        
        "ecs:ListClusters",
        "ecs:DescribeClusters",
        "ecs:ListServices",
        "ecs:DescribeServices",
        "ecs:DescribeTaskDefinition",
        
        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListNodegroups",
        "eks:DescribeNodegroup",
        
        "bedrock:ListProvisionedModelThroughputs",
        "bedrock:ListCustomModels",
        "bedrock:GetModelInvocationLoggingConfiguration",
        
        "guardduty:ListDetectors",
        "guardduty:GetDetector",
        "guardduty:ListFindings",
        "guardduty:GetFindings",
        
        "securityhub:DescribeHub",
        "securityhub:GetFindings",
        
        "config:Describe*",
        
        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:GetKeyRotationStatus",
        "kms:Decrypt",
        
        "rds:DescribeDB*",
        
        "dynamodb:ListTables",
        "dynamodb:DescribeTable",
        "dynamodb:DescribeContinuousBackups",
        
        "secretsmanager:ListSecrets",
        
        "elasticloadbalancing:Describe*",
        
        "backup:List*",
        
        "apigateway:GET",
        
        "cloudfront:List*",
        "cloudfront:Get*",
        
        "cloudwatch:GetMetricStatistics",
        
        "sns:ListTopics",
        "sqs:ListQueues"
      ],
      "Resource": "*"
    }
  ]
}

kms:Decrypt solo se requiere al escanear objetos/paquetes cifrados (por ejemplo, lecturas de objetos S3 SSE-KMS). En producción, limite esto a las claves KMS necesarias.

Para --org-scan, la entidad principal de gestión debe tener permiso para asumir un rol de cuenta miembro (por defecto: OrganizationAccountAccessRole), por ejemplo:

root@kitploit:~
{
  "Effect": "Allow",
  "Action": "sts:AssumeRole",
  "Resource": "arn:aws:iam::*:role/OrganizationAccountAccessRole"
}

La política de confianza del rol de la cuenta miembro también debe permitir que su entidad principal de escaneo (usuario/rol) lo asuma (e incluya la condición sts:ExternalId si usa --external-id).

Consejo: Para un inicio rápido, adjunte la política administrada arn:aws:iam::aws:policy/ReadOnlyAccess a su usuario/rol IAM.

Hoja de ruta

Fase 3: Detección avanzada de amenazas

  • Modelado de amenazas STRIDE
  • Análisis de rutas de ataque
  • Detección de exfiltración de datos
  • Indicadores de criptominería

Fase 4: Funcionalidades empresariales

  • Soporte para cuentas múltiples (Organizations)
  • Integración con CI/CD
  • Exportación a SIEM (Splunk, ELK)
  • Tendencias históricas

Resumen

FaseEstadoReglas
Fase 1✅ Completada73
Fase 2🔲 En progreso+20
Fase 2.5🆕 Detección de ataques de IA+13
Fase 3🔲 Planificada+15
Fase 4🔲 PlanificadaFuncionalidades

Licencia

Apache License 2.0

Descargar herramienta
--max-parallel
Número máximo de unidades de escaneo de región/cuenta concurrentes
--best-effortPara escaneos multirregión, devolver éxito si al menos una región tiene éxito
--dry-runModo de vista previa de remediación
--remediateAplicar remediaciones soportadas
--dashboard-portPuerto del panel (bandera raíz; el subcomando dashboard usa --port)
--version-vInformación de versión