Casus: Joomla-hack en oplossing

Tegenwoordig worden op websites steeds meer standaard Content Management Systemen (CMS) zoals Joomla, WordPress en Drupal gebruikt in plaats van custom-made Content Management Systemen. Het voordeel hiervan is dat er legio plugin’s, thema’s en handleidingen beschikbaar zijn voor deze systemen. Het nadeel hiervan is dat dergelijke systemen ook aantrekkelijk zijn voor kwaadwillende hackers, omdat deze systemen door talloze mensen gebruikt wordt.

Kwaadwillende hackers richten zich vaak op oudere versies van deze systemen, omdat daarvan bijvoorbeeld beveiligingsfouten zijn ontdekt en gepubliceerd. Zo werd ik begin dit jaar door een bekende gevraagd om naar de beveiliging van zijn Joomla-website te kijken. Deze persoon kreeg vaak klachten van klanten dat ze tijdens een bezoek aan de Joomla-website werden doorgestuurd naar vreemde Russische websites, met als gevolg dat de anti-virus & anti-spyware programma’s alarm sloegen. Niet echt positief tegenover je (potentiële) klanten als ze dergelijke zaken meemaken bij het bezoek van je website.

Onderzoek probleem

Bij het horen van de problemen, vermoedde ik al dat de website slachtoffer was geworden van kwaadwillende hackers. Als eerste onderzocht ik welke versie van Joomla werd gebruikt op de website. Dit is simpel te achterhalen door de broncode van de website te bekijken. Bij de meta-tags staat een tag vermeld met als naam ‘generator’ en daarachter de versie, in dit geval Joomla! 1.5. Deze versie is gereleased in januari 2008, maar is tot en met maart 2012 ondersteund met updates [1]. Op dit moment, februari 2013, zijn de meest recente versies: 2.5 (januari 2012) en 3.0 (september 2012).

Vervolgens onderzocht ik welke bestanden als laatste aangepast waren. Al snel ontdekte ik dat de website sinds april 2010 niet meer was bijgewerkt. Des te meer het opviel dat er in oktober 2012 een bestand ‘post.php’ in de map ‘images’ was geplaatst met de volgende regel code:

Opvallend was ook dat pas met Kerst 2012 dit bestand gebruikt (of misbruikt) is om de volgende bestanden te bewerken: CHANGELOG.php, configuration.php, COPYRIGHT.php, CREDITS.php, index.php, index2.phpINSTALL.php, LICENSE.php en LICENSES.php. Aan deze php-bestanden was op de 1e regel van het bestand de volgende code toegevoegd:

Deze code kan tot leesbare code omgezet worden door gebruik te maken van een online Base64 decoder zoals base64converter.com. Dat resulteert in de volgende code:

Uit deze code valt af te leiden wat er gebeurt bij het aanroepen van een van de getroffen php-bestanden. Men wordt alleen doorgestuurd naar http://onotiw.dnset.com/ (inmiddels niet meer bereikbaar), als ze via een zoekmachine zoals Yahoo, Bing of Google de website bezoeken. Dit verklaart ook waarom de werknemers zelf geen last hadden van de hack; zij gingen altijd direct naar de website (zonder gebruik te maken van zoekmachines dus).

Oplossing

De oplossing voor deze Joomla-hack is redelijk eenvoudig. Verwijder het bestand ‘post.php’ in de ‘images’-map. Via dit bestand was het immers mogelijk om overige php-bestanden aan te passen. Wijzig daarna de getroffen bestanden en verwijder de toegevoegde (base64 encoded) code op de 1e regel. Nu zijn de grootste wijzigingen van de hack teruggedraaid, maar het beveiligingsgat is nog niet gedicht. Het is trouwens mogelijk dat een kwaadwillende hacker nog meer bestanden heeft aangepast dan beschreven in dit artikel.

Mijn mening over het beveiligingsgat is dat de hack voorkomen had kunnen worden door het Joomla CMS up-to-date te houden. Een veelgebruikt CMS ruim 2 jaar niet updaten is vragen om problemen, zeker als er verwijzingen naar Joomla 1.5 in de broncode op je website te vinden is. De gevolgen waren bij deze casus nog te overzien, maar het is vervelend als door zo’n simpele hack bijvoorbeeld de gegevens uit je klanten-database op Internet te vinden zijn.

Ook bij het gebruik van open-source Content Management Systemen geldt: voorkomen is beter dan genezen.

Elke maand controleren of uw CMS en bijbehorende plugins en thema’s nog up-to-date zijn is dan ook aan te raden bij het gebruik van open-source content management systemen. Als u ook vermoeden heeft dat uw website gehackt is en u komt er verder niet uit, dan kunt u altijd contact met mij opnemen.

  1. Joomla. (2013). In Wikipedia. Retrieved February 26, 2013, from http://en.wikipedia.org/wiki/Joomla
Deel dit viaShare on LinkedIn0Tweet about this on TwitterShare on Facebook0Email this to someone

Een gedachte over “Casus: Joomla-hack en oplossing

  1. Pingback: Syntax highlighting bij WordPress blog | Frits Bosschert

Reacties zijn gesloten.