Взлом и анализ уязвимостей на веб-страницах

Автор работы: Пользователь скрыл имя, 11 Декабря 2012 в 03:15, лабораторная работа

Краткое описание

Для начала мы приведём краткую справку, которая может понадобиться для понимания данного материала людям, которые не знакомы с сетевыми технологиями. Те, кто знаком, могут пропустить эту часть, потому что всё дано только в базовых понятиях и даёт только общую картину, без технических деталей.
Виды сетевых пакетов: Вся информация в сети передаётся пакетами, т.е. «порциями». У пакета есть адрес отправителя, получателя, порт отправителя и порт получателя, а так же некоторые другие служебные данные. Пакеты могут быть фрагментированы, т.е. один пакет может быть разбит на несколько фрагментов и отправлен в таком виде. Информация о фрагментации добавляется к служебной, поэтому компьютер-получатель знает, как правильно собрать фрагменты в один пакет.

Содержимое работы - 1 файл

Лаба.doc

— 603.00 Кб (Скачать файл)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЛАБОРАТОРНАЯ  РАБОТА №9

 

Взлом и анализ уязвимостей  на веб-страницах 
СОДЕРЖАНИЕ

 

 

Приёмы взлома.

Термины

Для начала мы приведём краткую справку, которая может понадобиться для  понимания данного материала людям, которые не знакомы с сетевыми технологиями. Те, кто знаком, могут пропустить эту часть, потому что всё дано только в базовых понятиях и даёт только общую картину, без технических деталей.

Виды сетевых пакетов: Вся информация в сети передаётся пакетами, т.е. «порциями». У пакета есть адрес отправителя, получателя, порт отправителя и порт получателя, а так же некоторые другие служебные данные. Пакеты могут быть фрагментированы, т.е. один пакет может быть разбит на несколько фрагментов и отправлен в таком виде. Информация о фрагментации добавляется к служебной, поэтому компьютер-получатель знает, как правильно собрать фрагменты в один пакет. Для понимания материала статьи мы скажем про три типа пакета:

TCP – самый надёжный пакет, потому что компьютер должен послать уведомление, что пакет получен, если уведомления нет, то пакет посылается повторно. Поэтому потеря информации исключена. Но есть недостаток: из-за посылки уведомления о получении каждого пакета снижается скорость.

UDP – схож с TCP, но уведомление о получении не посылается, поэтому возможна потеря информации в том случае, если пакет не достигает получателя. Но этот вид пакетов быстрее, нежели TCP.

ICMP – не используются для передачи информации. Пакеты, скорее служебного плана, например для диагностики сети или для пинга.

Связь между двумя компьютерами в модели клиент->сервер: Клиент посылает серверу на открытый порт SYN-пакет (т.е. пакет, у которого установлен флаг SYN), на что сервер отвечает SYN/ACK-пакетом (в том случае, если он готов установить соединение), после этого клиент посылает ACK-пакет, и связь считается установленной. Это элементарнейшая модель, которая может понадобиться для понятия некоторых атак, за более подробной информацией нужно обратиться к справочнику по сетевым технологиям.

IP адрес – сетевой адрес компьютера вида ХХХ.ХХХ.ХХХ.ХХХ, где ХХХ могут быть от 0 до 255.

MAC адрес – уникальный адрес, вшитый в сетевую карту. Имеет вид: ХХ:ХХ:ХХ:ХХ:ХХ:ХХ, где ХХ могут быть от 00 до ff

Примечание: адреса имеют некоторые ограничения, и некоторые не могут существовать (т.е. принадлежать компьютеру в сети), например IP адрес 0.0.0.0 или 255.255.255.255 Некоторые IP адреса не могут принадлежать машине, напрямую подключённой к Интернет, т.к. некоторые группы (т.е. диапазоны) IP адресов зарезервированы. За более подробной информацией можно обратиться к специальному справочнику.

TCP/IP протокол служит для передачи данных в Интернете и в большинстве сетей.

ARP протокол служит для сопоставления IP адресов MAC адресам.

ARP сервер – сервер, который отвечает за хранение сопоставленных записей вида IP адрес – MAC адрес.

DNS сервер – компьютер, который по DNS запросу клиента (например, Вашему запросу, когда Вы вводите адрес в строке адреса в Internet Explorer) переводит буквенные Интернет адреса (например: yandex.ru) в соответствующие им IP адреса (например: 23.145.14.155).

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

Сегмент сети – группа компьютеров, подключённая к одному концентратору или коммутатору.

Deface/Defacement (или Дефейс) – изменение взломщиком какой-либо страницы на Веб-сервере (например, начальную) на свою (например с надписью «Взломана»).

Privileges escalation (Поднятие привилегий). Только администратор может выполнять команды, критические для работы системы, (например: команда, выключающая компьютер). И только программы, запущенные администратором, могут получить доступ к критическим данным. Поэтому, чтобы иметь полный контроль над системой, хакеру необходимы права администратора. Если хакер получил доступ к системе как обычный пользователь, то ему необходимо «поднять привилегии» для получения контроля.

Инвентаризация или Сбор информации. Необходимо для получения максимально возможного объёма информации о целевом компьютере.

Приемы взлома

1)      Fishing (или Фишинг). Очень широкое понятие. Смысл его в том, чтобы получить от пользователей информацию (пароли, номера кредитных карт и т.п.) или деньги. Этот приём направлен не на одного пользователя, а на многих. Например, письма якобы от службы технической поддержки рассылаются всем известным клиентам какого-либо банка. В письмах обычно содержится просьба выслать пароль к учётной записи, якобы из-за проведения каких-либо технических работ. Несмотря на то, что пользователей предупреждают, что никакую подобную информацию от них никто из работников не может потребовать, и эта информация не должна разглашаться, всегда находятся те, кто с удовольствием «дарит» свои номера, пароли и прочее. Подобные письма, обычно очень правдоподобно и грамотно составлены, что, возможно, подкупает доверчивых пользователей. Нужно оговориться, что приёмов для фишинга есть несколько, помимо писем. Некоторые из нижеприведённых приёмов при правильном применении подходят для фишинга (как правило, мы упоминаем об этом при описании приёма).

Рекомендации: Помните, что паранойя – лучшая защита. Не доверяйте ничему подозрительному, никому не давайте свои данные. Администраторам не нужно знать Ваш пароль, если он предназначен для доступа к их серверу. Они полностью управляют сервером  и могут сами посмотреть пароль или изменить его.

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

Рекомендации: те же самые. Если действительно есть необходимость, то сообщите нужные данные лично. В том случае, если Вы записали пароль на бумаге, не оставляйте её где попало и по возможности уничтожайте, а не просто выбрасывайте в мусорную корзину.

3)      Вирусы. Самая известная простому пользователю проблема. Суть во внедрении вредоносной программы в компьютер пользователя.  Последствия могут быть различны и зависят от вида вируса, которым заражён компьютер. Но в целом - от похищения информации до рассылки спама, организации DDoS атак, а так же получения полного контроля над компьютером. Помимо прикрепленного к письму файла, вирусы могут попасть в компьютер через некоторые уязвимости ОС, которые описываются в нашей статье «Рейтинг уязвимостей Windows». Вирусов существует огромное множество, но всё же возможно их классифицировать. Мы не хотим изобретать заново велосипед, поэтому можно воспользоваться информацией этой страницы http://school8.uriit.ru/people/av/class.html где приводится классификация вирусов с описанием. Чуть более подробно эта тема раскрывается здесь http://fivt.krgtu.ru/kafedri/mo/site/ANTIVIRUS/pages/02.htm

Рекомендации: Пользуйтесь антивирусным ПО. Не ограничивайтесь только DrWEB или Kaspersky Anti-Virus (потому как они не проверяют реестр), используйте специализированные антивирусы против Malware, например Ad-Aware, SpyBot, XSpy. А так же не открывайте подозрительных вложений и вообще не отрывайте программ от неизвестных отправителей. Даже если отправитель Вам знаком, всё равно сначала проверьте антивирусом. Здесь как в медицине, легче избежать, чем потом вылечить.

4)      DoS (Denial of Service или Отказ от Обслуживания). Мы бы хотели сказать, что это скорее не отдельная атака, а результат атаки; используется для вывода системы или отдельных программ из строя. Для этого взломщик особым образом формирует запрос к какой-либо программе, после чего она перестаёт функционировать. Требуется перезарузка, чтобы вернуть рабочее состояние программы. Часто встречается мнение, что DoS, это то же самое, что и атака типа Flood и что вообще нужно соединить все атаки, которые приводят к отказу системы под общим названием DoS. Здесь стоит оговориться, что:

 
a)      Общей терминологии нет, есть скорее негласные правила, по которым классифицируется атака, поэтому даже в рамках данной статьи мы приведём, в чем-то расхожую классификацию.  
b)      Как мы уже сказали, к отказу от обслуживания может привести не только Flood, но, например и Buffer Overflow.

Поэтому, DoS можно охарактеризовать как результат атаки. Например: «эффект  отказа от обслуживания достигнут применением  атаки типа Flood».

5)      Flood (Флуд или Поток/Затопление). Этот тип достаточно спорный, отчасти его можно отнести к DoS, но мы хотели бы выделить его отдельно. С некоторого количества машин (в этом случае атака будет называться DDoS Distributed Denial of Service. Распределенная атака на отказ от обслуживания), как правило «Зомби» посылают жертве максимально возможное количество запросов (например, запросы на соединение). От этого жертва не успевает отвечать на каждый запрос, и в итоге не отвечает на пользовательские запросы, т.е. можно сказать, что перестаёт нормально функционировать. Примечание: этот тип атаки можно назвать хулиганством, когда, например, форумы заполняют большим количеством бессмысленных сообщений. Можно выделить следующие типы Flood:

 
a)      SYN Flood – Затопление атакуемого компьютера пакетами типа SYN. Как известно, компьютер должен на такой пакет ответить пакетом типа SYN/ACK. Если пакетов SYN слишком много, то компьютер не успевает отвечать на каждый и не может принимать пакеты от других компьютеров.  
b)      ICMP Flood или Ping Flood – То же самое, только пакетами ICMP. Система должна ответить на такой пакет, тем самым создаётся большое количество пакетов, которые снижают производительность (пропускную способность) канала.  
c)      Identification Flood (Ident Flood). Похожа на ICMP Flood, но ответ на запрос на порт 113 типа identd занимает у системы больше времени, поэтому атака более эффективна.  
d)      DNS Flood – атака направлена на DNS сервера. Их наводняют DNS запросы, на которые сервер не успевает отвечать, таким образом, на Ваши запросы он так же ответить не сможет. Как следствие, Вы не сможет посещать Интернет сайты.  
e)      DDoS DNS – Атака достаточно новая, и мы не встречали «устоявшегося» названия. По сути, этот приём примерно то же самое, что и предыдущий, с той лишь разницей, что запросы поступают с большого количества машин (предыдущий тип этого не исключает). Адрес, по которому должен ответить DNS-сервер на эти запросы, равен адресу самого DNS сервера, т.е. его не только наводняют запросы DNS, но он же ещё и отправляет их себе же. Таким образом, приём более эффективен, чем предыдущий, но и более сложен в реализации.  
f)        Boink (Bonk, Teardrop) – Жертве посылается огромное количество сильно фрагментированных пакетов, но при этом фрагменты большого размера. Для каждого фрагментированного пакета выделяется специальный буфер, в который в последствии будут помещены другие фрагменты, чтобы потом сложить их воедино. Огромное количество больших фрагментов переполняют буфера и могут спровоцировать зависание или аварийную остановку.  
g)      Pong – то же самое, что и любой другой из вышеперечисленных видов, отличие только в том, что адрес отправителя поддельный. Это даёт взломщику некоторую анонимность.

Рекомендации: для каждой ОС или  маршрутизатора свои; они, как правило, даны в технической документации. Не пренебрегайте ими, чётко ограничивайте количество допустимых пакетов. К сожалению, некоторые виды невозможно отразить ничем, кроме физического отключения. Правильно настроенные межсетевые экраны (или Брандмауэры) часто являются панацеей.

6)      Smurf (атака, направленная на ошибки реализации TCP-IP протокола). Сейчас этот вид атаки считается экзотикой, однако раньше, когда TCP-IP протокол был достаточно новым, в нём содержалось некоторое количество ошибок, которые позволяли, например, подменять IP адреса. Однако, этот тип атаки применяется до сих пор. Некоторые специалисты выделяют TCP Smurf, UDP Smurf, ICMP Smurf. Конечно, такое деление основано на типе пакетов.

Рекомендации: коммутаторы CISCO предоставляют  хорошую защиту, как и многие другие, а также свежее ПО и межсетевые экраны; необходимо блокировать широковещательные запросы.

7)      Ping-of-Death (или Jolt, SSPing) – Атака заключается в том, что жертве посылается фрагментированный ICMP пакет, но размер фрагмента очень большой (64кБ). Старые версии ОС, например Windows 95, повисают. Эту атаку можно осуществить с помощью программы Shadow Security Scanner.

Рекомендации: легче всего обновить ОС, отказавшись от старой версии.

8)      UDP Storm (UDP шторм) – используется в том случае, если на жертве открыто как минимум два UDP порта, каждый из которых отсылает отправителю какой-нибудь ответ. Например, порт 37 с сервером time на запрос отправляет текущую дату и время. Взломщик отправляет UDP пакет на один из портов жертвы, но в качестве отправителя указывает адрес жертвы и второй открытый UDP порт жертвы. Тогда порты начинают бесконечно отвечать друг другу, что снижает производительность. Шторм прекратится, как только один из пакетов пропадёт (например, из-за перегрузки ресурсов).

Рекомендации: по возможности исключить использование сервисов, которые принимают UDP пакеты, либо отрезать их от внешней сети межсетевым экраном.

9)      UDP Bomb – взломщик отправляет системе UDP пакет с некорректными полями служебных данных. Данные могут быть нарушены как угодно (например, некорректная длина полей, структура). Это может привести к аварийному завершению.

Рекомендации: обновите ПО.

10)  Land – жертве посылается пакет на определённый порт, но адрес отправителя устанавливается тот же самый, что и жертвы, а порт отправителя равен порту получателя. (пример: получатель: 1.1.1.1 порт 111 отправитель: 1.1.1.1 порт 111). Жертва пытается установить соединение с собой, отчего может произойти повисание системы. Подобная атака также может быть на 100% эффективна против некоторых маршрутизаторов.

11)  Mail Bombing («Почтовая бомбёжка»). Если на атакуемом компьютере есть почтовый сервер, то на него посылается огромное количество почтовых сообщений с целью вывода его из строя. С одной стороны, это напоминает Flood, но с другой стороны, если сообщения содержат большие вложения, которые будут проверяться серверным антивирусом, то подобная проверка множества входящих вложений может существенно снизить производительность или свести её на нет. Кроме того, такие сообщения сохраняются на жёстком диске сервера и могут переполнить его, что может вызвать DoS. Конечно, сейчас эта атака, скорее история, но в некоторых случаях всё же может быть использована.

Информация о работе Взлом и анализ уязвимостей на веб-страницах