🌐 Mapa de Infraestrutura RedeDor - Sistemas Comprometidos¶
Arquitetura Completa¶
graph TB
subgraph "ATACANTE 🔓"
ATK["Acesso externo<br/>- PAT Token Azure DevOps<br/>- Git clone com secrets<br/>- MSAL Dev secret em plaintext"]
end
subgraph "MICROSOFT CLOUD"
subgraph "AZURE AD TENANT 03a1fb23-83f2-4fbf-81f9-e40d15b58719"
AAD_CORE["Azure AD Tenant<br/>344 apps<br/>344 secrets"]
MSAL_D["MSAL Dev<br/>cc06aa03<br/>SECRET: Qjc8Q~"]
MSAL_P["MSAL Prd<br/>4e5a672f<br/>SECRET: IA_8Q~"]
APEX["APEX Auth<br/>4459f6a9<br/>7 secrets"]
PAT_M["PAT-Token-Manager<br/>df077825<br/>DevOps FULL"]
DOR_DEV["dor-dev-hub<br/>8a7d0eab<br/>DevOps scope"]
CYBERARK["CyberArk Identity<br/>994ce889<br/>Directory.WriteAll"]
KEYVAULT["Key Vault Mgmt<br/>1cd22fa9<br/>All secrets"]
OTHERS["+ 336 apps<br/>com secrets"]
GRAPH["Microsoft Graph API<br/>Access: Application.ReadWrite.All<br/>Pode listar/editar TODAS as apps"]
end
subgraph "AZURE DEVOPS - rededorlabs"
DEVOPS_ORG["Azure DevOps Org<br/>rededorlabs"]
PAT_TOKEN["🔑 PAT Token<br/>EbBQwWRTn29c...<br/>Scope: Code+Packaging<br/>ATIVO"]
REPO1["portal-de-relacionamento-backend<br/>3377 commits<br/>SECRET: TOKEN_SECRET<br/>MySQL creds<br/>Swagger creds"]
REPO2["portal-de-relacionamento-frontend<br/>2373 commits<br/>MSAL config<br/>API endpoints"]
REPO3["portal-de-relacionamento-fe-terceiro<br/>898 commits"]
REPO4["gestao-de-identidade-serverless<br/>280 commits<br/>SECRET: TOKEN_SECRET (duplicado!)<br/>Cognito config"]
REPO5["coca<br/>34 commits"]
REPO6["user-importer<br/>29 commits"]
end
end
subgraph "AWS CLOUD"
subgraph "Account 282525845483 - gestao-de-identidade"
VPC1["VPC Privada<br/>10.247.x.x"]
SECURENV["securenv API<br/>prod-k8s.rededorlabs.com<br/>10.247.x.x<br/>NÃO alcançável<br/>de fora"]
RDS_DEV["🔓 MySQL RDS DEV<br/>gestao-identidade-dev.cf04evbxtqfl<br/>Port: 3306<br/>User: dev_admin<br/>Pass: sShk9PkdQ35BRilDH0ukREDEDOR<br/>DATABASE ACESSÍVEL"]
ECS1["ECS Cluster<br/>gestao-identidade services"]
TOKEN_R1["🔓 TOKEN_SECRET<br/>569825f342fae7cae51f7c55fcc805c6cec4e2cb7b1535e5344266d332911977<br/>Em uso nesta account"]
end
subgraph "Account 485245438221 - portal-backend"
VPC2["VPC Privada<br/>AWS Region: sa-east-1"]
RDS_PROD["MySQL RDS PROD<br/>Credenciais potencialmente<br/>expostas também"]
ECS2["ECS Cluster<br/>Portal services<br/>Backend + Frontend"]
TOKEN_R2["🔓 TOKEN_SECRET<br/>Mesmo token de 282525845483<br/>Vulnerability!"]
LAMBDA["Lambda Functions<br/>Processamento de dados<br/>Medical workflows"]
end
subgraph "Account 527905719568 - Cinemed PRD"
ECR["🔓 ECR Registry<br/>527905719568.dkr.ecr.sa-east-1<br/>Docker images<br/>Production containers"]
end
end
subgraph "EXTERNAL SERVICES"
subgraph "ServiceNow"
SN["ServiceNow Instance<br/>Ticketing System<br/>CREDS: y}57}QL)T<br/>CREDS: 0TykR59NL]!X84T<"]
end
subgraph "AWS Cognito"
COGNITO["AWS Cognito<br/>User Pool<br/>CLIENT_SECRET: 59r3tknurueajmegi8dme43c9ef9hirfvjg6cdtpb12r7uj4dav"]
end
subgraph "Swagger API"
SWAGGER["Swagger BasicAuth<br/>User: S7W1vzE4Xx5scLY1GsKf<br/>Pass: $t7N0<\\33Ts8"]
end
subgraph "CRM / Dynamics"
CRM["CRM System<br/>Password: 503743dE2c124255A395Db53b8757793"]
end
subgraph "AWS Credentials (Expiradas)"
CRED1["ASIAUDR62I7VSFR2BZ4F<br/>Account 282525845483<br/>EXPIRADA"]
CRED2["ASIAXB6XBZEG7RE64OW4<br/>Account 485245438221<br/>EXPIRADA"]
end
end
subgraph "PESSOAS CHAVE"
PESSOA["Diogo Menezes<br/>diogo.menezes@rededor.com.br<br/>ID: 4c651a5b<br/>Possível proprietário<br/>de múltiplas credenciais"]
end
%% Fluxos de Ataque
ATK -->|"Clone com PAT"| DEVOPS_ORG
ATK -->|"PAT Token"| PAT_TOKEN
PAT_TOKEN -->|"Acesso código"| REPO1
PAT_TOKEN -->|"Acesso código"| REPO2
PAT_TOKEN -->|"Acesso código"| REPO3
PAT_TOKEN -->|"Acesso código"| REPO4
REPO1 -->|"Extrai"| MSAL_D
REPO1 -->|"Extrai"| SWAGGER
REPO1 -->|"Extrai"| CRM
REPO1 -->|"Extrai RDS creds"| RDS_DEV
REPO4 -->|"Duplica"| TOKEN_R1
REPO1 -->|"Duplica"| TOKEN_R2
REPO4 -->|"Cognito creds"| COGNITO
MSAL_D -->|"Graph API access"| GRAPH
MSAL_D -->|"Token para"| MSAL_P
GRAPH -->|"Enumera"| AAD_CORE
GRAPH -->|"Encontra"| PAT_M
GRAPH -->|"Encontra"| DOR_DEV
GRAPH -->|"Encontra"| CYBERARK
GRAPH -->|"Encontra"| KEYVAULT
GRAPH -->|"Encontra"| OTHERS
KEYVAULT -->|"Acesso"| OTHERS
PAT_M -->|"DevOps full access"| DEVOPS_ORG
DOR_DEV -->|"DevOps access"| DEVOPS_ORG
CYBERARK -->|"Directory.WriteAll"| AAD_CORE
SWAGGER -->|"API access"| ECS2
RDS_DEV -->|"Database access"| ECS1
TOKEN_R1 -->|"JWT auth"| SECURENV
TOKEN_R2 -->|"JWT auth"| LAMBDA
COGNITO -->|"User pool access"| ECS2
SN -->|"Ticket system"| PESSOA
CRM -->|"CRM system"| PESSOA
ECR -->|"Production images"| ECS2
%% Estilos
style ATK fill:#ff0000,color:#fff
style AAD_CORE fill:#ffcc00
style MSAL_D fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style MSAL_P fill:#ff6666,color:#fff,stroke:#cc0000,stroke-width:3px
style GRAPH fill:#ff9999,color:#fff
style KEYVAULT fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style PAT_M fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style DOR_DEV fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style DEVOPS_ORG fill:#ff9999,color:#fff,stroke:#cc0000,stroke-width:2px
style PAT_TOKEN fill:#ff0000,color:#fff,stroke:#8b0000,stroke-width:3px
style RDS_DEV fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style REPO1 fill:#ff9999,color:#fff
style REPO4 fill:#ff9999,color:#fff
style TOKEN_R1 fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style TOKEN_R2 fill:#ff3333,color:#fff,stroke:#8b0000,stroke-width:3px
style VPC1 fill:#fff3cd
style VPC2 fill:#fff3cd
style ECR fill:#ff9999,color:#fff
style CRED1 fill:#999999,color:#fff
style CRED2 fill:#999999,color:#fff
Detalhamento por Sistema¶
Azure DevOps Organization (rededorlabs)¶
URL: https://dev.azure.com/rededorlabs
| Repositório | Commits | Secrets Encontrados | Severidade |
|---|---|---|---|
| portal-de-relacionamento-backend | 3377 | TOKEN_SECRET, MySQL RDS, Swagger BasicAuth, CRM pass | 🔴 CRÍTICA |
| gestao-de-identidade-serverless | 280 | TOKEN_SECRET (DUPLICADO!), Cognito secret, ServiceNow creds | 🔴 CRÍTICA |
| portal-de-relacionamento-frontend | 2373 | MSAL config, API endpoints | 🟠 ALTA |
| portal-de-relacionamento-fe-terceiro | 898 | Config files | 🟡 MÉDIA |
| coca | 34 | Desconhecido | 🟡 BAIXA |
| user-importer | 29 | Desconhecido | 🟡 BAIXA |
Total de commits escaneados: 6,991 Taxa de descoberta: ~9 secrets majores em ~0.13% dos commits = RISCO CRÍTICO
AWS Account 282525845483 - Gestão de Identidade¶
Região: sa-east-1
Componentes¶
- RDS MySQL Dev:
gestao-identidade-dev.cf04evbxtqfl.sa-east-1.rds.amazonaws.com:3306 - User:
dev_admin - Password:
sShk9PkdQ35BRilDH0ukREDEDOR - Status: ACESSÍVEL de qualquer lugar (possivelmente)
-
Contém: Database de identidades, usuarios, privilégios
-
VPC Privada:
10.247.x.x - Securenv API:
securenv.prod-k8s.rededorlabs.com -
Status: Não alcançável de fora (proteção)
-
ECS Cluster: Gestao-identidade services
- Usa TOKEN_SECRET para autenticação interna
- Acesso a RDS Dev
Fluxo de Ataque¶
PAT Token → git clone → TOKEN_SECRET
↓
Usa TOKEN_SECRET para acessar APIs internas
↓
Acessa RDS com credenciais em código
↓
Database completa de usuários/roles
AWS Account 485245438221 - Portal Backend¶
Região: sa-east-1
Componentes¶
- RDS MySQL Prod: Potencialmente com mesmas credenciais
-
Impacto: Dados de produção em risco
-
ECS Cluster: Portal services
- Frontend + Backend services
-
Usa TOKEN_SECRET (DUPLICADO de 282525845483!)
-
Lambda Functions: Processamento medical workflows
- Acesso a dados sensíveis de pacientes
Fluxo de Ataque¶
TOKEN_SECRET (mesmo token de 282525845483!)
↓
Acessa production ECS/Lambda
↓
Medical data pipeline compromise
AWS Account 527905719568 - Cinemed Production¶
Componentes¶
- ECR Registry:
527905719568.dkr.ecr.sa-east-1.amazonaws.com - Docker images production
- Status: Potencialmente acessível com AWS credentials
Azure AD Tenant - 03a1fb23-83f2-4fbf-81f9-e40d15b58719¶
Total Apps: 344 Total Secrets: 344 (1 por app, em média)
Aplicações Críticas¶
Portal Dev (cc06aa03) ← SECRET EM GIT
↓ (Graph API)
Enumera 344 apps
↓
Encontra:
- PAT-Token-Manager (DevOps full)
- dor-dev-hub (DevOps scope)
- Key Vault Manager (all secrets)
- CyberArk Identity (directory.write)
- APEX Auth (7 secrets)
- + 339 outros apps
Fluxo de Dados Comprometido¶
Atacante
↓
PAT Token Azure DevOps
↓
├─ Clone repos + scan history
│ ├─ TOKEN_SECRET (jwt)
│ ├─ MySQL RDS (dev_admin:password)
│ ├─ Swagger BasicAuth
│ ├─ CRM Password
│ ├─ Cognito secret
│ └─ ServiceNow creds
│
├─ MSAL Dev Secret (Qjc8Q~)
│ ├─ Graph API token
│ ├─ Enumera 344 apps
│ ├─ Encontra PAT-Token-Manager
│ ├─ Encontra Key Vault Manager
│ └─ Add password to Portal Prd
│
└─ AWS Credentials (expiradas, mas histórico)
├─ Acesso anterior a RDS
└─ ECR registry compromise
Resultado: Controle de
- Azure AD (344 apps)
- Azure DevOps (6 repos)
- AWS Accounts (3 contas)
- Production databases
- Medical data pipelines
Pontos Críticos de Exposição¶
| Ponto | Exposição | Risco | Mitigação |
|---|---|---|---|
| Git History | 6,991 commits com 9+ secrets | 🔴 CRÍTICA | Rebase/force-push history + rotate secrets |
| RDS Dev Acess | MySQL dev credentials em código | 🔴 CRÍTICA | Change password + force reconnect |
| TOKEN_SECRET Duplicação | Mesmo token em 2 AWS accounts | 🔴 CRÍTICA | Invalidar token + reissue por account |
| MSAL Dev Secret | Em git + active | 🔴 CRÍTICA | Revoke + delete app |
| Key Vault Access | App com acesso a 344 secrets | 🔴 CRÍTICA | Audit + restrict to 1 secret |
| PAT Token | Code+Packaging scope em git | 🔴 CRÍTICA | Revoke + issue new with min scope |
| ServiceNow/CRM Creds | Em git history | 🟠 ALTA | Rotate all 3 passwords |
| Cognito Secret | Em git history | 🟠 ALTA | Rotate in Cognito |
| AWS Credentials | Histórico de acesso visível | 🟠 ALTA | Enable CloudTrail analysis |
Recomendações Prioritárias¶
Imediato (HOJE)¶
- Revoke MSAL Dev secret (cc06aa03)
- Force rotate RDS Dev password
- Revoke PAT Token Azure DevOps
- Audit + invalidate MSAL Prod new secret (IA_8Q~)
24 Horas¶
- Scan completo git history com TruffleHog
- Assess AWS CloudTrail para credenciais expiradas
- Audit CyberArk Directory.WriteAll permissions
- Change RDS Prod password
1 Semana¶
- Rotate TODOS os 344 app secrets Azure AD
- Implement Secret Rotation Policy (90 dias máximo)
- Enable Azure AD sign-in logs + alerts
- Disable legacy dev Azure AD applications
30 Dias¶
- Implement secrets detection in CI/CD pipeline
- Migrate to Azure Key Vault for secret management
- Enable MFA em todos os service principals
- Audit IAM permissions across 3 AWS accounts