Ведущий: благодарю всех за то, что пришли на нашу первую лекцию из серии «Беседы о науке и математике во время обеденного перерыва». Вы получили электронные письма, кроме того, вокруг этого здания кампуса расклеены расписания семи лекций, которые состоятся в этом семестре. Я хочу представить вам доктора Сьюзен Лавленд с факультета компьютерных наук, которая расскажет о том, как взламывать сайты.
Сьюзен Лавленд: в начале презентации я хочу упомянуть, что хакеры бывают всех оттенков черного и белого цветов. Сегодня я буду играть роль хакера в Черной Шляпе и выступать на темной стороне взлома потому, что быть плохой доставляет намного больше удовольствия, чем хорошей. Есть и хакеры в Белых Шляпах, которые выполняют работу для компаний компьютерной безопасности и занимаются расследованиями в области компьютерной криминалистики. Они пытаются найти уязвимости системы безопасности прежде, чем плохие парни ими воспользуются в своих целях.
Задача таких хакеров – найти уязвимость, не причиняя вреда приложению, составить отчёт о прорехе в системе безопасности и направить его компании. Сама я никогда не думала о том, чтобы взломать сайт, поэтому привела с собой содокладчика, который подготовил слайды нашей презентации (надевает на себя Чёрную Шляпу).
Я Eve Hacker (Хакерша Ева), альтер-эго доктора Лавленд, которая продемонстрирует вам, как взламывать сайты. Я забыла упомянуть о том, что Черная Шляпа как символ хакеров пришла к нам из старых вестернов, в которых плохие парни обычно носили такой головной убор. И я решила, что для того, чтобы быть эффективным хакером, мне нужно подобрать себе соответствующее одеяние. Так я смогу создать себе соответствующее настроение, а вас — заинтересовать в просмотре этой презентации. Итак, я передаю слово доктору Лавленд (снимает шляпу).
Сьюзен Лавленд: благодарю, Ева. Прежде чем мы начнём, я хочу рассказать, чем интернет так привлекает хакеров. Во-первых, широкой распространённостью и доступностью приложений — согласно отчету ассоциации White Hat 2009 года, примерно 80% веб-сайтов имеют серьезные уязвимости.
Во-вторых, выгодностью – автоматизация атак сводит расходы хакеров к минимуму, одновременно масштабируя прибыль до огромных размеров. В-третьих, простотой использования – умные, творчески настроенные хакеры очень любят хвастаться своими подвигами, и любой плохой парень может воспользоваться результатами их труда с помощью Googlе, чтобы найти сотни инструментов для взлома нужного приложения. В-четвертых, анонимностью — можно безопасно нарушать закон, потому что очень трудно выяснить, когда было взломано веб-приложение и выследить человека, который это сделал. Когда вы физически грабите банк, вы должны находиться на территории банка, но когда вы осуществляете взлом веб-приложения, то можете работать из-за границы, где нет законов об экстрадиции и относительно безопасно с точки зрения хакинга.
Итак, что вы делаете в первую очередь, когда пытаетесь взломать приложение? Первый шаг – самый сложный, потому вам нужно понять, что представляет собой это приложение, как оно работает, где у него «входы и выходы».
Исследование инфраструктуры приложения включает в себя идентификацию сервера и сканирование порта. Затем нужно разобраться с составом приложения: строками и параметрами URL-запросов, механизмом аутентификации, использованием TLS/SSL, программным обеспечением, которое используется в приложении (PHP,Java), структурой каталогов и управлением сеансами.
Поэтому я просто познакомлю вас с приложением, которое будет взломано, и проведу вас по всем возможным уязвимостям, которые в нём имеются. Приложение, которое мы сегодня взломаем, называется «Факультетские странички». Этот проект был разработан на занятиях моего курса веб-программирования CS245 около полутора лет назад.
Его идея заключалась в том, чтобы все в кампусе стали использовать единый набор веб-страниц для каждого факультета, так как этого будет выглядеть более профессионально, чем страницы разного образца, сделанные сотрудниками отдельных факультетов. Я поговорила с Марком Шонехером, чтобы он помог мне и моим ученикам с этим делом. Марк разослал всем электронные письма с вопросом, какой контент им хотелось бы увидеть на веб-страницах факультета, и мой класс разработал «Факультетские странички», которые показаны на этом слайде.
Как видите, здесь есть главная страница с контентом, предназначенным для студентов факультета, вкладка «Обучение», где преподаватели могут размещать ссылки на отдельные учебные курсы, вкладка «Стипендии», где можно разместить результаты научной деятельности, вкладки «Образование» и «Консультации».
Мои ученики стремились сделать так, чтобы сотрудникам факультета было бы легко поддерживать эти страницы, поэтому они привязали к странице авторизацию пользователя. После нажатия на ссылку в левом верхнем углу страницы открывается форма регистрации, в которую нужно ввести имя пользователя сетью кампуса и пароль-идентификатор. После авторизации открывается та же самая главная страница, но под словом «Информация» появляется кнопка «Редактировать». После нажатия на эту кнопку преподаватель может войти в панель редактора и добавить или исправить информацию на странице. Таковы основные характеристики приложения, которое мы сегодня попытаемся взломать.
Вернёмся к нашей презентации. В хакерстве, как и любой другой профессии, нужно оборудование, иначе работа будет неэффективной. Для того, чтобы осуществить взлом, нам понадобится прокси-сервер.
Прокси-сервер ускоряет доступ к взлому веб-страницы, осуществляя перехват всех сообщений между клиентским компьютером и сервером. Вы можете просмотреть все сообщения, это очень полезно, потому что между клиентом и сервером проходит много трафика, который не виден со стороны. Прокси-сервер позволяет не только исследовать содержимое трафика, но и изменить его. Фактически вы можете полностью определить, что поступает на сервер для студентов, которые изучают программирование в аудитории.
Хочу заметить, что не имеет никого значения, как вы управляете своим кодом на стороне клиента, потому что хороший хакер всегда может обойти ваш контроль, обратившись сразу к серверу, который связан с вашим браузером. Таким образом, для взлома нашего приложения нужен прокси-сервер. Заполучить его не трудно – вы просто загружаете какой-нибудь прокси из интернета.
На слайде вы видите три популярных прокси-сервера: WebScarab, BurpSuite и Paros. Можно бесплатно скачать любой из них, установить, как любое другое приложение, и в течение нескольких минут сконфигурировать свой браузер для работы с прокси.
Первый вид атаки, который мы используем сегодня – это Dictionary Attack, или перебор по словарю. Все атаки такого рода пытаются подобрать чей-то пароль, перебирая список наиболее популярных паролей и паролей по умолчанию, используя совокупность словарей паролей. Если вам нужен такой словарь, то его тоже можно загрузить из интернета, это общедоступный ресурс.
Перед тем, как инициировать Dictionary Attack, вам нужно очень тщательно изучить политику паролей для приложения, которое вы пытаетесь атаковать. В нашем случае «Факультетские странички» привязаны в паролю Университета Адамс, поэтому нужно выяснить, какого рода пароль мы будем подбирать для взлома приложения.
Лучший способ узнать, как выглядит пароль – это воспользоваться функцией восстановления пароля, потому что при этом вам дается подсказка. Посмотрите, что я сделала – просто ввела неправильный пароль, и эти ребята были настолько любезны, что опубликовали прямо вверху странички сообщение, описывающее, какого вида пароли я могу попробовать. Таким образом, я узнаю, что в моем словаре, который используется при проведении Dictionary Attack, я должна попробовать любые слова длиной не менее 8 символов, с заглавными и строчными буквами и цифрами.
Должна признать, что они ухудшили обслуживание с тех пор, когда я последний раз заходила на сайт. Теперь нельзя просто проверить функциональность их пароля, потому что они изменили свою политику в отношении хакеров на менее дружественную, и теперь, как видите, они не дают вам никаких подсказок при попытке переустановить пароль.
К счастью, я сохранила скриншот, как это выглядело раньше, так что мы знаем, какой пароль нужно подбирать. Думаю, мы готовы предоставить слово Еве, чтобы она показала, как осуществляется атака методом перебора по словарю.
Eve Hacker: благодарю вас, доктор Лавленд! Первое, что я собираюсь сделать – это перейти к окну авторизации, которое нам нужно, чтобы отсылать пароли на сервер, и немного изменить строку URL-адреса. Сделав это, я получаю на экране форму авторизации, в которую нужно внести имя пользователя и пароль. Я должна суметь отличить правильный пароль от неправильного, то есть увидеть, о какой ошибке сообщит приложение при вводе неправильного пароля.
Поскольку я собираюсь подобрать пароль доктора Лавленд, я набираю в строке имени пользователя её логин sloveland, ввожу неправильный пароль из 3-х символов и нажимаю кнопку Login. После этого появляется сообщение «Ошибочный логин». Это очень важно – увидеть, как реагирует приложение на ввод неверного пароля.
Далее мне нужно сконфигурировать свой браузер для использования прокси-сервера, поэтому я изменяю настройки Firefox. Открываем вкладку «Дополнительные параметры», убираем отметку в чекбоксе «Использовать системные настройки прокси» и отмечаем чекбокс «Использовать ручную конфигурацию прокси». Мой прокси будет «слушать» порт 8080, так что сможет перехватывать все запросы, обращенные к серверу.
Следующее, что мне нужно сделать, это установить скачанный прокси-сервер, в моём случае это Burp Suite. Сейчас вы видите, как выглядит окно этого прокси, который я использую во время атаки. Но я должна вернуться на страницу авторизации и повторно отправить её на сервер. Дело в том, может возникнуть проблема из-за того, что я сначала запустила прокси, не перезагрузив страницу. Если вы обратили внимание, наше приложение использует защищенное соединение HTTPS, а прокси-сервер не имеет соответствующего сертификата безопасности. Поэтому я сначала должна подтвердить, что приложение может использовать незащищённое соединение с прокси и поместить его URL-адрес в исключения политики безопасности.
Что могло бы произойти, если бы я не исправила эту ошибку? Разрешите мне вернуться назад и показать вам это. Я снова захожу в настройки браузера, и на этот раз не буду спешить с установкой ручных настроек прокси, которые перехватывают запросы. Я снова активирую чекбокс «Использовать системные настройки прокси», потому что мне действительно сначала нужно заполучить оригинальную страницу авторизации, и, находясь на этой странице, войду в настройки браузера и опять переключусь на ручные настройки прокси.
Итак, теперь у нас есть страница авторизации, которая будет «разговаривать» с прокси-сервером. Я снова ввожу логин доктора Лавленд и тот же неверный пароль- fff, которые отсылаются моему прокси-серверу.
Далее я захожу на страницу управления сервером и нажимаю вкладку, которая открывает окно просмотра полученного запроса.
Посмотрим, как этот запрос выглядит в Spider – это следующая вкладка окна Burp Suite. Для этого я использую команду «отослать в Spider» и смотрю, как выглядит форма авторизации, это действительно интересно. Я нажимаю на кнопку «Ignore form».
И возвращаюсь к интересующему меня запросу POST. Мы видим запрос, в котором содержится форма авторизации, то есть запрос на ввод пользовательской информации.
У нас здесь имеется несколько способов атаки – Scanner, Intruder, Repeater, Sequencer, Decoder, Comparer. Я собираюсь использовать «Взломщика» — Intruder, поэтому отправляю ему эту информацию с помощью команды «send to intruder», и она появляется в окне на вкладке «positions». Это вся информация, которая была послана прокси-серверу.
Здесь показано много скрытых вещей, которые невозможно увидеть на веб-странице, и выделены поля, с которыми любят иметь дело хакеры: идентификатор сеанса session ID, имя пользователя username и пароль password, используемые во время нашей атаки. Единственное, что нас интересует для Dictionary Attack – пароль, поэтому я очищу большую часть полей, выделю поле пароля и использую кнопку add § для добавления этого поля в словарь.
Эта вкладка действительно вас обрадует, как хакера, потому что на ней с помощью выпадающего меню можно выбрать различные методы атаки – Sniper, Battering ram, Pitchfork или Cluster bomb. Я поступлю просто и выберу атаку «Снайпер». Далее на вкладке «Payloads» выполняется небольшая настройка — мы собираемся сделать замену символов, потому что я просто буду заменять символы пароля словами из словаря, после чего я должна загрузить словарь, который предварительно скачала из интернета. Вы видите открывшийся словарь, обратите внимание, что я удалила из него все слова, содержащие менее 8 символов, потому что не хочу зря тратить время.
Хочу обратить ваше внимание на расположенный справа блок с параметрами а, b и е. Позвольте спросить: когда вы вынуждены выбрать пароль, где вы должны ввести либо цифры, либо символы, выбирали ли вы когда-нибудь цифры или символы, которые выглядят как соответствующие буквы, которыми вы собираетесь их заменить? Возможно, вы испытываете искушение использовать этот способ, чтобы было легче запомнить пароль, но хакеры прекрасно знают об этом. Так, люди часто используют 4 для А, 8 для В или 3 для Е. Иногда букву А заменяют символом @, а букву b – цифрой 6, потому что она на неё похожа. Таким образом, в этом блоке вы можете настроить такие соответствия.
Я также знаю, что пароли университета требуют использовать прописные буквы, и так как мой словарь содержит только строчные буквы, я использую расположенное ниже меню для изменения правил процесса подбора пароля и модифицирую ключи слов, которые будут отправлены в этот хакерский инструмент. Я также отмечаю, что можно использовать имена собственные. Поскольку этот компьютер принадлежит ученой, она наверняка любит использовать знаки препинания, и я предусматриваю такой вариант, отмечая его вы выпадающем меню.
Последнее, что надо сделать — это войти на вкладку Options и ввести адрес сайта, который мы хотим взломать, поэтому я указываю здесь адрес страницы авторизации.
В самом конце мне нужно использовать инструмент, который даст мне знать, правильный пароль или нет, поэтому я допечатываю в строку параметр Login Error, чтобы появление этой фразы на экране сообщало об ошибке при попытке авторизации.
Теперь я могу начать свою атаку. Замечу, что быть компаньоном доктора Лавленд в течение многих лет не слишком прибыльное занятие, поэтому я не смогла купить профессиональную версию Burp Suite и воспользовалась бесплатной, о чем и сообщило появившееся на экране окно. Итак, в окне Intruder вы видите, как идёт процесс взлома и происходит подстановка различных букв и символов в опробованные варианты паролей.
Обычно в это время я иду выпить чашечку кофе или даже возвращаюсь к компьютеру на следующий день, потому что это довольно медленный процесс – как видите, он начал с самой первой буквы алфавита. Однако нам повезло – вы видите седьмую строчку с результатом.
Доктор Лавленд выбрала пароль A@rdv@rk, использовав символы и буквы, так что этот пароль полностью соответствует требованиям университета и его было легко угадать при помощи Dictionary Attack. Поэтому вам следует быть очень и очень осторожными, выбирая свой пароль.
Итак, я передаю слово доктору Лавленд, но прошу обратить внимание, что теперь я знаю ваш пароль и могу в любое время зайти на сайт от вашего имени (снимает Черную Шляпу).
Сьюзен Лавленд: спасибо, Ева. Хочу спросить аудиторию: как вы думаете, насколько распространены атаки подбора паролей? Ответ – очень и очень распространены! По оценкам специалистов, около 70% сайтов имеют уязвимости системы авторизации. Это означает, что разработчик приложения сделал какую-то ошибку в механизме входа в систему, которая облегчает взлом сайта. Но атаки Dictionary Attack в любом случае очень популярны среди хакеров и 5 января прошлого года такой способ взлома был использован против аккаунта администратора Twitter, что позволило взломать аккаунты 33 очень известных людей, включая Обаму, и разместить на их страничках хакерские шуточки.
Расскажу вам про такой анекдотичный случай: когда в прошлом году я запустила веб-сервер для моего курса, там было всего четверо студентов, однако по идее, это очень и очень важный сервер, так что на протяжение двух недель после запуска он подвергся атакам типа «перебор по словарю» из двух разных источников. Так что эти атаки очень и очень распространены.
21:35 мин
Государственный университет Адамс. Как взламывать веб-сайты. Часть 2
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
Автор: ua-hosting