Da Sql-injection a Root in 12 Passi

Un sistema di sicurezza è forte quanto l’anello più debole. Trovare un punto debole e sfruttarlo in modo adeguato può portare alla sconfitta totale del sistema di sicurezza stesso.

Un piccolo bug in una web-application può spalancare le porte ad una compromissione più profonda del sistema. Il pirata, una volta ottenuto l’accesso ad un sistema, può attaccare una rete dall’interno, trovare e sfruttare relazioni di fiducia e penetrare sistemi collegati altrimenti irraggiungibili. Per questo motivo la sql-injection e gli altri bug delle web-application non dovrebbero essere sottovalutati: si rischia un devastante effetto domino.

Un interessante documento reperibile su Milw0rm, “From Boot to Remote Root” illustra in modo magistrale questo processo.

Prima di proseguire è bene chiarire che un attacco sql-injection consiste nello sfruttare una mancata validazione dell’input fornito dall’utente alla web-application. Sfruttando questo varco il pirata ha la facoltà di inserire codice Sql e sovvertire la logica predefinita, forzando il sistema a piegarsi alle proprie volontà. Sql è il linguaggio utilizzato per interrogare le basi dati. Sovvertendo la logica di questi script è possibile anche reperire le password (cifrate) memorizzate nel database stesso. Si tratta di una delle più diffuse tecniche dihacking degli ultimi tempi.

Vediamo i punti salienti dell’attacco:

  1. Viene identificata una sql-injection in una web-application
  2. Tramite questo bug si identificano gli utenti e si prelevano gli hash delle password
  3. Si cracca la password e si accede al pannello di controllo come admin
  4. Upload di una shell php come C99 per interagire col sistema
  5. Scalare i privilegi, ottenere quelli di root per il controllo totale
  6. Si identifica il tipo di sistema operativo: nell’esempio RedHat Linux 5, kernel 2.6.22
  7. Si cerca un exploit locale: Linux vmsplice Local Root Exploit
  8. Lo si carica sul sistema remoto, si compila e si esegue
  9. Si ottengono i privilegi root: controllo assoluto!
  10. A questo punto si aggiunge un utente ssh per accessi successivi (backdoor)
  11. Si ripuliscono i log e le tracce dell’hackeraggio
  12. Gli accessi successivi vengono effettuati con l’utente backdoor tramite Tor

Tutto questo a causa di una maldestra gestione dell’input utente!

11 comments to “Da Sql-injection a Root in 12 Passi”
  1. Pingback: Perchè le SQL Injection Sono Ancora Pericolose | PillolHacking.Net

Comments are closed.