Category: it

manandmoon

Про фишинг

Здравствуйте, дорогие оставшиеся в живых френды!
Федеральная Служба Опасности кажется возвращается в эфир после долгого перерыва. Не то что мы тут фигней страдали, но занимались работой, далекой от хакеров и взломов. А теперь вот вернулись.

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

Вот если например взять любую ссылку и открыть ее в новом окне, то новой странице передастся refer(r)er. Оказывается, и это и есть та самая фича, передастся еще и объект window.opener указывающий на предыдущую страницу. Делать с объектом особенно ничего нельзя, поскольку живет он на другом сайте, кроме одного: можно перенаправлять на другой адрес. Вот так:

if (window.opener) {
  window.opener.location = 'http://some.other.site/';
}


Какого хрена эту возможность вставили, я не знаю, хороших применений я тут придумать не могу. А негативное пожалста: берешь сайт типа ЖЖ, Эвернота или веб-почты, желательно с часто слетающей авторизацией, постишь туда ссылку на свой злой сайт. На злом сайте какие-нить котики для отвлечения внимания, и джаваскрипт, перенаправляющий исходный сайт на фейковую страницу авторизации. Посмотрит пользователь котиков, вернется домой, поцокает языком да и, глядишь, попробует назад залогиниться...

Простая демонстрация. Вместо фейкового логина идет на логин lj.rossia.org

Интересный момент - если фейковая страница не устанавливает титул, то старый титул остается на месте, то есть визуально вообще ничего не прыгает и пользователя не пугает

Как бороться. Тут авторы браузеров еще не пришли к общему знаменателю. Обсуждение идет, добавление rel="noreferrer" в код пользовательских ссылок вроде стирает opener на всех браузерах.

<a href="http://some.site/" rel="noreferrer">

Бонус: Referer тогда тоже не передается, как следует из названия. Иногда можно пользоваться rel="nofollow"(вы думали оно нужно только для оптимизации поисковиков?) но только на вебките, на файрфоксе не работает.
manandmoon

Тест Тьюринга

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



Обсуждения звонков можете почитать, если погуглите телефон (484) 589-5611



Записи разговоров с роботом


Статья в блоге журнала Time


Сайт компании Premier Health Agency, от лица которой идет спам (сайт снесли, но кэш гугля помнит)



Update:
Разоблачение:


posted on dreamwidth [comment count unavailable comments]
manandmoon

Джаваскрипт антидебаг

Очередная фенька для браузеров. Работает в Chrome, Safari и Firebug-e (но не в новом встроенном файрфоксовском дебаггере).
var x = {};
x.__defineGetter__('__proto__', function() {
  console.log('Inside debugger');
  return {};
});
При попытке просмотра переменной x в дебаггере или консоли, срабатывает console.log При нормальном же использовании x в скрипте все остается тихо (конечно, если не лезть в x.__proto__ специально). Понятно, что в настоящем антидебаге вместо вывода на консоль надо подменять значение x или вовсе его стирать. Если кому интересна тема скрытия от браузерных отладчиков, то самый урожайный код в Вебките находится в файле InjectedScriptSource.js. В частности, кусок, отвечающий за описанную фичу, выглядит так:
for (var o = object; injectedScript._isDefined(o); o = o.__proto__)
    this._generateProtoPreview(/** @type {!Object} */ (o), preview, propertiesThreshold, firstLevelKeys, secondLevelKeys, isTable);
posted on dreamwidth [comment count unavailable comments]
manandmoon

Carberp

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

Желающие ознакомиться могут скачать архив по адресу ниже. Пароль Kj1#w2*LadiOQpw3oi029)K Oa(28)uspeh
mega.co.nz.
Yandex.Disk

Если не хочется качать столько байтов, то для удобства кто-то залил часть проекта на github:
https://github.com/hzeroo/Carberp/tree/master/source%20-%20absource/pro/all%20source

Другие энтузиасты заботливо перевели найденые текстовые файлы на английский язык:
https://docs.google.com/file/d/0B9FW2svQegfPdWJnZ2Z4eDB0djg/edit?pli=1


Охочие до жареных фактов безопасники набросились на код и делятся первыми впечатлениями:

Разбор модуля anti-rapport, обходящего защиту от фирмы Trusteer (от Adlice)

Обзоры от месье Хylitolа с разоблачением уязвимостей в веб-админке и рабочим эксплоитом (Часть 2, Часть 3)
Статья в Коммерсанте об аресте преступных программистов, участвовавшей в разработке софта

Обсуждение слива исходников на kernelmode.info

Пригодятся, возможно, также старые статьи от ESET:

Carberp Gang Evolution: CARO 2012 presentation
Rovnix bootkit framework updated
Win32/Carberp: When You’re in a Black Hole, Stop Digging
Carberp Evolution and BlackHole

Update:
 eas7 обнаружил в свалке личную инфу одного из авторов.

Update2:
обнаружилА


Нахуй руки оторву за такую писанину! -
коментарий в коде Carperp
 

posted on dreamwidth [comment count unavailable comments]
manandmoon

Принцип Керкгоффса и другие

Есть в инфобезопасности знаменитое правило, впервые предложенное еще в 19ом веке голландским криптографом Огюстом Керкгоффсом : "защищенность системы не должна опираться на ее закрытость" То есть, защита не должна предполагать секретности алгоритмов или архитектуры, вся необходимая секретность должна быть сконцентрирована на малом пятачке: в пароле или ключе. Клода Шеннон сформулировал особенно четко: "враг знает систему"

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

Если приглядеься, то мы обнаружем что мир кишит системами, которые наругшают принцип Керкгоффса самым вопиющим образом. и неплохо себя чувствуют: алгоритмы ранжирования поисковиков, трояны, напичканные ассемблерными наворотами, DRM, Скайп итп. Все так или иначе опираются на то, что потенциальный противник, будь то сеошники или внтивирусы не знает деталей именно что алгоритма. Во многом эта вынуждкннвя мера: либо секретный ингредиент никак не сосредоточишь в изящном 512-битном формате, как в случае поисковиков, либо его просто невозможно полностью утаить, ибо нет в системе места, куда враг не мог бы при желании добраться. Вопрос, тем не менее, остается: как им так удается?

Здесь следует вспомнить, что и Керкгоффс и Шеннон работали на военщину, имеющую практически неограниченные ресурсы с одной стороны, и самые строгие требования к защите, с другой. В таких экстремальных условиях лучше сразу предполагать худшее: везде шпионы, все чертежи украдены, на разведку противника работают лучшие умы государства (хорошо, если его государства, а не твоего). Но мы-то не военные, и цели у нас поскромнее и враги попроще.

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

Во-первых, имеем принцип медведя: важно бежать не быстрее медведя, а быстрее любимого конкурента.

Во-вторых, имеем принцип палева тем: чем тема выгоднее, тем меньше ее палят. Во вражьем стане конкурентов тоже не любят.

Поясню на примере. Пусть у нас есть сайт с набором сервисов: магазин, партнерская программа, форум поддержки, отзывы пользоветелей, и пусть у нас есть новый алгоритм определения злохакеров по небритой роже в вебкамере. Как и где нам этот алгоритм выкатывать?

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

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

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


Иллюстрация 1. Злохакер.

Вообще, стык безопасности и экономики - почти непаханное поле, изучать и изучать. Но не все сразу.

posted on dreamwidth [comment count unavailable comments]
manandmoon

Хозяйке на заметку

Только что узнал что в гугльхроме есть полноценный удаленный отладчик

Шаг первый

Запускаем Хром с параметром remote-debugging-port

Windows:
chrome.exe --remote-debugging-port=9222

MacOS:
/Applications/Google\ Chrome.app/Contents/Mac/Google\ Chrome --remote-debugging-port=9222

Шаг второй

Либо запускаем браузер на другом компе, либо если нужно на том же, то запускаем Хром из другой пользовательской директории

Windows:
chrome.exe --user-data-dir=/my/dir

MacOS:
/Applications/Google\ Chrome.app/Contents/Mac/Google\ Chrome --user-data-dir=/my/dir

Шаг третий

Подсоединяемся к заданному порту на удаленной машине
http://remote.machine.address:9222/

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

Более того, отладчиком можно полностью управлять через websockets и javascript, что дает возможность автоматически тестировать веб-приложения, создавать простых веб-ботов и прочие ништяки

Подробности на гугловском сайте
posted on dreamwidth [comment count unavailable comments]
manandmoon

Хакинг Домофонов

Руководства по программированию популярных моделей домофонов Linear

A100 (многоквартирный дом, один вход)
А500 (многоквартирный дом, два входа)
A1000Plus/A2000Plus (многоквартирный дом, многодверный)
RE-1 (отдельный дом)
RE-2 (отдельный дом)


Чтоб войти в режим настройки, надо нажать одновременно либо 0 и 2, либо 0 и #, и ввести админский пароль. Дефолтный админский пароль везде 123456. Даже если его вдруг сменили, то все модели предусматривают возможность подключения по телефонной линии. У кого остался на антресолях пыльный модем на 11500 может позвонить на домофон и попробовать забрутфорсить.  

Дальше уже на что воображения хватит: можно открывать-закрывать двери, добавлять-убирать-переименовывать жильцов, составлять смешные системные сообщения.

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


posted on dreamwidth [comment count unavailable comments]
manandmoon

Распознавание лиц

Как обмануть программы, распознающие лица 
Боевая раскраска и причесон, как у Леди Гаги, очень даже помогают. При определенной ловкости можно сделать так, чтоб софтвер вообще лица на фотографии не нашел.

Статья на ABC News.
Статья в журнале Dis
posted on dreamwidth [comment count unavailable comments]