Gondoltam, írok egy pár sort arról, hogyan kell a WordPress weboldalakat kiberbiztonságilag letesztelni. Erre a célra kiváló a terminálban futtatható parancssoros eszköz a wpscan, most ennek a működését mutatom be. Ez egy biztonsági réseket kereső és általános kiberbiztonsági állapotot pásztázó program, ami Kali Linux alatt (is) megtalálható. Rengeteg opcióval rendelkezik és elég kifejlett, kifejezetten erre a célra fejlesztette ki a Sucuri csapata, egyébként pedig egy Ruby szkript :-). Már az elején hangsúlyozom, hogy ez az tool korántsem jelenti azt, hogy minden sebezhetőséget ismerünk az adott oldalról! Csak egy jó alapot ad a kezünkbe. Nem szükséges root jogosultság a futtatásához! Az alap használata a következő:

$ wpscan --output foresthacker.hu-wpscan2.out --url https://www.foresthacker.hu

Értelemszerűen, az –output opció a vizsgálat eredményét a utána megadott fájlba teszi. A másik, –url opció pedig kötelező: az utána megadott szöveg a Wordress-alapú weboldalt jelenti, mint tesztelési célt. Használható még a –force opció akkor, ha biztosak vagyunk benne, hogy WordPress site-ot tesztelünk. Ez esetben igen, az! 🙂 Futtatás után látunk több érdekes dolgot, láthatjuk vele a WordPress verzióját, felsorolja a pluginokat és azok verzióját. Azonban ami igazán szembeötlő, az a következő:

[!] No WPVulnDB API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 50 daily requests by registering at 
https://wpvulndb.com/users/sign_up.

A fenti azt jelenti, hogy a sebezhetőségi adatbázishoz szükséges ún. token-t nem adtuk meg. Ezért nem tudta ellenőrizni a konkrét sebezhetőségeket. Ehhez regisztrálnunk kell a megjelenített weboldalon, bizonyos kérésszám alatt ingyenes ennek használata. A token-t a regisztrálás után pedig meg kell adni a wpscan-nek paranccsorban az –api-token opcióval. Így tehát futtassuk le mégegyszer:

$ wpscan --api-token f8zvzx**************************************68z8
 --force --output foresthacker.hu-wpscan2.out --url https://www.foresthacker.hu

A token-t magát nem mutathatom, az mindenkinek egyedi, ezért szándékosan ki van csillagozva a középső része. Ezután a biztonsági vizsgálat eredményeiben a működő változatot láthatjuk:

WPVulnDB kapcsolat oké

Ezzel a kis programmal nagyon jó és átfogó, általános vizsgálatot kapunk a WordPress oldalunk állapotáról. Fontosnak tartom még hangsúlyozni, hogy van egy WordPress plugin is ugyanilyen névvel: WPScan. Ezt a sztenderd módon kell feltelepíteni, a keresőben megtaláljuk, majd installáljuk és aktiváljuk. Ez azonban nem ugyanaz, mint a fent említett paranccsoros eszköz! Csak a névazonosság áll fent 🙂 A kettő egymástól különböző dolgok, de nem kicsit…az alábbi képernyőkép illusztrálja a plugin-t:

WPScan plugin

A plugin beállításai között szükséges megadni ugyancsak a már korábban említett token-t, ami után itt is – a WordPress webes admin felületén belül – elvégezhetjük a biztonsági pásztázást. Egyébként ez is a Sucuri team-től van, ne legyen bennünk semmilyen kétség efelől. Egy hibátlan, ismert sebezhetőségeket nélkülöző website-on a plugin-os output így fog kinézni:

WPScan plugin – nem talált vulnerabilitit

Ahogy korábban jeleztem, nehogy most hátra dőljünk azt gondolván, hogy minden rendben van. Egyetlen tippet tudok, amit most még megnézhetünk a WordPress site-on, ami érzékeny adatokat szivárogtathat ki az arra nem szánt hallgatóságnak: az a /wp-content/debug.log fájl. Ezt a fájlt ha elfelejtik letiltani és észrevétlenül ott marad, eléggé megkönnyítjük az esetleges támadó helyzetét :-/. Természetesen ez a blogbejegyzés nem teljes, a wpscan program többet tud és egyéb opciói is vannak, célzottan is használható. Ajánlom a Unix man parancsot a részletekért. Remélem azért, hogy a fenti egy jó támpontot ad azoknak, akik ezzel foglalkoznak és akár referenciaként használhatják is ezt az oldalt.

–Miklos Quartus
2019. november 21.