构建匿名渗透测试平台:从零搭建不可追踪的攻击环境

本文详细介绍了如何通过现金购买设备、预付费手机注册账户、比特币支付VPS等步骤,构建一个临时性的匿名渗透测试平台,包含系统加密、工具安装及VPN配置等实用技术方案。

你准备好搞APP了吗?(没错你懂我)

作者:Derek Banks

免责声明: 本文提及的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习资料,并可能为现代工具和技术的更新或整合提供参考。

是的,我在博客标题中暴露了自己的年代。我就是这么老派。

在上一个工作中,我花了大量时间分析高级持续性威胁(APT)的工具、技术和程序(TTP)。现在作为渗透测试员,我经常思考如何应用其中一些技术。如果必须为特定类型的任务创建可销毁且不可追踪的攻击平台,我该怎么做?如何成为一名高级持续性渗透测试员?

这种兴趣被同事Beau Bullock在B-Sides Orlando的演讲《从白帽褪色为黑帽?》以及一个客户的请求重新点燃,该客户希望我们进行黑盒评估,模拟真实攻击者试图避免被抓获的情景。

显然,这无法与资金雄厚的国家行为体相提并论,甚至可能不是同一级别的游戏。但这仍是一个有趣的练习,对于那些想要减少数字足迹的红队行动,本文或许能提供一些思路。

在可能的情况下,我不会重复网上已有的指令,比如如何制作可启动U盘。毕竟,这就是互联网的用途,对吧?

同时必须警告:此配置不得用于尝试入侵未经授权的系统。没有什么是完全不可追踪和不可归因的,只能尽量减少风险。如果你进行非法活动,我认为保持完美的操作安全极其困难,如果执法部门全力追查,你终将被捕。所以不要做会惹麻烦的蠢事。

所需物品

  • 现金(用于购买所需物品,主要为了减少追踪)
  • 笔记本电脑和U盘(用于加载操作系统)
  • 预付费手机(用于注册电子邮件或其他账户)
  • 可转换为比特币(BTC)的预付费VISA卡
  • 接受比特币的虚拟私人服务器(VPS)

现金

需要多少?视情况而定。我已有联想t420并选择使用它,但在Craigslist上找到了几乎相同的系统(无SSD硬盘),价格为250美元。加上笔记本电脑,我的总成本本应为423.69美元。

智能手机

获取一部预付费手机。注意7-11似乎从未有货(我去了三家后才放弃并去了沃尔玛)。一部Tracfone Alcatel OnePlus加120分钟通话计划卡(有活动赠送三倍通话时间)花费63.79美元。

激活似乎需要WiFi来配置Android,但可能先在Tracfone.com激活再设置手机,以便配置4G连接。如果连接WiFi,考虑使用公共网络。显然,这是我第一次使用Tracfone。

这主要用于接收账户验证的短信,但嘿,有部预付费手机应该很方便……也许在Defcon用?注意,我在设置过程中用Google创建的电子邮件地址仅用于手机注册,不会用于其他用途。有几个原因。

笔记本电脑设置

本节并非关于如何创建长期使用的高度安全和匿名笔记本电脑。有其他资源可供参考——我一直在读《如何设置用于黑客攻击、隐私、自我保护和深网浏览的高安全笔记本电脑:使用Kali Linux 2.0 + VirtualBox + Whonix + 混淆桥接 + Tor:暗网科学书1》,这很有趣,但本文不会深入讨论。

由于Ripley原则(从轨道上起飞并核平整个站点。这是唯一确定的方法),我们的操作系统将在任务结束后销毁。任务结束后需要保留的任何数据必须从本地整合并以某种方式存档。毕竟,如果我是真实攻击者,我会为每次行动建立新的基础设施,并在结束后销毁。

从Craigslist购买笔记本电脑。我找到了与我已有的联想t420配置相近的系统,价格为250美元。保持便宜,我们运行Linux,你希望它是几年前的产品,这样效果更好。我选择Ubuntu 14.04 LTS作为操作系统,因为我知道它在联想t420上运行良好。

我知道,我知道……Ubuntu 14.04开箱即有一些隐私问题。我们将对此进行一些更改。我意识到选择Ubuntu可能让一些人说其他发行版更适合你的需求。这可能是真的,我们的行业充满了注意事项,让人们熬夜在会议酒吧争论利弊,并在互联网上引发口水战。我喜欢Ubuntu,因为它对我来说更有效。

下载ISO,验证校验和,并用U盘制作可启动安装盘。任何平台的指令都很容易在网上找到,因此我不重复。

在安装过程中,选择加密安装。选择你能记住的最长的安全密钥。

继续默认安装。当选择计算机主机名和用户名时,选择你认为合适的,但我建议不要使用你正常的名称或句柄。使用通用且不显眼的内容。

启动新安装后,更新它:

1
2
3
#apt-get update
#apt-get upgrade
#apt-get install git

接下来,我们将设置一些渗透测试工具。使用git克隆TrustedSec的PTF项目。

1
#git clone https://github.com/trustedsec/ptf.git

进入ptf/并运行PTF。

1
2
#cd ptf/
#./ptf

进入框架后:

1
ptf>use modules/install_update_all

这需要一段时间,但完成后,将在/pentest中拥有当前的渗透测试工具。

当PTF运行时,按照https://fixubuntu.com/的说明关闭可能向第三方发送数据的搜索建议。

PTF仍在安装,因此我建议获取密码管理器来生成和保存长密码。我喜欢Keypass,但只要密钥库保持本地,就应该没问题。当你需要为各种资源创建密码时,生成长随机密码。

如果PTF仍在安装,去喝点咖啡,稍后检查。它需要你回答一些问题,选择默认值。利用这段时间将resolv.conf中的DNS服务器条目更改为指向Google的DNS(或任何非你ISP的DNS服务器)。

接下来,安装Virtual Box。下载并为Kali和Tails创建虚拟机。在本机Ubuntu安装上安装Tor浏览器。大部分工作将在虚拟机中进行,但我喜欢本地也可用工具的灵活性。

最后,获取Burp Suite。如果只是为了在必要时代理你的网络流量,免费版本可能就够用了。完整版本完全值得,但会增加350美元的成本,而且我相当确定他们不接受比特币。Zed攻击代理也可能满足你的需求。

接下来,注册一个Yahoo电子邮件账户。为什么?因为使用邮件客户端(而非网页界面)与Yahoo配合,可以让你通过它发送恶意负载,以防你需要发送定向钓鱼消息,并能用Yahoo地址使你的诡计生效。

这应该为笔记本电脑提供一个坚实且灵活的平台,作为基础攻击平台开始使用。

虚拟私人服务器设置

现在我们需要一个在互联网上的VPS作为测试平台。我们将用它来VPN连接,以及托管命令和控制的监听器。但首先,我们需要一种比信用卡或Paypal更匿名的支付方式。比特币怎么样?我绝不会说我是加密货币专家,但BTC似乎并不一定是匿名的。但肯定比其他支付方式更匿名。

通过一些谷歌搜索,提供了两种匿名获取比特币的方法:

  • 本地见面交易,给对方现金
  • 预付费VISA卡

本地比特币交易者似乎有1BTC的最低限额,在撰写本文时约为450美元,远超过我们一两个月VPS所需,也超出了我对实验的舒适区。

我在离家约一英里的当地药店购买了两张50美元的Vanilla品牌卡。并不完全“匿名”,因为我还去了隔壁的银行ATM取现金。我肯定在ATM和药店被录像了。但对于测试来说,这已经足够不可归因了。

并非每个BTC市场都接受预付费VISA卡作为支付方式。经过一些研究,paxful.com提供了用几种品牌卡实现此功能的方法。

创建账户后,选择你拥有的礼品卡品牌。我的品牌在页面上显眼列出。

你将通过paxful市场从另一个人那里购买BTC。这种方式下BTC的成本约为每美元0.77美元,并波动几美分。本次测试的两笔交易需要卡片正面和背面的照片。如果这些是用智能手机拍摄的,如我所用,不要忘记删除exif数据。

1
#exiftool -all= *.jpg

一旦获得足够操作期间的BTC,就是设置VPS的时候了。LibertyVPS(https://libertyvps.net/)在其服务条款中允许OpenVPN,并托管在荷兰。创建账户并订购最便宜的服务器。

结账时,选择比特币选项。当你启动交易时,由于你的BTC钱包不在本地系统上,而是在paxful.com上,从paxful.com钱包向LibertyVPS转账。LibertyVPS上的结账窗口会挂起,但交易会完成。

创建后,VPS上应启用SSH。连接后,我们将执行与笔记本电脑相同的操作——更新服务器并安装git和PTF。为什么在客户端和服务器上安装相同的工具?嗯,那里有很多工具。最好现在设置你可能需要的东西,而不是在以后中途意识到应该安装它。

OpenVPN

我遵循了以下说明: https://www.digitalocean.com/community/tutorials/how-to-set-up-an-openvpn-server-on-ubuntu-14-04

唯一的偏差是一个依赖包需要强制安装:

1
2
3
#apt-get install openvpn easy-rsa
#apt-get install -f
#apt-get install openvpn easy-rsa

一旦openvpn服务器启动并运行,并且客户端文件已配置,使用Linux内置的openvpn客户端连接。

1
#openvpn –config myvpn.ovpn

现在我们有了一个笔记本电脑设置,在必要时使用Tor浏览器和Tails进行侦察活动时会更匿名,并通过VPN连接到我们的VPS作为主要攻击平台。当通过VPN连接到系统时,使用Burp Suite从笔记本电脑进行Web应用程序测试,流量应显示来自海外VPS。

连接到VPS的VPN后,Google认为我位于世界不同地区。

作为快速测试,我对一个外部面向的主机运行了nmap扫描,并使用tcpdump将网络流量写入文件。我承认这不是一个全面的测试来查看是否有数据泄漏,但对于渗透测试和红队目的,这应该足够匿名以提高门槛,如果你需要这样做的话。

非VPN连接扫描(来自本地笔记本电脑安装):

[图像占位符]

VPN连接扫描(来自本地笔记本电脑安装):

[图像占位符]

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计