Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
книги хакеры / Михаил_Флёнов_Компьютер_глазами_хакера.pdf
Скачиваний:
16
Добавлен:
19.04.2024
Размер:
6.23 Mб
Скачать

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

i

 

для хакера

ИнтернетP

D

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

wотслеживать введенные пароли;

w Click

 

 

 

 

 

 

m

 

 

w

 

 

 

 

 

 

o

 

содержимое экрана;

.

копировать-xcha

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

 

 

 

 

управлять процессами, в том числе и перезагрузкой.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

P

 

 

 

 

 

 

 

 

 

i

 

D

 

 

 

 

 

239

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

 

 

 

 

 

m

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

Но самое страшное в этой программе — возможность перед сборкой исполняемого файла добавлять расширения (Plug-in), которых в Интернете предостаточно.

Опасность, которую таят в себе троянские программы, подтверждается и тем, что большинство антивирусных программ стало сканировать не только на наличие вирусов, но и троянов. Например, антивирусные программы идентифицируют Back Orifice, как вирус Win32.BO.

5.8.6. Denial of Service

Самая глупая атака, которую могли придумать хакеры — это отказ от обслуживания (DoS, Denial of Service). Заключается она в том, чтобы заставить сервер не отвечать на запросы. Как это можно сделать? Очень часто такого результата добиваются с помощью зацикливания работы. Например, если сервер не проверяет корректность входящих пакетов, то хакер может сделать такой запрос, который будет обрабатываться вечно, а на работу с остальными соединениями не хватит процессорного времени, тогда клиенты получат отказ от обслуживания.

Атака DoS может производиться двумя способами: через ошибку в программе или перегрузку канала или вычислительной мощности атакуемой машины.

Первый способ требует знания об уязвимости на сервере и, конечно же, наличия этих уязвимостей. Рассмотрим, как происходит отказ от обслуживания через переполнение буфера (это чаще всего использумая ошибка). Допустим, что вы должны передать на сервер строку "HELLO". Для этого в серверной части выделяется память для хранения 5 символов. Структура программы может выглядеть примерно следующим образом:

Код программы Буфер для хранения 5 символов Код программы

Предположим, пользователь отправит не пять, а сто символов. Если при приеме информации программа не проверит размер блока, то при записи данных в буфер они выйдут за его пределы и запишутся поверх кода. Это значит, что программа будет запорчена и не сможет выполнять каких-либо действий, и, скорее всего, произойдет зависание или даже синий экран. В результате сервер не будет отвечать на запросы клиента, т. е. совершится классическая атака Denial of Service через переполнение буфера.

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

t

 

 

240P

 

 

 

 

 

 

i

 

P

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

D

 

Глава 5

 

D

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wДля перегрузки ресурсов атакуемой машины вообще не надо ничего знать, потому

w Click

to

 

 

 

 

 

 

 

w Click

to

 

 

 

 

 

 

 

этоn

 

 

 

m

 

 

 

 

 

 

m

 

чтоdf

 

война, в которой побеждает тот, кто сильнее. Ресурсы любого компьютераdf n

 

 

 

 

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

-xcha

 

e

 

 

 

 

 

-x cha

e

 

ограничены. Например, веб-сервер для связи с клиентами может организовывать

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

Если нет программных ограничений на ресурсы, то сервер будет обрабатывать столько подключений, сколько сможет. В таком случае атака может производиться на канал связи или на сервер. Выбор цели зависит от того, что слабее. Например, если на канале в 100 Мбит стоит компьютер с процессором Pentium 100 МГц, то намного проще убить машину, чем перегрузить данными канал связи. Ну а если это достаточно мощный сервер, который может выполнять миллионы запросов в секунду, но находится на канале в 64 Кбит, то легче загрузить канал бессмысленными запросами.

Как происходит загрузка канала? Допустим, что вы находитесь в чате, и кто-то вам нагрубил. Вы узнаете его IP-адрес и выясняется, что обидчик работает на простом dial-up-соединении через модем в 56 Кбит/с. Даже если у вас такое же соединение, можно без проблем перегрузить канал обидчику. Для этого направляем на его IPадрес бесконечное количество ping-запросов с большим размером пакета. Компьютер жертвы должен будет отвечать на них. Если пакетов много, то мощности канала хватит только на то, чтобы принимать и отвечать на эхо-запросы, и обидчик уже не сможет нормально работать в сети. Если у вас канал такой же, то и ваше соединение будет занято исключительно приемом-отсылкой больших пакетов. Это того стоит? Если да, то можете приступать.

Для реализации атаки DoS с помощью ping-запросов воспользуемся утилитой CyD NET Utils. Запустите программу и выберите меню Utils | Ping server. В появившемся окне перейдите на вкладку Options (рис. 5.17). В поле Number of packets (Количество пакетов) введите очень большое значение (несколько тысяч). Установите 1 в поле Time Out (Время ожидания ответа). В этом случае программа не станет дожидаться ответа, а каждую секунду будет направлять ping-пакет. В поле Size of packets (Размер пакета) также установите большое значение, например 10 000, чтобы одним пакетом отправлялось много данных. Теперь можно запускать операцию ping на нужный IP-адрес.

Таким образом, мы можем загрузить канал жертвы, но при условии, что наш канал равен или больше, чем у атакуемого компьютера. Если у вас скорость соединения медленнее, то удастся загрузить только часть канала, равную пропускной способности вашего соединения. Остальная часть останется свободной, и жертва сможет использовать ее. С другой стороны, связь будет заниженной, и хотя бы чего-то мы добьемся.

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

i

 

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

t

 

для хакера

 

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

o

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

r

 

ИнтернетP

 

 

 

 

 

 

241

 

 

 

 

to

BUY

NOW!

 

 

 

 

 

 

 

to

BUY

NOW!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

wнужно запросить одновременное скачивание нескольких очень больших файлов.

w Click

 

 

 

 

 

o

m

 

w Click

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

e

 

 

 

 

p

 

 

 

 

 

e

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

Скоростьdf n

 

связи резко упадет, и сервер может даже перестать отвечать на запросыdf n

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

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

Рис. 5.17. Настройка отправки ping-пакетов

Для загрузки процессора тоже не требуется слишком большой канал. Нужно только подобрать запрос, который будет выполняться очень долго. Допустим, что вы решили произвести атаку на сервер, позволяющий переводить на другой язык указанные страницы любого сайта. Находим веб-страницу с большим количеством текста (например, книгу или документацию RFC — Request for Comments — рабочее предложение) и посылаем множество запросов на ее перевод. Мало того, что объем большой и для скачивания серверу нужно использовать свой канал, так еще и перевод — достаточно трудоемкий процесс. Достаточно в течение одной секунды отправить 100 запросов на перевод громадной книги, чтобы сервер перегрузился. А если сервер написан "с умом" и на нем используется блокировка многократного перевода одного и того же текста, то нужно подыскать несколько больших книг. Однако такой трюк пройдет, только если сервер не имеет ограничение на размер переводимого документа.

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