introduktion
Sårbarhetskartläggning är en aktivitet som utförs för att identifiera säkerhetsbrister som kan resultera i kompromiss av ett system. Ibland kommer forskare att använda termen ” sårbarhetsbedömning ”istället för” sårbarhetskartläggning.”De är dock samma sak.
i pentesting och skadlig hacking är sårbarhetskartläggning ett steg som följer efter att testaren eller hackaren har genomfört informationsinsamling och uppräkning av målnätverket eller värden på ett adekvat sätt.
i den här artikeln kommer vi att titta på hur olika verktyg inom Kali Linux-operativsystemet kan implementeras för att upptäcka sårbarheter som kan leda till att kompromissa med mål och därmed leda till att hackaren eller penetrationstestaren bryter mot konfidentialitet, integritet och tillgänglighet för ett affärssystem.
Sårbarhetstyper
idag finns tre huvudklasser av sårbarheter från vilka en tydlig åtskillnad kan göras. De tre klasserna är:
- design sårbarheter: Dessa kommer att upptäckas via svagheter som härrör från programvaruspecifikationer. Dessa är överlägset de mest besvärliga att lösa, eftersom de kräver att patchar ska tillämpas baserat på säkerhetskrav som ges av pentester
- implementeringsårbarheter: när glitches inom programkod upptäcks klassificeras de här.
- operativa sårbarheter: dessa sårbarheter kommer att bero på felaktig konfiguration och distribution av programvara.
klasserna av sårbarheter ovan kommer antingen att ske lokalt eller på distans inom målmiljön.
lokala sårbarheter kräver att testaren eller angriparen har lokal åtkomst till målsystemet för att utnyttja dem. Ett bra exempel på detta är CVE-2013-0232, annars känd som GP Trap Handler nt!KiTrap0D, vilket skulle tillåta en angripare eller testare med tillgång till en sårbar Windows Server 2008-maskin för att få eskalerad privilegierad åtkomst.
fjärranslutna sårbarheter möjliggör exploatering utan fysisk åtkomst till målsystemet. Dessa kan inträffa från Internet eller inom nätverket där det sårbara systemet sitter. Ett vanligt exempel på detta är MS08-067 Windows Server Service sårbarhet, som påverkar Windows XP-system.
sårbarhet taxonomi
när antalet tekniker ökar dagligen har det gjorts många försök att utforma en taxonomi som bäst kan tillgodose allmänt identifierbara sårbarheter. Trots dessa ansträngningar är det verkligen fortfarande inte möjligt att redogöra för alla kodningsfel som kan göras.
organisationer har kommit med följande standarder som till och med har implementerats i många verktyg som kan användas när de söker efter sårbarheter.
säkerhet taxonomi | resurs länk |
vanlig svaghet uppräkning | http://cwe.mitre.org/data/index.html |
OWASP Top 10 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project |
Wasc hot klassificering | http://projects.webappsec.org/w/page/13246978/Threat%20Classification |
nationell Sårbarhetsdatabas | https://nvd.nist.gov/vuln |
Google Hacking Database (GHDB) | https://www.exploit-db.com/google-hacking-database/ |
Sårbarhetsskanning med Kali Linux
Kali Linux levereras med många verktyg för penetrationstestaren. Några av dessa verktyg kan effektivt användas under ett pentest-engagemang för att utföra sårbarhetskartläggning över de tre klasserna som diskuterats ovan.
Sårbarhetsskanning för webbapplikationer
webbapplikationer genereras dagligen, men de flesta programmerare följer inte de säkra kodningsprinciperna som måste följas när man utformar applikationer. Följande verktyg gör det möjligt för en utvecklare eller pentester att upptäcka sårbarheter som faller inom dokumentationen som finns i tabellen ovan.
Nikto2
Nikto2 är en mycket enkel webbapplikationssårbarhetsskanner byggd på LibWhisker2, vilket betyder att den har många funktioner. Till exempel, det kan distribueras plattformsoberoende, den stöder SSL, det kan hantera värd autentisering via NTLM och kan även hantera IDS skatteflykt.
att starta Nikto mot en värd som visas ovan med kommandot ”nikto-h” kommer att returnera resultat som varierar beroende på hur sårbart målet är. Du kan vara säker på att Nikto kommer att upptäcka föråldrade serverimplementeringar, standardinstallationsfiler, serverfel och många andra säkerhetsproblem. Du kan också ange porten genom att lägga till ”- p ” Efter att ha angett målet för att hitta eventuella problem på önskade portar.
OWASP ZAP
OWASP Zed Attack Proxy (ZAP) skapas av OWASP-projektet, en av parterna i tabellen ovan. Det är en öppen källkod webbapplikation proxy verktyg och erbjuder några bra funktioner som webbapp sårbarhet skanning.
på Kali Linux startar du det helt enkelt genom att utfärda kommandot nedan i terminalen:
#owasp-zap
du kommer att presenteras med huvudskärmen. Att utföra en skanning är dock ganska enkelt. Du skulle utfärda målet som ska skannas enligt nedan:
när du trycker på ”Attack” – knappen, skanningen kommer att påbörjas, och du kommer att se någon aktivitet i avsnittet nedan på skärmen.
OWASP ZAP genomsöker målwebbplatsen och letar efter sårbarheter. Det kommer också att identifiera några felkonfigurationer som kommer att visas på fliken Varningar, så håll ett öga på den fliken också. OWASP ZAP gör att du kan begränsa dig till berörda länkar, som visas nedan:
en kommersiell konkurrent till ZAP är BurpSuite, som erbjuder liknande funktionalitet med sin gratisversion men mycket mer i sin kommersiella version.
Nessus
Nessus kommer att ge dig automatiserad sårbarhetsskanning för webbapplikationer för de situationer där du är tidsbegränsad och behöver en snabb sårbarhetsbedömning eller pentest.
Nessus kan köras gratis med begränsad kapacitet, eller som ett kommersiellt verktyg med mycket fler funktioner som kan komma till nytta — särskilt för stora pentest-team och engagemang.
för att utföra en sårbarhetsskanning måste du först installera gratisversionen av Nessus och sedan navigera i webbläsaren till https://localhost:8834. Se nedan:
du skulle sedan trycka på knappen” Ny skanning ” ovan och välja vilken typ av skanning som ska utföras från de många tillgängliga mallarna.
mallarna som visas ovan kommer att begränsas inom den fria versionen av Nessus om du kör det men är mycket mer i antal och kapacitet i den kommersiella versionen.
du skulle då utfärda dina mål. Nessus kan utföra skanningar på flera mål åtskilda av kommatecken eller utfärdas i CIDR-format.
när du är klar med att fylla i de obligatoriska fälten kommer du att presenteras med skärmen ovan. Klicka på ikonen” Spela ” för att starta skanningen.
sårbarheter kommer att presenteras på det sätt på skärmen ovan, sammanfattar svårighetsgraden och instanser av problem som upptäckts.
Nessus låter dig även borra ner till specifika värdar och sårbarheter och få mer information om hur de upptäcktes, tillsammans med rekommendationer om hur man korrigerar identifierade risker.
Nätverkssårbarhetsskanning
Kali Linux tillhandahåller också verktyg som kan skanna nätverksenheter som databaser, routrar, switchar och protokoll som SNMP och SMB. Det finns många verktyg, men vi kommer att ta en titt på de vanligaste.
CISCO-analys
CISCO-enheter är mottagliga för ett antal sårbarheter som kan bedömas med ett par verktyg. När du granskar routrar levereras Kali Linux med Cisco Auditing Tool (CAT), som kan hjälpa en angripare eller penetrationstestare att identifiera sårbarheter som sträcker sig från SNMP community-strängar till gamla CISCO-buggar och standarduppgifter som kan användas för att få olaglig åtkomst till routern.
för att testa vår värd på Kali utförde vi kommandot nedan:
#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i
CAT fortsätter att granska för standarduppgifter och SNMP community-strängar som visas ovan.
SNMP-analys
Kali Linux tillåter också angripare och pentesters att få information från värdar med Simple Network Management Protocol (SNMP) – protokollet. Detta kan vara extremt viktigt för att förbereda ytterligare attacker riktade mot värden.
på vår attackerande maskin utförde vi kommandot nedan och kunde få massor av information om vårt mål.
som framgår ovan kunde vi identifiera ethernet-kortinformationen, hur länge systemet hade anslutits via det kortet, värdnamnet och, som visas nedan, antalet nätverksgränssnitt med deras respektive information.
Databasbedömning i Kali Linux
Kali Linux tillåter testning av MySQL, Oracle och Microsofts MSSQL-databaser för sårbarheter som SQL-injektion. Tester på lösenordspolicyer och standardlösenordskontroller stöds också av vissa verktyg.
SQLMap
SQLMap är ett snyggt verktyg inom Kali Linux som kan utföra olika SQL-injektionstester mot ett par databaser som PostgreSQL, MSSQL, Oracle och MySQL. Det kan upptäcka såväl som utnyttja de upptäckta bristerna, vilket gör det till ett mycket vanligt verktyg för angripare och testare. SQLMap kan snabbt hjälpa dig att utföra följande attacker, vilket annars skulle vara svårt och tidskrävande:
- Inferential blind SQL injection
- UNION query SQL injection
- Stacked query SQL injection
- tidsbaserad blind SQL injection
på vårt Kali Linux-system utförde vi kommandot nedan för att försöka upptäcka information om vår underliggande databas i vårt målsystem.
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs
resultatet ovan visar oss Tillgängliga databaser och låter oss också veta de injicerbara parametrarna i vår webbapplikation vid den angivna webbadressen.
för att hitta innehållet i databasen ”owasp10” skulle vi utfärda kommandot nedan:
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables
alternativet – d anger den databas som ska användas och-tabeller frågar SQLMap att lista tillgängliga tabeller.
SQLMap erbjuder mycket mer funktionalitet som inte kommer att täckas, men som du bör kontrollera i hjälpdokumentationen med kommandot ”sqlmap-h”.
andra verktyg finns också, till exempel SQLNinja, som liknar funktionalitet till SQLMap.
slutsats
när du har kartlagt sårbarheterna med hjälp av de tillgängliga verktygen som diskuterats ovan kan du nu gå vidare till nästa fas som under ett penetrationstest eller attack skulle utnyttjas. Du kan dock bara vara intresserad av att räkna upp sårbarheter för en sårbarhetsbedömning. I det här fallet kommer verktygen ovan att fungera.