Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
wp2shell-Hestia-Scanner — Scanner di sicurezza WordPress read-only per server HestiaCP. Rileva gli indicatori di compromissione wp2shell (CVE-2026-63030 / CVE-2026-60137) su tutti i siti ospitati — report via email per utente, diff dei file principali rispetto a un WordPress pulito, analisi di PHP/JS/htaccess/immagini e valutazione AI opzionale tramite Claude API. | Kitploit
Strumenti/GitHubGitHub/bytespulse-oe/wp2shell-hestia-scanner
Strumenti DifensiviAnalisi StaticaScanner di VulnerabilitàInformatica ForenseRaccolta InformazioniSicurezza WebAnalisi MalwareRilevamento IntrusioniRisposta agli Incidenti

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Sicurezza dell'IA
GitHubbytespulse-oe/wp2shell-hestia-scanner

wp2shell-Hestia-Scanner

Vedi Repository
2362 mesi faNon ancora revisionato

Informazioni

Scanner di sicurezza WordPress read-only per server HestiaCP. Rileva gli indicatori di compromissione wp2shell (CVE-2026-63030 / CVE-2026-60137) su tutti i siti ospitati — report via email per utente, diff dei file principali rispetto a un WordPress pulito, analisi di PHP/JS/htaccess/immagini e valutazione AI opzionale tramite Claude API.

Condividi
<div align="center">

# 🛡️ wp2shell-Hestia-Scanner

<p>
  <a href="#english">🇬🇧 English</a>
  &nbsp;&nbsp;|&nbsp;&nbsp;
  <a href="#greek">🇬🇷 Ελληνικά</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 di sicurezza WordPress in sola lettura per server HestiaCP.**  
Rileva gli indicatori di compromissione wp2shell su tutti i siti ospitati — con report email per cliente, diff dei file del core, rilevamento webshell SHA256, punteggio di rischio e valutazione AI opzionale.

> ⚠️ **Versioni sicure:** WordPress **6.8.6 / 6.9.5 / 7.0.2** o successive.  
> Questi script **non modificano mai nulla** — sola lettura in ogni momento.

</div>

---

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

# 🇬🇧 English

## Cos'è wp2shell?

wp2shell è una catena di esecuzione remota di codice (RCE) pre-autenticazione nel core di WordPress, divulgata il **17 luglio 2026**. Una singola richiesta HTTP anonima verso un'installazione predefinita è sufficiente per creare un amministratore rogue ed eseguire codice arbitrario sul server.

La catena combina:
- **CVE-2026-60137** — SQL injection nel parametro `author__not_in` di `WP_Query`
- **CVE-2026-63030** — Route confusion nell'endpoint `/wp-json/batch/v1` dell'API REST

I siti compromessi mostrano un admin rogue con prefisso di login `wp2_` ed email `@wp2shell.invalid`.

Maggiori informazioni: <https://wp2shell.com>

---

## Contenuto del repository

| File | Scopo |
|------|---------|
| `wp2shell-scan.sh` | Scanner IoC rapido a livello di server — output a terminale colorato, punteggio di rischio per sito, report salvato automaticamente in `/root/` |
| `wp2shell-report-per-user.sh` | Scanner completo — report email per utente HestiaCP, diff dei file del core, rilevamento webshell SHA256, valutazione AI, punteggio di rischio |
| `known_shells.sha256` | Database di hash di webshell note (SHA256) — scaricato automaticamente a runtime |

---

## Cosa controlla lo scanner

### Controlli su database / utenti
| Controllo | Gravità |
|-------|----------|
| Versione di WordPress rispetto alle versioni sicure | HIGH / OK |
| Account con prefisso `wp2_` o email `@wp2shell.invalid` | CRITICAL |
| Amministratori creati dopo la divulgazione (15/07/2026) | MEDIUM |
| Lacune nella sequenza degli user-ID (tracce di admin rogue eliminati) | MEDIUM |
| Righe orfane in `wp_usermeta` | MEDIUM |
| Righe avvelenate in `oembed_cache` / `customize_changeset` | CRITICAL |
| Opzioni WordPress manomesse (`upload_path`, `auto_prepend_file`, `siteurl`) | CRITICAL / HIGH |

### Integrità dei file del core
| Controllo | Gravità |
|-------|----------|
| `wp core verify-checksums` rispetto a wp.org | HIGH |
| `diff -U5` riga per riga rispetto al core pulito scaricato | CRITICAL / HIGH / OK |
| File extra non presenti nel core pulito (contenuto e metadati mostrati) | CRITICAL / HIGH |

### Analisi dei file
| Controllo | Gravità |
|-------|----------|
| PHP in `uploads/` | CRITICAL |
| Estensioni PHP aggiuntive (`.php7` `.phtml` `.phar` `.php5`) | HIGH |
| **Corrispondenza SHA256 con il database di webshell note** (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
| PHP modificato dopo `SINCE_DATE` **E** corrispondente a pattern sospetti — con la riga corrispondente mostrata inline | CRITICAL / HIGH |
| PHP con pattern sospetti ma NON modificato di recente | LOW |
| JS/HTML modificati dopo `SINCE_DATE` e corrispondenti a pattern di offuscamento | MEDIUM |
| **URL C2/esfiltrazione esterni** (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
| Direttive pericolose in `.htaccess` (`AddType`, `auto_prepend_file`, `RewriteRule` esterna) | HIGH |
| `.htaccess` modificato dopo `SINCE_DATE` | MEDIUM |
| Immagini poliglotte con payload PHP (`<?php` in `.jpg`/`.png`…) | CRITICAL |
| File di backup/configurazione esposti (`wp-config.php.bak`, `*.sql`…) | MEDIUM |

### Persistenza
| Controllo | Gravità |
|-------|----------|
| Voci crontab utente con `curl`/`wget`/`php`/`base64` | HIGH |
| File cron di sistema che fanno riferimento al percorso del sito | MEDIUM |

### Punteggio di rischio
Ogni sito riceve un **punteggio di rischio da 0–100** con il dettaglio di ogni risultato che contribuisce al punteggio:

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

| Punteggio | Etichetta |
|-------|-------|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 | High Risk |
| 81+ | **COMPROMISED** |

---

## Requisiti

- Server Linux con **HestiaCP**
- **bash** 4.0+
- **[WP-CLI](https://wp-cli.org/)** installato globalmente come `wp`
- Accesso `root`
- `sendmail` (per i report email)
- `python3` (per la gestione JSON della valutazione AI)
- `curl`, `sha256sum`, `file`, `strings`, `unzip`

### Installare WP-CLI (se mancante)
```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
```

---

## Installazione ed esecuzione in un'unica riga

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

### Scansione completa con report email per 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:** lo scanner completo pone domande interattive all'avvio (valutazione AI, salvataggio report, soglia data). Scaricare prima il file e poi eseguirlo garantisce che le domande funzionino correttamente.

---

## Utilizzo

### wp2shell-scan.sh — scansione rapida a livello di server

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

Trova tutte le installazioni WordPress in `/home/*/web/*/public_html/`, esegue tutti i controlli, stampa un output colorato sul terminale e salva un report completo in `/root/wp2shell-report-YYYYMMDD-HHMMSS.txt`.

All'avvio chiede una soglia data personalizzata opzionale (predefinita: `2026-07-15`).

### wp2shell-report-per-user.sh — scansione completa con report email

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

All'avvio, tre domande:

```
[AI EVALUATION]   Usare la valutazione AI per i file ambigui? [y/N]
[SAVE REPORT]     Salvare un report completo per una revisione successiva? [y/N]
[DATE THRESHOLD]  Usare una data diversa? Lasciare vuoto per mantenere il default [YYYY-MM-DD]:
```

**Iniziare sempre con `DRY_RUN=1`** (il default) — le email vengono visualizzate in anteprima sullo schermo, non viene inviato nulla. Passare a `DRY_RUN=0` solo dopo aver confermato che l'output sia corretto.

---

## Configurazione

### wp2shell-scan.sh

| Variabile | Default | Descrizione |
|----------|---------|-------------|
| `WEB_ROOT` | `/home` | Web root di HestiaCP |
| `SINCE_DATE` | `2026-07-15` | Soglia "modificato di recente" |
| `WP` | `wp` | Percorso di WP-CLI |

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

| Variabile | Default | Descrizione |
|----------|---------|-------------|
| `DRY_RUN` | `1` | `1` = solo anteprima, `0` = invia email |
| `SEND_ONLY_IF_ISSUES` | `0` | `1` = salta l'email se il sito è pulito |
| `SINCE_DATE` | `2026-07-15` | Soglia "modificato di recente" |
| `MAIL_FROM` | `security@<hostname>` | Mittente della busta (envelope sender) |
| `CORE_CACHE` | `/root/wp2shell-cores` | Directory cache dei core puliti |
| `ANTHROPIC_API_KEY` | *(vuoto)* | Chiave API Claude per la valutazione AI |

---

## Valutazione AI (opzionale)

Per i diff ambigui che i pattern da soli non riescono a classificare, lo scanner invia il diff alla **Claude API** (`claude-sonnet-4-6`) e restituisce un verdetto: `DANGER`, `SUSPICIOUS`, `REVIEW` o `OK` con una spiegazione di una frase. L'AI viene utilizzata **solo** nella zona grigia — i casi chiari vengono classificati istantaneamente senza alcuna chiamata API.

Impostare la propria chiave nello script oppure esportarla prima di eseguire:
```bash
export ANTHROPIC_API_KEY='sk-ant-api03-...'
sudo -E bash wp2shell-report-per-user.sh
```

Chiavi API: <https://console.anthropic.com> — separate dagli abbonamenti di claude.ai.

### Nessuna chiave API? Usare l'analizzatore nel browser

Incollare l'output della scansione nell'artifact **wp2shell Report Analyzer** su Claude.ai — esegue la stessa valutazione AI direttamente nel browser senza richiedere una chiave personale.

---

## Formato dell'output

### Livelli di gravità

| Etichetta | Colore | Significato |
|-------|-------|---------|
| `[CRITICAL]` | 🔴 Rosso in grassetto | Indicatore di compromissione attiva — agire immediatamente |
| `[HIGH]` | 🔴 Rosso | Indicatore forte — verificare con urgenza |
| `[MEDIUM]` | 🟡 Giallo | Sospetto — approfondire |
| `[LOW]` | 🔵 Blu | Priorità bassa — probabile falso positivo |
| `[INFO]` | ⚫ Grigio | Informativo |
| `[OK]` | 🟢 Verde | Pulito / previsto |

### Esempio di diff del core

```
┌─ 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='));
└──────────────────────────────────────
```

---

## Note

- Lo scanner **non modifica mai** nulla. Sicuro da eseguire su server di produzione live.
- L'aggiornamento di WordPress a una versione patchata chiude la vulnerabilità ma **non pulisce** un sito già compromesso. Se vengono trovati indicatori, ripristinare da un backup pulito.
- La directory `CORE_CACHE` (`/root/wp2shell-cores/`) viene riutilizzata tra le scansioni. Eliminarla per forzare un nuovo download.
- Il database di hash `known_shells.sha256` viene aggiornato automaticamente una volta al giorno.

---

## Licenza

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

---

## Crediti

Sviluppato da **[BytesPulse](https://bytespulse.gr)** in risposta alla divulgazione di wp2shell (luglio 2026).  
Informazioni CVE: <https://wp2shell.com>

---
---

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

# 🇬🇷 Ελληνικά

## Cos'è wp2shell?

wp2shell è una catena di esecuzione remota di codice (RCE) pre-autenticazione nel core di WordPress, divulgata il **17 luglio 2026**. Una singola richiesta HTTP anonima verso un'installazione predefinita è sufficiente per creare un amministratore ed eseguire codice arbitrario sul server.

La catena combina:
- **CVE-2026-60137** — SQL injection nel parametro `author__not_in` di `WP_Query`
- **CVE-2026-63030** — Route confusion nell'API REST `/wp-json/batch/v1`

I siti compromessi mostrano un account amministratore con prefisso `wp2_` ed email `@wp2shell.invalid`.

Maggiori informazioni: <https://wp2shell.com>

---

## Contenuti

| File | Scopo |
|--------|--------|
| `wp2shell-scan.sh` | Scanner IoC rapido — output colorato nel terminale, punteggio di rischio per sito, salvataggio automatico del report in `/root/` |
| `wp2shell-report-per-user.sh` | Scanner completo — report email per utente HestiaCP, diff del core, rilevamento webshell SHA256, valutazione AI, punteggio di rischio |
| `known_shells.sha256` | Database SHA256 di webshell note — scaricato automaticamente durante l'esecuzione |

---

## Cosa controlla

### Controlli su database / utenti
| Controllo | Gravità |
|---------|-----------|
| Versione di WordPress rispetto alle versioni sicure | HIGH / OK |
| Account con prefisso `wp2_` o email `@wp2shell.invalid` | CRITICAL |
| Amministratori creati dopo la divulgazione (15/07/2026) | MEDIUM |
| Lacune nella sequenza user-ID (tracce di rogue admin eliminato) | MEDIUM |
| Righe orfane in `wp_usermeta` | MEDIUM |
| Righe avvelenate in `oembed_cache` / `customize_changeset` | CRITICAL |
| Opzioni WP manomesse (`upload_path`, `auto_prepend_file`, `siteurl`) | CRITICAL / HIGH |

### Integrità dei file del core
| Controllo | Gravità |
|---------|-----------|
| `wp core verify-checksums` rispetto a wp.org | HIGH |
| `diff -U5` riga per riga rispetto al core pulito | CRITICAL / HIGH / OK |
| File extra non presenti nel core pulito | CRITICAL / HIGH |

### Analisi dei file
| Controllo | Gravità |
|---------|-----------|
| File PHP in `uploads/` | CRITICAL |
| Estensioni PHP aggiuntive (`.php7` `.phtml` `.phar` `.php5`) | HIGH |
| **Corrispondenza SHA256 con webshell note** (WSO, FilesMan, b374k, p0wny…) | CRITICAL |
| PHP modificato dopo `SINCE_DATE` **E** con pattern sospetti — con la riga esatta mostrata | CRITICAL / HIGH |
| PHP con pattern sospetti ma NON modificato di recente | LOW |
| JS/HTML modificati dopo `SINCE_DATE` con pattern di offuscamento | MEDIUM |
| **URL C2/esfiltrazione esterni** (pastebin, ngrok, Discord webhooks, bit.ly…) | CRITICAL |
| Direttive pericolose in `.htaccess` | HIGH |
| `.htaccess` modificato dopo `SINCE_DATE` | MEDIUM |
| Immagini poliglotte con payload PHP | CRITICAL |
| File di backup/configurazione esposti | MEDIUM |

### Persistenza
| Controllo | Gravità |
|---------|-----------|
| Crontab utente con `curl`/`wget`/`php`/`base64` | HIGH |
| File cron di sistema che fanno riferimento al path del sito | MEDIUM |

### Punteggio di rischio
Ogni sito riceve un **punteggio da 0–100** con il dettaglio di ogni risultato:

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

| Punteggio | Categoria |
|-----------|-----------|
| 0–20 | Probably Clean |
| 21–40 | Low Risk |
| 41–60 | Medium Risk |
| 61–80 | High Risk |
| 81+ | **COMPROMISED** |

---

## Requisiti

- Server Linux con **HestiaCP**
- **bash** 4.0+
- **[WP-CLI](https://wp-cli.org/)** installato come `wp`
- Accesso `root`
- `sendmail` (per l'invio di email)
- `python3` (per la valutazione AI)
- `curl`, `sha256sum`, `file`, `strings`, `unzip`

### Installazione di WP-CLI (se mancante)
```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
```

---

## Installazione con una sola riga

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

### Scanner completo con report email
```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
```

---

## Utilizzo

### wp2shell-scan.sh

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

Trova automaticamente tutte le installazioni WordPress in `/home/*/web/*/public_html/`, esegue tutti i controlli, stampa un output colorato nel terminale e salva un report completo in `/root/`.

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

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

All'avvio pone tre domande:

```
[AI EVALUATION]   Usare la valutazione AI per i file ambigui? [y/N]
[SAVE REPORT]     Salvare un report completo in un file? [y/N]
[DATE THRESHOLD]  Data diversa? Lasciare vuoto per il default [YYYY-MM-DD]:
```

**Iniziare sempre con `DRY_RUN=1`** (default) — le email vengono visualizzate sullo schermo, non vengono inviate. Passare a `DRY_RUN=0` solo dopo aver confermato che l'output sia corretto.

---

## Impostazioni

### wp2shell-scan.sh

| Variabile | Default | Descrizione |
|-----------|---------|-----------|
| `WEB_ROOT` | `/home` | Directory root di HestiaCP |
| `SINCE_DATE` | `2026-07-15` | Soglia "modificati di recente" |
| `WP` | `wp` | Percorso di WP-CLI |

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

| Variabile | Default | Descrizione |
|-----------|---------|-----------|
| `DRY_RUN` | `1` | `1` = solo anteprima, `0` = invio email |
| `SEND_ONLY_IF_ISSUES` | `0` | `1` = email solo se viene trovato qualcosa |
| `SINCE_DATE` | `2026-07-15` | Soglia "modificati di recente" |
| `MAIL_FROM` | `security@<hostname>` | Mittente email |
| `CORE_CACHE` | `/root/wp2shell-cores` | Cache dei core puliti |
| `ANTHROPIC_API_KEY` | *(vuoto)* | Chiave API Claude per la valutazione AI |

---

## Valutazione AI (opzionale)

Per i diff ambigui che i pattern non riescono a classificare, lo scanner invia il diff alla **Claude API** (`claude-sonnet-4-6`) e restituisce un verdetto: `DANGER`, `SUSPICIOUS`, `REVIEW` o `OK` con una spiegazione di una frase. L'AI viene utilizzata **solo** nella zona grigia.

### Nessuna chiave API? Usare l'analizzatore nel browser

Incollare l'output della scansione nell'artifact **wp2shell Report Analyzer** su Claude.ai — esegue la stessa valutazione AI direttamente nel browser.

---

## Note

- Lo scanner **non modifica nulla**. Esecuzione sicura su server di produzione live.
- L'aggiornamento di WordPress alla versione patchata chiude la vulnerabilità ma **non pulisce** un sito già compromesso. Se vengono trovati indicatori, ripristinare da un backup pulito.
- La cartella `CORE_CACHE` (`/root/wp2shell-cores/`) viene riutilizzata tra le scansioni. Eliminarla per forzare un nuovo download.
- Il database `known_shells.sha256` viene aggiornato automaticamente una volta ogni 24 ore.

---

## Licenza

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

---

## Crediti

Sviluppato da **[BytesPulse](https://bytespulse.gr)** in risposta alla divulgazione di wp2shell (luglio 2026).  
Informazioni CVE: <https://wp2shell.com>
Scarica lo strumento