09 — SPI — Sistema de Pagamentos Instantâneos (PIX)
O QUE É O SPI
O SPI (Sistema de Pagamentos Instantâneos) é a infraestrutura centralizada do Banco Central do Brasil que liquida todas as transações PIX entre instituições financeiras. É o “coração” do PIX.
┌──────────────┐ RSFN ┌──────────────┐│ BANCO A │──────────────▶│ ││ (pacs.008) │ mTLS + │ SPI ││ assinado │ ICP-Brasil │ (BACEN) ││ digitalment │◀──────────────│ ││ │ (pacs.002) │ Conta PI A │└──────────────┘ │ Conta PI B │ │ ... │┌──────────────┐ │ ││ BANCO B │◀─────────────▶│ ││ (recebe) │ └──────────────┘└──────────────┘Características técnicas
| Aspecto | Detalhe |
|---|---|
| Operação | 24h/dia, 365 dias/ano |
| Liquidação | Bruta em tempo real (LBTR) — cada transação liquidada individualmente |
| Irrevogabilidade | Transações liquidadas são IRREVERSÍVEIS |
| Rede | RSFN (Rede do Sistema Financeiro Nacional) — rede privada |
| Protocolo | HTTP/1.1 + TLS 1.2+ com mTLS (autenticação mútua) |
| Cipher Suite | ECDHE-RSA-AES-128-GCM-SHA256 (0xc02f) |
| Mensagens | ISO 20022 (XML) |
| Assinatura | XMLDSig com certificado ICP-Brasil SPB |
| Tempo máximo | 40 segundos para liquidação completa |
| Operador | Deban (Dept. Operações Bancárias) + Deinf (Dept. TI) do BACEN |
BANCO CLÁSSICO NO SPI
| Campo | Valor |
|---|---|
| ISPB | 31597552 |
| Código COMPE | 241 |
| Tipo de acesso PIX | RSFN (participante direto) |
| Conta PI | Sim — mantida no Banco Central |
| Conexão | Via RSFN (RTM ou PSTI Sinqia) |
O Banco Clássico é participante direto do SPI. Isso significa:
- Tem Conta PI (Conta Pagamentos Instantâneos) no Banco Central
- Tem conexão direta ao SPI via RSFN
- Gera e assina mensagens pacs.008 (ordens de pagamento)
- Recebe e processa mensagens pacs.002 (confirmações)
- Acessa o DICT (Diretório de Chaves PIX) para consultar chaves
ARQUITETURA DO ECOSSISTEMA PIX
Componentes
┌─────────────────────────────────────────────────────────┐│ BANCO CENTRAL ││ ││ ┌─────────┐ ┌──────────┐ ┌─────────┐ ┌──────────┐ ││ │ SPI │ │ DICT │ │ STR │ │ SELIC │ ││ │ (ICOM) │ │(chaves) │ │(reserva)│ │(títulos) │ ││ └────┬────┘ └────┬─────┘ └────┬────┘ └────┬─────┘ ││ │ │ │ │ │└───────┼────────────┼─────────────┼─────────────┼────────┘ │ │ │ │ ════╪════════════╪═════════════╪═════════════╪════ RSFN │ │ │ │┌───────┼────────────┼─────────────┼─────────────┼────────┐│ │ PARTICIPANTE DIRETO (ex: Banco Clássico) ││ │ │ │ │ ││ ┌────▼────┐ ┌────▼─────┐ ││ │ Gateway │ │ DICT │ ┌──────────┐ ││ │ PIX │ │ Client │ │ Core │ ││ │(pacs.008│ │(consulta │ │ Banking │ ││ │ geração)│ │ chaves) │ │ (Sinqia) │ ││ └────┬────┘ └──────────┘ └──────────┘ ││ │ ││ ┌────▼────┐ ││ │ HSM │ ◄── Chave privada CERTPIA (assinatura) ││ │(signing)│ ◄── Chave privada CERTPIC (mTLS) ││ └─────────┘ │└──────────────────────────────────────────────────────────┘Dois tipos de certificado ICP-Brasil para PIX
| Certificado | Sigla | Função | Uso |
|---|---|---|---|
| Certificado de Conexão | CERTPIC | Autenticação mTLS com a ICOM/SPI e DICT | Estabelecer canal TLS |
| Certificado de Assinatura | CERTPIA | Assinar digitalmente as mensagens XML | XMLDSig em pacs.008 |
Ambos devem ser:
- ICP-Brasil, padrão SPB
- Exclusivos para o ambiente PIX (não compartilhados com outros sistemas)
- Registrados previamente no módulo SPI do SPB-Web
- Com IPs de origem cadastrados previamente
Endpoints ICOM (API do SPI)
| Ambiente | Canal | URL | Porta |
|---|---|---|---|
| Produção | Primário | https://icom.pi.rsfn.net.br | 16422 |
| Produção | Secundário | https://icom-sec.pi.rsfn.net.br | 17422 |
| Homologação | Primário | https://icom-h.pi.rsfn.net.br | 16522 |
| Homologação | Secundário | https://icom-sec-h.pi.rsfn.net.br | 17522 |
API do SPI (ICOM)
| Operação | Método | Endpoint |
|---|---|---|
| Enviar mensagem (pacs.008) | POST | /api/v1/in/{ISPB}/msgs |
| Receber mensagens (polling) | GET | /api/v1/out/{ISPB}/stream/start |
| Confirmar recebimento | GET | /api/v1/out/{ISPB}/stream/{PI-ResourceId} |
Para o Banco Clássico: {ISPB} = 31597552
Mensagens ISO 20022
| Mensagem | Função | Direção |
|---|---|---|
| pacs.008 | Ordem de pagamento (crédito) | Banco → SPI |
| pacs.002 | Status da liquidação (aceito/rejeitado) | SPI → Banco |
| pacs.004 | Devolução (return) | Banco → SPI |
| camt.060 | Consulta de operação | Banco → SPI |
| camt.054 | Detalhes de operação | SPI → Banco |
| admi.002 | Erro de validação/assinatura | Bilateral |
| trck.002 | Rastreamento | Banco → SPI |
Estrutura de uma pacs.008 (ordem de pagamento PIX)
<?xml version="1.0" encoding="UTF-8"?><Envelope xmlns="urn:iso:std:iso:20022:tech:xsd:envelope"> <AppHdr xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.01"> <Fr> <FIId><FinInstnId><Othr> <Id>31597552</Id> <!-- ISPB Banco Clássico (emissor) --> </Othr></FinInstnId></FIId> </Fr> <To> <FIId><FinInstnId><Othr> <Id>{ISPB_DESTINO}</Id> <!-- ISPB do banco recebedor --> </Othr></FinInstnId></FIId> </To> <BizMsgIdr>M31597552{20_CHARS_RANDOM}</BizMsgIdr> <MsgDefIdr>pacs.008.001.08</MsgDefIdr> <CreDt>2026-07-18T21:30:00.000Z</CreDt> <Sgntr> <!-- XMLDSig com CERTPIA do Banco Clássico --> </Sgntr> </AppHdr> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.spi.1.13"> <FIToFICstmrCdtTrf> <GrpHdr> <MsgId>M31597552{20_CHARS_RANDOM}</MsgId> <CreDtTm>2026-07-18T21:30:00.000Z</CreDtTm> <NbOfTxs>1</NbOfTxs> </GrpHdr> <CdtTrfTxInf> <PmtId> <EndToEndId>E31597552{20_CHARS_RANDOM}</EndToEndId> </PmtId> <IntrBkSttlmAmt Ccy="BRL">1000000.00</IntrBkSttlmAmt> <!-- Dados do pagador, recebedor, etc. --> </CdtTrfTxInf> </FIToFICstmrCdtTrf> </Document></Envelope>O SPI NÃO valida:
- Se o pagador existe ou tem saldo
- Se a transação é legítima
- Se há autorização do cliente final
O SPI APENAS valida:
- Assinatura digital (CERTPIA válido)
- Certificado mTLS (CERTPIC válido)
- IP de origem cadastrado
- Formato XML conforme schema
- Saldo na Conta PI (não pode ficar negativo)
- Limites de rate-limiting
PRECEDENTE REAL: CASO PLUMP SPIDER / C&M SOFTWARE (Junho 2025)
O que aconteceu
Em 30 de junho de 2025, o grupo Plump Spider comprometeu a C&M Software (PSTI autorizada pelo BACEN) e injetou pacs.008 fraudulentos no SPI em nome de múltiplas instituições financeiras.
| Dado | Valor |
|---|---|
| Valor total desviado | R$ 1,6 bilhão (em 12 meses de ataques) |
| Maior vítima | BMP Money Plus — R$ 400 milhões roubados da conta reserva |
| Recuperado | R$ 160 milhões |
| IFs afetadas | 6+ instituições financeiras |
| IFs desconectadas | ~300 (por suspensão cautelar da C&M) |
| Vetor | Insider (funcionário cooptado) + credenciais + certificados digitais |
| Grupo | Plump Spider (documentado pelo Axur Research Team) |
Cadeia de ataque do Plump Spider
1. ACESSO INICIAL ├── Vishing (WhatsApp) impersonando TI ├── Recrutamento de insider com acesso privilegiado └── Credenciais de rede fornecidas pelo insider
2. RECONHECIMENTO INTERNO ├── PowerShell scripts para mapear AD ├── AdExplorer para enumerar contas privilegiadas ├── Coleta de credenciais WiFi └── SoftEther VPN para C2 (blenda com HTTPS)
3. MOVIMENTO LATERAL ├── Pivoting para servidores do Gateway PIX └── Acesso aos certificados digitais (CERTPIA)
4. EXECUÇÃO ├── Forja mensagens pacs.008 com dados fraudulentos ├── O sistema legítimo assina com CERTPIA (HSM ou software) ├── SPI aceita como transação válida (assinatura OK) └── Liquidação instantânea e irreversível
5. LAVAGEM ├── PIX para contas em IPs/bancos menores ├── Conversão para USDT/Bitcoin via exchanges └── Dispersão em múltiplas carteirasPor que funcionou
- O SPI confia cegamente na assinatura digital. Se o CERTPIA é válido e a mensagem está bem formada, a transação é liquidada
- O PSTI (C&M) tinha acesso às chaves privadas dos certificados de múltiplos bancos
- As transações eram criptograficamente legítimas — impossível distinguir de transações reais
- A liquidação é irreversível — uma vez debitada da Conta PI, não volta
Resposta do BACEN
| Resolução | Data efetiva | Medida |
|---|---|---|
| Res. 538 | 01/03/2026 | MFA obrigatório, isolamento físico/lógico do ambiente PIX, pentests anuais |
| Res. 554 | 30/03/2026 | Saldo mínimo configurável na Conta PI, bloqueio automático, canal de monitoramento independente da RSFN |
ANÁLISE DE PIVOTING — BANCO CLÁSSICO NO SPI
O que temos
Do exfiltrado, temos informações sobre a infraestrutura PIX do Banco Clássico:
| Dado | Fonte | Valor |
|---|---|---|
| ISPB | Público | 31597552 |
| PSTI | acessos.xlsx + hosts.txt | Sinqia (sftp.sinqia.com.br) |
| Credenciais Sinqia SFTP | acessos.xlsx | jacksonciliano.classico@cloud.local / J@ckson138728nini138728 |
| TOTP Seed Sinqia | acessos.xlsx | FFDE ILVG ILTV WVYP DQZF TUPT 5A5W FRN3 |
| Hostnames PIX internos | hosts.txt | sqctrl.bancoclassico.com.br → 192.168.10.113 |
| Componentes internos | hosts.txt | sqctrl (controle), bff (API), kc (Keycloak SSO), artemis (message broker) |
| SQL Server | web.config | server02 / sysbancoclassico / BCO01cla |
| Servidor RTM | RDP + acessos | 10.225.32.119 / Administrador / Bcclassico123456789 |
| Servidor principal | acessos.xlsx | Administrador / Bcclassico123456789 |
| SPB Produção | acessos.xlsx | Dell T130 / Administrador / BCO01cla |
| SPB Homologação | acessos.xlsx | Dell T130 / Administrador / BCO01cla |
Mapeamento de componentes para o fluxo PIX
COMPONENTE BANCO CLÁSSICO FUNÇÃO NO PIX────────────────────────────────────────────────────
sqctrl.bancoclassico.com.br (113) → Painel de controle Sinqiabff-bancoclassico.com.br (113) → Backend-for-Frontend (API do core)kc-bancoclassico.com.br (113) → Keycloak (autenticação SSO)artemis.bancoclassico.com.br(113) → Apache ActiveMQ Artemis (message broker) ↕ mensagens ISO 20022SPB Produção (Dell T130) → GATEWAY PIX / geração+assinatura pacs.008SPB Homologação (Dell T130) → Ambiente de testes PIXServidor RTM (Dell T110II) → Conexão à RSFN (rede financeira)Cadeia de acesso ao Gateway PIX
C2 (AdaptixC2) │ ▼Beacon no Banco Clássico (rede interna 192.168.10.0/24) │ ├──▶ 192.168.10.113 (Sinqia: sqctrl/bff/kc/artemis) │ ↕ Keycloak → credenciais Sinqia │ ↕ Artemis → fila de mensagens ISO 20022 │ ├──▶ SPB Produção (Administrador / BCO01cla) │ ↕ Gateway PIX │ ↕ CERTPIA (assinatura digital) │ ↕ CERTPIC (conexão mTLS) │ ↕ Geração de pacs.008 │ └──▶ Servidor RTM (10.225.32.119 / Administrador / Bcclassico123456789) ↕ RSFN ↕ icom.pi.rsfn.net.br:16422 (SPI)Alvos críticos para o Gateway PIX
| Alvo | O que procurar | Por quê |
|---|---|---|
| SPB Produção (Dell T130) | Certificados CERTPIC e CERTPIA | Sem eles, não se envia mensagens ao SPI |
| SPB Produção | Software de gateway (Sinqia ou próprio) | Entender como pacs.008 é gerada e assinada |
| SPB Produção | HSM (Hardware Security Module) ou keystore | Onde a chave privada de assinatura está |
| Artemis (message broker) | Filas de mensagens | Interceptar/injetar mensagens pacs.008 na fila |
| Keycloak | Tokens de autenticação | Acesso admin ao painel Sinqia |
| SQL Server | Tabelas PIX (pix.t410rcon, pix.t410chpx) | Dados de clientes, chaves, transações |
| Servidor RTM | Configuração de rede RSFN | IPs registrados no BACEN, rotas |
Onde estão os certificados PIX?
Baseado no padrão observado (Bradesco certs em PEM sem senha, DPAPI blobs em MyCertificates), as opções são:
| Local provável | Probabilidade | Método de extração |
|---|---|---|
| HSM (se tiver) | Média-baixa | Abuse da API do HSM (não extrai chave, mas pode assinar) |
| Windows Certificate Store no SPB Produção | Alta | DPAPI (mesmo método do cert A1 da tiacc) |
| Arquivo PEM/PFX no disco | Alta (padrão do banco) | Download direto |
| KeyStore Java (.jks/.p12) se Sinqia é Java | Alta | keytool ou download + crack |
| Dentro do PSTI Sinqia (cloud) | Média | Sinqia controla as chaves |
Regulamentação sobre chaves privadas (Res. BCB 498/2025)
“Art. 35, IV: [O banco deve] manter a posse das suas chaves privadas utilizadas para a assinatura das mensagens e validar a integridade das transações previamente à assinatura”
Isso significa que o Banco Clássico deve manter a chave privada do CERTPIA sob sua posse, não na Sinqia. Se a Sinqia é PSTI, ela provê a conexão à RSFN, mas a assinatura deve ser feita com a chave do banco.
EXCEÇÃO: O comunicado do BACEN de 2026 indica que muitos PSTIs (como a C&M) ainda tinham acesso às chaves privadas dos clientes — o que permitiu o ataque do Plump Spider.
FLUXO DE ATAQUE: PIX FRAUDULENTO VIA SPI
Pré-requisitos
- ✅ Acesso à rede interna do banco (beacon existente)
- ⬜ Acesso ao servidor SPB Produção (Dell T130,
Administrador/BCO01cla) - ⬜ Localizar e acessar a chave privada do CERTPIA
- ⬜ Entender o software de gateway PIX (Sinqia ou próprio)
- ⬜ Acesso ao Artemis (message broker) para injetar mensagens
Opção A: Abuse do Gateway legítimo (como o Plump Spider)
1. Lateral para SPB Produção (RDP ou PsExec com Administrador/BCO01cla)2. Mapear o software do gateway PIX3. Injetar transação na fila do Artemis (message broker)4. O gateway legítimo assina com CERTPIA5. Mensagem é enviada ao SPI via RSFN6. Liquidação instantânea e irreversível- Vantagem: Não precisa extrair a chave privada
- Risco: Monitoramento de volume/padrão pode detectar
Opção B: Extração de certificados + geração offline
1. Lateral para SPB Produção2. Localizar CERTPIC e CERTPIA (cert store, PEM, JKS)3. Extrair chaves privadas (DPAPI, download PEM, keytool)4. Gerar pacs.008 offline com dados fraudulentos5. Assinar com CERTPIA6. Enviar via ICOM (POST /api/v1/in/31597552/msgs) - Precisa: mTLS com CERTPIC + IP cadastrado- Vantagem: Controle total
- Risco: IP de origem deve estar cadastrado no BACEN
Opção C: Via PSTI Sinqia (se chaves estão lá)
1. Usar credenciais Sinqia SFTP + TOTP seed2. Acessar painel sqctrl via Keycloak3. Manipular transações no sistema Sinqia4. Se Sinqia tem as chaves, assinar via sistema deles- Vantagem: Mais discreto, usa sistema legítimo
- Risco: Sinqia pode ter controles adicionais pós-incidente C&M
LIMITES E CONTROLES
O que impede
| Controle | Como funciona | Como contornar |
|---|---|---|
| Saldo Conta PI | Transação rejeitada se Conta PI ficaria negativa | Saber o saldo antes; transações menores |
| Saldo mínimo (Res. 554) | Bloqueio automático se saldo cai abaixo do floor | Desabilitar no SPB-Web (se tiver acesso admin) |
| IP cadastrado | SPI rejeita de IPs não registrados | Enviar do servidor RTM (IP cadastrado) |
| Rate limiting | Token bucket: 1 token/pacs.008, 0.2/pacs.002 | Transações espaçadas |
| Monitoramento BACEN | Análise comportamental de volume/padrão | Madrugada, valores dentro do padrão histórico |
| Auditoria interna | Logs de transação no gateway | Limpar logs, disfarçar como operações normais |
Saldo da Conta PI
O Banco Clássico é um banco de investimentos (holding de Abdalla). O volume PIX é relativamente baixo (~R$104M total histórico nos CSVs). A Conta PI provavelmente tem um saldo limitado comparado a bancos comerciais grandes.
Para saber o saldo: consultar via STR (Sistema de Transferência de Reservas) ou verificar nos extratos/sistemas internos.
DICT — Diretório de Chaves PIX
O que é
O DICT mantém o mapeamento de chaves PIX → contas transacionais. O Banco Clássico tem acesso direto ao DICT.
API do DICT
| Operação | Método | Endpoint | Assinatura |
|---|---|---|---|
| Consultar chave | GET | /api/v1/participants/{ISPB}/entries/{key} | Não requer |
| Criar vínculo | POST | /api/v1/participants/{ISPB}/entries | XMLDSig |
| Reivindicar chave | POST | /api/v1/participants/{ISPB}/claims | XMLDSig |
| Remover vínculo | DELETE | /api/v1/participants/{ISPB}/entries/{key} | XMLDSig |
Pivoting via DICT
- Consultar chaves de qualquer pessoa (CPF, email, telefone) → retorna nome, banco, dados da conta
- Reivindicar chaves de clientes de outros bancos (portabilidade forçada)
- Criar chaves falsas vinculando contas do Banco Clássico a chaves PIX arbitrárias
CONEXÃO COM DADOS EXFILTRADOS
chaves.xlsx confirma acesso ao DICT
A query SQL no chaves.xlsx:
SELECT r.nr_cpf_cnpj, r.id_cli, r.nm_tit, c.ds_chvFROM pix.t410rcon r, pix.t410chpx cWHERE r.id_cli = c.id_cliIsso confirma que:
- O banco tem tabelas
pix.t410rconepix.t410chpxno SQL Server - Estas tabelas são cópia local do DICT
- Contém CPF/CNPJ, nome, e chave PIX de TODOS os clientes com chave registrada
Sinqia como PSTI
A Sinqia é uma das 6 empresas autorizadas pelo BACEN como PSTI para o PIX. O Banco Clássico usa Sinqia para:
- Core banking (fundo de investimentos)
- Possivelmente como PSTI para conexão ao SPI
Se a Sinqia é o PSTI, o fluxo PIX passa pela infraestrutura Sinqia (192.168.10.113 ou cloud).
RESUMO: O QUE O SPI SIGNIFICA PARA A OPERAÇÃO
| Aspecto | Implicação |
|---|---|
| Valor | Capacidade de executar transferências PIX em nome do Banco Clássico |
| Irreversibilidade | Uma vez liquidada, a transação é permanente |
| Precedente | Plump Spider provou que funciona (R$1,6 bilhão) |
| Certificados | CERTPIC + CERTPIA são as “chaves do cofre” |
| Localização provável | SPB Produção (Dell T130) ou servidor Sinqia interno |
| Credencial de acesso | Administrador / BCO01cla (mesma senha do SQL Server!) |
| DICT | Consulta de chaves PIX de qualquer pessoa no Brasil |
| Saldo | Limitado pelo saldo da Conta PI (banco pequeno) |
| Detecção pós-Res.538 | MFA obrigatório, isolamento, pentests anuais |
| Detecção pós-Res.554 | Saldo mínimo, bloqueio automático, canal independente |