Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Qué es un rootkit?

¿Qué es un rootkit?

¿Qué es un rootkit?

Los rootkits surgieron a principios de la década de 1990 y el término rootkit se utilizó por primera vez en un aviso de seguridad de febrero de 1994. El aviso de seguridad es el CA-1994-01 de CERT-CC, titulado "Ataques continuos de vigilancia de redes", que fue revisado por última vez el 19 de septiembre de 1997. Desde su aparición, la tecnología rootkit se ha desarrollado rápidamente, volviéndose más utilizada y cada vez más difícil de detectar. Entre ellos, los dos sistemas operativos SunOS y Linux tienen la mayor cantidad de rootkits (los árboles son enormes :P). Todos los rootkits se componen básicamente de varios programas independientes. Los rootkits típicos incluyen:

Programas de rastreo de Ethernet, utilizados para obtener información como nombres de usuario y contraseñas transmitidas a través de la red.

Los programas troyanos, como inetd o login, proporcionan a los atacantes puertas traseras.

Programas como ps, netstat, rshd y ls que ocultan los directorios y procesos del atacante.

Esto también puede incluir herramientas de limpieza de registros como zap, zap2 o z2, que los atacantes utilizan para eliminar entradas sobre su paradero en archivos de registro como wtmp, utmp y lastlog.

Algunos rootkits sofisticados también pueden proporcionar a los atacantes servicios como telnet, shell y finger.

También incluye scripts para limpiar otros archivos en los directorios /var/log y /var/adm.

El atacante utiliza programas relacionados en el rootkit para reemplazar los programas ps, ls, netstat y df originales del sistema, de modo que los administradores del sistema no puedan encontrarse a través de estas herramientas. A continuación, el atacante utilizará herramientas de limpieza de registros para limpiar los registros del sistema y eliminar sus propios rastros. Luego, el atacante suele ingresar al sistema a través de la puerta trasera instalada y ver los registros del rastreador para lanzar otros ataques. Si el atacante instala el rootkit correctamente y limpia los archivos de registro adecuadamente, será difícil para el administrador del sistema darse cuenta de que el sistema ha sido comprometido hasta que un día el administrador de otro sistema se comunique con él o el registro del rastreador llene todos los discos antes. se da cuenta de que está en un gran problema. Sin embargo, la mayoría de los atacantes no son muy cautelosos al limpiar los registros del sistema, o simplemente eliminan todos los registros del sistema, y ​​alertar a los administradores del sistema puede determinar que el sistema se ha visto comprometido en función de estas anomalías. Sin embargo, los comandos más comunes como ps, df y ls ya no son confiables durante la recuperación y limpieza del sistema. Muchos rootkits tienen un programa llamado FIX que permite a un atacante tomar una instantánea del código binario del sistema antes de instalar el rootkit y luego instalar un reemplazo. FIX puede falsificar las tres marcas de tiempo (atime, ctime, mtime) y la fecha del programa de reemplazo según el programa original, PERMISO, el usuario al que pertenece y el grupo de usuarios al que pertenece. Si un atacante puede utilizar con precisión estas buenas aplicaciones y tener cuidado al instalar un rootkit, será difícil para los administradores del sistema detectarlo.

LINUX ROOTKIT IV

Como se mencionó anteriormente, la mayoría de los rootkits se dirigen a Linux y SunOS. A continuación presentaremos un rootkit de sistema Linux muy típico, llamado Linux Rootkit IV. Linux Rootkit IV es un rootkit de código abierto Linux Rootkit IV es un rootkit de código abierto escrito por Lord Somer y lanzado en noviembre de 1998.

Estos rootkits incluyen componentes comunes de rootkit, como rastreadores, herramientas de edición/eliminación de registros y puertas traseras para...

Linux Rootkit IV es un rootkit de código abierto escrito por Lord Somer.

Después de tantos años de desarrollo, Linux Rootkit IV tiene cada vez más funciones y características más ricas. Sin embargo, aunque su código es muy grande, es muy sencillo de instalar y utilizar. Simplemente ejecute make install para instalarlo correctamente. Si también desea instalar la herramienta de sombra, simplemente realice la instalación de sombra. Nota: Linux Rootkit IV solo se puede utilizar con el kernel Linux 2.x. A continuación proporcionamos una breve descripción general de las diversas herramientas incluidas en Linux Rootkit IV. Para obtener instrucciones detalladas, consulte el archivo README de su paquete de distribución.

Programas para ocultar intrusos

Los autores de Linux Rootkit IV hicieron todo lo posible para escribir muchos programas de reemplazo para los comandos del sistema que pueden usarse para ocultar intrusos en lugar de los comandos originales del sistema. . Estos programas incluyen:

ls, find, du

Estos programas evitarán que se muestren los archivos del intruso y calcularán el espacio ocupado por los archivos del intruso. Antes de la compilación, un intruso puede usar ROOTKIT_FILES_FILE para establecer la ubicación de sus archivos, que por defecto es /dev/ptyr. Tenga en cuenta que si se usó la opción SHOWFLAG durante la compilación, puede usar el comando ls -/ para enumerar todos los archivos. Estos programas también ocultan automáticamente todos los archivos llamados ptyr, hack.dir y W4r3z.

ps, top, pidof

Estos programas se utilizan para ocultar todos los procesos relacionados con intrusos.

netstat

Oculta el tráfico de datos de red hacia o hacia la dirección IP o el puerto especificado.

killall

No mata procesos ocultos por intrusos.

ifconfig

Si un intruso inicia un rastreador, este programa evita que se muestre el indicador PROMISC, lo que dificulta que los administradores del sistema descubran que una interfaz de red se ha colocado en modo promiscuo. .

crontab

Ocultar entradas de crontab sobre el atacante.

tcpd

Evitar que ciertas conexiones se registren en el registro

syslogd

Filtrar cierta información de conexión en el registro

p>

Caballo de Troya

Programa de caballo de Troya

Proporciona puertas traseras para usuarios locales, incluido:

chfn

Eleva los derechos del programa de usuarios locales comunes. Ejecute chfn y cuando solicite un nuevo nombre de usuario, si el usuario ingresa la contraseña de rookit, sus permisos se elevarán a root.

chsh

También es un programa que eleva los derechos de los usuarios locales. Ejecute chsh y, cuando solicite un nuevo shell, si el usuario ingresa la contraseña de rootkit, sus privilegios se elevarán a root.

passwd

Tiene las mismas funciones que los dos programas anteriores.

iniciar sesión

Permite iniciar sesión con cualquier cuenta utilizando una contraseña de rootkit. Si se deniega el inicio de sesión con la cuenta raíz, intente rewt. El programa también puede desactivar la grabación del historial de comandos cuando se utiliza la puerta trasera.

Programas troyanos de monitoreo de red

Estos programas proporcionan puertas traseras para que usuarios remotos accedan a inetd, rsh, ssh, etc., según la versión. A medida que se actualiza la versión, Linux Rootkit IV se vuelve cada vez más potente y rico en funciones.

Generalmente incluye los siguientes programas de servicios de red:

inetd

Programa troyano inetd, que proporciona acceso remoto a los atacantes.

rshd

Proporciona servicios de shell remotos a los atacantes. Un atacante puede utilizar el comando rsh -l rootkitpassword host para iniciar un shell raíz remoto.

sshd

Una puerta trasera que proporciona servicios ssh a los atacantes.

Programas de herramientas

Todos los programas que no entran en las categorías anteriores se pueden clasificar en esta categoría. Estos programas pueden implementar funciones como limpieza de registros, detección de mensajes y puerto de shell remoto. vinculante, entre los que Incluye:

arreglo

Programa de falsificación de atributos de archivos

linsniffer

Programa rastreador de mensajes.

sniffchk

Un script de shell bash simple para comprobar si se está ejecutando un rastreador en el sistema.

wted

editor de registros wtmp/utmp. Puede editar todos los archivos de tipo wtmp o utmp usando esta herramienta.

z2

Herramienta de limpieza de registros utmp/wtmp/lastlog. Puede eliminar todas las entradas en el archivo de registro utmp/wtmp/lastlog para un nombre de usuario específico. Sin embargo, si se utiliza en un sistema Linux, será necesario modificar manualmente el código fuente para establecer la ubicación de los archivos de registro.

bindshell rootkit

Vincula el servicio de shell a un puerto determinado (el puerto predeterminado es 12497) para proporcionar el servicio de shell a atacantes remotos.

Cómo detectar rootkits

Obviamente, la única forma de proteger su red de ataques de rootkit es hacer que su red sea muy fácil de instalar para que los atacantes no puedan explotarla. Sin embargo, me temo que nadie puede ofrecer tal garantía, pero desarrollar algunos buenos hábitos en la administración y el mantenimiento diario de la red puede reducir el daño causado por los rootkits hasta cierto punto y detectar su existencia a tiempo.

En primer lugar, no transmita contraseñas en texto claro a través de la red ni utilice contraseñas de un solo uso. De esta forma, incluso si hay un rootkit instalado en el sistema, el atacante no puede escuchar a través de la red y obtener más nombres de usuario y contraseñas, evitando así que la intrusión se propague.

El uso de herramientas de detección como Tripwire y Aide puede ayudarle a detectar atacantes antes de que ocurran y también proporciona una buena verificación de la integridad del sistema. Estas herramientas se diferencian de otras herramientas de detección de intrusiones en que, en lugar de detectar intrusiones mediante los llamados códigos de firma de ataque, monitorean e inspeccionan los cambios que ocurren en el sistema. Tripwire primero utiliza funciones de código de firma específicas para crear una base de datos de firmas para los archivos y directorios del sistema que deben monitorearse. La llamada función de código de firma es una función que toma un archivo arbitrario como entrada y genera datos de tamaño fijo ("código de firma"). Si un intruso modifica el archivo, la firma del archivo se dañará incluso si el tamaño del archivo sigue siendo el mismo. Utilizando esta base de datos, Tripwire puede detectar fácilmente cambios en el sistema. Además, la firma del archivo es casi imposible de falsificar y cualquier cambio en el sistema no puede escapar al monitoreo de Tripwire (por supuesto, la premisa es que haya realizado configuraciones precisas para su sistema: P, consulte este artículo para obtener más información). uso de Tripwire y asistente) Artículos relacionados en el sitio). Finalmente, debe mantener esta base de datos de códigos de características en un lugar seguro.