Nmap skriptlar. Tarmoqni skanerlash uchun nmap-dan qanday foydalanish kerak. Yagona xost yoki IP manzilni skanerlash

Ish vazifalari kamida bir muncha vaqt axborot xavfsizligi bilan chambarchas bog'liq bo'lgan ko'pchiligimiz uchun Nmap uzoq vaqtdan beri tanish va foydali vosita bo'lib kelgan. Qishning sovuq kechasida issiq adyol kabi ajralmas. Bundan tashqari, Nmap juda samarali adyoldir.

Nmap mashhur va kuchli buyruq qatori oʻzaro platformali tarmoq xavfsizligi skaneri boʻlib, u har qanday tarmoqni juda samarali oʻrganish imkonini beradi. Shuningdek, u sizning tarmog'ingizga ulangan tizimlar haqida umumiy ma'lumot olishga yordam beradi; siz undan barcha jonli xostlarning IP manzillarini bilish, ochiq portlar va ushbu xostlar ustida ishlayotgan xizmatlarni skanerlash va boshqa ko'p narsalar uchun foydalanishingiz mumkin.

Nmap, shubhasiz, mavjud bo'lgan eng ko'p qirrali port skaneridir. Ha, siz tezroq skanerlarni topishingiz mumkin, ammo ko'p, ko'p vazifalarni hal qilish uchun juda foydali va oddiygina ajralmas bo'lgan hech kim yo'q. Axborot xavfsizligi bo'yicha mutaxassislarning aksariyati bu bayonotga qat'iyan rozi bo'lishadi.

Biroq, Nmap-ning eng qiziqarli xususiyatlaridan biri NSE skriptlaridan foydalanish qobiliyati ekanligini juda kam odam biladi, bu sizning sevimli tarmoq xavfsizligi vositasiga yanada moslashuvchanlik va samaradorlikni beradi. Ularning yordami bilan siz hatto Nmap kabi juda ilg'or port skaneridan ham hech qachon kutmagan narsani qila olasiz.

Keling, NSE skriptlarini batafsil ko'rib chiqaylik va ehtimol ularning salohiyati sizni hayratda qoldirishi mumkin.

Boshqacha qilib aytganda, ochiq portlar uchun standart Nmap skanerlashdan tashqari, siz NSE-dan foydalanib, unda ishlaydigan xizmatlar haqida kengaytirilgan ma'lumot olishingiz mumkin. Shunday qilib, masalan, NSE skriptlaridan foydalanib, siz tarmoq xizmatlarini chuqurroq tahlil qilishingiz va ular qanchalik yaxshi sozlanganligini, qanday ma'lumotlar mavjudligini, zaif hisob ma'lumotlaridan foydalanilganligini va hokazolarni ko'rishingiz mumkin. Aslida, NSE skriptlari Nmapni moslashuvchan platformaga aylantiradi. tarmoq xizmatlari bilan o'zaro ishlash uchun.

Nmap skript mexanizmining skript xususiyatlari

Nmap port skanerini ishlab chiqish guruhi asosan quyidagi muammolarni hal qilish uchun skript dvigatelini o'ylab topdi va yaratdi:

1. Tarmoq tadqiqoti

Bu Nmapning asosiy amaliy sohasi. Sevimli port brauzeringizni osonlashtirish, optimallashtirish va tezlashtirish uchun bir nechta skriptlar ishlab chiqilgan. Ulardan foydalanishning ba'zi misollari quyidagi vazifalarni bajarishni o'z ichiga oladi:

  • WHOIS ma'lumotlarini qidirish (TCP protokoliga asoslangan dastur darajasidagi tarmoq protokoli; uning asosiy ilovasi domen nomlari, IP manzillari va avtonom tizimlar egalari to'g'risidagi ro'yxatga olish ma'lumotlarini matn shaklida olish) tegishli domenlarda;
  • Muayyan IP-manzil egasini aniqlash uchun ARIN (Shimoliy Amerika), RIPE (Yevropa va Yaqin Sharq) yoki APNIC (Osiyo va Tinch okeani) yirik mintaqaviy WHOIS serverlariga so'rovlar yuborish;
  • ochiq portlarda identd qidiruvi (ularga ulangan foydalanuvchilarni aniqlash imkonini beradi);
  • SNMP protokoli yordamida so'rovlarni bajarish (TCP / UDP arxitekturalari asosida IP tarmoqlarida qurilmalarni boshqarish uchun Internet protokoli);
  • NFS, SMB yoki RPC masofaviy kirish uchun tarmoq protokollari orqali mavjud resurslar va xizmatlar ro'yxatini tuzish.

2. Versiyalarni aniqlashning yanada murakkab versiyasi

Nmap-ning xizmat va ilovalar versiyasini aniqlash tizimi zondlar va muntazam ifoda imzo moslashuvidan foydalangan holda minglab turli xizmatlarni tanib olishga qodir, lekin u ham hamma narsaga qodir emas. Masalan, Skype v2 xizmatini identifikatsiya qilish uchun ikkita mustaqil ishlaydigan prob kerak bo'ladi, ularning versiyalarini aniqlash imkoniyatlari juda moslashuvchan emas. Nmap shuningdek, bir necha yuz jamoa nomini qo'pol kuch bilan ishlatishga harakat qilsa, ba'zi SNMP xizmatlarini taniy oladi. Standart Nmap versiyalarini yaratish usullari yuqoridagi ikkala vazifa uchun juda qulay emas, lekin ikkalasi ham NSE bilan osonlik bilan bajariladi. Shu sababli, versiya tizimi endi ba'zi murakkab xizmatlar bilan ishlashda versiya yaratish muammosini hal qilish uchun sukut bo'yicha NSE ni chaqiradi.

3. Zaifliklarni qidirish

Yangi zaiflik aniqlanganda, bu hammaga ma'lum bo'lib qoladi va tarmoq xavfsizligi bo'yicha mutaxassislar yomon odamlar buni qilishdan oldin zaif tizimlarni tezda aniqlash uchun o'z tarmoqlarini zudlik bilan skanerlashlari kerak. Nmap to'liq huquqli zaiflik skaneri bo'lmasa-da, NSE ning kuchli imkoniyatlari unga hatto juda qattiq talablar bilan ham zaifliklarni tekshirish imkonini beradi. Masalan, OpenSSL kriptografik dasturidagi Heartbleed xatosi butun dunyo bo‘ylab yuz minglab tizimlarni buzganida, Nmap ishlab chiquvchilari ikki kun ichida ssl-heartbleed aniqlash skriptini yozish orqali javob berishdi.

4. Orqa eshikni aniqlash

Ko'pgina kiberbuzg'unchilar, shuningdek, ba'zi avtomatlashtirilgan qurtlar kelajakda tizimingizga osonroq kirishi uchun o'zlarini bo'shliq bilan ta'minlash uchun orqa eshiklarni qoldiradilar. Ushbu orqa eshiklarning ba'zilari regex imzosini moslashtirishga asoslangan standart Nmap versiyasi yordamida aniqlanishi mumkin, ammo ko'plab murakkab qurtlar va orqa eshiklar ko'plab murakkab qurtlarni va orqa eshiklarni ishonchli aniqlash uchun ilg'or NSE imkoniyatlarini talab qiladi. Xususan, NSE SMB protokolini, UnrealIRCd IRC serverining backdoor versiyalarini, vsftpd va ProFTPd FTP serverlarini amalga oshirishdagi zaiflikdan foydalanadigan DoublePulsar backdoorni aniqlash uchun ishlatiladi.

5. Zaiflikni aniqlash

Umumiy maqsadli skript tiliga asoslangan holda, NSE hattoki zaifliklarni ular mavjud bo'lishidan oldin ham aniqlashga yordam beradigan ekspluatatsiyalarni yaratish uchun ishlatilishi mumkin. Maxsus skriptli ekspluatatsiyalarni qo'shish qobiliyati ba'zi odamlar uchun juda foydali bo'lishi mumkin (birinchi navbatda, penetratsion testerlar). Biroq, NSE Metasploit kabi imzolar va ekspluatatsiyalarni yaratish uchun to'liq huquqli platforma emas.

NSE skriptlarining qanday toifalari mavjud?

Hozirda 598 ta NSE skriptlari mavjud, ularni asosiy Nmap katalogining pastki katalogi boʻlgan skriptlar papkasida topishingiz mumkin. Yaxshiroq ishlash uchun barcha skriptlar "skriptlar / script.db" ma'lumotlar bazasida indekslanadi, bu esa har bir skript qaysi toifa yoki toifalarga tegishli ekanligini ko'rsatadi.

Foydalanish maqsadiga qarab, shuningdek ulardan foydalanishni soddalashtirish uchun NSE skriptlari turli toifalarga guruhlangan. Hozirgi vaqtda NSE skriptlarining quyidagi toifalari aniqlangan: auth, broadcast, brute, default. kashfiyot, dos, exploit, tashqi, fuzzer, intruziv, zararli dastur, xavfsiz, versiya va vuln (toifa nomlari katta-kichik harflarga sezgir emas). Quyida har bir toifaning batafsil ko'rinishi keltirilgan:

  • avtorlik- Ushbu toifadagi skriptlar maqsadli tizimda autentifikatsiya ma'lumotlari bilan shug'ullanadi (yoki chetlab o'tadi). Bunday skriptlarga "x11-access", "ftp-anon" va "oracle-enum-users" misol bo'la oladi. Hisob ma'lumotlarini aniqlashga urinish uchun qo'pol kuch hujumidan foydalanadigan skriptlar qo'pol deb tasniflanadi.
  • eshittirish- bu turkumdagi skriptlar odatda mahalliy tarmoq bilan keng polosali aloqa orqali buyruq satrida ko'rsatilmagan xostlarni topish uchun ishlatiladi. "Newtargets" skript argumentidan foydalanganda, ular avtomatik ravishda topilgan xostlarni skanerlash navbatiga qo'shadilar.
  • qo'pol- Ushbu toifadagi skriptlar masofaviy serverning autentifikatsiya ma'lumotlarini olish uchun qo'pol kuch hujumlarini amalga oshirish uchun ishlatiladi. Nmap o'nlab protokollar uchun qo'pol kuch hujumi skriptlarini taklif qiladi. Bularga quyidagi skriptlar kiradi: "http-brute", "oracle-brute", "snmp-brute" va boshqalar.
  • standart- ushbu toifadagi skriptlar Nmap ishlab chiquvchilari tomonidan skanerning funksiyalarini kengaytirish yoki uning ishlashini optimallashtirish uchun foydali sifatida tanlangan va "sukut bo'yicha" baza to'plamiga tayinlangan skriptlarni belgilaydi. Ular "-sC" yoki "-A" opsiyalari yordamida boshqariladi, lekin "--skript" opsiyasi yordamida skriptlarning ma'lum bir ro'yxatini belgilash orqali emas. Bu toifadagi skriptlarni, boshqalar kabi, "--script = default" yordamida aniq belgilash mumkin. Nmap jamoasi ma'lum bir skriptni sukut bo'yicha toifalarga ajratish yoki yo'qligini aniqlashda quyidagi talablarga tayanishga harakat qiladi:
    • tezlik- Sukut bo'yicha skanerlash tezda yakunlanishi kerak, bu qo'pol kuch autentifikatsiya qilish krakerlari, veb-o'rgimchaklar va ushbu toifaga boshqa har qanday skriptlarni kiritishni istisno qiladi, bitta xizmatni skanerlash vaqti daqiqalar yoki hatto soatlar bilan hisoblanadi.
    • qulaylik- Standart toifadagi skanerlash qimmatli va tegishli ma'lumotlarni talab qiladi. Boshqacha qilib aytganda, bunday skriptning skanerlash natijasi o'rtacha tarmoq xavfsizligi mutaxassisi uchun tushunarli va foydali bo'lishi kerak. Aks holda, uni sukut bo'yicha ishga tushirish mantiqiy emas.
    • qisqalik- Nmap skaneri tomonidan olingan ma'lumotlarning chiqishi turli maqsadlar va ehtiyojlar uchun ishlatiladi, shuning uchun bu ma'lumot o'qilishi va qisqa bo'lishi kerak. Ko'pincha olingan barcha ma'lumotlarning to'liq chiqishi bilan ko'plab sahifalarni yaratadigan skriptlar ham standart skriptlar toifasiga kirmaydi. Boshqacha qilib aytganda, standart sifatida tasniflangan NSE skriptlari muhim ma'lumotlarni topmasa, hisobotda hech narsa ko'rsatmaydi. Bu yashirin zaifliklarni qidiradigan standart skriptlar uchun ham amal qiladi - ular natijani faqat ushbu zaifliklar topilganda chiqaradi.
    • ishonchlilik- o'z ishidagi ko'plab skriptlar maqsadli xost yoki xizmat haqida ma'lum xulosalar chiqarish uchun evristik tahlil ma'lumotlariga va noaniq imzolarning tasodifiga tayanishi mumkin. Bunday skriptlarga "sniffer-detect" va "sql-injection" misol bo'la oladi. Bunday skriptlar sukut bo'yicha tasniflanmaydi, chunki ularning ish natijalari ko'pincha noto'g'ri bo'ladi va o'z ishining barcha xususiyatlarini aniq tushunmaydigan foydalanuvchini chalg'itishi mumkin.
    • befarqlik- ba'zi skriptlar uzoq tizimning muhim resurslaridan foydalanganda keraksiz ravishda intruziv bo'lib, bu tizim yoki xizmatning ishlamay qolishiga olib kelishi mumkin yoki ularning harakatlari masofaviy ma'murlar tomonidan hujum sifatida qabul qilinishi mumkin. Bunday skriptlar ham sukut bo'yicha toifaga kiritilmagan. Biroq, ba'zi "o'rtacha tajovuzkor" skriptlar Nmap jamoasi tomonidan ularning foydaliligi va boshqa omillarni hisobga olgan holda o'zini qanchalik yaxshi tutishi bo'yicha sukut bo'yicha tasniflangan.
    • maxfiylik- ko'pgina skriptlar o'z ishining o'ziga xos xususiyatlaridan kelib chiqib, maxfiy ma'lumotlarni uchinchi shaxslarga oshkor qilishi mumkin. Masalan, WHOIS ma'lumotlarini qidirish uchun skriptlar maqsadli IP-manzilni mintaqaviy registratorlarga xabar qilishlari kerak. Boshqacha qilib aytganda, standart NSE skriptlari toifasida Nmap buyrug'i maxfiylikni buzadigan skriptlarni qo'shmaslikka harakat qiladi.
  • kashfiyot- ushbu toifadagi skriptlar ro'yxatga oluvchiga, SNMP-ni qo'llab-quvvatlaydigan qurilmalarga, katalog xizmatiga va boshqalarga ommaviy so'rovlar yuborish orqali tarmoq haqida ko'proq ma'lumot olishga faol harakat qiladi. Bunday skriptlarga misollar: "html-title" (veb-saytlarning asosiy yo'li nomini oladi), "smb-enum-shares" (Windows aktsiyalari ro'yxati) va "snmp-sysdescr" (standart orqali tizim haqida batafsil ma'lumot oladi). SNMP qurilmalarini boshqarish uchun Internet protokoli).
  • dos- ushbu toifadagi skriptlardan o'ta ehtiyotkorlik bilan foydalanish kerak, chunki ular xizmat ko'rsatishni rad etishga olib kelishi mumkin. Ulardan baʼzan xavfsizlik testerlari tizimning xizmat hujumlarini rad etish boʻyicha zaifligini sinab koʻrish uchun foydalanadilar, biroq bunday sinov baʼzi zaif xizmatlarning ishlamay qolishiga olib kelishi kabi istalmagan yon taʼsirlarga olib kelishi mumkin.
  • ekspluatatsiya qilish- bu skriptlar ma'lum bir zaiflikdan faol foydalanishga qaratilgan. Ushbu toifadagi skriptlarga misollar "jdwp-exec" va "http-shellshock".
  • tashqi- ushbu turkumdagi skriptlar ma'lumotlar bazalarini yoki boshqa tarmoq resurslarini boshqaruvchi uchinchi shaxslarga ma'lumotlarni yuborishi mumkin. Bunday skriptga misol sifatida maqsad IP manzili haqida ma'lumot olish uchun WHOIS serverlariga ulanadigan "whois-ip" dir. Uchinchi tomon ma'lumotlar bazasi operatorlari siz yuborgan hamma narsani yozib olishlari ehtimoli har doim mavjud, bu ko'p hollarda sizning IP manzilingiz va maqsadingiz IP manzili haqidagi ma'lumotlarni o'z ichiga oladi. Skanerlovchi kompyuter va mijoz o'rtasidagi trafik bilan shug'ullanadigan ko'pgina skriptlar ushbu toifaga kirmaydi.
  • fuzzer- Ushbu toifadagi skriptlar har bir partiyada server dasturiy ta'minotiga kutilmagan yoki tasodifiy maydonlarni yuborish uchun mo'ljallangan. Ushbu usul dasturiy ta'minotdagi noma'lum xatolar va zaifliklarni topish uchun foydali bo'lishi mumkin bo'lsa-da, bu sekin jarayon bo'lib, o'tkazish qobiliyatini ham talab qiladi. Ushbu turkumdagi skriptlarga misol qilib, server ishlamaguncha yoki foydalanuvchi tomonidan belgilangan vaqt chegarasi tugaguncha DNS serverini qisman o'zgartirilgan domen so'rovlari bilan bombardimon qiladigan "dns-fuzz" dir.
  • tajovuzkor- ushbu toifadagi skriptlar xavfsiz (xavfsiz) deb tasniflana olmaydiganlarni o'z ichiga oladi, chunki maqsadli tizim ularning bosimi ostida qulab tushishi, maqsadli hostda katta resurslarni talab qilishi (masalan, tarmoqli kengligi yoki protsessor vaqti) xavfi juda yuqori. , yoki boshqa yo'l bilan, ularning bajarilishi maqsadli tizim ma'murlari tomonidan zararli faoliyat sifatida qabul qilinadi. Bunday skriptlarga misollar: "http-open-proxy" (maqsadli serverdan HTTP proksi-server sifatida foydalanishga harakat qiladi) va "snmp-brute" (u mashhur xabarlarni yuborish orqali SNMP qurilmalarining "hamjamiyat qatori" deb ataladigan narsani taxmin qilishga harakat qiladi. davlat, xususiy va cisco kabi qadriyatlar). Agar skript maxsus versiya toifasiga kirmasa, u xavfsiz yoki intruziv deb tasniflanishi kerak.
  • zararli dastur- Ushbu skriptlar maqsadli platforma zararli dasturlar yoki orqa eshiklar bilan zararlanganligini tekshiradi. Ushbu toifadagi skriptlar skriptlariga misol qilib, noodatiy port raqamlarida ishlaydigan SMTP serverlarini kuzatuvchi "smtp-strangeport" va soxta javobni ta'minlaydigan soxta identd demonlarni (foydalanuvchi autentifikatsiya protokolini qo'llab-quvvatlaydigan) aniqlaydigan "auth-spoof" ni keltirish mumkin. hali. so'rovni olishdan oldin. Birinchi va ikkinchi misol uchun bunday xatti-harakatlar, agar aniqlansa, odatda tizimning zararli dasturiy ta'minot bilan infektsiyasining belgisidir.
  • xavfsiz- xizmat ko'rsatishni buzish, katta hajmdagi tarmoq o'tkazuvchanligi yoki boshqa resurslardan foydalanish uchun yaratilmagan yoki xavfsizlik teshiklaridan foydalanishga yo'naltirilmagan barcha skriptlar xavfsiz deb tasniflanadi. Ular masofaviy ma'murlarning e'tiborini jalb qilish ehtimoli kamroq, garchi (har qanday boshqa Nmap funksiyalarida bo'lgani kabi) ular hech qachon garov e'tiborini jalb qilmasligiga 100% kafolat berilmaydi. Ushbu skriptlarning aksariyati tarmoqni o'rganish bo'yicha umumiy vazifalarni bajaradi. Ushbu turkumdagi skriptlarga misollar: "ssh-hostkey" (xostning SSH kalitini oladi) va "html-title" (veb-sahifadan sarlavhani oladi). Versiya toifasidagi skriptlar xavfsiz deb tasniflanmaydi, ammo xavfsiz bo'lmagan boshqa skriptlar intruziv sifatida belgilanishi kerak.
  • versiya- ushbu maxsus toifadagi skriptlar versiyani aniqlash funksiyasining kengaytmalari bo‘lib, ularni aniq tanlab bo‘lmaydi. Ular faqat Nmap versiyasini ("-sV") aniqlash so'ralganda ishlash uchun tanlanadi. Ularning chiqishini versiyalash funktsiyasining chiqishidan ajratib bo'lmaydi va ular xost yoki xizmat skriptlari kabi ishlamaydi. Bunday skriptlarga "skypev2-versiya", "pptp-versiya" va "iax2-versiya" misol bo'la oladi.
  • vuln- ushbu turkumdagi skriptlar ma'lum bir zaiflikni tekshiradi va odatda faqat bunday zaiflik topilganligini tasdiqlovchi natijalarni qaytaradi. Bunday skriptlarga "realvnc-auth-bypass" va "afp-path-vuln" misol bo'la oladi.

Skriptlar funktsional yo'nalishiga, shuningdek, ular bajariladigan skanerlash bosqichiga qarab to'rt turga bo'linadi (ba'zi skriptlar bir vaqtning o'zida bir nechta operatsiyalarni qo'llab-quvvatlashi mumkin):

  • Prerule skriptlar - bu turdagi skriptlar har qanday Nmap operatsiyalari bajarilishidan oldin ham ishga tushiriladi, mos ravishda ular Nmap maqsad haqida hech qanday ma'lumot to'plamagan skanerlash bosqichidan oldin bajariladi. Ushbu skriptlar DHCP va DNS SD serverlarini so'roq qilish uchun translyatsiya so'rovlarini yuborish kabi maxsus skanerlash maqsadlaridan mustaqil bo'lgan vazifalar uchun foydali bo'lishi mumkin. Ushbu skriptlarning ba'zilari Nmap skanerlari uchun yangi maqsadlar yaratishi mumkin (faqat "yangi maqsadlar" NSE argumentini ko'rsatsangiz). Masalan, dns-zone-transfer skripti zonani uzatish so'rovi yordamida domendagi IP manzillar ro'yxatini olishi va keyin ularni avtomatik ravishda Nmap skanerlash uchun maqsadlar ro'yxatiga qo'shishi mumkin. Prerule skriptlari prerule funktsiyasi yordamida aniqlanadi.
  • Xost skriptlari - Bu skriptlar Nmap brauzeri maqsadli xostda xostni aniqlash, portni skanerlash, versiyani aniqlash va operatsion tizimni aniqlash kabi oddiy operatsiyalarni bajargandan so'ng, oddiy Nmap skanerlash jarayonida ishga tushiriladi. Ushbu turdagi skript o'zining hostrule funktsiyasiga mos keladigan har bir maqsadli xost uchun bir marta chaqiriladi. Misollar, maqsadli IP-manzil uchun egasi ma'lumotlarini qidiradigan "whois-ip" skriptlarini va parchalanishni talab qilmasdan maqsadga erishish mumkin bo'lgan maksimal IP paket hajmini aniqlashga harakat qiluvchi "path-mtu" ni o'z ichiga oladi.
  • Xizmat skriptlari - Ushbu turdagi skriptlar maqsadli xostda ma'lum xizmatlar topilganda ishga tushiriladi. Misol uchun, Nmap veb-serverlar bilan ishlash uchun ishlaydigan 15 dan ortiq http xizmat skriptlarini o'z ichiga oladi. Agar xostda bir nechta portlarda ishlaydigan veb-serverlar bo'lsa, bu skriptlar bir necha marta bajarilishi mumkin (har bir port uchun bittadan). Bular Nmap-dagi eng keng tarqalgan skriptlar turi bo'lib, ular skript aniqlangan xizmatlarning qaysi biri bilan ishlashi kerakligini aniqlash uchun portrul funksiyasini o'z ichiga olganligi bilan farqlanadi.
  • Postrule skriptlar - Ushbu turdagi skriptlar Nmap barcha maqsadlarni skanerlagandan so'ng bir marta ishga tushiriladi. Ular Nmap brauzeridan olingan ma'lumotlarni formatlash va taqdim etish uchun foydali bo'lishi mumkin. Misol uchun, "ssh-hostkey" skripti SSH serverlariga ulanadigan, ularning ochiq kalitlarini topadigan va chop etadigan xizmat skripti (portrul funksiyasi ko'rsatilgan) sifatida yaxshi tanilgan. Ammo u shuningdek, barcha tasdiqlangan xostlar orasida takroriy kalitlarni tekshiradigan va keyin barcha topilganlarini chop etadigan postrule funksiyasini ham o'z ichiga oladi. Ushbu turdagi skriptdan yana bir potentsial foydalanish Nmap skanerining chiqishini teskari chop etishdir - masalan, ulardagi xizmatlarni ishga tushiradigan barcha xostlar ro'yxatini ro'yxatga olish o'rniga, ma'lum bir xizmatda ishlaydigan barcha xostlar ro'yxati. Postrule skriptlari postrule funksiyasi yordamida aniqlanadi.

Eslatma: ko'p skriptlar prerule skripti yoki postrule skripti sifatida ishlashi mumkin. Bunday hollarda nomuvofiqliklarni oldini olish uchun prerule funksiyasidan foydalanish tavsiya etiladi.

Abadiy paranoid, Anton Kochukov.


Shuningdek qarang:

Quyida siz 20 ta asosiy narsani topasiz Nmap buyrug'idan foydalanishga misollar.

Nmap-dan qanday foydalanishni o'rganasiz Linuxda buyruq qatori tarmoqdagi faol xostlarni topish va ochiq portlarni skanerlash.

Qanday qilib ko'rasiz operatsion tizimni masofadan aniqlash TCP / IP stek barmoq izlaridan foydalanish va qanday qilib dasturiy ta'minot versiyasini bilib oling masofaviy serverda ishlaydi.

Men sizga Nmap-dan qanday foydalanishni ham ko'rsataman yashirin skanerlash, Qanaqasiga xavfsizlik devorini aniqlang qanday soxta MAC manzili.

1. Bitta xost yoki IP-manzilni skanerlang

Skanerlash Alohida IP-manzil:

$ nmap 192.168.1.1

Serverni skanerlash Xost nomi:

$ nmap server.site

Kattalashtirish; ko'paytirish Tafsilot darajasi skanerlash natijalari:

$ nmap -v server..sayt

2. Bir nechta IP-manzillarni skanerlash

Skanerlash Bir nechta IP manzillar:

$ nmap 192.168.1.1 192.168.1.2 192.168.1.3 $ namp 192.168.1.1,2,3

Skanerlash Quyi tarmoq:

$ nmap 192.168.1.0/24 $ nmap 192.168.1. *

Skanerlash IP manzil diapazoni (192.168.1.0 — 192.168.1.200):

$ nmap 192.168.1.0-200

3. Tarmoqdagi faol kompyuterlarni qidirish

Foydali maslahat: Tarmoqni faqat bitta ping buyrug'i bilan skanerlang! Barcha faol kompyuterlarni hisoblang!

Qidiruvda tarmoqni skanerlang Faol xostlar:

$ nmap -sn 192.168.1.0/24

4. Fayldan xostlar ro'yxatini skanerlash

Xostlar/tarmoqlar roʻyxati skanerlanmoqda Fayl:

$ nmap -iL input.txt

Fayl formati:

# Yozuvlar Nmap buyruq satridan boshqara oladigan har qanday formatda bo'lishi mumkin (IP manzillar, xost nomlari, CIDR, IPv6 yoki oktet # diapazonlari). Yozuvlar bir yoki bir nechta boʻsh joy, # ta yorliq yoki yangi qatorlar bilan ajratilishi kerak. $ cat input.txt server.site 192.168.1.0/24 192.168.2.1,2,3 192.168.3.0-200

5. IP / Xostlar / Tarmoqlarni skanerlashdan tashqari

Maqsadlarni istisno qilish Nmap skaneridan:

$ nmap 192.168.1.0/24 --chiqib chiqarish 192.168.1.1 $ nmap 192.168.1.0/24 --istisno qilish 192.168.1.1 192.168.1.5 $ nmap 192.168.1.0/24, 8.18.1.2.

Ro'yxatni istisno qilish fayldan olingan xostlar:

$ nmap 192.168.1.0/24 --excludefile exclude.txt

Chiqarilgan xostlar fayl formati yuqoridagi kabi.

6. Maxsus portlarni skanerlash

Skanerlash Bitta port:

$ nmap -p 80 192.168.1.1

Skanerlash Bir nechta portlar:

$ nmap -p 80,443 192.168.1.1

Skanerlash Port diapazoni:

$ nmap -p 80-1000 192.168.1.1

Skanerlash Barcha portlar:

$ nmap -p "*" 192.168.1.1

Ba'zilarini skanerlang Umumiy portlar:

$ nmap --yuqori portlar 5 192.168.1.1 $ nmap --yuqori portlar 10 192.168.1.1

7. Qo'llab-quvvatlanadigan IP protokollarini aniqlang

Qaysiligini aniqlang IP protokollari(TCP, UDP, ICMP va boshqalar) skanerlangan xostni qo'llab-quvvatlaydi:

$ nmap -sO 192.168.1.1

8. TCP/UDP portlarini skanerlash

Skanerlash barcha TCP portlari:

$ nmap -sT 192.168.1.1

Skanerlash maxsus TCP portlari:

$ nmap -p T: 80 192.168.1.1

Skanerlash barcha UDP portlari:

$ nmap -sU 192.168.1.1

Skanerlash maxsus UDP portlari:

$ nmap -p U: 53 192.168.1.1

Turli port skanerlarini birlashtirish:

$ nmap -p U: 53,79,113, T: 21-25,80,443,8080 192.168.1.1

9. Tez skanerlash

Faollashtirish Tez rejim skanerlash:

$ nmap -F 192.168.1.1

* Oddiy skanerdan ko'ra kamroq portlarni skanerlaydi.

10. Port holati sababini ko'rsatish

Ko'rsatish Sabab, unga ko'ra Nmap portni ma'lum bir holatda deb hisoblaydi:

$ nmap --sabab 192.168.1.1

11. Faqat ochiq portlarni ko'rsatish

Ko'rsatish Faqat portlarni oching(yoki ochiq bo'lishi mumkin):

$ nmap --ochiq 192.168.1.1

12. OT ta'rifi

Nmap-ning eng mashhur xususiyatlaridan biri bu TCP / IP stekini tahlil qilish asosida OSni masofadan aniqlash.

Nmap masofaviy xostga bir qator TCP va UDP paketlarini yuboradi va javoblarni tekshiradi.

Ko'pgina testlarni o'tkazgandan so'ng, Nmap natijalarni o'z ma'lumotlar bazasi bilan taqqoslaydi va moslik topilsa, OT haqidagi ma'lumotlarni ko'rsatadi.

Yoqish; ishga tushirish OS ta'rifi:

$ nmap -O 192.168.1.1

13. Xizmatlar versiyasini aniqlash

Yoqish; ishga tushirish Xizmatlar versiyasini aniqlash:

$ nmap -sV 192.168.1.1

* Masofaviy serverda ishlaydigan dasturlarning versiyalarini aniqlaydi.

14. Faervolni aniqlash

Kompyuteringiz himoyalangan yoki yo'qligini bilib oling Ommaviy filtrlar yoki Xavfsizlik devori:

$ nmap -sA 192.168.1.1

15. MAC manzilini soxtalashtirish

O'zgartirish MAC manzillari:

$ nmap --spoof-mac 00: 11: 22: 33: 44: 55 192.168.1.1

MAC manzilini soxtalashtirish Tasodifiy MAC:

$ nmap --spoof-mac 0 192.168.1.1

16. Zaifliklar uchun xavfsizlik devorini skanerlash

Ushbu uch turdagi skanerlash ochiq va yopiq portlarni farqlash uchun TCP RFC-dagi ko'rinmas bo'shliqdan foydalanadi.

RFC-mos keladigan tizim skanerdan o'tkazilganda, SYN, RST yoki ACK bitlari o'rnatilgan bo'lmagan har qanday paket port yopiq bo'lsa javob sifatida RST yuborilishiga yoki port ochiq bo'lsa javob bo'lmasligiga olib keladi.

Chunki bu bitlarning hech biri o'rnatilmagan bo'lsa, qolgan uchta bitning (FIN, PSH va URG) har qanday kombinatsiyasi to'g'ri bo'ladi.

TCP Null skanerlash:

$ nmap -sN 192.168.1.1

* Bitlar o'rnatilmagan (TCP sarlavhasidagi bayroqlar 0).

TCP Fin skanerlash:

$ nmap -sF 192.168.1.1

* Faqat TCP FIN biti o'rnatilgan.

TCP Xmas skanerlash:

$ nmap -sX 192.168.1.1

* FIN, PSH va URG bayroqlari o'rnatiladi (paket Rojdestvo daraxti kabi porlaydi).

17. Yashirin skanerlash

Foydali maslahat: Port skanerlash paytida anonim qoling! Nmap + Tor + Proksi zanjirlaridan foydalaning! Xavfsiz va oson kirish testi!

TCP SYN skanerlash:

$ nmap -sS 192.168.0.1

* Yarim ochiq skanerlash sifatida tanilgan, chunki u to'liq TCP ulanishlarini ochmaydi.

18. Xostni aniqlashni o'chirib qo'ying (Pingsiz)

Skanerlashdan oldin xostlarga ping yubormang:

$ nmap -Pn 192.168.1.1

19. DNS foydalanishni o'chirib qo'ying

Foydali maslahat: Linux xavfsizligini kuchaytirish kerakmi? Spoofing oldini olish uchun DNS trafigini shifrlang!

Hech qachon topilgan har bir faol IP manzil uchun teskari DNS ruxsatini bajarmang.

Nmap - bu diniy skaner bo'lib, deyarli hech bir xakersiz qila olmaydi, shuning uchun uning imkoniyatlarini kengaytirish mavzusi, menimcha, ko'pchilikni qiziqtiradi. Nmap bilan boshqa vositalardan foydalanish odatiy holdir. Ushbu maqolada Nmap-ni sevimli vositalaringiz bilan qanday qilib oson avtomatlashtirish haqida gap boradi. Doimiy ravishda bir xil harakatlar ketma-ketligini bajarishdan ko'ra, "bitta tugmani bosish" va natijaga erishish qulayroqdir. Nmap-da skriptlardan foydalanish xakerlarga tizimlarga avtomatik ravishda kirishga yordam beradi va tizim boshqaruvchilari tizimlarda standart teshiklarni tekshirishi va ularni o'z vaqtida tuzatishi mumkin.

Nmap haqida bir necha so'z

Ishonchim komilki, Hacker jurnali o'quvchilarining aksariyati Nmap nima ekanligini bilishadi va ehtimol undan tarmoqni o'rganish va ma'lumot to'plash uchun bir necha marta foydalangan. Unutgan yoki bilmaganlar uchun, har ehtimolga qarshi, eslatib o'taman:

  • Nmap - tarmoqni skanerlash, uning xavfsizligini tekshirish, OT versiyalari va turli xizmatlarni aniqlash va boshqa ko'p narsalar uchun platformalararo vosita. Bu juda moslashuvchan va oson kengaytiriladigan yordamchi dastur bo'lib, uni NSE skript mexanizmiga aylantiradi;
  • NSE (Nmap Scripting Engine) – kuchli Nmap komponenti boʻlib, u foydalanuvchilarga tarmoq vazifalarini keng doiradagi avtomatlashtirish uchun skriptlarni yozish imkonini beradi: mavjud Nmap imkoniyatlari bilan yanada moslashuvchan oʻzaro taʼsir, zaifliklarni aniqlash va ulardan foydalanish va boshqalar. NSE Lua tili tarjimoniga asoslangan;
  • Lua JavaScript-ga o'xshash skript tilidir.

Muammoni shakllantirish

Yuqorida aytib o'tilganidek, bugun biz o'z skriptlarimizni yozish orqali Nmap funksiyasini kengaytirish ustida ishlaymiz. Har qanday xakerlik / kirish testi odatda razvedka va ma'lumotlarni yig'ish bilan boshlanadi. Birinchilardan biri tekshirilayotgan xostda ochiq portlar mavjudligi va ishlaydigan xizmatlarni aniqlashdir. Bunday ma'lumotlarni to'plash uchun Nmap-dan yaxshiroq vosita yo'q. Skanerlashdan keyingi qadam odatda topilgan zaif xizmat uchun ekspluatatsiyani qidirish yoki loginni tanlash uchun qo'pol kuch usuli: parol juftligi.

Aytaylik, siz bir nechta xizmatlar (masalan, HTTP-Basic, SSH, MySQL) uchun THC-Hydra brute-force parollarini qo'pol kuch ishlatish uchun faol foydalanyapsiz. Bunday holda, siz har bir xizmatda gidrani alohida o'rnatishingiz kerak, siz xizmatlarning xususiyatlarini va gidrani ishga tushirish uchun zarur bo'lgan bayroqlarni eslab qolishingiz kerak. Va agar beshdan ortiq xizmatni qo'pol kuch ishlatish kerak bo'lsa? .. Nega buni avtomatlashtirmaslik kerak?

Shuning uchun, keling, Hydra-ni bitta xizmat uchun (masalan, PostgreSQL) login/parollarni qo'pol kuch bilan ishga tushirish jarayonini avtomatlashtiradigan oddiy skript yozaylik. Buning uchun bizga quyidagi vositalar kerak bo'ladi:

  • Nmap;
  • THC-Hydra;
  • har qanday matn muharriri.

Agar sizda Nmap va/yoki Hydra oʻrnatilmagan boʻlsa, uni darhol tuzating:

$ sudo apt-get o'rnatish nmap hydra

Mayli, boshlaylik. Nmap skriptlari * .nse kengaytmali oddiy matnli fayllardir. Shunday qilib, sevimli matn muharriringizni oching va yangi fayl yarating. Men Vim dan foydalanaman:

$ vim hydra.nse

NSE skript tuzilishi

Yozishni davom ettirishdan oldin, barcha skriptlar ma'lum bir tuzilishga ega ekanligini aytish kerak. Muayyan harakatlarni avtomatlashtiradigan kodning o'ziga qo'shimcha ravishda, u skript tavsifini (u nima uchun mo'ljallanganligi va undan qanday foydalanish kerakligi), muallif haqida ma'lumot, litsenziya, boshqa skriptlarga bog'liqlik, skript tegishli bo'lgan toifalarni o'z ichiga oladi. , va hokazo. Keling, ushbu qismlarning har birini batafsil ko'rib chiqaylik.

Skript tavsifi (tavsif)

Ushbu bo'limda skript tavsifi, muallifning sharhlari, skriptning bajarilishi natijasini ekranda ko'rsatish misoli, qo'shimcha funktsiyalar mavjud.

PostgeSQL uchun login/parollarni tanlaydigan skriptimiz uchun tavsif quyidagicha ko'rinadi:

Tavsif = [[Maqsadli xostda ishlaydigan barcha xizmatlarni shafqatsiz majburlash. Natijalar har bir yo'l, aniqlangan usul, login va / yoki parol bilan jadvalga qaytariladi. ]] --- - @usage - nmap --script hydra [--script-args "lpath = , ppath = "] - - @output - PORT DAVLAT XIZMATI - 80 / tcp ochiq http - | gidra: - | yo'l usuli kirish paroli - | 127.0.0.1/private/index.html Dijest jurnali o'tishi - | _ 127.0.0.1/simple/index.txt Asosiy foydalanuvchi qwerty - - @args hydra.lpath: loginlar bilan faylga yo'l. Masalan, - nmap --script hydra --script-args = "lpath = / home / my_logins.txt" - @args hydra.ppath: parollar bilan faylga yo'l. Masalan, - nmap --script hydra --script-args = "ppath = / home / my_pass.txt"

Izoh; - - ko'p qatorli sharh; @usage, @output, @args - skriptni chaqirish, natijani ekranda ko'rsatish, qo'ng'iroq qilishda kerakli argumentlar misoli.

Yuqoridagi @usage-da biz skriptni ishga tushirish formatini ko'ramiz. Bunday holda, faqat skriptning nomi (gidra) ko'rsatiladi. Agar skript / ga joylashtirilsa, bu mumkin bo'ladi. / nmap / skriptlar /, aks holda siz unga mutlaq yoki nisbiy yo'lni ko'rsatishingiz kerak bo'ladi. Kelajakda biz skriptni boshlashda argumentlarni o'rnatishga imkon beramiz. Argumentlar --script-args bayrog'i yordamida aniqlanadi. ". Bizning holatda, loginli faylga (lpath) va parolli faylga (ppath) yo'lni o'rnatamiz. Argumentlar ixtiyoriy: sukut bo'yicha login.txt va password.txt nomli fayllarni qidiramiz. joriy katalog.

Skript joylashgan toifalar (toifalar)

NSE skriptini yozishda siz uning toifasini (yoki bir nechta toifalarni) belgilashingiz mumkin. Bu Nmap foydalanuvchisi ma'lum bir skriptni emas, balki bir xil toifadagi skriptlar to'plamidan foydalanishni istamasa foydali bo'ladi. Ba'zi toifalarga misollar:

  • auth - bu skriptlar maqsadli xostning autentifikatsiya ma'lumotlarini belgilaydigan kategoriya.
  • brute - skriptlari turli xizmatlar uchun login va parollarni aniqlashga yordam beradigan toifa;
  • default - asosiy skriptlarni o'z ichiga olgan kategoriya. Skriptning ushbu turkumga tegishli ekanligini aniqlaydigan ba'zi mezonlar mavjud: skanerlash tezligi, foydaliligi, ishonchliligi, maxfiyligi, vizual chiqishi;
  • zararli dastur - zararli dasturlarni aniqlashga yordam beradigan turkum.

Misol uchun, agar siz auth kategoriyasidan barcha skriptlarni ishga tushirishingiz kerak bo'lsa, buyruq quyidagicha ko'rinadi:

$ nmap --script = example.com auth

Bunday holda, ushbu toifadagi skriptlar belgilangan xost uchun birma-bir ishga tushiriladi. Bizning skriptimiz qo'pol toifaga kiradi. Faylga quyidagi qatorni qo'shamiz:

Kategoriyalar = ("qo'pol")

Muallif (muallif) haqida ma'lumot

Har bir skript o'z muallifi haqida ma'lumotni o'z ichiga oladi. Mening holimda:

Muallif = "Olga Barinova"

Foydalanilgan litsenziya (litsenziya) to'g'risida ma'lumot

Nmap barcha foydalanuvchilarning rivojlanishini ma'qullaydi va almashishni, shu jumladan NSE skriptlarini rag'batlantiradi. Litsenziyani ko'rsatish orqali siz skriptni hamjamiyat bilan baham ko'rish huquqini tasdiqlaysiz. Standart Nmap litsenziyasi quyidagicha ko'rinadi:

Litsenziya = "Nmap bilan bir xil - qarang: http://nmap.org/book/man-legal.html"

Keling, ushbu qatorni skriptimizga ham qo'shamiz.

Boshqa skriptlarga bog'liqliklar (qaramliklar)

Bu maydon kerakli ma'lumotlarni olish uchun ushbu skriptni ishga tushirishdan oldin bajarilishi kerak bo'lgan NSE skriptlarining nomlarini o'z ichiga oladi. Masalan,

Bog'liqliklar = ("smb-brute").

Bizning holatlarimizda bu xususiyat kerak bo'lmaydi, shuning uchun biz bog'liqlikni qo'shmaymiz.

Xost va port

Nmap qaysi xizmatlar uchun va qaysi portlarda skriptni ishga tushirishni bilishi kerak. Buning uchun maxsus qoidalar mavjud:

  • prerule () - skript har qanday xostni skanerlashdan oldin bir marta bajariladi, ba'zi tarmoq operatsiyalari uchun ishlatiladi;
  • hostrule (host) - skript argument sifatida qabul qilingan jadvaldan har bir xost uchun bajariladi;
  • portrule (host, port) - skript argument sifatida qabul qilingan jadvallardan har bir xost va har bir port uchun bajariladi;
  • postrule () - skript har qanday xostni skanerlashdan keyin bir marta bajariladi. U asosan olingan natijalarni qayta ishlash, statistik ma'lumotlarni umumlashtirish va boshqalar uchun ishlatiladi.

Bunday qoidalarni shakllantirish uchun kutubxonalar mavjud. Bizning skriptimizda siz faqat port raqamini (5432) va xizmat nomini (postgresql) ko'rsatishingiz kerak, keyin u faqat ushbu port va xizmat uchun ishlaydi. NSE-ga o'rnatilgan juda mashhur qisqacha kutubxona mavjud bo'lib, u turli usullarni o'z ichiga oladi. Biz usuldan foydalanamiz

Port_or_service (portlar, xizmatlar, protolar, shtatlar)

bu erda portlar port raqamlari, xizmatlar xizmat nomlari, protokollar protokol nomlari (masalan, udp), davlatlar shtatlardir.

Agar portlar ro'yxatidagi portlardan birida joylashgan yoki xizmatlar ro'yxatidagi ba'zi xizmatlarga mos keladigan xizmat hozirda tahlil qilinayotgan bo'lsa, bu usul "true" qiymatini qaytaradi, bundan tashqari, protokol va holat muvofiqligi tekshiriladi, aks holda "false" qaytariladi.
Skriptimiz PostgreSQL bilan ishlashi uchun port raqami va xizmat nomini qo'shishimiz kerak:

Portrule = shortport.port_or_service ((5432), ("postgresql"))

Kutubxonalarni ulash

Keling, skript tuzilishidan bir soniya chetga chiqamiz va tashqi kutubxonalar qanday bog'langanligini ko'rib chiqamiz, ularning funksiyalariga kirishimiz kerak.

Davom etish faqat ishtirokchilar uchun mavjud

Variant 1. Saytdagi barcha materiallarni o'qish uchun "sayt" jamoasiga qo'shiling

Belgilangan muddat ichida hamjamiyatga a'zo bo'lish sizga BARCHA Hacker materiallariga kirishni ochib beradi, shaxsiy chegirmangizni oshiradi va professional Xakep ballini to'plash imkonini beradi!

Nmap Windows va Linuxda ishlatilishi mumkin bo'lgan juda mashhur ochiq manbali tarmoq skaneridir. Nmap yoki Network Mapper Gordon Luon tomonidan ishlab chiqilgan va hozirda butun dunyo bo'ylab xavfsizlik mutaxassislari va tizim ma'murlari tomonidan qo'llaniladi.

Ushbu dastur tizim ma'murlariga qaysi kompyuterlar tarmoqqa ulanganligini tezda tushunishga, ularning nomlarini bilishga, shuningdek, ularda qanday dasturiy ta'minot o'rnatilganligini, qanday operatsion tizim va qanday filtrlar qo'llanilishini ko'rishga yordam beradi. Dasturning funksionalligi o'z skript tili bilan kengaytirilishi mumkin, bu ma'murlarga ko'plab harakatlarni avtomatlashtirishga imkon beradi.

Masalan, skriptlar tarmog'ingizdagi yangi xavfsizlik zaifliklarini avtomatik ravishda aniqlashi mumkin. Namp yaxshi va yomon niyatda ishlatilishi mumkin, nmapni qonunga qarshi ishlatmaslikdan ehtiyot bo'ling. Ushbu qo'llanmada biz Linuxda portlarni skanerlash uchun nampdan qanday foydalanishni ko'rib chiqamiz. Lekin avval siz ushbu yordamchi dastur qanday ishlashini tushunishga harakat qilishingiz kerak.

Kompyuter tarmoqlarida barcha ulangan qurilmalar o'z IP manziliga ega. Har bir kompyuter tarmoqqa ulanganligini aniqlash uchun ishlatilishi mumkin bo'lgan ping protokolini qo'llab-quvvatlaydi. Biz shunchaki kompyuterga ping so'rovini yuboramiz va agar u javob bersa, u ulangan deb hisoblaymiz. Nmap biroz boshqacha yondashuvni qo'llaydi. Kompyuterlar, shuningdek, ma'lum tarmoq paketlariga ma'lum bir tarzda munosabatda bo'lishadi, yordamchi dastur shunchaki kerakli paketlarni yuboradi va qaysi xostlar javob yuborganiga qaraydi.

Ammo, ehtimol, siz bu haqda allaqachon bilasiz. Bundan ham qiziqroq, Nmap qanday xizmatlar mashinada ishlayotganini biladi. Barcha tarmoq dasturlarining mohiyati portlarga asoslangan. Tarmoqdan xabar olish uchun dastur kompyuteringizda portni ochishi va kiruvchi ulanishlarni kutishi kerak. Va tarmoq orqali xabar yuborish uchun siz boshqa dastur (adresat) portiga ulanishingiz kerak. Keyin dastur javobni kutadigan portni ochishi kerak.

Nmap yordam dasturi tarmoqni skanerlashda mavjud port diapazonini sanab chiqadi va ularning har biriga ulanishga harakat qiladi. Agar ulanish muvaffaqiyatli bo'lsa, ko'p hollarda bir nechta paketlarni uzatish orqali dastur hatto ushbu portga ulanishni kutayotgan dasturiy ta'minot versiyasini ham bilib oladi. Endi biz asoslarni ko'rib chiqdik, keling, port va tarmoqni skanerlash uchun nmap-dan qanday foydalanishni ko'rib chiqamiz.

Nmap sintaksisi

Buning uchun Nmap-ni ishga tushirish buyrug'i juda oddiy, siz shunchaki parametrlarda maqsadli IP-manzil yoki tarmoqni o'tkazishingiz kerak, shuningdek, agar kerak bo'lsa, variantlarni ko'rsatishingiz kerak:

$ nmap variantlari manzili

Keling, ushbu maqolada bizga kerak bo'ladigan asosiy variantlarni ko'rib chiqaylik.

  • -sL- shunchaki ishlaydigan xostlar ro'yxatini yarating, lekin nmap portlarini skaner qilmang;
  • -sP- faqat ping yordamida xost mavjudligini tekshiring;
  • -PN- pingga javob bermasa ham, barcha xostlarni mavjud deb hisoblang;
  • -sS / sT / sA / sW / sM- TCP skanerlash;
  • -sU- UDP skanerlash nmap;
  • -sN / sF / sX- TCP NULL va FIN skanerlash;
  • -sC- skriptni sukut bo'yicha ishga tushirish;
  • -sI- dangasa Indle skanerlash;
  • -p- tekshirish uchun portlar qatorini belgilang;
  • -sV- xizmatlar versiyalarini aniqlash uchun portlarni batafsil o'rganish;
  • -O- operatsion tizimni aniqlash;
  • -T- skanerlash tezligi qanchalik ko'p bo'lsa, tezroq;
  • -D- soxta IP yordamida niqobni skanerlash;
  • -S- IP manzilingizni belgilangan manzilga o'zgartiring;
  • -e- muayyan interfeysdan foydalanish;
  • --spoof-mac- MAC manzilingizni o'rnating;
  • -A- skriptlar yordamida operatsion tizimni aniqlash.

Endi biz barcha asosiy variantlarni ko'rib chiqdik, keling, nmap portini skanerlash qanday amalga oshirilishi haqida gapiraylik.

Linuxda portni skanerlash uchun nmap-dan qanday foydalanish kerak

Keyinchalik, nmap misollarini ko'rib chiqamiz. Birinchidan, tarmoqqa ulangan barcha qurilmalarni qanday topishni ko'rib chiqaylik, buning uchun -sL opsiyasidan foydalanish va tarmog'imizning niqobini ko'rsatish kifoya. mening holimda bu 192.168.1.1/24. Buyruqni ishga tushirish orqali mahalliy tarmoq niqobini topishingiz mumkin:

Amaldagi interfeys uchun chiqishdan slashdan keyingi raqamni oling va chiziqdan oldin routeringizning IP-ni belgilang. Tarmoq nmapini skanerlash buyrug'i quyidagicha ko'rinadi:

nmap -sL 192.168.1.1/24

Ba'zida bu skanerlash hech qanday natija bermasligi mumkin, chunki ba'zi operatsion tizimlarda portni tekshirish himoyasi mavjud. Ammo tarmoqdagi barcha IP manzillarni skanerlash uchun ping yordamida buni chetlab o'tish mumkin, buning uchun -sn opsiyasi mavjud:

nmap -sn 192.168.1.1/24

Ko'rib turganingizdek, dastur endi tarmoqdagi faol qurilmalarni aniqladi. Keyinchalik, yordamchi dasturni variantlarsiz ishga tushirish orqali kerakli tugun uchun nmap portlarini skanerlashimiz mumkin:

sudo nmap 192.168.1.1

Endi bizda bir nechta ochiq portlar mavjudligini ko'rishimiz mumkin, ularning barchasi maqsadli mashinada ba'zi bir xizmat tomonidan ishlatiladi. Ularning har biri potentsial zaif bo'lishi mumkin, shuning uchun mashinada ko'plab ochiq portlarga ega bo'lish xavfsiz emas. Ammo bu siz qila oladigan barcha narsa emas, bundan keyin siz nmap-dan qanday foydalanishni o'rganasiz.

Mashina va unda ishlaydigan xizmatlar haqida batafsil ma'lumot olish uchun siz -sV opsiyasidan foydalanishingiz mumkin. Yordamchi dastur har bir portga ulanadi va barcha mavjud ma'lumotlarni aniqlaydi:

sudo nmap -sV 192.168.1.1

Bizning mashinamizda ftp ishlaydi, shuning uchun standart nmap skriptlari yordamida ushbu xizmatni batafsilroq ko'rib chiqishga harakat qilishimiz mumkin. Skriptlar portni batafsil tekshirish, mumkin bo'lgan zaifliklarni topish imkonini beradi. Buning uchun portni o'rnatish uchun -sC opsiyasi va -p dan foydalaning:

sudo nmap -sC 192.168.56.102 -21-bet

Biz skriptni sukut bo'yicha bajardik, ammo boshqa skriptlar ham mavjud, masalan, ftp uchun barcha skriptlarni buyruq bilan topishingiz mumkin:

sudo find / usr / share / nmap / skriptlar / -name "* .nse" | grep ftp

Keyin biz ulardan birini ishlatishga harakat qilamiz, buning uchun uni --script variantidan foydalanib ko'rsatish kifoya. Lekin birinchi navbatda siz skript haqidagi ma'lumotlarni ko'rishingiz mumkin:

sudo nmap --script-help ftp-brute.nse

Ushbu skript masofaviy hostda FTP login va parolni aniqlashga harakat qiladi. Keyin skriptni bajaring:

sudo nmap --script ftp-brute.nse 192.168.1.1 -21-bet

Natijada, skript login va parolni oldi, admin / admin. Shuning uchun standart kirish opsiyalaridan foydalanish shart emas.

Bundan tashqari, yordam dasturini -A opsiyasi bilan ishga tushirishingiz mumkin, u yordam dasturining yanada agressiv rejimini faollashtiradi, uning yordamida siz ma'lumotlarning ko'p qismini bitta buyruq bilan olasiz:

sudo nmap -A 192.168.1.1

E'tibor bering, biz ilgari ko'rgan deyarli barcha ma'lumotlar mavjud. U ushbu mashinaning himoyasini oshirish uchun ishlatilishi mumkin.

xulosalar

Ushbu maqolada biz nmap portini skanerlash qanday amalga oshirilishini, shuningdek, ushbu yordam dasturidan foydalanishning oddiy misollarini ko'rib chiqdik. Ushbu nmap buyruqlari ko'plab tizim boshqaruvchilariga o'z tizimlarining xavfsizligini yaxshilash uchun foydali bo'lishi mumkin. Ammo bular yordamchi dasturning barcha imkoniyatlari emas. Boshqa odamlarning tarmoqlarida emas, balki ko'proq ma'lumot olish uchun yordamchi dastur bilan tajriba o'tkazishda davom eting!

muallif haqida

Sayt asoschisi va ma'muri, men ochiq kodli dasturiy ta'minot va Linux operatsion tizimini yaxshi ko'raman. Men hozirda Ubuntu'ni asosiy OS sifatida ishlataman. Linuxdan tashqari, men axborot texnologiyalari va zamonaviy ilm-fanga oid hamma narsaga qiziqaman.

nmap [ <Тип сканирования> ...] [ <Опции> ] { <цель сканирования> }

Tavsif

Nmap (" Tarmoq xaritasi ") tarmoqni o'rganish va xavfsizlikni tekshirish uchun ochiq manbali yordamchi dasturdir. U katta tarmoqlarni tezda skanerlash uchun mo'ljallangan, garchi u bitta maqsadlar uchun yaxshi bo'lsa ham. Nmap tarmoqda qaysi xostlar mavjudligini, ular qanday xizmatlarni (ilova nomi va versiyasini) taklif qilishini, ular qanday operatsion tizimlardan (va OT versiyalaridan) foydalanishini, qanday paket filtrlari / xavfsizlik devorlari mavjudligini aniqlash uchun xom IP-paketlardan ajoyib tarzda foydalanadi. foydalanish va boshqa ko'plab xususiyatlar. Nmap odatda xavfsizlikni tekshirish uchun ishlatilsa-da, ko'pgina tizim ma'murlari uni tarmoq tuzilishini kuzatish, xizmatlarni ishga tushirish jadvallarini boshqarish va xost yoki xizmat ish vaqtini kuzatish kabi umumiy vazifalar uchun foydali deb bilishadi.

Nmap chiqishi - bu berilgan variantlarga qarab, ularning har biri haqida qo'shimcha ma'lumot bilan skanerlangan maqsadlar ro'yxati. Asosiy ma'lumotlar « muhim portlar jadvali» ... Ushbu jadvalda port raqami, protokol, xizmat nomi va holati mavjud. Davlat ochiq, filtrlangan, yopiq yoki filtrlanmagan bo'lishi mumkin. Ochiq degani, maqsadli mashinadagi dastur ushbu portdagi paketlarni ulash/qabul qilishga tayyor ekanligini bildiradi. Filtrlangan degani, tarmoqdagi xavfsizlik devori, tarmoq filtri yoki boshqa biron bir to'siq portni to'sib qo'yishini anglatadi va Nmap bu port ochiq yoki yopiqligini aniqlay olmaydi. Yopiq portlar hech qanday dastur bilan bog'lanmagan, lekin istalgan vaqtda ochilishi mumkin. Portlar Nmap so'rovlariga javob berganda filtrlanmagan hisoblanadi, ammo Nmap ularning ochiq yoki yopiqligini aniqlay olmaydi. Nmap ochiq | filtrlangan va yopiq | filtrlangan holda chop etadi, agar u ikkita holatdan qaysi biri portni tavsiflashini aniqlay olmasa. Ushbu jadval, agar so'ralsa, dasturiy ta'minot versiyasi haqida ham ma'lumot berishi mumkin. IP protokolini skanerlash (-sO) amalga oshirilganda, Nmap ochiq portlar emas, balki qo'llab-quvvatlanadigan protokollar haqida ma'lumot beradi.

Muhim portlar jadvaliga qo'shimcha ravishda, Nmap maqsadlar haqida qo'shimcha ma'lumot berishi mumkin: hal qilingan DNS nomlari, foydalanilayotgan operatsion tizim haqidagi taxminlar, qurilma turlari va MAC manzillari.

Nmap yordamida odatiy skanerlash 1-misolda ko'rsatilgan. Bu misolda foydalaniladigan yagona argumentlar -A, OT versiyasini aniqlash, skript yaratish va kuzatish uchun; -Tezroq bajarish uchun T4; keyin ikkita maqsadli xost.

1-misol: Nmap skanerlashning odatiy namunasi

# nmap -A -T4 scanme..org) scanme.sitedagi qiziqarli portlar (64.13.134.52): (Skanerlangan, lekin quyida koʻrsatilmagan 1663 port holatida: filtrlangan) PORT DAVLAT XIZMATI VERSIONASI 22 / tcp ochiq ssh OpenSSH 3.9p1 (protokol 1.99) 53 / tcp ochiq domen 70 / tcp yopiq gopher 80 / tcp ochiq http Apache httpd 2.0.52 ((Fedora)) 113 / tcp yopiq auth Qurilma turi: umumiy maqsad Ishlash: Linux 2.4.X | 2.5. 2.6.X OS tafsilotlari: Linux 2.4.7 - 2.6.11, Linux 2.6.0 - 2.6.11 O'yin maydonchasidagi qiziqarli portlar..168.0.40): (Skanerlangan, lekin quyida ko'rsatilmagan 1659 port holatida: yopiq) PORT DAVLAT XIZMATI VERSIYASI 135 / tcp ochiq msrpc Microsoft Windows RPC 139 / tcp ochiq netbios-ssn 389 / tcp ochiq ldap? 445 / tcp ochiq microsoft-ds Microsoft Windows XP microsoft-ds 1002 / tcp ochiq windows-icfw? 1025 / tcp ochiq msrpc Microsoft Windows RPC 1720 / tcp ochiq H.323 / Q.931 CompTek AquaGateKeeper 5800 / tcp ochiq vnc-http RealVNC 4.0 (Rezolyutsiya 400x250; VNC porti: 5900x250; VNC porti: 5900 / MNC80 nct ochiq) Manzil: 00: A0: CC: 63: 85: 4B (Lite-on Communications) Qurilma turi: umumiy maqsad Ishlayotgan: Microsoft Windows NT / 2K / XP OS tafsilotlari: Microsoft Windows XP Pro RC1 + yakuniy reliz orqali Xizmat haqida maʼlumot: OS: Windows , Windows XP Nmap tugallandi: 88,392 soniyada 2 ta IP-manzil (2 xost yuqori) skanerdan o'tkazildi


Nmapning so'nggi versiyasini yuklab olish mumkin

Sizga maqola yoqdimi? Do'stlar bilan bo'lishish uchun: