Come eseguire un post mortem di un hack del server


29

Ho installato una macchina Windows Server 2003 SP2 con IIS6, SQL Server 2005, MySQL 5 e PHP 4.3. Questa non è una macchina di produzione, ma è esposta al mondo tramite un nome di dominio. Il desktop remoto è abilitato sulla macchina e due account amministrativi sono attivi su di essa.

Questa mattina ho scoperto che la macchina era stata disconnessa con il nome di un utente sconosciuto ancora nella casella di testo di accesso. Dopo ulteriori accertamenti ho scoperto che sono stati creati due utenti di Windows, che l'antivirus è stato disinstallato e una quantità di file .exe è stata rilasciata nell'unità C :.

Quello che vorrei sapere è, quali misure dovrei prendere per assicurarsi che ciò non accada di nuovo, e le aree su cui dovrei concentrarmi per determinare la strada d'ingresso. Ho già controllato netstat -a per vedere quali porte sono aperte e nulla sembra strano lì. Ho trovato file sconosciuti nella cartella dei dati per MySQL che penso possa essere stato il punto di ingresso ma non ne sono sicuro.

Apprezzerei molto i passaggi per condurre un buon post mortem di un hack del server in modo da poterlo evitare in futuro.

Revisione post indagine

Dopo alcune indagini, penso di aver scoperto cosa è successo. Innanzitutto la macchina non è stata in linea durante il periodo compreso tra agosto '08 e ottobre '09. Durante quel lasso di tempo è stata scoperta una vulnerabilità di sicurezza, la vulnerabilità MS08-067 . "Questa è una vulnerabilità legata all'esecuzione di codice in modalità remota. Un utente malintenzionato che ha sfruttato con successo questa vulnerabilità potrebbe assumere il controllo completo di un sistema interessato in remoto. Sui sistemi basati su Microsoft Windows 2000, basati su Windows XP e Windows Server 2003, un utente malintenzionato potrebbe sfruttare questa vulnerabilità su RPC senza autenticazione e potrebbe eseguire codice arbitrario. " Questa vulnerabilità è stata risolta con l'aggiornamento della protezione KB958644 uscito nell'ottobre 2008.

Poiché la macchina era offline in quel momento e non ha perso questo aggiornamento, credo che questa vulnerabilità sia stata sfruttata subito dopo che la macchina è tornata online nell'ottobre del '09. Ho trovato riferimenti a un programma bycnboy.exe che è stato descritto come un programma backdoor che quindi crea molto caos su un sistema infetto. Poco dopo che la macchina era online, gli aggiornamenti automatici hanno installato la patch che ha chiuso la possibilità di avere il controllo remoto del sistema. Poiché la backdoor era ora chiusa, credo che l'attaccante abbia quindi creato account fisici sulla macchina e sia stato in grado di utilizzare la macchina per un'altra settimana fino a quando non ho notato cosa stava succedendo.

Dopo aver perseguito in modo aggressivo il codice dannoso, .exes e .dlls, rimuovendo i siti Web self-hosting e gli account utente, la macchina è ora di nuovo funzionante. Per il prossimo futuro monitorerò il sistema e esaminerò i registri del server per determinare se si sta verificando una ripetizione dell'incidente.

Grazie per le informazioni e i passaggi forniti.

Risposte:


28

Fare un post-mortem è un'arte nera in se stessa. Ogni volta è un po 'diverso perché in realtà non esistono due irruzioni uguali. Tenendo presente ciò, di seguito viene fornita una panoramica di base della mia procedura consigliata, con alcune note specifiche sulla tua situazione:

  1. Scollegare fisicamente la macchina dalla rete. (Davvero. Fallo ora.)
  2. Passaggio facoltativo: eseguire una copia binaria dell'immagine del disco rigido per uso futuro.
  3. Crea una copia di tutti i file di registro, dati preziosi, ecc. Su un disco rigido rimovibile
    • Facoltativamente, copia anche qualsiasi "strumento per hacker" che trovi
  4. Inizia l'attuale post-mortem. Nel tuo caso:
    • Nota eventuali account utente nuovi o mancanti. Verifica se le loro cartelle home hanno contenuti "interessanti".
    • Nota qualsiasi programma / binario / file di dati nuovo o mancante.
    • Controlla prima i log di MySQL - Cerca qualcosa di "insolito"
    • Controllare il resto dei registri del server. Vedi se riesci a trovare i nuovi utenti che vengono creati, gli indirizzi da cui hanno effettuato l'accesso, ecc.
    • Cerca prove di danni o furto di dati
  5. Quando trovi la causa del problema, nota come evitare che accada di nuovo.
  6. Pulisci il server: formatta e reinstalla tutto, ripristina i tuoi dati e collega il buco originale con le tue note dal numero 5.

In genere esegui il passaggio 2 se stai per coinvolgere le forze dell'ordine. Esegui il passaggio 3 in modo da poter rivedere le informazioni dopo la ricostruzione del server senza dover leggere la copia dell'immagine creata nel passaggio 2.

La precisione del passaggio 4 dipende dai tuoi obiettivi: basta collegare il buco è un diverso tipo di indagine che rintracciare chi ha rubato alcuni preziosi dati :)

Il passaggio 6 è critico per IMHO. Non "aggiustare" un host compromesso: lo si cancella e si ricomincia da un buono stato noto. Questo assicura che non ti perderai qualche pepita di cattivi rimasti sulla scatola come una bomba a orologeria.

Questo non è affatto uno schema post mortem completo. Lo segnerò come wiki della comunità perché cerco sempre miglioramenti al processo - non lo uso spesso :-)


3
Non ho esperienza nel fare nulla del genere, ma il consiglio di Security Monkey se stai per immaginare una macchina per le indagini è quello di tirare il cavo di alimentazione, immaginare il disco rigido, quindi iniziare a indagare. (Security Monkey: it.toolbox.com/blogs/securitymonkey )
MattB,

1
Security Monkey è morto - Vuoi congelare la macchina fredda (strattona il cavo di alimentazione) quando vai a immaginarla. l'arresto e / o l'avvio possono inciampare nell'autodistruzione o nella pulizia del codice e la riduzione del potere impedisce che ciò accada prima che tu possa creare la tua immagine.
voretaq7,

2
Inoltre, direi che non dovresti fidarti dei risultati dei comandi "integrati" sul sistema hackerato come netstat (o dir, ecc.) Ancora una volta, non ho esperienza diretta con questo a livello aziendale, ma ricordo di essere stato hackerato su macchine personali in cui parte dell'hacking doveva sostituire strumenti integrati per mascherare ciò che stava realmente accadendo.
MattB,

4
+1 passaggio 6 è vitale, non sai se netstat ti sta mostrando la verità senza analizzare il traffico di rete effettivo - e che di per sé può essere abbastanza complicato e un test di pazienza ... quindi, puliscilo. Non è più la tua scatola. Analizza l'immagine tutto ciò che vuoi, ma pulisci quella maledetta macchina;)
Oskar Duveborn,

1
Direi che probabilmente farai meglio a fare il passo 2 ogni volta, poiché non sei del tutto sicuro di ciò che troverai durante le tue indagini. Avere immagini binarie significa anche che puoi avere persone diverse che guardano cose diverse, usando una copia ciascuna.
Vatine,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.