Mostrando entradas con la etiqueta Herramientas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Herramientas. Mostrar todas las entradas

29 de diciembre de 2010

Sandboxie Cristalizada

Cuan niño en la playa, hace unos meses vimos que la solución de Sandboxie ofrecía una virtualización a la carta para cualquier problema o archivo que quisiéramos abrir en un entorno controlado. Lo cierto es que es una utilidad que te permite ejecutar esos anexos sospechosos de forma más o menos segura y sin necesidad de tirar de máquinas virtuales como Virtual PC, VMWare, etc. El modelo de Sandboxie es tan bueno que hay sistemas operativos como Qubes OS (del cual vuelvo a hablar, jeje) que se basan completamente en la virtualización de todo, Chromium OS (al cual estoy deseando echarle el guante) parece que también va a apostar por un fuerte aislamiento de procesos.

Y ya está, ya tenemos seguridad. Surfeemos por las olas más peligrosas de Internet con nuestro navegador en su cajita de arena bien tranquilos de que los tiburones de las vulnerabilidades, troyanos, etc. se llevarán un chasco al morder. ¡Error!, veamos de lo que nuestra cajita de arena es capaz de protegernos por defecto:

Levantar un servicio: Sandboxie es capaz de capturar todas las llamadas a rutinas del sistema, por tanto hace una cosa en la que se basa gran captidad de malware, “hookea” esas llamadas y las intercepta según estén permitidas o no. Por defecto no podremos levantar servicios:

Ejecutar una tarea programada: No nos servirá de nada, si recordáis existía un pequeño fallo que permitía programar una tarea con el comando “at” y que el proceso lanzado fuera con unos privilegios un tanto superiores, eso en una sandbox no pasará:

¡¡Escapar de la sandbox!! No, lo he intentado, pero no se puede. Podemos probar a lanzar un Word y a partir del explorador abrir cmd.exe, exploradores, etc. de la forma recursiva que queramos hasta hacer una lista de 40 o 100 subprocesos, da igual que sea la ejecución de un comando o el lanzamiento de un notepad, todo estará en la misma cajita de arena :-S

¡¡Destrozar la sandbox!! ¿Y si lanzamos una máquina virtual dentro de VmWare? No es mala idea, hay que ver al lanzar una máquina virtual con un sistema operativo propio tendrá sus propias llamadas al sistema, que no tendrán que ver con las del anfitrión, sin embargo sandboxie detecta que nos pasamos de tamaño y lanza un error:

Con lo que la máquina virtual no carga. Sin embargo no se porta tan bien si nos da por destrozar archivos, no hay nada como ejecutar un cmd.exe y lanzar un del *.* en SYSTEM y SYSTEM32, esos comandos se ejecutarán dentro de las limitaciones de todo usuario administrador, también podemos formatear otras unidades etc. Como la SANDBOX virtualiza todos los cambios en el sistema el archivo de "cambios", irá creciendo. Sin embargo se da la particularidad de que la propia SANDBOX tira de esos archivos virtuales para correr, por lo que si nos cargamos por ejemplo la librería de la imagen, sayonara SANDBOX.

Java Virtual Machine: Otra buena idea que no funciona, si lanzamos una aplicación Java cuando quiera interactuar con el sistema será capturada, también nos aparecerá entre almohadillas “#”

Entonces no hay de que preocuparse,,, ¡o si!

Todo cambio que un programa en su cajita de arena haga en el sistema quedará reflejado dentro de la cajita de arena, es decir siempre que entres en la sandbox estará conforme el último programa ejecutado lo haya dejado. Por ejemplo si renombras cmd.exe por Pepito.exe y magnify.exe por cmd.exe (aprovechando el fallo de la lupa de Windows que comentaban en Security by Default) siempre que estés virtualizado la lupa será el cmd, de ahí que se aconseje cambiar la arena al 3x2, como a los gatos.

Pero todo esto no quita lo más importante de todo, que todo programa dentro del sanboxie tiene la capacidad de leer del sistema. No solo eso, de lanzar los comandos y aplicaciones que el usuario tenga permisos, por lo tanto podrás leer el archivo SAM o cualquier otro que te interese de los “importantes del sistema” si ejecutas tu equipo como Administrador, también podrás lanzar un FTP para mandar esa información donde quieras:

Luego podemos hacer dos cosas, o utilizamos un usuario con privilegios mínimos (lo que reduce la necesidad de utilizar sandboxies) o configuramos de forma segura la sandboxie, deshabilitando el acceso a ciertas carpetas o la ejecución de programas.

Por otro lado Sandboxie como aplicación que hookea las llamadas al sistema no se lleva bien con determinados antivirus y drivers, que pueden permitir “fugas” de la caja de arena o bien incompatibiliza la ejecución de cierto software bajo su control, tenéis una lista aquí, hay algún caso llamativo como el antivirus de Mcaffee, etc.

En todo caso y en previsión de accesos no deseados o ejecución de terceras aplicaciones ocultas, etc. en la configuración de toda sandbox se puede hacer lo siguiente:

- Restringir el acceso a Internet (eliminarlo o reducirlo a las aplicaciones que querramos).

- Obligar a que ciertas aplicaciones se ejecuten siempre dentro de la sandbox, o que todo lo que venga desde una unidad externa (CD, DVD, USB, etc.) se abra en una sandbox.

- Restringir derechos de administrador, esta opción es la más importante, así se evitará el acceso a archivos de sistema.

- NO habilitar ninguna de las opciones para reducir la seguridad de la sandbox (cambiar contraseñas, etc.) a nivel software o hardware.

- Bloquear el acceso al registro del sistema así como a los recursos que no deseemos compartir con la humanidad.

- No añadir (salvo que sea imprescindible) la comunicación mediante servicios COM como excepción de seguridad, esto permitirá que un programa dentro de la sandbox pueda comunicarse con otro que está fuera.

- Deshabilitar el acceso en navegadores a cookies del sistema, así como a cualquier recurso fuera de la sandboxie.

- Deshabilitar la recuperación instantanea de recursos. Cuando querramos cambiar la arena al gato, perdón a la sandboxie, esta opción permite recuperar automáticamente los archivos creados, lo que puede permitir a un virus salir fuera de la cajita. Esta opción debería mejorarse, ya que se basa en listas negras cuando parece más lógico que sea por listas blancas.

Como véis una solución de virtualización también puede quedarse corta si no se configura adecuadamente, sería trivial extraer por ejemplo los servicios que se están ejecutando o copiar el archivo de SAM a un PC externo. Por lo tanto es importante restringir los derechos y asegurarnos de que no ejecutamos software incompatible mientras mejora el aislamiento de procesos en nuestros sistemas operativos, que parece que es la tónica a seguir a partir de ahora :-p

Y esto es todo por hoy,,, que no por este 2010, ¡vuelvo pronto!

Salu2

14 de octubre de 2010

Warcraft DiscHack (y el Falso Positivo) I/II

El por qué de la idea

Todo comenzó a finales de Agosto, un poco cansado de que mi viejo K8 3000+ no diera mucho rendimiento con juegos relativamente viejos (Bioshock, Alone In the Dark 4, etc.) volví a instalarme el Warcraft III: The Frozen Throne. Hacía ya bastantes meses que no me ponía a “ownear” así que no sabía como estaba el percal en Battle.net, cual fue mi sorpresa cuando me di cuenta que estas batallas cibernéticas ya no son lo que eran, era muy habitual cruzarse con “hackers” que se valían de cheats como desactivar la niebla de guerra (que te permite ver las unidades enemigas) o simplemente desconectarlo, el llamado disc Hack:

Aunque a mi siempre me gustó más el video del guiry flipao que, tras padecer los sufrimientos de un demon hunter y su “Mana Burn”, lo desconecta:

El caso es que, desanimado como estaba por la ausencia de fair play decidí investigar en que consistía el dischack, que era el que más me preocupaba, por lo que podía ver el proceso del juego “war3.exe” crecía exponencialmente desde que se lanzaba el ataque, la desconexión no era instantanea, más bien el juego se ralentizaba en lo que parecía un envío de paquetes con un TTL incrementando al máximo (o al menos eso es lo 1º que pensé).

Investigación

Ni corto ni perezoso me dispuse a descargar un par de herramientas muy útiles en estos casos, el WinSock y el CheatEngine, esta última está especialmente diseñada para alterar parámetros de las partidas. Winsock es muy útil para analizar la actividad de los procesos y sus flujos de comunicaciones TCP/IP. También permite establecer filtros para parar determinados tipos de paquetes, lo que puede ser útil si queremos detener el dischack ;-)

Entonces ocurrió algo que personalmente odio, ante la descarga de Winsock el Avast saltó como loco y borró el .rar que lo contenía, dando una alerta por troyano, pensando que esto suele ocurrir con las herramientas de hacking lo subí a virustotal para conocer terceras opiniones, con este resultado : 37/43 positivos con muchos Generic.WinTrojan de por medio o W32/Trojan, etc. (deberían hacer un chiste con estas alertas: Tienes menos personalidad que un Generic.WinTrojan), en mi espíritu paranoico cesé mis actividades de investigación en Warcraft y las sustituía por otras, ¿Qué hacíar realmente WinSock?, ¿me podía fiar?

Lo que realmente investigué

Como laboratorio personal tengo una pequeña máquina virtual con Windows XP SP2 , ideal para hacer un destrozo y luego volver a la normalidad como si nada, en estos casos la función de snapshot de VMWare Workstation viene de perlas. Utilizaré solo dos herramientas para averiguar que hace WinSock:

- Regshot

- Process Monitor

Con regshot obtendré rápidamente una instantánea del registro de sistema, después instalaré y ejecutaré WinSock, tomando una nueva instánea. Regshot comparará ambas imágenes y me dirá los cambios. El programa es muy sencillo e intuitivo de utilizar así que no tiene pérdida:

Tras todo ello vemos bastantes cambios en el registro, aunque muchos están relacionados con cosas que no son WinSock, las únicas entradas relevantes son las siguientes:

HKU\S-1-5-21-1935655697-764733703-839522115-1003\Software\Microsoft\Windows\ShellNoRoam\MUICache\C:\Documents and Settings\GigA\Escritorio\WPE PRO.exe: "WPE PRO"

HKU\S-1-5-21-1935655697-764733703-839522115-1003\Software\WinRAR\ArcHistory\0: "C:\Documents and Settings\GigA\Escritorio\wpepro09x.zip"

La primera parece que ha incluido en el listado de software de Windows la aplicación WPE PRO, con la ruta que tiene en el sistema, y la ha cacheado para futuras llamadas. La segunda cambia el histórico de WinRar para que figure el zip de Winsock. Nada extraño por ahora.

Tras esto lanzamos process monitor, esta herramienta de Microsoft combina las bondades de Filemon y Regmon, que formaban parte de SysInternals y han sido combinadas en este nuevo producto. Es perfecto para monitorizar la actividad de un proceso, las librerías de las que depende, las llamadas que realiza, el tráfico de red que genera, los archivos que crea, etc. etc. En este caso vemos que WinSock genera bastante actividad en el sistema, que además mezclada con el resto de procesos puede generar bastante confusión, por suerte con un botón derecho “Hightlight WPE-PRO” nos resaltará en verde lo que nos interesa.


Hay bastantes líneas, muchas de ellas son sencillamente utilización de fuentes de Windows (para lo cual tiene que leer muchos archivos), hay otras en las que llama a la librería que adjunta, WpeSpy.dll.

El programa comienza como es obvio cargándose en memoria, después pasa a añadir a la carpeta prefetch de Windows varios un archivo con la aplicación, en el mismo se han encontrado referencias a entradas de registro del mismo WPE, por lo cual entendemos que quiere que Windows tenga cacheada la aplicación para próximas sesiones. Después realizar varias consultas al sistema, mapeando la unidad raiz “C:\” así como otras de Windows, System32, etc. Después pasa a generar varios archivos en la carpeta fantasma de Windows, la odiada, enigmática y poco comprendida desde el punto de vista de los usuarios WinSxS, así que podemos suponer correctamente que tenemos varios hard-links nuevos para la posteridad.

Tras perdernos durante varios minutos por el registro de actividades de WinSock comenzamos a sospechar que todo es terriblemente normal, no hay conexiones a Internet, no hay creación de ficheros extraños, vemos múltiples llamadas a principalmente dos archivos del core de Windows, kernel32.dll y ntdlm.dll, uno para realizar llamadas al sistema (recordemos que este software sirve para monitorizar procesos) y otro para el gestor de archivos. También hay llamadas a otras librerías y drivers (como wsock32.dll) que entiendo muy necesarios para su ejecución:



Conclusión

Si, ha sido una falsa alarma, lo cual puede dejar a uno más perplejo que anteriormente, ¿37 antivirus dando un falso positivo?, al menos podrían limar un poquito las alertas y que solo fuese un Warning: Hacking Tool, pero no veo el Trojano por ningún lado, e imagino que ellos tampoco. Mi teoría es la que todos estaréis pensado, alguien lo clasifica así una vez por alguna razón y los demás copian la firma. Recuerdo el caso de una casa de antivirus que generó un falso positivo “adrede” solo para comprobar que 24 horas después todas las demás habían hecho lo mismo, sin pararse a investigar claro qué era aquel positivo.

Bueno, y ahora que tenemos una cierta confianza en nuestras herramientas vamos a analizar el famoso, “dischack” de Warcraft, pero será en otra entrada ;-)

4 de agosto de 2010

Darik's Boot and Nuke

Cuantas veces os ha ocurrido de encontraros en un edificio en llamas acompañados de una bella mujer (recién rescatada) y perseguidos por maleantes mientras extraíais los planos del diseño de la última cangre burguer del PC del señor cangrejo, pero no, habéis dejado demasiadas pistas y sabéis que seréis capturados, rastreados, torturados,, o no.

Ejem, también si os ha ocurrido que os toca reciclar un disco duro o PC, tenéis que devolver un equipo prestado de un cliente o queréis vender el Pen Drive que os han regalado en eBay o quizás vais a hacer algo como Virginia, que se yo. En resumen, es preciso deshaceros de un dispositivo de almacenamiento, ¿Qué necesitáis para hacer esto con garantías? Es decir, que esa información sea eliminada de forma segura tal y como vimos en el post de Safe Destroy y no recuperable en un Data Carving Challenger. Pues estuve buscando algo que me sirviera para llevar siempre encima, en el pack de los imprescindibles junto al Hiren’s Boot, el Kon Boot, etc. Hasta que encontré el Darik’s Boot and Nuke. Una ISO de 10 MB que cumple con su cometido, auto arrancable, las opciones por defecto garantizan un borrado seguro y además configurable según los métodos “seguros” de borrado, esto es, DoD, Guttman, etc.

Os dejo unos pantallazos del DBAN CD en acción, acabando con una de mis máquinas virtuales:

Menu de "Inicio"

Entramos al Menu Interactivo y seleccionamos.

¡¡Y a destruir!!

Ya sabéis, por si un día hay que salir por patas.

Salu2

22 de febrero de 2010

VPN PenTest

En el entorno maleable que se ha convertido el perímetro de nuestras organizaciones el uso de las tecnologías de Virtual Private Network, junto con un montón de cosas que vimos en la entrada de Trusted Network Connect supuso una especie de panacea en el acceso y consumo de servicios de nuestra organización.

Es tal la confianza que se tiene en la tecnología VPN (ya sea basada en IPSec, o en SSL) que muchas veces se caen en errores obvios que directamente exponen toda la organización. En el entorno actual de movilidad total para todos nuestros usuarios, todos nuestros proveedores, etc. auditar nuestros terminadores / servidores de túneles es casi una obligación. Hoy veremos algunos de los fallos más comunes y en los que casi nunca se caen.

Google

Una vez más el buscador se convierte en una herramienta de doble filo, por ejemplo, sabemos que los archivos de configuración de los terminadores de túnel CISCO tienen extensión .pcf, una pequeña búsqueda nos da resultados interesantes, con ficheros de configuración que albergan contraseñas codificadas:

…
AuthType=1
!GroupName=VPNeveryone
!GroupPwd=
!enc_GroupPwd=227CBC3037A8138A9C1
EnableISPConnect=0
ISPConnectType=0
ISPConnect=
ISPCommand=
Username=
!SaveUserPassword=0
UserPassword=
NTDomain=
EnableBackup=1
BackupServer= *************************************
EnableMSLogon=1
MSLogonType=0
EnableNat=1
TunnelingMode=0
…
 

Lo cual no sería un problema si no fuera por que existen herramientas que rompen el cifrado en poco tiempo, por ejemplo Cain:

Dándonos acceso completo a la intranet de una organización. No es un problema menor, ni el último de ellos.

Cliente VPN

Revisando el cliente VPN de CISCO que utilizamos en nuestro acceso podemos detectar (y aquí tenéis que hacer un acto de fe ya que he tenido que borrar bastante info) que nuestro usuario y password está en claro en memoria:


Los pasos para hacer este volcado se vieron en RAM Dumping

Lo cual es una debilidad adicional (en este caso poco podemos hacer, más que cambiar de cliente) que si no es compensada con otras medidas (¿bloquear la pantalla?) puede ser un problema.

Fingerprint

Los servidores VPN como todos los servicios también son sensibles al fingerprint, un sencillo nmap basta para detectar los servicios que corren en esa máquina y su versión:


Dándonos información más que jugosa. Aparte de los habituales Caín, Nmap, etc. existen herramientas especialmente dedicadas al pen-test de servidores VPN, como es Ike-Scan, capaces tanto de realizar ataques por fuerza bruta como de hacer fingerprint.

Como corolario os dejo un pequeño documento de auditoria de VPN, algo antiguo pero conserva totalmente su validez a día de hoy.

Salu2

23 de noviembre de 2009

Sandboxie

Hoy presentamos una sencilla aplicación que hará las delicias de los muchas veces sufridos usuarios de máquinas virtuales. Una de las aplicaciones de estas últimas es disponer de un entorno “basura” en el que realizar nuestros experimentos, bajarnos esos archivos sospechosos o directamente analizar malware. Es probable que os pase como a mí, juntando fácilmente 4 o 5 de estas máquinas nuestro disco duro baja vertiginosamente, además se necesita mucha memoria RAM para que vayan decentemente ligeras.

Con SandBoxie se puede ahorrar bastante tiempo y recursos en maquinas virtuales, esta aplicación genera un entorno de virtual donde todo lo que se ejecute estará aislado del sistema operativo. Se integra en Windows perfectamente como una opción más del “botón derecho – click” y su complejidad es mínima:

Podemos trabajar con ficheros en un entorno virtual, darle los permisos que queramos sobre el entorno real, ubicar un espacio para almacenar aquellos archivos que querramos extraer de la cajita de arena, disponer de más de una sandbox, etc. Y todo esto de forma gratuita :)

Un detalle que me ha gustado es que no es trivial "salirse" de la sandbox, a pesar de que los procesos nuevos te aparezcan si haces un pslist lo que ellos generan está controlado y sus permisos restringidos. Por ejemplo, probad a ejecutar un cmd.exe en la sandbox y desde ahí un notepad, word, etc. No podréis grabarlos en la unidad física, casi casi como un appliance vmware. En la página de los autores hay un buen tutorial que os dejo por aquí , espero que os guste.

Happy Week!