Nmap – дефиниција и практични примери употребе

Nmap је поприлично моћан програм отвореног кода који има улогу да скенира мрежу у потрази за хостовима, оперативним системима и сервисима који се налазе на отвореним портовима и разним другим мрежним scan активностима али и рањивостима коришћењем скриптинга – односно укратко, служи испитивању мреже и провери безбедности. Nmap је иначе скраћеница од Network Mapper и има га у верзији за скоро све оперативне системе.

Одлично упутство за рад са nmap-ом на нашем језику (да не буде забуне, наш=српски, хрватски, босански) имате на званичној адреси nmapа: https://nmap.org/man/hr/

Ово су неки од примера, нисам хтео да стављам реалне јавне адресе (означио сам са XXX) да се не би неко наложио да их скенира ни криве ни дужне. Уместо једне IP адресе мозе се мало „и цинцулирати“ са опсезима, нпр:

  • nmap 192.168.1.50 192.168.55.100 (две IP адресе за скенирање)
  • nmap 192.168.1.0/24 (цео „subnet“ тј 192.168.1.0-192.168.1.254)
  • nmap 192.168.1.* (subnet коришћењем wildcard карактера)
  • nmap 192.168.1.111,116,220 (скенирање само 3 IP адресе из опсега раздвојене зарезом, тј у овом случају 192.168.1.111, 192.168.1.116 и 192.168.1.220)
  • nmap 192.168.1.50-115 (скенирање опсега 192.168.1.50-192.168.1.115)
  • nmap 192.168.1.0/24 –exclude 192.168.1.200 (скенирај све сем једне IP адресе)

Како малициозни корисник може да искористи nmap? Пример општепознате сцене из Matrixa – скенира мрежу, нађе рецимо сервер који користи бушни SSH V1 протокол па се кроз њега путем exploit-a улогује на сам сервер. Цео тај хак са техничке стране можете видети на овом линку.

Ово су нека скенирања која обично пуштам.

# Скенирање оперативног система на IP адреси
nmap -O XXX.XXX.XXX.XXX

# -O = Детекција оперативног система

####### Резултат скенирања ###########
# Starting Nmap 6.40 ( http://nmap.org ) at 2016-11-21 09:56 CET
# Nmap scan report for XXX.XXX.XXX.XXX
# Host is up (0.044s latency).
# Not shown: 996 filtered ports
# PORT      STATE  SERVICE
# 80/tcp    open   http
# 443/tcp   open   https
# 12000/tcp closed cce4x
# 50000/tcp open   ibm-db2
# Device type: general purpose|WAP|media device|specialized|webcam
# Running (JUST GUESSING): Linuks 2.6.X|3.X (97%), Netgear embedded (93%), Western Digital embedded (93%), Crestron 2-Series (92%), AXIS Linuks 2.6.X (88%)
# OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3 cpe:/h:netgear:dg834g cpe:/o:westerndigital:wd_tv cpe:/o:crestron:2_series cpe:/h:axis:210a_network_camera cpe:/h:axis:211_network_camera cpe:/o:axis:linux_kernel:2.6
# Aggressive OS guesses: Linuks 2.6.32 - 3.6 (97%), Linuks 2.6.32 - 3.9 (97%), Linuks 2.6.32 (95%), Linuks 2.6.32 - 3.2 (94%), Netgear DG834G WAP or Western Digital WD TV media player (93%), Linuks 3.0 - 3.9 (93%), Linuks 3.3 (93%), Crestron XPanel control system (92%), Linuks 2.6.38 - 3.0 (92%), Linuks 3.0 - 3.1 (91%)
# No exact OS matches for host (test conditions non-ideal).
#
# OS detection performed. Please report any incorrect results at http://nmap.org/submit/ .
# Nmap done: 1 IP address (1 host up) scanned in 9.38 seconds
# Скенирање верзије алата који ослушкује на отвореним портовима на IP адреси
nmap -sV XXX.XXX.XXX.XXX

# -sV = Детекција верзије софтвера који ослушкује на датом порту

########### Резултат скенирања ##############################
# Starting Nmap 6.40 ( http://nmap.org ) at 2016-11-21 09:53 CET
# Nmap scan report for XXX.XXX.XXX.XXX
# Host is up (0.044s latency).
# Not shown: 996 filtered ports
# PORT      STATE  SERVICE VERSION
# 80/tcp    open   http    Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.28)
# 443/tcp   open   http    Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 PHP/5.6.28)
# 12000/tcp closed cce4x
# 50000/tcp open   ftp     vsftpd 3.0.2
# Service Info: OS: Unix
#
# Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
# Nmap done: 1 IP address (1 host up) scanned in 41.68 seconds

# Дај брзински основне информације о хосту који се скенира
nmap -A -T4 XXX.XXX.XXX.XXX

# -A = Скенирај верзију OS-a, верзију онога сто је на том порту, уради script 'scanning' и 'traceroute'.
# -T4 = Тајминг шаблон, 0-5...што већи број то је брзе скенирање

######### Резултат скенирања ############
# Starting Nmap 6.40 ( http://nmap.org ) at 2016-11-21 10:05 CET
# Nmap scan report for XXX.XXX.XXX.XXX
# Host is up (0.053s latency).
# Not shown: 995 closed ports
# PORT     STATE    SERVICE        VERSION
# 22/tcp   open     tcpwrapped
# 646/tcp  filtered ldp
# 711/tcp  filtered cisco-tdp
# 2000/tcp open     bandwidth-test MikroTik bandwidth-test server
# 8291/tcp open     tcpwrapped
# Device type: general purpose
# Running: Linuks 2.6.X|3.X
# OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
# OS details: Linuks 2.6.32 - 3.9
# Network Distance: 12 hops
#
# TRACEROUTE
# HOP RTT      ADDRESS
# 1   52.89 ms XXX.XXX.XXX.XXX
#
# OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
# Nmap done: 1 IP address (1 host up) scanned in 11.16 seconds
# Скенирање опсега портова на некој IP
nmap -Pn -p 1-10000 XXX.XXX.XXX.XXX

# -Pn не пингуј ништа и мимоиђи firewall ако је дигнут
# -p - један порт (нпр 80), више портова (нпр 21,80,1521) или опсег портова (нпр 80-500) које треба скенирати

######## Резултат скенирања #########
# Starting Nmap 6.40 ( http://nmap.org ) at 2016-11-21 10:18 CET
# Nmap scan report for XXX.XXX.XXX.XXX.static.isp.telekom.rs (XXX.XXX.XXX.XXX)
# Host is up (0.075s latency).
# Not shown: 59995 filtered ports
# PORT      STATE SERVICE
# 80/tcp    open  http
# 5766/tcp  open  unknown
# 15487/tcp open  unknown
# 31313/tcp open  unknown
# 36458/tcp open  unknown
# Испис резултата скенирања у фајл (ако има много резултата користити ово
nmap -Pn -p- -T4 XXX.XXX.XXX.XXX -oN /tmp/rezultat.txt

# -p- - скенирај све портове
# -oN - нормалан испис у фајл (има још могућих исписа, типа XML...)

# Резултат скенирања je у фајлу /tmp/rezultat.txt
vim /tmp/rezultat.txt
# Скенирање свих хостова унутар неког LAN опсега
nmap 192.168.224.0/24 -sP -sL

# -sP - Ако има пинга
# -sL - дај ако је могуће и hostname

# Ако нам требају само live IP адресе онда можемо да умиксујемо и grep у причу, типа
nmap 192.168.224.0/24 -n -sP | grep report | awk '{print $5}'

# -n = Без имена које компјутер има на мрежи (DNS)
# Скенирај и искористи дифолтно доступне скрипте за проверу безбедности
# На ЦентОС-у се налазе у фолдеру /usr/share/nmap/scripts/
nmap -sV -s Ckompjuteras.com

# Више о скриптама: https://nmap.org/book/man-nse.html
# и овде: https://goo.gl/JmyVen

##### Резултат скенирања kompjuteras.com сајта #####
# Starting Nmap 5.51 ( http://nmap.org ) at 2016-11-21 16:41 CET
# Nmap scan report for kompjuteras.com (212.24.107.33)
# Host is up (0.053s latency).
# rDNS record for 212.24.107.33: sajt.ga
# Not shown: 989 filtered ports
# PORT     STATE  SERVICE     VERSION
# 25/tcp   closed smtp
# 53/tcp   closed domain
# 80/tcp   open   http        nginx
# |_http-methods: No Allow or Public header in OPTIONS response (status code 301)
# |_http-title: Did not follow redirect to https://kompjuteras.com/ andno page was returned.
# |_http-favicon:
# 110/tcp  closed pop3
# 143/tcp  closed imap
# 443/tcp  open   http        nginx
# |_http-title: 400 The plain HTTP request was sent to HTTPS port
# |_http-methods: No Allow or Public header in OPTIONS response (status code 400)
# 465/tcp  closed smtps
# 587/tcp  closed submission
# 993/tcp  closed imaps
# 995/tcp  closed pop3s
# 2525/tcp closed ms-v-worlds
#
# Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
# Nmap done: 1 IP address (1 host up) scanned in 13.40 seconds