关于Dr.Mine
Dr.Mine是一款功能强大的Node脚本,该脚本旨在帮助广大研究人员以自动化的形式检测浏览器内的挖矿(加密)劫持行为。检测浏览器中发生的事情,最准确方法是通过浏览器本身。因此,Dr.Mine使用了puppeteer来自动化捕捉浏览器发送的任何在线加密货币挖矿请求。当检测到任何与在线加密货币挖矿相关的请求时,该工具都会标记相应的URL和正在使用的加密货币挖矿工具。因此,无论代码是如何编写或混淆的,Dr.Mine都会捕捉到它。其中,加密货币挖矿工具列表是从CoinBlockerLists获取的,结果也会保存到文件中以供研究人员后续使用。
工具运行机制
1、首先,该工具会直接对通过命令行传递进来的单个URL地址进行解析;
2、处理第一个请求页面中所有发现的同源链接地址;
3、所有的配置选项都存储在config.js文件中,以便用户修改;
4、为了减少额外的带宽和资源消耗,工具不会对如字体、图像、媒体和样式表之类的资源发送请求;
值得一提的是,该工具还使用了bluebird来提升工具的运行速度和效率。
工具依赖&安装
下列三行命令可以帮助广大研究人员在Arch发行版系统中完成Dr.Mine的安装和配置:
pacman -S nodejs npm git clone https://github.com/1lastBr3ath/drmine.git && cd drmine npm install
需要注意的是,请确保你使用了Node v7.6.0+版本环境。
工具使用
Dr.Mine支持接受一个URL地址或一个文件作为输入参数,文件中则需要包含有效的URL地址,使用样例如下:
node drmine.js list.txt
其中的list.txt内容样例如下:
http://cm2.pw http://cm2.pw/xmr/ https://example.com/
如果需要直接通过命令行解析目标URL地址的话,可以使用下列命令:
node drmine.js http://cm2.pw/xmr/
工具运行截图
项目地址
Dr.Mine:【GitHub传送门】
参考资料
https://github.com/GoogleChrome/puppeteer
https://gitlab.com/ZeroDot1/CoinBlockerLists
https://github.com/petkaantonov/bluebird
https://nodejs.org/en/download/package-manager/