Este tema está realizado para introducir a todos aquellos usuario(a)s que estén interesados en el tema de la Informatica. Empezaremos por una parte de teoría básica para entender que son ciertas cosas, y cómo funcionan. Después vendrá una parte practica, donde se le demostrara con ejemplos básicos la parte de teoría.
- Indice:
1º Parte
- ¿Qué es la Administración Remota?
- Herramientas
- Troyanos
- Keyloggers
- Crypters
- Binders
- Stealers
- Downloaders
- Términos comunes
2º Parte
- Explicaión y Funciones
- Opciones Comunes en las herramientas
- OCX
- Tutoriales
- Comenzando con Troyanos
- Hacer un server indetectable
- Ocutar un server
- Crear un servidor FTP
- Keyyloggers [FTP] + [Correo`]
- Como usar un Downloaders
¡ Empecemos!
¿Qué es la Administración Remota?
La Administración Remota consiste en administrar remotamente un ordenador, en castellano seria más o menos como: tener acceso a un ordenador desde tu ordenador para realizar ciertas funciones (las funciones que realices depende de ti, pero recuerda el dicho que dice: no hagas lo que no te gusta que te hagan).
Generalmente la Administración Remota es usada (por amigos, empresas, corporaciones, etc.) para dar asistencia remota, es decir, asistir a un usuario para resolver algún tipo de problemas a nivel de software.
Las herramienta utilizadas para esto se conocen como RAT (Remote Administration Tool / Herramienta de Administración Remota), el problema es que un RAT se instala con el consentimiento del usuario (por eso suelen ser más estables y tener opciones más completas, porque tiene los permisos de la máquina), pero si nosotros queremos controlar u obtener cierta información remotamente un ordenador sin que se entere, necesitaremos otros tipos de herramienta, estas herramientas se instalaran de forma oculta (sin el consentimiento del usuario) para realizar las funciones que asignemos.
Troyanos
Troyanos:
Un Troyano es una herramienta de la administración remota (seguramente la más conocida), la función de un troyano depende del “Administrador” (llamemos Administrador a la persona que utiliza el troyano) y de las opciones del troyano, algunos programadores le dan el nombre de “RAT” a sus Troyanos, esto es generalmente para evitar supuestos problemas legales.
- Partes:
- Cliente: Es el programa que manda las ordenes a ejecutar en el servidor.
- Servidor: Es el programa que tiene el remoto, este deja un puerto a la escucha o se conectara con el cliente.
- Editor: Este nos permite editar las características de nuestro servidor; puerto, ip, inyección, etc.
- Otros: Estos pueden ser plugins tales como .dll para incorporarle algunas funciones extras.
Las opciones o funciones de un troyano pueden ser muchas, pero esto depende principalmente del programador, algunos troyanos tienen opciones de registrar teclas, explorar discos, ejecutar comandos desde la consola, descargar y subir archivos, tomar capturas de pantallas (fotos) del escritorio y cámara web, etc. Los troyanos se clasifican según su conexión.
- Tipos de conexiones:
- Conexión Directa:
Hablamos de conexión directa cuando nosotros (Cliente) nos conectamos al usuario infectado (Server). Es la conexión más habitual de los troyanos antiguos, lo que hace es que el server deja escuchando un puerto y el cliente se conecta a través de ese puerto. Este tipo de conexiones hoy en día ya casi no se usa por decirlo que nadie la usa.
¿Cómo funcionan?
Su funcionamiento es simple; nosotros al enviar el server dejamos un puerto abierto en la maquina infectada. Luego nosotros desde el cliente, debemos conectarnos a la IP del infectado por el puerto abierto por el server.
- Conexión Inversa:
Esta vez es al revés, el infectado (Server) se conecta al nosotros (Cliente) Los troyanos de conexión inversa son los que hacen que el servidor sea el que se conecte al cliente; las ventajas de éste son que traspasan muchos firewalls y pueden ser usados en redes situadas detrás de un router sin problemas.
El motivo de por qué éste obtiene esas ventajas es que muchos firewalls no analizan los paquetes que salen de la computadora infectada (pero sí analizan los que entran) y se dice que traspasan redes porque no es necesario que se dirija la conexión hacia una computadora que se encuentre en la red
- Conexión Web:
Este tipo de troyanos no utiliza un cliente para recibir la conexión, sino que emplea un sitio web para recibir conexiones y enviar ordenes a las maquinas. Tenemos entonces como intermediario entre los remotos y el administrador de la red una interfaz web que facilita el manejo de las maquinas.
Keyloggers
Este tipo de software se centra en una única función, que es la de registrar las pulsaciones que se realizan sobre el teclado, para memorizarlas en un archivo (logs) y/o enviarlas a través de Internet. El registro de lo que se teclea puede hacerse tanto con medios de hardware como de software. Algunos pueden tener opciones de capturas de imágenes, esto es para captar “catchas” o por si nuestro remoto está usando un teclado virtual.
- Partes:
- Cliente: El cliente es donde configuraremos las opciones de nuestro servidor
- Servidor: Es el ejecutable que se enviara a la victima, y es la que tendrá la tarea de registrar las pulsaciones para luego enviarlas.
La forma en la que el keylogger envía la información al “administrador” (llamemos administrador al usuario que utiliza el keylogger) es a través de logs, los logs son los registros de la pulsaciones, el administrador configura el cliente del keylogger para que envíe los logs cada cierto tiempo, generalmente estos logs se envían a cuentas ftp, pero esto depende del keylogger y del administrador, también hay otras formas de envío como lo son las cuentas de correo electrónico.
Crypters
Un Crypter (o encriptador) es un Software que encapsula un archivo ejecutable (ej. un troyano) dentro de otro archivo ejecutable ocultando su código y tornándolo irreconocible para los antivirus. Al momento de la ejecución el troyano es desencriptado en algún sector del disco rígido o de la memoria RAM y ejecutado
- Partes:
- Cliente: El cliente es la GUI (interfaz) donde encontraremos las opciones del crypter (opciones de depuración, opciones de encriptación, etc) ahí elegiremos la ruta de nuestro servidor y generaremos nuestro servidor encriptado
- Stub: Un Stub es un fichero ejecutable que es configurado por el crypter para saber a que fichero debe hacer referencia, y como lo debe desencriptar. Por lo general el Stub lo hacen pasar por librería o por ficheros .dat para esconderlo un poco, pero a la hora de unirlo a un fichero encriptado, se transformara de nuevo en un .exe. Así que.. una vez que el crypter encontró el Stub, le pasa los datos necesarios (los que ya dijimos) y lo antepone a los bits encriptados del fichero ejecutable original
- Tipos de Crypter:
- Scantime: El contenido del archivo, o sea el archivo original, es desencriptado y liberado en el disco cuando se ejecuta. Por lo tanto el archivo solo es indetectable a un scan con Anti-virus antes de ser ejecutado, perdiendo luego su indetectabilidad.
- Runtime: El archivo original no es desencriptado en el disco, por lo tanto permanece indetectable a los Anti-Virus antes y luego de ser ejecutado.
Binder/Joiner
Un binder (también llamado Joiner o Juntador) es un programa que une dos o más archivos. Estos archivos pueden ser ejecutables o de cualquier otro tipo.
Hay ciertas normas que nunca se pueden violar en este tipo de uniones de archivos. Por ejemplo, podemos unir un archivo *.exe a un archivo *.jpg. Esta unión es factible en binders, pero el resultado nunca podrá ser un archivo *.jpg. Si bien un archivo de imagen podría ocultar un ejecutable en su interior, nunca podríamos ejecutar el ejecutable al picar sobre la imagen. Esto hace más difíciles las cosas, pero no hay
Algunos binders permiten engañar a la víctima cambiando el icono del servidor por un icono propio de una imagen *.jpg, una carpeta o un documento de texto. El problema es que luego la extensión, como apunté antes, no puede cambiarse también.
Stealers
Bueno esta herramienta más que ayudarnos a controlar un PC nos ayudara a recopilar información, concretamente las contraseñas guardadas en el PC tanto de programas como Messenger como de navegadores como Firefox. Funcionando parecido a los Keyloggers una vez recopilada la información la enviaran a un destino seleccionado ya sea un correo un cliente ftp.
Downloaders
Esta es una herramienta es muy peculiar tiene una función algo rara pero que nos ayudara en muchas ocasiones, os explico en qué consiste. Por ejemplo si tenemos una herramienta que queremos enviar pero es demasiado pesada y podría levantar sospecha con este programa tenemos la solución, subimos nuestra aplicación a un cliente ftp y insertamos la url de descarga en la herramienta acto seguido nos creara una nueva herramienta muy poco pesada que su función será descargar y ejecutar el archivo ocultando ese proceso totalmente.
TERMINOS COMUNES
Antes de empezar con la parte practica me gustaría explicarte una serie de términos que se repiten en muchas herramientas, es decir opciones típicas de las herramientas de administración remota. Como USB Spread,Anti's, Add To Startup, etc. Intentare explicarte los mejor que pueda estos términos y así responderte todas esas preguntas de... y esto para que sirve?
- ActiveX:
ActiveX es una tecnología de Microsoft para el desarrollo de páginas dinámicas. Tiene presencia en la programación del lado del servidor y del lado del cliente, aunque existan diferencias en el uso en cada uno de esos dos casos.
? En el cliente:
Son pequeños programas que se pueden incluir dentro de páginas web y sirven para realizar acciones de diversa índole. Por ejemplo hay controles ActiveX para mostrar un calendario, para implementar un sistema de FTP, etc.
Son un poco parecidos a los Applets de Java en su funcionamiento, aunque una diferencia fundamental es la seguridad, pues un Applet de Java no podrá tomar privilegios para realizar acciones malignas (como borrarnos el disco duro) y los controles ActiveX sí que pueden otorgarse permisos para hacer cualquier cosa. Los controles ActiveX son particulares de Internet Explorer.
? En el servidor
También existen controles ActiveX del servidor y la gente que conozca ASP seguro que los utiliza ya, aunque sea sin darse cuenta. Por ejemplo, cuando realizamos una conexión con una base de datos, estamos utilizando un control ActiveX del servidor.
- Antis:
Evita que los antivirus que esten marcados detecten la presencia de malware en el server haciendolo pasar desapercibido.
- Binder File: Union de Archivos
Fusiona dos o más archivos *.dll *.exe *.bat etc.. a un ejecutable con la intención de ejecutarlo todo al mismo tiempo.
- Build: Crear
Build identifica el botón de recopilación de todas las características del servidor para así al pulsar conllevar a la creación completa del server.
- Change Icon: Cambio de icono
Permite insertar o cambiar el icono de nuestro server
- Compress: Compresion
Hace que el archivo sea menos pesado
- DNS: Domain Name System
La principal tarea de un servidor de DNS es traducir tu nombre de dominio (p.ej. midominio.com) en una dirección IP.
El servicio de DNS permite, una vez configurado, que tu web y tu correo electrónico sean localizados desde cualquier lugar del mundo mediante tu nombre de dominio.
Es una base de datos distribuida, con información que se usa para traducir los nombres de dominio, fáciles de recordar y usar por las personas, en números de protocolo de Internet (IP) que es la forma en la que las máquinas pueden encontrarse en Internet.
- Disable... :
Estas opciones nos permiten deshabilitar opcional de Windows.
? Disable Task Manager: Nos permite deshabilitar el “Task Manager” – Administrador de Tareas –
? Disable Regedit: Nos permite deshabilitar el “Regedit” – Registro
? Disable Msconfig:Nos permite deshabilitar el Msconfig – Utilidad de configuración del sistema –
? Disable System Restore: Nos permite deshabilitar el “System Restore” – Restaurar Sistema –
- Encriptación: Encriptar el archivo
- Encrypt mail: Encriptacion de E-mail
Protege tu mail contra la ingenieria inversa, evita que vean hacia donde se envía la informacion
- EOF: End Of FILE
Te indica cuando llegas al registro final y ya no hay mas que leer. se activa cuando quieres seguir hacia delante y no hay mas que leer.
(suele marcarse para programas como bifrost)
- Exe Pump:
Permite añadir más bytes al archivo para aumentar su peso.
- Extract Icon: Extraccion de icono
- Fake Application run: Esta opción permite configurar nuestro servidor para que al ejecutarse se ejecute una de las aplicación elegida como el bloc de notas, la calculadora, etc.
- Extract In: Extraer en
Permite extraer el archivo en la ubicacion especificada
- Fake Msg: Falso mensaje
Muestra un falso mensaje de advertencia, alarmas etc...al usuario.
- Inject to process: Inyectar en el proceso
Permite inyectar en algun proceso de windows como pudiera ser en el inicio para asi asegurarnos una conexion del server inmediata.
- Key: Clave,LLave
- Kill Process: Acabar el proceso
Cierra el proceso elegido que se este ejecutando
- Melt: Eliminar
Esta opción permite eliminar el servidor una vez haya sido ejecutado para eliminar rastro
- Mutex: Exclusión Mutua
Se usan en programación concurrente para evitar el uso simultáneo de recursos comunes, como variables globales, por fragmentos de código conocidos como secciones críticas.
- Persistent: Persistente
Hace que la infeccion del archivo sea mas dificil de eliminar del PC
- Run Fake Application: Ejecucion de falsas aplicaciones
- Sleep: Dormir
Permite añadir un intervalo de tiempo para que el servidor sea ejecutado.
- SMTP Server:
Es un servicio complejo de correo a través de servidores, usando un protocolo estándar para enviar y para recibir el correo. Un servidor del SMTP recibe y envía el correo, y los correos que le llegan los envía de la misma manera que recibe, es decir, con el SMTP.
- Spreader: Propagar
Permite propagar el archivo por diferentes medios (ya sea usb, p2p, etc)
- Que son los archivos .ocx ?
(OLE custom controls). OCX hace referencia a instrucciones preprogramadas capaces de ser insertadas en cualquier aplicación que está siendo desarrollada, y permite al programador (http://www.alegsa.com.ar/Dic/programador.php) ahorrar tiempo debido a que en lugar de reprogramar un código anteriormente hecho, ahora únicamente lo inserta.
Las funciones de una OCX son ilimitadas, únicamente depende de que cualquier programador la desarrolle e implemente para futuros usos.
Generalmente el término OCX hace referencia a la extensión con la cual es guardado el programa que se ha hecho dentro de Visual Basic y por lo tanto su código es compatible únicamente dentro del mismo. Es importante mencionar que dentro de los demás lenguajes de programación también existen objetos e instrucciones similares a OCX pero, por ser diferente código no se les nombra igual a pesar que su función y uso son igualmente parecidos.
Blog: Post con imagenes