Как провести сбор информации с помощью Nmap
gallery/nmap

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

- ip-адрес

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

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

- и т.п.

 

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

 

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

gallery/07551da3300bfd319a64d5e88e8a4b04
gallery/80cc9e828d0e219274463a831774152a
gallery/7c833e2255325e2c172aae50aac4f05e
Вернуться назад

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

 

 

 

И ПОМНИТЕ ВСЕ ПОКАЗАННОЕ ВЫШЕ, СДЕЛАНО В ЦЕЛЯХ ОБУЧЕНИЯ!!!

МОЖНО ПРИМЕНЯТЬ ТОЛЬКО НА СВОИХ ПРОЕКТАХ, ПОСЛЕ РАЗРЕШЕНИЯ

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

 

И так, 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, а также произвольное указание IP-адресов и номеров портов сканируемых сетей. В последних версиях добавлена возможность написания произвольных сценариев (скриптов) на языке программирования Lua.

 

Если вы хотите ознакомить со всем списком, то просто можете зайти в 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  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: Различные приемы сканирования портов.

 

 

3) Социальная инженерия

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

 

Чтоб воспользоваться этим способом достаточно просто знать 3-и простые команды Whoisdig и 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) Активный сбор информации