| 1 | from autorecon.plugins import ServiceScan |
| 2 | |
| 3 | class WPScan(ServiceScan): |
| 4 | |
| 5 | def __init__(self): |
| 6 | super().__init__() |
| 7 | self.name = 'WPScan' |
| 8 | self.tags = ['default', 'safe', 'http'] |
| 9 | |
| 10 | def configure(self): |
| 11 | self.add_option('api-token', help='An API Token from wpvulndb.com to help search for more vulnerabilities.') |
| 12 | self.match_service_name('^http') |
| 13 | self.match_service_name('^nacn_http$', negative_match=True) |
| 14 | |
| 15 | def manual(self, service, plugin_was_run): |
| 16 | api_token = '' |
| 17 | if self.get_option('api-token'): |
| 18 | api_token = ' --api-token ' + self.get_option('api-token') |
| 19 | |
| 20 | service.add_manual_command('(wpscan) WordPress Security Scanner (useful if WordPress is found):', 'wpscan --url {http_scheme}://{addressv6}:{port}/ --no-update -e vp,vt,tt,cb,dbe,u,m --plugins-detection aggressive --plugins-version-detection aggressive -f cli-no-color' + api_token + ' 2>&1 | tee "{scandir}/{protocol}_{port}_{http_scheme}_wpscan.txt"') |
nothing calls this directly
no outgoing calls
no test coverage detected