Instructeur: Tot
nu toe hebben we geleerd hoe we alle subdomeinen
kunnen vinden die binnen onze doelwebsite bestaan
en die niet op de lijst staan.
In de lezing van vandaag gaan
we zien hoe we bestanden en mappen kunnen vinden
die zijn opgeslagen op onze doelcomputer
of onze doelwebsite.
Ook dit kan nuttig zijn omdat deze
bestanden wachtwoorden kunnen bevatten.
Ze kunnen configuratie-informatie bevatten,
of ze kunnen informatie bevatten over deze
werkelijke server, die ons zal helpen
ons doel verder te exploiteren.
Laat me eerst even laten zien wat ik bedoel
met bestanden en mappen, gewoon om de structuur van mappen
op een webserver te laten zien.
Dus hier heb ik mijn Metasploitable machine.
En zoals we weten, worden de webserver dingen
meestal opgeslagen in var/www.
En als ik een ls doe, zul je zien, of ik doe een
ls -la zodat het mooier is.
Je zult zien dat we een aantal bestanden en mappen hebben.
En we zien dat we daar een map
hebben genaamd mutillidae.
Mutillidae is een webapplicatie die ontworpen
is om gehackt te worden, net
als metasploitable, het
is zo ontworpen dat het een aantal exploits heeft, zodat we op basis
daarvan kunnen leren hoe we moeten hacken.
Dus we kunnen zien dat die geïnstalleerd
is in een map genaamd mutillidae.
Als ik nu naar mijn IP adres ga,
is dit het IP adres van de metasploegbare machine.
Dus als ik hier een ifconfig doe, zul je
zien dat het 10 is. 20. 14. 204.
Dus ik ben daar, en je kunt zien dat ze een gemakkelijke
toegang voor me hebben voor mutillidae,
als ik erop klik, kijk naar de URL hier, dus het is /mutillidae.
Dat betekent dat ik in de mutillidae directory zit, dus
elke keer als je een forward slash ziet,
betekent dat meestal dat je in een directory zit.
Dus laten we teruggaan, een ls doen,
en als ik cd mutillidae doe, en ik ga een ls doen.
En je zult zien dat ik een groot aantal bestanden heb,
een groot aantal bestanden hier.
Dus laten we zeggen dat ik bijvoorbeeld een van
deze bestanden wil openen, en we hebben index. php.
Als ik de index doe. php, dan is dit
ons huidige bestand, het heet index. php.
Dus wat we hiervan leren is, mutillidae
is gewoon een directory in mijn webroute.
Dus op dit moment zit ik in het metasploïde apparaat,
laat me het hier voor je opschrijven, dus ik zit
in var/www mutillidae.
en dan is het bestand dat ik benader index. php.
Oké, ik hoop dat het nu duidelijk
is, dus ik ben in deze map, in deze map en ik open een bestand
genaamd index. php.
Dus als ik hier een pwd doe, zie je dat ik
in var/www/mutillidae zit.
Het IP adres verbergt een beetje waar je WWW route is, dus
het verbergt de var/www, en dan
wordt alles daarna hier weergegeven
na het IP adres.
Dus wat we vandaag zoeken zijn alle
mappen en bestanden die we niet kunnen zien.
Dus via deze links kunnen wij toegang krijgen tot verschillende
soorten en verschillende pagina's, dit is hetzelfde
met elke andere website.
Maar er zijn altijd bestanden en mappen verborgen
die je gewoon nooit ziet.
Dus we zullen zien hoe we URL's kunnen krijgen voor deze bestanden, en ze
kunnen openen, en de informatie erin kunnen lezen.
Om dat te doen, gaan we een gereedschap gebruiken dat
dirb heet, en om te zien hoe dat gereedschap werkt, gaan we man dirb doen, om
alle opties te zien die bij dat gereedschap horen.
Je kunt dus zien dat je om de tool te gebruiken
gewoon dirb intikt, de URL van je doel, en dan zet je een
woordenlijst.
Dus de manier waarop dit werkt,
is gebaseerd op een brute force aanval.
En het gebruikt gewoon een woordenlijst van namen, en het stuurt
verzoeken met deze namen, en telkens
als het iets vindt, vertelt het
ons: "Oh, ik heb een bestand gevonden met deze naam. Het zal dus alleen namen en mappen kunnen vinden op basis
van de door u opgegeven woordenlijst.
Nu kun je een woordenlijst maken met crunch,
of je kunt woordenlijsten gebruiken die binnenkomen in dirb.
Met de opties hier kunt u instellen hoe het gereedschap
gaat werken, zodat u de dingen kunt
veranderen zoals u wilt.
U kunt bijvoorbeeld de recursiviteit van het gereedschap
uitschakelen, zodat het slechts op één map draait in plaats
van een aantal mappen te proberen.
U kunt het programma laten vragen of u een directory
wilt openen of niet, in plaats van dat
het automatisch directories opent en probeert bestanden
te vinden in deze directories, want dit kan uitputtend
zijn als uw doel een grote website is, er kunnen
veel directories zijn en dan probeert
het programma ze allemaal te openen en bestanden
te vinden in al deze directories,
zodat u kunt zien hoe groot de boomstructuur
kan worden.
U kunt ook instellen dat een gebruikersnaam en een wachtwoord worden
gebruikt als de beoogde websites een soort authenticatie gebruiken.
En we kunnen v gebruiken voor uitgebreide uitvoer, en u kunt ook o gebruiken
om de resultaten naar een bestand te sturen.
Dus laat me je een heel eenvoudig voorbeeld laten zien.
Ik ga dirb uitvoeren
op ons doel, wat 10 is. 20. 14. 204, en dat zou http moeten zijn.
Want vergeet niet, we richten
ons op een website, niet op een IP-adres.
Dan zet ik de map waarin
ik bestanden en mappen wil vinden.
Ik wil niet dat het toegang heeft tot iets anders,
want we zien hier dat er een aantal scripts geïnstalleerd
zijn op deze webserver,
dus we hebben dit script en we hebben ook
phpMyAdmin, en we hebben TikiWiki.
Dus we willen niet dat je ze allemaal benadert,
we willen alleen dat het werkt op mutillidae in dit voorbeeld.
Dus daarom gebruik ik alleen deze URL, en dan gaat het URL's
en bestanden zoeken binnen
deze specifieke webapplicatie.
Dus ik druk op Enter, en we laten het werken.
Dus dit gaat een woordenlijst bestand gebruiken.
En het gebruikt een standaard kleine
woordenlijst die hier is opgeslagen.
Dus het is een user/share/dirb/wordlists/common. txt, kunt u in deze
map kijken of er andere woordenlijsten
zijn die u wilt gebruiken,
en u kunt ze alleen gebruiken door het volledige pad naar de woordenlijst
achter het commando te plaatsen.
Dus in plaats van de manier waarop ik het commando schreef,
zou je het zo schrijven, en dan zou je aangeven
waar je woordenlijst is, bijvoorbeeld, laten we zeggen als
het root is, zou je vermelden als root/woordlijst.
txt, of wat dan ook.
Maar momenteel gebruikt
hij de standaardversie, die is opgeslagen
in deze map in user/share/dirb/wordlist, en hij
gebruikt degene die common heet. txt.