
LOKI (Limited Obstructive Keyboard Impersonator) is a RDP File Transfer Tool Using Keypresses
Выпущено в виде открытого исходного кода компанией NCC Group Plc - http://www.nccgroup.com/
Разработано Дэйвом Спенсером, david [dot] spencer [at] nccgroup [dot] com
http://www.github.com/nccgroup/Loki
Выпущено под лицензией AGPL, см. LICENSE для получения дополнительной информации
Loki (Limited Obstructive Keyboard Impersonator) имеет встроенный RDP-клиент и использует способность тестировщика вручную вводить файл в notepad или другом текстовом редакторе. Ключевая проблема при использовании notepad заключается в том, что невозможно ввести двоичные данные. Для борьбы с этим можно использовать ряд кодировок, таких как hex или base64, но проблема в том, что нам нужен способ декодирования их на другом конце. К счастью, Internet Explorer имеет встроенный декодер base64, используемый для файлов MIME HTML (.mht). Loki берёт заданный файл, преобразует его в base64 и с помощью симулятора ввода (https://inputsimulator.codeplex.com/) вводит .mht-файл в текстовый редактор, находящийся в фокусе.
Loki может использоваться вместе со Sleipnir (https://github.com/nccgroup/sleipnir) и Fenrir (https://github.com/nccgroup/fenrir)
Первоначальный интерфейс Loki довольно прост: он состоит из 5 полей ввода и 2 флажков. Поля «RDP server» и «RDP Port» являются обязательными и используются для подключения к RDP-серверу. В случае наличия RDP-шлюза поле «RDP Gateway» можно использовать для указания адреса. Поля «Metasploit Server» и «Metasploit Port» предназначены для использования с Fenrir. Флажок NLA переключает использование клиентом сетевой проверки подлинности уровня, а флажок Full Screen переводит клиент в полноэкранный режим.
После подключения интерфейс для использования Loki становится ещё проще, так как он использует единственное выпадающее меню под названием «Loki» с одним пунктом — send file, который передаёт файл с помощью отправки клавиш. Первое, что нужно сделать, — открыть текстовый редактор (убедившись, что он в фокусе) и выбрать Loki -> Send File (sendkeys). Затем Loki задаст два вопроса:
Особенно ли медленная сеть? Если выбран вариант «да», то время между нажатиями клавиш устанавливается равным 10 мс, если выбран вариант «нет», то используется 3 мс.
Является ли удалённый браузер Internet Explorer? Если выбран вариант «да», то файл отправляется как часть .mht-файла, если выбран вариант «нет», то файл отправляется как встроенное изображение, поскольку другие браузеры не поддерживают формат mht.
Если удалённый браузер — Internet Explorer, то формат будет mht. После завершения файл следует сохранить как filename.mht и открыть в IE, затем снова сохранить как «веб-страница, полностью» — это создаст веб-страницу и каталог, содержащий два случайно названных tmp-файла. Расширение большего из этих двух файлов следует изменить на расширение передаваемого файла, например, если передавался исполняемый файл, файл становится mhtC1E4(1).exe
Если удалённый браузер не Internet Explorer, то формат будет представлять собой изображение, встроенное в html-страницу. Затем её следует сохранить как html-страницу и открыть в любом установленном браузере, щёлкнуть правой кнопкой мыши по ссылке и выбрать «сохранить как», указав правильное имя файла, в данном случае sleipnir.exe (обратите внимание, что IE не позволяет выполнить этот шаг, отсюда и два разных метода).