Digitale bedrijfsovername in drie simpele stappen

Waarom blijkt het toch, bij elke security test die ik uitvoer, zo kinderlijk eenvoudig om binnen een dag of een paar dagen domain administrator (Windows beheerder) te worden binnen een omgeving? Terug kijkend op een aantal testen, is er een duidelijke lijn te ontdekken.

De meeste Windows omgevingen werken zo

De meeste grote organisaties werken met een Windows omgeving. Een Windows omgeving steunt meestal op één centraal beheerde database waarin alle beheerders, gebruikers, computers, rechten, rollen et cetera staan opgeslagen. Om deze systemen te beheren, moet je zo ongeveer de hoogste rechten binnen het domein hebben. De systeembeheerders hebben deze rechten over het algemeen allemaal. Een dergelijk beheerdersaccount wordt gebruikt om beheerwerkzaamheden uit te voeren. Echter, sommige beheerders werken nog de hele dag met dit account. Gewoon, omdat het zo lekker makkelijk is. Een account met deze rechten mag in de klassieke inrichting aanmelden op alle systemen en kan dus alle schijven en data benaderen.

Goed, we hebben nu een eenvoudig beeld van de centraal beheerde Windows omgeving en van de systeembeheerder die gebruik maakt van hoge rechten om zijn werk uit te voeren. Maar wat betekent dat nou voor een hacker of penetratietester.

Zo word ik ook domain administrator

De eerste drempel die genomen moet worden, is het overnemen van het eerste systeem dat lid is van dit domein (de centraal beheerde omgeving). Dit kan via vele paden. Denk hierbij bijvoorbeeld aan:

  1. Phising, hierbij wordt een executabele (in de vorm van een linkje) naar medewerkers gestuurd die hier vervolgens op klikken want ik beloof in de mail wat leuks, interessants of belangrijks als ze klikken. Medewerkers zijn meer dan eens local admin op hun eigen systeem.
  2. Ik verplaats me in de positie van een medewerker met slechte bedoelingen. Mijn klant levert mij een standaard bedrijfslaptop aan. Vanaf die laptop voer ik de penetratietest uit. Meestal hebben medewerkers, en ik dus dan ook, op hun bedrijfslaptop lokale beheerdersrechten, bijvoorbeeld om printers en software te kunnen installeren.
  3. Door fysiek het bedrijf binnen te lopen en mijn eigen laptop aan te sluiten op het netwerk, kan ik alle aanwezige systemen scannen op kwetsbaarheden. Slechts één bruikbare kwetsbaarheid geeft mij toegang tot het eerste systeem binnen het domain. Alleen al vanaf een scannetje dus. Niets geen trukendoos…
  4. Etc.

Deze eerste drempel kost vaak wat tijd, maar lukt vrijwel zonder uitzondering. Hierna heeft een goede pentester/hacker een behoorlijk arsenaal aan mogelijkheden klaarstaan om lokale rechten van slechts één enkel systeem te gebruiken, om in een netwerk de beheerdersrechten te bemachtigen.

Echter blijkt keer op keer één pad het meest succesvolle 

  1. Eerst vind ik een systeem waar een beheerder op aan het werk is. (Of hij actief is, of enkel nog aangemeld maar niet actief, maakt niet uit). 
  2. Vervolgens meld ik mij met het gevonden lokale administrator account aan op het betreffende systeem. 
  3. Ik gebruik vervolgens vrij verkrijgbare tools om de wachtwoorden van de beheerders uit het geheugen te peuteren, et voilà, ik ben domain administrator.

Het lukt zo makkelijk, omdat de gebruikers 'meewerken'

Deze aanval steunt wel op een aantal voorwaarden. Mijn ervaring leert dat aan deze voorwaarden bijna altijd wordt voldaan bij bedrijven en organisaties:

  1. De local admin te verkrijgen is.
  2. De local admin accounts (administrator, of een willekeurig ander standaard lokaal account met hoge rechten) hebben op veel systemen hetzelfde wachtwoord.
  3. Beheerders met een domain administrator account gebruiken hun account met hoge rechten niet alleen voor werkzaamheden op het daartoe bestemde domein, maar ook voor 'gewone' beheerwerkzaamheden op servers en werkstations.
  4. Door beperkte netwerk scheiding kan de desktop waarop ik werk (al dan niet door een backdoor) op poorten 139/445/3389 tegen andere systemen praten.

Mijn aanbevelingen

Nu komt het wel eens voor, dat niet alle systemen dezelfde lokale administrator accounts hebben, of dat de beheerders hebben afgesproken gedurende mijn test niet aan te melden als administrator. Dit laatste vind ik erg flauw. Doe dat dan het hele jaar niet. Toch blijkt er altijd wel ergens een bereikbaar systeem te zijn met een open sessie.

In deze uitleg schuilen dan ook meteen de belangrijkste aanbevelingen:

  • Zorg ervoor, dat ieder lokaal account op elk geïnstalleerde systeem een uniek wachtwoord heeft (dit hoeft niet opgeslagen te worden aangezien de domain administrator, of beter nog een administrator in de ‘werkplekken’ groep toegang heeft tot de systemen).
  • Zorg er daarnaast voor, dat beheerders een gewoon account hebben voor dagelijks gebruik én meerdere beheeraccounts voor specifieke taken (server beheer doe je met een beheeraccount die toegang geeft tot een groep servers, niet met een domain administrator account)
  • Ook een sterke netwerkscheiding is belangrijk zodat beheeractiviteiten niet vanaf elk systeem kunnen plaatsvinden. Dit betekent dat een domain administrator (legitiem of niet) geen toegang moet kunnen krijgen tot belangrijke servers vanaf een willekeurige werkplek of locatie in het pand.

Zo maakt u mijn werk ook wat uitdagender. Naast deze standaard aanpak zijn er nog zeer veel specifieke aanvallen toe te passen, meestal volstaat bovenstaande echter.

Als u bang bent dat bovenstaande van toepassing kan zijn voor uw organisatie, dan kom ik dat graag een keer testen. Mocht u er van overtuigd zijn dat alles dicht zit, dan voel ik mij des te meer uitgedaagd en hoop ik dat u contact opneemt om uw omgeving eens aan de tand te laten voelen in een penetratietest.