
IP-Spoofing в никсах
Как подделывать свой IP
Xakep, номер #036, стр. 036-058-1
Нагорский Артем aka Cordex (cordex@xakep.ru)
Как считаешь, возможно ли изменить свой IP-адрес, чтобы жертва атаки не догадалась, откуда ты? Конечно, возможно! Для тех, кто сидит под Виндами, есть только три способа: прокси-сервер, вингейт и телнетом в юниксовый шелл. А для отважных юниксоидов есть еще и самый наглый способ - IP-spoofing, т.е. подделывание своего IP адреса. Вот об этой наглости мы и поговорим.
Что такое IP-Spoofing?
Говоря серьезным языком, это подмена адреса отправителя в заголовках IP пакетов. А если сказать грубо, то этим словом называют комплексную атаку, основанную на нескольких компонентах. Почему - грубо говоря? Да потому что, по сути, IP-Spoofing является неким звеном атаки, а не чистой атакой на удаленный сервер. Но мы будем рассматривать его как атаку, и как самому такой беспредел организовать. Обычно атаку с помощью IP-Spoofing'а осуществляют на адрес "доверенного" компьютера, обычно сервака, имеющего право на выполнение каких-либо нужных тебе операций в сети. Прикинь, что ты можешь натворить? :) Сказка, т.к. с помощью спуффинга можно сделать очень многое.
Возможности IP-Spoofing'а
С помощью удачного IP-spoofing'a ты можешь извратиться, как я уже отмечал, по-крупному. Вот лишь некоторые возможные способы его применения (до остальных возможностей дойдет твой замутненный пивом и Инетом мозг):
1.Передать серваку команду удалить или изменить содержимое Web-сервера или вообще всей базы данных.
2.Передать серваку команду по настройке базы пользователей (может включать в себя добавление, удаление или изменение имен пользователей, паролей или другой инфы, в том числе конфигурацию сервера :).
3.Передать удаленному серваку команду переслать имена пользователей, пароли и прочую нужную тебе шнягу на определенный адрес.
4.Передать команду почтовому серверу отправить, удалить или изменить адресата электронного письма (e-mail).
Это далеко не все возможности, я привел лишь основные.
Виды спуффинга
Вообще, спуффинг подразделяется на так называемый простой спуффинг и слепой спуффинг. Первый происходит тогда, когда пакеты посылаются по твоей подсети (например, один из двух хостов, вовлеченных в твою подсеть, или когда весь сетевой траффик передается через твои сетевые девайсы). Слепой же спуффинг происходит как раз наоборот: тогда, когда ты пытаешься провести его НЕ через свою подсетку. Нас, конечно же, интересует последний вид спуффинга, как наиболее часто встречающийся и являющийся на самом деле более сложным. Мы же хацкеры =).
TCP/IP протокол в спуффинге
Этот протокол играет очень важную роль в нашем деле, браток. Про него ты просто обязан ВСЕ знать (как читатель Х =). Но на всякий случай пробегусь по-быстрому по нему и как он связан с темой моей статьи.
TCP/IP переводится как Transmission Control Protocol / Internet Protocol. Да, да, не удивляйся, это два протокола в одном флаконе :). Скажу больше, TCP/IP - это целое семейство протоколов, но расписывать их не буду, не об этом речь... IP самый занятый изо всех TCP/IP протоколов, так как почти весь TCP/IP траффик скрыт в датаграмме IP. Он добавляет в состав каждого пакета данных контрольную сумму, гарантирующую целостность заголовка пакета. И все. Никаких гарантий, что все остальные данные в пакете будут целы и вообще, что пакет достигнет точки назначения, этот протокол не дает. Поэтому он и является ненадежным протоколом. Всем тем, что не выполняет протокол IP, занимается протокол TCP. А вот он, в свою очередь, добавляет кучу контрольных данных о содержании пакета, о последовательности пакетов, об адресе отправителя и т.д. В отличие от протокола IP, именно этот протокол обеспечивает все гарантии, что пакет будет доставлен туда, куда нужно, и целым и невредимым. Если пакет пришел битый, то протокол начинает заниматься исправлением ошибки, пересылая его повторно. К тому же, TCP-протокол ориентирован на подключение. Это означает, что два хоста перед передачей данных должны вначале установить соединение друг с другом. При этом протокол TCP является единственным базовым протоколом из семейства TCP/IP, имеющим дополнительную систему идентификации сообщений и соединения. Именно поэтому протоколы прикладного уровня FTP и TELNET, предоставляющие пользователям удаленный доступ на хосты Internet, реализованы на базе протокола TCP. Для идентификации TCP-пакета в TCP-заголовке существуют два 32-разрядных идентификатора, которые также играют роль счетчика пакетов. Их названия - Sequence Number и Acknowledgment Number. Также нас будет интересовать поле, называемое Control Bit. Это поле размером 6 бит может содержать следующие командные биты (слева направо): URG; ACK; PSH; RST; SYN; FIN.

















































































































