Mail.RU раскрывает номера телефонов

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


Досадный баг ВКонтакте

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


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

HTTP Authentication Downgrade


В протоколе HTTP, согласно RFC2617, предусмотрены два метода аутентификации: базовый (Basic) и дайджест (Digest). При использовании базового метода аутентификации имя пользователя и пароль передаются в кодированном виде с использованием алгоритма base64, что в случае компрометации канала связи между клиентом и веб-сервером приводит к компрометации учетной записи, которая использовалась при аутентификации. Второй метод аутентификации (digest) базируется на использовании однонаправленного алгоритма хеширования MD5 т.е. пароль не передается открытым текстом. Однако, при реализации аналогичных угроз метод дайджест не защищен от атак типа "повторное использование" (replay attacks).

Посмотрев на такое безобразие, компания Microsoft заботливо добавила дополнительные методы аутентификации: встроенная проверка подлинности Windows (NTLM Authentication) и проверка подлинности в системе .NET Passport (насколько я могу судить это порабощение мира, в т.ч. при прочих стараниях, не увенчалось успехом). NTLM-аутентификация работает по принципу запрос-ответ (challenge-response) т.е. ни пароль ни его хэш никогда не передаются "как есть", вместо этого они используются для генерации ответа (response) на случайный запрос (challenge). В последствии исследователями были найдены серьезные недостатки в реализации данного метода аутентификации. Так, на сегодняшний день общеизвестно, что NTLM-аутентификация подвержена атаке NTLM-Relay, challenge spoofing (для последующего использования "радужных" таблиц), NTLM Auth Downgrade to LM, а также, благодаря оригинальному применению алгоритма шифрования DES над известным содержимым, передаваемым в качестве случайного запроса (challenge), протокол аутентификации уязвим к возможности восстановления NTLM-хеша за приемлемое время. Так и не получивший широкого распространения метод аутентификации на основе .NET Passport основан на проверке предъявляемых данных в системе Windows Live с использованием однонаправленного SSL-соединения т.е. такой метод также не внушает особого доверия.

Наиболее защищенным методом аутентификации при использовании протокола HTTP over SSL/TLS по праву стоит считать проверку подлинности с использованием цифровых сертификатов. Однако, в силу того, что аутентифицирующийся стороне необходимо таскать с собой нечто, не позволяет использовать этот метод всеми и для всех приложений.

Еще стоит упомянуть различные схемы form-based аутентификации поверх протокола HTTP в том числе с прикручиванием одноразовых паролей, что делают их модными и невероятно крутыми)), но передаваемыми с использованием открытого протокола, а потому уязвимыми к атаке "человек по середине".

Это был краткий ликбез на тему аутентификации в мире нет-серфинга. А теперь посмотрим на все это глазами атакующего.

Стоимость одной неприкрытой SQL-инъекции #2

В далеком 2010 году Heartland Payment Systems понесла ущерб в размере $229 миллионов. Ущерб был нанесен путем использования атакующим популярной уязвимости "Внедрение операторов SQL". [1]

"Внедрение операторов SQL" – способ нападения на базу данных в обход межсетевой защиты. В этом методе, параметры, передаваемые к базе данных через веб-приложения, изменяются таким образом, чтобы повлиять на выполняемый в приложении SQL запрос. Инъекция осуществляется через все доступные способы взаимодействия с приложением.
Нападение может использоваться для следующих целей:
1. Получить доступ к данным, которые обычно недоступны, или получить данные конфигурации системы, которые могут использоваться для развития сценария атаки. Например, измененный SQL-запрос может возвратить данные держателей пластиковых карт в системе ДБО.
2. Получить доступ к другим системам, через компьютер, на котором находится база данных. Это можно реализовать, используя процедуры базы данных и расширения 3GL языка, которые позволяют взаимодействовать с операционной или файловой системой.

Базовый курс по тестированию уязвимостей веб-приложений

Для желающих постигнуть азы хакерского искусства на ресурсе pentesterlab.com опубликован базовый курс по обнаружению и использованию уязвимостей веб-приложений. На мой взгляд курс выглядит вполне вменяемым и пригоден для начального обучения (на заметку преподавателям).

Файлы для загрузки

- web_for_pentester.pdf (2.4M)
- web_for_pentester.iso (64-bit, 175M, MD5: f6e0df10de6d410293ba7a838d31f917)
- web_for_pentester_i386.iso (32-bit, 172M, MD5: 5e6cdf5fa3356a4c08b34ccd076a63ae)

Зеркало

- web_for_pentester.iso (64-bit, 175M, MD5: f6e0df10de6d410293ba7a838d31f917)

Атака на внутреннюю сеть из Интернет


Ключевыми задачами при развитии атаки во внутреннюю сеть (аля пентест), наравне с поиском и эксплуатацией уязвимостей, является доставка полезной нагрузки до объекта атаки и обеспечение "транспорта" к этому и смежным сетевым объектам. В качестве полезной нагрузки может выступать любой инструментарий (в т.ч. эксплоит), позволяющий расширить уровень привилегий, знаний (как по сети, так и в пределах одной системы) и осуществлять любые другие операции, выходящие за рамки функциональных возможностей атакуемой операционной системы и доступного на этой системе прикладного программного обеспечения. В качестве примера подобного инструментария можно упомянуть, например, Windows Credential Editor (WCE), который после компрометации операционной системы Windows необходимо запустить в адресном пространстве этой системы с целью получения паролей зарегистрированных пользователей в открытом виде. Под "транспортом" я понимаю любое туннелирование трафика, которое обеспечивает возможность взаимодействия с конкретным приложением на атакуемой системе. Например, обеспечение сетевого доступа по протоколу RDP к системе, расположенной за межсетевым экраном.

Задачи, связанные с доставкой полезной нагрузки и обеспечением "транспорта", могут пересекаться и дополнять друг друга. В данной публикации будут рассмотрены основные сценарии обеспечения "транспорта", которыми пользуются атакующие.