Сбор информации о сети

Эта статья носит общепознавательный характер, так как для большинства, приведенные примеры не будут чем то новым, так же целью автора не является углубляться в те или иные темы, поскольку полноценную информацию об nmap, вы без труда можете найти в сети. Сбор информации о сети довольно интересное и иногда сложное занятие, в идеале вы должны обладать сильными навыками в архитектуре сетей и TCP\IP стека. Однако, даже далеко не все системные администраторы могут похвастаться такого качества знаниями. Что уж говорить когда речь идет о пользователях. Администраторы например могут сканировать свою сеть и хосты в ней, с целью обнаружения пробелов в безопасности. Любопытные просто могут совершенствовать свой навык с компьютером и сетью, злоумышленник, о них и писать не стоит, эти ребята знают что делают и без моих советов. И все таки, надеюсь эта статься будет вам интересно, в ней собраны реальные примеры, а все операции вам придется выполнять из командной строки руками, что может обогатить ваш опыт работы с Линукс, а так же, возможно вы откроете для себя что то новое.

Простой пример

Вы подключились к бесплатной Wi-Fi сети и знаете, что там точно есть интернет, но к сожалению, админы сети забыли запустить DHCP сервер. Это значит, что для того, что бы подключиться к сети и начать сёрфинг в интернет, вам необходимо собрать следующие данные:

– IP address сети
– Маска сети
– DNS сервера в сети
– Шлюз

Задача: Собрать как можно больше полезной информации о сети к которой вы подключились.

Методика

Первое, что нужно сделать, это просмотреть таблицу маршрутизации ядра в сети:

[email protected]:~$ netstat -r
 
Таблица маршрутизации ядра протокола IP
Destination    Gateway      Genmask           Flags    MSS   Window irtt Iface
192.168.1.0     *                 255.255.255.0   U         0 0                     0 wlan0
link-local         *                 255.255.0.0        U         0 0                     0 wlan0
default         192.168.1.1     0.0.0.0               UG      0 0                     0 wlan0
[email protected]:~$ netstat -r

Таблица маршрутизации ядра протокола IP
Destination    Gateway      Genmask           Flags    MSS   Window irtt Iface
192.168.1.0     *                 255.255.255.0   U         0 0                     0 wlan0
link-local         *                 255.255.0.0        U         0 0                     0 wlan0
default         192.168.1.1     0.0.0.0               UG      0 0                     0 wlan0

где
– r – выдать хранящуюся в ядре таблицу маршрутизации

Таким образом мы получили адрес шлюза сети, это 192.168.1.1
Маску сети 255.255.255.0

Теперь не помешало бы узнать DNS, его может спалить нам шлюз:

[email protected]:~$ host -aT 192.168.1.1
Trying "1.1.168.192.in-addr.arpa"
Host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
Received 98 bytes from 80.179.52.100#53 in 14 ms
[email protected]:~$ host -aT 192.168.1.1
Trying "1.1.168.192.in-addr.arpa"
Host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
Received 98 bytes from 80.179.52.100#53 in 14 ms

Эта команда более актуальна для доменов, но и тут результат не плохой, мы можем видеть, что первый DNS в сети это 80.179.52.100

Так же, узнать DNS в сети поможет команда:

[email protected]:~$ nslookup 192.168.1.1
Server:     80.179.52.100
Address:                80.179.52.100#53
** server can't find 1.1.168.192.in-addr.arpa.: NXDOMAIN
[email protected]:~$ nslookup 192.168.1.1
Server:		80.179.52.100
Address:	            80.179.52.100#53
** server can't find 1.1.168.192.in-addr.arpa.: NXDOMAIN

Данные которые мы получили:

IP-адрес сети: 192.168.1.0
Маска сети: 255.255.255.0
Шлюз: 192.168.1.1
DNS сервер: 80.179.52.100

Теперь вы можете смело подключать к сети.
Пропингуйте любой адрес сети, типа 192.168.1.133 что бы узнать свободен он или нет.

Далее откройте файл:

nano /etc/network/interfaces
nano /etc/network/interfaces

Впишите туда собранные данные:

auto lo
 
iface eth0 inet static #наш интерфейс
address 192.168.1.133 #указываем IP-адрес машины
netmask 255.255.255.0 #указываем маску подсети
gateway 192.168.1.1 #указываем шлюз
auto lo

iface eth0 inet static #наш интерфейс
address 192.168.1.133 #указываем IP-адрес машины
netmask 255.255.255.0 #указываем маску подсети
gateway 192.168.1.1 #указываем шлюз

Так же не забудьте файл /etc/resolv.conf:
Пропишите там DNS сервер:

nano /etc/resolv.conf 
 
nameserver 80.179.52.100
nano /etc/resolv.conf 

nameserver 80.179.52.100

Не забудьте, что в Убунту вам понадобиться уронить NM:

/etc/init.d/network-manager stop
/etc/init.d/network-manager stop

Рестартуем сеть:

/etc/init.d/networking restart
/etc/init.d/networking restart

Возможно в сети есть открытые виндозные шары, в таком случае неплохо было бы это узнать:

[email protected]:~$ sudo smbtree -b -N 
[email protected]:~$ sudo smbtree -b -N 

Таким образом вы получите все данные о доступных сетевых папках и принтерах.

Сканирование

Так же полезным было бы узнать, сколько компьютеров уже подключено к сети, какие ОС они используют, какие порты на них открыты, и наконец какие IP-адреса им принадлежат.

Нам известно, что адрес сети 192.168.1.1, соответственно мы можем просветить все адреса в сети, зная что первый будет 192.168.1.1 а последний 192.168.1.254
В сканировании сети нам поможет утилита nmap.

Давайте начнем с простого:

[email protected]:~$ nmap 192.168.1.1-254
 
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:15 IDT
Interesting ports on 192.168.1.1:
Not shown: 955 filtered ports, 44 closed ports
PORT   STATE SERVICE
80/tcp open  http
 
Interesting ports on 192.168.1.100:
Not shown: 996 closed ports
PORT    STATE SERVICE
80/tcp  open  http
139/tcp open  netbios-ssn
777/tcp open  unknown
 
Interesting ports on 192.168.1.102:
Not shown: 991 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
111/tcp   open     rpcbind
1151/tcp  filtered unknown
1233/tcp  filtered unknown
1501/tcp  filtered sas-3
2049/tcp  open     nfs
6006/tcp  filtered X11:6
9110/tcp  filtered unknown
10180/tcp filtered unknown
 
Nmap done: 254 IP addresses (3 hosts up) scanned in 54.73 seconds
[email protected]:~$ nmap 192.168.1.1-254

Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:15 IDT
Interesting ports on 192.168.1.1:
Not shown: 955 filtered ports, 44 closed ports
PORT   STATE SERVICE
80/tcp open  http

Interesting ports on 192.168.1.100:
Not shown: 996 closed ports
PORT    STATE SERVICE
80/tcp  open  http
139/tcp open  netbios-ssn
777/tcp open  unknown

Interesting ports on 192.168.1.102:
Not shown: 991 closed ports
PORT      STATE    SERVICE
22/tcp    open     ssh
111/tcp   open     rpcbind
1151/tcp  filtered unknown
1233/tcp  filtered unknown
1501/tcp  filtered sas-3
2049/tcp  open     nfs
6006/tcp  filtered X11:6
9110/tcp  filtered unknown
10180/tcp filtered unknown

Nmap done: 254 IP addresses (3 hosts up) scanned in 54.73 seconds

Как мы можем видеть, результат не плох, но и не точен. Забегая вперед скажу, что в сети на самом деле подключены 4 устройства, это:

192.168.1.1 – роутер
192.168.1.100 – головной компьютер
192.168.1.101 – телефон iPhone
192.168.1.102 – нетбук

Как видно из листинга nmap обнаружил всего три устройства с адресами: 192.168.1.1, 192.168.1.100, 192.168.1.102

iPhone – остался не замеченным.
Зато мы получили список открытых портов и служб запущенных на них.

Давайте теперь покопаемся немного глубже в сети и попробуем всё таки определеть все устройства, так например компьютеры на которых установлен Antivirus Kaspersky часто не желают палиться, плюс некоторые компьютеры так же успешно скрывают свое пребывание в сети, прячась за файерволами и брендмаурами.

[email protected]:~$ sudo nmap -sP 192.168.1.1-254
[email protected]:~$ sudo nmap -sP 192.168.1.1-254

-sP – scan Ping – сканнер просто опрашивает все компьютеры в сети. Вот почему iPhone не удалось закопаться, так как любое устройство отвечает на ping пакеты.

Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:31 IDT
Host 192.168.1.1 is up (0.0071s latency).
MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.)
Host 192.168.1.100 is up.
Host 192.168.1.101 is up (0.042s latency).
MAC Address: 00:24:36:06:7D:09 (Apple)
Host 192.168.1.102 is up (0.029s latency).
MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies)
Nmap done: 254 IP addresses (4 hosts up) scanned in 6.68 seconds
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:31 IDT
Host 192.168.1.1 is up (0.0071s latency).
MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.)
Host 192.168.1.100 is up.
Host 192.168.1.101 is up (0.042s latency).
MAC Address: 00:24:36:06:7D:09 (Apple)
Host 192.168.1.102 is up (0.029s latency).
MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies)
Nmap done: 254 IP addresses (4 hosts up) scanned in 6.68 seconds

О! Как видите в этот раз улов куда гораздо лучше. Благодаря ключу -sP мы увидели все устройства сети, включая хитрый iPhone. Мы узнали IP-адрес каждого из них, а так же MAC-адрес каждого устройства.

Мало того, ненасытный nmap спал нам вендоров, и как видите в данном случае не спалился только ноутбук под управлением системы Ubuntu 10.04 так как никакой информации мы о нем не получили, зато для устройства с адресом 192.168.1.1 мы видем Tp-link Technologies Co, сразу становиться понятно, что это.

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

Давайте теперь посмотрим сеть с другим флагом:

[email protected]:~$ sudo nmap -PO 192.168.1.0-254
 
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:40 IDT
Interesting ports on 192.168.1.1:
Not shown: 955 filtered ports, 44 closed ports
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.)
 
Interesting ports on 192.168.1.100:
Not shown: 996 closed ports
PORT    STATE SERVICE
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
777/tcp open  unknown
 
All 1000 scanned ports on 192.168.1.101 are filtered
MAC Address: 00:24:36:06:7D:09 (Apple)
 
Interesting ports on 192.168.1.102:
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
2049/tcp open  nfs
MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies)
 
Nmap done: 255 IP addresses (4 hosts up) scanned in 111.96 seconds
[email protected]:~$ sudo nmap -PO 192.168.1.0-254

Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:40 IDT
Interesting ports on 192.168.1.1:
Not shown: 955 filtered ports, 44 closed ports
PORT   STATE SERVICE
80/tcp open  http
MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.)

Interesting ports on 192.168.1.100:
Not shown: 996 closed ports
PORT    STATE SERVICE
80/tcp  open  http
139/tcp open  netbios-ssn
445/tcp open  microsoft-ds
777/tcp open  unknown

All 1000 scanned ports on 192.168.1.101 are filtered
MAC Address: 00:24:36:06:7D:09 (Apple)

Interesting ports on 192.168.1.102:
Not shown: 997 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
2049/tcp open  nfs
MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies)

Nmap done: 255 IP addresses (4 hosts up) scanned in 111.96 seconds

В данном случае, флаг -PO выдал нам перекрестную информацию, т.е. ту которую мы видели просто выполнив nmap + информацию которая была получена от флага -sP. Это упрощает задачу.

Еще один интересный ключ, это -sV (scan version) он покажет вам что именно работает на доступных портах, а так же поможет определить тип ОС.

[email protected]:~$ sudo nmap  -sV 192.168.1.0-254
 
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:55 IDT
Interesting ports on 192.168.1.1:
Not shown: 955 filtered ports, 44 closed ports
PORT   STATE SERVICE VERSION
80/tcp open  http    TP-LINK WR641G/642G WAP http config
MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.)
Service Info: Device: WAP
 
Interesting ports on 192.168.1.100:
Not shown: 996 closed ports
PORT    STATE SERVICE     VERSION
80/tcp  open  http        Apache httpd 2.2.14 ((Ubuntu))
139/tcp open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
777/tcp open  ssh         OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0)
Service Info: OS: Linux
 
Interesting ports on 192.168.1.102:
Not shown: 997 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 5.3p1 Debian 3ubuntu3 (protocol 2.0)
111/tcp  open  rpcbind
2049/tcp open  rpcbind
MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies)
Service Info: OS: Linux
 
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 255 IP addresses (3 hosts up) scanned in 37.81 seconds
[email protected]:~$ sudo nmap  -sV 192.168.1.0-254

Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-29 23:55 IDT
Interesting ports on 192.168.1.1:
Not shown: 955 filtered ports, 44 closed ports
PORT   STATE SERVICE VERSION
80/tcp open  http    TP-LINK WR641G/642G WAP http config
MAC Address: 00:25:86:C0:3B:AC (Tp-link Technologies Co.)
Service Info: Device: WAP

Interesting ports on 192.168.1.100:
Not shown: 996 closed ports
PORT    STATE SERVICE     VERSION
80/tcp  open  http        Apache httpd 2.2.14 ((Ubuntu))
139/tcp open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
777/tcp open  ssh         OpenSSH 5.3p1 Debian 3ubuntu4 (protocol 2.0)
Service Info: OS: Linux

Interesting ports on 192.168.1.102:
Not shown: 997 closed ports
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 5.3p1 Debian 3ubuntu3 (protocol 2.0)
111/tcp  open  rpcbind
2049/tcp open  rpcbind
MAC Address: 00:15:AF:E4:EC:C9 (AzureWave Technologies)
Service Info: OS: Linux

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 255 IP addresses (3 hosts up) scanned in 37.81 seconds

Посмотрите сколько информации мне удалось скасить для Линукс машин под завязку загруженными такими сервисами как: Apache, SSH, NFS, Samba, rdesktop, MySQL, cups and other.

И снова, уверяю вас, после сканирования Windows машины урожай будет много больше и интереснее.

А вот например результат сканирования сайта ubuntu.com

[email protected]:~$ sudo nmap  -sV ubuntu.com
 
Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-30 00:01 IDT
Interesting ports on vostok.canonical.com (91.189.94.156):
Not shown: 998 filtered ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 4.7p1 Debian 12ubuntu1.CAT.8.04.1 (protocol 2.0)
80/tcp open  http    Apache httpd 2.2.8 ((Ubuntu) mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.8 OpenSSL/0.9.8g)
Service Info: OS: Linux
 
Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.51 seconds
[email protected]:~$ sudo nmap  -sV ubuntu.com

Starting Nmap 5.00 ( http://nmap.org ) at 2010-07-30 00:01 IDT
Interesting ports on vostok.canonical.com (91.189.94.156):
Not shown: 998 filtered ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 4.7p1 Debian 12ubuntu1.CAT.8.04.1 (protocol 2.0)
80/tcp open  http    Apache httpd 2.2.8 ((Ubuntu) mod_python/3.3.1 Python/2.5.2 mod_ssl/2.2.8 OpenSSL/0.9.8g)
Service Info: OS: Linux

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.51 seconds

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

[email protected]:~$ sudo nmap -O -A -T4 -v www.walla.co.il
[email protected]:~$ sudo nmap -O -A -T4 -v www.walla.co.il

или просто (- О – операционная система):

[email protected]:~$ sudo nmap -O www.walla.co.il
[email protected]:~$ sudo nmap -O www.walla.co.il

Так же можно попробовать сканировать наиболее популярные порты:

sudo nmap -sX -p 22,53,110,143,4564 walla.co.il
sudo nmap -sX -p 22,53,110,143,4564 walla.co.il

Полезные сетевые утилиты

Для сканирования и изучения сети у вас есть целый буект инструментов, таких как:

  • ping
  • host
  • nslookup
  • traceroute
  • mtr
  • nmap
  • netstat
  • smbtree
  • ifconfig

Для беспроводных сетей:

  • iwlist
  • iwconfig

Так же можно юзать утилиты анализаторы:

  • wireshark
  • trawshow
  • iptraf
  • tcpdump

Все программы доступны из репозиториев и просты в использовании. Получить много информации и знаний вы так же сможете набрав man перед любой из этих утилит. Удачи!