Wordpress
Використовуйте Trickest, щоб легко створювати та автоматизувати робочі процеси за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:
Базова інформація
Завантажені файли йдуть за посиланням: http://10.10.10.10/wp-content/uploads/2018/08/a.txt
Файли тем можна знайти в /wp-content/themes/, тому якщо ви змінюєте деякі php теми для отримання RCE, ви, ймовірно, використовуватимете цей шлях. Наприклад: Використовуючи тему twentytwelve, ви можете отримати доступ до файлу 404.php за посиланням: /wp-content/themes/twentytwelve/404.php
Іншим корисним URL може бути: /wp-content/themes/default/404.php
У wp-config.php ви можете знайти кореневий пароль бази даних.
Шляхи входу за замовчуванням для перевірки: /wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/
Основні файли WordPress
index.php
license.txt
містить корисну інформацію, таку як версія встановленого WordPress.wp-activate.php
використовується для процесу активації електронної пошти при налаштуванні нового сайту WordPress.Папки входу (можуть бути перейменовані, щоб приховати їх):
/wp-admin/login.php
/wp-admin/wp-login.php
/login.php
/wp-login.php
xmlrpc.php
- це файл, який представляє функцію WordPress, яка дозволяє передавати дані за допомогою HTTP як транспортного механізму та XML як механізму кодування. Цей тип комунікації був замінений WordPress REST API.Папка
wp-content
- це основний каталог, де зберігаються плагіни та теми.wp-content/uploads/
- це каталог, де зберігаються файли, завантажені на платформу.wp-includes/
- це каталог, де зберігаються основні файли, такі як сертифікати, шрифти, файли JavaScript та віджети.wp-sitemap.xml
- у версіях WordPress 5.5 і вище WordPress генерує файл sitemap XML з усіма публічними повідомленнями та публічно запитуваними типами повідомлень та таксономіями.
Післяексплуатація
Файл
wp-config.php
містить інформацію, необхідну WordPress для підключення до бази даних, таку як назва бази даних, хост бази даних, ім'я користувача та пароль, ключі аутентифікації та солі, а також префікс таблиці бази даних. Цей файл конфігурації також може бути використаний для активації режиму DEBUG, що може бути корисним при усуненні неполадок.
Права користувачів
Адміністратор
Редактор: Публікує та керує своїми та іншими повідомленнями
Автор: Публікує та керує своїми власними повідомленнями
Співавтор: Пише та керує своїми повідомленнями, але не може їх публікувати
Підписник: Переглядає повідомлення та редагує свій профіль
Пасивний перелік
Отримання версії WordPress
Перевірте, чи можете ви знайти файли /license.txt
або /readme.html
У вихідному коді сторінки (приклад з https://wordpress.org/support/article/pages/):
grep
meta name
CSS link files
JavaScript files
Отримати плагіни
Використовуйте Trickest для легкої побудови та автоматизації робочих процесів, які працюють за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:
Активне вибіркове перелічення
Плагіни та теми
Ймовірно, вам не вдасться знайти всі можливі Плагіни та Теми. Щоб відкрити їх всі, вам потрібно активно перебирати список Плагінів та Тем (на щастя, існують автоматизовані інструменти, які містять ці списки).
Користувачі
ID Brute
Ви отримуєте дійсних користувачів з сайту WordPress, перебираючи ID користувачів:
Якщо відповіді - 200 або 30X, це означає, що ідентифікатор є дійсним. Якщо відповідь - 400, то ідентифікатор є недійсним.
wp-json
Ви також можете спробувати отримати інформацію про користувачів, запитуючи:
Інший /wp-json/
ендпоінт, який може розкрити деяку інформацію про користувачів, це:
Зверніть увагу, що ця кінцева точка викриває лише користувачів, які опублікували пост. Надана буде інформація лише про користувачів, які мають цю функцію увімкнено.
Також зверніть увагу, що /wp-json/wp/v2/pages може витікати IP-адреси.
Перелік імен користувачів для входу
Під час входу в /wp-login.php
повідомлення відрізняється, якщо вказане ім'я користувача існує чи ні.
XML-RPC
Якщо xml-rpc.php
активний, ви можете виконати перебір облікових даних або використовувати його для запуску атак DoS на інші ресурси. (Наприклад, ви можете автоматизувати цей процес використовуючи це).
Щоб перевірити, чи він активний, спробуйте отримати доступ до /xmlrpc.php та надіслати цей запит:
Перевірка
Перебір облікових даних
wp.getUserBlogs
, wp.getCategories
або metaWeblog.getUsersBlogs
- це деякі з методів, які можна використовувати для перебору облікових даних. Якщо ви знайдете будь-який з них, ви можете відправити щось на зразок:
Повідомлення "Неправильне ім'я користувача або пароль" у відповіді з кодом 200 повинно з'явитися, якщо облікові дані недійсні.
Використовуючи правильні облікові дані, ви можете завантажити файл. У відповіді з'явиться шлях (https://gist.github.com/georgestephanis/5681982)
Також є швидший спосіб перебору облікових даних за допомогою system.multicall
, оскільки ви можете спробувати кілька облікових даних за один запит:
Обхід 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
DoS через wp-cron.php
Цей файл зазвичай існує під коренем сайту Wordpress: /wp-cron.php
Коли цей файл доступний, виконується "важкий" запит до MySQL, тому його можна використовувати зловмисниками для спричинення DoS.
Крім того, за замовчуванням, wp-cron.php
викликається при кожному завантаженні сторінки (кожного разу, коли клієнт запитує будь-яку сторінку Wordpress), що на сайтах з великим трафіком може викликати проблеми (DoS).
Рекомендується вимкнути Wp-Cron та створити реальну cronjob всередині хоста, яка виконує необхідні дії в регулярний інтервал (без виклику проблем).
/wp-json/oembed/1.0/proxy - SSRF
Спробуйте отримати доступ до https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net і сайт Worpress може надіслати вам запит.
Ось відповідь, коли це не працює:
SSRF
Цей інструмент перевіряє, чи є methodName: pingback.ping та шлях /wp-json/oembed/1.0/proxy, і якщо вони існують, він намагається їх використати.
Автоматичні Інструменти
Використовуйте Trickest для легкої побудови та автоматизації робочих процесів, які працюють за допомогою найбільш продвинутих інструментів спільноти у світі. Отримайте доступ сьогодні:
Отримайте доступ, перезаписавши біт
Більше, ніж реальна атака, це цікавість. У CTF https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man ви могли змінити 1 біт у будь-якому файлі wordpress. Таким чином, ви могли б змінити позицію 5389
у файлі /var/www/html/wp-includes/user.php
, щоб зробити операцію NOT (!
) бездіяльною.
Панель RCE
Зміна php з використанням теми (потрібні облікові дані адміністратора)
Вигляд → Редактор тем → 404 Шаблон (праворуч)
Змініть вміст на php shell:
Шукайте в Інтернеті, як ви можете отримати доступ до оновленої сторінки. У цьому випадку вам потрібно перейти сюди: http://10.11.1.234/wp-content/themes/twentytwelve/404.php
MSF
Ви можете використовувати:
Використання плагіна RCE
PHP плагін
Можливо завантажити файли .php як плагін. Створіть свій php backdoor, використовуючи, наприклад:
Потім додайте новий плагін:
Завантажте плагін та натисніть "Install Now":
Клацніть на "Procced":
Ймовірно, це на перший погляд нічого не зробить, але якщо ви перейдете до Медіа, ви побачите, що ваш shell завантажено:
Отримайте до нього доступ і ви побачите URL для виконання зворотного shell:
Завантаження та активація шкідливого плагіна
Цей метод включає встановлення шкідливого плагіна, відомого як вразливий, який може бути використаний для отримання веб-оболонки. Цей процес виконується через панель управління WordPress наступним чином:
Отримання плагіна: Плагін отримується з джерела, такого як Exploit DB, наприклад тут.
Встановлення плагіна:
Перейдіть до панелі управління WordPress, потім перейдіть до
Dashboard > Plugins > Upload Plugin
.Завантажте zip-файл завантаженого плагіна.
Активація плагіна: Після успішного встановлення плагіна його потрібно активувати через панель управління.
Експлуатація:
З встановленим та активованим плагіном "reflex-gallery" його можна використовувати, оскільки відомо, що він вразливий.
Фреймворк Metasploit надає експлойт для цієї вразливості. Завантажуючи відповідний модуль та виконуючи певні команди, можна встановити сеанс meterpreter, надаючи несанкціонований доступ до сайту.
Зазначається, що це лише один із багатьох методів експлуатації сайту WordPress.
Контент включає візуальні посібники, що зображають кроки в панелі управління WordPress для встановлення та активації плагіна. Проте важливо зауважити, що експлуатація вразливостей таким чином є незаконною та неетичною без належного дозволу. Цю інформацію слід використовувати відповідально та лише в законному контексті, наприклад, під час пенетраційного тестування з явним дозволом.
Для отримання докладніших кроків перевірте: https://www.hackingarticles.in/wordpress-reverse-shell/**
Після експлуатації
Витягніть імена користувачів та паролі:
Змінити пароль адміністратора:
Захист WordPress
Регулярні оновлення
Переконайтеся, що WordPress, плагіни та теми оновлені. Також підтвердьте, що автоматичне оновлення увімкнене в файлі wp-config.php:
Також встановлюйте тільки довірені плагіни та теми WordPress.
Плагіни безпеки
Інші рекомендації
Видаліть стандартного користувача admin
Використовуйте надійні паролі та 2FA
Періодично переглядайте дозволи користувачів
Обмежте спроби входу для запобігання атакам методом перебору
Перейменуйте файл
wp-admin.php
та дозвольте доступ лише внутрішньо або з певних IP-адрес.
Використовуйте Trickest для легкої побудови та автоматизації робочих процесів, що працюють на найбільш продвинутих інструментах спільноти у світі. Отримайте доступ сьогодні:
Last updated