540 likes | 679 Views
Análisis Forense Básico. Índice. Parte I Como está el Patio Necesidades ¿Que nos hemos propuesto? Detección de intrusiones en ASyC ¿Qué deberíamos hacer? Gestión de Incidentes Parte II Cronología de una intrusión Rootkits Eliminación de rootkits
E N D
Índice Parte I Como está el Patio Necesidades ¿Que nos hemos propuesto? Detección de intrusiones en ASyC ¿Qué deberíamos hacer? Gestión de Incidentes Parte II Cronología de una intrusión Rootkits Eliminación de rootkits Pasos a seguir para la puesta en marcha de un sistema Parte III Teoria Recopilación de Evidencias Tipos de Evidencias EnREDA Parte IV Caso Práctico
Parte I Internet y los Virus
Como está el patio (en Internet) En estos momentos Estan colaborando Creadores de virus y Spammers Creadores de virus y Scammers Amenazas crecientes Spyware La delincuencia internacional Bots, phising, y pharming Declaración de guerra. Bagle, 2004 (“NetSky…don’t ruine our bussiness, wanna start a war”)
Como está el patio (en Internet) Objetivos y Técnicas Amenazar la disponibilidad Conseguir que equipos/empresas dejen de dar servicios Ataques a páginas Web Infecciones masivas Su motivación El reto El perjuicio económico Amenazar la imagen Conseguir que la info sea modificada o posibilitar su sustitución Deface Ingeniería Inversa
Como está el patio (en Internet) Su motivación Desestabilización Daño a la imagen corporativa (Caso Disney) Amenazar la confidencialidad Conseguir datos personales del ciudadano Phising, pharming Nuevos gusanos, troyanos Spywares Su motivación Económica
Como está el patio (UC3M) • Tenemos de tó • Tenemos escaneos, tenemos troyanos, tenemos infecciones, tenemos rootkits… • Ultima moda. Instalación de servidores FXP. • Aprovechan alguna vulnerabilidad para tomar control remoto del equipo • Introducen y sacan contenidos del equipo de temática variada de forma transparente al usuario
Necesidades • Creciente nº de virus/troyanos/… que impactan en la red • Detección de incidentes día a día • Reportados por RedIris • Revisión constante de varias herramientas • MRTG (flujos anormales de tráfico) • TCPDump (detección de patrones anómalos) • Snort (Sonda que detecta firmas de ataques) • Nessus (audita la red buscando ciertos vulnerabilidades) • Nmap • Creación de scripts propios para la detección “automática” de cierto tipo de incidentes (FXP) • Ninguna herramienta es completa, y, por ello, es necesario utilizar un conjunto de ellas. • En resumen, el 95% de nuestro tiempo dedicado a tareas rutinarias y el mayor % de tiempo del CAU, Aulas, SinTela dedicado a formatear/limpiar equipos infectados.
¿Que nos hemos propuesto? Mejorar el servicio que se presta al usuario Proporcionando el conocimiento que ha adquirido ASyC Herramientas empleadas Experiencias en ASyC Tipos y características de los programas maliciosos analizados ¿Existe una solución para todos los casos?
Detección de intrusiones en ASyC Síntomas de que algo va mal Escaneos masivos Conexiones desde el exterior a puertos empleados por troyanos Alertas en el IDS Aumento del ancho de banda empleado por un equipo
Detección de intrusiones en ASyC Herramientas empleadas IDS: Basados en snort, uno por campus Escaneos: Logs de cortafuegos basados en iptables/ipfilter IDS Tcpdump Ancho de banda MRTG, ipfm y NeTraMet Auditorías puntuales Remotas: nmap, nessus Locales: sic, wolf, otros (fport, handle, listdll, etc)
Detección de intrusiones en ASyC 2005-04-16 15:16:59.591106 IP 163.117.XXX.246.1223 > 163.117.233.6.135: S 1592499298:1592499298(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.591133 IP 163.117.XXX.246.1226 > 163.117.92.43.135: S 1592634287:1592634287(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.647617 IP 163.117.XXX.246.1159 > 163.117.112.99.135: S 1588692861:1588692861(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.648432 IP 163.117.XXX.246.1227 > 163.117.216.128.135: S 1592705103:1592705103(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.648458 IP 163.117.XXX.246.1228 > 163.117.81.138.135: S 1592742646:1592742646(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.678858 IP 163.117.XXX.246.1230 > 163.117.73.97.135: S 1592860394:1592860394(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.748585 IP 163.117.XXX.246.1160 > 163.117.61.62.135: S 1588770848:1588770848(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.748612 IP 163.117.XXX.246.1161 > 163.117.185.111.135: S 1588807355:1588807355(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.778426 IP 163.117.XXX.246.1233 > 163.117.227.114.135: S 1593033933:1593033933(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.849198 IP 163.117.XXX.246.1234 > 163.117.123.234.135: S 1593120565:1593120565(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:16:59.968975 IP 163.117.XXX.246.1239 > 163.117.67.181.135: S 1593417015:1593417015(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.048543 IP 163.117.XXX.246.1166 > 163.117.105.103.135: S 1589103666:1589103666(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.048565 IP 163.117.XXX.246.1167 > 163.117.199.149.135: S 1589146613:1589146613(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.089038 IP 163.117.XXX.246.1241 > 163.117.124.18.135: S 1593544839:1593544839(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.148978 IP 163.117.XXX.246.1168 > 163.117.175.72.135: S 1589227911:1589227911(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.159861 IP 163.117.XXX.246.1242 > 163.117.105.240.135: S 1593624048:1593624048(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.159896 IP 163.117.XXX.246.1243 > 163.117.200.219.135: S 1593672198:1593672198(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.248889 IP 163.117.XXX.246.1170 > 163.117.194.29.135: S 1589339928:1589339928(0) win 64240 <mss 1460,nop,nop,sackOK> 2005-04-16 15:17:00.248922 IP 163.117.XXX.246.1172 > 163.117.123.117.135: S 1589457978:1589457978(0) win 64240 <mss 1460,nop,nop,sackOK> ……………………. • Escaneo de puertos. Intento de propagación de virus/troyano...
Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2005-04-18 17:35 CEST Interesting ports on pc-X-116.uc3m.es (163.117.X.116): (The 65529 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 135/tcp open msrpc Puerto NETBIOS 139/tcp open netbios-ssn Puerto NETBIOS 445/tcp open microsoft-ds Puerto NETBIOS 2701/tcp open unknown Puerto para control SMS 2702/tcp open unknown Puerto para control SMS 10000/tcp open snet-sensor-mgmt Puerto del ANTIVIRUS (antg. 12345) Detección de intrusiones en ASyC • Servicios en puertos habituales. Resultado Correcto
Detección de intrusiones en ASyC • Servicios en puertos habituales. Resultado extraño. Investigar
Detección de intrusiones en ASyC • Comprobamos los puertos que nos resultan extraños
Detección de intrusiones en ASyC • Si no nos quedara muy claro lo que hay en ese puerto, podemos utilizar Nessus. • Resultado del informe nessus (resumen)
Detección de intrusiones en ASyC • Volumen normal • Volumen anormal. Investigar maquinas implicadas.
Detección de intrusiones en ASyC • ¿Qué estamos haciendo desde ASyC? • Scripts y reglas que nos permitan automatizar la detección. • Es una investigación continua sobre comportamientos de los nuevos virus/troyanos. Vamos por detrás • Implica tener que desarrollar herramientas propias que se adapten a nuestro entorno y al “ataque” • Buscando soluciones de prevención • Appliance de TrendMicro (NVW) • Appliance Checkpoint (Interspect)
Detección de Intrusión desde PC usuario • Puede haber varios escenarios • El antivirus lo detecta • Lo limpia • No es capaz de limpiarlo -> limpieza “manual” • El antivirus no detecta nada • Porque no ha salido el patrón correspondiente • Porque no es capaz (un serv. ftp no es malo) • ¿Solo tiene el servidor ftp?¿Con cerrar el servicio basta?
¿Qué deberíamos hacer? Explicar al usuario lo que está sucediendo en su equipo Si es posible limpiar Sino, justificar porque es necesario reinstalar Dejar el sistema con los niveles de seguridad mínimos Antivirus, cortafuegos, actualizaciones, contraseñas Cerrar todos aquellos servicios que no sean necesarios Estamos seguros a día de hoy, pero mañana? Debemos estar informados y actualizados.
Conclusión • La necesidad primaria es la protección del usuario y sus datos personales • ¿Qué se puede hacer desde todas las áreas? • “Evangelización” del usuario. (formar/informar) • Endurecimiento de la legislación • Aplicación de Normativas por parte del SdI • No olvidemos que la información vale dinero. Existen mafias internacionales que sacan partido de esto PROTEJAMOS LOS PC’S
Gestión de Incidentes Existe una nueva herramienta https://asyc.uc3m.es Seguridad Desconexiones de Red Listado de Desconexiones -> antiguo Buscar Incidentes -> Nuevo! Creación de un incidente, correo con copia A la persona, si fuera conocida Al director del departamento al que pertenece Al representante del departamento en el Consejo Informático A JMM A Isabel Barro Al Cau del campus correspondiente Al grupo de redes y comunicaciones (ASyC)
Gestión de Incidentes Hay que validarse en la página principal Si pertenece al SdI Se puede hacer búsqueda de incidentes Si no pertenece al SdI Se pueden buscar los incidentes que tiene la persona En próxima versiones Se darán permisos a los miembros de Sintela para poder consultar los incidentes relacionados con su departamento. Solo se enviará correo al CAU si dan servicio al departamento implicado.
Parte II Las Intrusiones
Cronología de una intrusión Depende del tipo de intrusión Virus/gusano: Cronología: Se descubre una vulnerabilidad en el sistema El fabricante libera la actualización correspondiente El virus se difunde (a veces antes que el punto 2) El patrón del antivirus lo detecta y elimina Características Suelen desactivar el antivirus, al menos de forma puntual No se ocultan demasiado No suele afectar a equipos actualizados
Cronología de una intrusión Asalto realizado por una persona física Aprovechan vulnerabilidades más o menos recientes Puede que el antivirus no lo detecte (basta con modificar un poco el programa) La intrusión se adapta al equipo asaltado Incluyen varias puertas traseras y herramientas de administración remota Dameware, VNC, etc Ocultan todos sus procesos, ficheros, conexiones, etc Para ello utilizan rootkits conocidos Algunos rootkits puede detectarlos el antivirus en el momento de la instalación En algunos casos incluyen key-loggers
Actualizaciones y vulnerabilidades • ¿Puede vulnerarse un sistema con todos los parches instalados? • Por desgracia si • El fabricante no corrige las vulnerabilidades de forma instantánea • A veces el parche introduce una vulnerabilidad más grave • Pero, con Windows 2003 eso no pasa...
Pues va a ser que si • Informe de Secunia, 18 de Abril de 2005 • 5 vulnerabilidades pendientes de corregir • 1 de ellas permite heap-overflow (gestión de ficheros .HLP) y eso se considera Highly Critical
Windows 2000 Profesional • 17 vulnerabilidades pendientes • 2 de ellas son Highly Critical
Las comparaciones son odiosas • GNU/Debian 3.0 • 519 vulnerabilidades, 1 pendiente (permite escalada de privilegios y se considera Moderately Critical)
Rootkits Herramienta o conjunto de herramientas para ocultar la actividad de un intruso Los hay para todos los sistemas operativos Procesos, conexiones, archivos Suelen proporcionar una puerta trasera de acceso. Tipos: Simples: Versiones modificadas de los comandos del sistema operativo Detectables con herramientas de gestión de integridad de ficheros, aunque es necesaria la firma previa.
Rootkits (y II) Tipos: Kernel: Modifican las estructuras de memoria del kernel Se cargan como drivers, u otros módulos Parchean las llamadas al sistema No necesariamente necesitan ficheros residentes Más difíciles de detectar Las herramientas anteriores no sirven Técnicas basadas en heurística
Eliminación de rootkits Algunos rootkits son detectables, pero no todos Para ello se necesita una línea base o foto inicial Sin esa foto es más laborioso Aún así, sólo“Estoy seguro de que NO se si he detectado todo” ¿Compensa limpiar? Sólo si nos lleva menos tiempo que reinstalar p.e. en servidores complejos La única buena solución Formatear y reinstalar de forma segura
Pasos a Seguir Cada vez que se instale/reinstale un equipo Debemos hacerlo desde la red incubadora Una vez instalado cerramos todos aquellos servicios que no vayamos a utilizar (telnet server, pnp,...) Aplicamos parches correspondientes. OJO, no solo del S.O (windowsupdate) también de los programas que hayamos instalado (IIS, Oracle, SqlServer...) Instalamos Antivirus y lo actualizamos Ponemos passwords decentes. No dejamos nada por defecto. Ejecutamos MBSA (Microsoft Baseline Security Analizer) Si estamos seguros de que todo está ok Pasamos el equipo a la red correspondiente.
PARTE III Estado de un equipo no asaltado
Teoría: Recogida de evidencias No utilizar las herramientas del sistema Podrían haber sido alteradas No ser intrusivo Utilizar un CD o disquete con los ejecutables enlazados estáticamente No alterar el contenido del disco No instalar programas, ni volcar salida de programas a disco duro Utilizar un disquete para almacenar la salida de los programas.
Teoría: Tipos de evidencias Registros CPU Memoria Cache Memoria Módulos del SO Controladores dispositivos Programas en ejecución Conexiones activas Disco Volatilidad
EnREDAEntorno de Recogida de Evidencias Digitales y Análisis CD de análisis desarrollado por ASyC, en colaboración con RedIRIS Contiene herramientas para análisis Todavía en fase de desarrollo Sirve de foto inicial Contiene los informes de los equipos con la COM Windows 2000 (1103 y 0604) Windows XP (0305 y 0405) Hace la foto del sistema en el disquete Mediante el script win32\analiza.bat
EnREDA: Aspectos técnicos CD-live,basado en Debian Creado mediante bootcdwrite El directorio win32 con los programas para Windows Autorun.inf inicia el script win32\analiza.bat La parte Linux esta más verde Usuarios: root, locard locard, locard Inicio de X-Window, startxfce4
EnREDA en acción • Insertar un disquete vacío en la disquetera A: • Insertar el EnREDA en el lector de CD • Pulsar una tecla (que no sea <Enter>
EnREDA en acción • Tras unos 12 minutos...
EnREDA en acción • Contenido del disquete • informe.txt • cports.txt • rootkit.txt • siclog.txt • wul.txt • *.md5 • *.sha1
EnREDA en acción informe.txt www.sysinternals.com psinfo, psfile, pslist, psservice, listdlls, handle, rootkitrevcons, sigcheck Microsoft netstat -na, netstat -nr, arp -a www.foundstone.com fport www.haxorcitos.com rkdetector
EnREDA en acción • drivers.txt • www.nirsoft.net • driverview • siclog.txt • www.trendmicro.com • sic • cports.txt • www.nirsoft.net • cports • wul.txt • www.nirsoft.net • wul
Algunos rootkits detectados • Disponibles en www.rootkit.com • No vamos a tratar • Como se vulnera un sistema • Como deshabilitar el antivirus de forma temporal • Como se obtienen privilegios de Administrador • Si vamos a tratar • Descripción básica del rootkit • Posibilidades de detección • Posibilidades de limpieza
HackerDefender: Descripción • Se instala como driver del sistema y como servicio • La conexión a través de la red puede hacerse utilizando un servicio ya activo (p.e. el servidor Web o los servicios de disco de Windows) • El cliente del rootkit envía una cadena (clave) al inicio de la conexión y el rootkit deriva esa conexión a un intérprete de comandos • Las restantes conexiones se transfieren al servicio oficial • nmap no muestra abierto ningún puerto extraño
HackerDefender: Detección • A través de la red, con nessus, pero.... • Sólo si se han utilizado los binarios de rootkit.com • Hay que auditar todos los puertos, se puede hacer con un equipo, pero con toda la red de la universidad. • En local con rootkitrevealer/rootkitrevcons • Ver fichero rootkit.txt
HackerDefender: Limpieza • Hay que: • Parar el servicio • Borrar el driver (fichero .sys) • Reiniciar en modo prueba de fallos • Que la suerte nos acompañe
FURootkit: Descripción • Disponible en www.rootkit.com • Modifica estructuras del núcleo del sistema operativo en memoria • Instala un driver en memoria • Oculta procesos