Search
Write a publication
Pull to refresh

Волшебный триптих (про информационную безопасность 3 святых всея Рунета)

Несколько лет уже существующий www.viruslist.com обзавелся новыми зеркалами www.securelist.com и www.securelist.ru. Владельцем новоявленного триптиха является “Лаборатория Касперского”, ведущий производитель систем защиты от вредоносного и нежелательного ПО, хакерских атак и спама (в этот же портал влился и www.spamtest.ru господина Ашманова). Главным редактором сайта стал Александр Гостев, руководитель Центра глобальных исследований и анализа угроз “Лаборатории Касперского”.

Как это обычно бывает в российском сегменте информационной безопасности, о безопасности веб-ресурса “про безопасность” можно слагать песни — как говорил известный поэт-песенник, “столько песен сложено, слажаю еще одну…”

Давайте посмотрим, чему может нас научить этот на самом деле замечательный информационный портал. Во-первых, пароли пользователей на нем хранятся в открытом виде, что будет весьма приятно тому, кто доберется до базы данных (интересно, пароль администратора сайта тоже в открытом виде? в таблице users?). Такой вывод можно сделать, банально запросив утерянный пароль:

image

Итак, урок от avschool №1 — храните пароли пользователей в Интернет-базах данных в открытом виде, чтобы их было легче украсть и использовать, когда украдете.

Кстати, как там поживают пользователи? Как и на всяком форуме, здесь есть страничка с информацией о пользователях:

image

Адрес страницы с пользовательским профилем: “http://www.securelist.com/ru/userinfo/номер_UID_пользователя“. Путь к профилям статичен и информацию о пользователях можно собрать с помощью автоматических средств (благо разметка стилей позволяет быстро автоматизировать процесс). Немного посканировав, можно увидеть, что пользователи добавлялись блоками (видимо для разных исходных сайтов — spamtest.ru, viruslist.com). Текущие регистрации открыты с позиций с номерами 19000.

В процессе регистрации пользователю предлагают указать два имени — одно для наглядного отображения на этой странице и еще одно в качестве имени учетной записи (login) для входа… Контроля качества пароля при этом нет. Контроля совпадения имени учетной записи и отображаемого имени пользователя также нет. Зачем это нужно? Резонный вопрос в ответ — а зачем тогда различать эти имена? Думаете, чтобы труднее было угадать “login” для входа? Запомним в уме этот коварный ход и смотрим дальше.

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

image

Дальше — интереснее. Вот, что получается при вводе несуществующего имени учетной записи:

image

Сейчас будет тест на внимательность:

image

Да-да-да. Есть целых три варианта ответов: “Не указан пароль!”, “Неправильно введен логин или пароль!”, “Неправильный пароль!“. Если имя учетной записи правильное, а пароль нет — нам выдадут сообщение, подтверждающее корректность имени учетной записи — “Неправильный пароль!“…

Урок №2 — давайте автоматическим переборщикам паролей шанс. Можно даже не писать свой — достаточно использовать THC-Hydra (у этой старушки есть все необходимое). Постойте, куда же Вы? А-а-а… писать переборщик паролей? Ну, тогда учтите, что и cookie на этом сайте выставляют очень удобным для тотального опробования образом. Как? Давайте немного углубимся в дебри веб-аутентификации — насколько она здесь “bullet-proof”?

Как только веб-браузер подключается к сайту www.securelist.com, ему тут же отдают следующий набор cookie:

VLUserkaspru = _
uid = AAAAAkpkaNy0aU4CQQnfAg==


Параметр uid — это порядковый номер сеанса работы с сайтом, кодированный с помощью алгоритма BASE64:

00 00 00 02 4A 65 AB 57 70 CD 77 8C 0C 37 E1 02 ….Je.Wp.w..7…

Параметр VLUserkaspru заполняется только после успешной авторизации и состоит из двух частей — номера пользователя (он полностью совпадает с номером в страницах профилей — см.выше) и авторизационной части:

VLUserkaspru = 19434:19HsMQI/mz8hE


Самое интересное — это распределение значений параметра “uid”. Первые 4 и один последний байты неизменны, каков бы ни был посетитель. Если последовательно запрашивать значения uid, то изменяться будут только 3 байта из 16:

вариант № 1:

00000007: 88 57
0000000D: 3E 37
0000000E: D1 E1


вариант № 2:

00000007: 57 1F
0000000D: 37 30
0000000E: E1 3F


вариант № 3:

00000007: BF 21
0000000D: 23 0E
0000000E: DD 12


Получить вместо 2^128 всего лишь 2^24 вариантов… С учетом того, что это идентификатор работы одного из пользователей… Готов урок № 3 — делайте угадываемые номера сеансов и простые параметры cookie, они помогут при фиксации сеанса.

Так что, дерзайте. Тем более, что для нового автора блога надо набрать всего лишь 100 очков за комментарий… пользователи нам помогут. (-:

PS. За отдельную плату могу предоставить “аналитикам по ИБ” сведения о количестве пользователей сайта, использующих пароль “123456″.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.