Testiranje računalnih priključaka. Skener portova za Windows

Ako trebate skenirati portove računala i uređaja iz sustava Windows lokalna mreža ili na internetu, onda jedan od najbolje opcije je kombinacija Nmapa i Zenmapa (grafičko sučelje za Nmap).

Nmap ima veliki broj mogućnosti skeniranja, a Zenmapovo grafičko sučelje iznimno olakšava korištenje programa.

Nmap značajke uključuju:

  • skeniranje portova
  • određivanje operativnog sustava udaljenog računala
  • definicija usluga, softver i njihove verzije na udaljenom hostu

Pomoću Nmap skripti možete provjeriti udaljena računala na ranjivosti, slabe lozinke, prikupiti određene informacije, pretraživati ​​usluge koje dopuštaju anonimnu prijavu i obavljati druge zadatke vezane uz radnje mrežnog administratora ili testera prodora.

Pokrenite preuzeti Nmap instalacijski program; on će osim glavnog programa instalirati i nekoliko komponenti koje su potrebne za rad Nmapa na Windowsima.

Kada je sve spremno, na radnoj površini pojavit će se programski prečac:

Glavni prozor programa izgleda ovako:


U polju Cilj trebate navesti adresu stranice (URL), IP ili raspon IP adresa za skeniranje.

U polju Profil Iz padajućeg popisa trebate odabrati željeni profil.

Kako odrediti cilj u Zenmapu (Nmap)

Adrese web stranica trebaju biti navedene bez protokola, na primjer:

  • mi-al.ru
  • suip.biz

Bilo bi netočno navesti obrazac https://mi-al.ru


IP adrese se mogu navesti jedna po jedna, na primjer, 192.168.0.1; koristeći CIDR adresiranje, na primjer, 192.168.0.1/24; kao i označavanje raspona u jednom ili više okteta, na primjer, 192.168.0.1-100 ili 192.160-170.50-100.1

Što Profili znače u Zenmapu?

Profili u glavnom prozoru Zenmapa su skup opcija za tipična skeniranja. Pogledajmo sve Zenmap profile.

  • Intenzivno skeniranje(Intenzivno skeniranje)

Intenzivno sveobuhvatno skeniranje. Opcija -A uključuje nekoliko drugih opcija odjednom: određivanje verzije OS-a ( -O), određivanje verzija pokrenutih usluga ( -sV), skeniranje pomoću skripti ( -sC) i trag ( --traceroute). Bez administratorskih povlastica moguće je pokrenuti samo otkrivanje verzije i skeniranje pomoću skripti. Ovo se smatra nametljivim (opsesivnim) skeniranjem.

Omogućuje otkrivanje OS-a ( -O), otkrivanje verzije ( -sV), skeniranje pomoću skripti ( -sC) i trag ( --traceroute) uz skeniranje TCP i UDP priključaka.

  • Intenzivno skeniranje, svi TCP portovi(Intenzivno skeniranje, svi TCP portovi)

Skenira sve TCP priključke, zatim otkriva OS ( -O), otkrivanje verzije ( -sV), skeniranje sa skriptama ( -sC) i trag ( --traceroute).

  • Intenzivno skeniranje, bez pinga(Intenzivno skeniranje bez pinga)

Obavlja intenzivno skeniranje bez prethodne provjere rade li mete. Ovo može biti korisno kada ciljevi ignoriraju normalne sonde za otkrivanje domaćina.

  • Ping skeniranje(Ping)

Ovo skeniranje samo utvrđuje koji su ciljevi pokrenuti i ne izvodi skeniranje portova.

  • Brzo skeniranje(Brzo skeniranje)

Ovo skeniranje je brže od običnog skeniranja jer koristi agresivan vremenski uzorak i skenira manje portova.

  • Brzo skeniranje plus(Quick Scan Plus)

Brzo skeniranje, plus otkrivanje OS-a

  • Brzo praćenje(Fast Trace)

Prati putove do ciljeva bez izvođenja potpunog skeniranja njihovih portova.

  • Redovito skeniranje(Redovito skeniranje)

Osnovno skeniranje bez dodatnih opcija.

  • Sporo sveobuhvatno skeniranje(Sporo sveobuhvatno skeniranje)

Ovo je sveobuhvatno, sporo skeniranje. Svaki TCP i UDP port se skenira. Otkrivanje OS-a u tijeku ( -O), definicija verzije ( -sV), skeniranje sa skriptama ( -sC) i trag ( --traceroute). Mnogi zahtjevi za ispitivanje šalju se kako bi se otkrili hostovi. Ovo je vrlo nametljivo skeniranje.

Na primjer, ako želim saznati koji su hostovi na podmreži pingirani, tada odabirem profil Ping skeniranje.


Pomoću praktičnog uređivača profila možete uređivati ​​i stvarati nove profile.


Iako korištenje uređivača profila sadrži opis radnji koje se izvode i stoga ne zahtijeva poznavanje Nmap opcija, za dublje razumijevanje programa možete pročitati opis svih Nmap opcija na https://kali.tools/?p= 1317

Ako želite skenirati sve TCP priključke, navedite cilj i unesite ga kao naredbu nmap -p 1-65535


Rezultati skeniranja

Rezultati dobiveni posljednjim skeniranjem vidljivi su u kartici Zaključak Nmap. S lijeve strane možete prelaziti između Čvorovi I Usluge. Kada kliknete na određeni čvor, vidjet ćete prethodne rezultate skeniranja. Kada kliknete na uslugu, vidjet ćete čvorove na kojima je usluga otkrivena:


Da biste vidjeli opće informacije o čvoru, kliknite na njega i odaberite karticu Pojedinosti o jedinici:


U kartici Topologija vidjet ćete informacije o vezama između skeniranih/otkrivenih čvorova:


Korištenje Nmapa u sustavu Windows iz naredbenog retka

Ako vam je potrebna konzolna verzija Nmapa, možete je koristiti na Windowsima baš kao što možete na Linuxu. Kada instalira Nmap, dodaje stazu do Nmap izvršne datoteke u varijable okruženja, tako da naredbeni redak samo trebate navesti naziv programa:


Zaključak

Nmap vam omogućuje skeniranje računala i drugih uređaja u potrazi za otvorenim portovima iz sustava Windows. Također je sposoban odrediti usluge koje se izvode na udaljenom hostu i njihovu verziju.

Grafičko sučelje čini program lakšim za korištenje, no za stjecanje znanja o raznim tehnikama skeniranja preporuča se da se upoznate sa svim opcijama programa.

Uz svoje glavne funkcije - skeniranje portova i određivanje instaliranih verzija softvera - Nmap skripte vam omogućuju obavljanje raznih drugih zadataka, uključujući provjeru ranjivosti, slabih lozinki i prikupljanje informacija.

Što je skeniranje portova? Koje metode skeniranja postoje? Koje prijetnje predstavlja?

U današnjem ću članku pokušati govoriti o tome što je skeniranje otvorenih portova, reći ću vam o metodama koje se koriste u skeniranju portova i kako se zaštititi od svega toga.

Skeniranje je skup procedura koje vam omogućuju identificiranje hostova, portova i usluga ciljnog sustava. Skeniranje mreže omogućuje napadaču prikupljanje profila napadanog stroja.

Prema Ethical Hacking and Countermeasures EC-Council, razlikuju se sljedeće vrste skeniranja:

  • mrežno skeniranje - identificiranje čvorova na mreži;
  • skeniranje portova - identificiranje otvorenih portova i funkcionalnih servisa;
  • sigurnosno skeniranje sustava - identificiranje poznatih ranjivosti sustava.

Na prvi pogled nema štete od skeniranja, međutim, teško je složiti se s ovakvim pristupom, jer skeniranje prethodi napadu, omogućavajući napadaču da otkrije koji se servisi izvode na ciljnom sustavu, te stoga pripremi i izvede ciljani napad na identificirane usluge i njihove ranjivosti. Stoga je potrebno boriti se protiv inteligencije napadača.

Svrhe skeniranja priključaka

Istodobno, bilo bi korisno napomenuti da samo skeniranje nije uvijek zlonamjerna radnja, sve ovisi o njegovim ciljevima. Usluge sigurnost informacija ili IT osoblje može pribjeći skeniranju kako bi utvrdilo ranjivosti infrastrukture ili vidljivost usluga s vanjske mreže.

Zapravo, često sve počinje skeniranjem mreže, koje vam omogućuje da identificirate slabe čvorove, njihove IP adrese, otvorene luke, određuju operativni sustav, što znači da teoretski moguće ranjivosti postaju jasne, što za organizatora napada nije tako malo.

Metode skeniranja portova

Identificiramo strukturu mreže. Najlakši način skeniranja je ICMP skeniranje. Princip rada temelji se na ICMP protokolu, a ova vrsta skeniranja omogućuje pronalaženje "živih" čvorova u mreži i izradu mrežnog dijagrama s popisom čvorova. Bit metode je slanje ICMP zahtjeva mrežnim čvorovima; ako je računalo ili drugi uređaj koji radi s TCP/IP protokolom aktivan, bit će poslan odgovor. Ovo je takozvani ping sweep ili ICMP sweep. Postoji ogroman broj alata koji vam omogućuju obavljanje takvog skeniranja.

Skeniranje priključaka. Sljedeća faza je identificiranje otvorenih portova. U biti, ovo omogućuje određivanje servisa koji se izvode na udaljenom čvoru, čiji smo popis već primili kao rezultat prethodnog skeniranja. Osim toga, iz analize primljenih paketa također možete identificirati operativni sustav i niz drugih važni parametri(na primjer, imaju filter paketa).

Ovdje govorimo o TCP skeniranje. Njegov princip temelji se na osobitostima TCP-a. U biti, vrlo sličan mehanizam interakcije usvojen je u zrakoplovstvu tijekom pregovora između pilota i dispečera, uključujući zahtjev, odgovor s uputama i potvrdu primljenih uputa. Ovakav način interakcije, ako u potpunosti ne otklanja mogućnost nesporazuma, onda barem značajno smanjuje tu vjerojatnost.

To bi moglo izgledati ovako:

  • Pilot: Sheremetyevo-Taxiing, Aeroflot 502, čisto preliminarno.
  • Dispečer: Aeroflot 502, 25 desno1 na RD2 10, glavna linija, RD5 preliminarno odobrenje.
  • Pilot: Aeroflot 502, 25 desno, na rulnoj stazi 10, glavna linija, rulna staza 5 preliminarno odobrena.

Što se ovdje događa? Pilot je od dispečera tražio dopuštenje za taksiranje i svoju rutu. Dispečer je odobrio taksiranje i odredio rutu.

Pilot je potvrdio rutu i odobrenje dispečera. To je to, možete se kretati - ruta je primljena.

Vrlo slična stvar događa se u TCP komunikaciji. Ovdje se koristi trosmjerno rukovanje ili "trostupanjska" koordinacijska shema; također se koristi izraz "trostupanjski rukovanje", koji vam omogućuje sinkronizaciju odašiljačkih i prijamnih čvorova i uspostavljanje sesije, koja je u biti identična primjer s radio komunikacijama.

Pomoću ovog legalnog algoritma napadač može saznati koji su portovi otvoreni na poslužitelju, odnosno razumjeti koji se servisi koriste u sustavu, koji operativni sustav. Za to postoji nekoliko učinkovitih tehnika.

Potpuno skeniranje veze

Neke tehnike skeniranja portova. Najučinkovitija i najjednostavnija metoda skeniranja je Full Connect Scan (Full Open Scan). Njegovi principi precizno su prikazani na slici 3. Pokušava se izvesti trosmjerno rukovanje s čvorovima od interesa za istraživača. Ako je traženi port otvoren, od njega primamo SYN+ACK poruku, nakon čega čvoru šaljemo RST (resetiranje sesije), ako je zatvoren, od čvora koji se provjerava primamo RST. Treba napomenuti da se ova metoda skeniranja lako prepoznaje, stoga joj nije teško odoljeti.

Nevidljivo skeniranje

Drugi način skeniranja mreže zove se Stealth Scan (poluotvoreno skeniranje). U tom slučaju napadač pokušava zaobići zaštitu vatrozida i maskirati se kao normalan mrežni promet kako bi izbjegao snimanje događaja skeniranja u zapisnike sustava. Ovdje ne govorimo o pregovaranju; istraživač jednostavno šalje SYN paket na port od interesa na traženom poslužitelju. Ako je odgovor SYN+ACK, tada je port otvoren, ako je RST, tada je port zatvoren.

Ova metoda skeniranja je sofisticiranija, ali je moderni sustavi za sprječavanje upada moraju moći izdržati.

Božićno skeniranje

Ništa manje poznate metode skeniranja su Xmas Scan i Null Scan, ali ih nećemo razmatrati jer je zaštita od njih implementirana u modernim Microsoft operativnim sustavima, pa nas neće posebno zanimati. Posebnost ovih vrsta skeniranja je stealth način rada, odnosno bez postavljanja sesije. Međutim, detalje možete vidjeti u tečaju Etičko hakiranje ili u knjizi “Laboratorij za testiranje mrežne sigurnosti”. Ove vrste skeniranja učinkovite su samo na operativnim sustavima gdje se TCP stog temelji na RFC 793. Svi moderni operativni sustavi od Windows Vista a stariji nisu u opasnosti.

Skeniranje u stanju mirovanja

Možda najzanimljivija metoda skeniranja je Idle Scan. Glavna ideja je da napadač može skenirati žrtvu bez da joj pokaže svoju IP adresu, odnosno, sa stajališta skeniranog čvora, čini se da napadač ne komunicira s njim. Koristi se "dummy" čvor, kojeg sustavi za protumjere mogu identificirati kao izvor napada. Ovo je vrlo razumna tehnika, takozvani spoofing, kada se adresa pošiljatelja zamijeni adresom drugog uređaja. Mora se reći da računalo koje ima određene ranjivosti može postati "dummy" čvor ili "zombie". OS, u pravilu, treba ažurirati, ali to nije uvijek slučaj, a napadač uvijek može pronaći "pomagače", osim toga, mogu se koristiti kao "zombi" mrežni pisač ili drugi mrežni uređaj koji pokreće osnovne funkcije TCP/IP skupa.

Ovo skeniranje koristi polje Identifikacije u IP zaglavlju (IPID). IPID vrijednost se povećava za jedan u svakom sljedećem paketu koji čvor šalje. U biti, ovo je ranjivost jer postaje moguće predvidjeti koliko je paketa poslano između dva primljena paketa. Moderni operativni sustavi koriste slučajnu vrijednost za IPID polje, međutim, kao što je gore spomenuto, uvijek postoji rješenje. Za moderni Unix i Windows sustavi od Windows Vista i starijih, ovaj problem je već izgubio svoju važnost.

Pogledajmo slike 4 i 5. U prvom koraku (1), napadač kontaktira lažni uređaj sa standardnim SYN paketom. Uređaj odgovara SYN ACK (2) ili SYN RST paketom, što je vjerojatnije, ali IPID postaje vidljiv napadaču iz zaglavlja paketa. To je ono što trebate zapamtiti (3). Zatim napadač kontaktira server koji ga zanima (4), te njegovu IP adresu zamjenjuje adresom lažnog čvora, odnosno maskira se lažiranjem (address spoofing). Kao odgovor na ovaj zahtjev, poslužitelj, ako je port otvoren, šalje SYN/ACK na lažnu adresu (5). Napravili smo promjenu. Ne znajući što učiniti s ovim paketom, lažno računalo će odgovoriti RST-om (resetiranje sesije), povećavajući vrijednost svog IPID-a. U našem slučaju to će biti jednako 30132 (6). Ako je port zatvoren, poslužitelj će poslati reset sesije (RST) - vidi sliku 5 (5).

Skeniranje u mirovanju (priključak na poslužitelju je otvoren)
Neaktivno skeniranje (priključak na poslužitelju je zatvoren)

IPID lažnog čvora ostao je nepromijenjen, u našem slučaju 30131, budući da “zombi” nikome nije ništa poslao. Sada sve što preostaje je ponovno se okrenuti "zombiju", kao što smo učinili gore, identificirati njegov IPID i usporediti ga s vrijednošću koju imamo. Ako se IPID poveća za 2, port je otvoren.

Još jedna važna točka koju bih želio napomenuti je da operativni sustavi imaju svoje specifičnosti kada rade s TCP/IP stogom. Koristeći ove značajke pri analizi paketa primljenih tijekom skeniranja, sasvim je moguće saznati s kojim OS-om imamo posla; tehnike skeniranja Banner Grabbing izgrađene su na ovim principima. Zadatak je identificirati podatke o računalnom sustavu i njegovim ranjivostima, što će omogućiti napadaču da to znanje iskoristi za svoje kasnije destruktivne akcije. Svaki moderni skener će napadaču pružiti ove informacije.

Operativni sustavi općenito moraju biti ažurni, ali to nije uvijek slučaj, a napadač može pronaći pomoćnike, ili se mrežni pisač ili drugi mrežni uređaj koji pokreće osnovne funkcije TCP skupa može koristiti kao zombi. IP

Lako je vidjeti da se sve razmatrane metode skeniranja temelje na normalnom ponašanju čvorova, što znači da je svako računalo ili drugi mrežni uređaj potencijalno ranjiv.

Napadač ima mogućnost prikupiti i analizirati primljene informacije o strukturi mreže, uslugama i ranjivostima sustava. To pruža potencijalnu priliku za pripremu ciljanog napada na određene čvorove i usluge.

Argument za --scanflags opciju može biti numerička vrijednost, kao što je 9 (PSH i FIN zastavice), ali korištenje simboličkih imena puno je jednostavnije. Koristite bilo koju kombinaciju URG, ACK, PSH, RST, SYN i FIN. Na primjer, opcija --scanflags URGACKPSHRSTSYNFIN postavit će sve zastavice, iako to nije baš korisno za skeniranje. Redoslijed kojim su zastavice navedene nije bitan.

Osim navođenja željenih zastavica, možete također navesti vrstu TCP skeniranja (na primjer, -sA ili -sF). To će reći Nmapu kako interpretirati odgovore. Na primjer, kod SYN skeniranja, nema odgovora označava filtrirani port, dok kod FIN skeniranja, to ukazuje na otvoreni|filtrirani port. Nmap će implementirati za ovaj tip skeniranje, ali koristeći TCP zastavice koje navedete umjesto standardnih. Ako ne navedete vrstu skeniranja, zadana će biti SYN.

-si <зомби_хост> [: <порт> ] (lijeno skeniranje u mirovanju)

Osim što je nevidljiv (zbog svoje prirode), ova vrsta skeniranja također omogućuje otkrivanje IP odnosa povjerenja između strojeva. Popis otvorenih portova prikazuje otvorene portove sa stajališta zombi stroja. Stoga možete pokušati skenirati metu pomoću raznih zombi strojeva za koje mislite da će im se vjerovati (putem pravila usmjerivača/filtra paketa).

Možete dodati broj porta nakon dvotočke zombi hostu ako želite koristiti određeni port. Prema zadanim postavkama koristit će se port 80.

Portovi se također mogu specificirati prema imenima kojima odgovaraju u datoteci nmap-services. Možete čak koristiti * i ? u imenima. Na primjer, za skeniranje ftp-a i svih portova koji počinju s http koristite -p ftp,http*. U takvim slučajevima, bolje je navesti -p argumente.

Rasponi priključaka su u uglatim zagradama; portovi u ovom rasponu koji se pojavljuju u nmap-uslugama bit će skenirani. Na primjer, sljedeća opcija će skenirati sve portove iz nmap-servisa koji su jednaki ili manji od 1024: -p [-1024] . U takvim slučajevima, bolje je navesti -p argumente.

-sO (Skeniranje IP protokola)

Ova vrsta skeniranja omogućuje vam da odredite koje IP protokole (TCP, ICMP, IGMP, itd.) podržavaju ciljna računala. Tehnički, takvo skeniranje nije vrsta skeniranja porta, jer kruži kroz brojeve IP protokola umjesto brojeva TCP ili UDP portova. Iako ovo još uvijek koristi opciju -p za odabir brojeva protokola za skeniranje, rezultati se vraćaju u formatu tablice priključaka, pa čak koristi isti mehanizam za skeniranje kao i razne opcije skeniranja priključaka. Stoga je vrlo blizu skeniranju portova i ovdje je opisano.

Osim što je koristan u predviđenoj primjeni, ova vrsta skeniranja također pokazuje snagu softvera otvorenog koda. Iako je osnovna ideja prilično jednostavna, nikada nisam razmišljao o uključivanju takve značajke u Nmap, niti sam primio zahtjeve da to učinim. Tada je, u ljeto 2000., Gerard Rieger razvio ovu ideju, napisao izvrsnu zakrpu kojom ju je implementirao i poslao je nmap-hakeri bilten. Uključio sam ovu zakrpu u Nmap i pustio je sljedeći dan nova verzija. Nekoliko komercijalnih softvera može se pohvaliti korisnicima koji su dovoljno entuzijastični da razviju i isporuče svoja poboljšanja!

Način na koji ova vrsta skeniranja radi vrlo je sličan onom implementiranom u UDP skeniranju. Umjesto promjene polja broja porta u UDP paketu, šalju se zaglavlja IP paketa i mijenja se polje 8-bitnog IP protokola. Zaglavlja su obično prazna, ne sadrže podatke ili čak ispravno zaglavlje za traženi protokol. Iznimke su TCP, UDP i ICMP. Uključivanje ispravnog zaglavlja za ove protokole je neophodno jer... inače ih neki sustavi neće poslati, a Nmap ima sve potrebne funkcije za njihovu izradu. Umjesto da kao odgovor očekuje poruku nedostupnosti ICMP porta, ova vrsta skeniranja očekuje poruku nedostupnosti ICMP porta. protokol. Ako Nmap primi bilo kakav odgovor od bilo kojeg protokola, tada je protokol označen kao otvoren. Pogreška nedostupnosti ICMP protokola (tip 3, kod 2) označava protokol kao zatvoren. Ostale ICMP nedostupne pogreške (tip 3, kod 1, 3, 9, 10 ili 13) označavaju protokol kao filtriran (istovremeno pokazuju da je ICMP protokol otvoren). Ako se nakon nekoliko zahtjeva ne dobije odgovor, protokol se označava kao otvoren|filtriran

. -b (Skeniranje odbijanja FTP-a)

Zanimljiva značajka FTP protokola (RFC 959) je podrška za takozvane proxy FTP veze. To omogućuje korisniku da se spoji na jedan FTP poslužitelj i zatim od njega zatraži da prenese datoteke na drugi. Ovo je ozbiljno kršenje, pa su mnogi poslužitelji prestali podržavati ovu značajku. Pomoću ove funkcije možete skenirati portove drugih hostova koji koriste ovaj FTP poslužitelj. Samo zatražite od FTP poslužitelja da pošalje datoteku na svaki port ciljnog računala koji vas zanima. Poruka o pogrešci će pokazati je li port otvoren ili ne. Ovaj dobar način zaobilaženje vatrozida, jer Organizacijski FTP poslužitelji obično imaju veći pristup drugim internim hostovima nego bilo koji drugi stroj. U Nmapu je ova vrsta skeniranja navedena s -b opcijom. Pronosi se kao argument <имя_пользователя> : <пароль> @ <сервер> : <порт> . <Сервер> - Ovo ime mreže ili IP adresa FTP poslužitelja. Kao i kod uobičajenih URL-ova, možete izostaviti <имя_пользователя> : <пароль> , tada će se koristiti anonimni podaci (korisnik: anonimna lozinka: -wwwuser@). Broj priključka (i prethodna dvotočka) također se može izostaviti; tada će se zadani FTP port (21) koristiti za povezivanje <серверу> .

Ova je ranjivost bila široko rasprostranjena 1997. kada je Nmap objavljen, ali sada je zakrpana gotovo posvuda. Još uvijek postoje ranjivi poslužitelji, pa ako ništa drugo ne uspije, vrijedi pokušati. Ako vam je cilj zaobići vatrozid, skenirajte ciljnu mrežu otvorena luka 21 (ili čak za prisutnost bilo koje FTP usluge ako koristite otkrivanje verzije), a zatim pokušajte ovu vrstu skeniranja sa svakom od pronađenih. Nmap će vam reći je li host ranjiv ili ne. Ako samo pokušavate prikriti tragove, onda se ne morate (i zapravo ne biste trebali) ograničiti samo na hostove na ciljanoj mreži. Prije nego počnete skenirati nasumične internetske adrese u potrazi za ranjivim FTP poslužiteljima, imajte na umu da ih je mnogo administratori sustava neće ti se svidjeti.