
LOKI (Limitado Obstructivo Imitador de Teclado) es una herramienta de transferencia de archivos por RDP mediante pulsaciones de teclado.
Publicado como código abierto por NCC Group Plc - http://www.nccgroup.com/
Desarrollado por Dave Spencer, david [dot] spencer [at] nccgroup [dot] com
http://www.github.com/nccgroup/Loki
Publicado bajo AGPL, consulte LICENSE para más información
Loki (Limitado Obstructivo Imitador de Teclado, por sus siglas en inglés) tiene un cliente RDP integrado y utiliza la capacidad del evaluador de escribir manualmente un archivo en el bloc de notas u otro editor de texto. El problema clave de usar el bloc de notas es que no es posible escribir datos binarios. Para combatir esto, podemos usar una serie de codificaciones como hexadecimal o base 64; el problema es que necesitamos una forma de decodificarlos en el otro extremo. Afortunadamente, Internet Explorer tiene un decodificador base64 integrado utilizado para archivos MIME HTML (.mht). Loki tomará un archivo determinado, lo convertirá a base64 y, utilizando el simulador de entrada (https://inputsimulator.codeplex.com/), escribirá el archivo .mht en el editor de texto que tenga el foco.
Loki se puede utilizar con Sleipnir (https://github.com/nccgroup/sleipnir) y Fenrir (https://github.com/nccgroup/fenrir)
La interfaz inicial de Loki es bastante sencilla: consta de 5 campos de entrada y 2 casillas de verificación. Los campos "RDP server" y "RDP Port" son obligatorios y se utilizan para conectarse al servidor RDP. En caso de que exista una puerta de enlace RDP, el campo "RDP Gateway" se puede utilizar para especificar la dirección. Los campos "Metasploit Server" y "Metasploit Port" son para usar con Fenrir. La casilla de verificación NLA alterna si el cliente usa Autenticación a Nivel de Red y la casilla Full Screen configura el cliente en modo de pantalla completa.
Una vez conectado, la interfaz para usar Loki es aún más simple, ya que utiliza un único menú desplegable titulado "Loki" con una opción: enviar archivo, que transmite el archivo usando teclas de envío. Lo primero que hay que hacer es abrir un editor de texto (asegurándose de que tenga el foco) y seleccionar Loki -> Send File (sendkeys). Loki hará entonces dos preguntas:
¿La red es particularmente lenta? Si se selecciona sí, el tiempo entre pulsaciones de teclas se establece en 10 ms; si se selecciona no, se usan 3 ms en su lugar.
¿El navegador remoto es Internet Explorer? Si se selecciona sí, el archivo se envía como parte de un archivo mht; si se selecciona no, el archivo se envía como parte de una imagen incrustada, ya que otros navegadores no admiten el formato mht.
Si el navegador remoto es Internet Explorer, el formato que se verá será mht. Una vez completado, el archivo debe guardarse como filename.mht y abrirse con IE, y luego guardarse de nuevo como "página web, completa"; esto creará una página web y un directorio que contiene dos archivos tmp con nombres aleatorios. La extensión del más grande de estos dos archivos debe cambiarse a la del archivo transferido; por ejemplo, si se transfirió un ejecutable, el archivo se convierte en mhtC1E4(1).exe
Si el navegador remoto no es Internet Explorer, el formato que se verá será el de una imagen incrustada en una página html. Esto debe guardarse como una página html y abrirse con el navegador que esté instalado; haga clic derecho en el enlace y seleccione guardar como e introduzca el nombre de archivo correcto, en este caso sleipnir.exe (Tenga en cuenta que IE no permite este paso, de ahí los dos métodos diferentes).