杂谈
最近在做挖矿监测相关的安全功能,可以从两个维度去监测挖矿木马
- 威胁情报(DNS查询域名、IP)
- 挖矿行为(主流的Stratum协议)
威胁情报
威胁情报之前的一文中已经做了分析,只需要一定的积累就好了
挖矿行为
威胁情报如果更新的不及时,大概率会出现漏网之鱼,或者说威胁情报出来我们可以进行回溯,去查之前的日志是不是出现了挖矿行为,但是这样并不能及时,如果要及时的报出挖矿木马漏洞,我们必须要对其行为进行监测,那么就涉及到了Stratum协议(TCP协议的一种)
挖矿流程
主要就是矿池与矿机二者之间的交互
![图片[1]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221062255962.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
相关参数
以下是标准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](https://static.iculture.cc/wp-content/uploads/2022/02/20220221062842211-1024x394.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
然后选择Stratum生成器
,右侧的算法选择DaggerHashimoto
,位置任意
![图片[3]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221063015568-1024x772.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
NBMiner设置
我们修改start_etc.bat
文件
@cd /d "%~dp0"
nbminer -a ethash -o [Stratum URL地址] -u [用户名] -log
pause
我这里的就是这样的
![图片[4]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221063243183-1024x85.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
如果你在国内挖矿的话,可能会连不上,这时需要科学上网(一般使用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](https://static.iculture.cc/wp-content/uploads/2022/02/20220221063521174.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
租用海外GPU服务器
我们这里租用阿里云的GPU服务器,地点选择海外的
![图片[6]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221075602934-1024x417.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
我们这里选择澳大利亚的服务器,里面有一块GPU,目测应该够了
![图片[7]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221081349111-1024x493.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
系统我们这里预装windows的
![图片[8]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221081427827-1024x315.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
然后确定订单就好了
![图片[9]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221081527886-1024x486.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
配置好相应的密码,创建实例
![图片[10]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221092356472-1024x476.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
登录windows服务器
下面的教程在该服务器完成
![图片[11]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221082726918-1024x612.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
我们需要将挖矿程序和wireshark都上传到服务器
![图片[12]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221082907564-1024x616.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
安装Cuda驱动
如果没有Cuda驱动,就无法进行挖矿。
![图片[13]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221094114301-1024x584.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
Wireshark抓包
下载完成后上传到服务器上并进行安装,安装完成后
我们先打开wireshark,然后打开挖矿程序
![图片[14]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221095137952-1024x624.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
![图片[15]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221095326405-1024x596.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
![图片[16]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221095944187-1024x594.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
Pcap包
命名方式:ETH挖矿内核_矿池_tcp端口
![图片[17]-使用Wireshark抓包分析挖矿行为——Stratum协议 附pcap包-FancyPig's blog](https://static.iculture.cc/wp-content/uploads/2022/02/20220221112714286.png?x-oss-process=image/auto-orient,1/format,webp/watermark,image_cHVibGljL2xvZ28ucG5nP3gtb3NzLXByb2Nlc3M9aW1hZ2UvcmVzaXplLFBfMTA,x_10,y_10)
您可以通过搜索端口的方式,例如查看14444端口,tcp.port==14444
来查看详细的挖矿过程
- 最新
- 最热
只看作者