
Una configuración de transferencia de archivos HTTP de ida y vuelta ofuscada, diseñada para evadir detecciones IDS.
Skyhook es una utilidad basada en REST que se usa para introducir y extraer archivos de redes protegidas por implementaciones de IDS. Viene con un cliente web preempaquetado que utiliza una combinación de React, vanilla JS y WebAssembly para gestionar transferencias de archivos.
Nota: Consulte la documentación de usuario para un análisis más detallado de Skyhook y su funcionamiento.
El servidor de transferencia de archivos de Skyhook ofusca sin problemas el contenido de los archivos con una serie de algoritmos de ofuscación configurados por el usuario antes de escribir el contenido en los cuerpos de respuesta. Los clientes, que están configurados con los mismos algoritmos de ofuscación, desofuscan el contenido del archivo antes de guardarlo en el disco. Se utiliza una técnica de transmisión de archivos para gestionar las transacciones HTTP de manera fragmentada, facilitando así la transferencia de archivos grandes.
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
Por ejemplo, aquí hay una configuración de ofuscación funcional:

Y aquí está la interfaz de transferencia de archivos. Al hacer clic en 'Download' se obtiene el archivo en fragmentos que están cifrados con la cadena de métodos de ofuscación configurada anteriormente.
JavaScript desofusca el archivo antes de solicitar al usuario que lo guarde en el disco.

A continuación se muestra una solicitud derivada de una descarga inspeccionada con Burp. Los elementos clave de la transacción están cifrados para evadir la detección.
