@omarkasem you probably already know.. but, it may help your troubleshooting –> if you add /wp-login.php?action=register
at the end of your site’s url, you will see it only asks for a Username and Email. Once I saw that for my site, I realized that was how an influx of random (and not real) users were registering. They were able to bypass all the other required fields I had set up in the plugin, because they were not actually registering through plugin.
With “anyone can register” checked; literally, anyone can register. So whomever, is most likely using a simple REST API client to register users on your WordPress site (not via the user registration plugin) via the actual WP login page. After searching for this issue I came upon a screenshot someone had posted (sorry, I wish I could find it again to share with you), which showed a REST API client (postman, or something like it) registering new users via making calls to a example.com/wp-login.php?action=register
(again, bypassing the plugin registration) and POSTing new users. After installing/activating/configuring the plugin I mentioned in my first reply, all user registrations (with only username and password) ended for my site. With reCaptcha enabled on the WordPress “core” registration page, the client cannot handle bypassing the reCaptcha. There is probably another way to add an extra step to the WP core registration process in the backend; in order to stop rogue registrations, but this was the quickest fix I could do.
A good resource for testing your WordPress site’s vulnerabilities/security-flaws is https://github.com/wpscanteam/wpscan –this can also give you an idea of how people (or bots) scan WordPress sites; in order to find a security flaw they can exploit. Same with Amazon S3 buckets, etc.