GNU/Linux >> Tutoriales Linux >  >> Linux

Buscar un compromiso de seguridad:investigación del modo de rescate

En el artículo Comprobar si hay un compromiso de seguridad:puertas traseras e intrusos, aprendió algunas técnicas básicas para recopilar la información necesaria para identificar a los intrusos que han comprometido su servidor. Este artículo describe cómo utilizar el modo de rescate del panel de control en la nube. para echar un vistazo más de cerca a su sistema. Puede usar el modo de rescate para comprender mejor cómo se comprometió su servidor e identificar archivos no comprometidos antes de realizar una copia de seguridad de los datos.

Activar modo rescate

Debido a que el sistema operativo de su servidor en la nube también podría verse comprometido, no puede confiar en él. El intruso podría haber comprometido binarios como 'ls', 'find' y 'netstat', por lo que su salida podría confundirlo. En consecuencia, debe usar un entorno de sistema operativo diferente para investigar de manera segura el compromiso.

Puede hacerlo utilizando la función de modo de rescate proporcionada en el Panel de control de la nube. Para obtener instrucciones y más información, consulte Modo de rescate.

Mientras su servidor está en modo de rescate, puede realizar las siguientes acciones para localizar la fuente del compromiso.

Buscar rootkits

Le recomendamos que instale y utilice las siguientes herramientas para escanear su sistema en busca de rootkits.

Buscar rootkits con chkrootkit

chkrootkit busca firmas conocidas en sistemas binarios comprometidos. Por ejemplo, algunas versiones comprometidas de ps tener “/dev/ptyp " dentro de ellos. Recomendamos instalar chkrootkit usando su administrador de paquetes en lugar de compilar desde la fuente. Para obtener más opciones e información sobre el uso de chkrootkit, consulte http://www.chkrootkit.org/README.

  1. Para instalarlo, ejecute el siguiente comando:

     apt-get install chkrootkit
    
  2. Ejecute chkrootkit contra el sistema de archivos montado del Servidor Cloud:

     chkrootkit -r /mnt/demo
    

Los siguientes mensajes son impresos por chkrootkit durante sus pruebas:

  • INFECTED - la prueba ha identificado un comando probablemente modificado por un rootkit conocido

  • not infected - la prueba no encontró ninguna firma de rootkit conocida

  • not tested - no se realizó la prueba

    Esto podría suceder en las siguientes situaciones:

    • La prueba es específica del sistema operativo
    • La prueba depende de un programa externo que no está disponible
    • Se dan algunas opciones de línea de comando específicas (por ejemplo, -r )
  • not found - no se encuentra el comando a probar

  • Vulnerable but disabled - el comando está infectado

Para obtener más opciones e información sobre el uso de chkrootkit , consulte https://www.chkrootkit.org/README.

Buscar rootkits con rkhunter

Cazador de rootkits (rkhunter ) compara los sistemas con una base de datos de rootkits conocidos. También puede verificar otros archivos del sistema para asegurarse de que estén en línea con las propiedades y los valores esperados.

  1. Inicie sesión en su aplicación de terminal y cambie a sus sources directorio:

     cd ~/sources
    
  2. Descarga la última versión de rkhunter desde el área de descarga de SourceForge:

     https://sourceforge.net/projects/rkhunter/files/
    
  3. Después de instalar rkhunter , ejecútelo contra /mnt/demo .

     rkhunter -c -r /mnt/demo
    

rkhunter produce advertencias durante las pruebas que indican dónde se ha desviado un archivo de los valores predeterminados esperados. Después de la prueba, puede consultar el registro para ver información más detallada sobre qué archivos generaron la advertencia. Para obtener más opciones e información sobre el uso de rkhunter , consulte https://rkhunter.cvs.sourceforge.net/viewvc/rkhunter/rkhunter/files/README.

Verificar últimos comandos

Para tener una idea de cómo se violó la seguridad del servidor de la nube, verifique qué usuarios ejecutaron comandos antes de que el servidor de la nube se viera comprometido.

El .bashhistory El archivo contiene los últimos comandos utilizados con el shell Bash. Debe verificar el .bashhistory archivos en el directorio de inicio de cada usuario. El .bashhistory más importante el archivo es el que pertenece a la raíz:/root/.bashhistory .

Un Cloud Server comprometido podría tener entradas como las siguientes:

wget https://malware.tar.gz
gunzip malware.tar.gz
tar xf malware.tar

Comprobar paquetes instalados

Todos los cambios en el sistema de empaquetado se almacenan en /var/log/dpkg.log Distribuciones basadas en onDebian. Verifique este archivo en busca de cualquier actividad sospechosa, como paquetes instalados o eliminados, o un bus modificado.

Ejecute el siguiente comando para mostrar las últimas 50 líneas del dpkg.log archivo:

tail 50 /mnt/demo/var/log/dpkg.log

Utilice el comando de búsqueda

El find El comando generalmente se usa para buscar nombres de archivo con patrones específicos. Sin embargo, también puede usarlo para buscar los archivos que se modificaron o a los que se accedió dentro de un período de tiempo específico.

Por ejemplo, puede encontrar todos los archivos en /etc propiedad de root que se han modificado en los últimos dos días, de la siguiente manera:

find /mnt/demo/etc -user root -mtime -2

Las opciones disponibles son las siguientes:

-atime: when the file was last accessed
-ctime: when the file's permissions were last changed
-mtime: when the file's data was last modified

Tenga en cuenta el signo menos delante de '2' en el ejemplo anterior. Las opciones de 'tiempo' para find comando se expresan en incrementos de 24 horas, y el símbolo que se usa delante del número puede indicar menor que o mayor que .Por lo tanto, '-2' significa que desea buscar archivos que se modificaron en los últimos dos días. Si desea buscar archivos que se modificaron hace más de 2 días, use +2 :

find /mnt/demo/etc -user root -mtime +2

También hay versiones del atime , ctime y mtime argumentos que miden el tiempo en minutos:

-amin: when (in minutes) the file was last accessed
-cmin: when (in minutes) the file's permissions were last changed
-mmin: when (in minutes) the file's data was last modified

Ejemplo

Encuentre todos los archivos en su Cloud Server propiedad del demo usuario al que se ha accedido en los últimos cinco minutos:

find /mnt/demo -user demo -amin -5

La siguiente lista de find las opciones de comando pueden ser útiles al investigar la investigación del Servidor Cloud comprometido:

-nouser: shows output not associated with an existing userid
-nogroup: shows output not associated with an existing groupid
-links n: file has n links
-newer file: file was modified more recently than file
-perm mode: file has mode permissions

Verificar registros y archivos sospechosos

Puede encontrar un intruso comprobando si hay archivos sospechosos en /tmp ,/var/tmp , /dev/shm , /var/carrete/samba , /var/carrete/calamar y /var/spool/cron .

También puede consultar los archivos de registro en /var/log directorio. Por ejemplo, auth.log registra la información de inicio de sesión del usuario, incluidas las direcciones IP.

Resumen

En Comprobación de un compromiso de seguridad:puertas traseras e intrusos, aprendió algunas técnicas para descubrir puertas traseras y rastrear intrusos en su servidor en la nube. Esto le ayudará a evitar la situación o el error que condujo al compromiso, minimizando la posibilidad de futuros compromisos. En este artículo, aprendió cómo investigar su Servidor Cloud en modo de rescate.

Ya sea que se deba a virus, corrupción de archivos, fallas de la máquina u otros percances imprevistos, la posibilidad de pérdida de datos es real. Para evitar la interrupción que tal pérdida puede causar, haga una copia de seguridad de sus archivos con regularidad. Las siguientes son algunas opciones para ayudarlo a proteger sus archivos:

  • Rackspace Cloud Backup es una buena opción para los clientes de Cloud Servers. Está completamente integrado con los servidores en la nube y es una alternativa de copia de seguridad basada en archivos a la copia de seguridad del servidor de imágenes completo.
  • Para aquellos que prefieren hacerlo ellos mismos, consulte Hacer una copia de seguridad de sus archivos con rsync.

Linux
  1. Distribuciones populares de Linux para pruebas de seguridad

  2. Comprobar la base de datos en busca de corrupción

  3. Compruebe si hay un compromiso de seguridad:puertas traseras e intrusos

  4. Compruebe los archivos de configuración de Linux en busca de errores de sintaxis

  5. Investigar un servidor Windows comprometido

Cómo comprobar (escanear) los puertos abiertos en Linux

El modo de rescate

Instale PostgreSQL en un servidor Ubuntu para configuraciones de seguridad

Uso del modo mejorado Ubuntu 18.04 para Hyper-V en Windows 10

CentOS / RHEL 6:Cómo iniciar en modo de rescate

Verifique el número de actualizaciones de seguridad pendientes en Ubuntu