top of page

Как проводить сбор информации тестируемого объекта с помощью Nmap.


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

- ip-адрес

- предоставляемые услуги

- открытые порты

- и т.п.

Существует три основных способа сбора информации:

  • Пассивный сбор информации – этот способ используют для получения информации о цели, не имея физического контакта или доступа с системой. Это значит, что мы используем другие источники информации для сбора информации, такой способ поможет дать нам много полезного: ip-адрес, домены и под-домны, размещение серверов, хостинг и т.д.

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

  • Социальная инженерия – эта техника похожа на пассивный сбор информации, но при этом опирается на человеческий фактор, распечатки, телефонные звонки, банальную невнимательность и т.д. Например, хакер может зарегистрировать домен похожий на целевой и рассылать от его имени сообщение, что мол перейдите по ссылке, введите логин и пароль. Такие домены в просто народе называются “Злыми близнецами”.

В этой статье для сбора информации я буду использовать Nmap. С помощью его я задействую 2-а способа сбора информации.

И так, Nmap — это свободная утилита, предназначенная для разнообразного настраиваемого сканирования IP-сетей с любым количеством объектов в системе, определения состояния объектов сканируемой сети (а именно портов и соответствующих им служб). Изначально программа была реализована для систем UNIX, но сейчас доступны версии для множества операционных систем. Nmap использует множество различных методов сканирования, таких как UDP, TCP (connect), TCP SYN (полуоткрытое), FTP-proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, Xmas tree, SYN- и NULL-сканирование. Nmap также поддерживает большой набор дополнительных возможностей, а именно: определение операционной системы удалённого хоста с использованием отпечатков стека TCP/IP, «невидимое» сканирование, динамическое вычисление времени задержки и повтор передачи пакетов, параллельное сканирование, определение неактивных хостов методом параллельного ping-опроса, сканирование с использованием ложных хостов, определение наличия пакетных фильтров, прямое (без использования portmapper) RPC-сканирование, сканирование с использованием IP-фрагментации, быстрый поиск уязвимостей SQL Injection[3], а также произвольное указание IP-адресов и номеров портов сканируемых сетей. В последних версиях добавлена возможность написания произвольных сценариев (скриптов) на языке программирования Lua.

1) Пассивный сбор информации

Для начала пощупаем первый способ сбора информации.

Что воспользоваться этим способом достаточно просто знать 3-и простые команды Whois, dig и nslookup, они помогут получить первичную информацию целевой системы.

Начнем с Whois. Может вывестись очень много информации но нам надо акцентироваться только на основном.

Пример:

1. root@slogin: whois test.net

2. Domain Name: Test.NET

3. Registry Domain ID: 31484524_DOMAIN_NET-VRSN

4. Registrar WHOIS Server: whois.godaddy.com

5. Registrar URL: http://www.godaddy.com

6. Updated Date: 2016-05-18T14:23:36Z

7. Creation Date: 2000-07-17T17:51:17Z

8. Registrar: GoDaddy.com, LLC

9. Registrar Abuse Contact Email: abuse@godaddy.com

10. Registrar Abuse Contact Phone: 481-624-2505

11. Domain Status: clientDeleteProhibited https://icann.org/epp#clientDeleteProhibited 12. Domain Status: clientRenewProhibited https://icann.org/epp#clientRenewProhibited 13. Name Server: NS0.SPUTNIKMEDIA.NET

14. Name Server: NS1.SPUTNIKMEDIA.NET

15. Name Server: NS3.SPUTNIKMEDIA.NET

Совершенный поиск по whois дал нам немного сведений о целевой системе. Информация включает в себя DNS-сервера, дату создания, регистратора и т.п. Поскольку информация была получена не от целевой системы, а из сторонних источников, следовательно эта техника называется “пассивным сбором информации”.

Вторым способом “пассивно” получить инфу – обращение к DNS-записям. Наиболее распространенным приемом является использование команды dig, которая поставляется по умолчанию в UNIX. Посмотрим, как dig справится со своей задачей:

Пример:

1. root@slogin: dig test.net

2. ; <<>> DiG 9.11.2-5-Debian <<>> test.net 3. ;; global options: +cmd 4. ;; Got answer: 5. ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47244 6. ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 4

7. ;; OPT PSEUDOSECTION: 8. ; EDNS: version: 0, flags:; udp: 4096 9. ;; QUESTION SECTION: 10. ;test.net. IN A

11. ;; ANSWER SECTION: 12. test.net. 396 IN A 193.239.68.38

13. ;; AUTHORITY SECTION: 14. test.net. 8409 IN NS ns3.sputnikmedia.net. 15. test.net. 8409 IN NS ns1.sputnikmedia.net. 16. test.net. 8409 IN NS ns0.sputnikmedia.net.

17. ;; ADDITIONAL SECTION: 18. ns0.sputnikmedia.net. 94809 IN A 193.239.68.100 19. ns1.sputnikmedia.net. 94809 IN A 193.239.68.101 20. ns3.sputnikmedia.net. 94809 IN A 213.186.116.119

21. ;; Query time: 0 msec 22. ;; SERVER: 192.168.21.10#53(192.168.21.10) 23. ;; WHEN: Fri Feb 16 14:30:40 EET 2018 24. ;; MSG SIZE rcvd: 170

Запрос к DNS-записям выявил более подробную информацию. Из вывода трудно определить первичный DNS, или в некоторых случаях основной почтовый сервер или хостинг. Поэтому в игру вступает nslookup. Nslookup такой же гибкий, как и dig, но обеспечивает простой стандартный метод выявления первичных хостов, таких как почтовый сервер и DNS-сервер:

Пример:

1. root@slogin: nslookup test.net

2. Server: 192.168.21.10 3. Address: 192.168.21.10#53

4. Non-authoritative answer: 5. Name: test.net 6. Address: 193.239.68.38

Nslookup выдала более подробную информацию о цели, такую как IP-адрес, IP сервера и т.п. Пассивные техники могут выявить некоторые интересные сведения о цели, которые облегчат тестирование на проникновение.

2) Активный сбор информации

Для этого способа применим утилиту Nmap. Сейчас рассмотрим основные команды для сканирования нашей цели.

Но если вы хотите ознакомить со всем списком, то просто можете зайти в msfconsole, затем написать слово Nmap. Вам вывалиться сразу весь список команд с описанием, что это за команды.

TCP connect [-sT] – наиболее простой и общий тип сканирования в nmap:

1. nmap -sT -p1-20 test.net 2. [*] exec: nmap -sT -p1-20 test.net

3. Starting Nmap 7.60 ( https://nmap.org ) at 2018-02-16 14:55 EET 4. Nmap scan report for test.net (193.239.68.38) 5. Host is up (0.020s latency). 6. rDNS record for 193.239.68.38: www.test.net

7. PORT STATE SERVICE 8. 1/tcp filtered tcpmux 9. 2/tcp filtered compressnet 10. 3/tcp filtered unknown 11. Nmap done: 1 IP address (1 host up) scanned in 1.61 seconds

Как видим мы выше, передали -sT параметр, который выполняет TCP connect сканирование, а параметр -p задает диапазон портов, которые мы хотим просканировать.

SYN scan [-sS] – считается невидимым типом сканирования, так как он не устанавливает полное подключение/связь между целью и сканером. Таким образом его еще называют “полуоткрытым” сканированием:

1. nmap -sS test.net 2. [*] exec: nmap -sS test.net

3. Starting Nmap 7.60 ( https://nmap.org ) at 2018-02-16 15:04 EET 4. Nmap scan report for test.net (193.239.68.38) 5. Host is up (0.020s latency). 6. rDNS record for 193.239.68.38: www.test.net 7. Not shown: 999 filtered ports 8. PORT STATE SERVICE 9. 80/tcp open http

10. Nmap done: 1 IP address (1 host up) scanned in 5.01 seconds

Параметр -sS указывает nmap использовать SYN scan. Оба вывода TCP connect и SYN scan схожи в большинстве случаев. Разница состоит в том, что SYN scan трудно обнаружить межсетевым экранам и Intrusion Detection Systems (IDS). Однако, современным фаерволам не представляет труда его обнаружить.

ACK scan [-sA] – специальный тип сканирования, который показывает, какие порты фильтруются фаерволом, а какие нет. ACK scan отправляет TCP ACK фреймы на удаленный порт. Если ответа не последовало, значит порт сканируется фаерволом. Однако, если цель возвратила RST пакет (connection reset – сброс соединения), то порт не фильтруется:

1. nmap -sS test.net 2. [*] exec: nmap -sA test.net

3. Starting Nmap 5.51SVN ( http://nmap.org ) at 2018-02-16 15:19 EET

4. Nmap scan report for 192.168.56.102

5. Host is up (0.0011s latency).

6. Not shown: 999 filtered ports

7. 9001/tcp unfiltered &nbsp;tor-orport

Определение ОС и ее версии

Есть некоторые дополнительные возможности, предоставляемые Nmap, кроме сканирования портов. Они могут помочь нам получить больше информации о цели. Одним из наиболее широко используемых параметров является определение операционной системы -O:

1. nmap -O test.net 2. [*] exec: nmap -O test.net 3. Starting Nmap 5.51SVN ( http://nmap.org ) at 2018-02-16 15:19 EET 4. Nmap scan report for test.net 5. Host is up (0.0014s latency). 5. MAC Address: 08:00:27:34:A8:87 (Cadmus Computer Systems) 6. Device type: general purpose 7. Running: Microsoft Windows XP

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

И помните все показанное выше, сделано в целях обучения!!!

Можно применять только на своих проектах, после разрешения.

bottom of page