Sfruttare un punto debole in un'applicazione locale, magari accoppiato con un exroit del kernel root è il modo più probabile. Andrebbe qualcosa di simile.
1) Hacker sfrutta un punto debole in un'applicazione PHP che consente loro di creare file di proprietà del server web e quindi di eseguire quel codice.
2) Il loro codice dannoso scaricherà uno script che consente un accesso più semplice all'esecuzione dei comandi. Il download di uno script perl su / dev / shm usando wget è abbastanza comune.
3) Lo script perl si collegherebbe a un server remoto per formare un tunnel, o potrebbe accettare connessioni in entrata, in modo che i comandi arbitrari possano essere eseguiti più facilmente.
4) Il codice sorgente C per un root exploit verrebbe installato, compilato ed eseguito.
5) Se l'utente avesse successo, ora avrebbe i privilegi di root. A questo punto, il firewall potrebbe essere disabilitato, la configurazione predefinita di iptables cambiata e backdoors come un ssh modificato potrebbe essere installato per consentire l'accesso nonostante le impostazioni di hosts.allow e simili.
Questo fa solo scalfire la superficie, ma ci sono strumenti che possono aiutare con il rilevamento delle intrusioni e le misure che è possibile adottare per rafforzare la configurazione, come impedire le connessioni in uscita a IP arbitrari sul firewall (iptables piuttosto che il firewall esterno di EC2), non avendo un compilatore C nel solito posto o niente e spostando strumenti come wget, anche se una sceneggiatura potrebbe ottenere lo stesso risultato, ma è solo una seccatura per l'hacker. Mantenere un registro dei processi in esecuzione frequentemente (ogni 5 minuti o meno) può essere di aiuto nell'analisi post mortem come i registri web. È molto probabile che un hacker crei file o directory in / dev / shm o / tmp e un'utilità che sta monitorando le voci inattese potrebbe rilevare le intrusioni in anticipo. Bloccando il server per consentire l'accesso solo a se stessi, si dovrebbero trovare elementi inattesi, in particolare in / dev / shm (dove di solito non c'è nulla) non sarebbe eccessivo.
La distribuzione degli aggiornamenti del kernel è strongmente consigliata in quanto vi sono stati molti exploit di escalation di privilegi in Linux.