Cómo verificar manualmente los rootkits en un servidor

9

¿Alguien tiene una lista general paso a paso sobre cómo intentar descubrir rootkits en un servidor Linux o Solaris?

Estoy buscando para encontrar manualmente el rootkit, no por software automatizado.

Por ejemplo:

  • ¿Lugares para buscar archivos sospechosos?
  • ¿Buscar comandos para detectar un comportamiento de archivo extraño?
  • ¿El tráfico de aspecto extraño se ha recuperado del rastreador?
  • ¿Está comprobando la integridad de los archivos con comandos importantes para saber si puede confiar en ellos o no?
pregunta Chris Dale 06.06.2011 - 16:05
fuente

3 respuestas

8
  

¿Alguien tiene una lista general paso a paso sobre cómo intentar descubrir rootkits en un servidor Linux o Solaris?

Paso uno: desconecte la máquina en cuestión de todos los canales de comunicación: Ethernet, WiFi, Bluetooth, serie, Firewire, USB, cable de audio, infrarrojo, paralelo. Solo el cable de alimentación, el cable del teclado y el cable del monitor deben permanecer conectados. Compruebe las emisiones de RF con un analizador de espectro de RF calibrado. Solo proceda cuando hayas verificado la desconexión de la comunicación.

Dos de septiembre: si el sistema tiene una unidad de CD-ROM o DVD-ROM y es capaz de arrancar desde el CD-ROM, en un sistema que esté limpio, prepare un CD-ROM de ataque de RAM de arranque en frío. De lo contrario, continúe con el paso tres. Herramientas gratuitas para el ataque de arranque en frío: msramdump y Princeton .

Paso tres: si preparó un disco de ataque de arranque en frío en el paso dos, no apague la máquina . Desconecta el (los) disco (s) duro (s). Como cada unidad está desconectada, etiquétela con una etiqueta de colores brillantes. En la etiqueta, escriba 'Infectado', la hora y la fecha, el nombre del sistema del que se eliminó. Coloque cada unidad en un contenedor de almacenamiento adecuado.

Paso cuatro: si no preparó un disco de ataque de arranque en frío en el paso dos, vaya al paso seis. De lo contrario, inserte el disco de ataque de arranque en frío y reinicie la máquina. Capture el contenido de la RAM y guárdelo en un CD-R o DVD-R. Asegúrese de finalizar el disco para cada grabación. Después de guardar el contenido de la memoria RAM, apague la máquina.

Paso cinco: en una máquina independiente, analice el volcado de memoria RAM. Compruebe las firmas de formato de archivo ejecutable. Compruebe si hay firmas de virus. Compare con un volcado de una buena máquina conocida que ejecuta el mismo sistema operativo.

Paso seis: en su sistema de análisis, deshabilite cualquier montaje automático, reproducción automática, plug and play o cualquier servicio que actúe en la detección de una nueva unidad. Verifique que el sistema no realice ninguna acción en la nueva conexión de la unidad conectando una unidad en buen estado que tenga el mismo tipo de conector físico que las unidades del sistema infectado. Si el sistema infectado tenía unidades de más de un tipo de conexión física, entonces pruebe el sistema de análisis con una unidad que sepa que funciona bien para cada tipo de conector físico. Si hay varias unidades, solo conecte una unidad a la vez a la máquina de análisis. Cree una imagen de cada unidad y luego almacene las unidades en contenedores apropiados.

Paso siete: Comience el análisis en la imagen de la unidad de arranque principal. Usando análisis estático, verifique la secuencia de arranque. Realice un análisis binario diferencial en los componentes de inicialización del sistema operativo primario, incluida la estructura de metadatos de archivos y el orden de creación.

Paso ocho: Comience el análisis de las bibliotecas críticas de seguridad.

Paso nueve: comience el análisis de las herramientas de administración del sistema, los registros y los archivos de configuración.

Paso diez: comienza el análisis de servicios y daemons.

Paso once: Comienza el análisis de las aplicaciones.

Paso doce: comienza el análisis de los archivos de usuario y los archivos restantes.

  

¿Lugares para buscar archivos sospechosos?

Todos los archivos deben considerarse sospechosos hasta que hayas verificado que no lo están.

  

¿Buscar comandos para detectar un comportamiento de archivo extraño?

No se deben ejecutar comandos en una máquina potencialmente comprometida. Tan pronto como sospeche que un sistema puede estar comprometido, debe desconectarse de todos los canales de comunicación. Si el sistema no es candidato para un ataque de arranque en frío en la memoria RAM, debe apagarse inmediatamente y quitarse el cable de alimentación.

  

¿El tráfico de aspecto extraño se ha detectado en el sniffer?

No se debe enviar ni recibir tráfico en una máquina potencialmente comprometida.

  

¿Verificando la integridad del archivo en comandos importantes para saber si puede confiar o no?

La integridad del archivo se puede verificar en una máquina de análisis usando imágenes de unidad de solo lectura si tiene una buena base de datos de integridad de archivos. Cada archivo en la base de datos debe ser verificado.

    
respondido por el this.josh 16.07.2011 - 03:57
fuente
14

El número de opciones para lugares para ocultar, lugares para enganchar, etc. es tan grande que cualquier lista paso a paso para la verificación manual será incompleta.

Y, por supuesto, hay una historia completamente diferente de rootkits del kernel, que dejan una pequeña cantidad de rastros en el sistema, que generalmente se pueden descubrir con el análisis forense si se implementan correctamente.

Lo que pides es simplemente incorrecto: incluso si comienzo a enumerar cosas para verificar, va a ser muy engañoso para cualquiera que lo lea. La mejor apuesta del usuario promedio es usar herramientas como chkrootkit y rkhunter, que aunque incompletas y que se pueden omitir fácilmente, contienen la 'lista de cosas para verificar' que solicita y las repasa de forma automática.

Divulgación: mi área de investigación anterior estaba relacionada con el rootkit y he desarrollado varios rootkits y software de detección de rootkits para plataformas Linux en el pasado.

    
respondido por el john 06.06.2011 - 16:42
fuente
2

Esta pregunta presupone toda la información incorrecta. En primer lugar, debe saber en qué confiar antes de entrar en una investigación de rootkit. Si no tenía un medio fuerte de solo lectura o escritura una sola vez que funcionara correctamente por los motivos correctos, entonces simplemente no puede confiar en el monitoreo de la integridad del archivo (estos deben compilarse estáticamente en CDR o material SD protegido con bloqueo). Los registros deben escribirse en unidades WORM.

Los analizadores de memoria a través de LKM como 99lb han estado disponibles por años. En los últimos 4-5 años, estos se han movido hacia el hipervisor. Se ha realizado demasiada investigación en esta área para describirlo todo en un solo post. Sin embargo, parece que la dirección de virtualización del servidor VMware es mediante el uso de su tecnología patentada VShield. VMware va a abandonar la API de VMsafe en poco tiempo. Las implementaciones de código abierto / investigación se pueden encontrar en XenAccess y InvisibleThings .

Si desea una lista de verificación, es posible que deba revisar el libro Kit de herramientas de DVD de análisis forense de Unix y Linux .

    
respondido por el atdre 10.06.2011 - 22:09
fuente

Lea otras preguntas en las etiquetas