[GPU挖矿教程] 看看黑客如何利用OSINT技术黑掉你的矿机

[复制链接]
15991 |4
发表于 2017-11-27 10:51:21 | 显示全部楼层 |阅读模式

4ffce04d92a4d6cb21c1494cdfcd6dc1-58.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-58.jpg

在实施攻击之前,公开资源情报计划(OSINT)是我们收集信息的首选技术。在此之前,也有很多使用OSINT实现攻击的事例。随着物联网设备的不断发展,我们现在可以在公共网站中收集到大量的关键数据了。那么在这篇文章中,我们将会跟大家介绍如何收集与加密货币挖矿工具(比特币—Antminer和以太坊—Claymore)有关的关键数据。
很多加密货币挖矿工具以及软件都需要通过网络来发送或接收数据。因此,这也给攻击者提供了可乘之机。
针对Antminer的网络侦察
目前最受欢迎的比特币ASIC矿机当属AntminerS9/S7了,矿机的硬件使用的是“lighttpd/1.4.32” Web服务器,而这类服务器中某些还拥有开放的SSH端口,本文所介绍的漏洞利用技术针对的是“Lighttpd 1.4.31”版本。但是,你无法利用本文的技术远程访问服务器。
Web服务器的网页接口采用了“HTTP摘要认证”来进行保护,这里最关键的一点就在于,这些矿机需要使用用户名以及密码来完成登录。下图显示的是antMiner的配置页面(使用了摘要认证):

4ffce04d92a4d6cb21c1494cdfcd6dc1-59.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-59.jpg

大家都知道,在使用OSINT技术时我们需要使用一些信息和关键词来收集数据。通过分析我发现,每当我向矿机的服务器发送请求时,HTTP头中都会有一段antMiner配置信息,因此我们就可以选用这段信息来当搜索关键词。

4ffce04d92a4d6cb21c1494cdfcd6dc1-1.png

4ffce04d92a4d6cb21c1494cdfcd6dc1-1.png


我在censys.io以及shodan.io上使用了一些特殊语句来搜索相关内容,并收集到了一些IP地址。

4ffce04d92a4d6cb21c1494cdfcd6dc1-60.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-60.jpg

友情提示:我们可以通过对HTTP端口或SSH端口进行暴力破解攻击来访问服务器系统。
首先,我们需要了解默认的HTTP用户名和密码。因此,我上Google搜索了关于“antminer默认密码”的内容,并且在一个网站中找到了antMiner的用户指南。

4ffce04d92a4d6cb21c1494cdfcd6dc1-61.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-61.jpg

在这里,我选择使用hydra【下载地址】以及1万个常用密码来完成暴力破解攻击(爆破HTTP摘要认证),当然你也可以选择使用Burp Suite Intruder。命令如下所示:

4ffce04d92a4d6cb21c1494cdfcd6dc1-2.png

4ffce04d92a4d6cb21c1494cdfcd6dc1-2.png


如果你幸运的话,你将能够访问到antMiner的配置页面。

4ffce04d92a4d6cb21c1494cdfcd6dc1-62.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-62.jpg

攻击者可以随意修改该页面中的配置信息。
Claymore矿机软件
这种方法不仅可针对比特币矿机实施攻击,而且目标还包括Claymore挖矿软件(可挖山寨币、以太币和Zcash币)。
接下来,我又使用关键词“ETH — Total Speed:”在shodan.io上进行了搜索:

4ffce04d92a4d6cb21c1494cdfcd6dc1-63.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-63.jpg

你可以通过Claymore的远程管理API向服务器发送JSON数据包来实现对矿机服务器的远程管理。
在这里,我们可以控制矿机的GPU,例如开启或关闭多线程模式等等。除此之外,我们还可以通过编辑config.txt文件并发送一些控制命令来修改矿池钱包地址。下图显示的是Claymore的远程管理API代码:

4ffce04d92a4d6cb21c1494cdfcd6dc1-64.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-64.jpg

我们还可以发送“miner_restart”或“control_gpu”命令来检测该文件的属性是只读的还是可读写的。我自己使用的是MacOS,所以我选择使用NC来发送JSON命令。
首先,我们可以尝试使用“miner_getstat1”命令。矿机服务器返回的统计信息如下所示:

4ffce04d92a4d6cb21c1494cdfcd6dc1-65.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-65.jpg

接下来,我们可以尝试发送命令“control_gpu”来检测服务器的可读写状态。但是发送了该命令之后,服务器返回了如下所示的错误信息:

4ffce04d92a4d6cb21c1494cdfcd6dc1-66.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-66.jpg

从错误信息中可以看出,矿机服务器当前处于只读模式。
当我尝试另一个IP地址时,我成功地重启了目标服务器的系统。这也就意味着,Claymore远程管理API允许我们读写认证信息。

4ffce04d92a4d6cb21c1494cdfcd6dc1-67.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-67.jpg

除此之外,Claymore远程管理工具还允许我们使用JSON格式数据(发送JSON文件)来编辑config文件。不过,你还可以使用Windows端的Claymore的以太币挖矿管理工具来修改矿池钱包地址。

4ffce04d92a4d6cb21c1494cdfcd6dc1-68.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-68.jpg


4ffce04d92a4d6cb21c1494cdfcd6dc1-69.jpg

4ffce04d92a4d6cb21c1494cdfcd6dc1-69.jpg

总结
我还没有尝试通过向Claymore挖矿软件发送JSON命令来实现命令注入,如果这个漏洞存在的话,那么我们无需读取权限便能够远程访问服务器。
大家在搜索海量数据时,可以使用OSINT来提升搜索的效率。除此之外,你甚至还可以通过编辑config.txt文件来让所有的GPU风扇停止工作,但这样做会给目标用户带来巨大的经济损失,因此请大家不要随意进行尝试。
回复

使用道具 举报

发表于 2017-11-27 16:03:10 | 显示全部楼层
谢谢,防范于未然呀》
回复 支持 反对

使用道具 举报

发表于 2017-11-27 20:32:38 | 显示全部楼层
说实在的,一点都看不懂
回复 支持 反对

使用道具 举报

发表于 2017-11-27 23:17:46 | 显示全部楼层
学习中
回复 支持 反对

使用道具 举报

发表于 2017-12-3 15:29:12 | 显示全部楼层
以太坊的挖矿程序有一个是可以停止远程操作的命令,但是不记得是哪个了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表