# 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/)*