El desarrollo de un curador de contenidos automatizado, me ha llevado, de forma involuntaria, a monitorizar los sitios webs de un conjunto de referentes del marketing de la Provincia de Alicante.

Alicante Marketing (@AlicanteMkt) lee regularmente las publicaciones que se realizan en más de 100 blogs y cuentas de Twitter. Cuando, por cualquier motivo, el feed de alguno de estos blogs es inaccesible, la incidencia queda registrada en su bitácora de funcionamiento.

Usualmente, se trata de fallas puntuales en la comunicación. Pero, cuando veo que el mensaje de error se repite en forma persistente, voy a la web, para determinar el motivo.

Si observo que se trata de un problema que probablemente el bloguero no ha detectado, intento comunicarme con él para que pueda solucionarlo (en realidad sólo lo hago la primera y, tal vez, la segunda… Hay uno cuyo proveedor de hosting falla tanto, que ya decidí ignorarlo, para que no piense que le estoy acosando).

En la mañana del 30 de diciembre de 2015, observé que la web de uno de los referentes de Alicante Marketing, había estado caída toda la noche. A pesar de que se trataba de una persona que no conozco personalmente, nos seguimos mutuamente en Twitter, así que decidí comentárselo, a través de un DM.

Al principio, él pensó que, al realizar la “limpieza de fin de año” del servidor, podría haber borrado algunos archivos necesarios para su funcionamiento.

Pero, al rato, se dio cuenta que se trataba de un ataque de ransomware, que había afectado tanto el blog que @AlicanteMkt monitoriza, como otras webs almacenadas en el mismo servidor.

Ransomware es un tipo de programa informático malintencionado que restringe el acceso a determinadas partes o archivos del sistema infectado, y pide un rescate a cambio de quitar esta restricción.”

Seguramente has leído (o conoces algún caso) de personas que, un día, al ingresar a su ordenador, se encuentran con un mensaje en el cual les piden que realicen un pago, a cambio de recuperar las fotografías y/o documentos que tienen almacenados en ella.

Frecuentemente, el mensaje “informa” que se trata de una sanción emitida por un cuerpo policial (FBI, Policía Española, etc.) debido a la comisión de delitos electrónicos, relacionados con pornografía infantil o descargas ilegales.

El pago, usualmente, debe realizarse mediante una transferencia a un monedero electrónico. En este caso, se trata de un monedero Bitcoin, creado específicamente para este uso (el atacante crea un monedero por cada víctima, de esta forma puede determinar fácilmente cuáles han pagado).

El Bitcoin es una moneda electrónica que se puede enviar por internet de persona a persona, sin el intermediario de un banco. Su símbolo es ฿ o BTC.

Luego, se debe informar al atacante del pago, para que nos facilite el acceso a nuestros documentos. En este caso, se debe ingresar a un sitio web alojado en la red Tor (se reconocen porque la dirección termina en “.onion”). En el cual se introduce el código del monedero asignado. La web verifica si se realizó un ingreso por el monto solicitado y, de ser así, permite la descarga del software y la contraseña necesarios para descifrar los archivos de su servidor web.

La Red Tor es una Darknet. Es decir, una colección de redes y tecnologías usadas para compartir información y contenidos digitales (ej. textos, software, canciones, imágenes, películas), que trata de preservar el anonimato de las identidades de quienes intercambian dicha información.

Hace unos años, estos ataques se dirigían principalmente hacia los ordenadores. Pero, probablemente debido al uso de dispositivos móviles y sistemas de respaldo en la nube (DropBox, gDrive, etc.), el valor del contenido de nuestros ordenadores ha disminuido mucho. Lo que hace que muchas víctimas prefieran formatear el equipo, en lugar de pagar el rescate.

Por eso, los piratas informáticos han dirigido sus ataques al lugar donde almacenamos los contenidos mas valiosos, desde el punto de vista profesional: La web.

Sólo imagínate que un día, al entrar a tu blog o comercio electrónico, te encuentres este mensaje (las negritas son mías, pero las palabras en rojo estaban así en el mensaje original):

Your personal files are encrypted! Encryption was produced using a unique public key RSA-2048 generated for this computer.
To decrypt files you need to obtain the private key.
The single copy of the private key, which will allow to decrypt the files, located on a secret server at the Internet. After that, nobody and never will be able to restore files...
To obtain the private key and php script for this computer, which will automatically decrypt files, you need to pay 0.5 bitcoin(s) (~210 USD).
 Without this key, you will never be able to get your original files back.
______________________________________________
!!!!!!!!!!!!!!!!!!!!! PURSE FOR PAYMENT(ALSO AUTHORIZATION CODE): 2B4xajvbRKYME4gf5Zu9AEXhKfwHXHh4kB !!!!!!!!!!!!!!!!!!!!!
 WEBSITE: http://l4zd5dbd74wnle3l.onion.to
INSTRUCTION FOR DECRYPT:
After you made payment, you should go to website http://l4zd5dbd74wnle3l.onion.to
 Use purse for payment as ur authorization code (2B4xajvbRKYME4gf5Zu9AEXhKfwHXHh4kB).
 If you already did the payment, you will see decryption pack available for download,
 inside decryption pack - key and script for decryption, so all what you need just upload and run that script ( for example: http://http://tudomino.com/decrypt.php )
Also, at this website you can communicate with our supports and we can help you if you have any troubles,
 but hope you understand we will not answer at any messages if you not able to pay.
!!!P.S. Our system is fully automatic, after payment you will receive you're decrypt pack IMMEDIATELY!!!
FAQ:
 Q: How can I pay?
 A: We are accept only bitcoins.
Q: Where to buy bitcoins?
 A: We can't help you to buy bitcoins, but you can check link below: https://en.bitcoin.it/wiki/Buying_Bitcoins_(the_newbie_version)
Q: I already bought bitcoins, where i should send it.
 A: 2B4xajvbRKYME4gf5Zu9AEXhKfwHXHh4kB
Q: What gonna happen after payment?
 A: Download button for decryption pack will be available after you made payment
Q: I pay, but still can't download decryption pack
 A: You need to wait 3 confirmations for bitcoin transaction.
Q: How to use decryption pack?
 A: Put all files from archive to your server and just run decrpyt.php (example: website.com/decrypt.php)
Q: Can I pay another currency?
 A: No.

Por razones de privacidad, realicé los siguientes cambios:

  • Donde dice “tudominio.com” aparecía uno de los dominios atacados.
  • Al código del monedero de pago le alteré algunos dígitos.

Si ahora entras a la dirección donde se debe confirmar el pago, encontrarás lo siguiente:

ramsomware-web

Y, al colocar el código del monedero electrónico, te advierte que el pago no se ha recibido.

ramsomware-web2

¿Pagarías 0,5 BTC (aproximadamente 200€) para poner nuevamente en funcionamiento tu web?

Si eres una persona precavida, dirás que prefieres restaurar el último respaldo. Pero eso te dejaría tan vulnerable como antes y los atacantes lo saben. Así que es mejor desechar esa idea.

Un plan mas serio, sería intentar eliminar cualquier rastro del código del atacante que se encuentre en nuestro servidor, y modificar las contraseñas que pudiera haber obtenido. El plan sería el siguiente:

  1. Formatear el servidor.
  2. Volver a instalar el software necesario para su funcionamiento y configurarlo adecuadamente, asegurándose de cambiar las contraseñas que pudieran haber sido vulneradas.
  3. Recuperar el respaldo y cambiar las contraseñas que contenga, que pudieran haber sido vulneradas.
  4. Verificar que todo esté funcionando correctamente.
  5. Activar el servicio.
  6. Notificar a los usuarios de las nuevas contraseñas.

Llama a tu técnico y pregúntale cuánto costaría hacer eso ahora mismo. Lo mas probable es que te encuentres con lo siguiente:

  • El último respaldo se hizo en tal fecha y tal hora. Por lo tanto, todas las operaciones realizadas con posterioridad (publicación o modificación de artículos, precios, ventas, comentarios, etc.) se perderán.
  • Dependiendo de la complejidad del sistema, el trabajo puede requerir de varios días. El monto de la factura puede que sea superior al del rescate. Eso sin contar los datos perdidos y el tiempo que la web estará fuera de funcionamiento.
  • Si te ocurre cerca de un día feriado, como en este caso. Tendrás que esperar unos días para que el técnico empiece a trabajar, o pagarle un extra por su dedicación.

Si ahora estás pensando que sería mejor pagar, debes tomar en cuenta que, aún en ese caso, tendrías que formatear y cambiar las contraseñas, para evitar que vuelvan a atacarte unos días después.

En este caso, afortunadamente, la víctima cuenta con amplios conocimientos de informática y, como la noche anterior estaba realizando la “limpieza de fin de año”, cuenta con respaldos actualizados.

Pero aún quedan por resolver 2 dudas:

  • ¿Cómo obtuvo el atacante acceso al servidor?
  • ¿Cómo protegerse de futuros ataques?

Cuando tu e-commerce ha dejado de funcionar, esas preguntas pueden parecer secundarias pero, si sigues leyendo, verás que, si no tomas las precauciones debidas, tu sitio web puede volver a ser atacado, incluso antes de que vuelva a estar funcionando.

¿Cómo obtuvo el atacante acceso al servidor?

Al buscar en Google, me encontré con más de 2.000 sitios indexados con textos similares a citado arriba (cambiando únicamente el nombre de dominio, el monedero electrónico y, en algunos casos, la dirección de la web donde se obtiene el código para recuperar los datos).

Seguramente habrá muchos otros con textos diferentes, que no han sido indexados o que ya fueron recuperados y reindexados por Google.

Así mismo, localicé comentarios sobre esta situación en varios foros especializados. La mayoría se refieren a casos ocurridos recientemente en webs basadas en PrestaShop, lo que sugiere que el (o los) atacantes, tienen preferencia por sitios de comercio electrónico.

También hay varias referencias a sitios en Joomla (el cual es utilizado por la víctima en varios sitios alojados en ese servidor). Pero, como verás mas adelante, utilizar otro CMS no disminuye la vulnerabilidad a este tipo de ataques.

Luego de leer las experiencias de los afectados, decidí buscar información especializada. Me encontré un artículo en el blog de Avast, fechado en agosto de 2014, en el cual se explica la metodología utilizada.

Los pasos son los siguientes:

  1. Se instala en un ordenador personal un ramsomware llamado Reveton. Aparentemente, el medio mas común es la visita a un sitio web infectado, pero podría ser a través de archivo enviado por correo-e u otros medios.
    • En este caso, la víctima reconoce haber visitado varios sitios sospechosos la noche que se realizó el ataque.
  2. Desde 2014, Reveton cuenta con un módulo adicional, llamado Pony Stealer, el cual se especializa en robar y descifrar las contraseñas que almacenan ciertas aplicaciones.
    • Nuestra víctima utiliza el cliente FileZilla, para acceder a su servidor web.  Este aparece mencionado en la lista que podrás leer mas adelante.
  3. Las contraseñas se envían a los servidores que controlan la red de equipos infectados. El ataque puede realizarse desde estos servidores o desde el mismo equipo infectado.
    • En este caso, cada vez que se utilizaba FileZilla para subir archivos, la víctima observaba actividad sospechosa en el servidor. Lo que nos sugiere, pero no garantiza, que el ataque se realizaba desde su propio equipo.

modulos pony secuestro web

En verano de 2014, Pony Stealer ya era capaz de obtener y descifrar las contraseñas de las siguiente aplicaciones:

  • Funciones del Sistema Operativo: Deep System Info, ScreenSaver password, LSA local, Windows passwords and certificates, RAS, ASP/.NET credentials, Groups passwords, Proxy, WinSocks, WinInet pipe etc.
  • Clientes FTP: 32bit, BulletProofFTP, BitKinex, ClassicFTP, CoffeeCup, CoreFTP, CuteFTP, DOpus, ExpanDrive, FAR, FFFTP, FTPCommander, FTPControl, FTPExplorer, FTPRush, FTPUploader, FileZilla, FlashFXP, Fling, FreeFTP, Frigate3, LeapFTP, NetDrive, SecureFX, SmartFTP, SoftX, TurboFTP, UltraFXP, WS_FTP, WebDrive, WebSitePublisher, WinSCP, Windows/Total Commander.
  • Clientes de Escritorio Remoto y Redes Privadas Virtuales: CiscoVPN, FreeCall, PC Remote Control, Remote Desktop Connection, WinVNC.
  • Clientes de Mensajería Instantánea: AIM, AIMPRO, Astra, CamFrog, Digsby, Excite, Faim, GTalk, Gaim, Gizmo, ICQ2003, ICQ99b, IM2, JAJC, LiveMessenger, MSN, Miranda, MySpace, Odigo, PSI, PalTalk, Pandion, Pidgin, QIP, QIPOnline, R&Q, SIM4, Trillian, VypressAuvis, Yahoo.
  • Servicios de Acceso Remoto: DialerQueen, EDialer, FDialer, MDialer, VDialer.
  • Herramientas de Descarga: Download Master, FlashGet, GetRight, Internet Download Accelerator.
  • Clientes de Poker Online: 888Poker, AbsoluteCommon, AbsolutePoker, CakePoker, FullTiltPoker, PartyPoker, PokerStars, TitanPoker, UltimateBetPoker.
  • Navegadores Web: Chrome, Firefox, Flock, IE, Opera, Safari, SeaMonkey, Thunderbird, + Browser_History, Browser_Socks, System_Socks.
  • Clientes y Cuentas de Correo Electrónico: Becky, Eudora, ForteAgent, Gmail, GroupMailFree, IncrediMail, MailCommander, Outlook, POPPeeper, PocoMail, Scribe, TheBat, Windows Mail, mail.ru.

Las funciones del sistema operativo las usamos todos. Además, seguramente utilizarás algunas aplicaciones de otras categorías.

En conclusión, si esto te ocurre, tendrás que remover Reveton y Pony Stealer de tu ordenador. Sino, en cuanto actualices las contraseñas, tu servidor volverá a ser atacado. Para estar seguros, lo idóneo sería que lo formatearas.

Además, tendrás que cambiar todas las contraseñas que estén almacenadas en tu ordenador.

Peor aún, si hay varias personas que conocen las contraseñas que hubiesen permitido este ataque, tendrás que elegir entre formatear todos sus equipos o realizar una investigación forense, que te permita identificar a través de cuál de ellos se realizó el ataque.

¿Cómo Protegerse de Estos Ataques?

Es interesante que, en el artículo de Avast, la única recomendación que se menciona para protegerse de estos ataques es “hacer respaldos periódicos” (por su puesto, usando sus servicios). Sin embargo, hay otras cosas que puedes hacer:

  • Respaldos periódicos: No importa cuánta seguridad implementes en tu sitio web. Un fallo de seguridad en tu equipo personal (o en el de cualquier persona que tenga acceso a tu web) puede abrirle las puertas a los hackers (o “crackers”).
    • Los respaldos deben almacenarse en un servidor distinto. Si el atacante cifra todo el contenido de tu servidor, también cifrará los respaldos que allí se encuentren.
    • La frecuencia de los respaldos, debe ser consistente con la actividad de la web. Para blog con poco movimiento, puede bastar con respaldos semanales. Para un e-commerce pequeño, podrías hacerlo a diario. Pero si realizas decenas de ventas todos los días, requerirás una frecuencia mayor.
    • Facilidad de recuperación. Cuando definas tu estrategia de backups, evalúa el tiempo y el esfuerzo requeridos para realizar una recuperación. En algunos casos, puede resultar mucho mas complejo de lo que te imaginas.
    • Si utilizas WordPress, en este artículo encontrarás los plugins que te recomiendo para realizar los respaldos.
  • No almacenes las contraseñas en el navegador, ni en ninguna otra aplicación. La mayoría de las aplicaciones no cifran adecuadamente las contraseñas. Para obtenerlas, a veces basta con abrir el archivo de texto donde las guardan.
  • En tu ordenador, utiliza y mantén actualizados un antivirus, un anti-malware y un FireWall. Las empresas que los desarrollan, tienen años analizando estos ataques. En muchas ocasiones, sus herramientas podrán bloquearlos. En los ordenadores familiares, yo uso Avast, MalwareBytes y el FireWall de Windows, que son todos gratuitos y fáciles de utilizar.
  • Un usuario, una contraseña. En entornos “de confianza” es frecuente compartir las contraseñas entre varios usuarios. Eso significa que, en casos como este, no hay forma de saber cuál de ellos fue el que abrió la brecha para el ataque. Los logs del servidor pueden informarnos cuál contraseña fue utilizada para el ataque. Si sólo la conoce una persona, sólo tendremos que “vacunar” los equipos que ella usa.
  • Limita los permisos de cada usuario. Entiendo que tienes plena confianza en tus empleados. Pero cada uno debería tener acceso únicamente a la información que necesita para su trabajo. Si ocurre un ataque como este, sólo podrán secuestrar los datos con los que trabaja uno de ellos.
    • En este caso, la víctima había creado un usuario para cada proyecto. Pero, para facilitar su trabajo, había algunos usuarios con acceso a varios dominios. De esta forma, con una única contraseña, el atacante tomó el control de varios sitios web.
  • Realiza respaldos periódicos. Si no tienes un buen sistema de respaldos, el resto de las recomendaciones resultarán insuficientes.

Sin estas precauciones, ¡ni siquiera el Hombre Araña podrá ayudarte!

proteccion-secuestro-web

Conclusiones

  • No importa cuán seguro sea tu servidor web, si alguien accede a él desde un ordenador inseguro, podría ser atacado en cualquier momento.
  • Asegúrate de que todos los usuarios de  tu servidor web, utilicen una metodología que garantice la seguridad de las contraseñas.
  • Cada usuario debe tener acceso únicamente a la información que necesita.
  • Cada persona que tenga acceso a un recurso protegido, debe utilizar un usuario y contraseña distintos.
  • Realiza respaldos periódicos.

Termino de escribir estas líneas en la tarde del 1 de enero de 2016.  Veo que algunas de las webs atacadas siguen sin funcionar. La última vez que hablé con la víctima sus palabras fueron:

Por seguridad voy a borrar todo el server y cambio de passwords mas formateo del mac.

Gracias por la ayuda!!!!

Ya tengo trabajo para este finde :))

Sospecho que se comió las uvas frente al ordenador. Así que no he querido molestarle para comentarle que, hasta donde he podido investigar, Raveton y Ponny sólo funcionan bajo Windows. Por lo tanto, es probable que el ataque se halla iniciado en otro equipo. :o(

¿Conoces algún caso similar o alguna medida de protección adicional que pueda utilizarse?