Sfruttamento di una code injection (parte 2): dimostrazione pratica

N.B.: le informazioni contenute in questo post sono a carattere didattico e illustrativo, pertanto non mi assumo alcuna responsabilità in merito ad eventuali usi scorretti. Tutti i test sono stati effettuati in un ambiente appositamente predisposto su macchine fisiche e virtuali di mia proprietà.

Nell’esempio che segue mostrerò come lanciare un attacco client-side tramite il modulo  ausiliario HTTP JavaScript Keylogger di Metasploit, che imposta un server web in grado di comunicare con un payload .js e catturare tutto ciò che la vittima digita sulla tastiera.

Dopo aver avviato Metasploit Framework e caricato il modulo, è necessario settare alcuni parametri, come l’ip del nostro listener, la porta e l’uripath (facoltativo):
drivebypost3
Nella sua forma più semplice, il payload da incorporare utilizza la seguente sintassi:
xsspost2
Tuttavia, in uno scenario reale, è molto probabile che l’attaccante nasconda il codice dannoso per renderlo meno visibile al rilevamento umano e automatico. Tale processo prende il nome di “obfuscation” e sfrutta diverse tecniche di encoding/scrambling. Ad esempio, il codice sopra, se offuscato diventa:
xsspost33
A questo punto, non ci resta che iniettarlo nella pagina vulnerabile e vedere cosa accade sul server quando la vittima viene agganciata:
xsspost465
Sfruttamento di una code injection (parte 2): dimostrazione praticaultima modifica: 2017-11-03T20:24:19+00:00da kith_straworth

2 pensieri su “Sfruttamento di una code injection (parte 2): dimostrazione pratica

  1. Salve, esistono diversi modi per verificare se il sito è stato compromesso. Il più semplice e immediato è quello di affidarsi ad un web scanner online, che analizza tutti i contenuti accessibili e stila un report finale. Nel caso di siti in WordPress, è possibile installare un plugin di sicurezza come WordFence, Sucuri Security o altri, che garantiscono una protezione in tempo reale monitorando il traffico ed eventuali modifiche dei file. Infine, supponendo di avere un hosting Linux con accesso alla shell via SSH, è possibile sfruttare i comandi find e grep per identificare i pattern sospetti, oppure scaricare tramite git clone qualche tool che automatizza la ricerca come NeoPi e PHP-Shell-Detector. Naturalmente, ciascuno di questi metodi comporta il “rischio” di falsi positivi, quindi prima di eliminare un file è bene capire di cosa si tratta.

Lascia un commento

Se possiedi già una registrazione clicca su entra, oppure lascia un commento come anonimo (Il tuo indirizzo email non sarà pubblicato ma sarà visibile all'autore del blog).