# T1059.011 - Lua
## Técnica Pai
Esta é uma sub-técnica de [[t1059-command-scripting-interpreter|T1059 - T1059 - Command and Scripting Interpreter]].
## Descrição
Lua é uma linguagem de script leve, multiplataforma e originalmente projetada para ser embarcada em aplicações maiores - de jogos a roteadores, firewalls e softwares industriais. Adversários exploram essa onipresença para executar código malicioso de formas difíceis de detectar: sejá chamando o interpretador Lua diretamente na linha de comando, executando arquivos `.lua` como scripts autônomos, ou abusando de programas que já carregam um interpretador Lua internamente via a estrutura `lua_State`.
O abuso de Lua é especialmente perigoso em dispositivos de rede e sistemas embarcados. Plataformas como roteadores Cisco IOS XE, câmeras IP e sistemas de automação industrial frequentemente incluem Lua como parte de sua interface de gerenciamento. O implante [[s1188-line-runner]] é um exemplo concreto: ele se instalou como um plugin Lua legítimo no IOS XE, permitindo execução remota persistente sem acionar detecções convencionais baseadas em processos.
Além de scripts diretos, adversários podem substituir ou trocar o interpretador Lua legítimo por uma versão maliciosa - técnica que permite interceptar toda execução Lua no sistema sem alterar os scripts originais. Malwares como [[s0396-evilbunny]], [[s0125-remsec]] e [[s0428-poetrat]] demonstram o uso ofensivo real da linguagem, com funcionalidades que vão desde coleta de informações até comunicação C2 encoberta.
**Contexto Brasil/LATAM:** O Brasil possui um dos maiores parques de dispositivos IoT e equipamentos de rede da América Latina, muitos dos quais utilizam firmware baseado em Lua (roteadores domésticos, CPEs de ISPs, sistemas de automação predial). Operadoras regionais de telecomúnicações e o setor financeiro - que depende de infra de rede distribuída - são alvos relevantes para técnicas de abuso de Lua em dispositivos de borda. A exploração do [[cve-2023-20198|CVE-2023-20198]] em dispositivos Cisco IOS XE, que usou Lua como vetor de persistência, teve repercussão direta em redes brasileiras.
## Attack Flow
```mermaid
graph TB
A[Acesso Inicial] --> B[T1059.011 - Lua]
B --> C[Persistência via Plugin]
B --> D[Coleta de Dados]
D --> E[Exfiltração C2]
```
## Como Funciona
**1. Preparação**
O adversário identifica um alvo que executa Lua nativamente - sejá um dispositivo de rede, um servidor de jogos, ou um sistema embarcado. Ele pode desenvolver um script `.lua` malicioso ou preparar uma versão trojanizada do interpretador.
**2. Execução**
O script é executado via uma das três superfícies de ataque:
- Interpretador standalone: `lua script_malicioso.lua`
- Programa host que carrega Lua internamente (ex: roteador, câmera IP)
- Substituição do interpretador legítimo por versão backdoored
**3. Pós-execução**
O código Lua pode estabelecer persistência (registrando-se como plugin), coletar credenciais e configurações do sistema, ou abrir um canal de comando e controle. Pelo fato de Lua ser considerada parte legítima do sistema, processos filhos e chamadas de rede geradas por ela raramente acionam alertas.
**Exemplo - artefato de detecção em dispositivo de rede:**
```bash
# Processo suspeito em IOS XE - interpretador Lua fora do contexto normal
# Artefato: processo lua5.x iniciado por processo pai incomum
ps aux | grep lua
# Verificar plugins Lua carregados
show platform software yang-management process
```
## Detecção
**Fontes de dados:** Logs de processo (Sysmon Event ID 1), auditoria de sistema de arquivos (Event ID 11), logs de dispositivos de rede (syslog), monitoramento de tráfego de rede.
```yaml
title: Execução Suspeita de Interpretador Lua
id: 7e3a1b2c-4d5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detecta execução do interpretador Lua standalone por processos incomuns
logsource:
category: process_creation
product: windows
detection:
selection:
Image|endswith:
- '\lua.exe'
- '\lua5.1.exe'
- '\lua5.3.exe'
- '\lua5.4.exe'
ParentImage|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
condition: selection
falsepositives:
- Desenvolvimento legítimo com Lua
- Ferramentas de automação que usam Lua (ex: Nmap NSE)
level: medium
tags:
- attack.execution
- attack.t1059.011
```
## Mitigação
| Mitigação | Recomendação Prática |
|-----------|---------------------|
| [[m1033-limit-software-installation\|M1033 - Limit Software Installation]] | Bloqueie a instalação de interpretadores Lua em estações de trabalho e servidores que não necessitam da linguagem. Use allowlists de aplicações (AppLocker, WDAC). |
| [[m1047-audit\|M1047 - Audit]] | Inventarie todos os sistemas que possuem Lua instalado ou embarcado. Dispositivos de rede devem ter seus plugins Lua auditados regularmente. |
| [[m1038-execution-prevention\|M1038 - Execution Prevention]] | Configure políticas de controle de execução para bloquear binários Lua não assinados. Em dispositivos de rede, valide a integridade do firmware contra hashes oficiais do fabricante. |
## Referências
*Fonte: [MITRE ATT&CK - T1059.011](https://attack.mitre.org/techniques/T1059/011)*