Lumber room
19 September 2008

Сканирование портов с использованием зомби.

&nbsp&nbsp&nbsp&nbsp О! Интересную штуку откопал. Все вы наверное знаете, что часто взлом начинается со сканирования портов. Впрочем, часто со сканирования портов начинается не только взлом.
&nbsp&nbsp&nbsp&nbsp Для сканирования портов применяется например тул под названием nmap. Это консольная утилита, которая умеет определять открытые порты. А так же догадываться, что за ОС стоит на атакуемой (сканируемой) машине.
&nbsp&nbsp&nbsp&nbsp Так вот…
на днях я ей пользовался, и нашел у нее возможность скрытого сканирования с использованием зомби машины.
&nbsp&nbsp В чем тут фокус — на сканируемую машину не приходит ни одного пакета содержащего адрес сканирующей. И это круто! Атака проходит очень красиво. Я не очень многое понимаю в том как работает TCP/IP но много тут знать и не надо. Вот описание атаки — nmap.org/book/idlescan.html

&nbsp&nbsp&nbsp&nbsp Вкратце расскажу как это работает —
&nbsp&nbsp&nbsp&nbsp Когда на машину приходит TCP пакет для установления соединения (называется он SYN (session establishment)), машина может ответить или SYN/ASK — то-есть принять соединение, или ответить RST — то-есть отвергнуть его.
&nbsp&nbsp&nbsp&nbspКогда машина получает SYN/ASK пакет которого не ждет, она отвечает RST, а когда она получает RST — то не отвечает ничего.
&nbsp&nbsp&nbsp&nbspЕще, в интернете (IP сетях) можно послать пакет с любым обратным адресом. Ясно, что ответа на него ждать не следует, этот ответ уйдет по поддельному обратному адресу.
&nbsp&nbsp&nbsp&nbsp И последнее — то, что собственно позволяет провести атаку. Большинство систем нумеруют ВСЕ IP пакеты подряд, вне зависимости от получателя. Пакеты нужно нумеровать, чтобы по прибытии получатель мог собрать их в правельном порядке.
&nbsp&nbsp&nbsp&nbsp То что пакеты нумеруются подряд значит, что можно узнать сколько пакетов послал компьютер B между двумя запросами компьютера A к нему.

&nbsp&nbsp&nbsp&nbsp Как проходит атака —
&nbsp&nbsp&nbsp&nbsp Есть 2 машины — A, C. Машина А хочет скрытно просканировать С. Для этого она случайно выбирает в интернете любую слабо загруженую машину «зомби» — В. Она посылает ей IP пакет и узнает IPID этой машины.
&nbsp&nbsp&nbsp&nbsp Теперь она посылает SYN машине С, но поделывает обратный адрес на В.
&nbsp&nbsp&nbsp&nbsp Дальше есть 2 варианта.
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 1. Порт на машине С открыт, и она шлет ответ (а он отправляется машине В) — SYN/ASK. Машина В — отвечает ей RST, поскольку подключения этого не ждет, и вообще первый раз о нем слышит. Но ее IPID увеличивается на 1.
&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp 2. Порт на машине C закрыт, и та шлет RST, опять же машине B (про А она вообще ничего не знает). Машина B как положено, по правилам, этот пакет игнорирует, и ее IPID не увеличивается.

&nbsp&nbsp&nbsp&nbsp Теперь злобный, прыщавый и немытый хакер может послать машине B еще один IP пакет и получить ответ в котром есть новый IPID машины B. Если он отличается от первого запроса на 1, то порт на машине С — закрыт. А если на 2 — то открыт! Так-то!
&nbsp&nbsp&nbsp&nbsp Заметьте машина B — ничем не заражалась, а машина С — не получала ли одного намека на того, кто ее не самом деле сканировал.

&nbsp&nbsp&nbsp&nbsp В английской статье по ссылочке есть замечательные картинки, для тех кто ничего не понял, но кому интересно. А еще там есть картинка того, как сканировали RIAA. Это верно. RIAA должна сдохнуть.

+25
983 11
Comments 7