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+01: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.

I commenti sono chiusi.