lunes, 18 de febrero de 2013

Cómo descubrir si un intruso ha usado tu ordenador


Un intruso accede a tu ordenadorCando alghen entra no sistema sin teu permiso e abre os teus archivos, as consecuencias poden ser catastróficas para a tua privacidade. I é que teu ordenador conten casi toda tua vida: documentos, fotos, contrasinais...
Tanto si sospeitas que un intruso entrou no teu ordenador como si xa o sabes e desexas saber qué veu, borrou ou modificou, tranquilízate: hai moitas mane¡ras gratuitas de averiguar qué pasou.
Vou a ensinarte os métodos de investigación forense máis sinxelos e fiables para recabar información que vhe permita establecer si alguen entróu no teu machin e qué fixo cos teus archivos.

¿Cómo pode alguen entrar no teu ordenador sen permiso?


Debes maxinar o teu PC ou Mac como unha casa con moitas portas. Algunhas son evidentes, outras non tanto. Algunhas son remotas e requieren que teu equipo esté conectado a Internet, e outras son as mesmas que usas para entrar todolos días.
O acceso físico, esto é, ter o PC diante, é a forma de intrusión máis común e eficaz, sobre todo si olvidas bloquear o acceso. A menos que cifres o teu disco con Truecrypt ou unha aplicación similar, o atacante físico solo necesitará tempo e ferramentas adecuadas.
Por desgraza, o ataque físico non é a única forma de que alguen entre na tua máquina: puede que unha intrusión se efectúe mentras o teu equipo está encendido e conectado a unha rede de área local ou a Internet. Nese caso se fala dunha intrusión remota.

¿Qué pode facer un intruso cos teus datos?

Depende das intencions do intruso e do seu "estilo de traballo". Na maioría dos casos, solo quererá roubar ou consultar información sen deixar pegadas. Noutros casos, a sua motivación pode ser destructiva (borrar datos ou huellas). Os intrusos tamén poden querer modificar datos xa existentes.
Dous exemplos típicos de intrusión para alterar datos existentes (data tamperingo):  estudante que intenta acceder ao PC da escola para trocar suas notas ou o empregado que desexa eliminar correos comprometidos. Estas intervencions non-destructivas equivalen en cierto modo a "trocar a historia".
As accions máis comuns que pode levar a cabo un intruso, en resume, son:
  • Sustraer / copiar datos confidenciais (contrasinais, documentos)
  • Borrar arquivos, datos específicos ou huellas deixadas previamente
  • Alterar datos existentes (claves, bases de datos)
  • Instalar un programa (keylogger, control remoto)
A boa nova é que casi todas as intrusions poden detectarse a posteriori si han sido efectuadas por alguen inexperto. Incluso as máis discretas deixan rastros que, en ocasions, se pode reconducir ao intruso.

En caso de intrusión, ¿é posible saber qué pasou?

Sí, anque a investigación pode ser más o menos complicada dependendo da habilidade do intruso. Si a intrusión foi discreta e o equipo non ten programas de vixilancia instalados, puede que pasen semanas antes de que a víctima sospeite que ha pasado algo.
Hay toda una serie de lugares en los que buscar huellas dejadas por un intruso inexperto:
  • Registro de eventos del sistema
  • Registros de aplicaciones (antivirus, navegadores)
  • Registros de red (p.ej., del router o de cortafuegos)
  • Archivos de configuración globales
  • Sistema de ficheros (fechas, particiones ocultas, datos borrados, etc.)
  • Procesos en ejecución
Si el intruso ha sido particularmente cuidadoso, es posible que algunas o todas estas huellas no estén presentes. Para ocultar borrados, por ejemplo, se usan herramientas de borrado definitivo, que dificultan muchísimo la recuperación de archivos.
En este artículo presupongo que el intruso no es un experto en el uso de técnicas anti-forenses y que su intrusión ha sido casual, posiblemente facilitada por la falta de medidas de seguridad en el equipo afectado.

Cómo averiguar si alguien entró en tu ordenador

La mayoría de intrusiones dejan huellas en el sistema, especialmente si son casuales. Todos los sistemas operativos disponen de registros en los que se anotan los eventos más notables del sistema. Estos logs son los testigos principales de cualquier intrusión, y el primer lugar al que has de acudir si sospechas que hubo una visita no-deseada.

Analizar los registros de eventos y aplicaciones

La forma más sencilla de averiguar si alguien ha usado el sistema durante tu ausencia es recurrir a los registros de eventos, que no son más que archivos que contienen entradas ordenadas por orden cronológico que indican lo que ha ocurrido en el sistema mientras este se hallaba encendido.
En Windows, la forma más rápida de comprobar qué ha pasado es recurrir al Visor de Eventos (Log Viewer), que se encuentra en Panel de Control > Herramientas administrativas. Para abrirlo necesitarás permisos de Administrador. A la izquierda se muestras los tipos de eventos; a la derecha, las entradas.
Visor de Eventos
El Visor de Eventos. El primer evento en Sistema es el ID 12, y corresponde al encendido del PC
En el Registro de aplicación puedes ver mensajes de error y acciones emprendidas por algunas aplicaciones; en el de seguridad, intentos de acceso fallidos y actividad del cortafuegos, y en el de sistema, los eventos de inicio y apagado. Para cada evento se muestran fecha y hora, usuario que efectuó el evento e información sobre el evento en sí, que no siempre es fácil de descifrar.
Windows Event Viewer+ es una práctica utilidad portable que permite ver todos los registros de eventos
Los registros se guardan como archivos ocultos en la carpeta C:\ProgramData\Microsoft\Event Viewer\ExternalLogs. Si el intruso ha sido lo bastante listo como para borrarlos, puedes intentar buscar sus restos usando un recuperador de archivos. La extensión de los eventos es .EVT, úsala para filtrar los resultados obtenidos con Recuva y aplicaciones similares.
En Linux hay muchos registros de eventos que puedes consultar, como secure o messages. Otro log muy útil es el de Bash, la línea de comandos (~/.bash_history). Accede como superusuario al directorio /var/log/ para ver los registros; puedes usar los comandos less y tail para ver los archivos en pantalla y obtener las últimas líneas respectivamente.
Otros tres comandos muy útiles en Linux son last, lastb y lastlog. Mientras last muestra las entradas y salidas del sistema, lastb enumera los intentos de acceso fallidos para un usuario concreto. Lastlog, finalmente, muestra el último intento de conexión de red efectuado por un usuario, lo que resulta muy útil para verificar intrusiones externas.

Captura del contenido típico de la carpeta /var/log/ en Linux (imagen cortesía de Linux Magazine)
En Mac el procedimiento es similar, e implica abrir la consola para ver el contenido de los archivos contenidos en la carpeta /private/var/log. El archivo kernel.log es particularmente útil para ver cuándo se encendió la máquina y por qué. Para proteger esos archivos de cualquier intento de manipulación, puede seguir los consejos de este artículo.

Consultar los registros y cachés de otros programas

El sistema no es el único software de tu equipo que deja huellas. Muchos otros programas y archivos pueden contener huellas dejadas por un intruso poco cuidadoso. Por ejemplo:
  • Navegadores web: caché, historial de búsqueda, historial de navegación...
  • Caché de DNS, que muestra las peticiones de navegación, consultable vía DNSDataView en Windows
  • Registros del router, bien vía registros internos, bien con utilidades como Router IP Console
  • Cachés de Adobe Flash y Java, tradicionalmente ignoradas al borrar huellas
  • Registro de tráfico de red local (desde otras máquinas o servidores de red centrales)
Por desgracia, muchas de estas huellas se pueden borrar (en Windows, CCleaner las borra casi todas), pero es posible que tu intruso haya dejado algunas. Es difícil ser cuidadoso al 100%.

Cómo descubrir qué archivos se han visto, copiado, borrado o modificado

ATENCIÓN: antes de buscar y abrir archivos, recuerda que el mismo acto de abrir archivos modifica las fechas de acceso a los mismos, lo que impide establecer con exactitud lo que pasó en el ordenador. Es como alterar la "escena del crimen". Por ello, repito: si sospechas que la intrusión es grave, deja de usar el ordenador y contacta con las autoridades.
Los profesionales suelen utilizar distribuciones Linux LiveCD que se arrancan sin tocar el disco duro (un ejemplo es Caine), y trabajan casi siempre con réplicas exactas (imágenes) de los discos duros y en modo de solo lectura. Ningún experto forense usaría la misma máquina de la que salen los datos para analizarlos (salvo que se trate de una emergencia).
Si quieres efectuar un análisis rápido por tu cuenta y riesgo, hay algunos métodos y herramientas que puedes ejecutar tanto desde el sistema operativo local como desde un sistema operativo cargado a través de un LiveCD. En la mayoría de casos, estas herramientas han sido diseñadas para investigadores, sin tener en cuenta la facilidad de uso.

Obtener una lista de archivos modificados o abiertos recientemente

La suite gratuita OSForensics para Windows es quizá la utilidad de informática forense más intuitiva y completa de todas las que he probado. Una de sus funcionalidades es precisamente la obtención de una lista de archivos modificados recientemente. Para ello debes ir a File Name Search y buscar en la carpeta deseada.

La lista, ordenada por el criterio Access Time (desc), muestra los últimos archivos abiertos. Los archivos se pueden abrir con un visor interno que muestra los metadatos y los atributos de archivo originales sin modificar el archivo. También puedes ordenarlos por la última fecha de modificación o por la fecha de creación (entre otros criterios).
En Linux puedes conseguir resultados parecidos desde la consola, usando el comando find de Unix. El comando también es válido para Mac OS X. Otra forma de conseguir resultados recientes en sistemas Linux que usan Gnome como interfaz gráfica de usuario es abrir la lista de documentos recientes, que se encuentra en /home/username/.recently-used.xbel.
Saber qué ha modificado el intruso depende de tu conocimiento de los documentos afectados. Es posible que simplemente hayan sido consultados y copiados. Si dispones de una copia de seguridad de los documentos críticos, es recomendable efectuar una comparación de versiones (por ejemplo, con Multihasher en Windows y con diff en Linux y Mac OS)

Averiguar si se enchufaron memorias u otros dispositivos USB

Antaño los intrusos solían usar disquetes. Los más atrevidos grababan un CD. Hoy en día, todas las máquinas disponen de puertos USB. Es tan fácil como enchufar un pendrive, copiar los archivos e irse. Pero incluso esto deja huellas: los identificadores de las memorias USB conectadas en el equipo se quedan almacenadas en el Registro de Windows.
La utilidad USBOblivion, pensada para eliminar estas huellas, también las puede mostrar. Si no quieres que se borren, no actives la casilla "limpieza real".
Otro lugar que puedes mirar el archivo setupapi.log, que muestra los mensajes relacionados con la instalación de nuevos dispositivos.
Los datos que puedes sacar a través del archivo setupapi.log y las herramientas USBOblivion y USBDeview incluyen fecha y hora de conexión de los dispositivos extraíbles, marca y modelo.

Encontrar y recuperar datos borrados recientemente

Si el intruso ha eliminado algunos archivos, una herramienta de recuperación de archivos borrados te lo dirá. Y es que los archivos borrados con métodos normales no desaparecen de inmediato.
Si quieres algo más profesional que el clásico Recuva, el escáner de archivos borrados de OSForensics es una muy buena elección para Windows. Además de recuperar los datos borrados, permite escanear imágenes de disco de otros sistemas.
Búsqueda y recuperación de archivos borrados con OSForensics
En Linux puedes usar utilidades como Scalpel, Foremost o PhotoRec, mientras que en OS X dispones de FileSalvage y SubRosaSoft (mientras escribo esto, todavía no hay un Recuva para Mac).
FileSalvage es un excelente recuperador de archivos para Mac OS X
Por otro lado, en Windows también puedes buscar y recuperar claves del Registro con Yaru, una aplicación de la que se habló extensamente en otro artículo. Es especialmente útil para ver si el intruso ha eliminado o modificado claves.

Cómo saber si hay un keylogger o archivos ocultos

El intruso que quiere volver más tarde dejará una puerta abierta o algo que recopile información confidencial y la envíe. Para lograr esto, puede instalar aplicaciones legítimas, como servidores de control remoto o keyloggers. Asimismo, puede que haya dejado carpetas ocultas en el disco duro, listas para ser utilizados más tarde en una segunda intrusión.

Keyloggers y aplicaciones de acceso remoto

El tipo de aplicación de captura de datos más común que te puedes encontrar es un keylogger, que captura las pulsaciones del teclado y las almacena en un archivo. Los más sofisticados toman también capturas de pantalla y atrapan contraseñas. Algunos se dejan detectar fácilmente; otros se asemejan más a un rootkit, lo que roza la barrera de la legalidad.
Revealer Keylogger es uno de los capturadores de pulsaciones de teclado más conocidos
La buena noticia es que la mayoría de estas aplicaciones pueden detectarse con un escaneo de antivirus. Un análisis con tu antivirus actualizado o con un antivirus en LiveCD debería dar con el programa y eliminarlo. Lo mismo vale para los programas de control remoto. Por lo general, su mera presencia suele volver el ordenador algo más inestable.
En Linux puedes usar el excelente Rkhunter (o Rootkit Hunter), una utilidad en línea de comandos que detecta todo tipo de vulnerabilidades aprovechables, rootkits y puertas traseras tal y como lo haría un antivirus tradicional.
Rkhunter es un poderoso aliado contra todo tipo de puertas traseras y programas de escucha en Linux
Recuerda que en caso de intrusión es recomendable recuperar y cambiar las contraseñas de tus cuentas en línea, sobre todo si el intruso ha instalado un programa de acceso remoto y un capturador de pulsaciones del teclado.

Busca entre los procesos activos en memoria

Examinar los procesos en ejecución es una práctica muy saludable y que permite comprobar si hay algo nuevo y desconocido ejecutándose en segundo plano. En Windows usa el Administrador de tareas, y en Linux y Mac abre la consola y escribe el comando ps (se complementa con el comando kill, que sirve para cerrar los procesos que tú quieras).

El Administrador de tareas es tu amigo y siempre estará dispuesto a decirte qué pasa en Windows ;-)
Reconocer los procesos sospechosos requiere cierta experiencia: es bueno que examines los procesos periódicamente para identificar los habituales. Páginas como Tasklist o ProcessLibrary ayudan en la identificación de los procesos sospechosos. En la duda, obtén una copia del listado (con HiJackThis en Windows, con ps > texto en Linux y Mac) y pregunta en foros.
El comando ps ejecutándose en una consola de Linux Fedora (imagen de BLC)
Si quieres que una aplicación mire los procesos por ti en Windows, además de los antivirus -FileRep en avast! o Insight en Norton- tienes otras aplicaciones que también pueden ayudarte, como TuneUp, que dispone de un analizador de reputación de programas, o Soluto, que además sirve para optimizar el tiempo de carga del sistema operativo.

Obtener una lista de archivos ocultos recientes

Conseguir una lista de archivos y carpetas ocultas creadas o modificadas recientemente es una buena costumbre. En Windows, puedes usar la ya mencionada OSForensics, que obtiene la lista con unos pocos clic de ratón:
Obtener una lista de archivos ocultos con OSForensics es muy sencillo
En Linux y OS X necesitas usar la consola de comandos. El comando find puede usarse para encontrar todo tipo de archivos y carpetas no-visibles. Basta con ejecutar find /ruta/ -iname ".*" -maxdepth 1 -type f, donde -maxdepth define la profundidad del escaneo (profundidad de los subdirectorios) y el punto seguido por el asterisco indica todo tipo de archivo oculto.

Cómo prevenir futuras intrusiones en tu ordenador

La seguridad informática se divide en una serie de niveles sucesivos o capas: la primera capa es física (acceso al ordenador); la siguiente es la capa del sistema operativo, y finalmente está la capa de las aplicaciones. Sobre la seguridad física no voy a detenerme, ya que es un tema extenso y que suele preocupar más a la empresas que a los particulares.
Por lo que respecta la seguridad del sistema operativo, resulta esencial disponer de un sistema de bloqueo fiable en tu máquina. El software de identificación biométrica (por ejemplo, de reconocimiento facial) es un interesante complemento a la clásica contraseña. A pesar de no ser sistemas infalibles, lo ponen mucho más difícil a un asaltante.
Una forma más radical de protección de tus datos frente a intrusos es cifrar una parte o todo tu disco duro. Para ello puedes usar aplicaciones como PGP o TrueCrypt. El cifrado es una auténtica pesadilla para cualquier intruso, ya que ciertas tecnologías son todavía imposibles de vulnerar. El riesgo para ti es que si olvidas la clave maestra, pierdes los datos.

TrueCrypt es una solución gratuita de cifrado de discos duros que destaca por su facilidad de uso
Si tu ordenador es portátil, la instalación de aplicaciones antirrobo y aplicaciones de vigilancia con cámara web pueden ayudarte a identificar a los intrusos. Un ejemplo para Windows es Tebocam, que detecta actividad en tiempo real y sube las imágenes a un servidor FTP o las envía por correo electrónico.

¿Has sufrido alguna vez una intrusión en tu ordenador?


No hay comentarios:

Publicar un comentario