introduktion
kortlægning af sårbarhed er en aktivitet, der udføres for at identificere sikkerhedsfejl, som kan resultere i kompromis med et system. Nogle gange vil forskere bruge udtrykket” sårbarhedsvurdering “i stedet for” sårbarhedskortlægning.”De er dog det samme.
ved pentesting og ondsindet hacking er sårbarhedskortlægning et trin, der følger efter, at testeren eller hackeren har udført tilstrækkeligt informationsindsamling og optælling af målnetværket eller værten.
i denne artikel vil vi se på, hvordan forskellige værktøjer i operativsystemet kan implementeres for at opdage sårbarheder, der kan føre til kompromittering af mål og dermed resultere i, at hacker eller penetrationstester krænker fortroligheden, integriteten og tilgængeligheden af et forretningssystem.
Sårbarhedstyper
i dag findes der tre hovedklasser af sårbarheder, hvorfra der kan skelnes klart. De tre klasser er:
- design sårbarheder: Disse vil blive opdaget via svagheder, der skyldes programspecifikationer. Disse er langt de mest besværlige at løse, da de kræver, at patches anvendes baseret på sikkerhedskrav givet af pentester
- Implementeringssårbarheder: når der opdages fejl i programkode, klassificeres de her.
- operationelle sårbarheder: disse sårbarheder skyldes forkert konfiguration og implementering af programmer.
klasserne af sårbarheder ovenfor vil enten forekomme lokalt eller eksternt inden for målmiljøet.
lokale sårbarheder kræver, at testeren eller angriberen har lokal adgang til målsystemet for at udnytte dem. Et godt eksempel på dette er CVE-2013-0232, ellers kendt som GP Trap Handler nt!KiTrap0D, som ville give en angriber eller tester med adgang til en sårbar vinduer Server 2008 maskine til at få eskaleret privilegeret adgang.
eksterne sårbarheder gør det muligt at udnytte uden fysisk adgang til målsystemet. Disse kan forekomme fra internettet eller inden for det netværk, som det sårbare system sidder på. Et almindeligt eksempel på dette er sårbarheden i MS08-067-Serverserveren, som påvirker vores systemer.
Sårbarhedstaksonomi
da antallet af teknologier stiger dagligt, har der været adskillige forsøg på at designe en taksonomi, der bedst kunne imødekomme almindeligt identificerbare sårbarheder. På trods af disse bestræbelser er det virkelig stadig ikke muligt at redegøre for alle kodningsfejl, der kan begås.
organisationer er kommet med følgende standarder, der endda er implementeret i mange værktøjer, der kan bruges, mens de søger efter sårbarheder.
sikkerhed taksonomi | Resource link |
almindelig Svaghedstælling | http://cwe.mitre.org/data/index.html |
top 10 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project |
VARC trussel klassifikation | http://projects.webappsec.org/w/page/13246978/Threat%20Classification |
National Sårbarhedsdatabase | https://nvd.nist.gov/vuln |
Google Hacking Database (GHDB) | https://www.exploit-db.com/google-hacking-database/ |
Sårbarhedsscanning med Kali Linuk
Kali Linuk leveres med adskillige værktøjer til penetrationstesteren. Nogle af disse værktøjer kan effektivt bruges under et pentest-engagement til at udføre sårbarhedskortlægning på tværs af de tre klasser, der er diskuteret ovenfor.
Sårbarhedsscanning
internetapplikationer genereres dagligt, men de fleste programmører overholder ikke de sikre kodningsprincipper, der skal følges, mens de designer applikationer. Følgende værktøjer giver en udvikler eller pentester mulighed for at opdage sårbarheder, der falder inden for dokumentationen, der er tilgængelig i tabellen ovenfor.
Nikto2
Nikto2 er en meget enkel sårbarhedsscanner til internetapplikationer bygget på Libhvider2, hvilket betyder, at den har mange muligheder. For eksempel kan den implementeres på tværs af platforme, den understøtter SSL, den kan administrere værtsgodkendelse via NTLM og kan endda styre IDS-unddragelse.
lancering af Nikto mod en vært som vist ovenfor med kommandoen “nikto-h” returnerer resultater, der varierer afhængigt af hvor sårbart målet er. Du kan være sikker på, at Nikto registrerer forældede serverimplementeringer, standardinstallationsfiler, serverkonfigurationer og adskillige andre sikkerhedsproblemer. Du kan også angive porten ved at tilføje “-p ” efter angivelse af målet for at finde eventuelle problemer på ønskede porte.
JP
JP) er oprettet af JP-projektet, en af parterne i tabellen ovenfor. Det er et open source-værktøj til fuldmægtig til applikationer og tilbyder nogle gode funktioner, såsom sårbarhedsscanning af apps.
du skal blot starte den ved at udstede kommandoen nedenfor i terminalen:
#owasp-zap
du vil blive præsenteret med hovedskærmen. Udførelse af en scanning er ganske enkel, selvom. Du vil udstede målet, der skal scannes som vist nedenfor:
når du trykker på knappen” Attack”, begynder scanningen, og du vil se en aktivitet i afsnittet nedenfor på din skærm.
vi gennemgår målsiden på udkig efter sårbarheder. Det vil også identificere nogle fejlkonfigurationer, der vises under fanen advarsler, så hold også øje med denne fane. Vi vil tillade dig at indsnævre til berørte links, som vist nedenfor:
BurpSuite, der tilbyder lignende funktionalitet med sin gratis version, men meget mere i sin kommercielle version.
Nessus
Nessus vil give dig automatiseret sårbarhedsscanning til de situationer, hvor du er tidsbegrænset og har brug for en hurtig sårbarhedsvurdering eller pentest.
Nessus kan køres gratis med begrænsede muligheder eller som et kommercielt værktøj med meget flere muligheder, der kan komme godt med — især til store pentest-hold og engagementer.
for at udføre en sårbarhedsscanning skal du først installere den gratis version af Nessus og derefter navigere til https://localhost:8834. Se nedenfor:
du vil derefter trykke på knappen” Ny scanning ” ovenfor og vælge den type scanning, der skal udføres, fra de mange tilgængelige skabeloner.
skabelonerne vist ovenfor vil være begrænset inden for den gratis version af Nessus, hvis du kører det, men er meget mere i antal og kapacitet i den kommercielle version.
du vil derefter udstede dine mål. Nessus er i stand til at udføre scanninger på flere mål adskilt af kommaer eller udstedt i CIDR-format.
når du er færdig med at udfylde de krævede felter, vil du blive præsenteret for skærmen ovenfor. Klik på ikonet” Afspil ” for at starte din scanning.
sårbarheder vil blive præsenteret på den måde i skærmen ovenfor, opsummerer sværhedsgraden og forekomster af problemer opdaget.
Nessus giver dig endda mulighed for at bore ned til specifikke værter og sårbarheder og få mere information om, hvordan de blev opdaget, sammen med anbefalinger om, hvordan du lapper identificerede risici.
Netværkssårbarhedsscanning
Kali giver også værktøjer, der er i stand til at scanne netværksenheder som databaser, routere, kontakter og protokoller som SNMP og SMB. Der er mange værktøjer, men vi vil se på de mest almindelige.
CISCO Analysis
CISCO-enheder er modtagelige for en række sårbarheder, der kan vurderes med et par værktøjer. Ved revision af routere leveres Cisco Auditing Tool (CAT), som kan hjælpe en angriber eller penetrationstester med at identificere sårbarheder, der spænder fra SNMP-samfundsstrenge til gamle CISCO-fejl og standardoplysninger, der kan bruges til at få ulovlig adgang til routeren.
for at teste vores vært på Kali udførte vi kommandoen nedenfor:
#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i
CAT fortsætter med at revidere standardoplysninger og SNMP community-strenge som vist ovenfor.
SNMP-analyse
Kali giver også angribere og pentestere mulighed for at indhente oplysninger fra værter med SNMP-protokollen (Simple Netværksstyringsprotokol). Dette kan være yderst vigtigt for at forberede yderligere angreb rettet mod værten.
på vores angribende maskine udførte vi kommandoen nedenfor og kunne få masser af oplysninger om vores mål.
som det kan ses ovenfor, var vi i stand til at identificere ethernet-kortoplysningerne, hvor længe systemet var tilsluttet via dette kort, værtsnavnet og, som vist nedenfor, antallet af netværksgrænseflader med deres respektive oplysninger.
Databasevurdering i Kali linuk
Kali linuk muliggør test af Microsoft, Oracle og Microsoft ‘ s databaser for sårbarheder som f.eks. Test af adgangskodepolitikker og standard adgangskodekontrol understøttes også af nogle værktøjer.
Kkmp
Kkmp er et pænt værktøj inden for kkm, der er i stand til at udføre forskellige kkm-injektionstest mod et par databaser som f.eks. Det er i stand til at opdage såvel som at udnytte de fundne fejl, hvilket gør det til et meget almindeligt værktøj for angribere og testere.
- Inferential blind injektion
- UNION forespørgsel injektion
- stablet forespørgsel injektion
- tidsbaseret blind injektion
på vores Kali-system udførte vi kommandoen nedenfor for at forsøge at finde oplysninger om vores underliggende database i vores målsystem.
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs
resultatet ovenfor viser os de tilgængelige databaser og lader os også kende de injicerbare parametre i Vores internetapplikation på den givne URL.
for at finde indholdet af databasen” uasp10″, ville vi udstede kommandoen nedenfor:
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables
indstillingen – D angiver den database, der skal bruges, og –tables beder
Vi tilbyder meget mere funktionalitet, der ikke vil blive dækket, men som du bør kontrollere i hjælpedokumentationen med kommandoen “vipmap-h”.
andre værktøjer findes også, f.eks.
konklusion
når du har kortlagt sårbarhederne ved hjælp af de tilgængelige værktøjer, der er diskuteret ovenfor, kan du nu gå videre til næste fase, som under en penetrationstest eller angreb ville være udnyttelse. Du kan dog kun være interesseret i at opregne sårbarheder til en sårbarhedsvurdering. I dette tilfælde vil værktøjerne ovenfor fungere.