-: Tot nu toe hebben we gezien hoe we een dienst
met een standaard wachtwoord
of een dienst die niet correct is geconfigureerd of een
dienst met een achterdeur kunnen gebruiken om volledige
toegang tot de doelcomputer te krijgen.
We hebben ook gezien hoe de basis Metasploit gebruikt om
verbinding te maken met een backdoor die op de FTP-dienst
was geïnstalleerd.
Vandaag gaan we een meer geavanceerde blik
werpen op Metasploit en we zullen zien hoe we het gebruiken om kwetsbaarheden
uit te voeren die in een bepaalde dienst bestaan.
Het is een kwetsbaarheid voor code-uitvoering die ons ook
volledige toegang geeft tot de doelcomputer.
Dus terug naar onze resultaten hier met Nmap en we gaan hetzelfde doen
wat we al een tijdje doen, we kopiëren de
naam van de dienst en kijken of er kwetsbaarheden
in zitten.
Dus voor vandaag kijken we naar deze specifieke poort,
139, met een Samba-server versie 3. X.
Dus 3. wat dan ook.
Dus we gaan via Google,
net als in de vorige video's,
op zoek naar Samba 3.
X exploiteren.
Zoals je ziet zijn er een aantal resultaten.
Degene waarin we geïnteresseerd zijn, degene
die binnenkomen van Rapid 7 omdat, zoals ik al zei, dit
de mensen zijn die Metasploit maken, dus de exploits die
je daar ziet kunnen gebruikt worden via Metasploit.
Dus we hebben hier twee voorbeelden,
ik heb ze allebei geprobeerd.
De eerste werkt niet, dus er zit
wat vallen en opstaan in en de tweede is het
User Maps Script.
Het is een kwetsbaarheid voor commando-uitvoering, zoals je hier kunt zien.
Dus de naam van de kwetsbaarheid is dit.
Dus het is hetzelfde wat we eerder gebruikten
met de kwaadaardige achterdeur in de FTP service.
Dit is gewoon de andere naam die we gaan gebruiken.
Dus ik ga naar Metasploit en ik heb
MSF console al gedraaid, dus je kunt
zien dat de console hier voor mij draait.
Dus ik ga een use doen, zoals we gisteren
deden, en dan zet ik de naam van de exploit die ik wil
gebruiken.
Het volgende wat we meestal doen is opties laten
zien zoals gisteren.
Dus ik ga opties laten zien.
Dus het gebruik van deze exploits is altijd vrijwel hetzelfde,
het enige verschil zijn de opties die je voor elke exploit
kunt instellen.
Dus je doet altijd gebruik en dan zet je de exploit naam en dan
doe je een show options om te zien wat je kunt veranderen om met
deze exploit te werken.
Dus in de toekomst krijg je waarschijnlijk andere exploits
dan wat ik heb.
Dus elke keer dat je een exploit wilt uitvoeren,
doe je een use exploit name en dan doe je show options om de opties te
zien die je wilt configureren, maar de exploits
gebruiken en de opties instellen en uitvoeren is
altijd hetzelfde.
Dus ik laat je een paar voorbeelden zien die
vrijwel alles dekken wat je in de toekomst wilt doen.
Dus nogmaals, we moeten de R-Host instellen, dat is het IP van de
doelcomputer en we gaan het op dezelfde manier doen
als eerder.
Zoals ik al zei, de instelling van de opties is altijd hetzelfde.
Dus we doen set R-HOST en dan
zetten we het IP van de doelcomputer
op 10. 20. 14. 204.
Dus precies zoals we eerder deden, gebruiken we de
set om een optie in te stellen die de R-HOST is.
Dus we gaan onze showopties doen.
En zoals je nu kunt zien is de R-HOST correct ingesteld.
Wat we nu moeten doen is, hier verschillen de dingen
van de vorige lezing.
In de vorige lezing gebruikten we een backdoor die al geïnstalleerd was
op de doelcomputer, dus we hoefden alleen maar verbinding
te maken met de backdoor en dan konden we alle
commando's, alle Linux commando's op de doelcomputer uitvoeren.
In de video van vandaag heeft de doelcomputer geen
backdoor, maar een normaal programma met een bufferoverloop
of een kwetsbaarheid voor code-uitvoering.
Dus het programma heeft geen code waarmee we Linux commando's kunnen
uitvoeren, het heeft een bepaalde fout waarmee we een klein stukje
code kunnen uitvoeren.
Deze kleine stukjes code worden payloads genoemd.
We moeten dus een payload maken en die uitvoeren
op de doelcomputer met de gevonden
kwetsbaarheid.
Met dat stukje code kunnen we verschillende dingen doen.
Dus de payload is wat ons in staat stelt om dingen te doen
die nuttig voor ons zijn.
De payload laat ons misschien Linux-commando's uitvoeren en
er zijn andere payloads die we in de toekomst zullen
bekijken.
Dus, om de payloads te zien die je kunt gebruiken
met deze specifieke exploit, hoef je alleen maar
show payloads uit te voeren.
En dit zijn de verschillende soorten lading die je kunt gebruiken.
Nu ga ik het hier weer over hebben, dus payloads zijn
kleine stukjes code die op de doelcomputer worden uitgevoerd
zodra de kwetsbaarheid is uitgebuit.
Dus, als we de kwetsbaarheid misbruiken, zal de code
die we hier kiezen worden uitgevoerd en afhankelijk van
het type payload dat we kiezen, zal die payload iets doen
dat nuttig is voor ons.
Dus, op dit moment kun je zien dat alle payloads cmd zijn, dus
dat is een afkorting voor commando, dus ze laten je commando's
uitvoeren op de doelcomputer, net als Linux commando's.
En ze draaien allemaal alleen op Unix en dat is
prima, want ons doel is Linux.
En er zijn twee hoofdtypen, er zijn bind payloads
en er zijn reverse payloads.
De bind payloads, alles wat ze doen is een poort openen op de
doelcomputer en dan maken we verbinding met die poort.
Ze doen het tegenovergestelde.
Dus ze openen een poort in mijn machine en dan verbinden
ze de doelcomputer met mijn machine.
Dit is nuttig omdat de reverse ons in staat stelt firewalls te omzeilen,
dus de firewall zal alle verbindingen naar de doelmachine filteren,
maar als de doelmachine verbinding met mij maakt
en ik heb geen firewall, dan zal ik de firewall
kunnen omzeilen.
Dus ik gebruik cmd Unix reverse of
eigenlijk cmd Unix reverse netcat.
Het laatste deel van deze payloads zijn het programma en de taalbestellingstool
die zullen worden gebruikt om de verbinding
te vergemakkelijken.
Zo kunnen we bijvoorbeeld zien dat er payloads zijn
geschreven in perl, ruby of python, php of netcat, een instrument
dat verbindingen tussen computers mogelijk maakt.
Dus dit is degene die ik ga gebruiken en ik ga het op
dezelfde manier gebruiken als een exploit.
Dus ik ga gewoon zeggen, eigenlijk sorry, ik ga het gebruiken
met het set commando.
Dus op dezelfde manier als je set en optie gebruikt,
gaan we payload instellen, dus net als een optie, op de payload naam
die we net hebben gekozen.
Nu ga ik de opties tonen om te zien of er nog andere opties
zijn die ik moet instellen.
En ja, omdat we een payload hebben gekozen zijn
er nu meer opties.
Er is dus een optie genaamd L-HOST
en dat is het luisteradres dat mijn eigen adres is.
Dus ik ga mijn eigen IP adres krijgen met if config.
En mijn eigen adres is 10. 20. 14. 203.
Dus ik ga dit sluiten en
ik ga de L-HOST instellen.
Dus op dezelfde manier als we eerder de R-Host instelden,
stellen we nu de L-HOST in.
Doe 10.
20.
Dus voorheen deden we set R-HOST om deze optie in te stellen, nu stellen
we de L-HOST in om deze specifieke optie in te stellen.
Dus instellen is heel eenvoudig, instellen, je zet de naam van de
optie en dan de waarde waarop je het wilt instellen.
Dan doe ik showopties en nu lijkt
alles in orde.
Dus we gebruiken deze exploit, de R-HOST is hierop ingesteld,
wat goed is.
En dan is de L-HOST ingesteld op dit, wat perfect is.
En dan kun je ook de poort instellen waarop
je gaat luisteren, op je huidige computer.
U kunt het op 80 zetten als u dat zou willen,
dat is de poort die door webbrowsers wordt gebruikt.
Dus als u de L-PORT instelt op 80, zal de doelcomputer proberen
verbinding met u te maken via poort 80, die nooit wordt gefilterd op firewalls
omdat dat de poort is die webbrowsers of webservers gebruiken.
Dus wanneer u een website opent, opent u poort 80
op die website.
Dus als u poort 80 opent op uw machine en het doelwit maakt
verbinding met u op 80, dan zal de firewall denken dat
het doelwit alleen op internet surft.
Ik ga dat nu niet doen omdat ik een webserver heb draaien
op poort 80 en dat zal conflicteren.
Dus ik ga de L-PORT op
555 zetten, om te laten zien dat je elke optie kunt
veranderen op dezelfde manier als de naam
van de optie en de waarde.
Dus ik ga weer opties laten zien.
En zoals je kunt zien, is dit veranderd in 5555 en ik ga exploit
doen om de exploit uit te voeren.
Zoals u kunt zien,
zegt hij dat sessie één geopend is.
En de verbinding is tussen dit apparaat en dit apparaat.
Dat is het doel en mijn apparaat.
Dus ik doe een pwd en,
of ik doe een id.
Je zult zien dat ik root ben, daarom doe ik uname -a.
Je zult zien dat ik in de Metasploitable machine
zit en als ik een ls doe, kan ik de bestanden en zo opnoemen.
Ik kan elk Linux commando gebruiken, net zoals we eerder deden in
de andere video's.