Спуффинг - это ничто иное, как подделывание исходного IP адреса. Хотя мне очень понравилось толкование спуффинга в одном из толковых словарей http://www.globalsystem.ru/slovar.php/a4539.html. Спуффинг заключается в использовании одной машины, чтобы исполнить роль другой. Чтобы понимать, как это происходит вы должны немного знать об установлении подлинности.

Каждый пользователь сталкивался с некоторой формой установления подлинности. Типичный пример этому соединение с сетью. Эта сеть может быть расположена в доме пользователя, его офисе, или как в данном случае Интернет. Большая часть распознавания известная обычному пользователю происходит на прикладном уровне. То есть установление подлинности полностью видны пользователю. Типичный пример этому то, когда пользователь сопоставлен с паролем на FTP или Telnet. Пользователь входит под своим логином и паролем; они заверены, и пользователь получает доступ к ресурсу.

В Интернет установление подлинности редко происходит на прикладном уровне. В Интернет каждую секунду происходит, какое либо распознавание, которое является невидимым для пользователя. Различие между этого рода распознавания и распознавания на прикладном уровне фундаментально. Установление подлинности на прикладном уровне происходит приблизительно так: Сервер бросает вызов пользователю и затем просит пользователя идентифицировать себя. Но чаще встречающееся распознавание выглядит чуть-чуть сложнее, здесь уже Сервер требует некоторую форму идентификации от пользователя и пока эта идентификация не проверена и не утверждена никакого обмена данными с Сервером не происходит. Такого рода диалоги "Клиент-сервер" всегда происходят автоматически (т.е. без человеческого вмешательства). При помощи спуффинга хакер пытается капитализировать автоматизацию диалога между машинами. Таким образом, Спуффинг атака - экстраординарный метод получения доступа, потому что при этом, хакер никогда не использует логин или пароль.

Кто поддается спуффингу.

Спуффинг нападение уникально в том, что может быть осуществлено против некоторого класса машин работающих с TCP/IP. К этим машинам я могу отнести некоторые версии UNIX (очень мало машин, которые легко поддаются спуффингу). Машины, работающие под DOS, Windows и Windows 95 не включены в эту группу. Спуффингу не поддаются Macintosh работающие на MacOS. Теоретически возможно, что Macs, работающий на A/UX, а также Linux могут быть подвержены такого рада атакам, но только при хорошем стечении обстоятельств. Думаю, что позже будут найдено большое количество сервисов подверженных Спуффинг атакам, но пока этот список не очень велик:

· Любая конфигурация использующая Sun RPC запросы
· Любая служба сети, использующая установление подлинности IP
· R services

Sun RPC относится к стандарту Sun Microsystems standard of Remote Procedure Calls, которые являются методами выходящих запросов системы, которые работают прозрачно по сетям (то есть выполнения команд по отдаленным машинам или сетям).

Уязвимость R services.

R services - rlogin и rsh, распространены в среде UNIX. Эти две программы предназначены для удаленного доступа на другие машины в Интернет. Они чем-то напоминают Telnet.

Эти программы посвойму уникальны:
· Rlogin предназначена, чтобы удаленно логиниться на другую машину. Сегодня, rlogin в основном используется в локальных сетях, и только некоторые сервера поддерживают rlogin для удаленного администрирования т.к. rlogin посчитали проблемой безопасности.

· Rsh позволяет Вам получить полный доступ к удаленной машине, и вы можете выполнять на ней любые команды. Например, вы можете получить файл пароля, используя команду: rsh our_target.com cat /etc/passwd >> our_target.com_passwd. rsh. поскольку эта функция является огромной дырой в системе безопасности, она обычно отключается. Но все же существуют сервера, на которых админы полные лохи и эта функция все же остается включенной J.

Из всего этого можно сделать вывод, что R services легко поддаются IP спуффингу.

Как работает спуффинг

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

Трастовые отношения и Спуффинг вообще

Почти все формы спуффинга полагаются на трастовые отношения в пределах атакуемой сети. Под трастовыми отношениями я не подразумеваю человеческое доверие, к этому роду доверия я отношу доверие между компьютерами.

Существует такое понятие как спуффинг хардварного адреса (Hardware address spoofing). Такой тип спуффинга не относятся к сетевым картам, которые не используют софт для назначения адреса. Старые карты поддерживают изменение адреса через программное обеспечение, обычно с установкой джампера (jumper). Хороший пример этому старенькая карта Western Digital Ethernet. На более новых картах спуффинг адреса карты более чем вероятен, хотя стоит принимать во внимание, что IRQ может все еще устанавливаться при помощи джампера.

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

Анатомия Спуффинга

Давайте начнем наш анализ после того, как хакер определил уровни доверия в пределах сети. Краткий обзор сегмента нашей ложной атакуемой сети, называемой Nexus.
Этот сегмент имеет два трастовых отношения:
Nexus 1 и Nexus 2, и Nexus 2 и Nexus 3.
Чтобы получить доступ Nexus у хакера есть два варианта:
Он может обмануть или Nexus 1 или Nexus 3, представив себя как Nexus 2
Он может обмануть Nexus 2, представив себя как Nexus 1 или Nexus 3
К примеру, хакер решает обмануть Nexus 2, представив себя как Nexus 3. Таким образом, его первая задача состоит в том, чтобы напасть на Nexus 3 и временно вывести ее из строя.

Шаг первый: Вывести из строя Nexus 3 Думаю здесь много писать не стоит ……. Можно использовать DoS

Шаг второй: Обнаружение Nexus 2

Этот шаг процесса довольно прост. Хакер посылает ряд запросов на Nexus 2, который отвечает рядом пакетов, указывающих получение запросов связи Хакера. Содержание этих пакетов ключ к spoofing технике.

Шаг третий: Управление

Получив образец, хакер делает другой запрос Nexus 2, требуя пустить его от Nexus 3. Nexus 2 отвечает Nexus 3. Однако, потому что Nexus 3 временно выведен из строя, он не отвечает. Вместо этого, идут ответы хакера.

Это наиболее трудная часть атаки. Здесь, хакер должен предположить (основанный на его наблюдениях схемы последовательности) какой номер последовательности Nexus 2 ожидает. Но в то время как идет обмен данными, он не может видеть номера последовательности, отправляемые Nexus 2. Поэтому, хакер должен послать его запросы в слепую.

Если хакер правильно предполагает номер последовательности, связь установлена между Nexus 2 и машиной хакера. Для всех целей, Nexus 2 теперь полагает, что хакер является Nexus 3.

Шаг четвертый: Открытый доступ хакера в эту сеть

Хакер должен создать более подходящую дыру, чтобы чтобы всегда проникать в сеть и не прибегать больше к спуффингу. Самый легкий способ заключается в том, чтобы переписать .rhosts файл так, чтобы Nexus 2 принял связи с любого IP и не требовал дополнительное установление подлинности.

Заключение

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