En informática,se denomina troyano o caballo de Troya (traducción literal del inglés Trojan horse) a un software malicioso que se presenta al usuario como un programa aparentemente legítimo e inofensivo pero al ejecutarlo le brinda a un atacante acceso remoto al equipo infectado. El término troyano proviene de la historia del caballo de Troya mencionado en la Odisea de Homero.
Los troyanos pueden realizar diferentes tareas, pero, en la mayoría de los casos crean una puerta trasera (en inglés backdoor) que permite la administración remota a un usuario no autorizado.
Un troyano no es de por sí, un virus informático,aún cuando teóricamente pueda ser distribuido y funcionar como tal. La diferencia fundamental entre un troyano y un virus, consiste en su finalidad. Para que un programa sea un "troyano" sólo tiene que acceder y controlar la máquina anfitriona sin ser advertido, normalmente bajo una apariencia inocua. Al contrario que un virus, que es un huésped destructivo, el troyano no necesariamente provoca daños porque no es su objetivo.
Evolución histórica
Los troyanos se concibieron como una herramienta para causar el mayor daño posible en el equipo infectado. En los últimos años y gracias al mayor uso de Internet, esta tendencia ha cambiado hacia el robo de datos bancarios o información personal.
Desde sus orígenes, los troyanos han sido utilizados como arma de sabotaje por los servicios de inteligencia como la CIA, cuyo caso más emblemático fue el Sabotaje al Gasoducto Siberiano en 1982. La CIA instaló un troyano en el software que se ocuparía de manejar el funcionamiento del gasoducto, antes de que la URSS comprara ese software en Canadá.
De acuerdo con un estudio de la empresa responsable del software de seguridad BitDefender desde enero hasta junio de 2009, "El número de troyanos está creciendo, representan el 83% del malware detectado".
Propósitos de los troyanos
La gráfica muestra el porcentaje de malware que representan los troyanos |
Los troyanos están diseñados para permitir a un individuo el acceso remoto a un sistema. Una vez ejecutado el troyano, el individuo puede acceder al sistema de forma remota y realizar diferentes acciones sin necesitar permiso. Las acciones que el individuo puede realizar en el equipo remoto, dependen de los privilegios que tenga el usuario en el ordenador remoto y de las características del troyano.
Algunas de las operaciones que se pueden llevar a cabo en el ordenador remoto son:
- Utilizar la máquina como parte de una botnet (por ejemplo para realizar ataques de denegación de servicio o envío de spam).
- Instalación de otros programas (incluyendo otros programas maliciosos).
- Robo de información personal: información bancaria, contraseñas, códigos de seguridad.
- Borrado, modificación o transferencia de archivos (descarga o subida).
- Ejecutar o terminar procesos.
- Apagar o reiniciar el equipo.
- Monitorizar las pulsaciones del teclado.
- Realizar capturas de pantalla.
- Ocupar el espacio libre del disco duro con archivos inútiles.
- Monitorización del sistema y seguimiento de las acciones del usuario.
- Miscelánea (acciones "graciosas" tales como expulsar la unidad de cd, cambiar apariencia del sistema, etc.)
Hoy en día, dada la popularización de los sistemas para dispositivos móviles y tablets, especialmente aquellos con menor control en su marketplace de aplicaciones (como Android) son foco de creciente interés para los desarrolladores de este tipo de malware. En el caso de estos dispositivos, las acciones que un atacante puede llegar a realizar son similares a las anteriores pero dada la naturaleza del dispositivo, el abanico de opciones se amplia:
- Captura de mensajes de texto entrantes y salientes.
- Captura del registro de llamadas.
- Habilidad para acceder (consultar, eliminar y modificar) la agenda de contactos.
- Habilidad para efectuar llamadas y enviar SMS.
- Conocimiento de la posición geográfica del dispositivo mediante GPS.
- Captura de la cámara.
- Y un largo etc.
Características de los troyanos
Los troyanos están compuestos principalmente por dos programas: un programa de administración, que envía las órdenes que se deben ejecutar en la computadora infectada y el programa residente situado en la computadora infectada, que recibe las órdenes del administrador, las ejecuta y le devuelve un resultado. Generalmente también se cuenta con un editor del programa residente, el cual sirve para modificarlo, protegerlo mediante contraseñas, unirlo a otros programas para disfrazarlo, configurar en que puerto deseamos instalar el servidor, etc. Atendiendo a la forma en la que se realiza la conexión entre el programa de administración y el residente se pueden clasificar en:
- Conexión directa: El atacante se conecta directamente al PC infectado mediante su dirección IP. En este caso, el equipo atacante es el cliente y la víctima es el servidor.
- Conexión indirecta: El equipo host o víctima se conecta al atacante mediante un proceso automático en el software malicioso instalado en su equipo, por lo que no es necesario para el atacante tener la dirección IP de la víctima. Para que la conexión este asegurada, el atacante puede utilizar una IP fija o un nombre de dominio. La mayoría de los troyanos modernos utiliza este sistema de conexión, donde el atacante es el servidor a la espera de la conexión y el equipo host es el cliente que envía peticiones de conexión constantemente hasta lograrla.
A pesar de que los troyanos de conexión directa han caído en desuso casi totalmente frente a los de conexión inversa, dentro de los círculos de hackers se sigue utilizando la denominación de cliente para el equipo atacante y servidor para el equipo víctima, lo cual es incorrecto desde un punto de vista estricto.
La conexión inversa tiene claras ventajas sobre la conexión directa, esta traspasa algunos firewalls (la mayoría de los firewall no analizan los paquetes que salen de la computadora, pero que sí analizan los que entran), pueden ser usados en redes situadas detrás de un router sin problemas (no es necesario redirigir los puertos) y no es necesario conocer la dirección IP del servidor.
Cabe destacar que existen otro tipo de conexiones, que no son de equipo víctima a equipo atacante, sino que utilizan un servidor intermedio, normalmente ajeno a ambos, para realizar el proceso de control. Se suele utilizar para este propósito el protocolo IRC o incluso FTP, HTTP u otros.
Formas de infectarse con troyanos
La mayoría de infecciones con troyanos ocurren cuando se ejecuta un programa infectado con un troyano. Estos programas pueden ser de cualquier tipo, desde instaladores hasta presentaciones de fotos. Al ejecutar el programa, este se muestra y realiza las tareas de forma normal, pero en un segundo plano y al mismo tiempo se instala el troyano. El proceso de infección no es visible para el usuario ya que no se muestran ventanas ni alertas de ningún tipo. Evitar la infección de un troyano es difícil, algunas de las formas más comunes de infectarse son:
- Descarga de programas de redes P2P.
- Páginas web que contienen contenido ejecutable (por ejemplo controles ActiveX o aplicaciones Java).
- Exploits para aplicaciones no actualizadas (navegadores, reproductores multimedia, clientes de mensajería instantánea).
- Ingeniería social (por ejemplo un cracker manda directamente el troyano a la víctima a través de la mensajería instantánea).
- Archivos adjuntos en correos electrónicos y archivos enviados por mensajería instantánea.
Debido a que cualquier programa puede realizar acciones maliciosas en un ordenador, hay que ser cuidadoso a la hora de ejecutarlos. Estos pueden ser algunos buenos consejos para evitar infecciones:
- Disponer de un programa antivirus actualizado regularmente para estar protegido contra las últimas amenazas.
- Disponer de un firewall correctamente configurado. Algunos antivirus lo traen integrado.
- Tener instalados los últimos parches y actualizaciones de seguridad del sistema operativo.
- Descargar los programas siempre de las páginas web oficiales o de páginas web de confianza.
- No abrir los datos adjuntos de un correo electrónico si no conoces al remitente.
- Evitar la descarga de software de redes p2p.
Eliminación de troyanos
Una de las principales características de los troyanos, es que no son visibles para el usuario. Un troyano puede estar ejecutándose en un ordenador durante meses sin que el usuario perciba nada. Esto hace muy difícil su detección y eliminación de forma manual. Algunos patrones para identificarlos son: un programa desconocido se ejecuta al iniciar el ordenador, se crean o borran archivos de forma automática, el ordenador funciona más lento de lo normal, errores en el sistema operativo.
Por otro lado los programas antivirus están diseñados para eliminar todo tipo de software malicioso, además de eliminarlos también previenen de nuevas infecciones actuando antes de que el sistema resulte infectado. Es muy recomendable tener siempre un antivirus instalado en el equipo y a ser posible también un firewall.
Troyanos más famosos
Nombre | Autor | Año | Conexión | Lenguaje |
---|---|---|---|---|
NetBus | Carl-Fredrik Neikte | 1997 | Directa | Delphi |
Back Orifice | Sir Dystic | 1998 | Inversa | C++ |
Sub7 | MobMan | 1999 | Directa | Delphi |
Bifrost | KSV | 2004 | Directa / Inversa | Delphi/C++ |
Bandook | Princeali | 2005 | Directa / Inversa | C++ |
Poison Ivy | Shapeless | 2007 | Inversa | Delphi/ASM |