Ciberseguridad: Troyanos Keyloggers, Backdoors y Stealers ¿Qué son?

«De tu cólera nacerá Europa, pero para que nazca Europa, tú tienes que morir en Troya«. Como vamos a hablar de Troyanos empiezo citando una frase de La Cólera de Santiago García, uno de los mejores guionistas de tebeos españoles y una obra flipante con un dibujo de Javier Olivares tremendo, pero aunque me encante charlar de tebeos y aunque la obra de Homero sea fundamental en el desarrollo de la cultura literaria europea y occidental no serán La Odisea o La Ilíada lo que hoy nos ocupe, aunque tenga un poco que ver.

Decía que tienen un poco que ver porque este tipo de malware originalmente se denominaba Trojan Horse (Caballo de Troya, después abreviado a simplemente Trojan), en referencia a la estrategia de Odiseo para tomar la ciudad: camuflar a sus soldados dentro de una estatua y dejarla como regalo. Al igual que aquellos griegos, los troyanos se ocultan dentro de un software en apariencia legítima para infectar a tu equipo, algo de lo que ya hemos hablado en las entradas sobre rogueware o sobre apps maliciosas. Se dice que el primer troyano conocido, si nos fiamos del libro At the Abyss: An Insider’s History of the Cold War de Tomas C.Reed (ex-asesor de Reagan en materia de seguridad nacional), fue uno introducido por la CIA en 1982 en un software canadiense diseñado para controlar el sistema de un gasoducto y que se esperaba que fuese robado por espías rusos para usarlo en el gasoducto transiberiano, que proveería gas a varios países europeos y al que EEUU se oponía por su antagonismo hacia la URSS y también por su tradicional alianza con la monarquía marroquí. El resultado de dicho ataque informático habría sido una enorme explosión seguida de un gran incendio, sin víctimas mortales humanas directas pero con terribles efectos sobre la economía soviética, dejando inhabilitado el gaseoducto durante meses. Añado que la CIA no ha confirmado en ningún momento la historia de Reed ni figura en documentos desclasificados, mientras que desde el lado ruso hay división de opiniones sobre si hubo o no sabotaje.

Fotografía genérica con comandos
Photo by Negative Space on Pexels.com

Generalmente las infecciones por troyanos suelen producirse por descargar ficheros que nos llegan en correos maliciosos o por utilizar software descargado de fuentes no fiables. Como siempre recomiendo y repito porque soy un viejo cascarrabias: tened cuidado antes de abrir nada que se reciba por correo/mensajería instantánea, preguntad al remitente siempre antes de abrir nada. Descargad el software siempre desde el sitio del fabricante. Tener un antivirus actualizado nos ayudará a prevenir muchos de los ataques también, aunque no pueda garantizar una protección del 100% si se trata de una vulnerabilidad nueva sí nos ayudará contra amenazas ya conocidas.

Keyloggers, backdoors y stealers:

Sobre el ramsonware, el malware que secuestra tus ficheros cifrándolos, ya hablamos largo y tendido en su propio artículo, así que no me explayaré y veamos los otros tres tipos de troyanos más habituales:

  • Keyloggers: un keylogger es un programa que captura todas las señales que el equipo recibe del teclado, almacenándolas en un fichero y enviándolas en algún momento al atacante. Su principal utilidad es descubrir pares de usuarios y contraseñas entre los textos tecleados. Os comentaré que este tipo de ataque además de a través de un troyano también se puede realizar mediante un hardware específico. Si descubrimos que hemos sido infectados por uno lo mejor es que, tras limpiar el equipo con un anti-malware, cambiemos nuestras contraseñas por si acaso, también es interesante tener activada la autenticación en dos pasos en nuestros servicios web para evitar que puedan acceder solo con la contraseña.
  • Backdoors: una backdoor, puerta trasera en castellano, es un software que da acceso remoto a nuestro equipo a un atacante si que seamos conscientes de ello. Esto le permitirá hacer cualquier tarea sirviéndose de nuestro equipo.
  • Stealers: un stealer, en castellano ladrón, es un software diseñado para robar información almacenada en nuestro equipo, como puedan ser credenciales de acceso a algún servicio web, números de tarjeta de crédito, etc. Los consejos que os daré si habéis sido infectados son los mismos que con el keylogger, tras desinfectar el equipo con algún anti-malware el cambio de contraseñas será fundamental. De nuevo insisto en la autenticación de dos factores para tener un extra de protección ante el robo de contraseñas.

Ciberseguridad: Ransomware ¿qué es?

Seguimos con el repaso de términos relacionados con la ciberseguridad y vamos a hablar de una de las amenazas más presentes del último lustro: el ransomware. Seguro que recordaréis ataques informáticos que dejaron inhabilitados docenas de hospitales en los EEUU o UK, servidores del ministerio de interior Ruso o, en el caso de España, a Telefónica, varios ayuntamientos e incluso los sitios del SEPE y del Ministerio de Trabajo. Aquellos ataques fueron realizados con los malwares Wannacry y Ryuk, que son dos de los tipos de ransomware que más daño han causado en los últimos años. Si bien es un tipo de amenaza que existe desde los años 80 del siglo pasado en los últimos años, sobre todo a partir de 2012, ha sido cuando más se ha explotado.

Fotografía de atacante genérico
Photo by Mikhail Nilov on Pexels.com

Te preguntarás en qué consiste esta temida amenaza. El ransomware es un tipo de malware que lo que hace es cifrar los ficheros de nuestro equipo para que no podamos acceder a ellos. ¿Por qué nos cifra los ficheros? Pues para pedirnos un rescate. El atacante exigirá un pago a cambio de proporcionarnos una herramienta o una contraseña que descifre nuestros ficheros. Como te puedes imaginar, las garantías de recibir la herramienta después del pago son nulas, existen testimonios de gente que sí recibió una solución y de otra que no recibió nada. En cualquier caso suele recomendarse no pagar el chantaje. ¿Cómo nos infecta? El ransomware es un programa que tiene que entrar en nuestro equipo, así que hay muchas formas: correos electrónicos maliciosos, falsos antivirus, aplicaciones maliciosas, ataques por fuerza bruta contra la contraseña de un servidor con los puertos abiertos en internet… ya hemos hablado de todas en entradas anteriores.

¿Cómo nos protegemos?

Bueno, como siempre tener un antivirus/suite de seguridad informática actualizado nos protegerá de muchas amenazas, aunque no de todas. Si tenemos un equipo conectado en una red abierta hacia internet la configuración del cortafuegos es también vital. El clásico actuar con sentido común también es importante: no abrir ficheros que nos llegan en correos o mensajes inesperados, andarse con ojo con los programas que descargamos e instalamos, tener cuidado si conectamos un dispositivo de almacenamiento externo (tarjeta de memoria, pendrive usb, disco duro externo)… Aunque incluso con todo el cuidado del mundo podemos acabar siendo igual víctimas de un ataque. Recuerdo que en las primeras ocasiones que tuve que lidiar con equipos afectados por ransomware había herramientas de recuperación gratuitas que eran capaces de revertir el cifrado de nuestro equipo si les proveíamos unos cuantos ficheros cifrados por el atacante y sus copias previas sin cifrar, aunque era una tarea engorrosa. Y recuerda siempre: la mejor protección para mitigar la pérdida de datos es contar con una copia de seguridad externa al equipo (NAS, disco duro externo, servidor externo), incluso fuea de la red local pues muchas versiones de estos malwares pueden replicarse. Tener varias copias de nuestros ficheros importantes no solo nos protege del ransomware, también de averías o robos de dispositivos.

Cómo abrir los puertos para la instancia predeterminada de SQL-Server y el SQL Server Browser en un servidor Windows

El título es largo, pero la entrada va a ser corta. ¿Cómo abrimos los puertos del firewall de un servidor Windows para poder acceder desde otro equipo a la base de datos SQL-Server y trabajar con ella? A veces nos encontramos con que el cortafuegos de Windows nos está bloqueando y solo podemos trabajar con la base de datos conectados al propio servidor. Pues con estos dos comandos desde el PowerShell podemos configurarlo para abrir los puertos predeterminados:

New-NetFirewallRule -DisplayName "SQLServer default instance" -Direction Inbound -LocalPort 1433 -Protocol TCP -RemoteAddress LocalSubnet -Action Allow

New-NetFirewallRule -DisplayName "SQLServer Browser service" -Direction Inbound -LocalPort 1434 -Protocol UDP -RemoteAddress LocalSubnet -Action Allow

Si queremos bloquear el acceso de nuevo solo tendríamos que cambiar el valor que le pasamos al parámetro –Action, poniendo Block en lugar de Allow. El parámetro -RemoteAddress está para limitar en este caso que solo se pueda acceder desde la red local, en el caso de querer bloquear podéis omitirlo para que bloquee el puerto desde cualquier ubicación remota.

Resetear una contraseña en Linux usando una jaula chroot

Vamos a dejar temporalmente el tema de la ciberseguridad, sin dejarlo realmente de todo, y vamos a hablar sobre cómo restaurar una contraseña de Linux usando una jaula chroot, una técnica que ya vimos hace años que se podía utilizar también para otras tareas de reparación y recuperación como restaurar el GRUB. El comando chroot nos permite ejecutar un proceso bajo un directorio raíz simulado, aislado del resto del sistema. La verdad es que resetear una contraseña de esta forma es algo que no pruebo desde hace años.

Supongamos que tenemos que acceder a un equipo con Linux y hemos perdido u olvidado la contraseña. Lo primero será arrancar el equipo con una distribución de Linux en modo live, lanzamos un terminal y nos hacemos administradores ejecutando:

sudo -s

El siguiente paso sería crear una carpeta que usaremos como «punto de montaje» que en el ejemplo llamaremos recuperapass, para montar en ella la partición en la que tengamos las contraseñas (en el ejemplo pondremos sda1, en vuestro caso poned la que corresponda) y ejecutar chroot sobre ella:

mkdir /mnt/recuperapass
mount /dev/sda1 /mnt/recuperapass
chroot /mnt/recuperapass

En este punto ya está montada nuestra partición dentro de la jaula chroot en la que tenemos permisos de administrador, de esta forma podemos utilizar el comando passwd para establecer una nueva contraseña de administrador, o pasarle el nombre de un usuario si queremos cambiar la de un usuario concreto. Tras eso salimos del proceso iniciado por chroot y desmontamos la partición:

exit
umount /mnt/recuperapass

Llegados a este punto apagamos e iniciamos nuestro Linux normalmente. Ya deberíamos poder entrar con la nueva contraseña.

Ciberseguridad: Apps maliciosas en dispositivos móviles

Empezaré esta entrada sobre ciberseguridad contando una historia propia, que el cuento y la leyenda han sido siempre buenos instrumentos educativos para advertir de peligros, aunque en este caso la historia es real pero debidamente anonimizada.

Hará menos de un mes un familiar me comenta que el conocido de un amigo le va a pasar un app para ver «todo el fútbol gratis» desde su tablet Android. La simple descripción de la aplicación hace que en mi hombro izquierdo un pequeño duende con un trébol de tres hojas grite «Danger! Danger!» (y no está cantando la canción de Electric Six), luego os explico por qué ya desconfío de entrada. El app debe ser de confianza porque el conocido del amigo es un tío que sabe mucho de estos temas. Como os podéis imaginar el app no está en la tienda oficial de aplicaciones de Android, es un fichero apk que le envían por Whatsapp, fichero que le pido, me descargo y desempaqueto con el Android Studio. Lo primero que hago es echarle un ojo al Android Manifest para ver qué permisos pide: ¿Ver estado de la red? Bueno, esto entra en la lógica ¿Usar datos móviles? Vale, si no estás conectado a una wifi los necesitará para el streaming ¿Ver información de la Wifi? Esto me mosquea, una cosa es ver si hay red y otra ver los detalles. Entonces empiezo ya a ver cosas que no deberían estar ahí: Acceso a los SMS, acceso a los contactos, acceso a las llamadas, acceso a la ubicación, acceso al GPS, acceso al almacenamiento, acceso al Bluetooth, acceso a pagos desde la aplicación, acceso al micrófono… Esos permisos no tienen ningún sentido para la finalidad de la aplicación, de hecho el combo SMS+Pagos me provoca hasta terror y sudores fríos. Recomiendo no instalarla porque el riesgo potencial de dicha aplicación es muy alto.

Imagen de un teléfono móvil
Photo by cottonbro on Pexels.com

¿Por qué me mosqueó la aplicación ya de entrada y antes de haber visto nada? Pensemos un momento de forma crítica y analítica: hacer una aplicación requiere invertir tiempo en diseñarla, programar el código, hacer pruebas, actualizarlo cuando haya problemas de seguridad o cambios en el núcleo de Android… En este caso además se trata de una aplicación que muestra una información que hay que actualizar a diario, todos los días hay que subir los enlaces de los partidos de la jornada, así que estamos ante una aplicación que requiere que alguien invierta muchas horas en mantenerla fucionando. Además, hoy por hoy con la ley en la mano lo que hace dicha aplicación es ilegal, por lo que la persona que mantiene el app se podría ver envuelto en problemas legales con empresas muy grandes y ricas, que tienen todos los recursos legales del mundo para amargarte la vida. Entonces ¿por qué alguien dedicaría tanto tiempo y se arriesgaría a tener problemas con la ley si no va a conseguir un retorno económico? Puede que sea alguien con mucho tiempo y dinero que pretende empezar una guerra contra los gigantes del contenido, pero es más probable que sea alguien que busque conseguir un retorno económico con dicha aplicación.

¿Qué son las apps maliciosas?

El ejemplo que he puesto con la historia que os he contado es una buena definición de un app maliciosa: una aplicación que teóricamente parecía legítima pero que realmente era una trampa para acceder a un montón de permisos dentro de nuestro teléfono. ¿Qué puede conseguir un ciberdelincuente con eso? Pues depende de los permisos que le hayamos dado: infectar nuestro dispositivo para ser parte de una red zombie en un ciberataque, usar nuestro teléfono para minar criptomonedas, robar nuestros datos, suscribirnos a servicios de sms premium o llamar a números de tarificación especial, tomar el control de nuestro dispositivo… Se roban tantos datos a día de hoy que en la deep web los de un solo individuo llegan a venderse por cantidades ridículas. ¿Crees que los datos de un ciudadano medio, incluyendo acceso a sus cuentas de correo, a la web de su seguro médico y al app de su banco, valen miles de euros? No, hoy por hoy hay paquetes de información así vendiéndose por 10 euros en la deep web.

¿Cómo me protejo de estas apps maliciosas?

Bueno, en este caso la única solución es no instalarla. Es una respuesta de perogrullo, pero eso es así. Entonces me diréis «¿no instalamos nada por si acaso?«, pues no… pero sí, me explico: si no lo necesitas no lo instales, esto es una máxima que suelo aplicar, tener aplicaciones por tener solo implica malgastar capacidad de almacenamiento en nuestro dispositivo y aumentar las posibilidades de sufrir un problema de seguridad. Si llegamos a la conclusión de que sí necesitamos esa aplicación entonces el siguiente punto es ¿desde dónde la descargamos? Pues lo mejor es hacerlo desde la tienda oficial de apps de nuestro sistema operativo (Apple, Google, Amazon, la que toque), pero cuidado, a veces alguna aplicación maliciosa logra colarse ahí, así que aunque esté en un sitio legítimo puede ser ilegítima por lo que debes siempre revisar los permisos que te pide la aplicación y pensar «¿esta aplicación necesita esto para lo que a hacer?» Yo entiendo que puede ser confuso en muchos casos, pero hay que hacer el esfuerzo por nuestro propio bien y pensar en qué le estamos permitiendo, por ejemplo ¿una aplicación para enviar dinero a mis amigos necesita acceder a mi lista de contactos? Bueno, eso tiene cierta lógica. ¿Esa misma aplicación necesita acceder a mi GPS? Pues eso en cambio ya no tiene ninguna explicación en principio coherente.

Hay otras medidas de seguridad proactivas que podemos tomar por si nos viéramos afectados por una de estas aplicaciones como tener copias de seguridad de nuestros datos, por si sufriéramos un ataque que las destruyese o secuestrase, o cifrar nuestro dispositivo para evitar que en caso de robo de datos estos fueran legibles. También aplicaciones como el CONAN de INCIBE nos permitirán comprobar la seguridad de nuestro dispositivo ¿Qué pasa si ya nos hemos infectado? Pues lo primero es eliminar la aplicación maliciosa, después ya con el equipo libre de ese malware lo mejor sería cambiar nuestras contraseñas en los distintos servicios que utilizásemos para evitar sustos por si hubieran sido robadas. La OSI tiene una infografía muy chula resumiendo todo esto.

SQL-Server 2008 R2: «El valor de la línea de comandos INSTALLSHAREDWOWDIR no es válido. Compruebe que la ruta de acceso especificada es válida y diferente de la ruta de acceso de INSTALLSHAREDDIR»

Pues llevo unas horas pegándome con este problema. Ayer un compañero se puso a instalar un SQL-Server 2008 y se le ocurrió poner la misma ruta para los recursos compartidos de la versión de x86 y para la de 64 bits. Cuando llegué hoy a restaurar la base de datos que tenía que ir en ese equipo me encontré con que no podía restaurarla.

Decidí que lo mejor sería desinstalar el motor de base de datos y volver a instalarlo, pero me saltó el error del título: «El valor de la línea de comandos INSTALLSHAREDWOWDIR no es válido. Compruebe que la ruta de acceso especificada es válida y diferente de la ruta de acceso de INSTALLSHAREDDIR«. Como el tiempo apretaba y no acababa de encontrar en google ninguna solución para cambiar esas rutas pensé que la solución rápida sería instalar otra instancia con otro nombre y usar esa, dejando la primera mal instalada apagada, pero me encontré con que el instalador tampoco me permitía cambiar la ruta duplicada al iniciar una nueva instalación.

Busqué en Google pero no había casi pistas, de hecho el ejemplo que encontraba no solía ser para esto problema sino para otro en el que uno de los directorios está definido y el otro no, que no era el caso. La cosa era que si el programa de instalación estaba abriendo ya con una ruta cargada esa ruta tenía que estar definida en algún sitio. Fiándome de un foro busqué un fichero que se llamase config.ini o ConfigurationFile.ini sin suerte. Al final encontré esta entrada en otro blog donde alguien había tenido ese problema cuando intentó actualizar de un 2008 a un 2014.

La cosa es que la ruta está guardada en el registro del sistema, en concreto en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-518\Components\0D1F366D0FE0E404F8C15EE4F1C15094 para INSTALLSHAREDDIR y en la clave HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-1-5-18\ Components\C90BFAC020D87EA46811C836AD3C507F para INSTALLSHAREDWOWDIR. Decidí modificar todos los valores y cambiarlos por la ruta por defecto que suele usar SQL-Server para no tener ya más quebraderos de cabeza. Tras el cambio no tuve ni que reiniciar, volví a abrir el programa de instalación y me permitió desinstalar y volver a instalar correctamente.

Diferencia entre TLS y SSL

Me pregunta un cliente, que estaba configurando un cliente de correo, la diferencia entre TLS y SSL. Supongo que más gente tendará interés así que lo cuento por aquí:

Tanto TLS como SSL son protocolos de cifrado de datos que se aplican en la capa de transporte en internet (protocolos TCP/IP).

Ejemplo de código fuente ofuscado.
Photo by Markus Spiske on Pexels.com

SSL son las siglas de Secure Socket Layer, apareció originalmente en 1995 y tuvo varias revisiones (2.0 y 3.0) que corregían diversos problemas de seguridad. La versión 2.0 fue considerada obsoleta en 2011, mientras que la versión 3.0 fue marcada como tal en junio de 2015 tras encontrarse vulnerabilidades graves que facilitaban ataques man-in-the-middle.

TLS, abreviatura de Transport Layer Security, fue publicado originalmente en 1999 y también ha tenido varias revisiones, siendo la última de agosto de 2018, que nos trajo la versión 1.3 del protocolo. Las versiones 1.0 y 1.1 se consideran obsoletas, mientras que la versión 1.2 del protocolo (de 2008) todavía se permite bajo ciertas condiciones.

Entonces ¿Qué debo usar? Pues hoy por hoy lo recomendable es TLS 1.3, es la versión más actualizada y más segura. En algunos casos todavía encontraremos algunos servidores que utilizan TLS 1.2 por cuestiones de compatibilidad con alguna aplicación antigua. Cualquier versión anterior a la 1.2 debería ser considerada insegura y obsoleta.

Exodus Privacy: Controla quién te rastrea desde las apps de tu móvil Android

Hay un dicho: en internet si algo es gratis tú no eres el cliente sino el producto. Aunque no es así el 100% de las veces sí que es habitual que las empresas que nos proveen un servicio «gratis» realmente se estén lucrando comerciando con nuestros datos, ya sea a un nivel individualizado o usándolos de forma anonimizada en la elaboración de estadísticas y estudios. ¿Podemos saber quién está rastreándonos desde un app que tengamos instalada en nuestro teléfono? Podemos. Hablemos de Exodus Privacy.

Exodus Privacy es una ONG francesa cuyo objetivo es hacer a los usuarios conscientes del rastreo al que pueden ser sometidos a través de las apps de sus teléfonos móviles. Para ello se sirven tanto de canales de comunicación en redes sociales a través de los cuales hacer didáctica como de una herramienta de análisis, una herramienta que nos informa sobre que rastreadores trae incorporada una aplicación.

Captura ejemplo del app de Exodus Privacy

Disponemos de dicha herramienta en dos formatos: app y web. A la versión web podemos acceder a través de este enlace, en ella veremos un cuadro de texto donde podemos buscar apps por el nombre, o incluso pegar la url de un app del Google Play Store si queremos algo muy concreto, para obtener un informe sobre qué permisos solicita y qué rastreadores incorpora. La otra opción pasa por instalar la propia app de Exodus en nuestro teléfono, ya sea a través de la propia Play Store o de F.Droid. En su web además disponemos de otras cosas como un blog corporativo, informes sobre los distintos rastreadores que han detectado o explicaciones de los conceptos sobre los que hablan.

Abrir la carpeta inicio de Windows en Widows 10

Otro pequeño truquito: en las versiones antiguas de Windows la carpeta Inicio, donde podemos meter los programas y scripts que queremos que se ejecuten al arrancar el sistema operativo, estaba muy accesible: en el menú de Windows aparecía ya una sección «Inicio» y bastaba con un click derecho para navegar hasta ella. Pero en algún momento algún ingeniro a sueldo de Bill Gates decidió que tendría que estar más a desmano, porque patatas traigo. ¿Cómo encontrar la carpeta con facilidad en Windows 10?

Por defecto la carpeta de inicio común estaría en la ruta «C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp» y la de usuario en «C:\Users\Username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup«, pero es bastante complejo acordarse de toda esta ruta de memoria, tranquilidad que existe un atajo.

Pulsando la tecla de windows y a la vez la tecla R se abrirá el menú para ejecutar un comando, en ese ventana debemos ejecutar la orden shell:startup si queremos abrir la carpeta de inicio del usuario o shell:common startup si queremos abrir la carpeta de inicio común.

Windows 10: Quitar de la barra de tareas el widget con la información meteorológica

La última actualización de Windows 10 ha activado un widget que nos muestra en la barra de tareas la información meteorológica y que, al pasar sobre él, nos despliega un menú con noticias con una selección basada en las preferencias que puedan inferirse de lo que hayamos visitado con nuestra cuenta de Microsoft conectada. Dicho widget resulta incómodo a mucha gente y ya son varios los que han llamado a mi trabajo preguntando cómo se desactiva, algo que realmente solo requiere de un par de clicks si se sabe a ciencia cierta dónde buscarlo.

Lo primero que tenemos que hacer es click derecho sobre la barra de tareas, acción que mostrará un menú en el que debemos situarnos sobre la opción Noticias e Intereses. Al posarnos en esa sección desplegará otro menú con tres opciones: «Mostrar Icono y texto«, «Mostrar solo el icono» y «Desconectar«. Por defecto estará marcada la primera, ahí ya podemos optar por «Desconectar» si no queremos ver nada o por la opción de «Mostrar solo el icono» si queremos verlo más reducido. Si queréis tenerlo visible pero lo que os molesta es que se abra automáticamente al situar el ratón encima basta con que desmarquéis la opción «Abrir al mantener el puntero«. Adjunto una imagen para que veáis de qué menú os hablo: