Detectar procesos maliciosos en Linux

Advertencias:

  • Asegúrese de que está satisfecho con sus copias de seguridad antes de realizar cualquier cambio en el servidor.
  • Modificar cualquier parte de un servidor con acceso administrativo puede hacer que los servicios fallen o hacer que el propio sistema no pueda arrancar.  Solo administradores experimentados y autorizados deben llevar a cabo los pasos descritos en esta guía.
  • Es muy posible que las utilidades del servidor que se pueden utilizar en esta guía (tales como "ps", "ls", "lsof", "netstat", etc.) hayan sido reemplazadas por versiones piratas y podrían ocultar información vital para localizar los procesos maliciosos que está tratando de encontrar.

 

Netstat:

Una de las principales funciones de la utilidad "netstat" es mostrar todas las conexiones de red actuales. Para encontrar todas las conexiones de red de uso actual con los números de puertos en vez de los nombres, ejecute el siguiente comando con privilegios de root:

# netstat –an

 

Lsof:

  • Ejemplo de tráfico IRC:

Dado que un síntoma común de actividad de botnets es el uso de IRC para comunicarse con el servidor de comandos y control, se pueden ver los puertos en uso dentro de un rango entre 6660 y 7000.

La utilidad lsof es una herramienta increíblemente útil para encontrar actividad inusual, ya que puede ayudarlo a encontrar la relación entre un puerto de red abierto y un archivo real en el disco de la computadora. 

En primer lugar, debemos encontrar el Id. de proceso (pid) que realizó la conexión de red sospechosa.  Supongamos que el comando netstat muestra una conexión de red que sale al puerto TCP 6667 en otro servidor.  El siguiente comando (ejecutado con permisos de root) mostrará cuáles procesos son los responsables de esa conexión de red.  Tenga en cuenta el uso intencionado de los dos puntos antes del número de puerto.

# lsof –RPni :6667

El Id. de proceso (pid) se encuentra en la segunda columna junto a cada conexión que usa el puerto en cuestión.  El proceso que está ejecutando el usuario también es información muy útil.  Si el usuario no es "root", es probable que el servidor no estuviera totalmente comprometido y reparar el problema no requerirá una reinstalación completa del sistema operativo.  Sin embargo, si el proceso se ejecuta como "root", es posible que haya un problema muy grave con el servidor y no debe fiarse de él.  Se recomienda no solo una reinstalación completa del servidor, sino que, en este caso, debe considerarse como un requisito.

Para encontrar cuáles archivos se están utilizando para este proceso, se puede ejecutar el siguiente comando con privilegios de root, sustituyendo <pid> para el Id. de proceso descubierto anteriormente:

# lsof –Pnp <pid>

No solo puede usar "kill" para detener el proceso responsable, pero también tiene una lista de archivos que pueden requerir eliminarse. Tenga suma precaución cuando elimine archivos relacionados, ya que algunos podrían ser partes legítimas del sistema operativo que simplemente están siendo utilizadas por el proceso malicioso.   Los archivos que uno podría querer desactivar con "chmod" o cambiar de nombre serán los que se encuentren dentro de /dev/shm, /tmp, /var/tmp, /home/ u otras zonas donde no residen los archivos del sistema. Las líneas de salida del comando "lsof" con "cwd" y "txt" debajo de la columna "FD" son las mayores pistas aquí.

Después de detener y desactivar los archivos, se debe asegurar de que no se volverá a ejecutar.  Cambiar los permisos puede ayudar, pero no siempre es la solución.  Hacer un control y desactivar o quitar comandos de inicio malintencionados en /etc/init.d/, así como crontab (generalmente, el proceso que estaba ejecutando el usuario) es muy importante para que el proceso no se inicie de nuevo tras el reinicio o en algún momento específico del día.

  • Ejemplo de tráfico ssh hostil saliente

En algunos casos, una cuenta comprometida se ve explotada por una persona malintencionada o un botnet para ejecutar un programa de fuerza bruta contra ssh. Este mismo proceso también se puede usar para localizar cuál cuenta está generando este tráfico ssh hostil saliente y en dónde se encuentra el archivo malicioso.

# lsof –RPni :22

# lsof –Pnp <pid>

Una vez ubicada la cuenta comprometida, es importante comprobar cuál contenido y registros de la cuenta se deben limpiar.

  • Mostrar todas las conexiones activas:

# lsof –Pni

 

Detectar procesos maliciosos en Windows

Advertencias:

  • Asegúrese de que está satisfecho con sus copias de seguridad antes de realizar cualquier cambio en el servidor.
  • Modificar cualquier parte de un servidor con acceso administrativo puede hacer que los servicios fallen o hacer que el propio sistema no pueda arrancar.  Solo administradores experimentados y autorizados deben llevar a cabo los pasos descritos en esta guía.


Netstat:

La utilidad "netstat" disponible en la ventana del símbolo del sistema de Windows muestra todas las conexiones de red actuales. Para encontrar todas las conexiones de red en uso actual, ejecute el siguiente comando como administrador:

# netstat /ano

 

Herramientas de terceros:

El uso de herramientas antivirus comunes en Windows rara vez detectará una actividad de botnets porque al establecerse la composición del botnet se realizan algunas modificaciones para ocultar los procesos de estas herramientas.  Por este motivo, es mejor detectar el comportamiento sintomático de la actividad de botnets y buscar los procesos o archivos anteriores responsables.  Hay varias herramientas que pueden ayudar.

Consulte la documentación del proveedor de la herramienta que haya elegido para ver cómo se utiliza.  La lista anterior no es en absoluto una lista exhaustiva y no recomendamos su uso de forma específica.

¿Tiene más preguntas? Enviar una solicitud

0 Comentarios

El artículo está cerrado para comentarios.
Tecnología de Zendesk