# T1505.003 - Server Software Component: Web Shell
> [!danger] Persistência via Web Shell
> Adversarios implantam scripts maliciosos (web shells) em servidores web comprometidos para manter acesso remoto persistente, executar comandos e exfiltrar dados através de requisicoes HTTP aparentemente legitimas.
## Visão Geral
Um **web shell** e um script malicioso implantado em um servidor web que permite ao atacante executar comandos remotamente através de uma interface HTTP. Essas ferramentas sao extremamente populares entre grupos APT e cibercriminosos por oferecerem persistência discreta, controle interativo e a capacidade de se camuflar no trafego web legitimo. Os web shells podem ser escritos em diversas linguagens como PHP, ASP, ASPX, JSP ou Python, e frequentemente sao implantados após a exploração de vulnerabilidades em aplicações web ou servidores expostos.
A técnica [[t1505-003-web-shell|T1505.003]] e uma das sub-técnicas mais utilizadas do framework [[mitre-attack|MITRE ATT&CK]], sendo observada em campanhas de grupos como [[g0007-apt28|APT28]], [[g0016-apt29|APT29]], [[g0125-silk-typhoon|HAFNIUM]] e [[g0096-apt41|APT41]]. O caso mais emblematico recente foi a exploração em massa das vulnerabilidades ProxyLogon ([[cve-2021-26855|CVE-2021-26855]]) em servidores Microsoft Exchange pelo grupo [[g0125-silk-typhoon|HAFNIUM]], que resultou na implantação de web shells China Chopper e similares em milhares de servidores globalmente.
Web shells representam um desafio significativo para equipes de defesa porque operam sobre protocolos legitimamente permitidos (HTTP/HTTPS), dificultando a detecção por ferramentas tradicionais de monitoramento de rede. Alem disso, muitos web shells sao ofuscados ou possuem tamanho mínimo (algumas dezenas de bytes), tornando a detecção por análise estática igualmente complexa.
No contexto da América Latina, web shells sao frequentemente encontrados em portais governamentais, sistemas educacionais e servidores de e-commerce que executam versoes desatualizadas de CMS como WordPress, Joomla ou aplicações customizadas em PHP. A falta de politicas robustas de patch management e monitoramento de integridade de arquivos nessa regiao amplifica o risco.
## Attack Flow
```mermaid
graph TB
A["🔍 Reconnaissance<br/>Identificação de servidores web expostos"]
B["🎯 Initial Access<br/>Exploração de vuln web ou upload malicioso"]
C["💥 Execution<br/>Upload e ativacao do web shell"]
D["🔴 Persistence<br/>Web shell ativo no webroot"]
E["🔓 Privilege Escalation<br/>Escalonamento via comandos do shell"]
F["📤 Exfiltration<br/>Exfiltração de dados via HTTP"]
A --> B --> C --> D --> E --> F
classDef attack fill:#e74c3c,stroke:#c0392b,color:#ecf0f1
classDef neutral fill:#3498db,stroke:#2980b9,color:#ecf0f1
classDef current fill:#e74c3c,stroke:#c0392b,color:#ecf0f1,stroke-width:3px
class A,B neutral
class C neutral
class D current
class E,F neutral
```
**Legenda:** [[t1190-exploit-public-facing-application|T1190]] (Initial Access) - [[t1059-command-and-scripting-interpreter|T1059]] (Execution) - **T1505.003 (Persistence)** - [[t1068-exploitation-for-privilege-escalation|T1068]] (Priv Esc) - [[t1041-exfiltration-over-c2-channel|T1041]] (Exfiltration)
## Como Funciona
### Implantação
O atacante explora uma vulnerabilidade em uma aplicação web (SQL injection, upload irrestrito, RCE) ou utiliza credenciais comprometidas para depositar o web shell no diretorio web acessivel (webroot). Exemplos comuns de localização:
- **IIS (Windows):** `C:\inetpub\wwwroot\`, `C:\Program Files\Microsoft\Exchange Server\`
- **Apache/Nginx (Linux):** `/var/www/html/`, `/usr/share/nginx/html/`
- **Tomcat (Java):** `/opt/tomcat/webapps/`
### Tipos comuns
| Web Shell | Linguagem | Tamanho | Grupos que utilizam |
|-----------|-----------|---------|---------------------|
| China Chopper | ASPX/PHP | ~73 bytes | HAFNIUM, APT41 |
| WSO | PHP | ~100 KB | Diversos |
| b374k | PHP | ~30 KB | Cibercriminosos |
| ASPXSpy | ASPX | ~50 KB | OilRig, APT34 |
| Godzilla | Java/PHP/ASPX | Variavel | APT41 |
## Detecção
| Fonte de dados | Método | Eficacia |
|----------------|--------|----------|
| [[ds0022-file\|File Monitoring]] | Monitorar criação de arquivos em webroot (.php, .aspx, .jsp, .war) | Alta |
| [[ds0029-network-traffic\|Network Traffic]] | Detectar requisicoes HTTP POST anomalas para arquivos não padrao | Media |
| [[ds0009-process\|Process Creation]] | Processos filhos de w3wp.exe, httpd, nginx executando cmd/powershell | Alta |
| Log de acesso HTTP | Requisicoes a URLs incomuns com parametros de comando | Media |
| Integridade de arquivos (FIM) | Hashes de arquivos em webroot vs baseline conhecido | Alta |
### Regra Sigma
```yaml
title: Web Shell Detection - Suspicious Process Spawned by Web Server
id: runk-t1505003-webshell
status: experimental
description: Detecta processos suspeitos iniciados por servidores web indicando possível web shell
references:
- https://attack.mitre.org/techniques/T1505/003/
logsource:
category: process_creation
product: windows
detection:
selection_parent:
ParentImage|endswith:
- '\w3wp.exe'
- '\httpd.exe'
- '\nginx.exe'
- '\php-cgi.exe'
- '\tomcat.exe'
selection_child:
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\pwsh.exe'
- '\whoami.exe'
- '\net.exe'
- '\net1.exe'
- '\systeminfo.exe'
- '\ipconfig.exe'
condition: selection_parent and selection_child
falsepositives:
- Scripts de administracao legitimos executados via web
- Aplicacoes web que invocam utilitarios do sistema
level: high
tags:
- attack.persistence
- attack.t1505.003
```
## Mitigação
- **Patch management rigoroso** - atualizar servidores web, CMS e frameworks regularmente, priorizando CVEs com exploit público
- **File Integrity Monitoring (FIM)** - implementar monitoramento de integridade em todos os diretorios webroot usando ferramentas como OSSEC, Tripwire ou Wazuh
- **Restricao de upload** - válidar extensoes e conteudo de arquivos no servidor, bloquear upload de scripts executaveis
- **Principio do menor privilegio** - executar servicos web com contas restritas, sem acesso de escrita ao webroot
- **WAF (Web Application Firewall)** - implantar regras para detectar e bloquear payloads de web shell conhecidos
- **Segmentacao de rede** - isolar servidores web de segmentos internos criticos
- **Desabilitar funções perigosas** - em PHP, desabilitar funções de execução de sistema via `php.ini` (`disable_functions`)
Mitigacoes MITRE relacionadas: [[m1042-disable-or-remove-feature-or-program\|M1042]] - [[m1018-user-account-management\|M1018]]
## Relevância LATAM/Brasil
> [!latam] Contexto Regional
> Web shells sao uma das técnicas de persistência mais frequentes em incidentes no Brasil e América Latina, especialmente em servidores governamentais e educacionais.
O cenário latino-americano apresenta fatores que amplificam o risco de web shells:
- **Infraestrutura desatualizada** - muitos portais governamentais (.gov.br) e universidades (.edu.br) executam versoes antigas de WordPress, Joomla, e aplicações PHP customizadas sem atualização regular
- **Baixa adocao de FIM** - File Integrity Monitoring e raro em organizacoes de medio porte na regiao
- **Servidores Exchange expostos** - a campanha ProxyLogon de 2021 afetou centenas de servidores Exchange no Brasil, muitos dos quais permaneceram vulneraveis por semanas
- **Defacement como porta de entrada** - grupos hacktivistas frequentemente utilizam web shells inicialmente para defacement, mas o acesso pode ser revendido ou reutilizado para campanhas de espionagem
- **CMS compartilhados** - ambientes de hospedagem compartilhada amplamente utilizados no Brasil facilitam movimentação lateral via web shell
O [[cert-br|CERT.br]] reporta consistentemente web shells entre os artefatos mais comuns em incidentes de comprometimento de servidores web no Brasil.
## Referências
- [MITRE ATT&CK - T1505.003](https://attack.mitre.org/techniques/T1505/003/)
- [CISA - Web Shells Threat Analysis](https://www.cisa.gov/news-events/analysis-reports)
- [Microsoft - Web Shell Attacks Continue to Rise](https://www.microsoft.com/en-us/security/blog/)
- [NSA/CISA - Detect and Prevent Web Shell Malware](https://media.defense.gov/2020/Jun/09/2002313081/-1/-1/0/CSI-DETECT-AND-PREVENT-WEB-SHELL-MALWARE-20200422.PDF)