Seguridad

Cómo detectar si su sistema Linux ha sido pirateado

Cómo detectar si su sistema Linux ha sido pirateado
Cuando existe la sospecha de que un sistema fue pirateado, la única solución segura es instalar todo desde el principio, especialmente si el objetivo era un servidor o un dispositivo que contiene información que excede la privacidad personal del usuario o administrador.  Sin embargo, puede seguir algunos procedimientos para intentar darse cuenta de si su sistema fue realmente pirateado o no.

Instale un sistema de detección de intrusiones (IDS) para saber si el sistema ha sido pirateado

Lo primero que debe hacer después de la sospecha de un ataque de piratas informáticos es configurar un IDS (Sistema de detección de intrusiones) para detectar anomalías en el tráfico de la red. Después de que ha tenido lugar un ataque, el dispositivo comprometido puede convertirse en un zombi automatizado en el servicio de piratas informáticos. Si el pirata informático definió tareas automáticas dentro del dispositivo de la víctima, es probable que estas tareas produzcan tráfico anómalo que puede ser detectado por sistemas de detección de intrusiones como OSSEC o Snort, que merecen un tutorial dedicado cada uno, tenemos lo siguiente para que comience con el más popular:

Además, para la configuración de IDS y la configuración adecuada, deberá ejecutar las tareas adicionales que se enumeran a continuación.

Supervisar la actividad de los usuarios para saber si el sistema ha sido pirateado

Si sospecha que fue pirateado, el primer paso es asegurarse de que el intruso no haya iniciado sesión en su sistema, puede lograrlo usando comandos "w" o "OMS”, El primero contiene información adicional:

# w

Nota: Es posible que los comandos "w" y "who" no muestren a los usuarios conectados desde pseudo terminales como el terminal Xfce o el terminal MATE.

La primera columna muestra el nombre de usuario, en este caso se registran linuxhint y linuxlat, la segunda columna TTY muestra el terminal, la columna DE muestra la dirección del usuario, en este caso no hay usuarios remotos pero si lo estuvieran podría ver las direcciones IP allí.  La [correo electrónico protegido] la columna muestra la hora de inicio de sesión, la columna JCPU resume los minutos de proceso ejecutados en el terminal o TTY. la PCPU muestra la CPU consumida por el proceso enumerado en la última columna QUÉ. La información de la CPU es estimada y no exacta.

Tiempo w es igual a ejecutar tiempo de actividad, OMS y ps -a juntos otra alternativa pero menos informativa es el comando "OMS”:

# OMS

Otra forma de supervisar la actividad de los usuarios es a través del comando "último" que permite leer el archivo wtmp que contiene información sobre el acceso de inicio de sesión, la fuente de inicio de sesión, la hora de inicio de sesión, con funciones para mejorar eventos de inicio de sesión específicos, para intentar ejecutar:

# último

La salida muestra el nombre de usuario, el terminal, la dirección de origen, la hora de inicio de sesión y la duración total de la sesión.

Si sospecha de la actividad maliciosa de un usuario específico, puede consultar el historial de bash, iniciar sesión como el usuario que desea investigar y ejecutar el comando historia como en el siguiente ejemplo:

# su
# historia

Arriba puede ver el historial de comandos, estos comandos funcionan leyendo el archivo ~ /.bash_history ubicado en la casa de los usuarios:

# menos / hogar //.bash_history

Verá dentro de este archivo el mismo resultado que cuando usa el comando "historia".

Por supuesto, este archivo puede eliminarse fácilmente o falsificarse su contenido, la información proporcionada por él no debe tomarse como un hecho, pero si el atacante ejecutó un comando "malo" y olvidó eliminar el historial, estará allí.

Comprobación del tráfico de la red para saber si el sistema ha sido pirateado

Si un pirata informático violó su seguridad, hay grandes probabilidades de que haya dejado una puerta trasera, una forma de volver atrás, un script que entregue información específica como spam o minería de bitcoins, en algún momento si mantuvo algo en su sistema comunicando o enviando cualquier información, debe capaz de notarlo al monitorear su tráfico en busca de actividad inusual.

Para comenzar, ejecutemos el comando iftop que no viene en la instalación estándar de Debian por defecto. En su sitio web oficial, Iftop se describe como "el comando superior para el uso del ancho de banda".

Para instalarlo en Debian y distribuciones Linux basadas, ejecute:

# apt install iftop

Una vez instalado, ejecútelo con sudo:

# sudo iftop -i

La primera columna muestra el localhost, en este caso montsegur, => y <= indicates if traffic  is incoming or outgoing, then the remote host, we can see some hosts addresses, then the bandwidth used by each connection.

Cuando use iftop, cierre todos los programas que usan tráfico como navegadores web, mensajeros, para descartar tantas conexiones aprobadas como sea posible para analizar lo que queda, identificar el tráfico extraño no es difícil.

El comando netstat también es una de las principales opciones a la hora de monitorear el tráfico de la red. El siguiente comando mostrará los puertos de escucha (l) y activos (a).

# netstat -la

Puede encontrar más información sobre netstat en  Cómo verificar puertos abiertos en Linux.

Comprobación de procesos para saber si el sistema ha sido pirateado

En todos los sistemas operativos, cuando algo parece salir mal, una de las primeras cosas que buscamos son los procesos para intentar identificar uno desconocido o algo sospechoso.

# cima

A diferencia de los virus clásicos, es posible que una técnica de piratería moderna no produzca paquetes grandes si el pirata informático quiere evitar la atención. Verifique los comandos cuidadosamente y use el comando lsof -p para procesos sospechosos. El comando lsof permite ver qué archivos se abren y sus procesos asociados.

# lsof -p

El proceso anterior 10119 pertenece a una sesión bash.

Por supuesto, para verificar los procesos existe el comando PD también.

# ps -axu

La salida ps -axu anterior muestra al usuario en la primera columna (raíz), el ID de proceso (PID), que es único, el uso de la CPU y la memoria por cada proceso, la memoria virtual y el tamaño del conjunto residente, la terminal, el estado del proceso, es hora de inicio y el comando que lo inició.

Si identifica algo anormal, puede verificar con lsof con el número PID.

Comprobación de su sistema en busca de infecciones de rootkits:

Los rootkits se encuentran entre las amenazas más peligrosas para los dispositivos, si no la peor, una vez que se detecta un rootkit no hay otra solución que reinstalar el sistema, a veces un rootkit puede incluso forzar un reemplazo de hardware. Por suerte existe un comando sencillo que nos puede ayudar a detectar los rootkits más conocidos, el comando chkrootkit (check rootkits).

Para instalar Chkrootkit en Debian y distribuciones de Linux basadas, ejecute:

# apt install chkrootkit


Una vez instalado, simplemente ejecute:

# sudo chkrootkit


Como puede ver, no se encontraron rootkits en el sistema.

Espero que haya encontrado útil este tutorial sobre cómo detectar si su sistema Linux ha sido pirateado ”.

Motores de juegos gratuitos y de código abierto para desarrollar juegos de Linux
Este artículo cubrirá una lista de motores de juegos de código abierto y gratuitos que se pueden usar para desarrollar juegos 2D y 3D en Linux. Existe...
Tutorial de Shadow of the Tomb Raider para Linux
Shadow of the Tomb Raider es la duodécima incorporación a la serie Tomb Raider, una franquicia de juegos de acción y aventuras creada por Eidos Montre...
Cómo impulsar FPS en Linux?
FPS significa Cuadros por segundo. La tarea de FPS es medir la velocidad de fotogramas en reproducciones de video o actuaciones de juegos. En palabras...