Según la definición de Wikipedia, un caché de caída inactiva es una herramienta de conspiración que sirve para intercambiar información o algunos objetos entre personas que utilizan una ubicación secreta. El punto es que las personas nunca se encuentran, pero al mismo tiempo intercambian información, manteniendo la seguridad operacional.
El caché no debería llamar la atención. Por lo tanto, en el mundo fuera de línea a menudo se usan cosas discretas: un ladrillo libre en la pared, un libro de la biblioteca o un hueco en un árbol.
Hay muchas herramientas en Internet para el cifrado y el anonimato, pero el hecho de usar estas herramientas llama la atención. Además, pueden bloquearse a nivel corporativo o estatal. Que hacer
El desarrollador Ryan Flowers sugirió una opción interesante:
usar cualquier servidor web como caché . Si lo piensa, ¿qué hace el servidor web? Acepta solicitudes, emite archivos y escribe un registro. ¡Y escribe en el registro todas las solicitudes,
incluso las incorrectas !
Resulta que cualquier servidor web le permite guardar casi cualquier mensaje en el registro. Flowers se preguntó cómo usarlo.
Él ofrece esta opción:
- Tomamos un archivo de texto (mensaje secreto) y calculamos el hash (md5sum).
- Lo codificamos (gzip + uuencode).
- Escribimos en el registro mediante una solicitud deliberadamente incorrecta al servidor.
Local: [root@local ~]
Para leer el archivo, debe realizar estas operaciones en el orden inverso: decodificar y descomprimir el archivo, verificar el hash (el hash se puede transmitir de forma segura a través de canales abiertos).
Los espacios se reemplazan por
=+=
para que no haya espacios en la dirección. El programa, que el autor llamó CurlyTP, utiliza la codificación base64, como en los archivos adjuntos de correo electrónico. La solicitud se realiza con la palabra clave
?transfer?
para que el destinatario pueda encontrarlo fácilmente en los registros.
¿Qué vemos en los registros en este caso?
1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0" 1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0" 1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"
Como ya se mencionó, para recibir un mensaje secreto, debe realizar operaciones en el orden inverso:
Remote machine [root@server /home/domain/logs]
El proceso es fácil de automatizar. Md5sum coincide y el contenido del archivo confirma que todo se decodificó correctamente.
El método es muy simple. “El objetivo de este ejercicio es solo demostrar que los archivos pueden transferirse a través de pequeñas solicitudes web inocentes, y funciona en cualquier servidor web con registros de texto regulares. ¡De hecho, cada servidor web es un caché! ”, Escribe Flowers.
Por supuesto, el método solo funciona si el destinatario tiene acceso a los registros del servidor. Pero tal acceso es dado, por ejemplo, por muchos hosters.
¿Cómo usarlo?
Ryan Flowers dice que no es un especialista en seguridad de la información y que no enumerará los posibles usos de CurlyTP. Para él, esto es solo una prueba de concepto de que las herramientas familiares que vemos a diario se pueden usar de una manera poco convencional.
De hecho, este método tiene varias ventajas sobre otros "cachés" del servidor, como
Digital Dead Drop o
PirateBox : no requiere una configuración especial en el lado del servidor ni ningún protocolo especial, y no causará sospechas entre quienes supervisan el tráfico. Es poco probable que SORM o el sistema DLP escanee las URL en busca de archivos de texto comprimido.
Esta es una forma de enviar mensajes a través de archivos de servicio. Puede recordar cómo algunas compañías avanzadas solían
publicar ofertas de trabajo para desarrolladores en encabezados HTTP o en código de página HTML.

La idea era que solo los desarrolladores web verían ese "huevo de Pascua", ya que una persona normal no vería los encabezados o el código HTML.

