在实施攻击之前,公开资源情报计划(OSINT)是我们收集信息的首选技术。在此之前,也有很多使用OSINT实现攻击的事例。随着物联网设备的不断发展,我们现在可以在公共网站中收集到大量的关键数据了。那么在这篇文章中,我们将会跟大家介绍如何收集与加密货币挖矿工具(比特币–Antminer和以太坊–Claymore)有关的关键数据。
很多加密货币挖矿工具以及软件都需要通过网络来发送或接收数据。因此,这也给攻击者提供了可乘之机。
针对Antminer的网络侦察
目前最受欢迎的比特币ASIC矿机当属AntminerS9/S7了,矿机的硬件使用的是“lighttpd/1.4.32” Web服务器,而这类服务器中某些还拥有开放的SSH端口,本文所介绍的漏洞利用技术针对的是“Lighttpd 1.4.31”版本。但是,你无法利用本文的技术远程访问服务器。
Web服务器的网页接口采用了“HTTP摘要认证”来进行保护,这里最关键的一点就在于,这些矿机需要使用用户名以及密码来完成登录。下图显示的是antMiner的配置页面(使用了摘要认证):
大家都知道,在使用OSINT技术时我们需要使用一些信息和关键词来收集数据。通过分析我发现,每当我向矿机的服务器发送请求时,HTTP头中都会有一段antMiner配置信息,因此我们就可以选用这段信息来当搜索关键词。
(antminer) AND protocols.raw: “80/http” AND80.http.get.title: “401”
我在censys.io以及shodan.io上使用了一些特殊语句来搜索相关内容,并收集到了一些IP地址。
友情提示:我们可以通过对HTTP端口或SSH端口进行暴力破解攻击来访问服务器系统。
首先,我们需要了解默认的HTTP用户名和密码。因此,我上Google搜索了关于“antminer默认密码”的内容,并且在一个网站中找到了antMiner的用户指南。
在这里,我选择使用hydra【下载地址】以及1万个常用密码来完成暴力破解攻击(爆破HTTP摘要认证),当然你也可以选择使用Burp Suite Intruder。命令如下所示:
hydra -l root -P commonPasswords.txt -vV{TARGET} http-get /
如果你幸运的话,你将能够访问到antMiner的配置页面。
攻击者可以随意修改该页面中的配置信息。
Claymore矿机软件
这种方法不仅可针对比特币矿机实施攻击,而且目标还包括Claymore挖矿软件(可挖山寨币、以太币和Zcash币)。
接下来,我又使用关键词“ETH — Total Speed:”在shodan.io上进行了搜索:
你可以通过Claymore的远程管理API向服务器发送JSON数据包来实现对矿机服务器的远程管理。
在这里,我们可以控制矿机的GPU,例如开启或关闭多线程模式等等。除此之外,我们还可以通过编辑config.txt文件并发送一些控制命令来修改矿池钱包地址。下图显示的是Claymore的远程管理API代码:
我们还可以发送“miner_restart”或“control_gpu”命令来检测该文件的属性是只读的还是可读写的。我自己使用的是MacOS,所以我选择使用NC来发送JSON命令。
首先,我们可以尝试使用“miner_getstat1”命令。矿机服务器返回的统计信息如下所示:
接下来,我们可以尝试发送命令“control_gpu”来检测服务器的可读写状态。但是发送了该命令之后,服务器返回了如下所示的错误信息:
从错误信息中可以看出,矿机服务器当前处于只读模式。
当我尝试另一个IP地址时,我成功地重启了目标服务器的系统。这也就意味着,Claymore远程管理API允许我们读写认证信息。
除此之外,Claymore远程管理工具还允许我们使用JSON格式数据(发送JSON文件)来编辑config文件。不过,你还可以使用Windows端的Claymore的以太币挖矿管理工具来修改矿池钱包地址。
总结
我还没有尝试通过向Claymore挖矿软件发送JSON命令来实现命令注入,如果这个漏洞存在的话,那么我们无需读取权限便能够远程访问服务器。
大家在搜索海量数据时,可以使用OSINT来提升搜索的效率。除此之外,你甚至还可以通过编辑config.txt文件来让所有的GPU风扇停止工作,但这样做会给目标用户带来巨大的经济损失,因此请大家不要随意进行尝试。