Johdanto
haavoittuvuuden kartoitus on toimintaa, jonka tarkoituksena on tunnistaa tietoturva-aukkoja, jotka voivat johtaa järjestelmän vaarantumiseen. Joskus tutkijat käyttävät termiä” haavoittuvuuden arviointi ”sijasta” haavoittuvuuden kartoitus.”Ne ovat kuitenkin sama asia.
pentestingissä ja haitallisessa hakkeroinnissa haavoittuvuuden kartoitus on vaihe, joka seuraa sen jälkeen, kun testaaja tai hakkeri on suorittanut riittävästi kohdeverkon tai isännän tiedonkeruuta ja luettelointia.
tässä artikkelissa tarkastelemme sitä, miten Kali Linux-käyttöjärjestelmän eri työkaluja voidaan toteuttaa sellaisten haavoittuvuuksien löytämiseksi, jotka voivat johtaa kohteiden vaarantumiseen ja siten johtaa hakkeri-tai penetration testeriin, joka rikkoo liiketoimintajärjestelmän luottamuksellisuutta, eheyttä ja saatavuutta.
Haavoittuvuustyypit
nykyään on olemassa kolme haavoittuvuusluokkaa, joista voidaan tehdä selvä ero. Kolme luokkaa ovat:
- suunnittelun haavoittuvuudet: Nämä havaitaan heikkouksien kautta, jotka johtuvat ohjelmiston eritelmistä. Nämä ovat ylivoimaisesti hankalimpia ratkaista, koska ne vaativat korjauksia pentester
- – Toteutushaavoittuvuuksien antamien tietoturvavaatimusten perusteella: aina kun ohjelmistokoodin sisällä havaitaan virheitä, ne luokitellaan tässä.
- operatiiviset haavoittuvuudet: nämä haavoittuvuudet johtuvat ohjelmiston virheellisestä konfiguroinnista ja käyttöönotosta.
edellä mainitut haavoittuvuusluokat esiintyvät joko paikallisesti tai etänä kohdeympäristössä.
paikalliset haavoittuvuudet vaativat testaajalta tai hyökkääjältä paikallisen pääsyn kohdejärjestelmään voidakseen hyödyntää niitä. Hyvä esimerkki tästä on CVE-2013-0232, joka tunnetaan myös nimellä GP Trap Handler nt!KiTrap0D, jonka avulla hyökkääjä tai testaaja, jolla on pääsy haavoittuvaan Windows Server 2008-koneeseen, voi saada eskaloituneen etuoikeutetun pääsyn.
Etähaavoittuvuudet mahdollistavat hyväksikäytön ilman fyysistä pääsyä kohdejärjestelmään. Nämä voivat tapahtua Internetistä tai verkosta, jossa haavoittuva järjestelmä sijaitsee. Yksi yleinen esimerkki tästä on MS08-067 Windows Server-palvelun haavoittuvuus, joka vaikuttaa Windows XP-järjestelmiin.
haavoittuvuuden taksonomia
koska teknologioiden määrä kasvaa päivittäin, on lukuisia yrityksiä suunnitella taksonomia, joka voisi parhaiten huomioida yleisesti tunnistettavat haavoittuvuudet. Näistä ponnisteluista huolimatta ei todellakaan ole vieläkään mahdollista selittää kaikkia koodausvirheitä, joita voidaan tehdä.
organisaatiot ovat keksineet seuraavat standardit, joita on jopa toteutettu monissa työkaluissa, joita voidaan hyödyntää haavoittuvuuksia etsiessä.
turvallisuusluokitus | Resurssilinkki |
yleinen heikkous luettelointi | http://cwe.mitre.org/data/index.html |
OWASP Top 10 | https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project |
WASC-uhkaluokitus | http://projects.webappsec.org/w/page/13246978/Threat%20Classification |
Kansallinen Haavoittuvuustietokanta | https://nvd.nist.gov/vuln |
Googlen Hakkerointitietokanta (GDB) | https://www.exploit-db.com/google-hacking-database/ |
haavoittuvuuden skannaus Kali Linuxilla
Kali Linux tulee nipussa lukuisten penetraatiotestaajan työkalujen kanssa. Joitakin näistä työkaluista voidaan tehokkaasti käyttää Pentest-sitoutumisen aikana haavoittuvuuden kartoituksen suorittamiseen edellä mainittujen kolmen luokan välillä.
verkkosovellusten haavoittuvuuden skannaus
verkkosovelluksia luodaan päivittäin, mutta useimmat ohjelmoijat eivät noudata suojattuja koodausperiaatteita, joita tulee noudattaa sovelluksia suunniteltaessa. Seuraavien työkalujen avulla kehittäjä tai pentester voi löytää haavoittuvuuksia, jotka kuuluvat yllä olevan taulukon dokumentaatioon.
Nikto2
Nikto2 on LibWhisker2: een rakennettu hyvin yksinkertainen verkkosovelluksen haavoittuvuuden skanneri, eli siinä on lukuisia ominaisuuksia. Esimerkiksi, se voidaan ottaa käyttöön cross-platform, se tukee SSL, se voi hallita isäntä todennus kautta NTLM ja voi jopa hallita IDS veronkiertoa.
Nikton käynnistäminen isäntää vastaan komennolla ”nikto-h” palauttaa tulokset, jotka vaihtelevat kohteen haavoittuvuuden mukaan. Voit olla varma, että Nikto havaitsee vanhentuneet palvelintoteutukset, oletusasennustiedostot, palvelimen virhelaskelmat ja lukuisia muita tietoturvaongelmia. Voit myös määrittää portin lisäämällä ”- p ” kohteen määrittämisen jälkeen, jotta löydät mahdolliset ongelmat halutuissa porteissa.
OWASP ZAP
OWASP Zed Attack Proxy (Zap) on OWASP-projektin luoma, yksi yllä olevan taulukon osapuolista. Se on avoimen lähdekoodin web-sovelluksen välityspalvelintyökalu ja tarjoaa joitakin hyviä toimintoja, kuten web-sovelluksen haavoittuvuuden skannaus.
Kali Linuxissa käynnistät sen yksinkertaisesti antamalla alla olevan komennon päätteessä:
#owasp-zap
sinulle esitetään päänäyttö. Skannauksen suorittaminen on kuitenkin melko yksinkertaista. Antaisit skannattavan kohteen alla olevalla tavalla:
kun painat ”hyökkäys” – painiketta, skannaus alkaa, ja näet jonkin verran toimintaa alla olevassa osiossa näytöllä.
OWASP ZAP ryömii kohdesivustoa etsien haavoittuvuuksia. Se tunnistaa myös joitakin virhemuunnoksia, jotka näkyvät hälytykset-välilehdessä, joten pidä silmällä myös kyseistä välilehteä. OWASP ZAP avulla voit rajata vaikuttaa linkkejä, kuten alla:
Zapin kaupallinen kilpailija on BurpSuite, joka tarjoaa samanlaisia toimintoja ilmaisversiollaan, mutta kaupallisessa versiossaan paljon enemmän.
Nessus
Nessus tarjoaa sinulle automaattisen verkkosovelluksen haavoittuvuuden skannauksen niihin tilanteisiin, joissa sinulla on rajoitettu aika ja tarvitset nopean haavoittuvuusarvioinnin tai pentestin.
Nessusta voi ajaa ilmaiseksi rajallisilla ominaisuuksilla, tai kaupallisena työkaluna, jossa on paljon enemmän ominaisuuksia, joista voi olla hyötyä — erityisesti suurissa pentest-tiimeissä ja-sitoutumisissa.
haavoittuvuuden skannauksen suorittamiseksi sinun on ensin asennettava nessuksen ilmainen versio ja sen jälkeen navigoitava selaimesi kohtaan https://localhost:8834. Katso alta:
voit sitten osuma ”Uusi Skannaus” painiketta edellä ja valitse tyyppi skannauksen suorittaa lukuisia malleja käytettävissä.
yllä esitetyt mallit ovat rajoitettuja Nessuksen ilmaisversiossa, jos suoritat sen, mutta ovat paljon enemmän lukumäärältään ja ominaisuuksiltaan kaupallisessa versiossa.
sitten annatte kohteenne. Nessus pystyy suorittamaan skannauksia useisiin kohteisiin, jotka on erotettu pilkuilla tai annettu CIDR-muodossa.
kun olet täyttänyt tarvittavat kentät, sinulle esitetään yllä oleva näyttö. Napsauta ”play” – kuvaketta käynnistääksesi skannauksen.
haavoittuvuudet esitetään tavalla näytön yllä, tiivistäen vakavuus ja tapauksia asioista löydetty.
Nessuksen avulla voi jopa porautua tiettyihin isäntiin ja haavoittuvuuksiin ja saada lisätietoja niiden löytämisestä sekä suosituksia tunnistettujen riskien paikkaamisesta.
verkon haavoittuvuuden skannaus
Kali Linux tarjoaa myös työkaluja, joilla voidaan skannata verkkolaitteita, kuten tietokantoja, reitittimiä, kytkimiä ja protokollia, kuten SNMP ja SMB. On olemassa lukuisia työkaluja, mutta tarkastelemme yleisimpiä.
CISCO-analyysi
CISCO-laitteet ovat alttiita useille haavoittuvuuksille, joita voidaan arvioida parilla työkalulla. Reitittimien auditoinnissa Kali Linux käyttää CAT (Cisco Auditing Tool) – työkalua, joka voi auttaa hyökkääjää tai tunkeutumistestaajaa tunnistamaan haavoittuvuuksia SNMP-yhteisön merkkijonoista vanhoihin Ciscon virheisiin ja oletustunnuksiin, joita voidaan käyttää laittoman pääsyn hankkimiseen reitittimeen.
testataksemme isäntäämme Kalilla suoritimme alla olevan käskyn:
#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i
CAT jatkaa oletusvaltuutusten ja SNMP-yhteisön merkkijonojen tarkastusta yllä esitetyllä tavalla.
SNMP-analyysi
Kali Linuxin avulla hyökkääjät ja pentesterit voivat myös saada tietoja isänniltä Simple Network Management Protocol (SNMP) – protokollan avulla. Tämä voi olla erittäin tärkeää valmisteltaessa uusia hyökkäyksiä, jotka kohdistuvat isäntään.
hyökkäyskoneellamme suoritimme alla olevan käskyn ja saimme tonneittain tietoa kohteestamme.
kuten edellä voidaan nähdä, pystyimme tunnistamaan ethernet-kortin tiedot, kuinka kauan järjestelmä oli kytketty kyseisen kortin kautta, isäntänimi ja, kuten alla, määrä verkkoliitäntöjä niiden tiedot.
tietokannan arviointi Kali Linuxissa
Kali Linux mahdollistaa MySQL: n, Oraclen ja Microsoftin MSSQL-tietokantojen testaamisen haavoittuvuuksien, kuten SQL-injektion varalta. Jotkin työkalut tukevat myös salasanakäytäntöjen ja oletussalasanojen tarkistuksia.
sqlmap
Sqlmap on Kali Linuxissa toimiva siisti työkalu, joka pystyy suorittamaan erilaisia SQL-injektiotestejä paria tietokantaa, kuten PostgreSQL, MSSQL, Oracle ja MySQL, vastaan. Se pystyy havaitsemaan sekä hyödyntämään havaittuja puutteita, joten se on hyvin yleinen työkalu hyökkääjille ja testaajille. SQLMap voi nopeasti auttaa sinua suorittamaan seuraavat hyökkäykset, jotka muuten olisivat vaikeita ja aikaa vieviä:
- Inferential blind SQL injection
- Stacked query SQL injection
- Time-based blind SQL injection
Kali Linux-järjestelmässämme suoritimme alla olevan komennon yrittääksemme löytää tietoa taustalla olevasta tietokannastamme kohdejärjestelmässämme.
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs
yllä oleva tulos näyttää meille käytettävissä olevat tietokannat ja kertoo myös injektoitavat parametrit Web-sovelluksessamme annetussa URL-osoitteessa.
löytääksemme tietokannan ”owasp10” sisällön antaisimme alla olevan komennon:
# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables
valitsin-D määrittää käytettävän tietokannan ja-tables pyytää SQLMap: ia luettelemaan käytettävissä olevat taulukot.
SQLMap tarjoaa paljon enemmän toimintoja, joita ei käsitellä, mutta jotka kannattaa tarkistaa ohjeasiakirjoista komennolla ”sqlmap-h”.
on olemassa myös muita työkaluja, kuten SQLNinja, jotka ovat toiminnoiltaan samanlaisia kuin SQLMap.
Conclusion
kun olet kartoittanut haavoittuvuudet käyttämällä edellä mainittuja työkaluja, voit nyt edetä seuraavaan vaiheeseen, joka tunkeutumistestin tai hyökkäyksen aikana olisi hyväksikäyttöä. Voit kuitenkin vain olla kiinnostunut luettelemaan haavoittuvuuksia haavoittuvuuden arviointia varten. Tässä tapauksessa edellä mainitut työkalut toimivat.