РАЗВЕДКА-слушаем стену nmap'ом GREEN (green@rootshell.ru) Спецвыпуск Xakep, номер #024, стр. 024-016-1 ВВЕДЕНИЕ Бесконечное богатство полезной информации хранится за корпоративными и иными фаерволлами, во внутренних и домашних сетях, на серверах, рабочих станциях и просто домашних компьютерах. Но если у этих компьютеров есть доступ во внешний мир, значит, и у внешнего мира есть доступ к ним, а частенько и к хранящейся там информации (ну, хоть ты наизнанку вывернись!). Кому-то эта статья может показаться наивной, но я надеюсь, что для кого-то она все же окажется полезной и откроет глаза как на несовершенство используемых программ, так и на несовершенные конфиги и забытые дефолтные возможности, которые треба вырубать сразу. Грамотная разведка - 50% успеха атаки. РАЗВЕДКА БОЕМ Итак, когда ты уже выбрал цель - самое время произвести разведку и выяснить, какие силы нам противопоставляют админы. Если исследуется сеть, то - как она устроена изнутри, какие сервисы имеются в наличии и тому подобную полезную инфу. Обычно самой подробной информацией такого рода обладают... сами админы сети, они же могут помочь получить доступ ко внутренним ресурсам. Но если ты не готов заплатить братве за поимку и раскалывание админа, то есть и более дешевые, хотя и не такие надежные методы :). NMAP Тулза NMAP (http://www.insecure.org/nmap) от небезызвестного дяди Fyodor'а поможет нам многое узнать. Это мощный инструмент, который позволит в разных режимах просканировать сети и отдельные хосты, по особенностям ответов сетевого стека исследуемой цели угадать, какая операционка запущена на той стороне. В лучших традициях сетевой общественности nmap раздается в виде исходников, но если тебе неохота заморачиваться с компиляцией, тебе дадут и уже скомпилированные бинари для твоей OS'ки, в том числе и для разных версий WindowZ. Тем, кому не хочется возиться с командной строкой, дадут даже графическую морду. Самый простой режим использования - это просто запустить nmap и указать ему цель для исследования: $ nmap 172.17.10.55 Starting nmap V. 3.00 (www.insecure.org/nmap/) Interesting ports on testbox.sample.ru (172.17.10.55): (The 1594 ports scanned but not shown below are in state: closed) Port State Service 22/tcp open ssh 25/tcp open smtp 53/tcp open domain 79/tcp open finger 110/tcp open pop-3 113/tcp open auth 8080/tcp open http-proxy Nmap run completed -- 1 IP address (1 host up) scanned in 4 seconds Из приведенного вывода можно узнать, что машинка с таким IP включена и отвечает на сетевые запросы. Также нам дали список портов, на которых кто-то отвечает с предположением, кто бы это мог быть. Если nmap был запущен от обычного непривилегированного пользователя, то он использует так называемый "грязный" TCP скан, после которого в логах на той стороне остаются наши следы: Sep 21 06:19:14 testbox sshd[2188]: Did not receive identification string from 213.25.7.123 Sep 21 13:37:08 testbox xinetd[976]: START: pop3 pid=2473 from=172.17.10.90 Запущенный от рута или с опцией -sS - nmap выбирает более безопасный режим сканирования, который обычно не оставляет следов в логах, хотя некоторые пакетные фильтры и способны обнаруживать такие попытки. Секрет невидимости сканирования (SYN scan, или half-open scanning) заключается в том, что мы не устанавливаем соединение до конца, для каждого порта высылается пакет на установление соединения (с установленным SYN флагом); в случае, если та сторона отвечает, что порт открыт и соединение может быть установлено (выставлены флаги SYN и ACK), то мы запоминаем этот факт и высылаем пакет, запрашивающий сброс соединения (флаг RST) вместо пакета с подтверждением. Бай, бейби! Если же мы в ответ получаем пакет с отказом, значит, этот порт никем не слушается либо прикрыт фаерволлом, что мы также запоминаем. |