Jak se nabourat do webových stránek WordPress – Ethical Hacking Tutorial

Vítejte zpět kolegové bezpečnostní nadšenci! Dnes vám ukážu, jak hacknout webovou stránku WordPress na příkladu CTF Mr. Robot. Sám jsem právě tuto vynikající CTF zpracoval a hodně jsem se při tom naučil. Chtěl jsem svou hru na analýzu zranitelnosti webu posunout o úroveň výš a začal jsem s tímto CTF.

Pokud se opravdu chcete naučit kybernetickou bezpečnost, vřele doporučuji přečíst si mého velkého průvodce Začínáme s kybernetickou bezpečností v roce 2019 pro začátečníky, kde vás naučím, jak začít, a to zcela zdarma! Za pozornost stojí také článek Nejlepší knihy o hackingu v roce 2019.

DISCLAIMER: Tento článek „jak se nabourat do webových stránek WordPressu“ je výukový kurz etického hackingu a je zaměřen na bezpečnostní profesionály. Nepoužívejte, opakuji, nepoužívejte tyto techniky bez písemného souhlasu přijímající strany. Pokud tento návod použijete v nezákonném kontextu, mohou vás čekat zákonná obvinění a/nebo vězení. Tyto techniky používejte pouze v uzavřeném laboratorním prostředí.

CTF je takzvaná hra Capture the Flag, kde je vaším cílem nasbírat určitý počet vlajek (nebo třeba klíčů). CTF slouží k procvičování hackerských dovedností v bezpečném a legálním prostředí. Jako zdroj pro výběr vynikající CTF mohu doporučit Vulnhub.

Ok, začněme.

Krok 1 – Vyhodnocení, zda webová stránka používá WordPress

Pokud nevíte, zda webová stránka používá WordPress, nebo ne, většinou existuje velmi snadný způsob, jak to zjistit.

Můžete jednoduše zadat: www.addressofthewebsite.com/wp-admin

Což ve většině případů vyvolá přihlašovací gui wp-admin, s výjimkou toho, že jej administrátor zakázal.

Dalším skvělým způsobem, jak zjistit, zda Webová stránka používá WordPress, je použití wpscan. Wpscan je předinstalován v Kali i ParrotSec.

wpscan -u www.addressofyourtarget.com

V mém případě skenování virtuálního počítače pana Robota odhalilo následující.

Jak hacknout WordPress
Úryvek výsledků

Jak vidíte, jasně ukazuje, že web používá WordPress. Také vám předkládá 46 identifikovaných zranitelností. Většina hostitelů a nejnovějších verzí systému WordPress nyní takovéto skenování ve výchozím nastavení blokuje. Takže s největší pravděpodobností to bude fungovat pouze se zastaralými verzemi WordPressu bez jakékoli ochrany ze strany hostitele.

Ok, zatím to vypadá dobře. Nyní to můžeme ověřit tak, že zkontrolujeme, zda přihlašovací stránka existuje, a to tak, že přejdeme na adresu URL webu + /wp-admin takto:

Jak hacknout WordPress
Přihlášení do WordPressu

A jistě, maska přihlášení se objeví.

Krok 2 – Chytání kódu pomocí Burpsuite

Teď přijde ta obtížnější část, zjištění uživatelského jména. Mohli byste začít s adminem, ale WordPress obvykle generuje náhodné uživatelské jméno, takže může být obtížné ho zjistit a možná budete muset provést nějaký další průzkum cíle.

V příkladu pana Robota vím, že uživatelské jméno je Elliot (není příliš těžké ho uhodnout). Můžete také zkusit spustit hydru proti několika seznamům uživatelských jmen, ale nejprve musíme použít burpsuite, abychom získali nějaký kód z přihlašovací stránky.

Spuštění burpsuite zadáním

sudo burpsuite

Vytvořte nový dočasný projekt pomocí výchozího nastavení Burp.

Přejděte na kartu Target -> Scope a klikněte na Add, abyste do rozsahu zahrnuli stránku wp-login. Ve vyskakovacím dialogu vyberte možnost Ano.

Jak nabourat WordPress
Přidání stránky do rozsahu

Dále přejděte do nabídky Předvolby Firefoxu a sjeďte až dolů, dokud nenajdete položku Síťová proxy. Klikněte na Nastavení.

Zvolte možnost Ruční konfigurace proxy a zadejte IP 127.0.0.1 a port 8080. Zaškrtněte políčko „Použít tento proxy server pro všechny protokoly“. Klikněte na tlačítko OK.

Jak hacknout WordPress
Přidání proxy serveru

Zpět na Burpsuite. Otevřete kartu Proxy server. Nyní se vraťte na stránku WP-Login. Zadejte libovolné náhodné uživatelské jméno a heslo a klikněte na tlačítko Přihlásit. Ujistěte se, že jsou pro web zakázány aplikace Privacy Badger, uBlock Origins a NoScript.

Po kliknutí na přihlášení se vraťte do Burpsuite a podívejte se na výstup.

Jak hacknout WordPress
Hrabací kód

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

Teď máme něco, čím můžeme nakrmit Hydru.

Krok 3 – Zjištění správného uživatelského jména

Uděláme si malou legraci, abychom vám přiblížili, jak byste mohli zjistit uživatelské jméno vašeho cíle. Virtuální počítač, který používáme pro tento příklad, je, jak bylo uvedeno výše, s tématikou seriálu Pan Robot. Je tedy velmi pravděpodobné, že uživatelské jméno bude nalezeno v nějaké drobnosti, která souvisí s panem Robotem.

Nejprve se vraťte do Burpsuite a zavřete jej. Teď už ho nepotřebujeme. Také se vraťte do nastavení proxy serveru a opět ho zakažte.

Teď zamířím na stránku Pan Robot na Wikipedii: https://en.wikipedia.org/wiki/Mr._Robot

A přesně z této stránky vytvořím seznam uživatelských jmen pomocí CeWL.

Otevřete nové okno terminálu a napište

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

Rozložíme si to.

  • -w usernames.txt – mělo by být celkem jasné, že se jedná o název seznamu slov, který bude vytvořen
  • -d1 – Určuje hloubku, ve které bude CeWL procházet webové stránky. Jednička znamená, že zůstane přesně na tomto webu a nebude na něm otevírat žádné odkazy.
  • -m4 – Definuje minimální délku slova, které bude zařazeno do seznamu
  • https://en.wikipedia.org/wiki/Mr._Robot – zřejmě web, který budeme procházet.

Jak tedy vidíte, mohli byste tuto techniku použít na jakoukoli cílovou relevantní webovou stránku.

Provedení rychlého

ls

Ukazuje nám, že naše uživatelská jména.txt byl vytvořen.

Jak hacknout WordPress
Kontrola výstupu CeWL

V některých případech máte štěstí při použití wpscan k výčtu uživatelských jmen, takže to vždy zkuste také:

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

Nyní použijeme Hydru k Bruteforce tohoto seznamu proti stránce wp-login.

Krok 4 – Bruteforcing uživatelských jmen pomocí Hydry

Dobře, je čas nakrmit naše uživatelská jména Hydrou. Tuto konkrétní metodu jsem našel na jednom z mnoha Walkthrough z Vulnhubu, i když si nepamatuji přesně, který to byl, ale dávám za pravdu. Otevřete nové okno terminálu a zadejte:

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'

Nechte si to rozebrat.

  • -V – Verbose
  • -L – Naše uživatelská jména.txt list
  • -p whatever – Heslo, to nás nezajímá, protože chceme zjistit uživatelské jméno
    • http-post-form – Typ útoku hrubou silou, který chceme provést
    • /wp-login.php – Cesta k přihlašovacímu formuláři
    • log = ^USER^&pwd=^PASS^&wp-submit=Log+In – Hodnoty, které budou odeslány do formuláře, kde ^USER^ a ^PASS^ jsou zástupné znaky pro naše volby -L a -p
    • F=Invalid username – Řekne hydře, že pokus selhal, pokud vrátí Invalid username

Dobře, spustíme ten příkaz?

Jak se nabourat do WordPressu
Výsledky z Hydry

A jistě, vrátí se nám, že přihlášení s uživatelským jménem elliot bylo úspěšné (Což nebylo, jen se potvrdilo, že webový formulář nevrátil neplatné uživatelské jméno).

Takže ještě musíme zjistit heslo. Ale alespoň máme uživatelské jméno.

Krok 5 – Hrubé vynucení hesla

Nyní bychom mohli k hrubému vynucení hesla uživatele použít také Hydru, ale raději používám wpscan, protože syntaxe je jednodušší.

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 je jen příklad, nahraďte ho libovolným seznamem hesel, který chcete použít.

A voilá, máme uživatelské jméno a heslo.

Zachycení hesla

Krok 6 – Implementace škodlivého kódu do WordPressu

Pokud jsme získali administrátorský přístup do WordPressu, můžeme postupovat několika způsoby. Ukážu vám jeden z těch jednodušších.

Na útočícím počítači přejděte do Místa -> Souborový systém -> usr -> sdílet -> webshells -> php a otevřete php-reverse-shell.php

Zkopírujte celý jeho obsah:

Jak hacknout wordpress
Zkopírujte text

Nyní ve WordPressu přejděte do Vzhled -> Editor a vyberte šablonu 404.php. Toto je pouze příklad, kód můžete implementovat mnoha různými způsoby.

Nyní sem vložte svůj kód tak, aby vypadal nějak takto:

Jak hacknout WordPress
Upravte žlutě označené řádky

Upravte žlutě označené řádky tak, aby IP ukazovala na váš útočící počítač, a vyberte port.

Krok 7 – Spuštění posluchače Netcat

Nyní opět na útočícím počítači spustíme posluchače Netcat:

nc -lvp 443

Poté otevřete stránku 404, jako byste právě přešli na odkaz: www.yourtargetwebsite.com/404

Jak hacknout WordPress
Spojení navázáno

A jsme uvnitř! Nejenže jsme hackli administrátorský účet WordPressu, ale získali jsme i přístup k samotnému serveru. Odtud je třeba využít své schopnosti k získání zvýšeného přístupu, ale to už by teď nemělo být příliš těžké.

Jak vidíte, CTF jsou skvělým způsobem, jak se naučit nové věci.

Do příště pokračujte v hackování!

*Všechny techniky uvedené v tutoriálech na ceos3c.com jsou určeny výhradně pro vzdělávací účely.
Všechny zde vyučované techniky jsou určeny pouze k použití v uzavřeném laboratorním prostředí nebo po dohodě s druhou stranou.
Pokud některou z těchto technik používáte k nezákonným účelům, společnost Ceos3c nemůže nést odpovědnost za případné zákonné následky.

Prosím, sdílejte!

Líbí se mi Loading…

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.