LinuxParty

Ratio: 5 / 5

Inicio activadoInicio activadoInicio activadoInicio activadoInicio activado
 

Una de las primeras acciones que lleva a cabo un intruso, una vez ingresa a un sistema, es instalar un rootkit, el cual facilita el control de la máquina desde ese momento en adelante. Dichas herramientas presentan un gran riesgo para los administradores y, por tanto, es de vital importancia conocer sus alcances, funcionamiento y los mecanismos que existen para detectarlos.

Los Rootkits fueron descubiertos a mediados de los '90. En aquella época, los administradores de sistema del sistema operativo Unix de SUN comenzaron a ver un comportamiento extraño en el servidor, la falta de espacio de disco, ciclos extra en la CPU y las conexiones de red que no se mostraba con el comando netstat.

CUESTIONES

1. Qué son exactamente.

Los Rootkits son herramientas que permiten esconder actividades intrusas dentro de un sistema, después de que un intruso ha logrado penetrar en él. Además, proveen al atacante de vías de acceso ocultas para utilizar nuevamente el sistema en futuras oportunidades. El nombre Rootkit se origina a partir de la idea de que quien lo utiliza puede acceder fácilmente al nivel de root, o de administrador del sistema, una vez la herramienta ha sido instalada.

2. Qué tipos hay.

De acuerdo a la teconología empleada, existen tres clases principales de Rootkits disponibles hoy:

  1. Kits binarios: alcanzan su meta substituyendo ciertos ficheros del sistema por sus contrapartes Troyaneadas.
  2. Kits del núcleo: utilizan los componentes del núcleo (también llamados módulos) que son reemplazados por troyanos.
  3. Kits de librerías: emplean librerías del sistema para contener Troyanos.

3. En qué se basan

El principio operativo de los rootkits es el de reemplazar archivos de programa del sistema con versiones modificadas, para que se ejecuten determinadas operaciones. A estas versiones modificadas se les conoce con el nombre de troyanos. Un rootkit es, en esencia, una colección de programas troyanos.

4. Objetivo

El objetivo de los troyanos es imitar exactamente el comportamiento de las aplicaciones originales, pero escondiendo los archivos, acciones y evidencias del intruso. En otras palabras, una vez instalado el rootkit, en principio, el intruso podrá utilizar el sistema sin ser detectado por el administrador. Sin embargo, actualmente existen métodos para detectar la presencia de rootkits dentro de un sistema.

5. Qué ficheros suelen los intrusos troyanizar

Algunos son:

  • login, su, telnet, netstat, ifconfig, ls, find, du, df, libc, sync,

  • así como los binarios listados en /etc/inetd.conf.

6. Algunos Rootkits

Solaris rootkit, FreeBSD rootkit, lrk3, lrk4, lrk5, lrk6, t0rn (and t0rn v8), some lrk variants, Ambient's Rootkit for Linux (ARK), Ramen Worm, rh[67]-shaper, RSHA, Romanian rootkit, RK17, Lion Worm, Adore Worm, LPD Worm, kenny-rk, Adore LKM, ShitC Worm, Omega Worm, Wormkit Worm, dsc-rootkit.

DETECTANDO ROOTKITS

A. Existen maneras de diferenciar los ejecutables legítimos de los troyanos mediante el uso de algoritmos de chequeo de suma. Dichos algoritmos, como el MD5 checksum, garantizan que la única forma de que el resultado de la suma sea igual para dos archivos, es que los dos archivos sean perfectamente idénticos. De esta forma, un administrador precavido debe almacenar los checksum de su sistema en dispositivos externos, tales como CD's, para poder, más adelante, identificar rootkits comparando dichos números con los generados por un programa de chequeo en un momento determinado.

A). Una herramienta diseñada para este fin es Tripwire, el cual mantiene control de integridad sobre los archivos del sistema. Esta herramienta se encuentra disponible para sistemas Unix/Linux en http://www.tripwire.org.

B). Otra manera para detectar la posible existencia de rootkits es realizar escaneos de puertos desde otros equipos, con el fin de detectar puertas traseras que estén escuchando en puertos que normalmente no se utilizan. También existen demonios especializados, como rkdet para detectar cualquier intento de instalación de un rootkit y, de ser posible, impedirlo y avisar al administrador del hecho.

C). Otra herramienta es Chkrootkit (http://www.chkrootkit.org/), que es un shell script que busca en nuestro sistema binarios modificados por rootkits.

Entre otras tareas Chkrootkit revisa localmente rastros de rootkits incluyendo detección de:

  • rootkits LKM
  • ifpromisc.c: para revisar y ver si la interface de red está en modo promiscuo
  • chklastlog.c: para revisar lastlogs por las tachaduras
  • chkkwtmp.c: para revisar wtmp por las tachaduras

Algunas herramientas antirootkits recomendadas para su instalación:


Estas son algunas de la herramientas que recomendamos su instalación para evitar los accesos indeseados, como programar su ejecución, ya se lo dejamos al administrador:

Chkrootkit

Nombre: chkrootkit
Descripción: chkrootkit es una herramienta para comprobar y detectar localmente signos de un rootkit.
 Contiene:

 * Chkrootkit: shell script que verifica los binarios del sistema.
 * Ifpromisc: comprueba si la interfaz de red está en Modo promiscuo.
 * Chklastlog: comprueba los últimos logs borrados
 * Chkwtmp: comprueba borrados wtmp.
 * Chkproc: comprueba signos de troyanos LKM.
 * Chkdirs: comprueba signos de troyanos LKM.
 * Cadenas: cadenas de reemplazo rápido y sucio.
 * Chkutmp: comprueba borrados utmp.

Rkhunter

Nombre: rkhunter
Descripción: Rootkit Hunter (RKH) es una herramienta fácil de usar que comprueba en los equipos
 que ejecutan UNIX (clones)la presencia de rootkits y otras herramientas no deseadas.

Se ejecuta escribiendo: rkhunter --check

Unhide

Nombre: unhide
Descripción: Es una herramienta forense que hace visible kits para encontrar procesos 
 y puertos TCP/UDP ocultos por rootkits, módulos del núcleo o por otras Técnicas. 
 Incluye dos utilidades: mostrar y hacer visible tcp.

 Unhide detecta procesos ocultos por tres técnicas:

 - La comparación de la salidas de /proc y /bin/ps
 - La comparación de la información obtenida de /bin/ps con la 
 Recogida de llamadas al sistema (syscall scanning)
 - Análisis completo del espacio de ID de proceso (PID fuerza bruta)

 Unhide-tcp identifica puertos TCP/UDP que están escuchando, pero no son
 mostrados en /bin/netstat mediante ataques de fuerza bruta de todos los puertos 
 disponibles TCP/UDP.

Y así, es como podrá instalarlos directamente desde sus propios repositorios (que además es lo recomendado): (quien tenga Debian/Ubuntu, para buscar usen: 'apt-cache search rootkit', para instalar 'apt-get install paquete-a-instalar')

[root@localhost ~]# yum search rootkit
Complementos cargados:langpacks, presto, refresh-packagekit
================ Nombre/Resumen que coinciden con: rootkit =================
chkrootkit.x86_64 : Tool to locally check for signs of a rootkit
rkhunter.noarch : A host-based tool to scan for rootkits, backdoors and
                : local exploits
unhide.x86_64 : Tool to find hidden processes and TCP/UDP ports from
              : rootkits

  Nombre y resumen que coinciden con  y sólo , use "buscar todo" para todo.
[root@localhost ~]# 
[root@localhost ~]# yum -y install chkrootkit rkhunter unhide

Complementos cargados:langpacks, presto, refresh-packagekit
Resolviendo dependencias
--> Ejecutando prueba de transacción
---> Paquete chkrootkit.x86_64 0:0.49-4.fc17 debe ser instalado
---> Paquete rkhunter.noarch 0:1.4.0-5.fc17 debe ser instalado
---> Paquete unhide.x86_64 0:1.0-7.fc17.20100201 debe ser instalado
--> Resolución de dependencias finalizada

Dependencias resueltas

============================================================================
 Package         Arquitectura
                             Versión                     Repositorio  Tamaño
============================================================================
Instalando:
 chkrootkit      x86_64      0.49-4.fc17                 fedora       315 k
 rkhunter        noarch      1.4.0-5.fc17                updates      184 k
 unhide          x86_64      1.0-7.fc17.20100201         fedora        27 k

Resumen de la transacción
============================================================================
Instalar  3 Paquetes

Tamaño total de la descarga: 526 k
Tamaño instalado: 1.7 M
Descargando paquetes:
(1/3): chkrootkit-0.49-4.fc17.x86_64.rpm             | 315 kB     00:01     
(2/3): rkhunter-1.4.0-5.fc17.noarch.rpm              | 184 kB     00:01     
(3/3): unhide-1.0-7.fc17.20100201.x86_64.rpm         |  27 kB     00:00     
----------------------------------------------------------------------------
Total                                       182 kB/s | 526 kB     00:02     
Ejecutando verificación de transacción
Ejecutando prueba de transacción
La prueba de transacción ha sido exitosa
Ejecutando transacción
  Instalando    : unhide-1.0-7.fc17.20100201.x86_64                     1/3 
  Instalando    : rkhunter-1.4.0-5.fc17.noarch                          2/3 
  Instalando    : chkrootkit-0.49-4.fc17.x86_64                         3/3 
  Comprobando   : chkrootkit-0.49-4.fc17.x86_64                         1/3 
  Comprobando   : rkhunter-1.4.0-5.fc17.noarch                          2/3 
  Comprobando   : unhide-1.0-7.fc17.20100201.x86_64                     3/3 

Instalado:
  chkrootkit.x86_64 0:0.49-4.fc17         rkhunter.noarch 0:1.4.0-5.fc17    
  unhide.x86_64 0:1.0-7.fc17.20100201    

¡Listo!
[root@localhost ~]# 

 

Puede contratar ExtreHost para temas profesionales con sus servidores. No lo dude, contáctenos.
Pin It

Escribir un comentario


Código de seguridad
Refescar



Redes:



 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

Probablemente te niegues, pero.. ¿Podrías ayudarnos con una donación?


Tutorial de Linux

Filtro por Categorías

Nos obligan a moslestarte con la obviedad de que este sitio utiliza Cookies. Ver política