
LOKI (Limited Obstructive Keyboard Impersonator) is a RDP File Transfer Tool Using Keypresses
Rilasciato come open source da NCC Group Plc - http://www.nccgroup.com/
Sviluppato da Dave Spencer, david [dot] spencer [at] nccgroup [dot] com
http://www.github.com/nccgroup/Loki
Rilasciato sotto licenza AGPL, si veda LICENSE per maggiori informazioni
Loki (Limited Obstructive Keyboard Impersonator) ha un client RDP integrato e sfrutta la capacità del tester di digitare manualmente un file in Blocco note o in un altro editor di testo. Il problema principale nell'usare Blocco note è che non è possibile digitare dati binari. Per ovviare a questo possiamo usare una serie di codifiche come hex o base 64; il problema è che serve un modo per decodificarle dall'altra parte. Fortunatamente Internet Explorer ha un decodificatore base64 integrato usato per i file MIME HTML (.mht). Loki prende un file dato, lo converte in base64 e, usando il simulatore di input (https://inputsimulator.codeplex.com/), digita il file .mht nell'editor di testo attivo.
Loki può essere usato con Sleipnir (https://github.com/nccgroup/sleipnir) e Fenrir (https://github.com/nccgroup/fenrir)
L'interfaccia iniziale di Loki è abbastanza semplice: è composta da 5 campi di input e 2 caselle di spunta. I campi "RDP server" e "RDP Port" sono obbligatori e vengono usati per connettersi al server RDP. Nel caso sia presente un RDP Gate, il campo "RDP Gateway" può essere usato per specificare l'indirizzo. I campi "Metasploit Server" e "Metasploit Port" servono per l'uso con Fenrir. La casella NLA attiva o disattiva l'uso dell'autenticazione a livello di rete (Network Level Authentication) da parte del client, mentre la casella Full Screen imposta il client in modalità a schermo intero.
Una volta connessi, l'interfaccia per usare Loki è ancora più semplice: usa un unico menu a tendina chiamato "Loki" con una sola opzione – send file, che trasmette il file usando i tasti di invio (send keys). La prima cosa da fare è aprire un editor di testo (assicurandosi che sia attivo) e selezionare Loki -> Send File (sendkeys). Loki farà quindi due domande:
La rete è particolarmente lenta? Se si seleziona sì, il tempo tra una pressione di tasto e l'altra è impostato a 10ms; se si seleziona no, viene usato 3ms.
Il browser remoto è Internet Explorer? Se si seleziona sì, il file viene inviato come parte di un file mht; se si seleziona no, il file viene inviato come parte di un'immagine incorporata, poiché gli altri browser non supportano il formato mht.
Se il browser remoto è Internet Explorer, il formato visualizzato sarà mht. Una volta completato, il file dovrebbe essere salvato come filename.mht e aperto con IE, quindi salvato di nuovo come "pagina Web, completa": questo creerà una pagina web e una directory contenente due file tmp con nomi casuali. L'estensione del più grande di questi due file dovrebbe essere cambiata in quella del file trasferito; ad esempio, se è stato trasferito un eseguibile, il file diventa mhtC1E4(1).exe
Se il browser remoto non è Internet Explorer, il formato visualizzato sarà quello di un'immagine incorporata in una pagina html. Questa dovrebbe quindi essere salvata come pagina html e aperta con il browser installato; fare clic con il tasto destro sul collegamento, selezionare "Salva con nome" e inserire il nome file corretto, in questo caso sleipnir.exe (si noti che IE non consente questo passaggio, da qui i due metodi diversi).