门罗币概述及挖矿指南 您所在的位置:网站首页 一键挖矿脚本xmr 门罗币概述及挖矿指南

门罗币概述及挖矿指南

2024-06-01 09:36| 来源: 网络整理| 查看: 265

近期对数字货币挖掘(“挖矿”)有比较高的热情,主要以门罗币(Monero/XMR)及其衍生货币为主,因为它们被很多黑客作为攻击后主要挖掘的货币——其可以在CPU上挖掘,且对CPU运算效率速度无特别的要求,因此适用于大部分无显卡的服务器挖矿。同时,由于其超强的匿名性和不可追踪性,被广泛用于灰色交易当中。

在最近这一周,我主要把时间花在了门罗币挖矿软件XMRig及配套的矿工池XMRig-Proxy上,开发者主要通过捐赠以及挖矿软件的1%-5%的捐赠来获得回报。经过查询,在2020年1月7日时,捐赠矿工池地址donate.v2.xmrig.com:5555下其正在进行Sumokoin(使用CryptoNightR算法)的挖掘。

本文的主要内容有以下部分:

云端部署分布式矿工池及矿工; 无捐献矿工编译方法; 部分平台的静态矿工编译。 云端部署分布式矿工池及矿工

在之前一周的时间里,我主要在阿里云、亚马逊云(Amazon Web Services)以及微软云(Microsoft Azure Cloud)上尝试部署矿工池以及矿工应用,谷歌云(Google Cloud Platform)对挖矿软件的检测十分严格,同时可能存在对流量监控的问题,一旦发现挖矿的就直接封禁项目。

矿工池

由于中国大陆对世界最大的门罗币矿场supportXMR和mineXMR的连接速度有限,且丢包率较高,因此我选择了在海外服务器自建矿工池代理节点XMRig-Proxy,而后将矿工连接到自建矿工池节点,再将自建矿工池节点连接至矿场来提升连接的稳定性。

自建矿工池具有如下几个优势:

无需逐个配置矿工,只需要将矿工运行并且连接至矿工池即可; 不会在矿工设置文件中暴露钱包地址,只会暴露矿工池的IP地址(如果矿工池的流量经过转发,矿工池的IP地址也不会暴露),因此黑客可以安全地在任何入侵设备上挖矿; 通过修改矿工池的配置文件,可以统一调配所有连接的矿工执行特定的算法、开采特定的数字货币; 并发性能超高,在超低配置(1核1GB内存)的服务器上运行,同时连接的矿工数量能够超过10万; 矿场的同时连接数有限,一般单个钱包地址只允许100个矿工连接,通过矿工池作为代理,能够变相增加矿场允许连接矿工的数量; 矿工池可多级代理,即矿工池能够层层连接; 矿工池支持SSL证书,因此能够对传输数据进行加密及伪装,和正常HTTPS通信并无二致,能够绕开海外企业的数据监控(具体可参考谷歌云流量监控; 如果矿工池直接接入Tor网络,则矿场也无法回溯矿工池的IP地址,目前,已经存在暗网上的门罗币矿池RespectXMR以保证绝对的匿名性。

因此,将矿工连接到自建矿工池也成为了黑客在攻击后的首要选择。

矿工池部署

我部署了两个矿工池,香港、美国各部署一个,原因如下:

香港矿工池 主要矿场在新加坡都有子节点,香港至新加坡的连接延迟一般低于50ms; 中国连接香港的延迟(约70ms)远低于中国直连新加坡的延迟(约150ms),香港可以辐射整个泛太平洋地区的矿工。 美国矿工池 各个云服务商在美国地区提供的云服务价格最低,在美国建矿工池节约频繁的矿工配置时间。

矿工池的部署可以参考GitHub的Wiki以及XMRig-Proxy官方文档。

参考配置 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 { "access-log-file": null, // 矿工连接记录 "access-password": null, // 矿工连接密码认证,null为关闭 "algo-ext": true, "api": { "id": null, "worker-id": "Your Worker Name" // web端矿工池显示名称 }, "http": { "enabled": true, // 是否开启矿工池web连接端口 "host": "0.0.0.0", "port": 50001, "access-token": "password", // web端连接密码 "restricted": true // 是否允许在web端修改矿工池配置文件 }, "background": false, // 是否在后台静默运行 // 入站数据监听端口 "bind": [ { "host": "0.0.0.0", "port": 443, "tls": true } ], "colors": true, "custom-diff": 0, "custom-diff-stats": false, "donate-level": 0, // 矿工池捐赠比例,可为0 "log-file": null, // 矿工池连接矿场的信息记录 "mode": "nicehash", "pools": [ { "algo": null, "coin": "monero", // 目标数字货币 "url": "pool-hk.supportxmr.com:443", // 矿场地址 "user": "Your Wallet Address", // 连接矿场的用户信息,一般是钱包地址 "pass": null, "rig-id": "Your Worker Name", // 矿场端矿工池显示名称 "keepalive": true, "enabled": true, "tls": true, // 是否通过HTTPS连接矿场 "tls-fingerprint": null } ], "retries": 3, // 断线重连,若有多矿场,断线多次会连接下一矿场 "retry-pause": 1, "reuse-timeout": 0, // HTTPS矿工池连接配置文件 "tls": { "protocols": null, "cert": "TLS Certificate", // TLS证书 "cert_key": "TLS Private Key", // TLS私钥 "ciphers": null, "ciphersuites": null, "dhparam": null }, "user-agent": null, "syslog": false, "verbose": true, "watch": true, "workers": true } 无捐献版本XMRig

获取XMRig源码后,在/src/donate.h文件中将constexpr const int kMinimumDonateLevel = 1;修改为constexpr const int kMinimumDonateLevel = 0;即可。

静态XMRig编译

由于普通的动态编译版本是使用本机的支持库,直接指向本机支持库的地址,而不同设备下支持库的路径可能不同,因此可能导致软件无法运行的情况。选择对文件进行静态编译,静态编译后的文件将所有支持库融入文件当中,则可以在任何设备上都能够无差别运行,适合黑客大批量部署。

官方Release通道发布的版本均为静态编译文件,但是这些静态编译版本设定最低捐赠额度(每100分钟有最低1分钟/默认5分钟的挖矿时间捐赠给开发者),因此也并未给出详细的静态编译教程。

注意:由于我测试的矿机没有GPU,因此没有尝试任何AMD/NVIDA/CUDA的静态编译版本制作。

大部分服务器均为无GPU版本,因此下述编译方法应该也是大多数黑客所采用的,如果需要研究网络安全的部分,则应该仔细审查通过下述Linux静态编译方法编译出的二进制文件特征。

macOS静态编译方法

macOS由于系统标准化程度高,静态编译较为简单,可参考官方编译方法。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 下载XMRig最新源码 git clone https://github.com/xmrig/xmrig.git # 进入XMRig地址 cd xmrig # 下载Portable Hardware Locality (hwloc),用于识别CPU个数以自动调整挖矿效率 curl -O https://download.open-mpi.org/release/hwloc/v2.1/hwloc-2.1.0.tar.bz2 # 解压及编译hwloc tar xjf hwloc-2.1.0.tar.bz2 cd hwloc-2.1.0 ./configure --disable-shared --enable-static --disable-io --disable-libxml2 make -j $(sysctl -n hw.logicalcpu) # 编译XMRig cd ../build cmake .. -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl -DHWLOC_INCLUDE_DIR=../hwloc-2.1.0/include -DHWLOC_LIBRARY=../hwloc-2.1.0/hwloc/.libs/libhwloc.a make -j $(sysctl -n hw.logicalcpu) Linux静态编译方法

Linux系统的发行版众多,静态编译较为复杂,我主要使用Ubuntu系统,因此本文将以Ubuntu系统为例讲解静态编译方法。

注意:该编译方法暂时不完全,未成功编译SSL支持库,仍需要后续尝试并且补全。

需要静态编译的支持库有以下几个部分:

Portable Hardware Locality(已完成,已测试,参考Issue) libuv(已完成,待测试,参考官方编译方法) libssl(暂未开始尝试) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 下载编译所需要的支持库 sudo apt-get install git build-essential cmake libuv1-dev libssl-dev libhwloc-dev # 下载XMRig最新源码 git clone https://github.com/xmrig/xmrig.git # 下载并编译Portable Hardware Locality cd ~ wget https://download.open-mpi.org/release/hwloc/v2.0/hwloc-2.0.4.tar.bz2 tar xjf hwloc-2.0.4.tar.bz2 cd hwloc-2.0.4 ./configure --disable-shared --enable-static --disable-io --disable-libudev --disable-libxml2 make # 设定build文件目录 cd xmrig && mkdir build && cd build # 编译 cmake .. \ -DUV_LIBRARY=/usr/lib/x86_64-linux-gnu/libuv.a \ # libuv -DHWLOC_INCLUDE_DIR=~/hwloc-2.0.4/include/ \ # hwloc include目录 -DHWLOC_LIBRARY=~/hwloc-2.0.4/hwloc/.libs/libhwloc.a # hwloc libhwloc.a文件 make 其它 谷歌云流量监控

我在谷歌云曾经部署过V2Ray代理作为流量中转,但由于谷歌云对免费容器的限制,我从未在上面部署过任何矿机。

然而,谷歌云在最近一周两次向我发送警告,声称检测到我在容器中进行挖矿。我的所有设备的非大陆段IP流量全部通过谷歌云中转,但从未在谷歌云上部署过矿机进行挖矿,因此,谷歌云极有可能对所有经过设备的流量进行监控。

出于安全考量,建议所有用户不要再使用谷歌云架设任何代理,尤其是通过明文传输的HTTP数据切勿再经过谷歌云。普通的代理主要起通道作用,安全性本身就远低于传统VPN,因此任何明文传输的数据都极容易被监听。

若无其他选择,架设后所有的数据也务必使用TLS加密。

JavaScript浏览器挖矿脚本

效果十分震撼,但时间有限暂未开始此部分写作。

捐赠

随波逐流,附一个XMR地址 8579JuUDatseeMWWSBzQwr8aBuq58RViLeFSS5xNHueL3vV8rFm2nSaU4oyVoF2v9eBzM4rMGWwaaTciKSs4cyuiD9PApL5



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有