====== wpscan.sh ======
^ Author | [[ http://www.nothingatall.net | Rich Jones]] |
^ Compatibility | Xymon 4.3 (likely will work on earlier versions also) |
^ Requirements | Bash, Ruby, WpScan |
^ Download | None |
^ Last Update | 2017-11-10 |
===== Description =====
A server side plugin that performs automated WpScan vulnerability tests against Wordpress websites.
===== Installation =====
=== Client side ===
Nothing to do on the client side, although you want to have some Wordpress sites to monitor.
=== Server side ===
Ensure you have WpScan installed [[https://wpscan.org/]]
Create a cronjob to auto-update the WpScan database
Place wpscan.sh in /usr/lib/xymon/server/ext (or wherever you have Xymon installed) and ensure it has the correct permissions.
Add the task to tasks.cfg
Add wpscan to the hosts you want to scan in your hosts.cfg
===== Source =====
==== crontab -e ====
0 10 */5 * * /usr/bin/ruby /usr/lib/wpscan/wpscan.rb --update >/dev/null 2>&1
==== tasks.cfg ====
[wpscan]
ENVFILE /usr/local/xymon/server/etc/xymonserver.cfg
CMD /usr/local/xymon/server/ext/wpscan.sh
LOGFILE $XYMONSERVERLOGS/wpscan.log
INTERVAL 7d
==== wpscan.sh ====
#!/bin/bash
HOSTTAG=wpscan
COLUMN=$HOSTTAG
REGEX='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
grep -C 0 'wpscan' /usr/local/xymon/server/etc/hosts.cfg | while read -r LINE ; do
if [[ $LINE =~ $REGEX ]]
then
URL=${BASH_REMATCH}
SPLIT=($(echo "$LINE" | tr ' ' '\n'))
IP=${SPLIT[0]}
MACHINE=${SPLIT[1]}
MACHINECOMMAS=${MACHINE//./,}
COLOR=green
MSG="$HOSTTAG status for host $MACHINE"
CMD="$(/usr/bin/ruby /usr/local/wpscan/wpscan.rb --url ${URL} -enumerate u --disable-tls-checks)"
if [[ $CMD == *"[!]"* ]]; then
COLOR=red
fi
MSG="$MSG $CMD"
$XYMON $XYMSRV "status $MACHINECOMMAS.$COLUMN $COLOR `date`
${MSG}"
fi
done
exit 0
===== Known Bugs and Issues =====
===== To Do =====
Parse the results and show the appropriate status colour
===== Credits =====
[[https://wpscan.org/|WpScan]]
===== Changelog =====
* **2017-11-10**
* Added in basic vulnerability detect that turns status red
* Change to the wpscan command to prevent SSL/TLS errors
* **2017-11-10**
* Initial release