CryptoPHP – een backdoor virus verstopt in gratis themes en plugins

CryptoPHP – een backdoor virus verstopt in gratis themes en pluginsEr waart een nieuw backdoor virus rond: CryptoPHP. Het is speciaal gericht op het infecteren van populaire content management systemen zoals WordPress, Joomla en Drupal. Het wordt meegeleverd met gratis versies van betaalde plugins en thema’s. In dit artikel geef ik informatie over het virus en hoe je kunt voorkomen dat je door zoiets wordt besmet.

20 november 2014 publiceerde het Nederlandse bedrijf Fox-IT een 52 pagina’s groot rapport* waarin een gedetailleerde analyse wordt gegeven van een nieuw backdoor virus dat gericht is op het infecteren van populaire content management systemen zoals WordPress, Joomla en Drupal. Omdat het een onbekend nieuw virus is hebben de ontdekkers het een naam gegeven: CryptoPHP, refererend aan het feit dat het virus gebruik maakt van RSA Public Key cryptografie voor de communicatie met zijn thuisbasis.

Het virus is door de experts van Fox-IT aangetroffen in duizenden premium plugins en thema’s. Een complete lijst is nog niet beschikbaar, maar wanneer Fox-IT deze publiceert zal ik de link hier toevoegen.

* Update 26 november 2014
Fox-IT heeft een nieuw blogbericht gepubliceerd met aanvullende informatie over CryptoPHP.

Bijzonder: geen attack vectors

Het bijzondere aan het CryptoPHP-virus is het ontbreken van de zogenaamde ‘attack vectors’ die backdoor virussen normaal gesproken gebruiken. Een attack vector is de zwakke plek in een programma waar een virus weet binnen te komen, bijvoorbeeld een lek in een thema, een plugin of een verouderde versie van het moederprogramma.

Social engineering laat gebruikers het virus zelf installeren

CryptoPHP pakt het anders aan. Het virus werkt vanuit het principe van social engineering, oftewel het maakt niet gebruik van de zwakke plek in een programma maar de zwakke plek in een mens. In dit geval richt het virus zich op de zwakke plek in webmasters die gratis versies van premium thema’s en plugins installeren. Het virus is meeverpakt in bestaande populaire plugins en thema’s. Deze worden op een aantal websites aangeboden. Webmasters die denken een goede slag te slaan door een gratis versie van een betaalde plugin of thema te downloaden van zo’n site, werken dus onbedoeld mee aan de besmetting van hun eigen webserver.

Wat doet CryptoPHP als je site ermee besmet is?

Black Hat SEO

CryptoPHP is behoorlijk slim geprogrammeerd. Het virus is op afstand te besturen door zogenaamde command and control servers (C2 servers). Dit gebeurt zowel automatisch als handmatig. Zo kan het virus worden gebruikt voor zogenaamde Black Hat SEO. Hierbij plaatst het virus links naar bijvoorbeeld goksites in de bestaande content van de besmette website. Het virus is zo geprogrammeerd dat deze links alleen worden geplaatst wanneer de besmette site wordt bezocht door een crawler (zoekrobot) van een van de bekende zoekmachines. De crawler ziet de links als natuurlijk en verwerkt ze in de indexen, waardoor de goksite een hogere ranking krijgt. Wordt de besmette site bezocht door een menselijke bezoeker, dan zijn de links niet geïnjecteerd en merkt deze dus niks.

E-mail versturen

Verder kan het virus worden gebruikt om e-mail te versturen. Het kan via versleutelde berichten communiceren met de thuisbasis, het kan zichzelf updaten en de lijst met C2 servers kan op afstand worden geüpdated. De feielijke code van het virus zit verstopt in een bestand dat zich voordoet als een plaatje, maar in werkelijkheid een versleuteld php-bestand is. In WordPress maakt CryptoPHP een eigen beheerder aan, maar die wordt verborgen voor ingelogde gebruikers.

Backdoor virussen zoals CryptoPHP die werken op basis van social engineering konden wel eens een trend worden

Experts kunnen het virus via een scan detecteren, op grond van het feit dat de code waarmee het virus wordt opgestart tot nu toe steeds dezelfde is. Het is echter zeer goed mogelijk dat deze code in de toekomst bij dit of bij soortgelijke virussen wordt gewijzigd, waardoor het bij een scan op dezelfde strings niet meer zal worden gevonden. Met andere woorden: met de ontmaskering van CryptoPHP zijn we niet van het probleem af. Dit zal niet de laatste keer zijn dat besmetting van een cms via social engineering wordt ontdekt.

Het beste wat webmasters en site-eigenaren kunnen doen is zelf maatregelen nemen waarmee ze de kans op een besmetting door hun eigen toedoen drastisch verkleinen.

Niet alle gratis themes en plugins zijn verdacht

Het is belangrijk dat ik dit even toelicht, want het is niet de bedoeling van dit artikel om nu alle gratis probeerversies van premium (betaalde) thema’s en plugins in het verdachtenbankje te plaatsen. De besmette plugins en thema’s worden beschikbaar gesteld voor download op een 20-tal websites, die allemaal in het rapport van Fox-IT genoemd zijn. Maar hoe voorkom je dat je door gewoon te googelen per ongeluk op een site terecht komt waar je zo’n gratis plugin of thema kunt downloaden en hoe weet je wat veilig is en wat niet?

Vuistregels

Als je je aan de volgende vuistregels houdt, is de kans minimaal dat je het slachtoffer wordt van een besmetting:

  • Download themes en plugins bij voorkeur via de WordPress site. Dit is de meest betrouwbare bron. Het wil niet zeggen dat je daar de beste plugins en thema’s voor jouw behoeften vindt, maar de kans dat je hier een besmetting oploopt is minimaal.
  • Wanneer je themes of plugins installeert vanaf het dashboard met de functies van WordPress worden deze sowieso vanaf de betrouwbare WordPress repository gedownload.
  • Wanneer je een gratis plugin of thema vanaf een andere bron download, is er geen enkele garantie te geven dat dit veilig is.
  • Via wordpress.org kun je geen betaalde (premium) plugins of thema’s kopen. Koop je een plugin of thema, dan gebeurt dit altijd via de site van de verkoper of een netwerk van verkopers. Dit is over het algemeen veilig. Je sluit immers een financiële transactie, dus kan de verkoper worden opgespoord. Hackers zullen dit niet doen, maar daarentegen altijd hun identiteit zo goed mogelijk verbergen.
  • Ga niet googelen op gratis thema’s en plugins en deze dan vanaf een onbekende bestemming downloaden. Dat is vragen om moeilijkheden.

Betrouwbare bronnen voor betaalde WordPress thema’s:

Betrouwbare bronnen voor betaalde WordPress plugins:

 
*Download hier het volledige rapport van Fox-IT over CryptoPHP

4 reacties op “CryptoPHP – een backdoor virus verstopt in gratis themes en plugins

    1. Erik Bericht auteur

      Hallo Thijs,

      Wordfence. En verder: laat automatisch dagelijks een backup maken en bewaar daarvan zo veel mogelijk. Stel Wordfence zo in dat je meldingen ontvangt als er een update is voor een plugin of voor WordPress zelf. Check deze meldingen in je e-mail inbox elke dag. Voer updates direct uit.
      Als je dat doet is de kans minimaal dat er op de site wordt ingebroken.

      Daarnaast is het van belang dat je de computer(s) van waaruit je de site bewerkt schoon houdt. Dat je veilige wachtwoorden gebruikt. Dat je niet hetzelfde wachtwoord gebruikt op meerdere sites. Dat je gevoelige wachtwoord/gebruikersnaam combinaties niet samen bewaart.

      Erik

      Reageren
  1. Wim ter Haar

    Geldt dit verhaal ook bij het werken met wordpress.com en wordpress.org die dan draaien op een Linux pc. Zelf heb ik nog niets gemerkt. Ik zit nog wel met de vraag hoe je op een simpele manier dit virus kan ontdekken

    mvg

    Wim ter Haar

    Reageren
    1. Erik Bericht auteur

      Hallo Wim,

      De antwoorden op je vragen staan in het artikel waarop je reageert (ja, themes en plugins gedownload van wordpress.org en geselecteerd via een wordpress.com account zijn veilig) en als je de link naar de blog van Fox-IT volgt vind je manieren om het virus op te sporen.

      Erik

      Reageren

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

Let op!

Als je wilt dat je vraag serieus kan worden beantwoord, controleer dan of je hierboven minimaal het volgende hebt vermeld:

  • de url van de website
  • het gebruikte thema en of je dit hebt aangepast, al dan niet in een child-theme
  • indien van toepassing: de plugin die het probleem geeft
  • de pagina(s) waar het probleem zich voordoet
  • alle andere informatie die nodig kan zijn om het probleem te analyseren.