
CVE-2018-6389 PoC node js multi-sito con proxy

Questo script è basato su CVE-2018-6389, un problema piuttosto insidioso di Wordpress che, purtroppo, probabilmente non verrà risolto dal team che sviluppa la piattaforma, nonostante sia noto da molto tempo.
!!! IMPORTANTE PRIMA DI PROSEGUIRE !!! L'intero repository e le informazioni qui condivise sono liberamente utilizzabili in qualsiasi forma - copia, aggiornamento, modifica a scopo di miglioramento o altri scopi, così come la condivisione. L'uso delle informazioni condivise per scopi diversi da quelli educativi, sperimentali e/o per proteggere la propria piattaforma basata su Wordpress è probabilmente in conflitto con numerose leggi di cui non sono a conoscenza. Non utilizzare lo script per attaccare siti web! Non mi assumo alcuna responsabilità per le tue azioni. Usandolo accetti queste condizioni. Un attacco DDoS (denial of service) diretto a un sito di cui non sei proprietario può essere considerato un attacco terroristico. !!! ASSICURATI DI ESSERE ASSOLUTAMENTE SICURO DELLE TUE AZIONI E PENSA BENE PRIMA DI PROSEGUIRE !!!
Ho scritto lo script molto tempo fa, ma poiché so che siete molto fighi, ho deciso di condividerlo con voi. Usatelo per lo scopo previsto! Davvero...
In rete ci sono molte informazioni sull'argomento, oltre a diversi script già pronti, per lo più scritti in Python come Shiva e questo, da cui ho tratto molta ispirazione quando lo scrivevo, e con cui puoi anche testare questa 'debolezza' in un ambiente isolato, ma poiché sono un 'hacker', ho deciso di aggiungere alcune 'chicche'.
Qui puoi leggere un interessante blog sull'argomento
In breve, se carichi https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery (ovviamente modificando il link in modo che punti alla tua istanza) e ciò che appare sullo schermo è 'un casino di js', allora il sito ha un problema. Ogni parametro elencato nella query string è un nome di file che non è in cache. Cioè esegue un'operazione di I/O per ogni file dal disco, li assembla e li restituisce al client. Ma i file sono tanti. Molti di più rispetto alle risorse necessarie per richiederli più volte. Diciamo che con un laptop e un collegamento down da 50 mb, una trentina di siti di media qualità - hosting, resistono 20-30 secondi prima di collassare definitivamente.
Il file websites.js contiene un elenco di siti - 'vittime', da cui senza volerlo ho dimenticato di rimuovere alcuni rimasti, di cui so per certo che sono vulnerabili al contatto con lo script. Giuro che non l'ho mai provato, è solo un pensiero.
Il file userAgents.js contiene un elenco di user-agent che vengono selezionati casualmente per ogni singola richiesta alle vittime.
fileList.js contiene un elenco dei singoli file da caricare dalla 'vittima', in modo che durante l'aggiornamento di Wordpress possano essere facilmente aggiunti o corretti.
In index.js si trova lo script di esecuzione stesso.
Nella console vengono visualizzate a colori informazioni per ogni 'vittima' singolarmente e quelle sotto DDoS vengono colorate in rosso.
npm install
// modifica webstites.js
node index.js
inurl: 'wp-admin/load-scripts.php'
Ho deciso di dedicare questo script alla mia televisione preferita tvsz, perché so che sono dei grandi 'ammiratori' e soprattutto perché troveranno il link del loro sito nella mia lista. Intendo aumentare un po' la loro popolarità, per ricambiare un vecchio 'favore'. Approfitto anche per salutare mio padre, che ieri aveva l'onomastico, ma non ho avuto tempo per chiamarlo.