始录,说一下这个币,这个币是css的,这个币有网友想挖,叫我演示一下怎么弄的。这个币现在有这么多矿池,现在开始先弄钱包,这里是官方网站,先进去一下,进去以后点一下钱包,然后创建钱包,输入密码,输两次了,这个是有十二个助击词,这个是十二个词的,先把它复制下来,因为这个或者是截图下来复制不了,就截图。
然后再点下一步,下一步就要确认,比如这个,那是第十一个词是什么,然后选一下就行了。刚才那里第十一个词是这个,这里是第七个词,第四个是这个,已经创建成功了,这个就是钱包,地址就出来了,有了地址就可以开始挖矿了。
这个窗口先别关,等下要复制一下,再点这里,这里选择一个矿池,就用这个算力最大的,这个算力大,这里有这么多可以用的服务器,有这么多地址可以用的,找个可以用的就行了。
下面是教你如何挖矿,挖矿可以,这个是windows版的,这是linux版的,这是哈瓦的,现在是windows版的,可以先下载一下软件,这个软件就这样的,这个已经提前下载好了,已经解约好在这里了。
接着往后面看,换词这里配置文件是这些,把它复制下来,到这里,随便一个点b a t文件,给它配置一下就行了。这个是把这一行改成钱包地址,把地址复制下来,把它替换一下,把这些保存一下,改一下名字,好记一点。
现在运行一下,名称有问题,把这个改了,文件名有问题,把它改成解压这里的文件,现在再运行一下,现在就开始挖了,就这样等着就可以了,如果挖到就会跑到在线钱包这里来,钱包如果要用就是一般是用这个,如果可以交易了,就可以点一下发送,把币转到哪个交易所去就可以了,转多少,就这样点一下发送就行了,实在看不懂就给它翻译一下也行。
像现在很多浏览器都是带翻译功能的,翻译一下,看一下大概就知道了,收件人地址,金额,备用,就这样就行了,就这样挖着就可以了,其他的不用管它,行了,先这样。
击关注 InfoQ,置顶公众号
接收程序员的 8 点技术早餐
作者|Ben
编辑|Martin、郭蕾
出处丨聊聊架构
最近比特币大火,区块链大火,昨天就连我一个四线城市的、没怎么接触过互联网的小学同学都焦虑地打电话问我,区块链这波浪潮里他应该怎么挣钱。
聊聊架构之前发布过一系列的文章来介绍区块链技术,想想真有意思,那会阅读量怎么都做不高,但现在,又突然出来很多的区块链媒体。当然,我们也做了一个专注报道区块链技术的公众号:区块链前哨,欢迎大家关注。
之前,我估计很多人都注意到过这样一个新闻,有一些成人网站看到比特币的暴涨之后,开始打起了挖矿的主意。他们在自己网站中偷偷暗藏挖矿代码,而当用户访问这些网站之后,他们就会神不知鬼不觉地迅速运行这些挖矿代码,甚至在用户关闭浏览器之后,相关代码仍然能够继续运行并占用 CPU 资源。
今天这篇是篇翻译文章,作者 Ben 是一名国外的资深开发者。他看到这篇新闻之后,也陷入了沉思。换个角度,如果不是挖矿,而是把全世界的 Web 浏览器通过 websocket 连接在一起,那是不是就可以组成一台“超级计算机”,并利用这个超级计算机解决分布式问题?
于是他开始了新的尝试。聊聊架构对这篇文章进行了翻译,以下是全文。
写在前面
我们将讨论一个具有争议性的话题——如何从网站访客的浏览器中“偷”走计算资源。目前有很多讨论是关于如何利用浏览器来挖掘数字货币的,但我不想加入到这些话题的讨论当中,我只是想探讨一种有效利用计算资源的方式。
Web 浏览器执行代码的能力越来越强大。JavaScript 的发展、WebAssembly 的出现、对 GPU 访问能力的提升和线程模型的演变,这些因素组合在一起,让浏览器与计算机一样具备了强大的计算能力。随着浏览器数字货币挖矿机的崛起,我也在思考这样的一个问题:如何把全世界的计算资源整合成一个单独的实体——一台由网站访客的浏览器组成的超级计算机。
就像普通的计算机集群一样,这台超级计算机的所有计算节点在协调之下共同解决一个问题。但与普通的计算机集群不同的是,这些计算节点时临时性的(随着网站访客的来来去去),而且它们之前无法彼此对话(没有跨站点的请求)。
这是我想到的一个例子:
右边是超级计算机控制服务器。左边是访问某个网站的浏览器,它是这个超级计算机中的一个节点,上面还显示了它的 CPU 指标。
这个超级计算机要解决的问题是找出某个给定哈希值的原始值。从图上可以看出,总共有 23 个节点参与了计算,计算并比对了 380,204,032 个哈希值,其中美国的访客贡献了 50% 的处理能力。
代码实现
这里主要用 websocket 技术在服务器和计算节点之间建立持久连接。这些连接用于协调节点的行为,从而让它们成为相互协作的实体。websocket 可以传输代码和协作消息,让一切都成为可能。
websocket 的出现戏剧性地改变了 Web 客户端的行为。客户端连接到网站上,先执行预先定义好的 JavaScript,等建立起 websocket 连接之后,就可以执行其他任意 JavaScript 脚本。
下图右边是超级计算机控制服务器,左边是接收动态指令的 Web 客户端。
如果一款 App 使用了 WebView,JavaScript 就可以直接跑到 App 中,也就是说,通过 websocket 传输的代码可以跳过 WebView,直接进入 App 的领地。
下图右边是超级计算机控制服务器,左边是接收指令的 Web App。可以看到,指令直接渗透到了 App 层。
剩下的就没有什么新鲜的了。App 可以通过 C&C 协议(Botnet Command and Control)获取指令,网页在初次加载之后就可以动态获得 JavaScript 脚本,而 websocket 具有真正的动态性(不像 Ajax 的轮询拉取模式),可以跨多浏览器和设备运行,而且对运行环境有完全的访问权限。
所以,我们完全可以通过 websocket 向计算节点传输指令代码,当然也可以用来传递消息,实现分布式协调。
Crackzor.js
六年前,我基于 OpenMPI 开发了一款分布式密码破解器(ben.akrin.com/?p=1424),叫作 crackzor。
密码破解是一个非常典型的分布式问题,说起来很简单,就是通过排列组合字符猜出密码。我使用 JavaScript 重写了 crackzor,使用 websocket 替代了 OpenMPI。
不过,每一个分布式问题都是不一样的,crackzor 并不是解决所有问题的良方。crackzor 的魔力在于它的灵活性,它把一个字符排列组合空间拆分成很多个块,再把这些块分摊给计算节点。在给定了要解决的问题以及迭代的起始和结束位置之后,节点就可以开始工作,不需要再为它们提供字符排列组合,这样就不会出现网络带宽瓶颈问题。
第一个问题:如何最大程度利用节点的 CPU
JavaScript 默认使用的是单线程模型,代码通过 websocket 传送到客户端,默认情况下只使用了 CPU 的一个核。而现今的大部分计算机 CPU 都是多核的,所以,我们要想办法把这些 CPU 都利用起来。
于是救星出现了——Web Worker。HTML 5 提供了这一特性,极大简化了多线程的实现。不过,我们还需要解决一个问题。Web Worker 文档告诉我们要从文件加载脚本文件,但我们的代码是通过 websocket 传输过来的,并驻存在内存中,所以我们无法直接通过指定脚本文件的方式来执行代码。
我们通过把代码包装成一个 Blob 对象来解决这个问题:
var worker_code='alert( "this code is threaded on the nodes" );' window.URL=window.URL || window.webkitURL; var blob; try { blob=new Blob(\[worker_code\], {type: 'application/javascript'}); } catch (e) { window.BlobBuilder=window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder; blob=new BlobBuilder; blob.append(worker_code); blob=blob.getBlob; } workers.push( new Worker(URL.createObjectURL(blob)) ) ;
第二个问题:在节点间分配任务
Websocket 服务器承担了后续的大部分协调工作,它需要跟踪节点的接入和退出,以及某个节点是否在执行计算任务,并在有可用节点时给它们分配任务。
服务器需要一直处于运行状态,处理来自节点的连接。不过,这台超级计算机可能每天需要解决不同的问题。为此,我写了一个函数用来读取文件,并执行文件中的代码。这个函数通过一个进程来调用。
function eval\_code\_from_file { if( !file_exists("/tmp/code") ) { console.log( "error: file /tmp/code does not exist" ) ; } else { var code=read_file( "/tmp/code" ) ; code=code.toString ; eval( code ) ; } } process.on('SIGUSR1', eval\_code\_from_file.bind );
有了这个函数,下一次我就可以杀掉旧进程,然后使用新进程加载新代码。这要归功于 JavaScript 的灵活性,这种灵活性让我们可以在任意时刻运行任意代码,只要对运行环境有完全的访问权限。
要给节点分发任务也很简单,只要让客户端在连接到服务器时注册一个回调函数,然后在回调函数里执行代码即可。
比如客户端:
var websocket_client=io.connect("http://websocket_server.domain.com"); websocket_client.on( "eval_callback",function(data){data=atob(data),eval(data)}.bind ) ;
服务器端:
client_socket.emit( "eval_callback", new Buffer("alert('this code will run on the client');").toSt
到目前为止:
所有的临时节点(网站用户的 Web 浏览器)连接到 websocket 服务器上;
通过进程信号让 websocket 服务器执行新的代码;
新代码中包含了节点需要解决的新问题;
新代码告诉 websocket 服务器如何协调节点;
一旦某个节点解决了问题,接着处理下一个问题;
现在我们知道了如何利用 Web 浏览器来构建一台超级计算机。出于多方面的考虑,比如可读性、安全性和复杂性方面的问题,我不想把我的代码全部都公开出来。不过,如果有人感兴趣,可以联系我,我很乐意分享跟多的想法。
更多小建议
在拆分任务时,任务不能太大。因为节点都是临时性的,如果任务太重,极有可能发生中断。大部分 Web 浏览器会拒绝执行或终止执行太耗资源的代码,而小任务可以在几秒钟之内就完成,不会被打断。
使用 JavaScript 实现 MD5:https://gist.github.com/josedaniel/951664。
记录节点解决问题所使用的平均时间,把运行缓慢的节点排除在外,以免影响“超级计算机”的整体性能。
密货币劫持(cryptojacking),也称作挖矿劫持,是指未经授权使用别人的计算机挖掘加密货币。
通常,黑客通过让受害者点击电子邮件中的恶意链接,将加密货币挖矿代码加载到计算机上;或者使用JavaScript代码感染网站或在线广告,而JavaScript代码将在受害者浏览器内加载后自动执行。
无论通过哪种方式,挖矿代码将在后台运行,而毫不知情的受害者可以正常使用计算机。他们可能注意到的唯一迹象是计算机性能下降或执行滞后。
没有人知道黑客通过挖矿劫持开采了多少加密货币,但毫无疑问这种做法日渐猖獗。
基于浏览器的挖矿劫持正在快速增长。去年11月,据Adguard报告,浏览器内的挖矿劫持增长率为31%。Adguard研究发现,共有33000个网站运行挖矿劫持脚本,而这些网站每月的访问数量预计达到10亿。今年2月,Bad Packets Report发现了34474个运行Coinhive的站点。Coinhive是最受欢迎的JavaScript挖矿程序,也被用于合法的加密货币挖矿活动。
网络安全解决方案提供商WatchGuard Technologies的威胁情报分析师Marc Laliberte表示,“加密货币挖矿正处于初级阶段,还有很多发展和演变的空间。”他指出,Coinhive程序易于部署,并且在第一个月就创造了30万美元的价值。
“从那以后,Coinhive发展得很快。这样赚钱真的很容易。”
1月份,研究人员发现了Smominru加密货币挖矿僵尸网络,该蠕虫感染了超过50万台机器,主要集中在俄罗斯、印度和台湾地区。僵尸网络的目标是让Windows服务器挖掘门罗币(Monero)。网络安全公司Proofpoint估计,截至1月底,它已经创造了360万美元的价值。
挖矿劫持甚至不需要拥有重要的技术能力。根据Digital Shadows的报告《新淘金热:加密货币成为欺诈的新领域》,挖矿劫持工具包在暗网只卖30美元。
挖矿劫持越来越受黑客欢迎的一个原因是风险更低却能获得更多金钱。SecBI的CTO兼联合创始人Alex Vaystikh表示:“对于黑客来说,挖矿劫持是比勒索软件更廉价、更有利可图的替代品。”如果使用勒索软件,黑客每次感染100台计算机,或许只能让3个人付费。而使用挖矿劫持,被感染的100台计算机都可以用来挖掘加密货币。他解释说,虽然通过挖矿劫持和使用勒索软件获得的金钱可能一样多,但是挖矿可以不断地产生价值。
另外,挖矿劫持被发现和识别的风险也远低于勒索软件。挖矿代码将静默运行,并且可能很长时间不被发现;就算被发现,也很难追溯到源头。因为没有任何东西被盗或被加密,受害者没有什么动机去追溯。黑客倾向于选择Monero和Zcash等匿名加密货币,而不是比特币,因为很难追踪这些货币背后的非法行为。
黑客主要通过两种方式让受害者的计算机悄悄地挖掘加密货币。
一种方法是诱导受害者将挖矿代码加载到计算机上。通过类似网络钓鱼的方法完成劫持:受害者收到一封看似合法的电子邮件,诱导他们点击链接。这个链接会运行代码,将挖矿脚本加载到计算机上。受害者使用计算机时,挖矿脚本代码可以在后台运行。
另一种方法是在可以大量传播的网站或广告里植入脚本。一旦受害者访问被感染的网站或者点击浏览器弹出的广告,脚本将自动执行。没有代码存储在受害者的计算机上。
无论使用哪种方法,挖矿代码都会利用受害者的计算机挖矿,并将结果发送到黑客控制的服务器。
黑客通常会使用这两种方法来获取最大化的回报。Vaystikh表示:“攻击者会使用恶意软件技术作为备用,向受害者的计算机发送更可靠和持久的恶意软件。”例如,在100台为黑客挖掘加密货币的设备中,其中10%可能通过受害者设备上的代码产生收入,90%则通过他们的网络浏览器实现。
与大多数其他类型的恶意软件不同,挖矿劫持脚本不会损害计算机或者受害者的数据。它们窃取的是CPU处理资源。对于个人用户来说,计算机性能变慢可能只是一个烦恼。而对于企业来说,如果很多系统被劫持挖矿,可能会增加成本。为了解决问题,服务台和IT部门需要花费时间追踪性能问题并更换组件或系统。
挖矿劫持者很聪明,设计了很多方案来利用他人的电脑挖掘加密货币。大部分的方案并不新奇,其传播方式通常借鉴其他恶意软件(如勒索软件或广告软件)的方法。以下是一些真实发生的案例:
在今年的EmTech数字会议上,Darktrace讲述了一家欧洲银行的故事。这家银行的服务器出现了异常流量,在夜间运行缓慢,但是银行的诊断工具没有发现任何异常。Darktrac发现,在那段时间里有新服务器上线,而银行表示并没有这些服务器。最后,Darktrac对数据中心进行实地检查时发现,一名流氓员工在地板下建了一个加密货币挖矿系统。
3月份,Avast软件公司报告称,挖矿劫持者正在将GitHub作为恶意挖矿软件的宿主。他们找到合法的项目,从中创建一个分叉项目;然后将恶意软件隐藏在该分叉项目的目录结构中。挖矿劫持者通过使用网络钓鱼方案引诱用户下载该恶意软件,例如提醒更新Flash播放器或者伪装成一个成人游戏网站。
挖矿劫持者发现了一个rTorrent错误配置漏洞,无需进行XML-RPC通信验证即可访问一些rTorrent客户端。他们扫描互联网寻找未打补丁的客户端,然后在客户端上部署Monero挖矿软件。F5 Networks在2月份报告了这个漏洞,并建议rTorrent用户确保其客户端不接受外部连接。
这种恶意软件最早是由卡巴斯基实验室于2017年发现的,它是一款谷歌浏览器插件,使用Facebook Messenger来感染用户的计算机。最初,Facexworm用于传播广告软件。今年早些时候,趋势科技发现了多种面向加密货币兑换的Facexworm,并且能够传播加密货币挖矿代码。它仍然使用被感染的Facebook帐户来传播恶意链接,但也可以窃取网络帐户和凭证,从而允许它将挖矿劫持代码植入到这些网页。
5月份,360安全卫士发现了可以迅速传播的挖矿劫持程序WinstarNssmMiner。这个恶意程序的特别之处在于,卸载它会让受害者的计算机崩溃。WinstarNssmMiner首先启动svchost.exe进程并向其植入代码,然后将该进程的属性设置为CriticalProcess。由于计算机将其视为关键进程,因此一旦强制结束该进程,计算机就会蓝屏。
如何预防挖矿劫持?
如果遵循这些步骤,可以最大限度地降低公司被劫持挖矿的风险:
Laliberte认为培训会有帮助,网络钓鱼将继续成为攻击者发送各种恶意软件的主要方式。而针对通过访问合法网站自动执行挖矿劫持的方式, Vaystikh表示,培训效果不佳,因为你没办法告诉用户不能访问哪些网站。
由于挖矿劫持脚本通常通过网络广告进行传播,因此安装广告拦截器可能是阻止它们的有效手段。Ad Blocker Plus等广告拦截器具备检测挖矿脚本的功能。Laliberte推荐No Coin和MinerBlock等可以检测和拦截挖矿脚本的浏览器插件。
许多端点保护/防病毒软件供应商已经添加了检测挖矿程序的功能。Anomali安全策略总监Travis Farral说:“防病毒是终端预防挖矿劫持的方法之一。如果这个程序是已知的,那就很可能被检测出来。”他补充道,需要注意的是挖矿程序的编写者正在不断改变技术,避免被端点检测到。
如果已经确定一个网站正在运行挖矿脚本,请确保所有用户不会再访问该网站。
一些攻击者正在使用浏览器恶意插件或者被感染的合法插件来执行加密货币挖矿脚本。
自带设备(BYOD)策略可以有效预防非法的加密货币挖矿行为。Laliberte认为,MDM可以长期保持自带设备的安全。MDM解决方案可以帮助企业管理用户设备上的应用和插件。MDM解决方案倾向于面向大型企业,小型企业通常负担不起。不过,Laliberte指出,移动设备不像台式电脑和服务器那么危险。因为移动设备的处理能力往往较低,所以对黑客来说并不是很赚钱。
?
与勒索软件一样,尽管企业竭尽全力去阻止挖矿劫持,还是可能受到影响。企业可能很难检测挖矿劫持,特别是在只有少数系统受到损害的情况下。以下是有效的方法:
SecBI的Vaystikh表示,有时候,挖矿劫持的第一个迹象就是服务台收到用户关于计算机性能下降的抱怨。企业应该对此予以重视,并进一步进行调查。
服务台应该寻找的其他信号是可能导致CPU或散热风扇故障的系统过热。Laliberte指出,因为CPU使用率过高,系统过热会造成损坏,并可能缩短设备的使用周期。对于平板电脑和智能手机等移动设备更是如此。
Vaystikh认为,企业网络中的挖矿劫持比家庭网络更容易检测,因为大多数消费者端点解决方案都无法检测到它。挖矿劫持很容易通过网络监控解决方案进行检测,而大多数企业都有网络监控工具。
不过,即便拥有网络监控工具和数据,很少有企业可以有工具和能力来分析这些信息,从而进行准确的检测。例如,SecBI开发了一个AI解决方案来分析网络数据,并检测挖矿劫持和其他特定威胁。
Laliberte认为,网络监测是检测挖矿劫持的最佳选择。审查所有网络流量的网络周边监控方案,更有可能检测出挖矿行为。许多监控解决方案将深入检测每一个用户,以便确定哪些设备受到影响。
Farral表示,如果企业服务器配备了靠谱的过滤器来监控出口端点的网络连接请求,那么可以很好地检测出恶意挖矿软件。不过,他警告说,挖矿软件的编程者有能力改写恶意软件,来规避这个检测方法。
Farral警告说,挖矿劫持者正设法在Web服务器上植入一些Javascript代码。服务器本身并不是其攻击目标,但是任何访问该网站的人都有感染的风险。他建议企业定期监视Web服务器上的文件更改情况或者自行更改页面。
挖矿劫持的传播方式和挖矿代码本身在不断发展。Farral表示,了解挖矿劫持软件和劫持行为可以帮助企业检测挖矿劫持。一个精明的企业会跟进事情的最新进展。如果掌握了挖矿劫持的传播机制,就知道某个特定的开发工具包正在发送挖矿代码。保护开发工具包,也将成为预防挖矿劫持的措施。
?
对于浏览器内的JavaScript劫持攻击,一旦检测到挖矿劫持,就应该关闭运行恶意脚本的浏览器标签页。IT部门应该注意发送脚本的网站URL,并更新企业的网页过滤器进行拦截。企业可以考虑部署反挖矿工具,帮助防止未来的攻击。
Laliberte表示,如果一个插件感染了浏览器,关闭标签页将无济于事。这时应该更新所有插件,并删除不需要或已经感染的插件。
借助这些经验更好地了解攻击者是如何危害系统的。更新企业的用户、服务台和IT培训内容,以便他们更好地识别挖矿劫持并采取相应的行动。
来源:Odaily星球日报
本文翻译自 www.csoonline.com ?
原文链接:https://www.csoonline.com/article/3253572/internet/what-is-cryptojacking-how-to-prevent-detect-and-recover-from-it.html????
*请认真填写需求信息,我们会在24小时内与您取得联系。