Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
wp2shell-Hestia-Scanner — Leitor de segurança WordPress somente leitura para servidores HestiaCP. Detecta indicadores de comprometimento wp2shell (CVE-2026-63030 / CVE-2026-60137) em todos os sites hospedados — relatórios por e-mail por usuário, diff de arquivos principais contra WordPress limpo, análise de PHP/JS/htaccess/imagens e avaliação opcional de IA via Claude API. | Kitploit
Ferramentas/GitHubGitHub/bytespulse-oe/wp2shell-hestia-scanner
Ferramentas DefensivasAnálise EstáticaScanners de VulnerabilidadesAnálise ForenseColeta de InformaçõesSegurança WebAnálise de MalwareDetecção de IntrusãoResposta a Incidentes

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Segurança de IA
GitHubbytespulse-oe/wp2shell-hestia-scanner

wp2shell-Hestia-Scanner

Ver Repositório
236há 2 mesesAinda não revisado

Sobre

Leitor de segurança WordPress somente leitura para servidores HestiaCP. Detecta indicadores de comprometimento wp2shell (CVE-2026-63030 / CVE-2026-60137) em todos os sites hospedados — relatórios por e-mail por usuário, diff de arquivos principais contra WordPress limpo, análise de PHP/JS/htaccess/imagens e avaliação opcional de IA via Claude API.

Compartilhar
<div align="center">

# 🛡️ wp2shell-Hestia-Scanner

<p>
  <a href="#english">🇬🇧 Inglês</a>
  &nbsp;&nbsp;|&nbsp;&nbsp;
  <a href="#greek">🇬🇷 Grego</a>
</p>

![Bash](https://img.shields.io/badge/bash-4.0+-green?logo=gnubash)
![Platform](https://img.shields.io/badge/platform-HestiaCP-blue)
![License](https://img.shields.io/badge/license-GPL--3.0-orange)
![CVE](https://img.shields.io/badge/CVE-2026--63030%20%7C%202026--60137-red)

**Scanner de segurança WordPress somente leitura para servidores HestiaCP.**  
Detecta indicadores de comprometimento do wp2shell em todos os sites hospedados — com relatórios por e-mail por cliente, diff de arquivos do núcleo, detecção de webshells por SHA256, pontuação de risco e avaliação por IA opcional.

> ⚠️ **Versões seguras:** WordPress **6.8.6 / 6.9.5 / 7.0.2** ou mais recente.  
> Estes scripts **nunca modificam nada** — somente leitura em todo o processo.

</div>

---

<a name="english"></a>

# 🇬🇧 Inglês

## O que é o wp2shell?

O wp2shell é uma cadeia de execução remota de código (RCE) pré-autenticação no núcleo do WordPress, divulgada em **17 de julho de 2026**. Uma única requisição HTTP anônima contra uma instalação padrão é suficiente para criar um administrador malicioso e executar código arbitrário no servidor.

A cadeia combina:
- **CVE-2026-60137** — injeção de SQL no parâmetro `author__not_in` do `WP_Query`
- **CVE-2026-63030** — confusão de rota no endpoint `/wp-json/batch/v1` da API REST

Sites comprometidos exibem um administrador malicioso com prefixo de login `wp2_` e e-mail `@wp2shell.invalid`.

Mais informações: <https://wp2shell.com>

---

## Conteúdo do repositório

| Arquivo | Finalidade |
|------|---------|
| `wp2shell-scan.sh` | Scanner rápido de IoC em todo o servidor — saída colorida no terminal, pontuação de risco por site, relatório salvo automaticamente em `/root/` |
| `wp2shell-report-per-user.sh` | Scanner completo — relatórios por e-mail por usuário HestiaCP, diff de arquivos do núcleo, detecção de webshells por SHA256, avaliação por IA, pontuação de risco |
| `known_shells.sha256` | Base de dados de hashes de webshells conhecidos (SHA256) — baixada automaticamente em tempo de execução |

---

## O que o scanner verifica

### Verificações de banco de dados / usuários
| Verificação | Gravidade |
|-------|----------|
| Versão do WordPress vs. versões seguras | HIGH / OK |
| Contas com prefixo `wp2_` ou e-mail `@wp2shell.invalid` | CRITICAL |
| Administradores criados após a divulgação (15/07/2026) | MEDIUM |
| Lacunas na sequência de IDs de usuário (vestígios de administrador malicioso removido) | MEDIUM |
| Linhas órfãs em `wp_usermeta` | MEDIUM |
| Linhas envenenadas em `oembed_cache` / `customize_changeset` | CRITICAL |
| Opções do WP adulteradas (`upload_path`, `auto_prepend_file`, `siteurl`) | CRITICAL / HIGH |

### Integridade dos arquivos do núcleo
| Verificação | Gravidade |
|-------|----------|
| `wp core verify-checksums` vs. wp.org | HIGH |
| Diff `diff -U5` linha por linha contra o núcleo limpo baixado | CRITICAL / HIGH / OK |
| Arquivos extras não presentes no núcleo limpo (conteúdo + metadados exibidos) | CRITICAL / HIGH |

### Análise de arquivos
| Verificação | Gravidade |
|-------|----------|
| PHP em `uploads/` | CRITICAL |
| Extensões PHP extras (`.php7` `.phtml` `.phar` `.php5`) | HIGH |
| **Correspondência SHA256 com a base de dados de webshells conhecidos** (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
| PHP modificado após `SINCE_DATE` **E** com padrões suspeitos — com a linha correspondente exibida inline | CRITICAL / HIGH |
| PHP com padrões suspeitos, mas NÃO modificado recentemente | LOW |
| JS/HTML modificados após `SINCE_DATE` E com padrões de ofuscação | MEDIUM |
| **URLs externas de C2/exfiltração** (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
| Diretivas perigosas no `.htaccess` (`AddType`, `auto_prepend_file`, `RewriteRule` externa) | HIGH |
| `.htaccess` modificado após `SINCE_DATE` | MEDIUM |
| Imagens poliglotas com payload PHP (`<?php` em `.jpg`/`.png`…) | CRITICAL |
| Arquivos de backup/config expostos (`wp-config.php.bak`, `*.sql`…) | MEDIUM |

### Persistência
| Verificação | Gravidade |
|-------|----------|
| Entradas de crontab de usuário com `curl`/`wget`/`php`/`base64` | HIGH |
| Arquivos de cron do sistema que referenciam o caminho do site | MEDIUM |

### Pontuação de risco
Cada site recebe uma **pontuação de risco de 0 a 100** com a decomposição de cada achado que contribuiu:

```
  +------------------------------------------+
  |  RISK SCORE: 96/100  COMPROMISED         |
  +------------------------------------------+
  +40  wp2shell fingerprint account
  +30  PHP file(s) inside uploads/
  +20  Vulnerable WordPress version
  +6   Core checksum failure
```

| Pontuação | Classificação |
|-------|-------|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 | High Risk |
| 81+ | **COMPROMISED** |

---

## Requisitos

- Servidor Linux com **HestiaCP**
- **bash** 4.0+
- **[WP-CLI](https://wp-cli.org/)** instalado globalmente como `wp`
- Acesso `root`
- `sendmail` (para relatórios por e-mail)
- `python3` (para manipulação de JSON da avaliação por IA)
- `curl`, `sha256sum`, `file`, `strings`, `unzip`

### Instalar o WP-CLI (se ausente)
```bash
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp
```

---

## Instalação e execução em uma única linha

### Varredura IoC rápida
```bash
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-scan.sh | sudo bash
```

### Varredura completa com relatórios por e-mail por cliente
```bash
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-report-per-user.sh \
  -o wp2shell-report-per-user.sh && sudo bash wp2shell-report-per-user.sh
```

> **Nota:** O scanner completo faz perguntas interativas na inicialização (avaliação por IA, salvar relatório, limite de data). Baixar primeiro e depois executar garante que os prompts funcionem corretamente.

---

## Uso

### wp2shell-scan.sh — varredura rápida em todo o servidor

```bash
sudo bash wp2shell-scan.sh
```

Encontra todas as instalações do WordPress sob `/home/*/web/*/public_html/`, executa todas as verificações, imprime saída colorida no terminal e salva um relatório completo em `/root/wp2shell-report-YYYYMMDD-HHMMSS.txt`.

Na inicialização, pergunta por um limite de data personalizado opcional (padrão: `2026-07-15`).

### wp2shell-report-per-user.sh — varredura completa com relatórios por e-mail

```bash
sudo bash wp2shell-report-per-user.sh
```

Na inicialização, três perguntas:

```
[AI EVALUATION]   Use AI evaluation for ambiguous files? [y/N]
[SAVE REPORT]     Save a full report file for later review? [y/N]
[DATE THRESHOLD]  Use a different date? Leave blank to keep default [YYYY-MM-DD]:
```

**Comece sempre com `DRY_RUN=1`** (o padrão) — os e-mails são pré-visualizados na tela, nada é enviado. Altere para `DRY_RUN=0` somente depois de confirmar que a saída parece correta.

---

## Configuração

### wp2shell-scan.sh

| Variável | Padrão | Descrição |
|----------|---------|-------------|
| `WEB_ROOT` | `/home` | Raiz web do HestiaCP |
| `SINCE_DATE` | `2026-07-15` | Limite de "modificado recentemente" |
| `WP` | `wp` | Caminho para o WP-CLI |

### wp2shell-report-per-user.sh

| Variável | Padrão | Descrição |
|----------|---------|-------------|
| `DRY_RUN` | `1` | `1` = apenas pré-visualização, `0` = enviar e-mails |
| `SEND_ONLY_IF_ISSUES` | `0` | `1` = pular o e-mail se o site estiver limpo |
| `SINCE_DATE` | `2026-07-15` | Limite de "modificado recentemente" |
| `MAIL_FROM` | `security@<hostname>` | Remetente do envelope |
| `CORE_CACHE` | `/root/wp2shell-cores` | Diretório de cache do núcleo limpo |
| `ANTHROPIC_API_KEY` | *(vazio)* | Chave da API Claude para avaliação por IA |

---

## Avaliação por IA (opcional)

Para diffs ambíguos que apenas os padrões não conseguem classificar, o scanner envia o diff para a **API Claude** (`claude-sonnet-4-6`) e retorna um veredito: `DANGER`, `SUSPICIOUS`, `REVIEW` ou `OK` com uma explicação de uma frase. A IA é usada **apenas** na zona cinzenta — casos claros são classificados instantaneamente, sem nenhuma chamada de API.

Defina sua chave no script ou exporte antes de executar:
```bash
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
```

Chaves de API: <https://console.anthropic.com> — separadas das assinaturas do claude.ai.

### Sem chave de API? Use o analisador no navegador

Cole a saída da sua varredura no artefato **wp2shell Report Analyzer** no Claude.ai — ele realiza a mesma avaliação por IA diretamente no navegador, sem exigir a sua própria chave.

---

## Formato da saída

### Níveis de gravidade

| Rótulo | Cor | Significado |
|-------|-------|---------|
| `[CRITICAL]` | 🔴 Vermelho em negrito | Indicador de comprometimento ativo — aja imediatamente |
| `[HIGH]` | 🔴 Vermelho | Indicador forte — revise com urgência |
| `[MEDIUM]` | 🟡 Amarelo | Suspeito — investigue |
| `[LOW]` | 🔵 Azul | Prioridade baixa — provavelmente falso positivo |
| `[INFO]` | ⚫ Cinza | Informativo |
| `[OK]` | 🟢 Verde | Limpo / esperado |

### Exemplo de diff do núcleo

```
┌─ MODIFIED: wp-includes/load.php
│  [CRITICAL] Assessment (patterns): executable/obfuscated pattern in added lines
│             +20  Core file modified with dangerous pattern
│
│  ORIGINAL: /root/wp2shell-cores/7.0.2-el/wp-includes/load.php
│  SITE:     /home/user/web/example.gr/public_html/wp-includes/load.php
│  @@ -212,5 +212,6 @@
│  -      $loaded = true;
│  +      $loaded = true;
│  +      eval(base64_decode('aGVsbG8='));
└──────────────────────────────────────
```

---

## Notas

- O scanner **nunca modifica** nada. Seguro para executar em servidores de produção em atividade.
- Atualizar o WordPress para uma versão corrigida fecha a vulnerabilidade, mas **não limpa** um site já comprometido. Se indicadores forem encontrados, restaure a partir de um backup limpo.
- O diretório `CORE_CACHE` (`/root/wp2shell-cores/`) é reutilizado entre varreduras. Exclua-o para forçar um novo download.
- A base de dados de hashes `known_shells.sha256` é atualizada automaticamente uma vez por dia.

---

## Licença

GPL-3.0 — veja [LICENSE](https://github.com/bytespulse-oe/wp2shell-hestia-scanner/blob/main/LICENSE)

---

## Créditos

Desenvolvido por **[BytesPulse](https://bytespulse.gr)** em resposta à divulgação do wp2shell (julho de 2026).  
Informações sobre CVE: <https://wp2shell.com>

---
---

<a name="greek"></a>

# 🇬🇷 Grego

## O que é o wp2shell?

O wp2shell é uma cadeia de execução remota de código (RCE) pré-autenticação no núcleo do WordPress, divulgada em **17 de julho de 2026**. Uma única requisição HTTP anônima contra uma instalação padrão é suficiente para criar um administrador e executar código arbitrário no servidor.

A cadeia combina:
- **CVE-2026-60137** — injeção de SQL no parâmetro `author__not_in` do `WP_Query`
- **CVE-2026-63030** — confusão de rota no endpoint `/wp-json/batch/v1` da API REST

Sites comprometidos exibem uma conta de administrador com prefixo `wp2_` e e-mail `@wp2shell.invalid`.

Mais informações: <https://wp2shell.com>

---

## Conteúdo do repositório

| Arquivo | Finalidade |
|--------|--------|
| `wp2shell-scan.sh` | Scanner rápido de IoC — saída colorida no terminal, pontuação de risco por site, relatório salvo automaticamente em `/root/` |
| `wp2shell-report-per-user.sh` | Scanner completo — relatórios por e-mail por usuário HestiaCP, diff do núcleo, detecção de webshells por SHA256, avaliação por IA, pontuação de risco |
| `known_shells.sha256` | Base de dados de hashes SHA256 de webshells conhecidos — baixada automaticamente durante a execução |

---

## O que ele verifica

### Banco de dados / Usuários
| Verificação | Gravidade |
|---------|-----------|
| Versão do WordPress vs. versões seguras | HIGH / OK |
| Contas com prefixo `wp2_` ou e-mail `@wp2shell.invalid` | CRITICAL |
| Administradores criados após a divulgação (15/07/2026) | MEDIUM |
| Lacunas na sequência de IDs de usuário (vestígios de administrador malicioso excluído) | MEDIUM |
| Linhas órfãs em `wp_usermeta` | MEDIUM |
| Linhas envenenadas em `oembed_cache` / `customize_changeset` | CRITICAL |
| Opções do WP adulteradas (`upload_path`, `auto_prepend_file`, `siteurl`) | CRITICAL / HIGH |

### Integridade dos arquivos do núcleo
| Verificação | Gravidade |
|---------|-----------|
| `wp core verify-checksums` vs. wp.org | HIGH |
| Diff `diff -U5` linha por linha contra o núcleo limpo | CRITICAL / HIGH / OK |
| Arquivos extras que não existem no núcleo limpo | CRITICAL / HIGH |

### Análise de arquivos
| Verificação | Gravidade |
|---------|-----------|
| Arquivos PHP em `uploads/` | CRITICAL |
| Extensões PHP extras (`.php7` `.phtml` `.phar` `.php5`) | HIGH |
| **Correspondência SHA256 com webshells conhecidos** (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
| PHP modificado após `SINCE_DATE` **E** contendo padrão suspeito — com a linha exata | CRITICAL / HIGH |
| PHP com padrões suspeitos que NÃO foi modificado recentemente | LOW |
| JS/HTML modificados após `SINCE_DATE` com padrões de ofuscação | MEDIUM |
| **URLs externas de C2/exfiltração de dados** (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
| Diretivas perigosas no `.htaccess` | HIGH |
| `.htaccess` modificado após `SINCE_DATE` | MEDIUM |
| Imagens poliglotas com payload PHP | CRITICAL |
| Arquivos de backup/config expostos | MEDIUM |

### Persistência
| Verificação | Gravidade |
|---------|-----------|
| Crontab de usuário com `curl`/`wget`/`php`/`base64` | HIGH |
| Arquivos de cron do sistema que referenciam o caminho do site | MEDIUM |

### Pontuação de risco
Cada site recebe uma **pontuação de 0 a 100** com a decomposição de cada achado:

```
  +------------------------------------------+
  |  RISK SCORE: 96/100  COMPROMISED         |
  +------------------------------------------+
  +40  wp2shell fingerprint account
  +30  PHP file(s) inside uploads/
  +20  Vulnerable WordPress version
  +6   Core checksum failure
```

| Pontuação | Classificação |
|-----------|-----------|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 | High Risk |
| 81+ | **COMPROMISED** |

---

## Requisitos

- Servidor Linux com **HestiaCP**
- **bash** 4.0+
- **[WP-CLI](https://wp-cli.org/)** instalado como `wp`
- Acesso `root`
- `sendmail` (para envio de e-mails)
- `python3` (para avaliação por IA)
- `curl`, `sha256sum`, `file`, `strings`, `unzip`

### Instalação do WP-CLI (se ausente)
```bash
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar && sudo mv wp-cli.phar /usr/local/bin/wp
```

---

## Instalação com um único comando

### Scanner IoC rápido
```bash
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-scan.sh | sudo bash
```

### Scanner completo com relatórios por e-mail
```bash
curl -fsSL https://raw.githubusercontent.com/BytesPulse-OE/wp2shell-Hestia-Scanner/main/wp2shell-report-per-user.sh \
  -o wp2shell-report-per-user.sh && sudo bash wp2shell-report-per-user.sh
```

---

## Uso

### wp2shell-scan.sh

```bash
sudo bash wp2shell-scan.sh
```

Encontra automaticamente todas as instalações do WordPress sob `/home/*/web/*/public_html/`, executa todas as verificações, imprime saída colorida no terminal e salva um relatório completo em `/root/`.

### wp2shell-report-per-user.sh

```bash
sudo bash wp2shell-report-per-user.sh
```

Na inicialização, faz três perguntas:

```
[AI EVALUATION]   Use AI evaluation for ambiguous files? [y/N]
[SAVE REPORT]     Save a full report file for later review? [y/N]
[DATE THRESHOLD]  Use a different date? Leave blank to keep default [YYYY-MM-DD]:
```

**Comece sempre com `DRY_RUN=1`** (o padrão) — os e-mails aparecem na tela, não são enviados. Altere para `DRY_RUN=0` somente depois de confirmar que a saída está correta.

---

## Configuração

### wp2shell-scan.sh

| Variável | Padrão | Descrição |
|-----------|---------|-----------|
| `WEB_ROOT` | `/home` | Diretório raiz do HestiaCP |
| `SINCE_DATE` | `2026-07-15` | Limite de "modificado recentemente" |
| `WP` | `wp` | Caminho do WP-CLI |

### wp2shell-report-per-user.sh

| Variável | Padrão | Descrição |
|-----------|---------|-----------|
| `DRY_RUN` | `1` | `1` = apenas pré-visualização, `0` = envio de e-mails |
| `SEND_ONLY_IF_ISSUES` | `0` | `1` = e-mail somente se algo for encontrado |
| `SINCE_DATE` | `2026-07-15` | Limite de "modificado recentemente" |
| `MAIL_FROM` | `security@<hostname>` | E-mail do remetente |
| `CORE_CACHE` | `/root/wp2shell-cores` | Cache de núcleos limpos |
| `ANTHROPIC_API_KEY` | *(vazio)* | Chave da API Claude para avaliação por IA |

---

## Avaliação por IA (opcional)

Para diffs ambíguos que os padrões não conseguem classificar, o scanner envia o diff para a **API Claude** (`claude-sonnet-4-6`) e retorna um veredito: `DANGER`, `SUSPICIOUS`, `REVIEW` ou `OK` com uma explicação de uma frase. A IA é usada **apenas** na zona cinzenta.

```bash
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
```

Chaves de API: <https://console.anthropic.com> — separadas da assinatura do claude.ai.

### Sem chave de API? Use o analisador no navegador

Cole a saída da varredura no artefato **wp2shell Report Analyzer** no Claude.ai — ele executa a mesma avaliação por IA diretamente no navegador.

---

## Notas

- O scanner **não modifica nada**. Execução segura em servidores de produção em atividade.
- Atualizar o WordPress para a versão corrigida fecha a vulnerabilidade, mas **não limpa** um site já comprometido. Se forem encontrados indicadores, restaure a partir de um backup limpo.
- O diretório `CORE_CACHE` (`/root/wp2shell-cores/`) é reutilizado entre varreduras. Exclua-o para forçar um novo download.
- A base de dados `known_shells.sha256` é atualizada automaticamente uma vez a cada 24 horas.

---

## Licença

GPL-3.0 — veja [LICENSE](https://github.com/bytespulse-oe/wp2shell-hestia-scanner/blob/main/LICENSE)

---

## Créditos

Desenvolvido por **[BytesPulse](https://bytespulse.gr)** em resposta à divulgação do wp2shell (julho de 2026).  
Informações sobre CVE: <https://wp2shell.com>
Baixar ferramenta