Onverwachte bescherming bij het kraken van SAP

advertisement
Onverwachte bescherming bij het kraken van
SAP paswoorden
Er bestaan verschillende hacktools die iedereen kan downloaden. Er bestaan
zelfs linux distributies met verzamelingen van hacktools. Geheel onverwacht
kunnen SAP paswoord hashes niet gekraakt worden met een van de
bekendste linux distributies Kali.
Laat ik bij het begin beginnen. Paswoorden worden bij voorkeur niet in plain text over de lijn
gestuurd, want het zou kunnen dat iemand onderweg het paswoord onderschept. Daarom wordt
niet het paswoord verstuurd, maar alleen de hash van het paswoord. Een hash is een korte
samenvatting van een woord of een lange tekst die altijd even lang is. Als er een letter in het
paswoord verandert, dan verandert de hash ook. Een systeem wil niet het paswoord weten, maar of
twee paswoorden gelijk zijn. Daarvoor kun je ook alleen de hashes vergelijken en dat wordt zo al
tientallen jaren gedaan. In een database is alleen de paswoord hash opgeslagen. De user tikt het
paswoord in en de hash wordt naar de database gezonden. Daar worden de twee hashes met elkaar
vergeleken en als ze overeenkomen, dan mag de user verder.
Linux Kali
Er bestaan verschillende soorten hashes. Een MD5 hash ziet er bijvoorbeeld zo uit:
”f94520fbfe86aac690a5c61d5a39a40f”. Hashes kunnen gekraakt worden door een paswoord te
verzinnen, deze te hashen en te vergelijken met de te kraken hash. Er bestaan verschillende tools die
dat kunnen zoals Hashcat, Pyrit of “John the ripper”. In de laatste paar jaar zijn deze tools erg
geavanceerd geworden. In de linux distributie Kali zijn deze ook nog eens allemaal verzameld, zodat
je niet eens meer hoeft te zoeken. Je hebt dus een gratis Operating Systeem met alle hacktools die
het schuim van deze aarde met boosaardige geesten en snode plannen heeft kunnen verzinnen.
Daar zitten ook tools tussen, waarmee SAP aangevallen kan worden.
1
Hashcat
De Kali distributie: “4.5.0-kali1-amd64” bevat onder meer de tool Hashcat-2.0. Deze hashkraker
maakt gebruik van de GPU (grafisch processor) om hashes te kunnen kraken. Zoals gezegd, krijg je
hashcat meegeleverd met Kali. Je moet het dus zien als een soort Zwitserszakmes dat voor iedereen
beschikbaar is. Echter in deze hashcat versie zit een verrassing….
Hashcat is werkelijk erg geavanceerd en kan hashes kraken van Windows, OS X (Apple), Cisco, MySQL
en veel meer. Maar ook van SAP.
Nu heeft SAP de laatste jaren erg veel moeite gedaan om de hashes waarmee de Paswoorden
worden opgeslagen te verbeteren. SAP gebruikt een letter om het type hash aan te geven, de code
versie. SAP begon met CODNV=B en intussen zitten we bij CODNV=I. Deze laatste versie is werkelijk
moeilijk te kraken maar dat is niet het geval voor CODNV=B. SAP gaf eerder al aan dat het echt tijd
werd om oude Paswoorden te vervangen. De praktijk is echter anders. SAP beheerders worden
geplaagd door projecten die gisteren af hadden moeten zijn en krijgen niet altijd de tijd om
Paswoorden te vervangen. Het probleem zijn dus alle oude paswoordhashes van type CODVN=B in
het SAP systeem. Je kunt niet terug in de tijd. Schurken in spe met duistere plannen en voldoende
tijd die met Kali hashes van SAP willen kraken, ontdekken een typisch geval van het fenomeen
“jammer”.
2
De hand van SAP in Hashcat
De SAP hashes die het makkelijkst te kraken zijn, zitten op mysterieuze wijze niet in Hashcat. Gods
wegen zijn ondoorgrondelijk, maar die van SAP zijn dat ook. Hashcat kan alles kraken wat ouder is
dan paar maanden maar geen CODNV=B. Intussen geloof ik ook niet meer in toeval en neem ik aan
dat er een relatie is tussen het makkelijk kunnen kraken van deze hashes en de afwezigheid van deze
hash typen in de Kali versie van hashcat. Het zal zo zijn dat sommige van de door aanvallers
gemompelde vragen door SAP beantwoord kunnen worden. In het plaatje boven is goed te zien hoe
het zit. De nummers van code versie B en F/G, respectievelijk 7700 en 7800, zitten er vreemd genoeg
niet tussen (rode pijl). SAP hash type H kan wel gekraakt worden, maar deze is veel zwaarder te
kraken (zwarte pijl).
Wat betekent dit?
Dit betekent dat de standaard boef met het standaard gereedschap Kali met het plan: “ik zie wel of
het lukt” met hashcat bij SAP geen kans heeft. Maar variatie maakt het leven leuk. Heeft de boef iets
duistere plannen, is hij iets slimmer of bijkans iets handig in Linux, dan heeft hij snel een hashcat
versie gevonden waar wel de twee hashtypes in voorkomen. Zie onder hashcat 3.10:
Als deze hashcat versie gebruikt wordt tegen SAP CODVN=B dan is de hash gekraakt in minder tijd
dan het kost om een kop koffie te zetten (speciale koffiesoorten met nabewerking uitgesloten).
Als we daar even goed over nadenken, betekent dit het volgende:


Het is zeer belangrijk om van de oude SAP hashes af te komen
Alle interfaces waarmee hashes uit het SAP systeem getrokken kunnen worden, zijn kritiek
Dit laatste is eigenlijk mijn hoofdpunt. Veel SAP systemen die ik gezien heb, hebben interfaces die
direct SAP tabellen benaderen en die in staat zijn ook SAP paswoord hashes te lezen. Het is dus niet
alleen belangrijk de oude CODVN=B te verwijderen, maar ook om oude interfaces na te lopen en de
autorisatie die ze gebruiken. Om dit handmatig te doen, is een hele klus.
Hoe sterk zijn de hashes van SAP?
Dat is natuurlijk wat iedereen wil weten. Als ik met hashcat-3.10 op een standaard laptop met een
NVIDIA GPU en instelling “ga helemaal los”[1] een CODVN H hash van een eenvoudig paswoord van 7
karakters wil kraken, dan duurt dat nog steeds 2 dagen.
[1]
dat is: hashcat64 -w 4
3
Mocht er iemand zijn die er toch helemaal voor wil gaan en met een aan autisme grenzend fanatisme
een SAP hash van type H van 12 karakters wil kraken, dan ben je 10 jaar1 in blijde afwachting van een
event dat niet gaat plaatsvinden. Binnen 10 jaar zijn paswoorden allang veranderd of bestaan zelfs al
niet meer.
Dit betekent concreet dat de kans groter is dat Roodkapje de wolf opeet, dan dat het paswoord
gevonden wordt. Met code versie H of hoger zit je dus wel goed, maar zeg inderdaad nooit “nooit”.
Het zou kunnen dat een staat geïnteresseerd is in een bepaalde hash en super computing ter
beschikking stelt of dat er gebruik wordt gemaakt van een netwerk van gekoppelde computers die
samen een hash kraken zoals met ‘Hashtopus’.
Tot zo ver het goede nieuws. Nu het slechte nieuws. De hashes zijn op zich sterk, maar je kunt in het
SAP systeem instellen dat oudere hashes ook nog gebruikt mogen worden. Dat betekent dat je
Ferrari ineens tot een brommer reduceert. Het systeem genereert de super veilige lange hash, maar
ook nog de makkelijk te kraken oude hash typen. De oude hash is in seconden te kraken, dus
bedrijven die deze instellingen hebben, zijn zeer kwetsbaar.
login/password_downwards_compatibility = 1
De verantwoordelijkheid van het bedrijf is ook om te zorgen dat de SAP systeem parameters goed
staan. Ook als de parameter correct wordt ingesteld, blijven oude hashes kwetsbaar totdat het
paswoord wordt aangepast. Daarmee kom ik op mijn hoofdpunt terug: het is heel belangrijk dat
paswoord hashes niet uit SAP gehaald kunnen worden, wat de codeversie ook is.
1
De tijd om alle voorgaande woord lengtes te kraken, is niet eens meegeteld
4
Wie gaat SAP hacken?
De wereld is in maar een paar jaar erg veranderd: botnets van meer dan een miljoen zijn geen
uitzondering meer. Er hoeft maar een aantal pc’s met een botnet binnen een bedrijf te zijn en
criminelen krijgen al inzicht in de activiteiten binnen het bedrijf. De SWIFT hack van 2016 toonde aan
dat criminelen heel goed geobserveerd hebben hoe bepaalde software werkt. Deze hack is van een
magnitude die niemand eerder voor mogelijk had gehouden. Toch is het de hackers met SWIFT
gelukt. Het valt te verwachten dat door bedrijven zelf gemaakte zwakke SAP interfaces uiteindelijk
door criminelen ontdekt zullen worden.
Hoe oplossen?
Het is belangrijk dat de parameter goed staat en dat oude paswoorden worden vervangen.
Onderzoek hierbij welke users en welke interfaces de hashes uit het systeem zouden kunnen
trekken. Users worden vaak onderzocht, interfaces zo goed als nooit. Er zijn maar weinig tools die
daar een antwoord op hebben. Newitera gebruikt SAST InterfaceAnalyser om te analyseren welke
interfaces van en naar SAP er zijn en wat ze precies doen.
Daarnaast zijn de SIEM2 applicaties goed in het correleren van data, maar hebben zij geen goed zicht
op SAP, omdat dit nu eenmaal erg groot en divers is. Om te weten of een hacker met SAP iets aan het
proberen is, is een SIEM nodig die SAP door en door kent. SAST Security Radar is het enige product
dat dat kan en ook eens aan een bestaande SIEM gekoppeld kan worden.
Heeft u vragen over onbekende en gevaarlijke RFC verbindingen of wilt u meer voorbeelden of
verhalen horen, laat het ons weten.
Mark Deiss, [email protected]
2
SIEM = Security Information Event Management zoals ArcSight en Splunk
5
Download