drupal-bezpecnost

Drupal alebo ako hacknúť slovenské internety

Mnohí z vás ste sa už určite stretli s redakčným systémom Drupal. Ako aj iné redakčné systémy, akými sú napríklad WordPress či Joomla, aj Drupal ponúka plnohodnotný základ pre váš web. Pred pár dňami však bola v systéme Drupal objavená bezpečnostná chyba, pomocou ktorej bolo možné na diaľku vykonať ľubovoľný PHP kód. Na tom by nebolo nič zvláštne, veď etickí hackeri denne objavujú takéto chyby, avšak pri Drupale to bola už minimálne tretia za posledný rok.

Akoby toho nebolo málo, na každú z týchto chýb boli zverejnené exploity, ktoré umožňujú aj menej skúseným hackerom zneužiť tieto chyby. Zbaviť sa týchto chýb je naozaj jednoduché. Stačí Drupal aktualizovať. Rozhodli sme sa spraviť prieskum slovenského internetu a zistiť, koľko správcov systému Drupal tak urobilo.

Vytvorili sme preto jednoduchý skener, ktorý sa pozrel na každú slovenskú stránku. Skener zistil, či je postavená na Drupale a ak áno, identifikoval jej presnú verziu. S tou verziou to však nebolo celkom jednoduché. Veľa správcov webu si povedalo, že netreba aktualizovať celý systém Drupal, ale stačí, ak možných útočníkov oklamú v tom, akú verziu ich Drupal používa. My sme však pomocou techniky „fingerprinting“ identifikovali aj takto „na oko“ aktualizované systémy.

Výsledky našej analýzy boli podľa očakávaní:

  • z celkového počtu 383 919 slovenských webov je 2 847 postavených na systéme Drupal
  • z toho len 731 (26%) používa najnovšiu verziu Drupalu
  • 429 webov (15%) používa verziu Drupalu, pre ktorú už nevychádzajú bezpečnostné aktualizácie
  • 1 059 (37,2 %) používa verziu Drupalu, ktorá je zraniteľná na vzdialené vykonanie kódu

Po získaní výsledkov nášho skriptu sme mohli spustiť nejaký z verejne dostupných exploitov a rádovo hacknúť stovky serverov. Mohli sme si tak vyrobiť relatívne veľký botnet, ktorý by dokázal zhodiť aj rôzne populárne weby. Prípadne sme mohli na tých serveroch nechať ťažiť kryptomeny a časom byť možno veľmi bohatí. Samozrejme, neurobili sme to. Nebolo by to legálne a už vôbec nie etické. Pokúsili sme sa radšej kontaktovať autorov týchto webov a informovať ich o probléme.

Ako možno vidieť, z pohľadu hackera je naozaj jednoduché takýmto spôsobom kompromitovať stovky serverov. Množstvo zlých hackerov denne skenuje internet, aby našli zraniteľné systémy a zväčšili si tak svoje botnety. Ak nechcete, aby váš server bol na ich zozname (ak tam ešte nie je), odporúčame pravidelne aktualizovať jadro systému Drupal a taktiež všetky nainštalované moduly. Systém Drupal nie je zlý, avšak pravidelne aktualizovať je pri ňom azda ešte dôležitejšie, ako pri iných redakčných systémoch.

Technické detaily:

Posudzovali sme tieto zraniteľnosti, týkajúce sa jadra systému Drupal:

  • SA-CORE-2014-005 (Drupalgeddon) - zraniteľnosť typu „SQL injection“, ktorá postihuje inštancie Drupalu vo verzii 7.0 až 7.31.
  • SA-CORE-2018-002 (Drupalgeddon 2) - zraniteľnosť typu „Remote Code Execution“, ktorá postihuje inštancie Drupalu vo verzii 6.38, 7.0-7.57, 8.0.0-8.0.4, 8.1.0-8.1.10, 8.2.0-8.2.8, 8.3.0-8.3.8, 8.4.0-8.4.5 a 8.5.0.
  • SA-CORE-2018-004 (Drupalgeddon 3) - zraniteľnosť typu „Remote Code Execution“, ktorá postihuje inštancie Drupalu vo verzii 7.0-7.57, 8.4.0-8.4.7 a 8.5.0-8.5.2. Na jej zneužitie je však potrebné byť autentifikovaný v systéme Drupal.
  • SA-CORE-2019-003 - zraniteľnosť typu „Remote Code Execution“, ktorá postihuje inštancie Drupalu vo verzii 8.5.0-8.5.10 a 8.6.0-8.6.9.

Odporúčame aktualizovať na verziu, ktorá neobsahuje uvedené zraniteľnosti, ideálne na poslednú vydanú verziu. V čase písania článku boli posledné verzie tieto:

  • 8.6.10
  • 8.5.11
  • 7.64

O autorovi

Tomáš Melicher
Etický hacker
Pár rokov som pracoval ako web developer na rozsiahlych projektoch pre verejnú správu a finančný sektor. Na vyvíjaný softvér som sa vždy snažil pozrieť s akýmsi nadhľadom v zmysle "čo ak by to chcel niekto pokaziť". Tento prístup má postupne priviedol do Citadelo, kde robíme plno zaujímavých vecí. Keď práve nehackujem nejakú banku, tak ma môžete nájsť pri pingpongovom stole alebo cvičiť na nejakej preliezke.
Zobraziť viac od autora

Podobné blogy