Rubber Ducky y Raspberry Pi: rápida y mortal en equipos «despistados»ElevenPaths 19 febrero, 2018 Jaques Rousseau dijo: «El hombre es bueno por naturaleza, es la sociedad la que lo corrompe«. Los usuarios que, disfrutando de permisos de administrador (enmascarados por el UAC), se ausenta de su puesto de trabajo sin bloquear el sistema, son buena parte de esa «sociedad». Tientan a que algunas personas buenas se vayan al lado oscuro de la fuerza. En esta entrada mostramos una sencilla receta que combina Rubber Ducky, Raspberry Pi y algunos scripts, para crear un ataque eficaz, rápido y potencialmente indetectable en sistemas Windows. Veamos cómo. Los dos elementos esenciales para el experimento Desde el TAGS, hemos querido hacer una pequeña prueba de concepto (PoC) con fines educativos, en la que demostramos cómo con una Raspberry Pi configurada con un par de servicios y un Rubber Ducky se puede comprometer un equipo Windows desatendido y desbloqueado con permisos de administrador. Evidentemente, es un escenario ideal pero que aun así supone dos retos: ser lo suficientemente rápido y, además, pasar inadvertido para los antivirus. Esta receta lo consigue con dos premisas: Enchufar y esperar. No es necesario teclear. Fileless: Sin tocar disco, las probabilidades de ser detectado por las soluciones habituales de seguridad (antivirus), se minimizan. El flujo es sencillo, levantaremos un servicio SSH y uno web en la Raspberry, con un móvil podremos acceder al sistema para encender o apagar el servicio web a voluntad. Dentro de la Raspberry, tendremos un script powershell con mimikatz para ejecutarlo en las máquinas objetivo y un usb Rubber Ducky para hacer la llamada al script desde las máquinas desbloqueadas y, en este caso, obtener su contraseña de inicio de sesión. Raspberry Lo primero de todo es configurar la Raspberry. Como sistema operativo se ha elegido el oficial, Raspian, pero se puede optar por cualquiera, según las preferencias de cada uno. Para abrir una conexión desde el móvil u otro terminal hacia la Raspberry se utiliza un servicio SSH. Por defecto, desde el 2016 viene desactivado, con lo que se deberá activar con los siguientes pasos: Abrir un terminal y escribir «sudo raspi-config» Seleccionar «Opciones Avanzadas» Navegar hasta SSH y habilitarlo Activando SSH en Raspberry Teniendo el servicio SSH activo se aconseja usar unas cuantas medidas de seguridad básicas para prevenir ataques. Obviamente, para acceder desde redes externas a la Raspberry se debe abrir el puerto correspondiente al servicio en el router y se podría usar un servicio como no-ip.org para no tener que aprender la IP pública en caso de que esta sea dinámica y/o cambie periódicamente. Además del servicio SSH procede a habilitar un servidor web, en esta caso se ha elegido lighttpd por ser un servicio ligero y rápido. Se instala abriendo en la Raspberry un terminal mediante el comando sudo apt-get install lighttpd. Si se quiere parar o iniciar el servicio basta con introducir el comando sudo service lighttpd start/stop. Dentro de la Raspberry en la ruta /var/www/html se añade el script de powershell para la ejecución de mimikatz, obtenido desde aquí (por cierto, aunque ponga que sólo es efectivo hasta Windows 8.1 funciona en W10); y se añadirá un fichero PHP con el siguiente código: Rubber Ducky USB Vamos a «armar» nuestro USB. Necesitamos un fichero .bin que se ejecute en cuanto se conecte. Es tan simple como crear un fichero de texto en el que se añadirá una serie de comandos para nuestro payload desde esta página y se convertirá al archivo necesario con el servicio que proporciona la página https://ducktoolkit.com/encoder/. Los principales comandos que se van a utilizar son abrir un terminal con permisos de administrador: GUI r STRING powershell Start-Process cmd -Verb runAs ENTER SHIFT TAB ENTER Llamar y ejecutar el script powershell de mimikatz (alojado en nuestra Raspberry) y volcar las credenciales: Resultado Con las configuraciones previas y tras obtener una vil oportunidad para actuar, procedemos a levantar el servicio lighttpd y conectar el Rubber Ducky en la máquina objetivo. Con esto, el proceso se realizará de forma automática y, muy importante: Enchufar y esperar, todo en menos de un minuto. El payload no tocará disco. Las credenciales, junto con la IP de la máquina objetivo, acabarán en la Raspberry. Objetivo cumplido. En el caso de máquinas Windows 10 el fichero volcado en la raspberry no nos mostrará la contraseña en texto plano sino “null” pero habrá un hash NTLM. Por supuesto, este hash puede descifrarse (si no es endiabladamente complejo) con la ayuda de herramientas como John the ripper y un buen diccionario. Resultados del ataque Las posibilidades con este tipo de herramientas son múltiples y permiten una gran variedad de diversos ataques, desde la prueba realizada en la que se roban las contraseñas, hasta instalar malware, establecer backdoors, etc. Existen múltipes ejemplos ya creados con payloads para que el ataque resulte incluso más sencillo. También es posible trabajar en la velocidad de ejecución y optimizar todo el proceso en varios aspectos. Como es natural, se soluciona con una mínima exposición de privilegios (evitar el uso de UAC y utilizar cuentas de no administrador) y bloqueando el sistema en todo momento cuando se encuentre desatendido, además de vigilar quién enchufa nada en los puertos USB. También te puede interesar: » Arducky: Un Rubber Ducky hecho sobre Arduino para hackear Windows #Arduino » Descargar Github DirtyTooth for Raspberry Pi Miguel Ángel Arévalo Telefónica Advanced Global SOC con la colaboración de Innovación y Laboratorio de ElevenPaths miguelangel.arevalofenoy@telefonica.com Historias de #MujeresHacker: Ángela Vázquez, Product Manager de Telefónica Aura#CyberSecurityPulse: Colega, ¿dónde están mis bitcoins?
José Vicente Catalán Tú te vas de vacaciones, pero tu ciberseguridad no: 5 consejos para protegerte este verano Las vacaciones son una necesidad, está claro. Todo el mundo necesita relajarse, pasar tiempo de calidad con la familia y amigos, desconectar. Pero, irónicamente, para desconectar acabamos conectando (el...
Jennifer González Qué es la huella digital y por qué es importante conocerla para proteger a los menores en internet Como explicaba en mi anterior artículo sobre las cibervictimizaciones en los menores y el aumento que cada año se registra, hoy querría hablar sobre la importancia de concienciarnos sobre...
Telefónica Tech Boletín semanal de ciberseguridad, 16 — 22 de julio Lightning Framework: nuevo malware dirigido a entornos Linux El equipo de investigadores de Intezer ha publicado información relativa a un nuevo tipo de malware que afecta a entornos Linux y...
Telefónica Tech España necesita 83.000 profesionales en ciberseguridad en los próximos dos años Universidad Loyola y Telefónica Tech han puesto en marcha el nuevo Máster en Ciberseguridad para CISO
Roberto García Esteban Cloud computing: abierto por vacaciones Llegan las vacaciones de verano y con ellas el merecido descanso para casi todos nosotros. La actividad de la mayoría de las empresas se reduce drásticamente, aunque también hay...
Diego Samuel Espitia Qué son los “Martes de parches” de seguridad para tecnología operativa (OT) En el mundo de la ciberseguridad estamos acostumbrados a la publicación de paquetes que corrigen las vulnerabilidades detectadas en software para empresas, los conocidos como actualizaciones o «parches» de...