
LOKI (Limited Obstructive Keyboard Impersonator) é uma Ferramenta de Transferência de Arquivos RDP Usando Pressionamentos de Teclas
Lançado como código aberto pela NCC Group Plc - http://www.nccgroup.com/
Desenvolvido por Dave Spencer, david [ponto] spencer [arroba] nccgroup [ponto] com
http://www.github.com/nccgroup/Loki
Lançado sob AGPL, consulte LICENSE para mais informações
O Loki (Impersonador de Teclado Obstrutivo Limitado, do inglês Limited Obstructive Keyboard Impersonator) possui um cliente RDP embutido e usa a habilidade do testador de digitar manualmente um arquivo no bloco de notas ou em outro editor de texto. O problema principal de usar o bloco de notas é que não é possível digitar dados binários. Para contornar isso, podemos usar uma série de codificações, como hex ou base 64; o problema é que precisamos de uma forma de decodificá-los no outro lado. Felizmente, o Internet Explorer possui um decodificador base64 embutido usado para arquivos MIME HTML (.mht). O Loki pegará um arquivo fornecido, o converterá para base64 e, usando o simulador de entrada (https://inputsimulator.codeplex.com/), digitará o arquivo .mht no editor de texto em foco.
O Loki pode ser usado com o Sleipnir (https://github.com/nccgroup/sleipnir) e com o Fenrir (https://github.com/nccgroup/fenrir)
A interface inicial do Loki é bastante direta; ela consiste em 5 campos de entrada e 2 caixas de seleção. Os campos "RDP server" e "RDP Port" são obrigatórios e são usados para conectar ao servidor RDP. Caso haja um RDP Gate, o campo "RDP Gateway" pode ser usado para especificar o endereço. Os campos "Metasploit Server" e "Metasploit Port" são para uso com o Fenrir. A caixa de seleção NLA alterna se o cliente usa Autenticação em Nível de Rede e a caixa de seleção Full Screen define o cliente para o modo de tela cheia.
Uma vez conectado, a interface para usar o Loki é ainda mais simples, pois usa um único menu suspenso intitulado "Loki" com uma opção – enviar arquivo, que transmite o arquivo usando teclas de envio. A primeira coisa a fazer é abrir um editor de texto (garantindo que ele esteja em foco) e selecionar Loki -> Send File (sendkeys). O Loki então fará duas perguntas:
A rede está particularmente lenta? Se sim for selecionado, o tempo entre os pressionamentos de tecla é definido para 10ms; se não for selecionado, ele usa 3ms.
O navegador remoto é o Internet Explorer? Se sim for selecionado, o arquivo é enviado como parte de um arquivo mht; se não for selecionado, o arquivo é enviado como parte de uma imagem embutida, pois outros navegadores não suportam o formato mht.
Se o navegador remoto for o Internet Explorer, o formato visto será mht. Após a conclusão, o arquivo deve ser salvo como filename.mht e aberto com o IE, e então salvo novamente como "página da web, completa"; isso criará uma página da web e um diretório contendo dois arquivos tmp com nomes aleatórios. A extensão do maior desses dois arquivos deve ser alterada para a do arquivo transferido; por exemplo, se foi um executável que foi transferido, o arquivo se torna mhtC1E4(1).exe
Se o navegador remoto não for o Internet Explorer, o formato visto será o de uma imagem embutida em uma página html. Isso deve então ser salvo como uma página html e aberto com qualquer navegador instalado; clique com o botão direito no link e selecione salvar como e insira o nome de arquivo correto, neste caso sleipnir.exe (Observe que o IE não permite esta etapa, daí os dois métodos diferentes).