O WPScan é uma ferramenta criado pelo ethicalhack3r que pretende identificar falhas ou pontos fracos em sistemas Wordpress, permite enumerar utilizadores, plugins e as suas versões, alertando também para as versões com vulnerabilidades públicas.
Antes de mais todas as medidas que apresento só foram testadas contra a _versão 1.1, _com isto quero dizer que nas próximas versões provavelmente quase todas estas mudanças podem se tornar inúteis. Deixo também claro que estas mudanças podem não servir para toda a gente já que á funcionalidades das quais abdico.
Testei a ferramenta em diversos blogs, e funcionou sempre bastante bem, em suma é uma ferramenta que em pentests pode-nos fazer poupar bastante tempo. Com esta nova ferramenta é provavel que muitos skiddies se dediquem um pouco a tentar entrar em blogs por isso achei que seria útil deixar umas dicas para mitigar o WPScan. Não pretendo apresentar uma solução unica e definitiva até porque seria impossível ja que a maioria dos plugins entram em contacto directo com os browsers dos visitantes dos blogs.
Mitigar a descoberta de plugins
Ao analisar o ficheiro que contêm os URLs de verificação dos plugins é possível verificar que muitos são detectados por ficheiros criados apenas para informar os utilizadores ou então ficheiros de pastas do windows que não foram apagados pelos criadores dos plugins e passaram para o repositorio.
png: 68
gif: 33
php: 1582
js: 71
css: 115
inc: 3
txt: 909
swf: 18
html: 33
htm: 4
jpg: 17
mo: 35
thumbs: 14
Outros: 68
Total: 2970
Estas são as extensões mais utilizadas, tendo em conta que thumbs não é uma extensão mas sim o nome do ficheiro (thumbs.db). Parto do principio que todos os ficheiros “txt” são ficheiros para o utilizador são para consulta do utilizador por isso pode ser removidos ou pelo menos pode ser bloqueado o acesso directo aos mesmos, assim como os thumbs.db, .pdf, .docx e alguns html/htm.
Mitigar a enumeração de utilizadores
O WPScan consegue identificar os utilizadores ao utilizar a tecnica de Veronica Valero. No meu caso as páginas de autor são inúteis já que não as utilizo, por isso posso abdicar delas, ao adicionar o código seguinte ao ficheiro das funções do tema que uso.
function sem_link() { global $wp_query; $wp_query->is_404 = true;}
add_action('author_link','sem_link',1);
Com isto o browser é redireccionado para a página de erro 404 do tema antes que o Wordpress tente enviar o browser para o link que contém os nomes de utilizador.
Bloquear a versão 1.1 por completo
Este metodo será provavelmente o primeiro que se irá tornar inútil já que basta apenas umas pequenas modificações para que invalide o mesmo. Para impedir que o WPScan aceda ao teu blog basta bloquear o user-agent dele no servidor Web.
Conclusão
Estas são apenas algumas das modificações que podem mitigam um pouco a versão actual do WPScan, no entanto algumas delas podem ser ultrapassadas em segundos ou podem tornar-se inúteis se em vez de ser utilizado o WPScan, a identificação for feita manualmente.