Código muito suspeito em javascript - Recebi de um amigo um link muito suspeito para o site iinet.com, me chamou a atenção porque utiliza o protocolo HTTP. Na página principal deste site, outro link remete à página do site easystreet.com, que também utiliza o protocolo HTTP. Realizei uma pesquisa no whois.net e o domínio iinet.com foi localizado, mas o domínio easystreet.com não foi localizado. Foi então que decidi inspecionar o código da página inicial de cada um do domínios e me chamou a atenção o código abaixo, encontrado na página inicial do domínio easystreet.com:
<!doctype html>
...
<link rel="pingback" href="http://easystreet.com/xmlrpc.php">
...
<script data-avast-pam="y" type="text/javascript" name="AVAST_PAM_submitInjector">
(function _submitInjector() {
var f = document.querySelectorAll("form")[0]; // eslint-disable-line no-undef
if (!f._avast_submit) {
f._avast_submit = f.submit;
}
try {
Object.defineProperty(f, "submit", {
get: function get() {
return function (prev_submit) {
prev_submit.call(this);
if (this._avast_inside_submit) {
return;
}
this._avast_inside_submit = true;
var evt = document.createEvent("CustomEvent");
evt.initEvent("scriptsubmit", true, true); // bubbling & cancelable
this.dispatchEvent(evt);
delete this._avast_inside_submit;
}.bind(this, this._avast_submit);
},
set: function set(submitFunc) {
this._avast_submit = submitFunc;
}
});
} catch (ex) {
// ignored
}
})();
</script>
...
</html>
Eu fiquei surpreso quando fiz uma pesquisa acerca da existência de algum arquivo do Avast denominado PAM e encontrei um arquivo C:\ProgramData\AVAST Software\Avast\pam\pam.json contendo dados como abaixo:
{
"json_version": 14,
"update_frequency": 432000,
"services": [
{
"version": 8,
"icon_url": "https://pamcdn.avast.com/pamcdn/icons/facebook_com.png",
"popular": 1,
"url": "facebook.com",
"login_url": "https://www.facebook.com",
"name": "Facebook"
},
{
"version": 8,
"icon_url": "https://pamcdn.avast.com/pamcdn/icons/instagram_com.png",
"popular": 1,
"url": "instagram.com",
"login_url": "https://www.instagram.com/accounts/login/",
"name": "Instagram"
},
{
"version": 12,
"icon_url": "https://pamcdn.avast.com/pamcdn/icons/imdb_com.png",
"popular": 0,
"url": "imdb.com",
"login_url": "https://www.imdb.com/registration/signin",
"name": "IMDB"
},
... (centenas de outros)
}
Eu não possuo conhecimento aprofundado de javascript, mas a existência do pingback (<link rel="pingback" href="http://easystreet.com/xmlrpc.php">) me levantou a suspeita de que este seja um exploit destinado à um ataque DDoS ou coisa pior como a coleta de credenciais de acesso dos usuários que cliquem nos links que levem às páginas do domínio easystreet.com, por isto eu venho aqui pedir a ajuda dos amigos que possuem um maior conhecimento de javascript.
Desde já eu agradeço por qualquer colaboração.
Lobo
"Sempre aprendendo..."