Netskope Threat Research Labs has detected a browser-based coin miner named Coinhive resident in Microsoft Office 365 OneDrive for Business. The Coinhive miner was installed as a plugin in an SSL website. The tutorial webpage hosted on the website was saved to the cloud and then shared within an organization. The presence of browser-based coin miners can consume high computing power and resources without the user’s consent, thereby slowing down CPU performance. Netskope Threat Protection detects the Coinhive miner as Application.BitCoinMiner.SX
As an integral part of threat research, we constantly monitor updates and trends of coin miners. In this ongoing trend of coin mining, a website named ‘Coinhive’ launched a browser plugin script that can perform mining when a web page is loaded, without the need to install software. This coin mining method is intended to provide a new revenue stream that is similar to the ad-revenue model generated by displaying/loading ads while visiting a website.
This surreptitious install of a coin miner in a corporate environment follows with previous publication of Zminer that downloads second stage coin miners from Amazon S3 and also uses the same for data exfiltration. During the analysis of Zminer on August, the market cap of Cryptocurrency was $150 billion. It has now drastically increased to a $200 billion valuation as shown in Figure 1.
Figure 1: Cryptocurrency market cap
Discovery
Earlier this month, Netskope Threat Protection detected a file named coinhive.min.js in Microsoft Office 365 OneDrive for Business. We examined the functionality and found that it is a browser-based plugin coin miner. Using Netskope Discovery and additional details from the Netskope Active Introspection alert, we found the presence of the Coinhive miner in a website named https://www.sky-future[.]net.
An excerpt of the Coinhive code seen in the website is shown in Figure 2.
Figure 2: Coinhive miner in the website, https://www.sky-future[.]net
Overview of Coinhive
Coinhive is a JavaScript library launched in 2017. It allows a website to use the client computer to mine Monero cryptocurrency offering site owners an alternative to online advertising. The money mined by the browser-based hosted scripts is credited from Coin Hive to the website Owners/Administrators. Using Coinhive, one can get the number of hashes solved for a user account, withdraw hashes, verify tokens and programmatically create short links.
Unlike popular miners, Coinhive does not provide any specific information about the account owner as per the privacy terms.
The mining options provided by the Coinhive constructor is shown in Figure 3.
Figure 3: Coinhive Constructor options
Authedmine
Coinhive miner browser plugin is simple and easy to install. This plugin has been lately adopted by several websites, thus raising concerns about the usage of CPU power and resources without the user’s consent. Approximately, 2.2 percent of the top 100,000 websites on the Alexa list have been reported to be mining through user PCs. To address this, Coinhive launched Authedmine, which enforces an explicit opt-in consent from the end user to run the miner. If the user approves the permission, an opt-in token is stored in a cookie to perform the mining operation. However, this is not a mandatory implementation, thus making all previous solutions to continue to work without the explicit opt-in consent as shown in Figure 4.
Figure 4: Loading the Coinhive miner
Analysis of the Coinhive miner
On visiting the website, https://www.sky-future[.]net, a GET request was called to the Coinhive miner plugin from the browser as shown in Figure 5.
Figure 5: GET request called to the coin hive miner plugin
Since the website owner did not implement the Authedmine option, no explicit opt-in consent is displayed while visiting the website. Hence, any user from the organization is unaware that the corporate machine is used for mining without their knowledge or consent.
The Coinhive config present in the script “coinhive.min.js” contained a list of websocket shards in to perform the mining Figure 6.
Figure 6: Coinhive websocket shards
Using the user key mentioned in Figure 2, Coinhive begins the worker job as shown in Figure 7.
Figure 7 : Worker job of Coinhive