WPScanに続いて、WPSekuも実行してみました。
スキャンするWordPressはインストール直後の状態によく使われているプラグインのContact Form 7だけ入れたものを用意しました。
以下が検証用のサーバのバージョンです。
Webサーバ : Apache/2.4.29 (Ubuntu)
WordPress : 5.2.2–ja
Contact Form 7 : 5.1.3
インストール
インストールはpythonとpipが入っている環境であれば、githubに書いている通りに実行すれば問題なくインストールできると思います。
<code>git clone https://github.com/m4ll0k/WPSeku.git wpseku </code>
<code>cd wpseku </code>
<code>pip3 install -r requirements.txt </code>
<code>python3 wpseku.py</code>
以下のように表示されていればインストール完了です。
----------------------------------------
_ _ _ ___ ___ ___| |_ _ _
| | | | . |_ -| -_| '_| | |
|_____| _|___|___|_,_|___|
|_| v0.4.0
WPSeku - WordPress Security Scanner
by Momo Outaadi (m4ll0k)
----------------------------------------
Usage: wpseku.py [options]
-u --url Target URL (e.g: http://site.com)
-b --brute Bruteforce login via xmlrpc
-U --user Set username for bruteforce, default "admin"
-s --scan Checking wordpress plugin code
-p --proxy Use a proxy, (host:port)
-c --cookie Set HTTP Cookie header value
-a --agent Set HTTP User-agent header value
-r --ragent Use random User-agent header value
-R --redirect Set redirect target URL False
-t --timeout Seconds to wait before timeout connection
-w --wordlist Set wordlist, default "db/wordlist.txt"
-v --verbose Print more informations
-h --help Show this help and exit
Example:
wpseku.py --url http://site.com/
wpseku.py --url http://site.com --brute --user test
wpseku.py --url http://site.com/ --brute --user admin --wordlist wordlist.txt
スキャンの実行
以下のようにURLを指定して実行するだけです。
python3 wpseku.py --url http://10.0.2.10/wordpress/ --verbose
----------------------------------------
_ _ _ ___ ___ ___| |_ _ _
| | | | . |_ -| -_| '_| | |
|_____| _|___|___|_,_|___|
|_| v0.4.0
WPSeku - WordPress Security Scanner
by Momo Outaadi (m4ll0k)
----------------------------------------
[ + ] Target: http://10.0.2.10/wordpress/
[ + ] Starting: 16:43:02
[ + ] Server: Apache/2.4.29 (Ubuntu)
[ i ] Checking Full Path Disclosure...
[ i ] Checking wp-config backup file...
[ + ] wp-config.php available at: http://10.0.2.10/wordpress/wp-config.php
[ i ] Checking common files...
[ + ] readme.html file was found at: http://10.0.2.10/wordpress/readme.html
[ i ] Checking directory listing...
[ ! ] Failed to establish a new connection
感想
Webサーバの情報とWordPressのコモンファイルの情報を取得できました。プラグイン等のについては取得できませんでした。
セキュリティ的良くない設定になってないかの確認としては手軽で効果的だと思いました。
参考
WPSeku で WordPress の脆弱性をスキャンする - yuu26’s memo
Wordpress Security Scanner Wordpressの脆弱性をスキャン!?WPSekuを使ってみた! – ADACHIN SERVER LABO