Troyanos de conexión inversa La intención de este “report” es explicar la mecánica, posibilidades y manejo de uno de los troyanos (el Bifrost, actualmente por su versión 1.2.1) más utilizados ahora mismo que usan la “técnica” de conexión inversa para poder operar sobre cualquier víctima saltándose la mayoría de cortafuegos de uso dómestico. • Como troyano que es, los antivirus lo detectarán como programa malicioso así que o una de dos: o la víctima a infectar no dispone de uno de estos o bien se cifra o empaqueta el bicho con alguna aplicación destinada a tal fin que lo haga indetectable para los antivirus, pero ese es un tema que aquí no trataremos ya que no es la finalidad del documento ;) La conexión inversa ¿qué es y cómo se configura? Antiguamente los troyanos eran pequeños programas que abrían un puerto en la victima sobre la que nosotros podíamos realizar una conexión y tomar el control de la máquina. Este esquema tenía sentido y funcionaba muy bien hasta que empezaron a ponerse de moda los routers con la llegada de las líneas xDSL y/o firewalls, y ahora mismo solo tendría viabilidad si el cliente se conecta a la red a través de un modem, o justo el puerto en el que oye el troyano estuviese nateado hacia la maquina infectada (situación muy improbable). Para solucionarlo los diseñadores de código malicioso lo que hicieron fue invertir el proceso, es decir, ahora lo que antes era el cliente (nosotros) pasamos a ser un servidor que oímos en un/os puerto/s prefijados a nuestro antojo y seremos nosotros los que atenderemos a las peticiones de conexión de las máquinas infectadas y una vez establecida la conexión ganar el control de la máquina infectada. Lo único que se necesita, pues, es tener bien configurada nuestra red para aceptar conexiones hacia nuestra maquina en el puerto (o rango) especificado y esperar a que nos lleguen las notificaciones de “infección”. La mayoría de firewalls y routers no analizan el trafico saliente, suelen centrarse en el entrante, y esto posibilita que las conexiones del troyano hacia nuestro servidor sean prácticamente efectivas al 100% . La figura 1 muestra de forma resumida la dirección de cómo se establecían antes los ataques y cómo han evolucionado hasta la actualidad. 1 Configurando el Bifrost Antes de infectar a alguien tenemos que preparar nuestro equipo y red para que acepten las conexiones de las víctimas. Si nuestra conexión a internet adquiere una ip de forma dinámica será imprescindible configurar en nuestro router (si dispone de tal opción) o en nuestra máquina de un servicio de gestión de DNS dinámico (por ejemplo como los que ofrecen no-ip.com o dyndns.com) para que las máquinas infectadas puedan establecer siempre la conexión hacia nuestro pc sin preocuparnos de qué ip nos da nuestro proveedor en cada momento. Así pues, una vez realizado dicho proceso podemos abrir ya el troyano y empezar a configurarlo. Una vez iniciado hacemos click en el botón “Settings” situado a la izquierda en el menú de abajo y especificamos en la pantalla que aparece el puerto (o puertos, hay 3 posibles) donde nuestra aplicación atenderá a sus víctimas. A mayores, tal y como muestra la figura de abajo, tenemos numerosas opciones de configuración como establecer un password para realizar la conexión y la forma en que nos notifique que alguna víctima esta operativa. Configuración del servidor Finalizado esto, ya tenemos nuestra aplicación a la espera de conexiones de máquinas infectadas, pero ¿y cómo se infecta a una máquina? La propia aplicación dispone de una herramienta de creación del cliente o virus con la que podemos personalizar de forma minuciosa el comportamiento y características del mismo. Para ello hacemos click en el botón “Builder” del menú y nos encontramos con varias pestañas de configuración. Señalaremos aquí las más importantes o que merecen especial atención ya que el resto pueden dejarse por defecto o no es necesaria su modificación. Marcar para activar opciones avanzadas como captura de pantalla o cámara web y keylogger Lista de ips y puerto a los que intentará conectarse la máquina infectada Nombre del proceso en memoria (cuanto más común más difícil será de detectar) 2 Una vez configuradas las opcines pertinentes de las diferentes pestañas, pulsando sobre el botón “Build” (abajoa la derecha) se creará un fichero “server.exe” en el directorio del programa que será el que deben ejecutar por primera vez nuestras víctimas para infectarse. El virus cuenta con mecanismos de autoreproducción (instalará una copia de sí mismo donde se especifique en las dos primeras opciones de la pestaña Installation mostrada antes (nombre del fichero, directorio y path de instalación)) y autoarranque (se oculta en registro de Windows) para iniciarse cada vez que inicia el sistema y nos notifique en cuanto esté disponible su operatibilidad. Visto esto lista preparada ya nuestra aplicación para controlar las máquinas infectadas y la herramienta con qué infectarlas. Veamos ahora qué podemos hacerle a nuestras víctimas. Atacando a nuestras víctimas Una vez se infecte una máquina, esta intentará conectarse cada poco tiempo a la lista de ips especificadas en la creación del troyano y tendremos constancia de ello porque aparecerá una nueva entrada en nuestra aplicación indicándonos de forma resumida numerosa información de cada una de sus víctimas online. Con el botón derecho sobre una de ellas se desplegará un menú con una lista de acciones que podremos realizar sobre el infectado. Informacion resumida de la victima (ip, versión del virus, si tiene webcam,etc) Acciones que podemos llevar a cabo sobre el infectado Acceso al sistema de ficheros del infectado (File Manager) Podremos crear, borrar, descargar ficheros de la maquina del infectado y algunas opciones más como muestra la figura siguiente. 3 Información y administración de los procesos de sistema (System Manager) Podemos lanzar procesos en la víctima así como cerrarle los que consideremos oportunos. Desde esta pantalla se podrán llevar a cabo también tareas de administración del virus como reiniciarlo, pararlo o incluso desinstalarlo. En esta pestaña podremos acceder al administrador de tareas y lanzar o cerrar procesos activos. Información más detallada de la máquina infectada Administración del virus Keylogger Desde que inicia el virus, guardara la pulsación de teclas de que se realicen en la máquina y así tener un registro que organiza por titulo de ventana sobre que se ha pulsado en cada una de ellas. A su vez dispone de modo online para ver qué es lo que esta tecleando en ese preciso momento. 4 Capturas de pantalla (Screen Capture) Desde esta opción se podrán sacar instantáneas para ver qué es lo que está realizando en ese momento la víctima e incluso guardarlas una a una o en secuencia como si de un video se tratase. Acceso a su webcam (Cam capture) Podemos acceder a su cámara web y visualizar a través de ella e incluso grabar en secuencia de imágenes lo que esté ocurriendo en ese momento. 5 Interprete de comandos (Remote Shell) Nos permite también la ejecución de intérprete de comandos con los que operar sobre el infectado. En el ejemplo mostrado hemos accedido a la carpeta Windows del directorio de instalación y hecho un dir sobre ella, véase el resultado: Editor del registro de Windows (Registry Editor) Y cómo no, por si todas las acciones de administración que podemos realizar sobre nuestros infectados fuesen pocas, nos permite a su vez modificarle de forma remota el registro de su Windows. Como hemos visto hasta ahora se trata pues de un programa con el que podemos administrar y tomar control absoluto de una lista de máquinas desde una sola aplicación, y que como ya dijimos al principio, solventa los problemas de conectividad que sufren los antiguos troyanos en la actualidad al infectar equipos que estan detrás de routers y/o firewalls. 6