
Настройка двусторонней обфусцированной передачи файлов через HTTP, созданная для обхода систем обнаружения вторжений (IDS).
Skyhook — это утилита на основе REST, используемая для скрытной передачи файлов в сети и из сетей, защищённых системами IDS. Она поставляется с готовым веб-клиентом, использующим комбинацию React, vanilla JS и WebAssembly для управления передачей файлов.
Примечание: Подробное обсуждение Skyhook и его работы см. в документации пользователя.
Сервер передачи файлов Skyhook незаметно обфусцирует содержимое файлов с помощью настраиваемой последовательности алгоритмов обфускации перед записью содержимого в тела ответов. Клиенты, настроенные с теми же алгоритмами обфускации, деобфусцируют содержимое файлов перед сохранением на диск. Для управления HTTP-транзакциями используется метод потоковой передачи файлов по частям, что облегчает передачу больших файлов.
flowchart
subgraph sg-cloudfront[Cloudfront CDN]
cf-listener(443/tls)
end
subgraph sg-vps[VPS]
subgraph sg-skyhook[Skyhook Servers]
admin-listener(Admin Server<br>45000/tls)
transfer-listener(Transfer Server<br>45001/tls)
end
config-file(Config File<br>/var/skyroot/config.yml)
admin-listener -..->|Reads &<br>Manages| config-file
webroot(Webroot<br>/var/skyhook/webroot)
transfer-listener -..->|Serves From &<br>Writes Cleartext<br>Files To| webroot
end
op-browser(Operator<br>Web Browser) -->|Administration<br>Traffic| admin-listener
op-browser <-->|Obfuscated<br>Data| transfer-listener
subgraph sg-corp[Corporate Environment]
subgraph sg-compromised[Beachhead Host]
comp-browser(Web Browser) -->|Reads &<br>Writes| cleartext-file(Cleartext Files)
end
end
comp-browser <-->|Obfuscated<br>Data| cf-listener <-->|Obfuscated<br>Data| transfer-listener
Например, вот рабочая конфигурация обфускации:

А вот интерфейс передачи файлов. Нажатие «Скачать» приводит к тому, что файл извлекается частями, зашифрованными цепочкой методов обфускации, настроенных выше.
JavaScript деобфусцирует файл перед тем, как предложить пользователю сохранить его на диск.

Ниже показан запрос, возникающий при загрузке и проверяемый с помощью Burp. Ключевые элементы транзакции зашифрованы для предотвращения обнаружения.
