Professional Documents
Culture Documents
Network sniffing се проводи уз помоћ софтвера за снимање и анализу мрежног промета. Постоје
више различитих алата за sniffing, а неки су бесплатни и доступни за преузимање на интернету.
Важно је напоменути да се ова техника не смије користити без дозволе власника мреже, јер се у
противном може сматрати незаконитом.
У литератури на српском језику, неки од најчешћих термина који се користе за network sniffing су:
„њушкање“ мреже
мрежно шпијунирање
мрежно прислушкивање
анализа мрежног промета
праћење мрежног промета
извиђање мреже
скенирање мреже
скенирање мрежног саобраћаја
Осим за потребе заштите мреже, рањивости које се откривају скенирање мрежног саобраћаја
користи се и за потенцијалне нападе. У општем случају, напади на рачунарске системе и мреже
извршавају се у пет фаза, које су окарактерисане активностима и улогама у остваривању напада.
Скенирање рачунарских мрежа, као прва фаза у нападу на рачунарске мреже, представља процес
анализирања преноса пакетних података чија је сврха прикупљање информација о стању мреже.
У ове информације спадају топологија мреже, инсталирани софтвер, верзије и подешавања,
период у коме систем није ресетован, активни сервиси и слично, односно све што може указати на
рањивости које се могу искористити за потребе напада.
1
Након реализације напада – успјешног упада у систем – врши се фаза остваривања циљева напада
која се завршава уклањањем трагова.
хоризонтално скенирање
вертикално скерирање
дубинско скенирање
1
Одређивање вријемена које протекне од тренутка слања захтјева са једног рачунара у мрежи ка другом до
тренутка пријема одговора
2
Пакет са подацима који се шаље у процесу ping скенирања
2
Слика 2: вертикално скенирање
3
почетним фазама развоја представљао је моћан алат који је омогућавао ефикасно скенирање
портова великих мрежа. Током даљег развојног периода, имплемениране су нове
функционалности као што су: удаљено откривање верзије оперативног система, препознавање
услуга и њихових верзија, nmap скриптни engine и др. [2] Данас се сматра једним од најпознатијих
алата који се користе у мрежној дијагностици те је постао незаобилазан у тестирању сигурности
рачунарских система.
Принцип рада се заснива на слању захтјева у форми IP пакета од стране Nmap алата према
одређеним хостовима [3]. На основу добијених одговора, Nmap алат доноси закључке о стању на
мрежи.
Kali Linux је једна од дистрибуција Linux оперативног система која је креирана у сврху разних
сигурносних тестирања, те садржи неколико стотина алата за те потребе међу којима је и Nmap.
Свака наредба Nmap програма започиње са кључном ријечи nmap на основу које Kali Linux
pokreće Nmap алат. Након кључне ријечи наводи се листа аргумената који одређују врсту
скенирања, након чега се наводи вриједност неког од идентификационих атрибута рачунара у
мрежи (име, IP адреса) или мреже (опсег IP адреса) која треба бити скенирана (Слика 4).
4
Кодом nmap nmap_example-flask-1-1 (листинг 1) скенира се хост са именом nmap_example-flask-1-
1 и као резултат добија се извјештај скенирања (scan report). Садржај извјештаја даје информације
о IP адреси хоста (172.18.0.7), да ли је хост активан (Host is up) и ако јесте које вријеме је потребно
за одзив (ping), односно успостављање конекције (0.000012s latency), број портова који су
затворени (Not shown:999 closed tcp ports), као и који су портови отворени и који су сервиси преко
њих доступни (PORT: 5000/tcp; STATE: open; SERVICE:upnp 3). Такође, приказује се и MAC адреса4
хоста (MAC Address: 02:42:AC:12:00:07)
У овом примјеру из листинга 2, извршавањем кода nmap 172.18.0.4, скенира се хост са IP адресом
172.18.0.4. Вриједност атрибута стања порта 22 је отворен (PORT: open) и преко њега је омогућен
сервис ssh (SERVICE: ssh)5.
Скенирање хостова преко IP адреса из одређеног опсега корисно је када се покушава утврдити
гдје се може десити мрежни напад. Такође, могућност скенирања више IP адреса штеди
драгоцјено вријеме приликом праћења мрежне сигурности. Након навођења почетне IP адресе
уноси се – и број који указује колико ће се хостова са IP адресам скенирати, почев од прве
наведене адресе.
Извршавањем кода nmap 172.18.0.1 – 20 (листинг 3) скенирају се хостови чије се IP адресе налазе
у опсегу 172.18.0.1 – 172.18.0.20. Из извјештаја се може закључити да су активни хостови, редом,
са сљедећим IP адресама: 172.18.0.1; 172.18.0.3; 172.18.0.4; 172.18.0.5; 172.18.0.6; 172.18.0.7;
172.18.0.2.
3
UPnP (Universal Plug and Play) – мрежни протокол за аутоматско проналажење, повезивање и кориштење
уређаја на мрежи
4
MAC (Media Access Control) адреса је јединствени 12-цифрени хексадецимални идентификатор мрежног
адаптера хоста који служи за идентификацију хоста у локалној мрежи
5
SSH (Secure Shell) – сигурносни протокол за пријављивање на сервер и управљање сервером са удаљене
локације
5
Листинг 3: скенирање хостoва преко опсега IP
адреса
6
Листинг 4: скенирање подмреже
List scan служи за потврђивање хостова који ће бити скенирани. Приликом ове врсте скенирања не
шаљу се пакети одредишним хостовима, него се само исписује сваки хост на мрежи, тј. врши се
обрнути DNS поступак над њима у циљу сазнања назива хостова. [2] Такође, добија се и
информација о броју IP адреса на тој мрежи. За покретање list scan-а потребно је након кључне
ријечи nmap навести аргумент -sL.
7
Листинг 5: листа хостова
Nmap на основу кода nmap -sL 172.18.0.1 – 7 (листинг 5) извршава обрнути DNS поступак, односно
адресе из опсега 172.18.0.1 – 172.18.0.7 преводи у називе хостова.
Аргументом -sP покреће се ping scan, који за резултат има све доступне хостове, односно хостове
који су одговорили на слање пакета. У приниципу, ова опција омогућава слање ICMP echo request и
TCP ACK пакета на порт 80 одредишног хоста. [2] У случају да је активност покренута од стране
непривилегованог корисника, тада се на порт 80 шаље TCP SYN пакет. За скенирање хостова на
локалној мрежи користе се ARP захтјеви6, а за резултат се добијају и MAC адресе уређаја на
локалној мрежи. [2]
Листинг 6: ping
scan
6
ARP (Address Resolution Protocol) захтјев – захтјев који се упућује хосту у сврху идентификовања његове
MAC адресе
8
Извршавањем кода nmap -sP 172.18.0.0/24 (листинг 6), техником ICMP echo request, добија се
списак свих активних хостова у подмрежи 172.18.0.0/24 и њихове MAC адресе.
У неким ситуацијама хост је веома добро заштићен и привидно је неактиван јер не одговара на
упућене захтјеве, али ипак над њим је моуће примијенити скенирање портова уз избор правих
аргумената.
5 Скенирање портова
Након откривања активних хостова у мрежи, што је представљало примјер хоризонталног
скенирања, потребно је вршити даље тестирање, односно вертикално скенирање. Као што је већ
речено, Nmap се у првим фазама развоја користио за скенирање портова. Иако је опсег
функционалности проширен, скенирање портова је и даље главна карактеристика овог програма.
Скенирањем порта добија се информација о стању порта.
отворен (open)
затворен (closed)
филтриран (filtered)
нефилтриран (unfiltered)
отворен/филтриран (open/filtered)
затворен/филтриран (closed/filtered)
Nmap интерпретира да је порт отворен ако апликација на том порту активно прихвата TCP и/или
UDP пакете. Отворени портови представљају показатеље доступних услуга на мрежи. Основни
задатак администратора мреже је контрола и заштита отворених портова.
Порт који је доступан али преко њега ни једна апликација не прихвата мрежне пакете сматра се
затвореним портом.
Ако су упућени захтјеви према порту блокирани од стране firewall-а, правила на рутеру или на
неки други начин, тада Nmap није у могућности утврдити да ли је порт отворен или затворен.
Такав порт се означава као филтриран (filtered).
9
Стање порта затворен/филтриран када Nmap не може одредити да ли је порт затворен или
филтриран.
Навођењем аргумента -p и броја порта извршава се процес скенирања порта чији је број наведен.
Процес скенирања порта 220 хоста чија је адреса 172.18.0.3, на основу кода nmap -p 220 172.18.0.3
(листинг 7), резултује извјештајем о стању порта (STATE: closed) и сервису који је преко њега
доступан (SERVICE: imap3).
Кодом nmap -p 20 – 100 172.18.0.5 (листинг 8) скенирају се сви портови из опсега 20 – 100 на хосту
чија је IP адреса 172.18.0.5.
10
Листинг 9: брзо скенирање портова
Кодом nmap -f 172.18.0.4 (листинг 9) извршено је брзо скенирање 100 најчешће кориштених
портова на хосту са IP адресом 172.18.0.4. Порт број 5000 је отворен (STATE: open) и преко њега је
омогућен UPnP сервис (SERVICE: upnp)
Аргументом -p- извршава се скенирање свих постојећих портова. Ову врсту скенирања начешће
користе администратори мреже ради провјере сигурности портова [4].
Извршавање кода nmap -p- 172.18.0.6 (листинг 10) резултује извјештајем о скенирању свих 65535
портова на хосту са IP адресом 172.18.0.6. Порт 22 је отворен (STATE: open) и омогућена је ssh
услуга (SERVICE: ssh).
11
Постоји више различитих типова скенирања портова помоћу алата Nmap. У зависности од циља
врши се избор типа скенирања које се спроводи. Нпр. ако је потребно да се утврди који су TCP
портови активни на циљаном хосту, покреће се TCP скенирање.
Ако скенирање покреће привилеговани корисник („root“ на Unix/Linux оперативном систему или
„administrator“ на Windows), TCP SYN скенирање се сматра подразумијеваним (default), те је
довољно навести само аргумент -p. Иначе, ако скенирање покреће неки други корисник, пише се
аргумент -sS.
TCP SYN скенирање се заснива на „Three way handshake“ успостављању конекције између клијента
и сервера. Принцип се огледа у слању TCP пакета са постављеном SYN (Synchronization Packet)
заставицом на одређени порт, као захтјева клијента за успостављање конекције са сервером. Ако
је порт отворен, одговарајућа апликација са сервера преко тог порта шаље клијенту TCP пакет типа
SYN/ACK као потврду да је могуће успоставити конекцију. Да би се конекција успоставила
потребно је да клијент као одговор на потврду пошаље TCP ACK (Acknowledgment Packet) пакет
(Слика 5).
Nmap, приликом TCP SYN скенирања портова, на TCP SYN/ACK потврду сервера неће одговорити
TCP ACK пакетом, него ће послати TCP пакет са RST (Reset Packet) заставицом чиме се одбија
успостављање конекције. Пријемом TCP SYN/ACK пакета, Nmap интерпретира добијени податак
као информацију да је порт отворен и информацију о врсти услуге која се може извршити преко
тог порта.
Уколико се на TCP SYN захтјев добије ТCP RSТ одговор, вриједност атрибута стања порта је
затворен (Слика 6).
12
Слика 6: TCP SYN скенирање – случај за затворен порт
У случају да се на TCP SYN захтјев не добије никакав одговор, слање захтјева се понавља, те ако се
након извјесног броја понављања не добије одговор, порт се сматра филтрираним (Слика 7).
13
Листинг 11: TCP connect скенирање
Резултат процеса скенирања, извршавањем кода nmap -sT 172.18.0.6 (листинг 11), је извјештај о
TCP connect скенирању 1000 портова. Конекција преко 999 скенираних портова је одбијена (Not
shown:999 closed tcp ports (conn – refused)), док је преко порта 22 успостављена и идентификовано
је стање порта и сервис (STATE: open; SERVICE: ssh).
Аргументом -sU већини циљаних портова се шаљу празни UDP пакети7, изузев портовима који се
називају „Добро познати портови“ ( „Well knows ports“) [4]. Ако циљани хост одговори са UDP
пакетом, порт је отворен, ако нема одговора порт се сматра филтрираним и ако јавља ICMP
грешку недоступног порта, порт је затворен.
7
UDP (User Datagram Protocol) пакет – пакет који се шаље на одредиште без успостављања конекције
између изворног и одредишног хоста
14
Листинг 12: UDP скенирање
Kодом nmap -sU 172.18.0.0/24 врши се UDP скенирање портова на хостовима на подмрежи
172.18.0.0/24. Извјештај приказује седам активних хостова и на хосту са IP адресом 172.18.0.1
стања портова 631 и 5353 су отворен/филтириран са сервисима, редом, ipp8 и zeroconf9.
15
сервиса, на основу којих Nmap повезује одређене портове са њиховим сервисима. Такође, постоји
и база података Nmap service probes уз помоћ које Nmap испитује и врши идентификацију на
основу њихових одговора. Настоје се открити информације о протоколу на ком сервис ради,
назив апликације, верзија, тип уређаја и фамилија оперативног система. Аргумент који се користи
за ову врсту скенирања је -sV.
Ако се уз -sV наведе –version intensity 5, извршава се агресивно скенирање за откривање сервиса.
Искусни нападачи не користе ову команду јер оставља велики траг на мрежи [4].
Nmap os db база података садржи више од 2600 познатих отисака оперативних система на основу
којих Nmap врши поређење отиска оперативног система циљаног хоста. [4] Ако дође до
подударања отиска оперативног система циљаног хоста са неким отиском из базе, Nmap ће
исписати информацију кориснику. Отисак оперативног система структуиран је подацима о називу
издавача, операративном систему, генерацији оперативног система и типу уређаја.
16
Листинг 14: дубинско скенирање – идентификација оперативног
система
Извршавањем кода nmap -O 172.18.0.4 добијају се информације о типу уређаја (Device type:
general purpose), покренутом оперативном систему (Running: Linux 4.X|5.X), те локацију у мрежи
(Network Distance: 1 hop - скенирани хост се налази у истој мрежи као и хост са кога је покренуто
nmap скенирање).
7 Закључак
Network mapper је бесплатни алат отвореног кода, који се најчешће користи преко командне
линије Kali Linux оперативног система у који је имплементиран велики број алата за тестирање
сигурности система. Главна функционалност коју овај алат пружа, она због које је првобитно и
настао, јесте скенирање портова. Преко једног порта могуће је реализовати више сервиса. Што се
број сервиса и степен њихове сложености смањује, то се смањују могућности за потенцијалне
нападаче, те због тога мрежни администратори требају редовно скенирати мрежу за коју су
задужени помоћу алата као што је Network mapper. Такође, информације о оперативном систему
могу бити веома драгоцјене за сигурност мреже. Nmap на основу података из базе, који се односе
на верзију и типове оперативних система, хардверске карактеристике потребне за покретање
оперативног ситстема и других сличних података, врши идентификацију оперативног система
циљаног хоста. Скенери мреже су ефикасни алати који се користе за праћење и анализу промета у
мрежи. Ови алати омогућавају администраторима мрежа да детектују рањивости, идентификују
злонамјерне нападе и открију неовлаштене приступе у мрежи. Међутим, у рукама неовлаштених
појединаца, злонамјерних хакера, могу бити моћно оружје за напад на мрежу користећи се управо
истим информацијама о мрежи добијених помоћу алата. С тога, правилно кориштење скенера
мреже, као што је Network mapper, од изузетне је важности и мора бити у складу са условима и
прописима о сигурности мреже.
Литература
[1] Александар Јевремовић, Младен Веиновић, Марко Шарац, Горан Шимић, Заштита у
рачунарским мрежама, Београд: Универзитет Сингидунум, 2018.
[2] Ф. Тољ, „repozitorij.etfos.hr,“ 2020. [На мрежи]. Available:
17
https://repozitorij.etfos.hr/islandora/object/etfos:2804. [Последњи приступ 22. март 2023.год.]
[3] М. Шимић, „repozitorij.etfos.hr,“ 2021. [На мрежи]. Available:
https://repozitorij.etfos.hr/islandora/object/etfos%3A3408/datastream/PDF/view. [Последњи
приступ 22. март 2023.год.]
[4] Arthur Salmon, Warun Levesque, Michael McLafferty, Applied Network Security, Birmingham: Packt
Publishing Ltd., 2017.
[5] Младен Веиновић, Александар Јевремовић, Рачунарске мреже, Београд: Универзитет
Сингидунум, 2020.
[6] Милан Милосављевић, Гојко Грубор, Дигитална форензика рачунарског система, Београд:
Универзитет Сингидунум, 2009.
[7] Л. Љубичић, „repozitorij.foi.unizg.hr,“ 2020. [На мрежи]. Available:
https://repozitorij.foi.unizg.hr/islandora/object/foi:6158. [Последњи приступ 22. март 2023.год.]
18