Ver Mensaje Individual
  #8 (permalink)  
Antiguo 30/04/2003, 11:58
Avatar de Alfon
Alfon
Colaborador
 
Fecha de Ingreso: octubre-2000
Mensajes: 1.976
Antigüedad: 23 años, 6 meses
Puntos: 14
Linux. Detectando rootkits

Detectando rootkits. Linux

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 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 epoca, los administradores de sistema del
sistema operativo UNIX del 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.

Que 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 vias 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.


Que tipos hay.

De acuerdo a la teconologia empleada existen tres clases principales de Rootkits disponibles hoy: kits binarios, kits del núcleo y kits de librerias.

-Kits binarios

alcanzan su meta substituyendo ciertos ficheros del sistema por sus contrapartes Troyaneadas.

-Kits del núcleo

utilizan los componentes del núcleo (también llamados módulos) que son reemplazados por troyanos.

-Kits de librerias

emplean librerias del sistema para contener los Troyanos.

En que 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.

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.

Detectando Rootkits

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.

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.

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.

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 y

- chkkwtmp.c, para revisar wtmp por las tachaduras.

- Evaluado en Linux, FreeBSD, Solaris, y OpenBSD.


Que ficheros suelen los intrusos troyanizar.

Algunos son:

login, su, telnet, netstat, ifconfig, ls, find, du, df, libc, sync, asi como los binarios listados en /etc/inetd.conf.

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.
__________________
Un saludo,

Alfon
http://seguridadyredes.nireblog.com

Última edición por Alfon; 30/04/2003 a las 12:01