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:

Configurar “impresión silenciosa” (silent print) en Chrome

El otro día veíamos la misma casuística con Firefox: trabajar con un app web que requiera imprimir algo de manera repetida y requieres cierta agilidad, por ejemplo tickets de compra o recibos. Si pulsamos imprimir el navegador abre una pantalla para seleccionar la impresora, haciéndonos perder unos segundos en tener que dar un nuevo click para confirmar la impresión. Vamos a ver cómo configurarlo ahora en Chrome, que será algo distinto.

Bueno, recordemos los pasos previos: tener la impresora deseada configurada como predeterminada y además haber definido las preferencias de impresión (cabecera, pie, márgenes, etc) a nuestro gusto. En el caso de Chrome me he encontrado con que la configuración que se usaba en versiones antiguas desde las flags ya no aparece, pero todavía tenemos la opción de abrir Chrome en modo kiosk. Esta es una modalidad que abre directamente una aplicación en ventana completa, que además es imposible de minimizar, pensado para puestos de trabajo como pueden ser puntos de venta. En este modo podemos usar la impresión directa. Añado que el modo kiosk está también disponible en Firefox:

  • Creamos un acceso directo a Chrome apuntando a la ruta donde esté instalado el ejecutable.
  • En las propiedades del acceso directo, en destino, añadimos después de la ruta al ejecutable la siguiente línea cambiando la URL del final por la que queremos usar: –kiosk –kiosk-printing «http://rutaalawebquequremosabrir«
  • Esto abrirá Chrome en el modo de ventana completa y con la impresión silenciosa por defecto.

¿Cómo ver la cabecera de un correo con GMail?

Si tienes una cuenta de Gmail y sus su cliente web para ver los correos es posible que alguna vez te hayas preguntado si se puede ver la cabecera de los mismos. Sí, es posible.

Si entras en el correo del que quieres ver la cabecera comprobarás que a la derecha, al lado del botón de Responder hay un icono con tres puntos (en la imagen está ya marcado).

Al pulsarlo se desplegará un menú en el que debemos seleccionar la opción Mostrar Original. Al hacerlo nos llevará a una pantalla donde veremos todo el código del email, con su cabecera incluída:

Ahí podemos ya copiar la cabecera del correo para lo que la necesitemos.

Configurar «impresión silenciosa» (silent print) en Firefox

Imagina que trabajas con una aplicación web desde la que tienes que imprimir algo de manera repetida y requieres cierta agilidad, por ejemplo tickets de compra o recibos. Si pulsas imprimir el navegador abrirá una pantalla para seleccionar la impresora, haciéndote perder unos segundos en tener que dar un nuevo click para confirmar la impresión. ¿Se puede configurar el navegador para que esta impresión sea silenciosa? ¿Para que directamente mande el documento a la impresora predeterminada sin preguntar? Se puede. Veamos como hacerlo con Firefox.

Bueno, como pasos previos tendríamos que tener la impresora deseada configurada como predeterminada y además deberíamos ya haber definido las preferencias de impresión (cabecera, pie, márgenes, etc) a nuestro gusto. Suponiendo que eso esté listo pasamos a configurar Firefox por pasos.

  • Escribimos about:config en la barra del navegador. Nos llevará a una pantalla de confirmación donde aceptaremos sin miedo y esta nos redirigirá al buscador de características.
  • Buscamos la característica print.always_print_silent escribiéndolo tal cual. Ahora hay dos opciones:
  • Si existe hacemos doble click o click en el botón de alternar que aparecerá a la derecha y la dejamos con el valor true.
  • Si no existe ya nos saldrá una barra con la opción de añadir esta nueva característica pulsando el botón con el símbolo + situado a la derecha. Debemos definirla como boolean. Una vez definida le damos el valor true.

Tras eso reiniciamos el navegador y podemos comprobar que si mandamos una página a la impresora ya no nos pide seleccionar qué máquina queremos usar, la envía directamente a la predeterminada.

Usar Powershell para cambiar configuración de red entre pública y privada

Cuando hice el curso de fundamentos de Powershell hace un año me quedó algún artículo pendiente de escribir, por ejemplo esta entrada ¿cómo puedo cambiar la configuración de red entre pública y privada? El funcionamiento del cortafuegos será distinto si usamos una configuración u otra.

Lo primero es ver qué comando podemos usar para ver la configuración de nuestra conexión. Este sería Get-NetConnectionProfile. Nos devolverá una serie de datos, entre los que aparece una línea que pone Network Category. Ahí nos dirá si la conexión es pública o privada. También nos dará el nombre, Name, del adaptador de red, dato que necesitaremos para conectarlo.

¿Cómo lo cambiamos? Pues de la siguiente forma:

  • Para ponerlo como privado: Set-NetConnectionProfile -Name «ElNombreDeNuestraRed» -NetworkCategory Private
  • Para ponerlo como público: Set-NetConnectionProfile -Name «ElNombreDeNuestraRed» -NetworkCategory Public