Wordpress
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Use Trickest to easily build and automate workflows powered by the world's most advanced community tools. Get Access Today:
Uploaded files go to: http://10.10.10.10/wp-content/uploads/2018/08/a.txt
Themes files can be found in /wp-content/themes/, so if you change some php of the theme to get RCE you probably will use that path. For example: Using theme twentytwelve you can access the 404.php file in: /wp-content/themes/twentytwelve/404.php
Another useful url could be: /wp-content/themes/default/404.php
In wp-config.php you can find the root password of the database.
Default login paths to check: /wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/
index.php
license.txt
contains useful information such as the version WordPress installed.
wp-activate.php
is used for the email activation process when setting up a new WordPress site.
Login folders (may be renamed to hide it):
/wp-admin/login.php
/wp-admin/wp-login.php
/login.php
/wp-login.php
xmlrpc.php
is a file that represents a feature of WordPress that enables data to be transmitted with HTTP acting as the transport mechanism and XML as the encoding mechanism. This type of communication has been replaced by the WordPress REST API.
The wp-content
folder is the main directory where plugins and themes are stored.
wp-content/uploads/
Is the directory where any files uploaded to the platform are stored.
wp-includes/
This is the directory where core files are stored, such as certificates, fonts, JavaScript files, and widgets.
wp-sitemap.xml
In Wordpress versions 5.5 and greater, Worpress generates a sitemap XML file with all public posts and publicly queryable post types and taxonomies.
Post exploitation
The wp-config.php
file contains information required by WordPress to connect to the database such as the database name, database host, username and password, authentication keys and salts, and the database table prefix. This configuration file can also be used to activate DEBUG mode, which can useful in troubleshooting.
Administrator
Editor: Publish and manages his and others posts
Author: Publish and manage his own posts
Contributor: Write and manage his posts but cannot publish them
Subscriber: Browser posts and edit their profile
Check if you can find the files /license.txt
or /readme.html
Inside the source code of the page (example from https://wordpress.org/support/article/pages/):
grep
meta name
CSS लिंक फ़ाइलें
JavaScript फ़ाइलें
Trickest का उपयोग करें ताकि आप दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित कार्यप्रवाहों को आसानी से बना और स्वचालित कर सकें। आज ही एक्सेस प्राप्त करें:
आप शायद सभी प्लगइन्स और थीम नहीं ढूंढ पाएंगे। सभी को खोजने के लिए, आपको प्लगइन्स और थीम की सूची पर सक्रिय रूप से ब्रूट फोर्स करना होगा (हमारे लिए उम्मीद है कि इस सूची को शामिल करने वाले स्वचालित उपकरण हैं)।
आईडी ब्रूट
आप एक वर्डप्रेस साइट से उपयोगकर्ता आईडी को ब्रूट फोर्स करके मान्य उपयोगकर्ता प्राप्त करते हैं:
यदि प्रतिक्रियाएँ 200 या 30X हैं, तो इसका मतलब है कि आईडी मान्य है। यदि प्रतिक्रिया 400 है, तो आईडी अमान्य है।
wp-json
आप उपयोगकर्ताओं के बारे में जानकारी प्राप्त करने के लिए भी क्वेरी कर सकते हैं:
एक और /wp-json/
एंडपॉइंट जो उपयोगकर्ताओं के बारे में कुछ जानकारी प्रकट कर सकता है:
ध्यान दें कि यह एंडपॉइंट केवल उन उपयोगकर्ताओं को उजागर करता है जिन्होंने एक पोस्ट बनाई है। केवल उन उपयोगकर्ताओं की जानकारी प्रदान की जाएगी जिनके पास यह सुविधा सक्षम है।
यह भी ध्यान दें कि /wp-json/wp/v2/pages आईपी पते लीक कर सकता है।
जब /wp-login.php
में लॉगिन करते हैं तो संदेश विभिन्न होता है यदि निर्दिष्ट उपयोगकर्ता नाम मौजूद है या नहीं।
यदि xml-rpc.php
सक्रिय है तो आप क्रेडेंशियल्स ब्रूट-फोर्स कर सकते हैं या इसका उपयोग अन्य संसाधनों पर DoS हमले शुरू करने के लिए कर सकते हैं। (आप इस प्रक्रिया को स्वचालित कर सकते हैं इसका उपयोग करके उदाहरण के लिए)।
यह देखने के लिए कि क्या यह सक्रिय है, /xmlrpc.php पर पहुंचने का प्रयास करें और यह अनुरोध भेजें:
जांचें
क्रेडेंशियल्स ब्रूटफोर्स
wp.getUserBlogs
, wp.getCategories
या metaWeblog.getUsersBlogs
कुछ ऐसे तरीके हैं जिनका उपयोग क्रेडेंशियल्स को ब्रूट-फोर्स करने के लिए किया जा सकता है। यदि आप इनमें से कोई भी खोज सकते हैं, तो आप कुछ इस तरह भेज सकते हैं:
संदेश "गलत उपयोगकर्ता नाम या पासवर्ड" 200 कोड प्रतिक्रिया के अंदर तब दिखाई देना चाहिए जब क्रेडेंशियल मान्य नहीं होते।
सही क्रेडेंशियल का उपयोग करके आप एक फ़ाइल अपलोड कर सकते हैं। प्रतिक्रिया में पथ दिखाई देगा (https://gist.github.com/georgestephanis/5681982)
Also there is a faster way to brute-force credentials using system.multicall
as you can try several credentials on the same request:
2FA को बायपास करें
यह विधि कार्यक्रमों के लिए है और मनुष्यों के लिए नहीं, और पुरानी है, इसलिए यह 2FA का समर्थन नहीं करती। इसलिए, यदि आपके पास मान्य क्रेडेंशियल हैं लेकिन मुख्य प्रवेश 2FA द्वारा सुरक्षित है, तो आप xmlrpc.php का दुरुपयोग करके उन क्रेडेंशियल के साथ 2FA को बायपास करते हुए लॉगिन करने में सक्षम हो सकते हैं। ध्यान दें कि आप कंसोल के माध्यम से किए जा सकने वाले सभी कार्य नहीं कर पाएंगे, लेकिन आप अभी भी RCE तक पहुँचने में सक्षम हो सकते हैं जैसा कि Ippsec इसे https://www.youtube.com/watch?v=p8mIdm93mfw&t=1130s में समझाता है।
DDoS या पोर्ट स्कैनिंग
यदि आप सूची के अंदर pingback.ping विधि पा सकते हैं तो आप Wordpress को किसी भी होस्ट/पोर्ट पर मनमाना अनुरोध भेजने के लिए बना सकते हैं। इसका उपयोग हजारों Wordpress साइटों से एक स्थान (तो उस स्थान पर DDoS उत्पन्न होता है) एक्सेस करने के लिए किया जा सकता है या आप इसका उपयोग Wordpress को कुछ आंतरिक नेटवर्क को स्कैन करने के लिए कर सकते हैं (आप किसी भी पोर्ट को निर्दिष्ट कर सकते हैं)।
यदि आपको faultCode एक मान 0 (17) से बड़ा मिलता है, तो इसका मतलब है कि पोर्ट खुला है।
इस विधि का दुरुपयोग करने के लिए system.multicall
के पिछले अनुभाग का उपयोग देखें ताकि DDoS का कारण बन सकें।
DDoS
यह फ़ाइल आमतौर पर वर्डप्रेस साइट की जड़ के तहत मौजूद होती है: /wp-cron.php
जब इस फ़ाइल को एक्सेस किया जाता है, तो एक "भारी" MySQL क्वेरी निष्पादित होती है, इसलिए इसे हमलावरों द्वारा DoS कारण के लिए उपयोग किया जा सकता है।
इसके अलावा, डिफ़ॉल्ट रूप से, wp-cron.php
हर पृष्ठ लोड पर (जब भी कोई क्लाइंट कोई वर्डप्रेस पृष्ठ अनुरोध करता है) कॉल किया जाता है, जो उच्च-ट्रैफ़िक साइटों पर समस्याएँ पैदा कर सकता है (DoS)।
Wp-Cron को अक्षम करना और होस्ट के अंदर एक वास्तविक क्रोनजॉब बनाना जो नियमित अंतराल पर आवश्यक क्रियाएँ करता है (बिना समस्याएँ पैदा किए) की सिफारिश की जाती है।
https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net तक पहुँचने का प्रयास करें और वर्डप्रेस साइट आपसे अनुरोध कर सकती है।
जब यह काम नहीं करता है तो यह प्रतिक्रिया है:
यह उपकरण जांचता है कि methodName: pingback.ping और पथ /wp-json/oembed/1.0/proxy है और यदि यह मौजूद है, तो यह उन्हें शोषण करने का प्रयास करता है।
Trickest का उपयोग करें ताकि आप दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित कार्यप्रवाहों को आसानी से बना और स्वचालित कर सकें। आज ही एक्सेस प्राप्त करें:
यह वास्तव में एक हमला नहीं है, बल्कि एक जिज्ञासा है। CTF https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man में आप किसी भी वर्डप्रेस फ़ाइल से 1 बिट को पलट सकते हैं। इसलिए आप फ़ाइल /var/www/html/wp-includes/user.php
के 5389
स्थिति को पलट सकते हैं ताकि NOT (!
) ऑपरेशन को NOP किया जा सके।
थीम से एक php को संशोधित करना (प्रशासनिक क्रेडेंशियल्स की आवश्यकता है)
दृश्यता → थीम संपादक → 404 टेम्पलेट (दाईं ओर)
एक php शेल के लिए सामग्री बदलें:
इंटरनेट पर खोजें कि आप उस अपडेटेड पृष्ठ तक कैसे पहुँच सकते हैं। इस मामले में, आपको यहाँ पहुँचने की आवश्यकता है: http://10.11.1.234/wp-content/themes/twentytwelve/404.php
आप उपयोग कर सकते हैं:
to get a session.
यह संभव है कि आप एक प्लगइन के रूप में .php फ़ाइलें अपलोड कर सकें। उदाहरण के लिए, अपने php बैकडोर को बनाएं:
फिर एक नया प्लगइन जोड़ें:
प्लगइन अपलोड करें और अभी इंस्टॉल करें पर क्लिक करें:
प्रोसीड पर क्लिक करें:
संभवतः यह स्पष्ट रूप से कुछ नहीं करेगा, लेकिन यदि आप मीडिया पर जाते हैं, तो आप देखेंगे कि आपका शेल अपलोड हो गया है:
इसका उपयोग करें और आप रिवर्स शेल निष्पादित करने के लिए URL देखेंगे:
यह विधि एक ज्ञात कमजोरियों वाले दुर्भावनापूर्ण प्लगइन की स्थापना से संबंधित है और इसका उपयोग वेब शेल प्राप्त करने के लिए किया जा सकता है। यह प्रक्रिया वर्डप्रेस डैशबोर्ड के माध्यम से इस प्रकार की जाती है:
Plugin Acquisition: प्लगइन को Exploit DB जैसे स्रोत से प्राप्त किया जाता है जैसे यहाँ।
Plugin Installation:
वर्डप्रेस डैशबोर्ड पर जाएं, फिर Dashboard > Plugins > Upload Plugin
पर जाएं।
डाउनलोड किए गए प्लगइन की ज़िप फ़ाइल अपलोड करें।
Plugin Activation: एक बार प्लगइन सफलतापूर्वक स्थापित हो जाने के बाद, इसे डैशबोर्ड के माध्यम से सक्रिय करना होगा।
Exploitation:
"reflex-gallery" प्लगइन स्थापित और सक्रिय होने पर, इसका शोषण किया जा सकता है क्योंकि यह ज्ञात है कि यह कमजोर है।
मेटास्प्लॉइट फ्रेमवर्क इस कमजोरी के लिए एक शोषण प्रदान करता है। उपयुक्त मॉड्यूल को लोड करके और विशिष्ट कमांड निष्पादित करके, एक मीटरप्रीटर सत्र स्थापित किया जा सकता है, जो साइट पर अनधिकृत पहुंच प्रदान करता है।
यह नोट किया गया है कि यह वर्डप्रेस साइट का शोषण करने के लिए कई तरीकों में से एक है।
सामग्री में वर्डप्रेस डैशबोर्ड में प्लगइन स्थापित करने और सक्रिय करने के चरणों को दर्शाने वाले दृश्य सहायता शामिल हैं। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि इस तरीके से कमजोरियों का शोषण करना बिना उचित प्राधिकरण के अवैध और अनैतिक है। इस जानकारी का उपयोग जिम्मेदारी से और केवल कानूनी संदर्भ में किया जाना चाहिए, जैसे कि स्पष्ट अनुमति के साथ पेनटेस्टिंग।
अधिक विस्तृत चरणों के लिए देखें: https://www.hackingarticles.in/wordpress-reverse-shell/
WPXStrike: WPXStrike एक स्क्रिप्ट है जिसे Cross-Site Scripting (XSS) कमजोरी को Remote Code Execution (RCE) या अन्य महत्वपूर्ण कमजोरियों में बढ़ाने के लिए डिज़ाइन किया गया है। अधिक जानकारी के लिए इस पोस्ट की जांच करें। यह Wordpress Versions 6.X.X, 5.X.X और 4.X.X के लिए समर्थन प्रदान करता है और अनुमति देता है:
Privilege Escalation: वर्डप्रेस में एक उपयोगकर्ता बनाता है।
(RCE) Custom Plugin (backdoor) Upload: अपने कस्टम प्लगइन (बैकडोर) को वर्डप्रेस में अपलोड करें।
(RCE) Built-In Plugin Edit: वर्डप्रेस में एक अंतर्निहित प्लगइन को संपादित करें।
(RCE) Built-In Theme Edit: वर्डप्रेस में एक अंतर्निहित थीम को संपादित करें।
(Custom) Custom Exploits: तृतीय-पक्ष वर्डप्रेस प्लगइन्स/थीम के लिए कस्टम शोषण।
Extract usernames and passwords:
प्रशासक पासवर्ड बदलें:
एक Wordpress प्लगइन कैसे कार्यक्षमता को उजागर कर सकता है, यह जानना इसकी कार्यक्षमता में कमजोरियों को खोजने के लिए कुंजी है। आप निम्नलिखित बुलेट पॉइंट्स में देख सकते हैं कि एक प्लगइन कैसे कार्यक्षमता को उजागर कर सकता है और इस ब्लॉग पोस्ट में कुछ कमजोर प्लगइनों के उदाहरण।
wp_ajax
एक प्लगइन उपयोगकर्ताओं के लिए कार्यों को उजागर करने के तरीकों में से एक AJAX हैंडलर्स के माध्यम से है। इनमें लॉजिक, प्राधिकरण, या प्रमाणीकरण बग हो सकते हैं। इसके अलावा, यह अक्सर होता है कि ये कार्य प्रमाणीकरण और प्राधिकरण दोनों को एक Wordpress nonce के अस्तित्व पर आधारित करते हैं जिसे किसी भी उपयोगकर्ता ने Wordpress उदाहरण में प्रमाणित किया हो सकता है (इसके भूमिका के स्वतंत्र)।
ये वे कार्य हैं जो एक प्लगइन में एक कार्य को उजागर करने के लिए उपयोग किए जा सकते हैं:
nopriv
का उपयोग किसी भी उपयोगकर्ताओं (यहां तक कि अनधिकृत लोगों) द्वारा एंडपॉइंट को सुलभ बनाता है।
इसके अलावा, यदि फ़ंक्शन केवल उपयोगकर्ता के प्राधिकरण की जांच कर रहा है wp_verify_nonce
फ़ंक्शन के साथ, तो यह फ़ंक्शन केवल यह जांच रहा है कि उपयोगकर्ता लॉग इन है, यह आमतौर पर उपयोगकर्ता की भूमिका की जांच नहीं कर रहा है। इसलिए कम विशेषाधिकार प्राप्त उपयोगकर्ताओं को उच्च विशेषाधिकार प्राप्त क्रियाओं तक पहुंच मिल सकती है।
REST API
यह register_rest_route
फ़ंक्शन का उपयोग करके वर्डप्रेस से फ़ंक्शन को उजागर करना भी संभव है:
permission_callback
एक ऐसा कॉलबैक फ़ंक्शन है जो यह जांचता है कि क्या एक निर्दिष्ट उपयोगकर्ता API विधि को कॉल करने के लिए अधिकृत है।
यदि अंतर्निहित __return_true
फ़ंक्शन का उपयोग किया जाता है, तो यह बस उपयोगकर्ता अनुमतियों की जांच को छोड़ देगा।
php फ़ाइल तक सीधी पहुँच
बेशक, Wordpress PHP का उपयोग करता है और प्लगइन्स के अंदर फ़ाइलें सीधे वेब से सुलभ होती हैं। इसलिए, यदि कोई प्लगइन किसी कमजोर कार्यक्षमता को उजागर कर रहा है जो फ़ाइल को एक्सेस करने पर सक्रिय होती है, तो इसे किसी भी उपयोगकर्ता द्वारा शोषित किया जा सकता है।
सुनिश्चित करें कि WordPress, प्लगइन्स और थीम अद्यतित हैं। यह भी पुष्टि करें कि wp-config.php में स्वचालित अपडेट सक्षम है:
Also, केवल विश्वसनीय WordPress प्लगइन्स और थीम्स स्थापित करें।
डिफ़ॉल्ट admin उपयोगकर्ता को हटाएं
मजबूत पासवर्ड और 2FA का उपयोग करें
समय-समय पर उपयोगकर्ताओं की अनुमतियों की समीक्षा करें
Brute Force हमलों को रोकने के लिए लॉगिन प्रयासों की संख्या सीमित करें
wp-admin.php
फ़ाइल का नाम बदलें और केवल आंतरिक रूप से या कुछ IP पते से पहुंच की अनुमति दें।
Trickest का उपयोग करें ताकि आप आसानी से वर्कफ़्लोज़ बना और स्वचालित कर सकें जो दुनिया के सबसे उन्नत सामुदायिक उपकरणों द्वारा संचालित हैं। आज ही एक्सेस प्राप्त करें:
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)