使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包

杂谈

最近在做挖矿监测相关的安全功能,可以从两个维度去监测挖矿木马

  • 威胁情报(DNS查询域名、IP)
  • 挖矿行为(主流的Stratum协议)

威胁情报

威胁情报之前的一文中已经做了分析,只需要一定的积累就好了

挖矿行为

威胁情报如果更新的不及时,大概率会出现漏网之鱼,或者说威胁情报出来我们可以进行回溯,去查之前的日志是不是出现了挖矿行为,但是这样并不能及时,如果要及时的报出挖矿木马漏洞,我们必须要对其行为进行监测,那么就涉及到了Stratum协议(TCP协议的一种)

挖矿流程

主要就是矿池与矿机二者之间的交互

图片[1]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

相关参数

以下是标准Stratum协议中的method参数值,很多基于Stratum协议会略有不同,但是格式还是高度一致

矿机->矿池

Method字段功能
mining.authorize矿机登录认证
mining.extranonce.subscribe向矿池表面矿机支持set_extranonce方法
mining.get_transactions获取作业ID
mining.submit矿机提交挖矿结果
mining.suggest_difficulty挖矿难度的偏好
mining.suggest_target挖矿目标的偏好
mining.capabilities(DRAFT)矿机通知矿池其拥有的能力和可选项

矿池->矿机

Method功能
client.get_version获取矿机版本信息
client.reconnect等待指定时间(s)后重连
client.show_message矿机展示信息
mining.notify响应矿机的mining.subscribe请求
mining.set_difficulty矿池更新难度
mining.set_extranonce矿池更新extranonce
mining.set_goal(DRAFT)通知矿机未来的工作目标(尚未使用)

使用Wireshark分析

我们这里主要使用的nicehash的矿池配合NBMiner_Win进行挖矿,然后使用Wireshark进行抓包分析

nicehash挖矿设置

nicehash登录后,选择挖矿>添加新矿机

图片[2]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

然后选择Stratum生成器,右侧的算法选择DaggerHashimoto,位置任意

图片[3]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

NBMiner设置

我们修改start_etc.bat文件

@cd /d "%~dp0"
nbminer -a ethash -o [Stratum URL地址] -u [用户名] -log
pause

我这里的就是这样的

图片[4]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

如果你在国内挖矿的话,可能会连不上,这时需要科学上网(一般使用Clash)并设置代理参数,由于Clash的代理端口为7890,命令则改为

@cd /d "%~dp0"
nbminer -a ethash -o [Stratum URL地址] -u [用户名] -log --proxy 127.0.0.1:7890
pause

这么挖矿是没问题的,但是很多人反馈clash代理后,wireshark就抓不到相关的包了,因此,后面的wireshark抓包部分教程,我们这里直接使用阿里云海外服务器,这样就不需要配置代理了,同时也不用害怕抓不到包了!

图片[5]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

租用海外GPU服务器

我们这里租用阿里云的GPU服务器,地点选择海外的

图片[6]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

我们这里选择澳大利亚的服务器,里面有一块GPU,目测应该够了

图片[7]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

系统我们这里预装windows的

图片[8]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

然后确定订单就好了

图片[9]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

配置好相应的密码,创建实例

图片[10]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

登录windows服务器

下面的教程在该服务器完成

图片[11]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

我们需要将挖矿程序和wireshark都上传到服务器

图片[12]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

安装Cuda驱动

如果没有Cuda驱动,就无法进行挖矿。

图片[13]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

Wireshark抓包

下载完成后上传到服务器上并进行安装,安装完成后

我们先打开wireshark,然后打开挖矿程序

图片[14]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog
图片[15]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog
图片[16]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

Pcap包

命名方式:ETH挖矿内核_矿池_tcp端口

图片[17]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog

您可以通过搜索端口的方式,例如查看14444端口,tcp.port==14444来查看详细的挖矿过程

© 版权声明
THE END
喜欢就支持一下吧
点赞27赞赏 分享
评论 共3条

请登录后发表评论