Cómo detectar si su sistema Linux ha sido pirateado

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

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

Lo primero que debe hacer después de la sospecha de un ataque de hacker es configurar un IDS (sistema de detección de intrusos) para detectar anomalías en el tráfico de la red. Después de que se haya realizado un ataque, el dispositivo comprometido puede convertirse en un zombi automatizado en el servicio de hackers. Si el hacker definió tareas automáticas dentro del dispositivo de la víctima, es probable que estas tareas produzcan tráfico anómalo que puede detectarse mediante sistemas de detección de intrusos como OSSEC o Snort que merecen un tutorial dedicado cada uno, tenemos lo siguiente para comenzar con el más popular:

  • Configurar IDS Snort y crear reglas
  • Comenzando con OSSEC (sistema de detección de intrusos)
  • Alertas de inicio
  • Instalación y uso del sistema de detección de intrusos Snort para proteger a los servidores y redes

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

Monitorear 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 esté registrado en su sistema, puede lograrlo utilizando comandos "w" o "OMS", El primero contiene información adicional:

# W

Nota: Comandos "W" y "Quién" puede no mostrar a los usuarios registrados desde pseudo terminales como XFCE Terminal o Mate Terminal.

La primera columna muestra el nombre de usuario, En este caso, Linuxhint y Linuxlat están registrados, 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 fueran, puede ver direcciones IP allí. El ACCESO@ La columna muestra el tiempo de inicio de sesión, la columna JCPU resume las actas de proceso ejecutadas en la terminal o TTY. el PCPU muestra la CPU consumida por el proceso enumerado en la última columna QUÉ. La información de la CPU es estimativa y no exacta.

Mientras w es igual a la ejecución 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, el tiempo de inicio de sesión, con características para mejorar los eventos de inicio de sesión específicos, para probarlo:

# último

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

Si sospecha sobre la actividad maliciosa por un usuario específico, puede verificar el historial de bash, inicie 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 funciona leyendo el archivo ~/.bash_history Ubicado en el hogar de usuarios:

# menos /hogar //.bash_history

Verá dentro de este archivo la misma salida que cuando se usa el comando "historia".

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

Verificar el tráfico de la red para saber si el sistema ha sido pirateado

Si un hacker violó su seguridad, hay grandes probabilidades de dejar una puerta trasera, una forma de regresar, un script que entrega información específica como spam o bitcoins mineros, en algún momento si mantuvo algo en su sistema comunicando o enviando cualquier información que debe ser capaz de notarlo monitoreando su tráfico en busca de actividad inusual.

Para comenzar, ejecute el comando iftop que no se produjo en la instalación estándar de Debian de forma predeterminada. En su sitio web oficial, IFTOP se describe como "el comando superior para el uso de ancho de banda".

Para instalarlo en las distribuciones de Linux de Debian y Based:

# APT Instalar iftop

Una vez instalado, ejecutarlo 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 se usa iftop, cierre todos los programas usando 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 al monitorear el tráfico de la red. El siguiente comando mostrará los puertos de Eyuring (L) y Active (A).

# netstat -la

Puede encontrar más información en NetStat en cómo verificar los puertos abiertos en Linux.

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

En cada sistema operativo, cuando algo parece salir mal, una de las primeras cosas que buscamos son los procesos para tratar de identificar uno desconocido o algo sospechoso.

# arriba

Contrariamente a los virus clásicos, una técnica de hack moderna puede no producir paquetes grandes si el hacker quiere evitar atención. Verifique cuidadosamente los comandos 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 por encima de 10119 pertenece a una sesión de bash.

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

# ps -axu

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

Si identifica algo anormal, puede consultar con LSOF con el número PID.

Comprobando su sistema para infecciones de RootKits:

Rootkits se encuentran entre las amenazas más peligrosas para los dispositivos, si no es peor, una vez que se detectó un rootkit, no hay otra solución que reinstalar el sistema, a veces un RootKit incluso puede forzar un reemplazo de hardware. Afortunadamente, hay un comando simple que puede ayudarnos a detectar los RootKits más conocidos, el comando chkrootkit (verificar roadkits).

Para instalar CHKROOTKIT en las distribuciones de Linux de Debian y Basado en ejecución:

# APT Instalar chkrootkit


Una vez instalado, simplemente ejecute:

# sudo chkrootkit


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

Espero que hayas encontrado este tutorial sobre cómo detectar si tu sistema Linux ha sido pirateado "útil.