Önjavító WordPress-backdoor
A Sucuri egy szokatlanul ellenálló WordPress-backdoort elemzett, amelyet az injektált SC_ jelölések alapján SC malware-nek nevezett el. A fertőzés lényege nem egyetlen rosszindulatú fájl, hanem egy önmagát helyreállító rendszer, a payload legalább nyolc különböző helyen marad fenn, többek között WordPress drop-inekben, a témában, normál és must-use pluginként, az adatbázisban, ZIP-mentésben és akár System V megosztott memóriában. Ha a rendszergazda csak az egyik példányt törli, egy másik komponens másodperceken belül visszaépítheti.
A lánc több WordPress/PHP betöltési pontot használ egyszerre. A .user.ini auto_prepend_file beállítása már a PHP-kérések elején elindíthat egy loadert, a db.php és advanced-cache.php drop-inek még a normál pluginek előtt lefuthatnak, az aktív téma functions.php fájlja pedig további helyreállító kódot tartalmaz. Az advanced-cache.php öt különböző forrásból képes rekonstruálni a backdoort, köztük adatbázisból és RAM-ban tárolt PHP-kódból. Emiatt még a teljesnek tűnő fájlrendszer-tisztítás és adatbázis-takarítás sem feltétlenül elég, ha a shared-memory példány megmarad.
A tényleges backdoor elrejti magát a WordPress adminfelületéről, rejtett adminisztrátori fiókot hozhat létre, érvényes authentication cookie-kat generálhat, PHP-kódot és JavaScriptet tölthet le, valamint biztonsági plugineket deaktiválhat vagy törölhet. Webshop esetén a távolról érkező JavaScript például fizetési adatokat lopó skimmerként is használható. A C2 feloldásához körülbelül húsz nyilvános Ethereum RPC gatewayt és smart contractot használ: a blokklánc itt nem maga a teljes C2-csatorna, hanem a támadói infrastruktúra aktuális címének meghatározásában segít. Egyetlen RPC-végpont blokkolása ezért kevés.
Egy ilyen fertőzést nem lehet egyszerűen malware-fájlok törlésével felszámolni. Először a futtatási mechanizmust kell semlegesíteni, majd az adatbázisban, shared memoryban, cron feladatokban és esetleges adatbázis-triggerekben lévő perzisztenciát eltávolítani, és csak ezután érdemes egyszerre megtisztítani a fájlokat és a rejtett adminfiókokat. A Sucuri nem állapította meg az eredeti behatolási módot, ezért nem bizonyított, hogy konkrét WordPress-sérülékenység indította a fertőzést. A kutatás legfontosabb gyakorlati része éppen ez, visszatérő WordPress-malware esetén már a fájlrendszeren kívüli perzisztenciát is vizsgálni kell.