Como usar o WPScan para encontrar vulnerabilidade de segurança em sites WordPress?

Milhões de sites são movidos a WordPress e ocupam a primeira posição, com 62% da participação de mercado no mundo CMS.


Um relatório recente de vulnerabilidade de aplicativo da Web feito por Acunetix mostra que cerca de 30% dos sites WordPress são vulneráveis.

Há uma abundância de scanner de segurança online para verificar seu site. No entanto, se você estiver procurando por software para instalar e digitalizar a partir do servidor, o WPScan é seu amigo. É útil se o seu site estiver em uma rede privada ou intranet onde a Internet não está disponível. Ou, deseja testar vários sites em vários momentos.

O WPScan é um software gratuito, ajuda a identificar os problemas relacionados à segurança no seu site WordPress. Faz várias coisas como:

  • Verifique se o site está usando a versão vulnerável do WP
  • Verifique se um tema e um plug-in estão atualizados ou são vulneráveis
  • Verificar Timthumbs
  • Verifique se há backup de configuração, exportação de banco de dados
  • Ataque de força bruta

e muito mais…

Existem várias maneiras de usar o WPScan.

  • Instalando em servidores Linux
  • Usando o Docker
  • Usando a distribuição Linux pré-instalada como Kali Linux, BackBox, Pentoo, BlackArch, etc.
  • Versão online

Usando no CentOS

A seguir, são testados no CentOS 7.x.

  • Entre no CentOS com root
  • Atualize o repositório

yum update -y

  • Instale o Ruby mais recente e suas dependências

yum -y instalar enrolar gpg gcc gcc-c ++ fazer patch autoconf automatizar bison libffi-devel patch libtool readline-devel sqlite-devel zlib-devel openssl-devel && gpg –keyserver hkp: //pool.sks-keyservers.net –recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB && curl -sL https://get.rvm.io | bash -s stable –ruby

  • Instale Ruby Nokogiri

yum -y instala rubygem-nokogiri

  • Reinicialize o servidor e instale o WPScan usando o comando gem

gem install wpscan

Levará alguns segundos para instalar, e uma vez feito; você deve ver algo assim.

Concluído instalando a documentação para ffi, get_process_mem, mini_portile2, nokogiri, ruby ​​simultâneo, i18n, thread_safe, tzinfo, zeitwerk, activeesupport, public_suffix, endereçável, opt_parse_validator, ruby-progressbar, ethon, typhoeus, yajl-ruby, sys, yajl-ruby, sys wpscan após 32 segundos
20 gemas instaladas

O WPScan está instalado e pronto para uso agora. Execute o wpscan e você verá que ele retorna abaixo.

[[protegido por email] ~] # wpscan
É necessária uma das seguintes opções: url, atualização, ajuda, hh, versão

Use –help / -h para obter a lista de opções disponíveis.
[[protegido por email] ~] #

Aqui está a saída de um dos testes do site.

[[protegido por email] ~] # wpscan –url https://geekflaresg.com
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____ |
\ \ / \ / / | | __) | (___ ___ __ _ _ __ ®
\ \ / \ / / | ___ / \ ___ \ / __ | / _` | ‘_ \
\ / \ / | | ____) (__ | (_ | | | | |
\ / \ / | _ | | _____ / \ ___ | \ __, _ | _ | | _ |

Scanner de segurança do WordPress pela equipe do WPScan
Versão 3.7.6
Patrocinado pela Automattic – https://automattic.com/
@_WPScan_, @ ethichack3r, @erwan_lr, @firefart
_______________________________________________________________

[+] URL: https://geekflaresg.com/
[+] Início: quarta-feira, 8 de janeiro às 21:14:16 2020

Descobertas interessantes:

[+] https://geekflaresg.com/
| Entradas interessantes:
| – Servidor: nginx
| – Habilitado para cache de X: True
| – Cabeçalho do host: 5d77dd967d63c3104bced1db0cace49c
| – Cache de proxy X: MISS
| Encontrado por: Headers (Passive Detection)
| Confiança: 100%

[+] https://geekflaresg.com/robots.txt
| Entradas interessantes:
| – / wp-admin /
| – /wp-admin/admin-ajax.php
| Encontrado por: Robots Txt (Detecção Agressiva)
| Confiança: 100%

[+] https://geekflaresg.com/xmlrpc.php
| Encontrado por: Acesso direto (detecção agressiva)
| Confiança: 100%
| Referências:
| – http://codex.wordpress.org/XML-RPC_Pingback_API
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner
| – https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login
| – https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access

[+] https://geekflaresg.com/readme.html
| Encontrado por: Acesso direto (detecção agressiva)
| Confiança: 100%

[+] https://geekflaresg.com/wp-cron.php
| Encontrado por: Acesso direto (detecção agressiva)
| Confiança: 60%
| Referências:
| – https://www.iplocation.net/defend-wordpress-from-ddos
| – https://github.com/wpscanteam/wpscan/issues/1299

[+] WordPress versão 5.3.2 identificado (mais recente, lançado em 18/12/2019).
| Encontrado por: Rss Generator (Passive Detection)
| – https://geekflaresg.com/feed/, https://wordpress.org/?v=5.3.2
| – https://geekflaresg.com/comments/feed/, https://wordpress.org/?v=5.3.2

[+] Tema WordPress em uso: vinte e dezessete
| Localização: https://geekflaresg.com/wp-content/themes/twentyseventeen/
| Última atualização: 2019-05-07T00: 00: 00.000Z
| Leia-me: https://geekflaresg.com/wp-content/themes/twentyseventeen/README.txt
| [!] A versão está desatualizada, a versão mais recente é 2.2
| URL do estilo: https://geekflaresg.com/wp-content/themes/twentyseventeen/style.css
| Nome do Estilo: Twenty Seventeen
| URI do estilo: https://wordpress.org/themes/twentyseventeen/
| Descrição: Twenty Seventeen dá vida ao seu site com vídeo de cabeçalho e imagens em destaque imersivas. Com um…
| Autor: a equipe do WordPress
| Autor URI: https://wordpress.org/
|
| Encontrado por: URLs na página inicial (detecção passiva)
| Confirmado por: URLs na página 404 (detecção passiva)
|
| Versão: 2.1 (80% de confiança)
| Encontrado por: Estilo (detecção passiva)
| – https://geekflaresg.com/wp-content/themes/twentyseventeen/style.css, correspondência: ‘Versão: 2.1’

[+] Enumerando todos os plugins (via métodos passivos)

[i] Nenhum plug-in encontrado.

[+] Enumerando backups de configuração (por métodos passivos e agressivos)
Verificando backups de configuração – Horário: 00:00:01 <==================================================== ===================================================> (21/21) 100,00% Tempo: 00:00:01

[i] Nenhum backup de configuração encontrado.

[!] Nenhum token de API WPVulnDB fornecido, como resultado, os dados de vulnerabilidade não foram gerados.
[!] Você pode obter um token de API gratuito com 50 solicitações diárias, registrando-se em https://wpvulndb.com/users/sign_up

[+] Finalizado: quarta-feira, 8 de janeiro às 21:14:28 2020
[+] Pedidos concluídos: 51
[+] Solicitações em cache: 7
[+] Dados enviados: 9,52 KB
[+] Dados recebidos: 369.97 KB
[+] Memória usada: 202.898 MB
[+] Tempo decorrido: 00:00:12
[[protegido por email] ~] #

Nota: se você precisar de dados de vulnerabilidade na saída, precisará usar os respectivos API.

Se você estiver interessado em testar métricas específicas, consulte a ajuda executando o wpscan com a sintaxe –help.

[[protegido por email] ~] # wpscan –hh
_______________________________________________________________
__ _______ _____
\ \ / / __ \ / ____ |
\ \ / \ / / | | __) | (___ ___ __ _ _ __ ®
\ \ / \ / / | ___ / \ ___ \ / __ | / _` | ‘_ \
\ / \ / | | ____) (__ | (_ | | | | |
\ / \ / | _ | | _____ / \ ___ | \ __, _ | _ | | _ |

Scanner de segurança do WordPress pela equipe do WPScan
Versão 3.7.6
Patrocinado pela Automattic – https://automattic.com/
@_WPScan_, @ ethichack3r, @erwan_lr, @firefart
_______________________________________________________________

Uso: wpscan [opções]
–URL do URL O URL do blog a ser verificado
Protocolos permitidos: http, https
Protocolo padrão, se nenhum for fornecido: http
Esta opção é obrigatória, a menos que seja fornecida atualização ou ajuda ou hh ou versão
-h, –help Exibe a ajuda simples e sai
–hh Exiba a ajuda completa e saia
–version Exibe a versão e sai
–ignore-main-redirect Ignore o redirecionamento principal (se houver) e verifique o URL de destino
-v, –verbose Modo detalhado
–[no-] banner Se deve ou não exibir o banner
Padrão: true
–max-scan-duration SECONDS Interrompa a varredura se exceder o tempo fornecido em segundos
-o, –put Saída FILE para FILE
-f, –format FORMAT A saída resulta no formato fornecido
Opções disponíveis: cli-no-color, cli-no-color, cli, json
–modo de detecção MODO Padrão: misto
Opções disponíveis: mista, passiva, agressiva
–DOMÍNIOS do escopo (sub-) domínios separados por vírgula a serem considerados no escopo.
Caracteres curinga permitidos no domínio dos domínios válidos, por exemplo: * .target.tld
Separador para usar entre os valores: ‘,’
–user-agent, –ua VALUE
–headers HEADERS Cabeçalhos adicionais a serem adicionados às solicitações
Separador para usar entre os cabeçalhos: ‘; “
Exemplos: ‘X-Forwarded-For: 127.0.0.1’, ‘X-Forwarded-For: 127.0.0.1; Outro: aaa ‘
–vhost VALUE O host virtual (cabeçalho do host) a ser usado nas solicitações
–random-user-agent, –rua Use um user-agent aleatório para cada varredura
–user-agents-list FILE-PATH Lista de agentes a serem usados ​​com –random-user-agent
Padrão: /usr/local/rvm/gems/ruby-2.6.3/gems/cms_scanner-0.8.1/app/user_agents.txt
–login de autenticação http: senha
-t, –max-threads VALUE O máximo de threads a serem usados
Padrão: 5
–acelerar MilliSeconds Milissegundos para esperar antes de fazer outra solicitação da Web. Se usado, o número máximo de threads será definido como 1.
–request-timeout SECONDS O tempo limite da solicitação em segundos
Padrão: 60
–timeout da conexão SECONDS O tempo limite da conexão em segundos
Padrão: 30
–disable-tls-checks Desativa a verificação do certificado SSL / TLS e o downgrade para TLS1.0 + (requer cURL 7.66 para este último)
–protocolo proxy: // IP: port Os protocolos suportados dependem do cURL instalado
–login de autenticação de proxy: senha
–string de cookie COOKIE String de cookie a ser usada em solicitações, formato: cookie1 = value1 [; cookie2 = valor2]
–arquivo de caminho de arquivo FILE-PATH para ler e escrever cookies
Padrão: /tmp/wpscan/cookie_jar.txt
–cache-ttl TIME_TO_LIVE O tempo de cache para viver em segundos
Padrão: 600
–limpar cache Limpe o cache antes da verificação
–cache-dir PATH Padrão: / tmp / wpscan / cache
–server SERVER Força o carregamento do módulo do servidor fornecido
Opções disponíveis: apache, iis, nginx
–force Não verifique se o destino está executando o WordPress
–[no-] update Se deve ou não atualizar o banco de dados
–token api-token O token da API WPVulnDB para exibir dados de vulnerabilidade
–wp-content-dir DIR O diretório wp-content, se personalizado ou não detectado, como "conteúdo wp"
–wp-plugins-dir DIR O diretório plugins, se personalizado ou não detectado, como "wp-content / plugins"
–MODO interessante-descoberta-detecção Use o modo fornecido para a detecção interessante-descoberta.
Opções disponíveis: mista, passiva, agressiva
–wp-version-all Verifique todos os locais da versão
–MODO wp-version-detection Use o modo fornecido para a detecção de versão do WordPress, em vez do modo global (–detection-mode).
Opções disponíveis: mista, passiva, agressiva
–MODO de detecção de tema principal Use o modo fornecido para a detecção de tema principal, em vez do modo global (- modo de detecção).
Opções disponíveis: mista, passiva, agressiva
-e, – enumere o processo de enumeração [OPTS]
Opções disponíveis:
vp Plugins vulneráveis
ap Todos os plugins
p Plugins populares
Temas vulneráveis
em Todos os temas
t Temas populares
tt Timthumbs
cb backups de configuração
exportações db db
u Intervalo de IDs de usuário. por exemplo: u1-5
Separador de intervalo a ser usado: ‘-‘
Valor se nenhum argumento for fornecido: 1-10
m Faixa de IDs de mídia. por exemplo, m1-15
Nota: A configuração de link permanente deve ser definida como "Avião" para aqueles a serem detectados
Separador de intervalo a ser usado: ‘-‘
Valor se nenhum argumento for fornecido: 1-100
Separador para usar entre os valores: ‘,’
Padrão: Todos os plug-ins, backups de configuração
Valor se nenhum argumento for fornecido: vp, vt, tt, cb, dbe, u, m
Opções incompatíveis (somente um de cada grupo / s pode ser usado):
– vp, ap, p
– vt, às, t
–REGEXP_OR_STRING com exclusão do conteúdo Exclua todas as respostas correspondentes à Regexp (sem distinção entre maiúsculas e minúsculas) durante partes da enumeração.
Os cabeçalhos e o corpo são verificados. Delimitadores de regexp não são necessários.
–lista de plugins LIST Lista de plugins a enumerar
Exemplos: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–MODO de detecção de plugins Use o modo fornecido para enumerar Plugins, em vez do modo global (- modo de detecção).
Padrão: passivo
Opções disponíveis: mista, passiva, agressiva
–plugins-version-all Verifique todos os locais da versão dos plugins de acordo com o modo escolhido (- modo de detecção, – detecção de plugins e – detecção de versão dos plugins)
–modo de detecção de versão de plugins Use o modo fornecido para verificar as versões de plugins em vez dos modos –detection-mode ou –plugins-detection.
Padrão: misto
Opções disponíveis: mista, passiva, agressiva
–limite de plug-ins THRESHOLD Aumente um erro quando o número de plug-ins detectados através de locais conhecidos atingir o limite. Defina como 0 para ignorar o limite.
Padrão: 100
–lista de temas LIST Lista de temas a serem enumerados
Exemplos: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–MODO de detecção de temas Use o modo fornecido para enumerar Temas, em vez do modo global (- modo de detecção).
Opções disponíveis: mista, passiva, agressiva
–themes-version-all Verifique todos os locais da versão dos temas de acordo com o modo escolhido (- modo de detecção, – detecção de temas e – detecção de versão de temas)
–MODO temas-versão-detecção Use o modo fornecido para verificar as versões dos temas em vez dos modos –detection-mode ou –themes-detection.
Opções disponíveis: mista, passiva, agressiva
–themes-threshold THRESHOLD Gera um erro quando o número de temas detectados através de locais conhecidos atingir o limite. Defina como 0 para ignorar o limite.
Padrão: 20
–timthumbs-list FILE-PATH Lista da localização dos timthumbs a serem usados
Padrão: /root/.wpscan/db/timthumbs-v3.txt
–timthumbs-detection MODE Use o modo fornecido para enumerar Timthumbs, em vez do modo global (–detection-mode).
Opções disponíveis: mista, passiva, agressiva
–config-backups-list FILE-PATH Lista de nomes de arquivos dos backups de configuração a serem usados
Padrão: /root/.wpscan/db/config_backups.txt
–MODO config-backups-detection Use o modo fornecido para enumerar os backups de configuração, em vez do modo global (- modo de detecção).
Opções disponíveis: mista, passiva, agressiva
–db-export-list FILE-PATH Lista dos caminhos das exportações de banco de dados a serem usados
Padrão: /root/.wpscan/db/db_exports.txt
–MODO db-exportações-detecção Use o modo fornecido para enumerar DB Exports, em vez do modo global (–detection-mode).
Opções disponíveis: mista, passiva, agressiva
–MODO de detecção de mídia Use o modo fornecido para enumerar mídias, em vez do modo global (- modo de detecção).
Opções disponíveis: mista, passiva, agressiva
–lista de usuários LIST Lista de usuários a serem verificados durante a enumeração de usuários nas Mensagens de erro de logon
Exemplos: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–MODO DE DETECÇÃO DE USUÁRIOS Use o modo fornecido para enumerar Usuários, em vez do modo global (- modo de detecção).
Opções disponíveis: mista, passiva, agressiva
-P, –passwords FILE-PATH Lista de senhas a serem usadas durante o ataque por senha.
Se nenhuma opção –username / s for fornecida, a enumeração do usuário será executada.
-U, –usernames LIST Lista de nomes de usuários a serem usados ​​durante o ataque por senha.
Exemplos: ‘a1’, ‘a1, a2, a3’, ‘/tmp/a.txt’
–multicall-max-passwords MAX_PWD Número máximo de senhas a serem enviadas por solicitação com a multicall XMLRPC
Padrão: 500
–ataque de senha ATAQUE Força o ataque fornecido a ser usado, em vez de determinar automaticamente um.
Opções disponíveis: wp-login, xmlrpc, xmlrpc-multicall
–Alias ​​furtivo para –random-user-agent – modo de detecção passivo – plug-in-versão-detecção passiva

[[protegido por email] ~] #

Usando o WPScan no Kali Linux

A beleza de usar o Kali Linux é que você não precisa instalar nada. O WPScan está pré-instalado.

Vamos descobrir como executar o scanner.

  • Entre no Kali Linux com root e terminal aberto
  • Execute a verificação usando o comando wpscan

wpscan –url https://mysite.com

Usando o Docker

Um fã do Docker?

Por que não, é fácil começar. Verifique se você tem o Docker instalado.

  • Puxe a imagem da janela de encaixe WPScan

pull de docker wpscanteam / wpscan

  • Uma vez puxado, execute-o como abaixo.

docker run -it –rm wpscanteam / wpscan –url https://example.com

Fácil?

Scanner on-line com WPScan

Você pode aproveitar as seguintes ferramentas fornecidas pelo WPScan.

Geekflare

Geekflare WordPress Security Scanner permite que você descubra rapidamente se o site WordPress está tendo uma versão principal vulnerável, tema, plugin etc..

Além das métricas do WPScan, ele também verifica as seguintes.

  • O console de administração está exposto?
  • Se considerado seguro pelo Google
  • Acessível através de HTTPS
  • Se as bibliotecas JavaScript front-end estiverem vulneráveis

Você não precisa registrar uma conta. você pode executar o teste sob demanda GRATUITAMENTE.

Pentest-Tools

Uma ferramenta de Pentest-Tools permite testar o site WP sob demanda e produzir o relatório.

Qual é o próximo?

Bem feito! Se o seu site não estiver vulnerável. No entanto, se houver, trabalhe nesses itens de risco. Se você não tem certeza de como mitigá-los, procure ajuda profissional.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map