Finding root accounts with empty passwords in MySQL servers

New system administrators often make the mistake of leaving the root account of a MySQL server with no password. This is a blatant security vulnerability that could be exploited by attackers. Penetration testers and system administrators need to detect these vulnerable installations before the bad guys do.

This recipe will show you how to use Nmap to check for empty root passwords on MySQL servers.

How to do it...

Open a terminal and enter the following command:

$ nmap -p3306 --script mysql-empty-password <target>

If the accounts root or anonymous have an empty password, it will be shown in the script results:

Nmap scan report for 127.0.0.1
Host is up (0.11s latency). 
3306/tcp open  mysql
| mysql-empty-password:  
|_  root account has empty password

How it works...

The argument -p3306 --script mysql-empty-password makes Nmap launch the NSE script mysql-empty-password if a MySQL server is found running on port 3306.

This script was submitted by Patrik Karlsson and it connects to a MySQL server and tries the accounts root and anonymous with an empty password.

There's more...

To try a custom list of usernames you need to modify the NSE script mysql-empty-password.nse located in your script's directory. Find the following line in the file:

local users = {"", "root"}

And replace it with your own username list, like this:

local users = {"plesk", "root","cpanel","test","db"}

Just save it and run it as shown previously:

$ nmap -sV --script mysql-empty-password <target>
$ nmap -p3306 --script mysql-empty-password <target>

See also

  • The Listing MySQL databases recipe
  • The Listing MySQL users recipe
  • The Listing MySQL variables recipe
  • The Brute forcing MySQL passwords recipe
  • The Detecting insecure configurations in MySQL servers recipe
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.220.124.177