Tarmoqni xaritalash va portlarni skanerlash
Himoya qilishimiz uchun avvalo nimani himoya qilishni bilishimiz kerak. Aktivlarni boshqarish (Asset Management) ko‘pincha tarmoqda qaysi tizimlar faol ekanini aniqlash uchun tarmoqni xaritalashga (Network Mapping) tayanadi.
Aktivlarni boshqarish va tarmoqda nimalarni ochiq qoldirayotganingizni, jumladan, qaysi xizmatlar joylashtirilganini bilish o‘z tarmog‘ini himoya qilmoqchi bo‘lgan har bir kishi uchun juda muhim.
Nmap - tarmoq xaritasini tuzuvchi vosita (The Network Mapper)
Nmap uzoq vaqtdan beri tarmoq muhandislari uchun ham, xavfsizlik mutaxassislari uchun ham standart port skaneri hisoblanib kelmoqda. Undan hujum qilish yoki himoya qilish uchun aktivlarni aniqlashda foydalanishimiz mumkin.
Tarmoqni xaritalash
Tarmoqda faol xostlarni aniqlashning bir usuli — tarmoqdagi barcha IP manzillarga ping, ya’ni ICMP Echo Request yuborish. Bu ko‘pincha Ping Sweep deb ataladi.
Bu yondashuv aktivlarni aniqlashda unchalik yaxshi emas. Tarmoqdagi tizimlar kiruvchi ping’larni e’tiborsiz qoldirishi ehtimoli yuqori, masalan, ularni bloklayotgan tarmoqlararo ekran yoki xostga asoslangan tarmoqlararo ekran (Host-Based Firewall) tufayli. Xostga asoslangan tarmoqlararo ekran — bu shunchaki tarmoqda emas, balki tizimning o‘zida amalga oshirilgan tarmoqlararo ekran.
Yaxshiroq yondashuv — tizim faol yoki faol emasligini aniqlash uchun unga istalgan turdagi javobni so‘rab, turli xil paketlar yuborish. Masalan, Nmap javob olishga urinib, tizimga quyidagi paketlarni yuboradi:
- ICMP Echo Request
- 443-portga TCP SYN paketi
- 80-portga TCP ACK paketi
- ICMP Timestamp so‘rovi
TCP spetsifikatsiyalariga, ya’ni aloqa qoidalariga ko‘ra, tizim aloqa qilishni boshlashdan oldin har doim uch bosqichli handshake’ni bajarishi kerak. Nmap yuqoridagi paketlar bilan qoidalarni ataylab buzayotganga o‘xshaydi. Qaysi paket tizimlar kutgandek ishlamayotganini aniqlay olasizmi?
80-portga TCP ACK paketini yuborish TCP standarti qoidalariga mos kelmaydi. Nmap buni aynan nishondagi tizimni javob berishga majbur qilish uchun qiladi. Qoidalarga amal qilmaydigan paketlarni yuborish uchun Nmap eng yuqori darajadagi imtiyozlar bilan, masalan, root yoki lokal administrator sifatida ishlashi kerak. Shu sababli ko‘pchilik port skanerlari aniqroq natija beradi.
Tarmoqni xaritalashni Nmap’da -Pn bayrog‘i (flag) yordamida o‘chirib qo‘yish mumkin. Shunda Nmap barcha IP manzillar/tizimlarni faol deb hisoblaydi va to‘g‘ridan-to‘g‘ri portlarni skanerlashga o‘tadi.
Agar xohlasangiz, buni hoziroq uyda sinab ko‘ring. Ehtiyot bo‘ling: agar korporativ muhitda bo‘lsangiz, ish joyingiz qoidalarini buzmaslik uchun skanerlarni ishga tushirishdan oldin har doim ruxsat oling. Nmap’ni hozir sinab ko‘rish uchun quyidagi oddiy qadamlarni bajaring:
- Nmap’ni https://nmap.org saytidan yuklab oling. Operatsion tizimingizga mos versiyani yuklab olganingizga ishonch hosil qiling
- Nmap’ni o‘rnating va vositani buyruq satri terminalidan ishga tushiring
- Lokal IP manzilingiz va quyi tarmog‘ingizni (subnet) toping
- Nmap qanday tizimlarni aniqlay olishini ko‘rish uchun u bilan quyi tarmog‘ingizni skanerlang: nmap -vv IP/netmask
Nmap’ga batafsil (verbose) natija kerakligini bildirish uchun ikkita -v bayrog‘ini qo‘shyapmiz, bu skanerlash tugaguncha uni kuzatishni qiziqarliroq qiladi.

ARP skanerlash
ARP protokoli LAN doirasida ishlaydi, biroq agar aniqlashingiz kerak bo‘lgan xostlar LAN’da bo‘lsa, tarmoqdagi tizimlarni aniqlashga urinish uchun ushbu protokoldan foydalanishimiz mumkin. LAN tarmog‘idagi barcha mavjud IP manzillarni ARP protokoli yordamida shunchaki birma-bir ko‘rib chiqib, tizimlarni javob berishga majbur qilishga harakat qilamiz.
Skanerlash quyidagicha ko‘rinadi:
Eve: Please Provide Mac Address of system 192.168.0.1
Eve: Please Provide Mac Address of system 192.168.0.2
Eve: Please Provide Mac Address of system 192.168.0.3
Eve: Please Provide Mac Address of system 192.168.0.4
Eve: Please Provide Mac Address of system 192.168.0.5-254
Default Gateway: 192.168.0.1 is me and my MAC Address is AA:BB:CC:12:34:56
Bob: 192.168.0.3 is me and my MAC Address is: BB:CC:DD:12:34:56
Alice: 192.168.0.4 is me and my MAC Address is: CC:DD:EE:12:34:56
Portlarni skanerlash
Portlarni skanerlash qaysi xizmatlarga ulanishimiz mumkinligini aniqlash uchun amalga oshiriladi. Tinglayotgan har bir xizmat hujumchilar suiiste’mol qilishi mumkin bo‘lgan hujum yuzasini (attack surface) yaratadi. Shu sababli qaysi portlar ochiq ekanini bilish muhim.
Hujumchilar tarmoqda qaysi ilovalar tinglayotganini bilishdan manfaatdor. Bu ilovalar hujumchilar uchun imkoniyatlarni ifodalaydi. Ularda tashkilotga muvaffaqiyatli hujum qilish imkonini beruvchi zaifliklar bo‘lishi mumkin.
Portlarni skanerlash ilovaga paketlar yuborish va har qanday javobni kutish orqali ishlaydi. TCP uchun bu juda oson, chunki agar TCP xizmati mavjud bo‘lsa, u har doim SYN/ACK paketi bilan javob beradi. UDP uchun esa bu qiyinroq. Xizmat mavjud yoki yo‘qligini aniqlash uchun ko‘p hollarda hujumchi ilovani javob berishga majbur qiladigan maxsus kirish ma’lumotlarini yuborishi kerak. UDP’da joylashgan ilovalarning aksariyati mijoz aloqa o‘rnatish uchun aynan talab qilinadigan kirish ma’lumotlarini yubormaguncha javob bermaydi.
TCP portlarini skanerlash
TCP’ni skanerlash oson, chunki TCP standarti tizimlar SYN qabul qilganda SYN/ACK bilan javob berishi kerakligini belgilaydi. Biz barcha 65536 ta portga SYN paketini yuborib, qaytib kelgan barcha SYN/ACK’larni qayd etishimiz va SYN/ACK javobiga asoslanib ochiq portlar haqida xulosa chiqarishimiz mumkin. Hech qanday javob kelmasa, port yopiq yoki, masalan, tarmoqlararo ekran tomonidan filtrlangan deb hisoblashimiz mumkin.
445-portdan kelgan SYN/ACK orqali bu port ochiq ekanini aniqladik.
UDP portlarini skanerlash
UDP’da port faol yoki yo‘qligini aniqlash qiyinroq. UDP portlari uchun skaner SYN/ACK’ga tayana olmaydi. Aslida skaner deyarli har doim tinglayotgan xizmatni qandaydir javob qaytarishga majbur qilishga tayanishi kerak.
Potensial ochiq portlar juda ko‘p bo‘lgani va turli xizmatlar faqat to‘g‘ri turdagi ma’lumotlarga javob bergani sababli, barcha portlarni oqilona vaqt ichida skanerlash ko‘p vaqt talab qiladigan va qiyin ishga aylanadi.
Eve UDP porti ochiq yoki yo‘qligini aniqlashga urinayotgan quyidagi suhbatni ko‘rib chiqing:
Eve to‘g‘ri protokolda "gaplashishi" va paketlar manzilga yetib borishiga, ya’ni paketlar yo‘qolmasligiga ishonch hosil qilishi kerak. Aks holda Eve port ochiq ekanini aniqlay olmasligi mumkin.
Shu sababli, agar barcha portlarni skanerlamoqchi bo‘lsak, UDP skanerlash juda ko‘p vaqt olishi mumkin.
Foydali Nmap skanerlash turlari va parametrlari
Ko‘plab skanerlar mavjud, biroq ushbu bo‘limda Nmap’dan to‘liq quvvat bilan qanday foydalanishga e’tibor qaratamiz.
Nmap’ga --top-ports argumenti orqali eng keng tarqalgan portlarni skanerlashni buyurish mumkin.
nmap --top-ports 100 <target>Skaner port ortida tinglayotgan ilova versiyalarini aniqlashga harakat qilishi mumkin. Bu xizmatlarni skanerlash (service scanning) deb ataladi va -sV bayrog‘i bilan yoqiladi.
nmap -sV <target>Nmap’da muayyan xizmatni nishonga olib, u bilan o‘zaro ishlashga mo‘ljallangan ko‘plab o‘rnatilgan skriptlar mavjud. Skriptlar har xil ishlarni bajarishi mumkin, masalan, xizmatdan ma’lumot olish yoki undagi zaiflikdan foydalanishga (exploit) urinish. Skript skanerini -sC bayrog‘i bilan yoqishimiz mumkin. Bu faqat xavfsiz tekshiruvlarni yoqadi, ya’ni xizmat ko‘rsatishni rad etish (denial of service) yoki zaiflikdan foydalanish urinishlari bajarilmaydi.
nmap -sC <target>Skaner yordamida operatsion tizimni aniqlash mumkin: u qaysi operatsion tizim ishlayotganini aniqlashga harakat qiladi. Bunda qaysi operatsion tizim ekanligi ehtimolini o‘lchash va baholash uchun ko‘plab turli parametrlardan foydalaniladi. Buni -O argumenti bilan yoqish mumkin.
nmap -O <target>Nmap’ning agressiv rejimi bir vaqtning o‘zida ko‘plab bayroqlarni yoqadi. Skaner versiya va operatsion tizimni aniqlaydi, skript skanerini yoqadi va eng keng tarqalgan 1000 ta portni skanerlaydi. Uni -A parametri bilan yoqish mumkin.
nmap -A <target>Nmap yuqoridagi barcha bayroqlar bilan IPv6’ni ham skanerlay oladi. Bu -6 bayrog‘ini qo‘shish orqali yoqiladi.
nmap -6 <target>Nmap vaqt (timing) parametrlari
Skanerlashni turli tezliklarda bajarish mumkin. Sekinroq tezlikda IDS tizimlari tomonidan aniqlanish ehtimoli kamroq, tez skanerlash esa tizimni haddan tashqari yuklab qo‘yishi mumkin. Nmap quyidagi parametrlarni qo‘llab-quvvatlaydi:
- T0 - Paranoid (o‘ta ehtiyotkor). Bu parametr aniqlanishni istamaydigan hujumchilar uchun. IDS tizimlari muayyan vaqt oralig‘idagi bir nechta so‘rovlarni o‘zaro bog‘lashi mumkin. Paranoid parametri sekundiga juda kam paket yuborish orqali buni chetlab o‘tishga harakat qiladi.
- T1 - Sneaky (yashirincha). Tezroq, biroq IDS tizimlaridan yashirinish uchun mo‘ljallangan.
- T2 - Polite (odobli). Tizimni ishdan chiqarmaslik uchun qo‘lidan kelganini qiladigan sekin skanerlash.
- T3 - Normal (oddiy). Shunchaki sukut bo‘yicha qo‘llaniladigan rejim.
- T4 - Aggressive (agressiv). Tez natija beradigan tezkor skanerlash. Ko‘pchilik tizimlar bunga bardosh bera oladi.
- T5 - Insane (telbalarcha). Paketlarni to‘liq quvvat va unumdorlik bilan yuboramiz.
Zenmap
Nmap boshqa vositalar bilan bir qatorda o‘rnatilgan GUI’ga ("Graphical User Interface" — grafik foydalanuvchi interfeysi) ham ega. GUI tarmoqlarni vizuallashtirish va turli xostlardagi ochiq portlarni ko‘rib chiqish uchun foydali bo‘lishi mumkin. GUI quyidagicha ko‘rinadi:

W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
