Análisis Forense Básico
Jan 28, 2016
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– 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
Escaneo de puertos. Intento de propagación de virus/troyano...
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>…………………….
Servicios en puertos habituales. Resultado Correcto
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
Detección de intrusiones en ASyC
• Servicios en puertos habituales. Resultado extraño. Investigar
Interesting ports on abc.uc3m.es (163.117.XXX.246):
(The 65526 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
1025/tcp open NFS-or-IIS
3033/tcp open unknown ????
3306/tcp open mysql ????
3389/tcp open ms-term-serv
3950/tcp open unknown ????
5000/tcp open UPnP Debería estar cerrado. NO es necesario.
Detección de intrusiones en ASyC
mipc:/home/itovar# telnet 163.117.XXX.246 3033
Trying 163.117.XXX.246...
Connected to 163.117.XXX.246.
Escape character is '^]'.
mipc:/home/itovar# telnet 163.117.XXX.246 3950
Trying 163.117.XXX.246...
Connected to 163.117.XXX.246.
Escape character is '^]'.
220 ExtremeFXP presents...
quit
221 Goodbye!
Connection closed by foreign host
• 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)
Host Holes Warnings Open ports State
163.117.XXX.246 2 27 13 Finished
Service Severity Descriptionloc-srv (135/udp) High …. ms03-043.mspx (15/10/2003)
General/tcp High …. ms04-022.mspx (13/07/2004)
Listen (1025/tcp) Low mstask.exe
Mysql (3306/tcp) Low Remote mySql
Fics (5000/tcp) Low Microsoft UPnP TCP helper
Unknown (3950/tcp) Low A FTP server running on this port
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.
Gestión de Incidentes
Parte II
Las Intrusiones
Cronología de una intrusión
Depende del tipo de intrusión– Virus/gusano:
Cronología:1. Se descubre una vulnerabilidad en el sistema2. El fabricante libera la actualización correspondiente3. El virus se difunde (a veces antes que el punto 2)4. 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 IIIEstado 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
Vol
atili
dad
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
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
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
FU-Rootkit: Detección
Sólo lo detecta klister– Sólo detecta procesos ocultos por FU-Rootkit– No incluida en el análisis automático– Sólo funciona en Windows 2000– Puede generar una pantalla azul
FURootkit: Limpieza
Dado que es difícil de detectar– Lo mejor formatear
Quien puede asegurar que no lo tiene instalado...
Conclusión
Informar al usuario para que no ocurran cosas como….
Parte IV
Caso Práctico