Forside   Profil    IT sikkerhed    Søgemaskineoptimering    Reference    Ressourcer

 

Midlertidige links: vidensbank

Hackernes værktøj #4

Scanner.

En scanner er altid aktiv, d.v.s. at scanneren udsender en eller anden form for forespørgsel eller stimulation og så opfanger svaret og aktive værktøjer kan altid opfanges på den ene eller anden måde, selvom de kan anvendes sådan at opfangelse bliver meget vanskelig Der findes et hav af forskellige scannere, der scanner for stort set alle protokoller og på alle OSI modellens lag. der findes port scannerer, sårbarhedsscannere, virusscannerer, netværks nodescannere, applikations skannere af forskellig art for blot at nævne nogle få, herunder vil vi behandle nogle forskellige typer at scannere, vi vil kikke lidt på hvordan de virker, hvad deres svage og stærke sider er og hvordan de med fordel kan anvendes.

Portscannere.

Enhver enhed, hvad enten vi taler computer, server, printer, router eller switch har en IP adresse på vores netværk. Denne IP adresse er unik og bruges til at finde frem til de enkelte enheder. Man kan nærmest sammenligne den med virksomhedernes hovedtelefonnummer. Når man så har fat i den enkelte maskine, så skulle man jo gerne kunne få fat i de relevante ting længere inde, hvad enten det man har brug for at få fat i er en web server, en mail server, nogle delte filer eller andet, og det er her porten kommer ind i billedet. Du kan sammenligne port nummeret med et lokal telefonnummer, skal du have fat i web serveren, så "ringer" du til computerens IP nummer og beder om at tale med port 80. I Internet verdenen har man været så smart at man har standardiseret "lokal nummeret" til en lang række tjenester, næsten som at man altid kunne få fat i salgschefen på nummer 50 eller hvis regnskab altid kunne nås på nummer 30. når vi taler porte, så er numrene fra 1 til 1023 reserveret til den slags standard tjenester og alle herover kan frit benyttes. Dette er dog i dag en sandhed med modifikationer, idet også porte over 1034 i dag er reserveret til, eller benyttes af velkendte standard applikationer som f.eks. VNC, der standard benytter port 5900. En portscanner scanner maskinen for åbne porte.

Nmap

Portscanneren over alle portscannere er Nmap, der opnåede almen berømmelse som det værktøj Triniti anvendte i Matrix Reloaded da hun hackede sig ind i The Matrix. Værktøjet er udviklet i gennem snart mange år af en Russer ved navn Fyodor og kan downloades fra http:www.insecure.org hvor der også ligger megen god info om nmap. Nmap er også en del af flere andre scanner værktøjer der bygger oven på nmap. Lad os kikke på hvordan Nmap virker.

Nmap er et fantastisk fleksibelt værktøj, der kan scanne på et hav af forskellige måder, mange af disse måder og metoder, er lavet for at kunne gennemføre scanninger for ikke at blive opdaget, andre igen for at kunne bruge forskellige protokoller. Vi vil her kikke på nogle af de mest anvendte scannemetoder.

TCP connect port scan.

Kommandoen

Nmap -sT -p 1-65535 192.168.0.22

Teori

For at kunne forstå hvad der sker under denne scanning, skal man kende TCP protokollens virkemåde og også gerne lidt om hvorfor den virker således. TCP er det der kaldes connection oriented. Dette betyder at den holder forbindelsen og sørger for at alle pakker kommer sikkert frem og kan læses af modtageren. Den bruges hvor det er nødvendigt at tilsikre at alle de sendte data kan læses. Hvis du f. eks sender en lydfil, så gør det ikke så meget at lyden falder ud i 1/1000 sekund, eller at kvaliteten et lille øjeblik bliver dårligere, men hvis der f.eks. er tale om noget data der skal kunne læses præcist, så nytter det ikke at en bit er forkert eller mangler, for så ændres data. TCP er sikker, men langsom da der er kontrol på det hele. Det første der sker når en TCP forbindelse etableres er at der gennemføres et 3-way handshake.

I ovenstående eksempel forespørger hackeren en hjemmeside fra en web server.

Det foregår ved at hackeren sender en TCP pakke til web serveren på (destinations)port 80, hvor SYN flaget er sat og hvor en source port er opgivet, dette kunne f.eks. være port 56700.

Web serveren svare ved at sende en TCP pakke til hackerens maskine på port 56700, hvor ACK og SYN flaget er sat. Web serveren bekræfter (Acknowledge) den syncroniserings pakke hackeren har sendt og sender sin egen syncroniseringspakke.

Hackerens maskine svare endeligt ved at sende en TCP pakke til web serveren på port 80, med SYN flaget sat. Hackerens maskine har nu bekræftet syncroniseringen fra web serveren og de to nødvendige kanaler er skabt.

Scanningen.

Når ovenstående kommando er afgivet, starter Nmap på port 1 og afsender en SYN pakke til maskinen på IP adressen 192.168.0.22 og så gennemføres hele 3 way handshake, hvorefter der fortsættes med port 2 osv. osv.

Det er klart at denne scanning er meget let at opdage idet alle forespørgslerne kommer i rækkefølge, med ovenstående kommando fra port 1 til port 65535. Man kan gennemføre denne scanning som det der kaldes Xmas Tree scanning med switchen -sX, dette gør at portene scannes i tilfældig rækkefølge, hvilket gør det lidt svære at opdage. Man kan også sætte en -T switch på og opgive et tidsinterval så der gennemføres en scanning f.eks. hvert 20 minut, hvorefter det tager tid, og nu bliver det ret svært at opdage.

TCP SYN stealth port scan.

Kommandoen

Nmap -sS - vv -g 53 -p 1-1023 192.168.0.0/16 -O

Teori

Her bruger vi  hvad der også kaldes Half scan eller incomplete handshake idet det kun er den første SYN pakke der afsendes, lige så snart målets SYN og ACK pakke er modtaget afsendes den næste SYN pakke på næste port.

Scanningen

Det er klart at denne scanningsmetode er meget hurtigere end ovenstående eksempel, men den "sviner" også meget mere og er meget lettere at opdage, også selvom man bruger samme metoder til at skjule. Det fulde 3 way handshake er en fuldt lovlig og normal forespørgsel, hvorimod den halve ukomplette efterlader en masse uafsluttede TCP forbindelser der står og hænger indtil de timer ud. Det både belaster målet og sætte relativt tydelige aftryk i både logs og overfor IDS.

Denne scanning er også anderledes på grund af et par yderligere switche. -vv er en dobbelt verbose scanning og det betyder at vi får flere informationer med, -O switchen betyder at Nmap forsøger at finde ud af hvilket operativsystem vi scanner, -g 53 switchen er i virkeligheden relativt avanceret, idet vi her tvinger Nmap til at sætte source porten til at være port 53. Det vi her forsøger er, at se om målets firewall er løsere sat op end den behøver at være. Port 53 er DNS porten og nogle firewalls er (fejlagtigt)konfigureret til at lade alt der skal ud på port 53 slippe ud, da det jo er DNS og derfor helt ufarligt. I vores tilfælde kan vi altså slippe af sted med at spørge på alle portene og så få svaret ud på port 53, hvor firewallen ellers havde blokeret trafikken. Endelig ser vi at der i stedet for en enkelt IP adresse scannes et helt subnet.

UDP port scan

kommandoen

Nmap -sU -P0 - n -p 1-1023 192.168.0.0

Teori

UDP er i modsætning til TCP connection less. Dette betyder at pakkerne bare uden videre skydes af mod målet uden hensyn til om målet er åbent, klar eller i det hele taget eksisterer. UDP er også ligeglad med om alle pakkerne når frem og om dem der når frem overhoved kan læses. UDP er usikker men hurtig og bruges typisk til streaming af lyd og video og andre kommunikations former hvor sikkerheden ikke er vigtig.

Scanningen

Da UDP fungerer helt anderledes end TCP er scanningen naturligvis også grundlæggende anderledes. Hvor TCP har brug for et svar for at vide om en port er åben, er det modsat med UDP. Hvis Nmap ikke modtager noget tilbage fra de udsendte UDP pakker, så tolker Nmap det som om porten er åben. Dette skyldes at systemet er lavet således at der under ideal omstændigheder ville blive sendt en ICMP pakke tilbage, hvis porten er lukket (Port Unreachable) og ligeså hvis målet ikke eksisterer (Host Unreachable). Igen har vi lidt ekstra switches på. -PO switchen betyder at Nmap undlader at pinge hosten og -n switchen gør at Nmap ikke foretager navneopløsning

Afsluttende bemærkninger om Nmap.

Namp er hurtigt at komme i gang med, men næsten umulig at blive færdig med, den kan simpelthen scanne på utroligt mange forskellige måder. For at blive dus med dette værktøj skal det bruges og den bedste effekt får man, hvis man bruger den sammen med et sniffer værktøj, så man kan se trafikken også. Skal man gøre det komplet, bør man også se effekten i firewallens logfiler og hvordan det ser ud fra et IDS.

Sårbarhedsscannere.

Før vi kan snakke om scanneren, er vi nødt til at kikke på hvad en sårbarhed egentlig er. I bredeste forstand er en sårbarhed, alt der kan udnyttes af andre i onde hensigter, til at gøre uhensigtsmæssige ting på og ved vores systemer. Det kan altså være alt fra huller og fejl i systemer, manglende systemer eller mangelfuld konfiguration, eller fejlbehæftede konfigurationer eller procedurale ting der giver utilsigtede muligheder. Der findes et antal forskellige sårbarhedsscannere der går efter forskellige dele af sårbarhedsspektret.

Det er også vigtigt at forstå at ordet system, skal forstås i bredest mulig forstand. System er alt det der er installeret på computeren fra operativsystemet hen over alle programmer og løsninger der er installeret til drivere og andre system ting, alt kan udnyttes.

Sårbarhedsscannerens dilemma

Nogle sårbarheder kan man finde uden at skulle udnytte dem, Hvis der f.eks. er en sårbarhed i en Microsoft IIS server, der ikke er kommet en rettelse til, kan man finde sårbarheden ved at hente banner informationer ud af serveren, der fortæller hvilke version af IIS vi står overfor. Er det den rigtige version, vil sårbarheden være der. Hvis nu der er kommet er rettelse, vil sårbarheden kun være til stede på systemet, hvis web masteren ikke har patchet sin server, og det kan vi kun finde ud af ved at udnytte sårbarheden.

Hvis nu denne sårbarhed er en DOS (Denail of service) sårbarhed, så vil det at vi udnytter den, betyde at serveren går ned, hvorefter vi ikke kan taste og finde flere sårbarheder. Dette dilemma betyder at vi er nødt til at foretage et valg. Hvis vi tester hård og insisterer på at teste får sårbarhederne så vi får høj sikkerhed for at de er tilstede, så vil vi vælte serveren første gang vi rammer en DOS sårbarhed og derefter ikke kunne finde flere ting. Hvis vi derimod vælger kun at teste for sikre sårbarheder, d.v.s. sårbarheder vi er sikre på ikke vælter serveren, vil vi stå med en masse sårbarheder der kun er sandsynliggjorte, d.v.s. scanneren har fundet at der er tale om en IIS der kan have denne sårbarhed. Dette valg ender normalt med at man vælger de sikre sårbarheder og så foretager en manuel validering af de fundne sårbarheder bagefter

Nessus.

Nessus er vel nærmest industristandard når vi taler sårbarhedsscannere, den er dels meget kendt og meget brugt og så har den indtil for et lille år siden været helt gratis at bruge. Den kan stadig bruges gratis, hvis man kan leve med at være 7 dage bagud med opdateringerne.

Nessus er en generel sårbarhedsscanner. Dette vil sige at den tester for sårbarheder i både operativsystemer, protokoller og applikationer. Modsætningen hertil kaldes normalt for en applikations sårbarhedsscannet og disse kan f.eks. scanne for sårbarheder i web applikationer, så der er altså ikke tale om at applikations skal forstår meget smalt i denne sammenhæng.

Nessus fungerer på den måde at der skrives plugins til at teste de forskellige sårbarheder. Disse plugins skrives i scriptsproget Nessus Attack Scripting Language (NASL), der er en slags perl clon eller perl forenkling, der er lavet specifikt til denne opgave. Det er selvfølgelig nessus's egne folk der bestemmer hvilke plugins der skal ligges ind i scanneren, men alle kan skrive pluging og dermed deltage i udviklingen. Der findes pt. 13349 forskellige plugins og i skrivende stund er forskellen mellem den betalte nessus og den gratis 1095 plugins (dette tal ændre sig dog kontinuerligt). Alle nessus plugins ligger sig op ad en offentliggjort sårbarhed, således at 6138 unikke CVE id'ere og 5230 Bugtraq ID'ere indehold i samlingen

Nessus installeres som en server, hvorefter den tilgås fra en klient, begge dele fås til både Windows og Linux, hvor det tidligere var sådan at Linux versionen var helt gratis og Windows versionen koster kassen. Serveren kan sagtens betjene flere klienter.

Værktøjet Nessus indeholder også uanede mængder af muligheder for at konfigurere så scanningerne bliver svære at opdage af f.eks. IDS. Standard indstillingerne larmer ganske voldsomt og vil starte alarmerne på alle IDS. Det er klart at man også kan redigere i hvilke sårbarheder der skal testes for, således at man ikke behøver at bruge tid på teste der er åbenlyst spild af tid, f.eks. Solaris tests når man ved at det er en IIS. Det er klart at en administrator eller penetrations tester ikke vil bruge tid på den slags, da der jo ikke er grund til at skjule noget og da scanningerne kan køres for fuld speed, men der kan stadig være behov for at fjerne plugins, f.eks. fordi disse har utilsigtede effekter.

Der findes en open source version af Nessus der hedder OpenVAS tidligere GNessUs som selvfølgelig er gratis, hvordan det går med dette projekt er svært at sige, den der kan downloades fra freshmeat er baseret på en Nessus 2.2.5 packages fra GNU/Debian.

Brug af Nessus

 

  1. Først trin er ar starte Nessus serveren. Det gøres med kommandoen "nessusd -D". I Linux terminologien kan en Deamon sammenlignes med en Service og denne startes i Deamon mode med -D
  2. Herefter opdateres samlingen af Nessus plugins med kommandoen "nessus-update-plugins -v". Switchen -v er for at kunne se på skærmen når de enkelte plugins kommer ned. Da der er relativt mange plugins, kan denne opdatering godt tage lidt tid 
  3. Næste skridt er at logge ind til Nessus serveren. Logonboksen fremkommer med kommandoen "nessus". Brugernavn og password er en del at det man gør under installationen af nessus 
  4. Såfremt man ønsker at sikre sig mod at målet går ned under scanningen afkrydses "enable all but dangerous plugins". Læs herover omkring sårbarhedsscannerens dilemma 
  5. Man bør også sikre sig port range er sat, evt. begrænset. Man skal dog vide at nessus i vid udstrækning er i stand til at opdage, hvis f.eks. en FTP server køre på en anden port end standarden. Det kræver dog at nessus får lov at scanne den pågældende ikke standard port 
  6. Overvej at slå optimize test og safe checks fra da de langsommeliggør processen en del uden rigtigt at give noget tilbage.

 

Efterbehandling af Nessus rapporten

Nessus leverer sin rapport som et antal web sider med statistik og grafer hvis man øsnker dette, men som udgangspunkt er rapporten i sin rå form ganske værdiløs. Alle de fundne sårbarheder bør valideres og kommenteres og et antal løsningsmuligheder bør opstilles pr. sårbarhed. Det er særligt rapportens mange indbyggede falske positiver, der udgør et stort problem hvis man udleverer rapporten uredigeret til f.eks. en ledelse. Disse vil indledningsvis blive unødigt forskrækkede når de ser antallet af alvorlige sårbarheder der er fundet og senere miste tiltroen til rapporten og den der rapporterer, når de opdager hvor meget ikke relevant sluder der findes i den rå rapport.

Applikations sårbarhedsscanneren.

En applikations sårbarhedsscanner er en scanner der går efter en mere specifik type af sårbarheder. Der er enten tale om sårbarhedsscannere der går efter f.eks. sårbarheder i web applikationer eller der er tale om scannere der går efter helt specifikke sårbarheder. F.eks. det anerkendte web site http://www.foundstone.com/, der i dag er opkøbt af Mcafee, der som bekendt laver bl.a. virusscanner værktøjer , har en masse forskellige meget specifikke scannerværktøjer liggende under ressourcer -  Free Tools. Man kan bl.a. hente SuperScan™, MS05-051 Scan, MS05-039 Scan, NetSchedScan, DSScan, MydoomScanner, MessengerScan, SQLScan, BOPing™, ScanLine™, Trout™, DDosPing™, SNScan™, CIScan, RPCScan samt en masse andre værktøjer.

En anden meget kendt applikationsscanner er Nikto, der er en hurtig kommandolinie scanner, der leverer resultaterne i en noget mere rå form end f.eks. Nessus. Igen kan man ikke anvende scanningsresultaterne direkte, men er nødt til at validerer og forholde sig til hver enkelt funden sårbarhed.

Afsluttende bemærkninger.

Internet miljøet er en dynamisk verden i evig hastig udvikling på alle områder. Dette gælder både sårbarheder og scannere, hvorfor man er nødt til hele tiden at følge med aktivt. Det at følge med aktivt indebær at man faktisk anvender de forskellige scannere, dels for at finde de sårbarheder de kan scanne for, men også for proaktivt at se hvordan det ser ud når den slags værktøjer anvendes mod os. Man siger at der kræver en tyv at fange en tyv og selvom man ikke bør begå ulovligheder, så er man nødt til at vide hvilke muligheder der findes i miljøet. Brug disse værktøjer med forsigtighed og altid i lukkede miljøer, hvor skaderne er begrænset mest muligt.

Hackere, Hacking med mere

Hacking - Hvordan gøres det
Hacking - Hvilke typer findes der
Hacking – Hvorfor hackes der, Hvad vil de opnå.
Hacking - Kendte hackere

Hacking - Hacker emblemet
Hacking - Hackernes værktøj #1. Google
Hacking - Hackernes værktøj #2. Rootkits
Hacking - Hackernes værktøj #3. Sniffer
Hacking - Hackernes værktøj #4. Scanner

Hacking - Tænk som en hacker
Hacking - Via Social Engineering
Hacking - Hacking for Managers, del 1
Hacking - Hacking for Managers, del 2

Gør noget dumt og Hack dig selv
Hvordan hacker man. Den indirekte vej ind

Læs også disse serier

Søgemaskineoptimering
Søgemaskinepositionering
Søgemaskinemarkedsføring
Webpromotion
IT sikkerhed
Google
Hacking
SEO - Blackhat Teckniques


Kontakt Os

Bufferzone.DK
C.F:Richsvej 90
2000 Frederiksberg
Denmark

e-mail
info@bufferzone.dk



Zones

- GraficZone
- ScriptZone
- LinkZone
- BannerZone











FocusZones

- webpromotion
-
søgemaskineoptimering
-
søgemaskinepositionering
- IT sikkerhed

- SEO
- Hacking

Copyright 2006 BufferZone.dk. All Rights Reserved.
Legal Stuff, BufferZone dedication, Testimonials, Privacy Policy.



 
Hackernes værktøj #4 scanner  bufferzone.dk Hackernes værktøj #4 scanner bufferzone.dk Hackernes værktøj #4 scanner bufferzone.dk Hackernes værktøj #4 scanner bufferzone.dk Hackernes værktøj #4 scanner bufferzone.dk