http://p4.qhimg.com/t014e91254c4db79c90.png


前言


有人曾说过,交换秘密的最佳地点就是熙熙攘攘的人群中。有道是,越危险的地方越安全。

那么,如果利用社交网络生成的流量来伪装pentest drop box流量会出现什么情况?


渗透测试盒子


Pentest drop box是一款可在渗透测试时插入(或者无线接入)目标网络的便携式设备,它可被一个C&C服务器控制并实施以下行为:

网络监控/监听

ARP/DNS投毒,实施中间人攻击

拒绝服务

Drop box能够通过多种方法调用C&C,包括但不仅限于:

反向SSH(通过OpenVPN)

经由HTTP(s)的SSH

DNS隧道—此处有一个良好的write-up

通过TOR的路由

基于ICMP的shell

Egress buster:尝试所有的出站端口直到找到一个开放端口

使用一个3G加密狗,这样C&C命令就不会接触到目标网络

上述提到的多数方法都需要跟C&C服务器保持持续连接 (shell), 从而提高检测几率。通常情况下连接可能会中断,因此可能需要准备一个重新连接的机制。

那么,如何创建一个几近完美的C&C机制呢?

这个机制应该跟其余的网络流量融合且应该是异步的。当然,必须加密。

跟基于社交媒体的drop box打个招呼吧!!

我之前写过一篇博文,说明了如何使用Facebook API在红队渗透过程中拿到数据。我们可以使用类似的方法为drop box创建一个C&C。

这里的一个有利条件就是,你很难区分drop box的C&C流量和合法的社交媒体流量。社交媒体API调用会提供HTTPS加密,这就是一个巨大的优势。


设计


上游—用于接收C&C命令。

推特对一条发文的字数限制是140个字符,这对于向drop box发布命令来说简直不要太完美。API调用默认使用HTTPS。

下游—用于接收命令结果、提取数据

Facebook对一篇文章的字数限制是63,206个字符。在多数情况下,这对于接收命令输出如nmap扫描结果来说足够了。


隐秘性


为了阻止C&C推文和Facebook帖子被挖,建议进行隐私设置。

http://p0.qhimg.com/t010b9f07920acb559f.png


硬件


单板机及其所获取的支持让渗透测试人员在开展物理渗透测试时轻松很多。这样,在定制drop box所需软件方面就有了很大的自由。你可以现在就只从所需要的工具开始搭建一个drop box。低廉的价格也是它的一个附加优势。

我是Raspberry Pi (RPi) 的铁杆粉,因此我的drop box搭建现在还是基于此。Black Hills Information Security发表了一篇关于自己构建一个drop box的博文,并且还附有对单板机的详细比较。他们做的相关研究很棒,这次也不例外。如果你打算凭一己之力来构建一个box,我强烈建议从阅读他们的博客开始。


软件


RPi有一个与之对应的Kali搭建,而且你可以使用他们的元数据包来定制化自己的网络、WiFi等。如果你真的想要一个轻量级的,那么也可以从Raspbian Lite开始并根据自己的需求量体裁衣。

http://p7.qhimg.com/t01c8da143e8035d3f5.png


演示视频


为了做演示,我将会手动运行脚本。在部署的过程中,我在引导时就开始运行脚本并让它每分钟左右查询一次命令。

在演示过程中,我将会展示命令是如何作为由drop box收到并执行的推文获得通过的。命令的结果随后会被贴到Facebook页面。


缓解措施


从蓝队的角度看,想出一种解决方案来完全缓解这个问题会很难。DNS和深度包检测可以解决这个问题。


跟进


欢迎随时交流各种建议和想法以及缓解措施。希望这篇文章会为你在渗透测试方面带来一些作用。



本文由 安全客 翻译,作者:Brexit

原文链接:https://zone13.io/post/social-media-based-pentest-dropbox/