elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Informática
| |-+  Tutoriales - Documentación (Moderador: r32)
| | |-+  ¿Cómo puedo saber si un sistema Linux ha sido comprometido?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo puedo saber si un sistema Linux ha sido comprometido?  (Leído 13,314 veces)
Rojodos
Colaborador
***
Desconectado Desconectado

Mensajes: 3.536



Ver Perfil WWW
¿Cómo puedo saber si un sistema Linux ha sido comprometido?
« en: 1 Diciembre 2003, 19:45 pm »

Examina los ficheros de log buscando conexiones desde lugares inusuales o cualquier actividad fuera de lo normal. Por ejemplo, mira el ultimo log, "process accounting", todos los logs creados por syslog, y otros logs de seguridad. Si tu firewall o tu router escriben logs en lugares distintos de donde los escribe el sistema estudiado, recuerda chequear también esos logs. Esta no es una garantía completa a no ser que "los logs se escriban en un append-only media"; muchos intrusos editan los ficheros de log para intentar ocultar su actividad.

Busca los ficheros con los bits setid y setgid activados (especialmente los setuid de root) en todo el sistema. Los intrusos suelen dejar copias de programas como /bin/sh o /bin/time con el bit "setuid" activado para permitirles acceso a root mas tarde. Se puede usar el programa de UNIX find(1) para encontrar ficheros con setuid y/o setgid activados.

Comprueba los binarios del sistema para asegurarte de que no han sido alterados. Hay intrusos que cambian programas en sistemas UNIX tales como login, su, telnet, netstat, ifconfig, ls, find, du, df, libc, sync, cualquier binario referenciado en /etc/inetd.conf, y otros programas de red y del sistema críticos, así como librerías de objetos compartidas.

Ten cuidado a la hora de confiar en los backups; tus backups pueden contener a su vez caballos de Troya.

Comprueba que en tu sistema no existan programas no autorizados de monitorización de red, comúnmente llamados sniffer "packet sniffer". Un intruso puede usar un sniffer para capturar información de la cuenta y password de un usuario.

Examina todos los ficheros que son ejecutados por cron y at. Hay intrusos que dejan puertas traseras en ficheros ejecutados por cron o enviados a at, pues permiten al intruso volver al sistema.

También, verifica que todos los ficheros/programas referenciados por los jobs de cron y at, y los ficheros del job en sí mismos, no tienen permisos de escritura para todo el mundo.

Comprueba que no haya servicios no autorizados. Inspecciona el /etc/inetd.conf buscando cambios no autorizados. Busca entradas que ejecuten un programa shell, y verifica todos los programas especificados en /etc/inetd.conf para comprobar que son correctos y que no han sido reemplazados por un caballo de Troya.

También chequea servicios legítimos que hayas comentado en el /etc/inetd.conf. Algún intruso puede haber habilitado un servicio que previamente habías deshabilitado o sustituir el programa inetd por un caballo de Troya.

Examina el fichero /etc/passwd y comprueba las modificaciones de dicho fichero. Verifica que no haya nuevas cuentas creadas sin autorización, cuentas sin password, o cambios en el UID (especialmente UID 0).

Comprueba que no existan entradas no autorizadas en los ficheros de configuración de red y del sistema. En particular, busca entradas con '+' y nombres de hosts externos no apropiados en el fichero /etc/hosts.equiv, /etc/hosts.lpd, y en todos los ficheros .rhosts. Estos ficheros no deben tener permisos de escritura para todo el mundo. Además, confirma que estos ficheros existían previamente a ninguna intrusión y que no han sido creados por el intruso.

Busca por todo el sistema ficheros raros u ocultos, pues estos ficheros pueden usarse para ocultar herramientas e información.

Examina todas las maquinas de la red local cuando busques señales de una intrusión. Si la seguridad de un host se ha visto comprometida, la seguridad de otros en la red también.

CUOTAS

Las cuotas permiten especificar limites en dos aspectos del almacenamiento en disco: El numero de inodos que puede poseer un usuario o un grupo; y el  número de bloques de disco que puede ocupar un usuario o un grupo.

La idea que se esconde detrás de las cuotas es que se obliga a los usuarios a mantenerse debajo de su limite de consumo de disco, quitándoles su habilidad de consumir espacio ilimitado de disco en un sistema.

Las cuotas se manejan en base al usuario y al sistema de ficheros. Si el usuario espera crear ficheros en mas de un sistema de ficheros, las cuotas deben activarse en cada sistema de ficheros por separado.

DETECCION DE INTRUSOS MEDIANTE ANALISIS DE HUELLAS

Ficheros que guardan registros:

utmp: Guarda un registro (log) de los usuarios que están utilizando el sistema mientras estan conectados al sistema. Directorios: /var/adm/utmp y /etc/utmp

wtmp: Guarda un log cada vez que un usuario se introduce en el sistema o sale del sistema. Directorios: /var/adm/wtmp y /etc/wtmp

lastlog: Guarda un log del momento exacto en que un usuario entro por ultima vez. Directorio: /var/adm/lastlog

acct o pacct: Registra todos los comandos ejecutados por cada usuario (aunque no registra los argumentos con que dichos comandos fueron ejecutados). Directorio: /var/adm/acct

Comandos que permiten ver el estado del sistema:

who y users: Permite saber quién esta conectado al sistema en el momento en que ejecutamos el comando.

finger: Lo mismo que el comando who, con el añadido de que podemos saber qué usuarios están conectados a una determinada máquina en el momento en que ejecutamos el comando.

last: Muestra la última vez que se conecto un usuario. Last toma la información que saca en pantalla del fichero wtmp.

ps: Permite saber qué procesos estan siendo ejecutados por el sistema y qué usuarios los ejecutan.

accton: Activa un proceso llamado accounting, que es el que proporciona informacion al fichero acct.

lastcomm: Permite saber qué comandos han ejecutado los usuarios. Lastcomm toma la información que saca por pantalla del fichero acct.

Por lo tanto, si queremos borrar nuestras huellas del sistema, bastar con borrar cualquier log relativo a nuestro usuario de los ficheros utmp, wtmp y acct. Esto se puede hacer de dos formas:

No borramos los ficheros pero los dejamos con cero bytes.

Editar los ficheros con un ‘zapper’ que pueden borrar los datos relativos a un usuario; en particular de estos ficheros dejando el resto de los datos intacto.

Eliminar huellas de acct

Es bastante complicado borrar nuestras huellas de este fichero; de hecho no se pueden borrar del todo, aunque se puede reducir a una mínima parte nuestra presencia en el sistema.

Más sistemas de log:

Syslog: Mediante el syslog se puede configurar de tal forma que determinados programas, procesos o aplicaciones, generen mensajes que son enviados a determinados ficheros donde quedan registrados dichos mensajes. Este fichero sí puede ser editado en modo texto y puede ser analizado para ver dónde hemos ido dejando rastros y posteriormente borrar esas huellas. Aunque por supuesto, necesitaremos ser root para poder hacerlo.
TCP-Wrapper: Se trata de una aplicacion que proporciona una serie de mecanismos para el registro y filtro de aquellos servicios invocados o llamados a través del inetd (internet daemon). Con esta herramienta el administrador posee un control absoluto de las conexiones hacia y desde su máquina y es informado en todo momento de las conexiones que se han hecho desde su maquina y hacia su máquina.

***************************

Fuente:  www.infohackers.org


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines