---
# System prepended metadata

title: Nmap Сканирование и идентификация сервисов

---


# Nmap Сканирование и идентификация сервисов

## Общий Обзор

Сканирование сети  при помощи пинг скана
```

nmap -n -sn 192.168.56.0/24 

Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 06:54 EST
Nmap scan report for 192.168.56.103
Host is up (0.00012s latency).
Nmap scan report for 192.168.56.105
Host is up (0.0027s latency).
Nmap done: 256 IP addresses (2 hosts up) scanned in 8.38 seconds
```

**Сканирование единичного хоста**

```
$ nmap 192.168.56.104

Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 07:16 EST
Strange read error from 192.168.56.104 (104 - 'Connection reset by peer')
Nmap scan report for 192.168.56.104
Host is up (0.50s latency).
Not shown: 989 closed tcp ports (conn-refused)
PORT     STATE SERVICE
53/tcp   open  domain
88/tcp   open  kerberos-secs
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
389/tcp  open  ldap
445/tcp  open  microsoft-ds
464/tcp  open  kpasswd5
593/tcp  open  http-rpc-epmap
636/tcp  open  ldapssl
3268/tcp open  globalcatLDAP
3269/tcp open  globalcatLDAPssl
Nmap done: 1 IP address (1 host up) scanned in 15.28 seconds
```
**Сканирование определенного порта**

```
nmap  192.168.56.105 -p 22 -n

tarting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 08:59 EST
Nmap scan report for 192.168.56.105
Host is up (0.00032s latency).
PORT   STATE SERVICE
22/tcp open  ssh
Nmap done: 1 IP address (1 host up) scanned in 0.12 seconds
```
**Сканирование диапазона портов**

```
$ nmap  192.168.56.104 -p 1-1024 -n

Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 09:02 EST
Nmap scan report for 192.168.56.104
Host is up (0.00038s latency).
Not shown: 1015 closed tcp ports (conn-refused)
PORT    STATE SERVICE
53/tcp  open  domain
88/tcp  open  kerberos-sec
135/tcp open  msrpc
139/tcp open  netbios-ssn
389/tcp open  ldap
445/tcp open  microsoft-ds
464/tcp open  kpasswd5
593/tcp open  http-rpc-epmap
636/tcp open  ldapssl
Nmap done: 1 IP address (1 host up) scanned in 1.94 seconds
```


**Определение ОС**

Во время сканирования, с определением ОС, nmap не смог определить опрерационную систему,  и отдал так называемый TCP/IP fingerprint:

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

чтобы разобартьсяс этим отпечатком, также рекомендуют сканировать 

с флагом -sV ,  но вообще странно, что он не смог идентифицировать  Windows Server 2019

![](https://i.imgur.com/ydrfKOR.png)


```
sudo nmap -O 192.168.56.104

Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 07:23 EST
Nmap scan report for 192.168.56.104
Host is up (0.00044s latency).
Not shown: 989 closed tcp ports (reset)
PORT     STATE SERVICE
53/tcp   open  domain
88/tcp   open  kerberos-sec
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
389/tcp  open  ldap
445/tcp  open  microsoft-ds
464/tcp  open  kpasswd5
593/tcp  open  http-rpc-epmap
636/tcp  open  ldapssl
3268/tcp open  globalcatLDAP
3269/tcp open  globalcatLDAPssl

MAC Address: 08:00:27:E4:71:55 (Oracle VirtualBox virtual NIC)

No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).

TCP/IP fingerprint:
OS:SCAN(V=7.93%E=4%D=3/5%OT=53%CT=1%CU=38100%PV=Y%DS=1%DC=D%G=Y%M=080027%TM
OS:=640489E6%P=x86_64-pc-linux-gnu)SEQ(SP=106%GCD=1%ISR=10C%TI=I%CI=I%II=I%
OS:SS=S%TS=U)OPS(O1=M5B4NW8NNS%O2=M5B4NW8NNS%O3=M5B4NW8%O4=M5B4NW8NNS%O5=M5
OS:B4NW8NNS%O6=M5B4NNS)WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FF70)
OS:ECN(R=Y%DF=Y%T=80%W=FFFF%O=M5B4NW8NNS%CC=Y%Q=)T1(R=Y%DF=Y%T=80%S=O%A=S+%
OS:F=AS%RD=0%Q=)T2(R=Y%DF=Y%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=Y%DF=Y%T=
OS:80%W=0%S=Z%A=O%F=AR%O=%RD=0%Q=)T4(R=Y%DF=Y%T=80%W=0%S=A%A=O%F=R%O=%RD=0%
OS:Q=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80%W=0%S=
OS:A%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=
OS:Y%DF=N%T=80%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%
OS:T=80%CD=Z)

Network Distance: 1 hop
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 26.45 seconds
```

А вот сканирование с -sV, тут он уже определил хостнейм и ОС и расширенную информацию о запущенных сервисах


```
sudo nmap -O -sV 192.168.56.104

Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 07:27 EST
Nmap scan report for 192.168.56.104
Host is up (0.00052s latency).
Not shown: 989 closed tcp ports (reset)
PORT     STATE SERVICE       VERSION
53/tcp   open  domain        Simple DNS Plus
88/tcp   open  kerberos-sec  Microsoft Windows Kerberos (server time: 2023-03-05 23:27:17Z)
135/tcp  open  msrpc         Microsoft Windows RPC
139/tcp  open  netbios-ssn   Microsoft Windows netbios-ssn
389/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: mydc.local0., Site: Default-First-Site-Name)
445/tcp  open  microsoft-ds?
464/tcp  open  kpasswd5?
593/tcp  open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
636/tcp  open  tcpwrapped
3268/tcp open  ldap          Microsoft Windows Active Directory LDAP (Domain: mydc.local0., Site: Default-First-Site-Name)
3269/tcp open  tcpwrapped
MAC Address: 08:00:27:E4:71:55 (Oracle VirtualBox virtual NIC)
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).

TCP/IP fingerprint:
OS:SCAN(V=7.93%E=4%D=3/5%OT=53%CT=1%CU=40767%PV=Y%DS=1%DC=D%G=Y%M=080027%TM
OS:=64048AB7%P=x86_64-pc-linux-gnu)SEQ(SP=FD%GCD=1%ISR=10B%TI=I%CI=I%II=I%S
OS:S=S%TS=U)OPS(O1=M5B4NW8NNS%O2=M5B4NW8NNS%O3=M5B4NW8%O4=M5B4NW8NNS%O5=M5B
OS:4NW8NNS%O6=M5B4NNS)WIN(W1=FFFF%W2=FFFF%W3=FFFF%W4=FFFF%W5=FFFF%W6=FF70)E
OS:CN(R=Y%DF=Y%T=80%W=FFFF%O=M5B4NW8NNS%CC=Y%Q=)T1(R=Y%DF=Y%T=80%S=O%A=S+%F
OS:=AS%RD=0%Q=)T2(R=Y%DF=Y%T=80%W=0%S=Z%A=S%F=AR%O=%RD=0%Q=)T3(R=Y%DF=Y%T=8
OS:0%W=0%S=Z%A=O%F=AR%O=%RD=0%Q=)T4(R=Y%DF=Y%T=80%W=0%S=A%A=O%F=R%O=%RD=0%Q
OS:=)T5(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=80%W=0%S=A
OS:%A=O%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=80%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y
OS:%DF=N%T=80%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=G%RUD=G)IE(R=Y%DFI=N%T
OS:=80%CD=Z)
Network Distance: 1 hop
Service Info: Host: ARD01F; OS: Windows; CPE: cpe:/o:microsoft:windows
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 33.30 seconds
```
Быстрое сканирование отработало быстрее примерно на 2 секунды,чем обычное за счет обхода меньшего кол-ва портов.

```
nmap -F 192.168.56.104

Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 08:11 EST
Nmap scan report for 192.168.56.104
Host is up (0.0015s latency).
Not shown: 94 closed tcp ports (conn-refused)
PORT    STATE SERVICE
53/tcp  open  domain
88/tcp  open  kerberos-sec
135/tcp open  msrpc
139/tcp open  netbios-ssn
389/tcp open  ldap
445/tcp open  microsoft-ds
Nmap done: 1 IP address (1 host up) scanned in 13.13 seconds
```

Интерфейсы и маршруты


```
nmap --iflist
Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-05 08:32 EST
************************INTERFACES************************
DEV  (SHORT) IP/MASK                    TYPE     UP MTU   MAC
lo   (lo)    127.0.0.1/8                loopback up 65536
lo   (lo)    ::1/128                    loopback up 65536
eth0 (eth0)  192.168.56.103/24          ethernet up 1500  08:00:27:B1:9D:67
eth0 (eth0)  fe80::cf9:c12:3ef1:1de4/64 ethernet up 1500  08:00:27:B1:9D:67

**************************ROUTES**************************
DST/MASK                    DEV  METRIC GATEWAY
192.168.56.0/24             eth0 100
::1/128                     lo   0
fe80::cf9:c12:3ef1:1de4/128 eth0 0
::1/128                     lo   256
fe80::/64                   eth0 1024
ff00::/8                    eth0 256
```

## Попробуем провести следующие типы сканирования  Syn,Fin,Ack,Xmas,Maimon,Idle

SYN сканирование `sudo nmap -sS 192.168.56.104 -p 443,44`5
![](https://i.imgur.com/T5O30qU.png)


ACK сканирование `sudo nmap -sA 192.168.56.104 -p 443,445`
![](https://i.imgur.com/vJLnFGc.png)


FIN сканирование    `sudo nmap -sF 192.168.56.104 -p 443,445`
![](https://i.imgur.com/fjJIwcP.png)

Xmas сканирование    `sudo nmap -sX 192.168.56.104 -p 443,445`
![](https://i.imgur.com/OUYxZT9.png)


Maimon сканирование    sudo nmap -sM 192.168.56.104 -p 443,445

Этот тип сканирования носит имя своего первооткрывателя, Уриела Мэймона 
Техника практически такая же как и при  FIN и Xmas сканированиях, только в качестве запросов используются 
запросы FIN/ACK. Согласно RFC 793 (TCP), в ответ на такой запрос должен быть сгенерирован RST пакет, если порт открыт или 
закрыт. Тем не менее, Уриел заметил, что многие BSD системы просто отбрасывают пакет, если порт открыт.


Сканирование Windows показывает, что пакет отбрасывается

![](https://i.imgur.com/O69cPxZ.png)


На Debian тоже пришли RST

![](https://i.imgur.com/UIT2v9t.png)


Попробую установить FreeBSD

![](https://i.imgur.com/1RokH3r.png)


`sudo nmap -sM 192.168.56.106 -p 22,80 -n`

и...
![](https://i.imgur.com/C6RDNio.png)

К сожалению, сканирование фряхи, также отдает RST, а так хотелось, чтобы его не было =)

Idle сканирование aka Zombie Scan

 

 Подробно о сканировании написано в документации https://nmap.org/book/idlescan.html

 Если коротко, то idle при сканировании  происходит спуфинг ip адреса на адрес хоста, который мы укажем как вспомогательный,а также

 используется одна замечательная особенность, что при отправке пакета с  tcp RST , поля идендификатора этого пакета увеличивается на один. 

 Если смотреть в wireshark, то этот идентификатор находится именно в части заголовков IP.

![](https://i.imgur.com/asU4PVX.png)

 `sudo nmap -n -v -Pn -sI 192.168.56.104 192.168.56.105 -p 445`

 После начала сканирования, мы отправляем несколько пакетов на вспомогательный хост, чтобы проверить как будет изменяться поле id 

 После мы отправляем несколько пакетов имитируя целевой хост в моем случае, всегда отправлялось 4 пакета.
![](https://i.imgur.com/zF4xLAj.png)


Далее идет контрольная отправка на зомби хост, для контрольной проверки id

И собственно сканирование, мы отправляем от IP зомби хоста и порта, который мы использовал,  обычный syn пакет на целевую машину. 

![](https://i.imgur.com/vnmGw3t.png)


Далее проверяем результат, если на 105 хосте открыт 445 порт он отправит SYN/ACK и 104 хост отреагирует RST и у 104 увечилится id на 1

Мы отправляем пакет SYN/ACK на 104 и проверяем результат если id увеличен на 2 , то порт открыт если на 1 то закрыт или фильтруется.

**Ping Scan**

Сканирование при помощи SYN, после флага -PS указывается порт сканирования. Использую параметры -sn для включения режима 

без сканирования портов, а также параметр --send-ip для принидительного использования ip протокола, иначе используется arp игнорируя указанные флаги и при сканировании не использует ip протокол, если искомые хосты находятся в одной канальной среде.

**TCP SYN Ping ( ) -PS <port list>**

Опция -PS отправляет пустой TCP-пакет с установленным флагом SYN. Порт назначения по умолчанию — 80

`nmap -n -sn --send-ip -PS445 192.168.56.105`

![](https://i.imgur.com/qh8YXjm.png)


**Пинг TCP ACK ( ) -PA <port list>**

`sudo nmap -n -sn --send-ip -PA445 192.168.56.105`

![](https://i.imgur.com/kNowpEw.png)


**UDP-пинг ( ) -PU <port list>**

`sudo nmap -n -sn --send-ip -PU445 192.168.56.105`

![](https://i.imgur.com/ikfzArC.png)


**ICMP-пинг -PE**

`sudo nmap -n -sn --send-ip -PE 192.168.56.105`

![](https://i.imgur.com/JHA5HJv.png)


Есть и другие типы ICMP, их можно посмотреть в документации и соответствующих RFC

**ARP-сканирование ( -PR)**

`sudo nmap -n -sn -PR 192.168.56.105`

![](https://i.imgur.com/2b1t9Fz.png)


Если добавить опцию --send-ip он отправит несколько пакетов которые у него заданы по умолчанию(-PE -PS443 -PA80 -PP)

`sudo nmap -n -sn --send-ip -PR 192.168.56.105`

![](https://i.imgur.com/9y4cgFa.png)


**Пинг IP-протокола ( ) -PO <protocol list>**

 Если протоколы не указаны, по умолчанию отправляется несколько IP-пакетов для ICMP (протокол 1), IGMP (протокол 2) и IP-in-IP (протокол 4). 

Протоколы по умолчанию можно настроить во время компиляции, изменив DEFAULT_PROTO_PROBE_PORT_SPEC в nmap.h. Обратите внимание, 

что для ICMP, IGMP, TCP (протокол 6) и UDP (протокол 17) пакеты отправляются с соответствующими заголовками протокола, в то время как

 другие протоколы отправляются без дополнительных данных, кроме заголовка IP (если только --data-length опция указана).

 

`sudo nmap -n -sn --send-ip -PO6 192.168.56.105`

![](https://i.imgur.com/wCVYn7r.png)


`sudo nmap -n -sn --send-ip -PO10 192.168.56.105`

![](https://i.imgur.com/r1j5xTd.png)


## Проведение сканирования с помощью скрипта vulners.nse

  
 Намучался с запуском, но после apt update все таки запустил скриптец =)

 Проверял на metasploitable2 , чтобы вывод какой то уж точно был, ну его тут слишком много, добавлю лишь часть.
```
 ──(root㉿kali)-[~]
└─# sudo nmap -n -sV --script=vulners --script-args=mincvss=1.0 192.168.56.102
sudo: unable to resolve host kali: Name or service not known
Starting Nmap 7.93 ( https://nmap.org ) at 2023-03-27 15:17 EDT
Nmap scan report for 192.168.56.102
Host is up (0.013s latency).
Not shown: 977 filtered tcp ports (no-response)
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         vsftpd 2.3.4
22/tcp   open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
| vulners: 
|   cpe:/a:openbsd:openssh:4.7p1: 
|       SECURITYVULNS:VULN:8166 7.5     https://vulners.com/securityvulns/SECURITYVULNS:VULN:8166
|       CVE-2010-4478   7.5     https://vulners.com/cve/CVE-2010-4478
|       CVE-2008-1657   6.5     https://vulners.com/cve/CVE-2008-1657
|       SSV:60656       5.0     https://vulners.com/seebug/SSV:60656    *EXPLOIT*
|       CVE-2010-5107   5.0     https://vulners.com/cve/CVE-2010-5107
|       CVE-2012-0814   3.5     https://vulners.com/cve/CVE-2012-0814
|       CVE-2011-5000   3.5     https://vulners.com/cve/CVE-2011-5000
|       CVE-2008-5161   2.6     https://vulners.com/cve/CVE-2008-5161
|       CVE-2011-4327   2.1     https://vulners.com/cve/CVE-2011-4327
|_      CVE-2008-3259   1.2     https://vulners.com/cve/CVE-2008-3259
23/tcp   open  telnet      Linux telnetd
25/tcp   open  smtp        Postfix smtpd
53/tcp   open  domain      ISC BIND 9.4.2
| vulners: 
|   cpe:/a:isc:bind:9.4.2: 
|       SSV:60184       8.5     https://vulners.com/seebug/SSV:60184    *EXPLOIT*
|       CVE-2012-1667   8.5     https://vulners.com/cve/CVE-2012-1667
|       SSV:60292       7.8     https://vulners.com/seebug/SSV:60292    *EXPLOIT*
|       CVE-2014-8500   7.8     https://vulners.com/cve/CVE-2014-8500
|       CVE-2012-5166   7.8     https://vulners.com/cve/CVE-2012-5166
|       CVE-2012-4244   7.8     https://vulners.com/cve/CVE-2012-4244
|       CVE-2012-3817   7.8     https://vulners.com/cve/CVE-2012-3817
|       CVE-2008-4163   7.8     https://vulners.com/cve/CVE-2008-4163
|       CVE-2010-0382   7.6     https://vulners.com/cve/CVE-2010-0382
|       EXPLOITPACK:D6DDF5E24DE171DAAD71FD95FC1B67F2    7.2     https://vulners.com/exploitpack/EXPLOITPACK:D6DDF5E24DE171DAAD71FD95FC1B67F2    *EXPLOIT*
|       EDB-ID:42121    7.2     https://vulners.com/exploitdb/EDB-ID:42121      *EXPLOIT*
|       CVE-2017-3141   7.2     https://vulners.com/cve/CVE-2017-3141
|       CVE-2015-8461   7.1     https://vulners.com/cve/CVE-2015-8461
|       CVE-2021-25216  6.8     https://vulners.com/cve/CVE-2021-25216
|       CVE-2015-8704   6.8     https://vulners.com/cve/CVE-2015-8704
|       CVE-2009-0025   6.8     https://vulners.com/cve/CVE-2009-0025
|       CVE-2015-8705   6.6     https://vulners.com/cve/CVE-2015-8705
|       CVE-2010-3614   6.4     https://vulners.com/cve/CVE-2010-3614
|       SSV:4636        5.8     https://vulners.com/seebug/SSV:4636     *EXPLOIT*
|       SSV:30099       5.0     https://vulners.com/seebug/SSV:30099    *EXPLOIT*
```

## Stealth Scan

К техникам скрытного сканирования можно отнести Xmas scan, который был показан чуть раньше.

Так же в эту категорию можно добавить , null сканирование -sN, или скрытое SYN сканирование опция -sS, отправлять пакеты от 53 порта и вообще есть пространство для творчества, отправляя не стандартные пакеты, можно обходить правила firewall или IDS/IPS.

```
sudo nmap -n -p 23 --data-length 666 -sS --scanflags SYNFIN 192.168.56.102
PORT   STATE SERVICE
23/tcp open  telnet
MAC Address: 08:00:27:B0:64:84 (Oracle VirtualBox virtual NIC)

Nmap done: 1 IP address (1 host up) scanned in 0.29 seconds
```
nmap определил порт как открытый, а в wireshark можно видеть, что пакет состоит из какого то трэша.

![](https://i.imgur.com/8VesUpt.png)




