Kerbsniff is een sniffer die luistert op het netwerk en vangt Windows

advertisement
Kerberos Sniff/Crack
107
Onderzoeksdocument
Auteur(s):
Datum:
Versie:
Documentnaam:
Dave Jansen
21 juli yyyy
107.1
Kerberos
Inhoudsopgave
1
Inleiding ....................................................................................................... 1
2
2.1
2.2
Beschrijving Aanval ........................................................................................ 1
Beschrijving zwakheid en aanval .................................................................. 1
Schade/problemen a.g.v. aanval .................................................................. 2
2.3
Uitleg technieken (technische werking aanval) .............................................. 2
2.4
Systeem configuratie slachtoffer (instellingen van OS, services, applicaties) ..... 4
2.5
Zwakheden in de configuratie en/of werkwijze............................................... 4
2.6
Configuratie aanvaller (wat heb je nodig aan systemen, tools en instellingen) ... 4
2.7
Hoe is reconnaissance van de zwakheid mogelijk door aanvaller in het
voortraject van de aanval. ................................................................................... 4
2.8
Beschrijving testcase: attack stap voor stap .................................................. 5
2.9
Detective maatregelen bij attack. Hoe kun je met IDS of firewall de aanval
ontdekken. ........................................................................................................ 6
2.10
Preventieve maatregelen tegen attack. Hoe kun je met IDS of firewall de
aanval voorkomen. ............................................................................................. 6
3
Uitvoering ..................................................................................................... 6
3.1
Inleiding ................................................................................................... 6
3.2
Sniffen ..................................................................................................... 6
3.3
Wachtwoord kraken ................................................................................... 7
3.4
Resultaat .................................................................................................. 8
4
Advies .......................................................................................................... 9
4.1
Advies voor de testcase .............................................................................. 9
1 Inleiding
Kerberos is een standaard authenticatie protocol dat ervoor zorgt dat gebruikers van
een netwerk zich op een veilige manier kunnen aanmelden en hun identiteit kunnen
bewijzen, zonder zich telkens opnieuw te moeten aanmelden. Kerberos maakt een
beperkte vorm van Single Sign-on mogelijk.
Kerbsniff is een sniffer die luistert op het netwerk en vangt Windows 2000/XP
Kerberos logins. KerbCrack kan gebruikt worden om paswoorden te zoeken in een file
die de wachtwoorden van het netwerk af heeft gehaald en deze kraakt door middel
van een bruteforce aanval of een woordenboekaanval.
2 Beschrijving Aanval
2.1 Beschrijving zwakheid en aanval
Zwakheden:
Computers die aan de volgende voorwaarden voldoen, lopen het risico slachtoffer
te worden van wachtwoord sniffen en kraken.

Alle microsoft producten die Kerberos als wachtwoord beveiliging krijgen, en
die inloggen op een externe server
Aanval:
Bij deze aanval wordt er van uit gegaan dat er een Windows machine wordt
gebruikt waarmee ingelogd kan worden door middel van het Kerberos protocol.
Deze machine moet dan inloggen op een Active Directory/Domein Controller. Deze
moet natuurlijk de Kerberos wachtwoorden kunnen verifieren.
De volgende utilities heb je nodig voor deze crack:
(beide downloadbaar op http://www.ntsecurity.nu/toolbox/kerbcrack)
 Kerbsniff
 KerbCrack
Deze utilities kun je downloaden van [url]
Kerbsniff zal gebruikt moeten worden om wachtwoorden van het netwerk af te
sniffen. Deze wachtwoorden zullen opgeslagen worden in een file die later
uitgelezen zal moeten worden.
Kerbcrack wordt gebruikt om het wachtwoordbestand te kraken en de bijbehorende
wachtwoorden te ontcijferen.
Kerbsniff zal gedraait moeten worden voordat er ingelogd wordt op een systeem.
Kerbcrack kan achteraf gedraait worden.
-1-
2.2 Schade/problemen a.g.v. aanval
Wachtwoorden kraken:
 Persoonlijke wachtwoorden kunnen gekraakt worden. Dit kan leiden tot
inlogmogelijkheden voor onbevoegden op een netwerk.
2.3 Uitleg technieken (technische werking aanval)
Exploit
Voor deze aanval dient de gebruiker te beschikken over de volgende middelen:
 2 x Windows XP machine
 1 x Windows 2003 Server
 Kerbsniff
 Kerbcrack
Het figuur hieronder legt Kerberos uit. Kerberos bestaat uit 3 subprotocollen,
waarvan elke uit 2 stappen bestaat. Alice is in dit geval het proefpersoon.
-2-
Fase1: Authentication Service Exchange (gebeurd elke keer dat er ingelogd
worden)
Stap 1: Authentication Server Request (KRB_AS_REQ). Alice logt in op het domein
van haar computer. Een Ticket Granting Ticket (TGT) request wordt verzonden
naar een Windows Key Distribution Center (KDC). Kerbsniff is ervoor gemaakt om
een gebruikers wachtwoord te onderscheppen van een KRB_AS_REQ network
exchange.
Stap 2: Authentication Server Reply (KRB_AS_REP). De Windows KDC stuurt een
TGT terug en een sessie sleutel naar Alice.
Fase 2: Ticket-Granting Service Exchange (gebeurt een keer op elke resource
server)
Stap 3: Ticket Granting Service (TGS) Request (KRB_TGS_REQ). Alice wil toegang
tot een applicatie op de server. Een tick request voor de applciatie server wordt
verzonden naar de Windows KDC. Deze aanvraag bestaat uit Alice’s TGT en een
authenticator.
Stap 4: TGS Reply (KRB_TGS_REP). De Windows KDC geeft een ticket en een
sessie sleutel terug aan Alice.
Fase 3: Client-Server Authentication Exchange (gebeurt een keer voor elke server
sessie)
Stap 5: Application Server Request (KRB_AP_REQ). De ticket wordt verzonden
naar de applicatie server. Wanneer de ticket en de authenticator is ontvangen,
kan de server Alice geldig authenticeren.
Step 6: Application Server Reply (KRB_AP_REP). De server antwoord naar Alice
met een andere authenticator. Wanneer deze authenticator is ontvangen kan Alice
pas werkelijk authenticeren met de server.
Tijdens deze uitwisselingen de volgende tickets en sleutels worden opgeslagen op
Alice’s computer: de TGT, de ticket om te authenticeren met de resource server
en de 2 sessie sleutel, 1 om te authenticeren met de KDC en 1 om te
authenticeren met de resource server.
Zover kan kerbsniff deze authenticatie onderscheppen en in een file opslaan.
-3-
Dan komt kerbcrack om de hoek kijken. Kerbcrack kan op 2 manier een
wachtwoord kraken:
 Woordenboek aanvallen
 Bruteforce:
Woordenboek aanval:
Hiermee wordt een hash geprobeerd te kraken, doormiddel van ‘bekende’ woorden
die in een file gedeclareerd staan. Zo’n woordenlijst valt te download op
ftp://ftp.ox.ac.uk/pub/wordlists/.
Dit kan als voordeel hebben dat er snel een wachtwoord kan worden gekraakt wat
bekend is.
Dit heeft dus ook gelijk een nadeel, als er een ‘raar’ wachtwoord wordt gebruikt,
zoals bijvoorbeeld DH&39sj(1 dan zal deze niet herkend worden.
Bruteforce aanval:
Bij een bruteforce aanval worden alle mogelijke opties geprobeerd om een
wachtwoord te kraken. Deze optie kunnen worden opgegeven in het commando.
Dit kan heel erg lang duren, vooral als er een heel lang en moeilijk wachtwoord
wordt gebruikt, wat bijvoorbeeld langer is dan 8 tekens met diverse
alphanumerieke tekens.
2.4 Systeem configuratie slachtoffer (instellingen van OS, services,
applicaties)





Workstation met Windows XP
Windows 2003 server
Standaard installatie instellingen;
User-account: User02;
AD
2.5 Zwakheden in de configuratie en/of werkwijze
In de configuratie en werkwijzen zitten in principe geen zwakheden, omdat deze
manier van kraken op alle Windows systemen die bij 1.1 Beschrijving zwakheid en
aanval beschreven zijn.
Het enige wat eventueel gedaan kan worden is een IDS of IPS installeren, en wat
regels toevoegen aan deze engine die kunnen voorkomen dat er op wachtwoorden
gesnift kan worden.
2.6 Configuratie aanvaller (wat heb je nodig aan systemen, tools en
instellingen)



Windows XP
Standaard installatie instellingen
In het zelfde netwerk configureren als slachtoffer
2.7 Hoe is reconnaissance van de zwakheid mogelijk door aanvaller in
het voortraject van de aanval.
Voor de kraak hoeft inprincipe geen verkenning van te voren gedaan worden. Het is
alleen al genoeg om te weten of er ingelogd kan worden op een Windows 2003
Server. Verder kan het handig zijn om te kijken of er een hub of een switch
aanwezig is. Als er een hub aanwezig is, is er niets aan de hand, maar als er een
switch aanwezig is zal eerst de pakketjes onderschept moeten worden.
-4-
2.8 Beschrijving testcase: attack stap voor stap
Identificatie
Test item
Verwachte testtijd
Test log
PreCondities
Actions en Checks
Post condities
Resultaten en
opmerkingen
Kerberos Sniff/Crack
Het doel is om een inlogwachtwoord van een gebruiker van het netwerk te
halen en deze te kraken.
Het sniffen zal ongeveer 5 minuten
Het kraken kan varierend duren. Met
duren.
een redelijk makkelijk wachtwoord zal
het ongeveer 30 minuten duren.
Testers
Dave Jansen
Testsysteem
Werkstation 1
Datum
21-sept-2006
Starttijd: 14.45
Eindtijd: 15:30
Gebruikte tijd:
45 minuten
Testcase klaar
Y
Probleem ingediend
N
Wijzigingsverzoek ingediend
N
Testcase behoeft aanpassing
N
Er is een Windows domeincontroller nodig en een werkstation om daarmee in
te loggen op het domein. Verder is Kerbsniff nodig om de Kerberos
wachtwoorden van het netwerk af te halen en KerbCrack om deze
wachtwoorden te kraken.
Uit te voeren acties/handelingen en controles:
 Domeincontroller starten
 Kerbsniffen starten op een onafhankelijke pc
 Inloggen op werkstation op het domein
 Met Kerbcrack het wachtwoord dat is gesnift, kraken
Kerbcrack is er nog om de wachtwoorden achteraf te kraken.
Het ging helemaal volgens plan.
Deze ‘hack’ was ook niet van een heel hoog niveau, maar toch wel leerzaam
hoe dit in zijn werk ging. Er werd zoveel mogelijk passief het netwerk
afgeluisterd om het Kerberos-hash te vangen.
-5-
2.9 Detective maatregelen bij attack. Hoe kun je met IDS of firewall de
aanval ontdekken.
Firewall
Doormiddel van een firewall kun je deze aanval niet ontdekken. Met een firewall
kun je poorten dichtmaken, maar dit heeft niets te maken met het onderscheppen
als het eenmaal al op het netwerk aanwezig is.
IDS:
Met een IDS zou het mogelijk moeten zijn om een aanval van Kerbsniff
activiteiten te herkennen op het netwerk. Hiervoor zul je enkele rules moeten
toevoegen aan de IDS. Hier was verder geen informatie te vinden op het internet.
2.10 Preventieve maatregelen tegen attack. Hoe kun je met IDS of
firewall de aanval voorkomen.
Firewall
Met een firewall valt niet te voorkomen dat er KerbSniff activiteit wordt tegen
gehouden.
IDS
3
Met een IDS is het niet mogelijk om te
voorkomen. Wel kan een IDS detecteren als er
eenmaal activiteit is van KerbSniff op een
netwerk. Uitvoering
3.1 Inleiding
In dit hoofdstuk vindt u een gedetailleerde beschrijving van een aantal punten uit de
testcase van paragraaf 2.8. Hierin zijn niet alle punten uit deze testcase opgenomen, dit
hoofdstuk dient daarom ook alleen als ondersteuning.
3.2 Sniffen
Met de applicatie Kerbsniff kan er afgeluisterd worden op het netwerk naar Kerberos
hashes (dit zijn wachtwoorden die zo gecodeerd zijn, dat deze niet terug zijn te leiden
naar het origineel).
Als eerste moet de Windows 2003 Server opgestart worden. Hierin moet een Active
Directory (AD) aangemaakt worden. In deze AD zal een domein gespecificeerd moeten
worden.
In dit voorbeeld heb ik het domein “THUIS” genoemd. Dit kan elke naam aannemen die
de systeembeheerder wil hebben. Ook zal er een gebruiker aangemaakt moeten worden,
anders zal het inloggen geen zin hebben. Als voorbeeld heb ik de gebruiker dave
aangemaakt met het wachtwoord dave.
-6-
Figuur 1: Kerbsniff
Als de Windows 2003 Server is opgestart moet Kerbsniff opgestart worden. Dit
programma kun je download van http://www.ntsecurity.nu/toolbox/kerbcrack/.
Het pakket het Kerbcrack. In dit pakket zitten Kerbsniff en Kerbcrack.
De huidige versie die hier is gebruikt is 1.3d3.
Bij het downloaden/uitpakken van de bestanden is het verstandig om ze in de
%systemroot%/system32 map zetten. Dan kun je ze overal starten zonder het hele pad
te typen.
Deze twee programma’s moet je draaien vanaf command-line. (Deze kun je starten door
naar Start  Uitvoeren te gaan en dan cmd in te typen.
Als je kerbsniff zonder parameters uitvoert, zal kerbsniff laten zien hoe je het programma
moet gebruiken (usage).
De enige parameter die kerbsniff aanneemt is het bestand waarnaartoe moet worden
geschreven als het een pakket vind op het netwerk waar een kerberos hash-waarde inzit.
Hier word als voorbeeld file capture.log gebruikt voor de wachtwoorden die kerbsniff
heeft gevonden.
Voor elke wachtwoord dat is gevonden wordt een asterisk * getoond.
Je kunt het sniffen afbreken door CTRL + C indrukken.
Door het commando type [filenaam] in te typen, kun je zien dat er een gegevens zijn
opgeslagen in die file. Zie figuur 2.
Figuur 2 capture.log
Zoals je kunt zien heeft kerbsniff een aantal gegevens gevonden over het account dave
dat zich op het domein THUIS bevind.
De waarde daaronder is de hashwaarde, die het wachtwoord vertegenwoordigd als
Kerberos.
3.3 Wachtwoord kraken
Nu de hashes binnen zijn, is het tijd om het wachtwoord te gaan ‘kraken’.
Dit gaat door middel van het programma kerbcrack.
De parameters die kerbcrack accepteerd zijn:
 de file waar de gegevens in staan
 de mode om het wachtwoord proberen te kraken
 dictionary file (icm de switch –d)
 password size (icm met alle switches –d)
-7-
Figuur 3 Usage van kerbcrack
Wij gaan het wachtwoord proberen te kraken, wat in capture.log staat, doormiddel van
de –b1 switch.
Dat wil zeggen dat kerbcrack alle mogelijkheden van a-z en van A-Z zal proberen om het
wachtwoord te genereren dat gelijk is aan de hash.
Als optioneel veld, wat nu ingevuld moet worden, zal er een wachtwoord grootte in
moeten geven. Omdat we al weten wat het wachtwoord is, dat hebben we namelijk
ingesteld bij de user aanmaken op de AD. Omdat we daar ‘dave’ als wachtwoord hebben,
nemen we als waarde ‘4’.
Dat scheelt nogal wat compileertijd om het wachtwoord te vinden.
Figuur 4 Kraken van hash met kerbcrack
Het commando dat wij uit gaan voeren is dus:
C:\>kerbcrack capture.log –b1 4
Dit kraken duurde (op een AMD Sempron processor 3300+) 1.35 minuut.
Dit ging nogal redelijk snel. Maar het gaat steeds langer duren naarmate het wachtwoord
ook langer wordt. Vooral als het een hexadecimaal wachtwoord is. Dan zal er een andere
switch gebruikt moeten worden bij kerbcrack die ook de 1-9 tekens meeberekend.
3.4 Resultaat
Nadat het wachtwoord is gekraakt, is het dus mogelijk om via een andere pc in te loggen
op het account dat is gekraakt. Deze zul je dan eventueel nog toe moeten voegen aan
het domein, maar dit zal geen probleem moeten zijn.
Nadat je als de gebruiker het systeem bent binnen gekomen, kun je allerlei bewerkingen
doen, zowel kwaad-, als goedwillend, op de server.
-8-
4 Advies
4.1 Advies voor de testcase
De belangrijkste adviezen die voor de testcase in aanmerking komen zal ik hieronder
beschrijven.
Als eerst zal er een IDS geïnstalleerd moeten worden op het netwerk, dat verdachte
connecties kan detecteren. Ook kan een IDS gebruikt worden verdachte programma’s die
bepaalde handelingen uitvoeren op het netwerk die niet geoorloofd zijn.
In dit geval zal er op het netwerk gescand moeten worden naar activiteiten/sporen van
Kerbsniff.
Verder zal er, als dit mogelijk is, een bepaalde tunnel op gezet moeten worden waarover
deze verbinding zal lopen. Deze tunnel zal ge-encrypt moeten worden. Dat wil zeggen
dat de data over het netwerk in onleesbare vorm wordt verstuurd, en pas op de
gerechtigde computer weer omgezet kan worden naar leesbare taal.
Ook kan het helpen om port-security te gebruiken op alle netwerkaansluitingen. Hiermee
kunnen dan al veel laptops en dergelijke afgesloten worden van het netwerk.
Ook firewalls op de computers zal helpen. Hiermee kunnen vooraf bepaalde poorten
alleen maar opengezet worden voor verbindingen.
‘Onbekende’ poorten kunnen dan door de beheerder gesloten worden.
-9-
Download