30 julio 2013

Anti Ransom 1.0

Últimamente ando lidiando con casos de RansomWare, ya publiqué aquí un par de artículos sobre el tema.

Tal y como están las cosas hoy día con respecto a este tipo de amenazas, lo cierto es que a nivel técnico, una vez se ha producido la infección, poco se puede hacer.

El uso de algoritmos robustos y contraseñas aleatorias dificultan ¿imposibilitan? un final feliz que no sea pagando a estos estafadores.

Con suerte 'solo' serán unos pocos cientos de euros, pero ya se han visto casos de miles de euros en los que sobre todo empresas, ante la desesperación de ver su negocio bloqueado, han terminado pagando.

Este tipo de amenazas se dedican a recorrer las unidades de disco y cifran los documentos que van encontrando dejándolos inutilizados.

Una vez pagas el rescate, te facilitan una herramienta que es capaz de revertir ese proceso y hacer que los ficheros vuelvan a su estado original

En muchas ocasiones el afectado en cuestión no necesita el total de sus ficheros, y lo que le hace pagar es el poder recuperar varias carpetas muy concretas.

Recapitulando mi experiencia en este tipo de amenazas se me ocurrió una forma de intentar detectar lo antes posible la presencia de una amenaza de este tipo en un sistema.

Madurando esa idea el resultado ha sido Anti Ransom 1.0

A diferencia de los sistemas más tradicionales basados en firma, lo que hace mi herramienta es basarse en comportamiento, y para ello emplea una suerte de 'honeypots para ransomware', lo que permite detectar que el sistema está siendo víctima de un ataque Ransom y actuar de una forma rápida salvando en muchos casos la mayoría de ficheros importantes.

El funcionamiento es muy fácil de explicar:

Durante el proceso de instalación se crea una carpeta con nombre aleatorio en C:\ (caso de Windows XP) o en la carpeta personal del usuario (%HOMEPATH%) en el caso de Windows 7.

Se ha procurado que dichas carpetas comiencen con una secuencia numérica para 'posicionarlas' lo más arriba posible con la intención de que sean las primeras sobre las que se realice el cifrado 

En esa carpeta se crean un número aleatorio (nunca es el mismo número) de ficheros con formatos PDF, Excel y RTF. El contenido de esos ficheros también es aleatorio, de forma que resulte más complejo distinguir lo que es una carpeta legítima de una carpeta señuelo.

Carpeta señuelo
Una vez creado el honeypot, se instala un programa (igualmente en ubicación aleatoria y con el nombre igualmente random) que se dedica a monitorizar esa carpeta buscando cambios en ella. Bien sea que se ha creado un nuevo fichero (las amenazas de tipo RansomWare cuando cifran un fichero lo renombran con alguna extensión nueva), o bien si se altera el hash md5 del fichero, señal inequívoca de que un fichero que no debe cambiar está siendo alterado por una amenaza Ransom.

Cuando detecta actividad sospechosa, informa al usuario de ello



A futuro estoy trabajando en formas de identificar el proceso que ha causado la alerta e intentar 'matarlo'. No obstante, en este tipo de amenazas, dado que el tiempo juega un papel vital, lo más fiable es apagar el equipo y plantearse analizarlo offline, es la única forma de evitar que se pierdan los datos con ciertas garantías.

El programa se instala / desinstala de una forma muy sencilla:


Una vez instales el programa, guarda la carpeta desde donde hiciste la instalación, esto es MUY importante ya que, en aras de hacer más difícil su detección, el programa no usa los mecanismos habituales para registrarse en windows, y para desinstalar solo lo podrás hacer si ejecutas la desinstalación desde la carpeta donde realizaste la instalación.

En principio este programa ha sido diseñado para estaciones de trabajo (probado en XP y Windows 7) y mi objetivo es sacar una versión para servidores lo antes posible (con auto-apagado, notificación por correo electrónico ...)

Podéis descargar la beta de Anti Ransom 1.0 desde aquí 

Para instalar simplemente ejecutad setup.exe

53 comments :

masticover dijo...

¡Excelente Yago! ¡Una vez más! Vamos a probarlo a ver qué tal.

Longinos Recuero Bustos dijo...

Que quieres que te diga, que me parece una genialidad!! Gran aporte Yago.

Ignacio Agulló Sousa dijo...

Es la primera herramienta que veo contra el secuestro de datos. Buena iniciativa.

Francisco Javier Santiago dijo...

Muy buena idea Yago!

ahc dijo...

Vaya! Buena iniciativa Yago, felicidades.. se lo pasaré a la familia que siempre anda con estos líos XD

Gadix dijo...

No es la primera, aunque sí que es un gran aporte. CloudAntivirus también incorpora medidas anti-ransom http://www.youtube.com/watch?v=XjMsuQd0Jq8#at=92

Anónimo dijo...

Una vez reiniciado el sistema podría continuar el proceso de cifrado. Además, se podría extraer la clave de la memoria para los archivos que ya han sido cifrados.

masticover dijo...

Como bien dice Yago en el artículo "...lo más fiable es apagar el equipo y plantearse analizarlo offline, es la única forma de evitar que se pierdan los datos con ciertas garantías."


Apagar, extraer la información y datos importantes offline para evitar pérdidas mayores. Una vez hecho esto, si se quiere reiniciar y "jugar" con el bichito ya es otra cosa.

María García dijo...

Pues no estaría de más que, en futuras versiones, se incluya un pequeño documento de "socorro" con esas explicaciones y que el mensaje de alerta remita a él para ayudar al usuario a saber qué hacer. Me imagino a un pobre usuario no técnico leyendo eso de "busque ayuda" y planteándose si llamar a los geos ;-)
Y, hablando de usuarios no técnicos: alguien que no se moleste en hacer una salva ¿se molestaría en instalar la herramienta? ¿O es que el ransomware no se cura sólo con salvas? Es que no estoy muy puesta...
¿Podría decirse que la herramienta es, más precisamente, un honeytoken?
Gracias por compartirla. :-)

Yago Jesus dijo...

Muchas gracias amigo !

Yago Jesus dijo...

Muchas gracias, me alegra mucho que te haya gustado

Yago Jesus dijo...

Gracias ! A ver si sigo avanzando en ella

Yago Jesus dijo...

Muchas gracias !

Yago Jesus dijo...

Suele pasar, al final quien más desprotegido está, termina siendo atacado :(

Yago Jesus dijo...

Sí, la idea es ir añadiendo cosas, en primera instancia el objetivo es ofrecer una herramienta que permita la detección temprana, que te de al menos una oportunidad de salvar tus datos. La siguiente fase va orientada a identificar al culpable :)

María García dijo...

¡Qué guay! La cosa se pone entonces interesante, como en las pelis policiacas. Estamos expectantes.

Yago Jesus dijo...

La verdad es que la idea de hacer un 'firewall de ficheros' con apps permitidas / denegadas es muy interesante y una gran aproximación, el único hándicap que le veo es que tienes que tener muy claro donde tienes tus ficheros para indicarlo a Cloud Antivirus. Aun así, veo muy complementarias ambas ideas

Anónimo dijo...

Yo no he hablado de "jugar con el bichito", existe la posibilidad real de poder recuperar los datos que estén siendo cifrados sin reiniciar el equipo.

igoKing dijo...

Fantástico. Me parece una aplicación muy buena. Un amigo tuvo este problema en su empresa y menudo dolor de cabeza le dió. Cuando el virus termina de cifrar todos archivos señuelo ¿qué ocurre?

igoKing dijo...

Me refiero en caso de que no se apague el ordenador, claro. ¿El virus empezará a comer información valiosa?

miguel27 dijo...

Excelente idea y programa. Lo instalé en Win7 y me gustaría hacer unas sugerencias a las ya aportadas:
* Que el programa se instale automáticamente para todos los usuarios.
* Que además de las carpetas que crea con datos, meta un par de ficheros "señuelo" en las carpetas más típicas como "mis imánes", "mis vídeos", ... Por si el "bicho" comienza por estas.
* Como los cabrones acabarán conociendo esta herramienta, añadiría otro par de carpetas "señuelo" una que por orden alfabético esté al final y otra por el medio. Además otra directamente en la raiz del disco duro.


Un saludo a todos.

Jorge dijo...

La mayoría del rasomware de hoy día no cifra archivos, sólo es ingeniería social barata para robar dinero. Un antivirus y prácticas saludables debería de evitar cualquier problema.

Joshvp dijo...

Aun no es compatible con Windows 8????

blackngel dijo...

Buena iniciativa Yago. Pensando en algunas ideas que pudiesen mejorar tu sistema, se me ocurre que tal vez si realizas dll injection sobre los procesos, tal vez de forma sencilla estableciendo la dll en el registro (entrada AppInit_DLLs), entonces se podría hacer hooking sobre una llamada como CreateFile (o la que sea despues de hacer algo de reversing sobre algunos ransom) y así capturar aquel proceso que intente manipular alguno de tus archivos y matarlo directamente.


Por supuesto en el ejemplo que muestras, el mensaje de error también podría facilitar una opción de apagado de la máquina si se hace con algo distinto a un messagebox... y también cabría la posibilidad de que el anti ransom, cuando detecta la alteración de los ficheros, cree otros nuevos aleatorios o uno de gran tamaño de modo que mantenga al ransom tan ocupado como pueda.


Continua trabajando en ello porque puede ayudar a mucha gente.

Saludos!

Yago Jesus dijo...

Si sale ese cartel, apaga incluso de botón, no de 'apagar equipo'.


Y accede al sistema desde algún live-cd con Linux para recuperar cuantos datos puedas

Yago Jesus dijo...

Muchísimas gracias por el feedback !


Lo de todos los usuarios, me lo apunto



Ficheros en carpetas típicas también (me encanta esta idea ...)


Lo de poner más carpetas era algo con lo que ya contaba para siguientes versiones, Muchas muchas gracias, lo de los ficheros en esas carpetas me ha parecido un avance realmente creativo

Yago Jesus dijo...

Claro que si, ese es el camino, usar un buen antivirus y la versión de Java más desactualizada que encuentres.


Así si

Yago Jesus dijo...

Honestamente: Ni idea, no tengo a mano un windows 8 para probarlo



¿me ayudas tú?

Yago Jesus dijo...

Me hace mucha ilusión que lo encuentres útil y de hecho algunas de las cosas que propones las había estado valorando, el tema del hooking sobre todo.



Aunque -en mi humilde opinión- lo que realmente es un avance es usar algo parecido a handle.exe de sysinternals. El problema es que (si no estoy equivocado ...) se apoya en un Driver e implementar por mi mismo ese driver supone problemas con sistemas 64bits.


Y handle.exe, según la licencia de sysinternals no se puede redistribuir

blackngel dijo...

Completamente de acuerdo, precisamente descarté comentar esa idea por la poca viabilidad que tenía en sistemas de 64 bits (a no ser que Microsoft apoye la idea ;)), lo primero que había pasado por mi mente era SSDT Hooking, o lo que tu comentas, controlar los descriptores de ficheros abiertos por los procesos. Y si no siempre cabe crear un híbrido que implemente diferentes medidas depende de en qué sistema se encuentre instalado. Pero, en definitiva, lo que sí es útil es este brainstorming para generar ideas.


Un abrazo.

Yago Jesus dijo...

Otra opción notablemente menos elegante es preparar el programa para trabajar con handle.exe y pedir a la gente que lo descargue y deposite en la carpeta para no violar la licencia de sysinternals.


Realmente eso sería tan fácil de implementar y tan útil .... Casi tanto como poco elegante jajajaja

Dangadi dijo...

Un gran aporte. Seria fabuloso poder contar con una versión para servidores y con auto-apagado. Solo puedo decir...gracias!!!

Dangadi dijo...

Por cierto en w8 x64 pro funciona sin problemas...

María García dijo...

Según los CERTs el Ransomware está en alza

nastenka dijo...

gracias, Yago! ya lo instalé...cuándo debo desinstalarlo? esa parte no la comprendí muy bien. Beso. nastenka

Yago Jesus dijo...

Hola !


En principio no debes desinstalarlo ya que perderías la protección. Únicamente será necesario cuando salga otra versión

Jorge dijo...

¿El ataque de Ramsinware se produce en todos los discos de la PC?¿También en los externos que se conectan eventualmente? ¿En los Pendrive? Gracias!

Observador dijo...

Hola,


aunque es cierto que es una herramienta muy básica (aunque seguro que muy compleja de programar) siempre es de agradecer que alguien se moleste en crearla y en distribuirla gratuitamente para ayudar a los demás. Además, me ha parecido muy innovador su modo de acción.


Yo también confirmo que ha creado las carpetas con númeración y archivos aleatorios en un W8 64 bits en la cuenta ADMIN.


Simplemente una cuestión:


En mi caso, en dicha cuenta ADMIN, tenía algunas carpetas que empezaban con un punto (.)


Entre ellas:


.gimp-2.8
.synkron (un programa para sincronizar directorios)
.Virtual box


Por lo que, al ordenar por nombre las carpetas del usuario ADMIN... las primeras que aparecen son estas que empiezan por un punto, después las generadas por Anti ransom 1.0 y por último el resto de carpetas de juegos, favoritos, música, etc.



Es decir, que las carpetas que crea tu aplicación, en mi caso, NO han sido las que han quedado más arriba. Quizá en las siguientes versiones del programita sería interesante que tuvieras en cuenta esto para que las carpetas aleatorias que cree Anti ransom incluyan al principio del todo un punto (.) y asegurarse así que éstas SÍ que quedan entonces en la primera posición.


Espero que te sea útil este aporte.


Saludos.

Recursos Formacion dijo...

Me parece genial tu esfuerzo, y te debemos agradecer que lo compartas. La parte que no entiendo es que ese tipo de ataques esta basado en que no existan copias de seguridad...Desde hace mas de dos años estoy utilizando un sistema de backup automatico que me permite tener copia de mis discos, con capacidad para devolver copias de cualquier dia, semana o mes segun la distancia..Creo que es mas importante concienciar a todos de la necesidad de las copias, y me parece increible que pueda haber gente responsable que todavia no las haga...
Que quede claro que alabo tu trabajo, y no esta mal disponer de una herramienta asi para saber que estas siendo atacado, y que te debes preparar para recuperar informacion, pero la cosa no deberia ser mas grave.
Gracias una vez mas por compartir tu trabajo

Yago Jesus dijo...

Hola amigo,


Entiendo lo que dices pero no termino de entender la forma binaria del planteamiento. Yo veo la seguridad informática como la seguridad en un coche.


Técnicamente un Airbag NO hace que te no te salgas en una curva, ni te ayuda a frenar, es tu última linea de defensa, una vez hay un golpe, para minimizarlo.


Esto es igual, hay que tener backup, hay que tener firewall, hay que tener antivirus, y hay que tener Anti Ransom por si el resto de medidas fallan y se cuela algo.



El objetivo es complementar

Yago Jesus dijo...

Hola,


Probablemente (casi seguro) esas carpetas las tienes por emplear software que en origen ha sido diseñado para Linux.


Es en este entorno donde las carpetas .(algo) son empleadas para guardar configuraciones. Aun siendo el tuyo un caso un tanto peculiar, si me parece que aporta mucho lo que dices, crear carpetas de ese estilo.


Muchas gracias por la aportación

Yago Jesus dijo...

Sí, este tipo de amenazas arrampla con todo, todas las unidades que encuentre, sean segundos discos o un USB.


¡¡ CUIDADO !!

Observador dijo...

Me alegro que te pueda ser útil mi aporte


Gracias.


Saludos :-)

Javierhf dijo...

Excelente utilidad Yago, la he probado y parece que todo va
correctamente.
Solo añadir un comentario, quizá sería buena idea añadir algún signo al inicio
del nombre de las carpetas numéricas, así quedarían en una posición mas alta,
lo comento porque en mi caso por ej. existe en el equipo y dentro de
(%HOMEPATH%) la carpeta ".vitualbox" y al tener el punto
delante queda posicionada como la primera carpeta.
Es posible, que otras aplicaciones hagan lo mismo y siempre quedarían por
delante.

Saludos y gran trabajo.

Carlos Represa dijo...

genial, muchas gracias Yago. ¿ podrías implementar un botón de enlace o ayuda a SBD o la OSI de Inteco? Cómo yo trabajo con niños y sus padres, andan muy perdidos por lo general

María García dijo...

Un poco de feedback: lo he instalado correctamente y, en mi caso, me han tocado en suerte dos carpetas con un chorro de números y letras; en una están los ficheros honey token (o, podría llamarlos "no me toque"), en mi caso excel y rtf; en la otra está el anti ransom.


Para probarlo, he tocado algunos ficheros y en seguida me ha salido el mensajito. (Por cierto, qué gracioso que he visto que en los ficheros, por dentro, aparecen los nicks de algunos amigos tuyos).


Lo que no tengo muy claro es que esa sea la primera carpeta a la que acceda el ransom, porque al no estar en el raíz.... Pero como desconozco el funcionamiento de éstos, quizá sí. En todo caso, he visto que la carpeta de los honey tokens empieza por 2 y la de la aplicación por 9. No sé si es casualidad o si la instalación fuerza a que la carpeta anti ransom vaya detrás. Porque, si diera la casualidad de que fuera al revés, ¿podría el ransom cifrar el anti ransom? ¿qué pasaría entonces? ¿quedaría inhabilitado para la próxima vez? ¿No sería mejor forzar a que la carpeta anti ransom empiece por una letra? Bueno, son escenarios que se me ocurren, pero tampoco tengo mucha idea.


Otra cosa: los secuestradores seguro que leen este blog; y si van viendo las pistas de cómo funcionan las trampas, se buscarán las maneras de saltárselas ¿no?


Hasta aquí mis pruebas. Un saludo a todos.

Angelucho dijo...

Yago, ¿que te voy a decir? eres GRANDES y haces GRANDES aportes. Simplemente Gracias

Muteki dijo...

Muchas gracias por la herramienta Yago. Una preguntilla, ¿Por qué intenta conectarse a

http://www.ipvoid.com/scan/192.119.147.136/?

Yago Jesus dijo...

Hola !


Se conecta a www.security-projects.com para comprobar que es la última versión, en caso de que no lo sea, mostrará un popup indicando que hay una versión nueva.

Habibanono dijo...

Saludos, pues después de instalar el programa (windows 8) me han aparecido unas carpetas ocultas, yo he instalado el programa en mi otra pc con windows 8 y sí me creó las carpetas aleatorias (sin ocultar y de nombres aleatorios como 1jh3kug4), no carpetas ocultas, es normal?

Yago Jesus dijo...

AntiRansom no crea ninguna carpeta oculta, de todas formas ¿a que llamas tu oculto? algunas de esas carpetas son del sistema

anonim dijo...

Buenas, estaba usando el programa anti-ransom en W8 cuando me salto el aviso.
Despues de que me saltase el aviso he usado las herramientas de W8 para poner el sistema de fabrica pero manteniendo los documentos.
De esta manera estaria eliminado o se mantendria en los documentos¿?
Gracias

María García dijo...

Me alegro de leer que a alguien le haya saltado el aviso porque indica que funciona más allá de las pruebas manuales que hice yo en mi equipo de toquiñear yo misma los archivos.
Me encantó escuchar y leer la historia más completa en el podcast de Dabo y en la Revista SIC. Por cierto, que en esta última se habla de la versión 2.0 pero no la encuentro. ¿Es una errata o está ya disponible?
Estaría bien que el reportaje completo de SIC estuviera online para aquellos que no tienen acceso a la edición impresa. Merece la pena leerlo.
Otras soluciones que he visto no parecen tan eficaces. Gracias por el esfuerzo y enhorabuena.