Mostrando entradas con la etiqueta malware de la policía. Mostrar todas las entradas
Mostrando entradas con la etiqueta malware de la policía. Mostrar todas las entradas

miércoles, 14 de mayo de 2014

Virus de la Policía en Android: Técnicas usadas para bloquear el movil y como eliminarlo

Conocemos el Virus de la Policía que afecta a los ordenadores bloqueando la pantalla y pidiendo dinero para desbloquear el sistema, el comportamiento típico de cualquier "ransomware". Recientemente se ha descubierto una versión para Android. Vamos a mostrar las técnicas usadas por el atacante para forzar que el malware permanezca en primer plano y persista al reinicio del dispositivo. Por último, ofreceremos una forma para eliminarlo del dispositivo.

Si ejecutamos el Virus de la Policía en el emulador de Android, vemos una página web en la que nos pide dinero para desinstalar la aplicación. Al igual que ocurre con la versión de escritorio, sin pagar, es imposible de salir de la aplicación porque siempre vuelve al primer plano y no nos deja suficiente tiempo para desinstalarla a partir del menú "Ajustes" de Android.


Hemos usado "jd-gui" para decompilar la aplicación. Sin embargo, con la ofuscación y las técnicas de anti-decompilación, el decompilador no puede decompilar todas las partes del programa por lo que tenemos que usar Eclipse para depurar la aplicación. Es importante observar que las partes de código mostradas en esta entrada han sido convenientemente tratadas.

Para empezar, analizamos el archivo de configuración de la aplicación "AndroidManifest.xml", que contiene actividades, servicios, permisos usados, identificador de la aplicación (package name), etc. Vemos que el malware tiene el nombre de paquete "com.android". Con el filtro "MAIN", podemos comprobar que la actividad "MainActivity" es la primera que se ejecuta cuando el usuario ejecuta la aplicación. Después, se definen dos receptores "ScheduleLockReceiver" y "ScheduleUnlockReceiver" para ejecutarse en procesos diferentes por la etiqueta ":remote" (se explicarán más detalladamente). Por último el "BootstrapReceiver" es un clase que va a registrarse al evento "BOOT_COMPLETED" del móvil y que se llama durante la inicialización del móvil con la prioridad mas alta "999". De esta forma permite la persistencia al reinicio del móvil. Al tener la prioridad más alta, será una de las primeras clases llamadas durante la inicialización del móvil.


Mirando el código decompilado de la clase "MainActivity", vemos que lanza la actividad "LockActivity" llamando a la función "startActivity". En la actividad lanzada hemos encontrado la función "dispatchKeyEvent" que permite al atacante monitorizar y anular los botones del dispositivo (como HOME, BACK, y MENU) y así evitar que el usuario salga de la aplicación fácilmente.















Esa misma clase va a lanzar en segundo plano el servicio "LockService", que va a programar dos tareas "ScheduleLockReceiver" y "ScheduleUnlockReceiver" a través del "AlarmManager". La primera tarea se ejecuta cada 2 segundos mientras que la segunda tarea se lanza cada 600 segundos. Como la segunda tarea no está implicada directamente en el bloqueo de la pantalla, nos concentramos en la primera tarea.



Cada vez que la tarea se ejecuta, se ejecuta la función "onReceive" y lanza el servicio "LockService" pasando el parámetro "start.event.type" a 2.










Llamando al servicio, se llama a la función "dispatchEvent". Con el tipo de evento 2, fuerza la actividad a lanzarse de nuevo. Y así no permite a otra aplicación pasar al primer plano.





Desinstalar el Virus de la Policía en Android

Como no tenemos acceso a la pantalla, no podemos desinstalar manualmente la aplicación desde el menú "Ajustes/Aplicaciones". Sin embargo, Google proporciona una herramienta llamada "adb" usada por desarrolladores de aplicaciones Android para instalar y desinstalar aplicaciones, grabar logs, etc. Antes de desinstalar una aplicación, necesitamos conocer el nombre del paquete que la identifica. Esta información se encuentra en el archivo de configuración "AndroidManifest.xml". Podemos ver que en este caso el nombre de paquete del ransomware es "com.android".

La utilidad "adb" se encuentra incluida dentro del Android SDK disponible para descarga desde:

Una vez instalado (descomprimirlo) será necesario conectar el dispositivo infectado al ordenador, localizar la herramienta "adb" en la carpeta "/sdk/platform-tools/" y ejecutar el comando:
adb uninstall com.android
con lo que conseguiremos desinstalar el malware.

Más información:

El virus de la policía "evoluciona" e impide el acceso en modo seguro

Nuevas variantes del “virus de la policía”. Ahora para Android

Police Locker land on Android Devices

Java decompiler

Depurar malware Android con Eclipse

Android Debug Bridge

Hash del ransomware:
2e1ca3a9f46748e0e4aebdea1afe84f1015e3e7ce667a91e4cfabd0db8557cbf

una-al-dia (21/06/2011) Vídeo: Troyano secuestra el ordenador en nombre de la policía nacional acusando al usuario de terrorista zoofílico

una-al-dia (28/02/2012) Vuelve el troyano que se hace pasar por la policía: Cómo protegerse (de verdad)

una-al-dia (02/03/2012) El virus de la policía "evoluciona" e impide el acceso en modo seguro

una-al-dia (06/03/2012) Más información sobre el virus de la policía

una-al-dia (09/03/2012) El malware de la policía aprovecha un exploit de Java "in-the-wild" y el secreto su "éxito"

una-al-dia (18/03/2012) WhitePaper: Estudio técnico del troyano de la policía

una-al-dia (24/05/2012) Nuevas versiones del malware de la policía y cómo eludirlas




Laurent Delosières


domingo, 28 de abril de 2013

Últimas versiones del virus de la policía y más ideas para protegerse

El virus de la policía continúa evolucionando, con altos niveles de infección y nuevas estrategias fundamentadas siempre en la misma premisa: el secuestro del ordenador con la excusa de que, ante la detección de actividad ilegal en el sistema, es necesario pagar una multa a la policía. Veremos qué ligeros cambios se han observado en las últimas versiones y una idea para protegernos.

Las últimas versiones aparecían en forma de DLL. Era necesario llamarlas conociendo el nombre de la función de entrada del binario para poder ejecutarlo. Esta estrategia podía estar orientada a intentar eludir los sistemas de ejecución automática y desatendida de los laboratorios, puesto que la DLL pasaría a veces inadvertida si no se llamaba a la función concreta. Estas muestras solían instalarse en la carpeta de inicio.

En los últimos tiempos se ha observado que el malware ha pasado a utilizar un archivo con extensión .DAT (y de nombre skype), que no es más que un ejecutable (cuyos dos primeros bytes son MZ). Esto no es un problema para que sea lanzado, pero sí podría confundir a usuarios y análisis. Además crea un skype.ini. También ha vuelto a los "orígenes", anclándose en una rama del registro donde se lanza el explorer.exe. Veamos cómo funciona.

El ejecutable, fundamentalmente, busca el %APPDATA% del usuario, puesto que en Windows 7, podrá escribir sin problemas en él. Ahí dejará el archivo skype.dat (ejecutable).


En el registro, acudirá a la rama de usuario (también porque puede escribir sin problemas en ella) donde se lanza explorer.exe (proceso encargado de dibujar el escritorio y delegar los tokens de seguridad). Ahí se añade como ejecutable que será lanzado al inicio. Es muy extraño que un usuario necesite modificar ese punto del registro, así que podría ser protegido por permisos. Esto ya lo hace la herramienta WinLockLess, negando por permisos de registro la escritura en los puntos habituales que utiliza el ramsonware.




Pero también es posible tocar los permisos NTFS de la máquina, para evitar que se escriba en un punto clave que están usando tanto los creadores del virus de la policía como el malware en general. %APPDATA% es una variable que apunta habitualmente a

C:\usuarios\nombreusuario\appdata\roaming

Ahí se almacena información de los programas del usuario y su configuración privada. En esta carpeta es muy extraño que se creen ficheros. No suele ser necesario. Normalmente son directorios que alojan archivos con datos. Todavía más extraño es que se necesite ejecutar código desde la raíz de %APPDATA%.

Por tanto, de nuevo, utilizar los permisos NTFS (siempre demasiado relajados por defecto) puede mitigar el problema. Podemos decirle a Windows que impida la ejecución de ficheros desde esta carpeta, pero que siga permitiendo crear carpetas e, incluso, archivos... pero que no los ejecute.

Gráficamente es muy simple. En las propiedades de la carpeta Roaming, Seguridad, Opciones Avanzadas, Cambiar Permisos, Agregar. Ahí añadimos que "Todos" no puedan explícitamente ejecutar archivos. Importante indicar que esto se aplica a "Solo archivos".



Con esto no se evita la infección, pero sí que en el siguiente reinicio se ejecute el fichero. Si se desea, también se puede evitar la escritura de ficheros en la raíz de Roaming.

Por línea de comando, se puede llamar a:

icacls %appdata% /deny *S-1-1-0:(OI)(IO)(X)

Donde "(OI)(IO)" indica el "Solo ficheros", el "X" la ejecución, y "S-1-1-0" es el SID del usuario "Todos" en los Windows.



Importante apreciar que en Windows XP, por implementar una versión ligeramente diferente de NTFS, es posible seguir estos pasos pero no tendrán exactamente el mismo comportamiento.

Más información:

Golpe policial a una de las mayores redes cibercriminales especializada en infectar millones de ordenadores de todo el mundo

una-al-dia (21/06/2011) Vídeo: Troyano secuestra el ordenador en nombre de la policía nacional acusando al usuario de terrorista zoofílico

una-al-dia (28/02/2012) Vuelve el troyano que se hace pasar por la policía: Cómo protegerse (de verdad)

una-al-dia (02/03/2012) El virus de la policía "evoluciona" e impide el acceso en modo seguro

una-al-dia (06/03/2012) Más información sobre el virus de la policía

una-al-dia (09/03/2012) El malware de la policía aprovecha un exploit de Java "in-the-wild" y el secreto su "éxito"

una-al-dia (18/03/2012) WhitePaper: Estudio técnico del troyano de la policía

una-al-dia (24/05/2012) Nuevas versiones del malware de la policía y cómo eludirlas


Sergio de los Santos
Twitter: @ssantosv

viernes, 15 de febrero de 2013

¿El fin del virus de la policía?

En estos días se anuncia un indiscutible éxito (otro) de la policía española. La Brigada de Investigación Tecnológica (BIT) de la Policía Nacional ha detenido a 11 individuos en relación al "virus de la policía". Pero desde luego no es el fin de este tipo de malware y, como de costumbre, los medios generalistas se están dedicando a intoxicar la información real con titulares demasiado optimistas.

No se han detenido los responsables del virus de la policía como si se tratase de un equipo reducido de personas que se dedicaban a infectar a los usuarios. En la página del ministerio del interior, lo explican:
"Los agentes han desarticulado la célula financiera de la organización ubicada en la Costa del Sol y que blanqueaba el dinero logrado por este fraude, obteniendo sólo este grupo más de 1.000.000 € al año"

Lo que se ha desarticulado es uno de los grupos dedicado a lavar la impresionante cantidad de dinero que estaban consiguiendo con solo una de las decenas de variantes creadas por uno de los muchísimos grupos que están en ello. En el vídeo que acompaña a la noticia, las 200 tarjetas de crédito que aparecen (clonadas o creadas a través de números robados) dejan claro que eran más el departamento "financiero" que técnico. Además, se dice que:
"Entre los arrestados se encuentra el responsable de la creación, desarrollo y difusión de las diferentes versiones del malware a nivel internacional: un ciudadano de 27 años y origen ruso que fue detenido en los Emiratos Árabes Unidos"

Este hombre fue arrestado en diciembre, en realidad. Pero no pensamos que sea "el máximo responsable". Además, si lo fuera, no importaría demasiado (luego veremos por qué). Pensamos que la creación, desarrollo y difusión son precisamente tres actividades más bien independientes que muy extrañamente pueden recaer sobre la misma persona.
  
  • La creación la adjudicamos a la persona que tuvo la idea de usar la imagen de la policía, las acusaciones... como reclamo para secuestrar el ordenador. Puede que este mismo fuera quien lo programase en primera instancia y comenzara su distribución a pequeña escala... o no. Además, por supuesto esto es una evolución de otras ideas. Recordemos que en 2009 ya pudimos ver secuestros del ordenador en nombre de la RIA (Recording Industry Association of America) acusando al usuario de tener contenido descargado ilegalmente y pidiendo rescate. Un ataque muy parecido. El virus de la policía como tal, comenzó en Alemania en 2010.
        
  • El desarrollo se lo adjudicamos a quien lo programó, y a todos los que observaron rápidamente que era una genial idea. Estos plagiaron la idea, creando variantes propias, copiaron el código, o mandaron a terceros su programación, quién sabe. El caso es que sería ingenuo pensar que existe una única banda creando y distribuyendo algo que está teniendo tanto éxito, en un mundo en el que se puede copiar lo que sea, y que además está al margen absoluto de la ley. Todos copian en una especie de sálvese quien pueda y recoge la parte del pastel más grande posible.
       
    Hemos observado variantes buenas y malas técnicamente hablando... que usaban muy diferentes técnicas para bloquear el sistema: desde Internet Explorer en modo quiosco hasta la creación de escritorios virtuales pasando por ventanas sin bordes. Otros activaban la cámara y otros cifraban correos... No todos han sido creados por el mismo grupo, ni el mismo grupo ha creado una sola variante.
         
  • La difusión es lo más curioso. Habitualmente, su éxito ha sido distribuirse por vulnerabilidades en Java a travésde kits de exploits. Y aquí estamos totalmente convencidos de que poco han tenido que ver los creadores del malware en sí. La distribución a través de kits de exploits es un mundo muy grande, que se complementa con el malware pero que opera a otro nivel. La difusión ha podido hacerse a través de terceros, pagando sus servicios de uso de kits, de investigación de vulnerabilidades, etc... y más frentes, alejados quizás del núcleo "duro" de la creación. Como en el comercio habitual, la distribución puede ser totalmente externalizada. Quizás existan grupos reducidos que han plagiado la idea, programado el malware y distribuido a pequeña escala, todo a la vez... pero serán los menos (aunque quizás no por ello menos en número).

En definitiva, ni mucho menos es el fin del virus de la policía. Es un modelo demasiado lucrativo como para que sea descartada por los atacantes a corto plazo. Hemos tenido la suerte de colaborar en cierto modo con la policía, y además le hemos hecho un seguimiento muy de cerca al desarrollo de este malware. Sin duda su éxito ha sido arrollador, como en otros tiempos ocurría con virus concretos con gran difusión.

Pero no se trata de, como "antiguamente" un malware con nombre y apellidos. Lo que ha triunfado, el éxito, debe atribuirse al modelo: no al malware, no a un archivo concreto, no a un solo método de distribución. Lo que ha permitido que solo una cédula de blanqueo de dinero haya conseguido un millón de euros en un año es la idea, el concepto global de un ransomware bien distribuido y convincente. Y eso no se va a detener con la desarticulación de un grupo de personas. Lamentablemente, quizás tampoco tenga un efecto disuasorio pronunciado. Se juzgará a un reducido número de personas que se han lucrado con el malware (que no es poco).

En cualquier caso, la actuación de la policía ha sido impresionante. No es sencillo detectar (y mucho menos detener) a este tipo de delincuentes, o al menos abatir una de sus patas imprescindibles (la encargada de lavar el dinero). El esfuerzo en coordinación es complejo y merece todo nuestro reconocimiento.

Más información:

Golpe policial a una de las mayores redes cibercriminales especializada en infectar millones de ordenadores de todo el mundo

una-al-dia (21/06/2011) Vídeo: Troyano secuestra el ordenador en nombre de la policía nacional acusando al usuario de terrorista zoofílico

una-al-dia (28/02/2012) Vuelve el troyano que se hace pasar por la policía: Cómo protegerse (de verdad)

una-al-dia (02/03/2012) El virus de la policía "evoluciona" e impide el acceso en modo seguro

una-al-dia (06/03/2012) Más información sobre el virus de la policía

una-al-dia (09/03/2012) El malware de la policía aprovecha un exploit de Java "in-the-wild" y el secreto su "éxito"

una-al-dia (18/03/2012) WhitePaper: Estudio técnico del troyano de la policía

una-al-dia (24/05/2012) Nuevas versiones del malware de la policía y cómo eludirlas


Sergio de los Santos
Twitter: @ssantosv

domingo, 12 de agosto de 2012

XDocCrypt/Dorifel. ¿Hacia la unión del troyano bancario y ransomware? (y II)


Se ha descubierto Dorifel, un malware con dos características concretas que lo hacen interesante. Infecta ejecutables y documentos de Microsoft Word y Excel. Con estos últimos, se comporta como un "virus de los de antes", replicándose en por todos los ficheros de este tipo. Vuelve a poner de moda una técnica para pasar desapercibido de la que ya hablamos el año pasado... y puede significar un cambio de modelo en el malware.

Hablamos en la entrega anterior de qué hacía y cómo aparecía Dorifel: cifraba documentos en unidades compartidas y además, parecía descargarse entre los sistemas previamente infectados por una variante de Citadel. Veamos ahora otras cuestiones.

Cuál es su propósito

Se han visto otras conexiones con Zeus/Citadel, por ejemplo, comunicarse con servidores donde se alojan todo tipo de exploits, malware y componentes usados habitualmente por esta familia.

Ha afectado principalmente a las empresas de Holanda. No se sabe bien por qué, pero la historia encaja: si los atacantes han decidido la descarga en máquinas que ya controlan, por alguna razón han elegido un país concreto. Aunque nos consta que en España se han dado varios casos de infección.

El propósito de Dorifel es un pequeño misterio. Normalmente, el malware que cifra documentos pide un rescate por ellos, pero no es el caso. Podríamos pensar que por el hecho de estar programado en Delphi y no en otros lenguajes más comunes para este tipo de malware, como C o C++, se trata de un "entretenimiento" cuyo fin es el de "molestar". Pero, teniendo conexiones con creadores de troyanos tan sofisticados y que manejan un volumen de negocio como Zeus/Citadel... podríamos descartar esta hipótesis: debe haber lucro. Desde luego, tampoco pretende demostrar habilidades técnicas porque no es especialmente sofisticado.

Quizás se trate de un ensayo, o un paso más en una estrategia que puede llegar a consolidarse en el futuro.

Unir troyanos bancarios y ransomware

En mayo aparecieron varias noticias al respecto que pasaron un poco desapercibidas. F-Secure avisó de que había encontrado una variante de Zeus que bloqueaba el sistema, enseñando una página en un Internet Explorer que ocupaba toda la pantalla, mostrando un mensaje probablemente de extorsión. Exactamente igual que muchas variantes del virus de la policía.

También Trusteer avisó en mayo de que una variante de Citadel directamente descargaba una DLL con el famoso (y exitoso) malware de la policía. No olvidemos que otras variantes de este mismo malware, no solo bloqueaban el sistema sino que cifraban los documentos que encontraba en el disco duro.

Dado el éxito del ransomware últimamente (Briank Krebs acaba de escribir un artículo donde habla de beneficios de entre 30.000 y 40.000 euros diarios de algunas organizaciones con Reveton o virus de la policía) no resulta descabellado unir los dos conceptos: malware que intenta robar claves y credenciales bancarias pero que, en un momento dado, bloquea el sistema o cifra los documentos y pide un rescate.

Y ese "momento" dado puede ser cuando el atacante compruebe que, por ejemplo, la víctima infectada no accede durante días a su banca online, se impaciente o simplemente su banco implemente medidas de seguridad que impidan completar la estafa. Está demostrado que los bancos que analizan y persiguen el malware que les ataca, pueden impedir que se activen, añadiendo cambios en las páginas de banca online o incluyendo otras medidas de seguridad como tokens y otros factores de autenticación, etc.

Así es que, puesto que está comprobado que buena parte de este malware permanece días y semanas en el sistema antes de ser detectado, no es descabellado pensar en un "umbral de paciencia" del atacante donde pase a tomar medidas más drásticas: si no puede robar la cuenta bancaria de la víctima, la extorsionará bloqueando el sistema o cifrando sus documentos importantes. Quién sabe. Todo por el beneficio rápido e inmediato.

Más información:

Inside a ‘Reveton’ Ransomware Operation

ZeuS Ransomware Feature: win_unlock

Fake G-Men Attack Hijacks Computers for Ransom

Joint attack by banking Trojan and ransomware

Práctico: Cómo ocultar las extensiones de ficheros gracias a la codificación Unicode.

XDocCrypt/Dorifel – Document encrypting and network spreading virus

Dorifel crypto malware paralyzes Dutch companies and public sector

Dorifel Malware Encrypts Files, Steals Financial Data, May Be Related to Zeus or Citadel

Dorifel Malware Encrypts Files, Steals Financial Data, May Be Related to Zeus or Citadel

Complete details of the Dorifel servers, including its 'master' server in Austria


Sergio de los Santos
Twitter: @ssantosv


viernes, 1 de junio de 2012

¿Qué nos sorprende del malware?


Hemos podido leer algún artículo en que se califica a TheFlame como una "super-ciber-arma" del futuro. Este llamativo titular no puede más que asustar al lector y prepararlo para un apocalipsis cibernético. Las razones para esta espectacular clasificación son cuando menos desenfocadas. Parece que lo que sorprende del malware, es en realidad lo menos interesante.

"TheFlame es "el espía definitivo", copia datos del disco duro, registra mensajes instantáneos y otras comunicaciones online, registra pulsaciones de teclas, toma capturas de pantalla e incluso enciende el micrófono y graba conversaciones cercanas".

Este párrafo real leído en medios de comunicación, solo recopila características comunes de cualquier malware actual (y de hace años) al alcance de cualquiera. ¿Por qué nos sorprende entonces? ¿Por qué lo destacan los periodistas como hecho diferenciador?

Anclados en el pasado

No hemos asimilado que el malware actual es capaz de esto, aunque lo lleva haciendo varios años. Por ejemplo, Bagle, marcó un punto de inflexión en el mundo del malware: era absolutamente modular (como TheFlame), permitía el robo de información, se difundía a través de varios medios... y nació en 2004. Desde entonces, este modelo no ha parado de evolucionar, hasta el punto de que todas estas funcionalidades se pueden considerar "estándar" para cualquier creador de malware, en forma de kits "Do it yourself", y de módulos programables.

El usuario medio sigue pensando que el malware, en general, solo es capaz de ralentizar el ordenador o, como mucho, mostrar publicidad no deseada. Y sobre todo, que el antivirus (y solo el antivirus) les protegerá. La concienciación en este sentido es muy escasa.

Nos gustan los fuegos artificiales

Sub7 o Back Orifice, eran piezas de software muy sofisticadas en los 90, que permitían un absoluto control del sistema afectado. Sentaron las bases de las RAT (remote administration tool) actuales. Contaban con funcionalidades parecidas a las de TheFlame pero de una forma mucho menos discreta. Sin embargo, todavía hoy, la gente recuerda que su mayor logro era que permitía abrir la bandeja del CDROM remotamente...

El usuario sigue dejándose llevar por las funcionalidades más llamativas, independientemente de su utilidad práctica. Esta es la razón por la que en las series y películas los ordenadores se muestran con gráficos espectaculares, sonidos y efectos especiales en cada movimiento de pantalla, teclado o ratón. Si bien son muy vistosos, en la vida real resultarían insoportables a los cinco minutos de uso. Grabar la conversación, por muy espectacular que pueda parecer (que no lo es), no es útil por ahora para un troyano bancario. Para robar una cuenta no es necesario lucir espectaculares gráficos o emitir soniditos galácticos.

Sin embargo, controlar el DOM del navegador, modificarlo, inyectarse en procesos... todo esto es técnicamente más interesante y peligroso, pero poco llamativo para el usuario de a pie.

¿Nos debe sorprender algo, entonces?

El malware va por delante de las medidas de seguridad, por tanto, deberíamos sorprendernos de las características que convierten al malware en algo tan escurridizo que las elude. Principalmente, lo llamativo del malware actual no es qué puede llegar a hacer, sino el cómo llega a poder hacerlo y mantenerlo. En definitiva, tres puntos clave:


  • Cómo consigue infectar los sistemas. Uno de los mayores méritos del malware, verdaderamente sorprendente, son las habilidades técnicas de los exploiters para aprovechar vulnerabilidades, la capacidad de difundir estos exploits, eludir las medidas de protección de los sistemas operativos, y hacerse con el control de la máquina. Esto es un arte complejo, y (no sin razón) es lo más valorado en el mercado negro: conocer una vulnerabilidad es lo que mejor se paga hoy en día, pues permite ejecutar código arbitrario en los sistemas. A partir de ahí todo lo que se consiga, aunque interesante, ya no es "tan complejo". El trabajo duro ha sido conseguido. Una vez con el volante en la mano, conducir el coche no es tan difícil.
  •  Cómo consiguen pasar desapercibidos. Los creadores de malware centran sus esfuerzos actuales en la ofuscación de código, empaquetamiento, "técnicas anti debugger"... la inversión se centra en cómo hacer que su código sea más complejo, y su estudio lleve más tiempo. Esto les permite pasar desapercibidos. A veces las técnicas son muy ingeniosas, pero no suelen trascender del laboratorio que las estudia.  
  • El uso de la ingeniería social. Debería seguir sorprendiéndonos cómo los atacantes destripan la naturaleza humana y consiguen engañar a los usuarios para que pulsen sobre los enlaces, entreguen sus datos personales o incluso realicen transferencias ficticias en favor del propio atacante... Usando un ejemplo cercano, sería como sorprenderse más de que el "virus de la policía" pueda crear técnicamente una ventana que ocupa toda la pantalla, que del hecho de que haya conseguido una credibilidad en su estafa que consigue un ratio de efectividad tan elevado.

En definitiva, no es que TheFlame sea un malware más sin mérito (en absoluto), sino que llama la atención que, por un lado, no se mencionen las características que realmente lo hacen único  (programación LUA, exploits internos y conexión por bluetooth, recolección de metadatos...). Por otro, que sea necesario un despliegue mediático de este calibre para que al usuario común le llegue el mensaje de unas características que suenan a ciencia ficción... cuando las posee el malware común, el que en estos momentos infecta a millones de máquinas.


Más información:

una-al-dia (29/05/2012) TheFlame: reflexiones sobre otra "ciberarma" descubierta demasiado tarde


Sergio de los Santos
Twitter: @ssantosv

jueves, 24 de mayo de 2012

Nuevas versiones del malware de la policía y cómo eludirlas


Sí, el virus de la policía sigue activo e infectado a usuarios. Lo interesante es que continúa evolucionando. Veremos en esta entrada qué novedades traen las últimas versiones, y cómo recuperar el control del sistema de manera muy sencilla si ha quedado infectado.

El malware de este tipo que secuestra el sistema, parece dar pasos en falso. A veces avanzan las técnicas de manera muy efectiva, y otras simplemente empeoran la efectividad de su producto. Veremos ahora algunos ejemplos.

La nueva moda es distribuir este tipo de troyanos en forma de DLL. Una librería de Windows no es más que un ejecutable, en realidad. De hecho, su "magic number" es el mismo, MZ. ¿Cómo se ejecuta una DLL? Existen dos formas, con regsvr32.exe (pasándole como parámetro la DLL) o con rundll32.exe, pasándole como parámetro la DLL y además, una función que se encuentre dentro.



¿Y si no conocemos la función dentro de la DLL? No importa. Se invocará al main (la rutina de iniciación principal) de la DLL y ejecutará su código igualmente. Por tanto, realmente el segundo parámetro de rundll32, en este caso, da igual. Para una víctima, esto es irrelevante puesto que todo el código (sea en forma de ejecutable o DLL) se ejecutará a través de vulnerabilidades.

Una vez lanzado el malware, se copia a la carpeta de inicio del usuario. En ella introduce un enlace (.lnk) que apunta al lanzamiento de la DLL.



No os dejéis engañar por la extensión (modificada por el troyano). Police.exe sigue siendo una DLL, no un ejecutable. Posicionándose en la carpeta de inicio, es fácilmente eludible, puesto que simplemente se puede arrancar con otro usuario o bien en modo a prueba de fallos. Pero veremos otra manera de eludir el troyano más adelante.


¿Por qué distribuirse en forma de DLL?

Puede tratarse de un intento de despiste para los antivirus. Al ser lanzado como parámetro de un programa legítimo (rundll32.exe, que seguro se encuentra en las listas blancas de todos los motores), cabe la posibilidad de que algún antivirus se "relaje". Una vez en memoria, el troyano estará a salvo del antivirus.

Otra razón que se nos ocurre es por intentar evitar las sandboxes que ejecutan automáticamente malware. Casas antivirus, investigadores, sandoboxes públicas, etc, suelen contar con máquinas que lanzan automáticamente los ejecutables con la idea de estudiarlos y tener una primera aproximación del comportamiento de la muestra. Si es sospechoso pasa a un análisis manual. En principio, una DLL con extensión de ejecutable daría error de ejecución, y por tanto se tomaría de forma automática como ejecutable corrupto, a no ser que el sistema esté específicamente diseñado para comprobar que se trata de una DLL y lanzarla como tal, cosa que no ocurre normalmente...…

Internet Explorer en modo kiosko, cómo eludirlo

Una vez lanzado el malware, encontramos otra novedad. Ahora, en vez de mostrar una aplicación sin bordes que ocupe toda la pantalla, o un BMP que impide acceder al escritorio, se cierran todas las aplicaciones abiertas y se lanza un Internet Explorer en modo kiosko. Esta es una opción legítima del navegador, diferente a pantalla completa, que permite navegar sin acceso al sistema y con muchas otras restricciones. Cualquiera puede probarlo lanzando en el sistema el comando:

C:\Program Files\Internet Explorer>iexplore.exe -k

Desde este punto, escapar del troyano se reduce a intentar escapar del modo kiosko. El troyano, aunque intenta restringir de varias formas el acceso a la máquina, no lo consigue. De hecho, es perfectamente posible escapar con sencillos pasos. Algo que que se puede hacer es desconectar la máquina de Internet, para que la visita a la web que aloja la imagen que bloquea el sistema no pueda ser accedida. De esta manera Internet Explorer dará un error de conexión. En XP, por ejemplo, se puede aprovechar el diagnóstico de conexión, en el apartado de más información.


Aunque, a causa de las restricciones impuestas por el troyano, no se podrá acceder al disco libremente.


Aun así, poco después de aparecer este error, Internet Explorer dejará de funcionar, se podrá recuperar el escritorio.

En Windows 7 todavía es más sencillo. Se puede usar por ejemplo el menú contextual del envío de correo por Mail.


Y, en ese nuevo navegador, ir hacia c:\windows\system32 y ejecutar un explorador.


Más información:

una-al-dia (21/06/2011) Vídeo: Troyano secuestra el ordenador en nombre de la policía nacional acusando al usuario de terrorista zoofílico

una-al-dia (28/02/2012) Vuelve el troyano que se hace pasar por la policía: Cómo protegerse (de verdad)

una-al-dia (02/03/2012) El virus de la policía "evoluciona" e impide el acceso en modo seguro

una-al-dia (06/03/2012) Más información sobre el virus de la policía

una-al-dia (09/03/2012) El malware de la policía aprovecha un exploit de Java "in-the-wild" y el secreto su "éxito"

una-al-dia (18/03/2012) WhitePaper: Estudio técnico del troyano de la policía




Sergio de los Santos
Twitter: @ssantosv

miércoles, 11 de abril de 2012

Hispasec presenta WinLockLess: Herramienta para prevenir el arranque de programas en el inicio de Windows (y su potencial bloqueo)


Hemos creado una pequeña herramienta para prevenir (en lo posible) que el malware se ejecute de nuevo en el inicio del sistema (y así pueda bloquearlo). Esperamos que sea útil contra el malware en general.



¿Qué hace el programa?

Evita que los programas modifiquen ciertos puntos del sistema para que se lancen de forma automática en el inicio de Windows. Se ha intentado que sea bastante sencillo: niega con un solo click el permiso de crear subclaves y establecer el valor (y en algunos casos, de borrar) sobre estas ramas implicadas en el arranque de Windows:

HKCU\Software\Microsoft\Windows\CurrentVersion\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Run
HKCU\Software\Microsoft\Windows NT\CurrentVersion\WinLogon
HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon
HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnceEx
HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

Además protege la carpeta de inicio del usuario, y la rama:

SYSTEM\CurrentControlSet\Control\SafeBoot

Evitando no solo crear sublclaves y establecer valores, sino también que se borre. Con esto nos aseguramos de que siempre podremos entrar en el modo seguro.

Las claves son protegidas tanto en su versión "nativa" de 64 bits como en las virtualizadas de 32 bits (bajo Wow6432node). Esto quiere decir que protegería tanto de programas nativos compilados en 64 bits como los de 32. Por ahora existe poco malware compilado de forma nativa para 64 bits, pero será común en el futuro.

Si las ramas no existen, las crea y establece los permisos para proteger así al usuario.

¿Por qué esas claves?

Estas son las claves más conocidas que suelen modificar los troyanos para iniciarse con el sistema y bloquearlo. Hay muchos otros puntos de inicio, pero que no son utilizados por la mayoría del malware. Por ejemplo, el malware de la policía, SpyEye, zbot... todos usan normalmente alguna de esas ramas para arrancarse al inicio. En última instancia, al proteger el modo seguro, el usuario se asegura de que siempre podrá entrar en ese modo sin alteraciones.

Siempre se aplicarán las reglas para el usuario bajo cuyo contexto se lanza el programa. Esto quiere decir que si se usan varios usuarios en el sistema, se debe lanzar para cada uno de ellos. Eso sí, el programa requerirá privilegios de administrador para modificar algunos permisos.

El programa permite tanto aplicar los cambios como revertirlos. Así, si el usuario necesita modificar esas ramas legítimamente, solo debe revertir temporalmente el bloqueo.

¿Qué no hace el programa?

El programa no es un antivirus ni evitará ninguna infección. Sólo evitará que, buena parte del malware conocido, bloquee el acceso al sistema al arrancarse con él. Por supuesto, no están contemplados todos puntos de arranque de Windows usados por el malware, pero sí las más relevantes.

El programa queda residente, pero no es necesario que lo haga. De hecho, no se recomienda. Si queda residente es para recordar al usuario que ha aplicado los permisos y, dado el caso, revertirlos cómodamente.

No se instala. Tan solo es una interfaz cómoda para aplicar ciertos permisos en el registro, que pueden ayudar a evitar que algunas variantes de malware se arranquen con el sistema y no permitan su uso ni su arranque en modo seguro. Esto quiere decir que, si el usuario queda infectado, el troyano podrá hacer lo que quiera y necesite en el sistema durante la primera ejecución. Aplicar WinLockLess impedirá (en algunos casos) que se arranque en el siguiente reinicio, pero el usuario deberá todavía desinfectar su máquina.

El programa tampoco detiene la ejecución actual del troyano (antes de un reinicio) ni lo borra de su ubicación en el disco duro. Solo impide que se copie en los puntos de inicio de Windows.

Por supuesto, un malware en un momento dado puede modificar los permisos aplicados por el programa, eliminar la protección, y establecerse en las ramas del registro. Incluso ejecutarse como SYSTEM... Pero no es habitual que el malware actúe de esa manera actualmente, ni se preocupe demasiado por los permisos (excepto cuando no es administrador, en cuyo caso busca la configuración del usuario).

¿Cómo debo usarlo?

Simplemente se ejecuta, se aplican los cambios en las ramas deseadas, y poco más. El usuario no debe notar ninguna incidencia en su sistema. Es cierto que ciertos programas legítimos querrán escribir en el registro, especialmente en

HKCU\Software\Microsoft\Windows\CurrentVersion\Run

Para arrancarse con Windows. Si los cambios fueron aplicados, WinLockLess se lo impedirá. En ese caso, el usuario deberá revertir las modificaciones en el registro (pulsando sobre el botón correspondiente), instalar el programa deseado, y volver a aplicar las modificaciones.

El programa también sirve para evitar que los programas en general se arranquen al inicio (algo que suele ser molesto para usuarios iniciados).

¿Qué necesito para ejecutarlo?

Se necesita como mínimo la versión 4 de .NET (disponible en http://www.microsoft.com/download/en/details.aspx?id=31 o a través de actualizaciones automáticas). Los usuarios de Vista y 7 probablemente ya dispongan de ella a través de las actualizaciones automáticas. La razón de usar esta versión del framework (entre otras) es el trato nativo a ramas de 64 bits en el registro. WinLockLess. Ha sido programado por Sergio de los Santos en C#, y el diseño es de Jose Mesa. Por supuesto, no se ofrece ninguna garantía de que bloquee la activación en el arranque de futuras versiones de ningún tipo de troyano.

Ejecuté WinLockLess y aun así el troyano se ha lanzado en el arranque.
¿Qué ha pasado?

Es posible. Los troyanos que bloquean el ordenador pueden usar decenas de técnicas para lanzarse en el inicio. WinLockLess solo cubre las más comunes. También es posible que se haya lanzado con un usuario diferente al infectado. También, hipotéticamente pero no probable, el troyano ha podido eliminar primero los permisos y luego escribirse en la rama.

En cualquier caso, por supuesto, es una capa más que no debe crear una falsa sensación de seguridad. Se deben seguir usados los métodos de prevención tanto reactivos como preventivos habituales.

¡Windows me advierte al ejecutarlo de que puede ser peligroso!

Esto es porque ha sido descargado de Internet, es un ejecutable, y no está firmado.

Se puede descargar desde:

Más información:

Laboratorio Hispasec