# T1505 - Componente de Software de Servidor ## Sub-técnicas - [[t1505-001-sql-stored-procedures|T1505.001 - SQL Stored Procedures]] - [[t1505-002-transport-agent|T1505.002 - Agente de Transporte]] - [[t1505-003-web-shell|T1505.003 - Web Shell]] - [[t1505-004-iis-components|T1505.004 - IIS Components]] - [[t1505-005-terminal-services-dll|T1505.005 - Terminal Services DLL]] - [[t1505-006-vsphere-installation-bundles|T1505.006 - vSphere Installation Bundles]] ## Descrição Adversários abusam de recursos legítimos de extensibilidade de aplicações de servidor para estabelecer persistência de longo prazo em sistemas corporativos. Aplicações de servidor empresariais - como servidores web (IIS, Apache, Nginx), servidores de e-mail (Microsoft Exchange), bancos de dados (MSSQL, MySQL) e plataformas de virtualização (VMware ESXi) - frequentemente expõem interfaces de plugin ou extensão que permitem que desenvolvedores ampliem sua funcionalidade. É exatamente nessa superfície que adversários inserem componentes maliciosos. A técnica é especialmente poderosa porque o componente malicioso é carregado pelo próprio processo legítimo do servidor, herdando seus privilégios, contexto de rede e credenciais de serviço. Isso torna a detecção significativamente mais difícil: o processo pai é confiável, a DLL ou script instalado pode ter assinatura válida ou estar em diretórios de sistema legítimos, e o tráfego de rede passa por portas já permitidas no firewall. A persistência obtida por essa técnica é extremamente resiliente. Como o componente é registrado como parte da aplicação de servidor, ele sobrevive a reinicializações do sistema, atualizações de sistema operacional e até mesmo à reinstalação parcial da aplicação - especialmente quando instalado em diretórios de dados separados dos binários do programa. Grupos como [[g0096-apt41]], [[g0016-apt29]] e [[g0034-sandworm]] utilizam variantes dessa técnica em operações de longa duração contra infraestrutura crítica. **Contexto Brasil/LATAM:** Ataques a servidores web e Exchange no Brasil têm sido vetor frequente de persistência. O setor [[financial]] e [[government]] são alvos preferênciais: servidores IIS e Exchange expostos à internet sem segmentação adequada permitem que atacantes instalem web shells ([[t1505-003-web-shell|T1505.003]]) e módulos Exchange maliciosos. Grupos de ransomware que atuam na região, como afiliados do [[lockbit]], exploram essa técnica após comprometer servidores de e-mail para manter acesso enquanto se movem lateralmente pela rede. ## Attack Flow ```mermaid graph TB A[Acesso Inicial<br/>Exploração de Servidor Exposto] --> B[Execução<br/>Upload/Install de Componente] B --> C[ESTA TÉCNICA<br/>T1505 - Server Software Component<br/>Componente malicioso registrado no servidor] C --> D{Sub-técnica} D --> E[Web Shell<br/>T1505.003] D --> F[IIS Module<br/>T1505.004] D --> G[Exchange Transport Agent<br/>T1505.002] D --> H[SQL Stored Procedure<br/>T1505.001] E --> I[Persistência Permanente<br/>Acesso remoto contínuo] F --> I G --> I H --> I I --> J[Movimentação Lateral<br/>e Exfiltração] ``` ## Como Funciona 1. **Reconhecimento da superfície de extensão:** O adversário identifica qual aplicação de servidor está em execução (IIS, Exchange, MSSQL, ESXi) e quais mecanismos de extensão estão habilitados - módulos nativos IIS, agentes de transporte Exchange, CLR no SQL Server ou VIBs no ESXi. 2. **Desenvolvimento ou adaptação do componente:** O adversário cria ou adapta um payload no formato esperado pela aplicação - uma DLL para IIS/Exchange, um assembly .NET para SQL CLR, um script PHP/ASPX para web shell, ou um pacote VIB para ESXi. 3. **Instalação e registro:** O componente é instalado no diretório correto e registrado via interface administrativa, linha de comando ou diretamente no registro do sistema. A partir desse momento, é carregado automaticamente pelo servidor a cada reinicialização ou requisição. 4. **Acesso persistente:** O componente responde a comandos do atacante via canais legítimos - requisições HTTP, e-mails com cabeçalhos especiais, queries SQL - sem necessidade de conexão reversa separada, tornando o tráfego práticamente indistinguível do tráfego legítimo. **Exemplo - instalação de módulo nativo IIS (detecção forense):** ```cmd rem Verificar módulos IIS instalados - buscar entradas suspeitas %windir%\system32\inetsrv\appcmd.exe list module rem Verificar DLLs carregadas por w3wp.exe Get-Process w3wp | Select-Object -ExpandProperty Modules | Where-Object {$_.FileName -notlike "*System32*"} ``` ## Detecção ```yaml title: Detecção de Componente de Servidor Malicioso - T1505 logsource: category: process_creation product: windows detection: # Instalação de módulo IIS via linha de comando iis_module_install: CommandLine|contains: - 'appcmd install module' - 'gacutil /i' - 'installutil' Image|endswith: - '\appcmd.exe' - '\gacutil.exe' - '\installutil.exe' # Modificação de chave LSA ou IIS fora de jánela de manutenção registry_iis_filter: TargetObject|contains: - 'SYSTEM\CurrentControlSet\Services\W3SVC' - 'SYSTEM\CurrentControlSet\Services\SMTPSVC' condition: iis_module_install or registry_iis_filter falsepositives: - Administradores legítimos instalando módulos durante manutenção planejada - Deploy automatizado de aplicações web via pipeline CI/CD level: high tags: - attack.persistence - attack.t1505 ``` **Fontes de dados prioritárias:** - Logs de aplicação IIS/Exchange/SQL Server - buscar erros de carregamento de módulo e novos módulos - Monitoramento de integridade de arquivos (FIM) nos diretórios de extensão dos servidores - EDR: rastrear DLLs carregadas por `w3wp.exe`, `MSExchangeTransport.exe`, `sqlservr.exe` - Sysmon Event ID 7 (ImageLoaded) para DLLs suspeitas em processos de servidor ## Mitigação | Mitigação | Orientação | |-----------|------------| | [[m1045-code-signing\|M1045 - Code Signing]] | Exigir assinatura de código para todos os módulos e extensões de servidor. No IIS, habilitar válidação de assinatura de módulos nativos. | | [[m1047-audit\|M1047 - Audit]] | Auditar regularmente módulos instalados, agentes de transporte, procedures SQL e VIBs ESXi. Comparar contra baseline aprovada. | | [[m1042-disable-or-remove-feature-or-program\|M1042 - Disable or Remove Feature]] | Desabilitar recursos de extensão não utilizados (ex: CLR no SQL Server se não necessário, módulos IIS desnecessários). | | [[m1026-privileged-account-management\|M1026 - Privileged Account Management]] | Restringir quais contas podem instalar módulos de servidor. Usar contas de serviço com privilégios mínimos. | | [[m1018-user-account-management\|M1018 - User Account Management]] | Separar contas administrativas de servidores das contas de domínio padrão. | | [[m1024-restrict-registry-permissions\|M1024 - Restrict Registry Permissions]] | Restringir permissões nas chaves de registro que controlam carregamento de módulos de servidor. | | [[m1046-boot-integrity\|M1046 - Boot Integrity]] | Para ESXi: habilitar Secure Boot para bloquear VIBs não assinados. | ## Referências *Fonte: [MITRE ATT&CK - T1505](https://attack.mitre.org/techniques/T1505/)*