User enumeration is a technique used by attackers to discover valid usernames associated with a CMS or website. By exploiting certain features, bad actors can compile a list of usernames, which can then be used to launch brute force attacks. These attacks systematically try various password combinations to gain unauthorized access to user accounts on your WordPress site. The consequences can be severe, including unauthorized modifications to website content, data breaches, and even complete site takeovers.
Of course, strong passwords are essential to mitigating risk. They’re your first line of defense against brute force attacks. A strong password makes it significantly harder for attackers to get in, protecting your website from potential security breaches. But in many cases, strong passwords alone aren’t enough. You need a comprehensive security strategy to tackle user enumeration head-on and keep your site safe.
In this post, we’re diving deep into WordPress user enumeration. We’ll break down what it is, why it’s a problem, and most importantly — how to prevent a compromise. By getting a handle on these risks and taking proactive steps, you can beef up your WordPress security and keep your valuable data safe from those pesky threats. Let’s get started!
Contents:
- What is WordPress user enumeration?
- Common user enumeration methods
- Impacts of user enumeration
- Mitigating user enumeration in WordPress
What is WordPress user enumeration?
User enumeration is a technique used by attackers to discover valid usernames associated with a WordPress site. By exploiting certain features, malicious actors can compile a list of usernames.
This information serves as a foundation for launching brute force attacks, where attackers systematically try various password combinations to gain unauthorized access to user accounts.
Common user enumeration methods
There are a few methods attackers used to enumerate users in WordPress:
Author archives
WordPress automatically generates author archives for each user, displaying their posts and other information. Attackers can access these archives to collect usernames, essentially allowing anybody to coax WordPress into spitting out the admin users on a website.
This is primarily due to the existence of permalinks. The way it works is actually quite simple. WordPress allows you to navigate to the posts of a particular author like so:
https://example.com/author/name
However, WordPress also allows us to do the same thing by specifying their user identification number instead. To access this, all you have to do is navigate to the number ID associated with a particular user (ie. target Administrator).
For example:
https://example.com/?author=1
Navigating to this URL will display a page of all posts published by the user in question. But, it also tells you the username used to log into the WordPress environment.
Tools like WPScan make this process even easier. Here is an example output of the following command:
wpscan --url example.com --enumerate u
As we can see below, this coaxes the primary admin user out of the website.

At this point, an attacker would have all the necessary information required to launch a brute force attack.
Login error messages
When attempting to log in, WordPress might provide different error messages for invalid usernames and incorrect passwords. Attackers can observe these messages to determine which usernames are valid.

For example, standard error messages like “Incorrect password” or “Invalid username” can unintentionally aid hackers by confirming the existence of a target user.
Impacts and consequences of user enumeration
The consequences of WordPress user enumeration can be severe, posing significant risks to the security and integrity of your website.
1. Increased risk of brute force attacks
Once attackers have a list of valid usernames, they can launch brute force attacks. This method involves systematically trying different password combinations until they find the correct one.
With valid usernames, attackers can focus their efforts on password guessing, significantly increasing their chances of success. If successful, these attacks can lead to unauthorized access, allowing attackers to:
- Take over user accounts
- Modify or delete website content
- Steal sensitive data
- Disrupt website functionality
2. Exposure of user information
User enumeration can expose sensitive information about registered users, such as usernames. This information can be used for various malicious purposes, including phishing attacks; attackers can send targeted phishing emails to users, tricking them into revealing further personal information or login credentials.
3. Website compromise
Successful user enumeration compromises the overall security of a WordPress website. It serves as a gateway for more severe attacks and vulnerabilities. Attackers who gain access to user accounts can:
- Install malicious software (malware) on the site
- Deface the website with inappropriate or harmful content
- Use the site as a platform to launch further attacks against other sites or users
4. Damage to reputation
A security breach resulting from user enumeration can significantly damage the reputation of the website owner or organization.
Consequences may include:
- Loss of trust: Visitors, customers, and clients may lose trust in your ability to protect their information.
- Business impact: A loss of trust can lead to a decrease in traffic, engagement, and sales, adversely affecting business operations.
- Negative publicity: News of a security breach can attract negative publicity, further harming your brand’s reputation.
5. Legal and compliance issues
Depending on the nature of the compromised data, user enumeration can lead to serious legal and regulatory issues, including:
- Data Protection Violations: Compromising personal data may violate data protection laws such as GDPR (General Data Protection Regulation) or CCPA (California Consumer Privacy Act).
- Breach notification requirements: Many jurisdictions require that affected users be notified of data breaches, which can be a costly and time-consuming process.
- Legal penalties: Non-compliance with data protection regulations can result in substantial fines and legal penalties.
- Litigation: Victims of data breaches may file lawsuits, seeking damages for the compromise of their personal information.
The impacts of WordPress user enumeration also extend beyond immediate security concerns — they can also result in long-term malware infections that ultimately harm you and your website visitors.
Mitigating user enumeration in WordPress
Like most security recommendations, a proactive stance combining multiple different approaches can significantly reduce the risk of your usernames becoming a treasure trove for hackers.
Here are some effective strategies to mitigate risk from WordPress user enumeration, block bad bots, and prevent attacks.
1. Install a Web Application Firewall (WAF)
A Web Application Firewall (WAF) is a useful tool that can help mitigate a wide range of threats. Firewalls monitor and filter incoming traffic to your website, blocking malicious requests before they can harm your environment.
Here are some of the ways a WAF can help mitigate user enumeration:
Bot protection
WAFs can detect and block automated bots that attempt user enumeration. These bots can operate quickly and at a large scale, making it essential to have a firewall that can identify and block them.
Protected pages
WAFs like the Sucuri firewall make it easy to protect sensitive login and admin pages, blocking brute force and preventing unauthorized access to your website.
Custom rules
Many WAFs allow you to create custom rules tailored to your website’s specific needs. This enables you to block specific types of traffic or behaviors, enhancing your site’s protection.
Traffic filtering
WAFs filter incoming traffic, blocking requests that match known attack patterns or originate from suspicious IP addresses. This can help prevent attackers from reaching your site’s vulnerable endpoints.
Real-time monitoring
WAFs provide real-time monitoring and alerts, allowing you to respond promptly to potential threats and indicators of compromise. Continuous monitoring ensures that new threats are identified and mitigated quickly.
How to set up the Sucuri firewall:
- Sign up and create an account for the Sucuri website firewall.
- Login to the dashboard and locate the Add Site button at the top right of the page.
- Enter your website’s URL and click Add Site to add your domain to the firewall.

- Log in to your host or registrar and change your DNS records.
That’s it – your website has now been added to the firewall. It can take up to 48 hours for DNS propagation. If you need help, create a support ticket or reach out to our team for assistance.
2. Implement Two-Factor Authentication (2FA)
As a best practice, you should require users to authenticate using two-factor authentication, which adds an extra layer of security beyond passwords. This can help mitigate the risk of brute force attacks even if valid usernames are discovered.
The Sucuri firewall makes it easy to add multi-factor authentication to sensitive login and administrative pages on your website with the Protected Pages feature.

This option allows you to restrict access to certain pages on your site and it can also be used as a secondary authentication on your admin panels.
Some other options for WordPress 2FA include using a Google Authenticator plugin to enable 2FA for your environment.
3. Limit login attempts
Another security measure that can help mitigate user enumeration is to implement restrictions on the number of login attempts allowed within a certain timeframe. This helps thwart brute force attacks by locking out IP addresses or user accounts that exceed the specified login attempt threshold.
Sucuri firewall users are automatically protected, as IP addresses that generate too many 404 errors within a short period of time are banned to prevent brute force attacks.
Another option to help mitigate login attempts for WordPress includes Limit Login Attempts Reloaded, a popular plugin for limiting login attempts found on the official WordPress repository.

4. Secure your APIs
APIs (Application Programming Interfaces), such as XML-RPC and REST API, can be vulnerable points for user enumeration and other attacks if not properly secured.
Authenticate REST API access
Require authentication for any REST API requests to restrict access to authorized users only. This makes it significantly more challenging for attackers to gain valuable information through the API.
Disable unused APIs
If your website does not rely on certain APIs, disable them to eliminate potential attack vectors.
Disable REST API
For example, keeping the REST API enabled for all users is not particularly useful, in fact – it’s much better to block it for unwanted users.
Here is a simple solution to disable the REST API for all users except admins in WordPress. This can be pasted inside your functions.php file.
/** Disable REST API **/ // Filters for WP-API version 1.x add_filter('json_enabled', '__return_false'); add_filter('json_jsonp_enabled', '__return_false'); // Filters for WP-API version 2.x // add_filter('rest_enabled', '__return_false'); add_filter('rest_jsonp_enabled', '__return_false');
Disable XML-RPC
You can also disable the XML-RPC API if it is not needed. If you use Apache, you can disable XML-RPC by editing your .htaccess file to include the following code:
<Files xmlrpc.php> Order Allow,Deny Deny from all </Files>
Ensure you create a backup of the original .htaccess file before making any changes.
If you use NGINX you will not have a working .htaccess file and will need to try another method to disable XML-RPC. In this case, you can create a custom filter by writing your own site-specific plugin (or adding it to an existing one). In the plugin, include the following line of code:
add_filter( 'xmlrpc_enabled', '__return_false' );It’s also possible to add this code to your theme’s functions.php file instead, but it’s a better idea to create a plugin because any modifications made to the functions.php file may be lost when updating or changing your theme.
5. Change default login URL
Changing the default WordPress login URL makes it more difficult for attackers to locate your login page, thus reducing the risk of brute force attacks.
You can use a WordPress plugin like WPS Hide Login to change the login URL to something unique and hard to guess.
To modify your WordPress login URL with WPS Hide Login:
- Navigate to Plugins > Add New.
- Download the WPS Hide Login plugin from the official WordPress repository, then install and activate it.
- Navigate to the WPS Hide Login settings page.
- Update your login path and click Save Changes.
To log in to your site in the future, you’ll need to use your new URL — so be sure to save it for future reference!
6. Implement security headers
Security headers are HTTP response headers that help protect your site from various attacks by setting policies that browsers must follow.
Content Security Policy (CSP)
Helps prevent cross-site scripting (XSS) attacks by specifying which sources of content are allowed to be loaded. You can check out our extensive guide on how to set up a CSP on your website for step-by-step instructions.
X-Frame-Options
The X-Frame-Options HTTP header helps prevent your website from being used in invisible iframes and protects your site against clickjacking attacks.
There are two possible directives you can use:
X-Frame-Options: DENY X-Frame-Options: SAMEORIGIN
The DENY option is the most secure. If you want to be able to use any of your current pages in a frame, you can restrict the use of frames to your domain with the SAMEORIGIN option.
It’s worth noting that while major browsers support the X-Frame-Options header, some browsers don’t. So be sure to use it alongside a Content Security Policy.
X-Content-Type-Options
Prevents browsers from interpreting files as a different MIME type, reducing the risk of certain types of attacks.
7. Disable or modify author archives
The default URL structure for author archives can be exploited to discover usernames. To mitigate risk, you can redirect author archive pages to a 404 error, about or homepage.
As an example, here’s how you can disable author archives on your WordPress website. Edit your functions.php file and paste the following code.
// Remove the author archives from your site add_action('template_redirect', 'disable_author_archives'); function disable_author_archives() { if (is_author()) { global $wp_query; $wp_query->set_404(); status_header(404); // Optionally redirect to homepage // wp_redirect(home_url()); exit; }
If you want to keep author archives but change their structure or the information displayed, edit the relevant theme files (author.php, archive.php, or index.php).
8. Use rate limiting on your APIs
Rate limiting controls how many requests a user can make to your API in a given period, which can help prevent abuse and automated attacks.
For example, you can use the limit_req_zone directive in NGINX to limit the amount of HTTP requests a single user can make in a given period of time to help prevent brute force password guessing attacks. A request can be as simple as a GET request for the homepage of a website or a POST request on a log‑in form.
Rate limiting is configured with two main directives, limit_req_zone and limit_req as seen below in the following example:
limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s; server { ... location / { limit_req zone=one burst=5; ... } }
9. Regularly update your WordPress Site
Outdated software can introduce security holes that facilitate user enumeration and other attacks. Regular updates patch these vulnerabilities and improve your site’s overall security posture.
You can use WordPress’ automatic updates feature to ensure your core, themes, and plugins are always up to date.
Automatic updates were introduced in WordPress 3.7 to promote better security and streamline the update experience. By default, automatic updates of WordPress and translation files are enabled on most sites. In special cases, plugins and themes may also be automatically updated.
To enable automatic updates in WordPress:
To begin, add the following line of code to your site’s wp-config.php file:
define( 'WP_AUTO_UPDATE_CORE', true ); add_filter( 'allow_dev_auto_core_updates', '__return_false' );
The addition of the add_filter disables nightly builds and development updates, which may contain bugs and are still under development.
10. Enforce strong password policies
Enforcing strong password policies reduces the likelihood of successful brute force attacks even if usernames are discovered.
- Password length: Set a minimum length of 12 characters.
- Complexity requirements: Require at least one uppercase letter, one lowercase letter, one number, and one special character.
11. Monitor your website
Logs are exceptionally valuable when it comes to website monitoring. Maintaining up-to-date logs is vital for accountability and the security of your website.
Website logs can help you:
- Monitor for important changes to your website
- Alert you of any indicators of compromise
- Reveal intrusion points and vulnerabilities
- Provide insights into whether or not something has gone wrong.
Enabling activity logs on your website will give you a quick and easy glimpse into actions that are taken on your site, and helps you associate these actions with specific users.
For example, if you have the Sucuri WordPress plugin installed, you’ll see clear insights into important changes made on your WordPress website.

You’ll also find information about core file modifications.

And failed login attempts for specific users.

As you can see from these screenshots, analyzing and tracking behavior across a WordPress site is pretty simple from the Sucuri plugin interface when compared to the data found in a server log. You just click on the relevant tab to track behavior for specific user groups.
The Sucuri platform also includes website monitoring that helps to scan your website for malware, hacks, and blocklisting status. You’ll receive continuous website monitoring with alerts and daily updates tailored to your website. Chat with our team to learn more.
Protecting your WordPress website from user enumeration
User enumeration is one of those sneaky techniques attackers love to use to gather valid usernames from your WordPress site. Once they’ve got that list, they can launch brute force attacks to try and crack passwords, which can lead to some pretty serious consequences — think data breaches, unauthorized changes to your site, or even full takeovers.
We’ve talked about why strong passwords are essential, but they’re just the starting point. You need a multi-layered security strategy to really keep bad actors at bay. From installing a website firewall to disabling author archives, customizing login error messages, implementing two-factor authentication, and more, there are many steps you can take to protect your site.
A WAF, in particular, is a powerful tool in your security arsenal. It helps block bad bots and mitigate attacks before they reach your site, offering real-time monitoring and customizable rules to fit your specific needs. By using a WAF like the Sucuri firewall, you can significantly enhance your site’s security.
But don’t stop there. Regularly update your WordPress core, themes, and plugins to patch vulnerabilities. Secure your APIs, change default login URLs, and enforce strong password policies. Monitoring your website activity will help you catch any suspicious behavior early on.
In short, protecting your WordPress site from user enumeration requires a proactive and comprehensive approach. By taking the steps we’ve outlined, you can seriously beef up your site’s defenses and keep your valuable data safe from threats.








![Malware comes in many different varieties. Analyst Krasimir Konov is on this month’s Sucuri Sit-Down to help keep them all straight. From malicious iframes to SEO spam, join host Justin Channell as he racks Krasimir’s brain on all the different types of malware. Also, Krasimir discusses his recent blog post about a malicious cURL downloader, and Justin breaks down the latest website security news, including patched plugins you should update. Podcast Transcript Justin Channell: Hello, and welcome to the Sucuri Sit Down. I'm your host, Justin Channell, and this is a monthly podcast about website security, where we get in-depth with the malware removal experts here at Sucuri. Later in the show, I'll have our analyst Krasimir Konov to chat about some different types of malware, but first, let's take a look at other topics we've published on our blog and Sucuri labs notes this month. First up, we have some new information about credit card skimming with hackers using a hybrid method to steal payment information from eCommerce websites. Our analyst Dennis Sinegubko wrote about this for the Sucuri blog back at the beginning of June. Now, most credit card stealing malware is a client side JavaScript that grabs data and sends it to a third party server. But, that approach has a drawback for bad actors because it's still possible to track the requests and catch them as being suspicious. Now, to get around that, bad actors have started harvesting information server side by modifying core PHP files. In this case, the infection would be undetectable from the outside, but it's still going to be pretty easy to find because you're rarely modifying any of those core files, so any of those changes that are going to come up are going to be suspicious. To get around both of these drawbacks, we're seeing bad actors combine the two. So client side snippets of JavaScript are sending stolen credit card data to server side scripts that they've installed on the same server as the site. Now, this allows bad actors to cover their tracks a little bit because the traffic that's being redirected is going to the same server, and that's less likely to be flagged as suspicious. It's a bit more complicated to pull this off, but our team has been seeing this hybrid approach in the wild, so it's something to be on the lookout for. Now, another month has passed, and we found more cross site scripting attacks targeting WordPress plugins. Most notably, we discovered one that affects users of the YITH WooCommerce Ajax Product Filter plugin. Now, this is a plugin that allows WooCommerce stores to be filtered by product type, and it's pretty popular. It's got about 100,000 users right now, so with it being vulnerable, it's very important that all of them update to the latest version, which is 3.11.1. Some of the other plugins we found cross site scripting vulnerabilities with included Elementor Page Builder, Careerfy, JobSearch, and Newspaper. If you're looking for a full list of vulnerabilities that have been patched this month, John Castro at the Sucuri Labs blog has you covered. Check out our show notes for the link. Also, this month I had a blog go up detailing what's called a jibberish hack. It's basically the same motivation as an SEO spam attack where bad actors use your site's good standing to redirect visitors to their own sites. But in this attack, you'll find a bunch of randomly named folders filled with a ton of HTML files with really nonsensical file names like cheap-cool-hairstyles-photos.html. It's just going to be a mishmash of keywords that clearly you didn't put there. Unfortunately, just deleting all those HTML files and folders is not going to be enough to get rid of that jibberish hack though. You're going to need to fully clean any hacked files and database tables, and then you're going to have to deal with all the damage caused to your site's standing. And just keep in mind, if you find anything about that process too daunting, we're always here to help. Now, for this month's Sit Down, we have Sucuri analyst Krasimir Konov. Earlier in June, he had written a lab's note about a malicious downloader script that used the curl function, and we chatted a bit about it, but more importantly, we went really in-depth on all the different varieties of malware that website owners need to be aware of. But, before I get started with Krasimir, I just wanted to remind you about the Sucuri Sync-Up, our sister podcast. It's a weekly website security news briefing that you can find anywhere you get your podcasts, as well as the video version on our social media feed, and now you can even get it on your Amazon Alexa smart speakers. Just search Amazon skills for Sucuri Sync-Up, add the flash briefing, and get new content delivered every Monday. Now, on with the show. Hi Krasimir, thanks for joining us on the show. I thought we could start off and maybe have you tell us a little bit about yourself and what you do here at Sucuri? Krasimir Konov: Yeah, sure. Well, I joined Sucuri originally in 2014, but I've been in the IT business for about 10 years. Nine of those I did security. And currently at Sucuri I'm one of the malware analysts. I used to work in the front lines, used to clean websites and whatnot, and then I gradually moved up, and now I'm working in the malware research department. And my day to day job is basically analyzing malware, and then once I analyze it and figure out what it is, then I will create a signature for it. And we'll add those signatures to our tools, so we can automate some of the work we do. And I also write some Labs Notes blog posts. Usually, if I find something interesting in malware or some security topic, I'll write about it. Justin Channell: Yeah. And of those topics recently that you wrote about, one was about a malicious curl downloader, and how exactly did that work? Krasimir Konov: Right, yeah. That was an interesting one, but not very unique or anything like that. We see that a lot with curl being used as a downloader. It's a very common malware. So rather than including the actual malware in the file, the attackers would use curl to download the malicious code. In this case, they'll download it from Pastebin, but it could be anything. It could be another website or anything like that, and curl would just make a call to the website, request the code. The website will respond with the code, and then later on, there is some code to either save the output somewhere on the website, or you'll just run it through eval and execute the actual code right away. Justin Channell: Right. And you said that it's commonly found in malware, but let's kind of maybe talk a bit broader about malware in general. What is everything that is classified as malware? Krasimir Konov: Well, in general it will be anything that the owner of the website didn't authorize, anything that was added by a third party. There is a lot of different malware. It could be even something like a defacement that will also be considered malware because it was something the user did not authorize. Even though it might not be doing anything malicious on the website, it's not infecting users, the visit is still something they did not authorize. So defacement would also be considered malware. And even something like ransomware where the website is technically not really damaged, it's all encrypted, but it's not infecting anybody. It's not doing anything malicious, but it's still encrypting the entire website and asking the user or the customer, the owner of the website for a ransom they need to pay in order to get the website back online. Justin Channell: Okay. Let's maybe break it down to each individual type of malware. For example, what would be a way that maybe I-frames could be maliciously used by a hacker? Krasimir Konov: Yeah. An I-frame can be used maliciously when it loads content from another location. You can look at the I-frame as a window that just opens another website. So anything that website has on it, you're pretty much loading it through the I-frame. So if that website is infected and it's serving some kind of malware, by opening an I-frame, you're loading all those elements, everything that was on this website. And sometimes the I-frame can be as small as pixel or something hidden somewhere off the screen, so you wouldn't even know that it was opening it. Justin Channell: And yeah, I feel like we've also seen a lot of them where they're used almost to mimic popups as well. Krasimir Konov: Yeah. I mean the I-frame, it could just load from another website and the other website could do anything. It could be serving just malware and it would try to infect the user that doesn't even know that they're being connected to the other website. It could just have some other JavaScript that's just trying to open up pop ups on the original website through the I-frame. Yeah, it could be a lot of things. Justin Channell: Okay. And also, let's talk a little bit about conditional redirects and how those work. What allows a script to detect which devices are coming in and where they're coming from? Krasimir Konov: Right. Yeah. That's a common one we see a lot. Basically, a conditional redirect would be something, it's a redirect on the website. It's obviously malicious, but there's certain conditions that need to be met before the redirect is actually executed or the redirect happens. For example, let's say if it's on a phishing website or a phishing page that is hidden somewhere on the website. For example, if Google visits it, obviously the attacker doesn't want Google to see the actual phishing page and record it as a phishing page. So they'll look for, for example, the IP address. They would look for the user agent. And a lot of times they can tell that it's a bot. So they'll just return a 404 response, for example, that will be like, "Oh, page not found." So Google would be like, "Oh, it looks like this page doesn't exist." But then if a regular user goes to the same page, then those conditions will be met. The actual website or the script behind the phishing will check and see, and be like, "Oh, this one is running Firefox or Chrome," and be like, okay. And then they'll look at the IP and be like, "Oh, he's in whatever, he's in United States somewhere." And he's like, "Oh, okay. That's good." And then once all of these conditions are met, then the actual script will serve them the actual phishing page. And it'll be like, "Oh, you need to fill out this to recover your account or whatever, or type in your credentials to log in here." Justin Channell: And so this is the type of thing we're really, a website owner is going to run into this more commonly when people are complaining about they're getting served bad content or whatever, and they can't seem to replicate it. It's likely probably these kind of redirects. Is that right? Krasimir Konov: Right, right. It could be something as specific as, for example, a range of IP addresses that correspond to an ISP or maybe let's say a country. It could be like, "Oh, were targeting only customers in the US," so if you're connecting from another country and you go to the same website or the same page, it would just say 404. It will give you a page not found. But then if you actually have an IP address from the United States, you're connecting from the United States, then it will actually show you the phishing page. Justin Channell: Now another type of malware I feel like we see a lot here is SEO spam. We hear people talking about that. What are some of the top SEO spam keywords that you see coming through? Krasimir Konov: Yeah. We get that a lot. We see a lot of spam on websites. A lot of times attackers will use SEO spam to gain ranking for their own website. Or they'll just try to include some kind of SEO spam in links to another website that they're currently running or something. I mean, these things change all the time. So a website might be up for a week and then it'll disappear, and then they'll start another campaign. But yeah, we see that a lot. We see all kinds of keywords they use. Most common ones will be something like Viagra. We'll have like jerseys for sale. A lot of times, they'll use name brands like Nike, Rolex, Prada. We've seen even some essay writing services for some reason. I'm not sure why, but that's common. We see, for example, pharmaceuticals a lot that will use specific medicine names. They'll use all kinds of replicas, like a replica bag of this, replica this, replica that. We'd see prescription, also payday loans. And obviously there's some adult related sites and things like that keywords. Justin Channell: So pretty much anything that people are going to be searching and clicking on are probably going to be targets for SEO spam? Krasimir Konov: Right. I think a lot of it commonly is pharma related because a lot of people are looking to buy medicine online, and a lot of times will require a prescription. So a lot of people are like, "Oh, let me see if I can find this medicine that I can buy it online somewhere." They don't need a prescription. They don't want to pay to visit a doctor and whatnot, and they'll look for it. And yeah. Justin Channell: Now, whenever somebody's website does get hacked with a SEO spam attack, what kind of effect can it have on the website beyond just being defaced? Krasimir Konov: Yeah. You can have a lot of things can happen, negative things. For example, the website can be blacklisted because of the keywords. And that usually represents a big red warning when you go on the website, depending on who blacklisted it. But if it's Google, for example, you'll see a big warning and it'll tell you this website contains malware or there's something wrong with this website. So, pretty much all the traffic on the website will be gone. And then you can also lose a lot of your reputation if there is a SEO spam on the website. For example, if you were ranked in say number five for certain keywords that represent your product on Google search engines, and then suddenly you get hit with SEO spam, then all these search engines then go and visit the website. And all of a sudden they're like, "Oh, there's all these weird key words on here, all this SEO spam that's causing a lot of mixed signals." And the search engines are like, "Oh, where do we rank this website now? Do we rank them with this product that's originally what the website is about? Or do we take into consideration all these other keywords that are mixed up that are SEO spam?" So, all of a sudden your website might go from being ranked number five on the first page to being on the 10th page. And then you rank for all these other keywords that you didn't intend to. And then people search for something completely different. They're searching for jerseys or something, or now they're searching for Prada products, and then suddenly your website pops up in there. So you're not really getting any good traffic, not targeted traffic. But, yeah. Justin Channell: Okay. So in a lot of ways, the effects of SEO spam would kind of be the same for defacements or any kind of malware with the blacklisting, but it does bring that kind of unique part to it where then it can also then bring traffic that you weren't expecting from somebody searching for jerseys, for example. I had not really ever thought about that. Krasimir Konov: Right, right. Yeah. It will definitely bring some traffic. I've seen a lot of times where websites will be connected. Let's say, there was 1,000 websites that were all infected with SEO spam, and it will kind of link each other to try to bring each other up into the rankings. And so you would see a lot of strange traffic from some random websites that were, for example, that were previously infected, even if they might not be anymore. But yeah, they'll be sending traffic to you or there'll be usually search engines sending you traffic, but for the wrong keywords. People are looking for something else, so obviously they're not going to be interested in your website. They're not going to buy anything because they're not looking for that. Justin Channell: And now, so thinking of the way websites get infected, a very common way it seems to be is through phishing campaigns. What are some recommendations you have for the best ways to avoid becoming a phishing victim? Krasimir Konov: Yeah. There is some ways. I mean, it depends really on the type of attack. Obviously, a lot of people, when they think of phishing, they think, "Oh, it's just like a PayPal phishing page and it just looks like the original," but it could be more subtle. If it's just a regular page where you're just going and you get redirected to another website, obviously the first thing to look is if you have the security padlocks, make sure that traffic is encrypted. A lot of these websites don't really have any encryption nowadays. More are starting to get that with pre SSLs being issued and whatnot. But that's the first thing to look and see, make sure. Anywhere you're typing your sensitive information, you want to make sure you have the padlock to make sure everything is encrypted. Krasimir Konov: But also you want to look at the URL of the actual website you're visiting. A lot of times they'll try to hide it. So you might have to be careful and look closely. Something that might be an I will be an L or something like that. And a capital I and L might look kind of similar into your IRL, so you might miss something like that. Say, if you're looking for PayPal and it might replace the L with an I, and if you don't look closely, it might look exactly the same. And you're like, "Oh, okay, it's paypal.com," but not really. So yeah. Just pay attention to the URL, make sure it is the actual website. There's no paypal.com dot something, dot something else, dot com. Yeah. You want it to just say paypal.com, and then it'll have forward slash and something else. But yeah, it gets more complicated when you have, for example, a phishing page that's injected into a regular page. For example, you have a checkout page on a website that you're buying things from and you go through the checkout page and you're looking at where you type in your credit card information and whatnot. And you might have a phishing page that actually looks exactly like a little box that gives you where you put in your credit card number, or your name, your address, and all that. So that will be more subtle. For example, that could be also an I-frame that's just coming from another page. And it will look exactly like it's part of the website. You're on the legitimate website, but only that portion of the website is actually the phishing page. And you look at it and you're like, "Oh, okay. It looks fine. I'm just putting my credentials." So that one could be a lot harder to figure it out. Usually, if it's something like that, I look for something that looks kind of out of place. Maybe they didn't get the right font. It might not be the same as the original website or there might be something out of place, some fields that are missing or some fields that are squished into the left or the right. It looks kind of awkward. It's like, why would this be like this? The whole website looks professional. There's a pink background or something, for example, and then suddenly there's this white box in the middle. It's like, ah, it looks kind of weird, out of place. Justin Channell: So pretty much if anything looks slightly out of place, you really should double check everything at that point. Krasimir Konov: Right. Right. Yeah. Obviously there's more ways that you can check, but I wouldn't get into more technical, like inspecting elements and looking at stuff, but yeah. Justin Channell: And now another type of malware that's kind of, and it kind of plays in with whatever the other infection is, is backdoors. Can you give us some examples of what backdoors can be? It's mainly just when a hacker can get back into the site to reinfect it, but I know there are a ton of different methods. And what are some of the more common ones and then maybe some that really interesting that you've seen? Krasimir Konov: Yeah, there is a lot. They'll probably be one of the first things the hacker would do is if they compromise a website, obviously they'll try to spread backdoors and just inject code everywhere so they can get back in, even if the owner of the website or webmaster cleans it. They want to try and hide some malicious code somewhere so they can always get back in. There's many variations. A backdoor could be something as simple as a single line of code to just [inaudible 00:20:19] argument, some kind of string or something via get or post. Krasimir Konov: And then it runs into an eval, so it evaluates the code and executes it. And some backdoors are very complex and they can be included in, let's say you have a WordPress site and you have a specific login page where all the login credentials are being processed and everything else. They could even inject code into that to basically bypass the whole login mechanism so that they can just bypass everything. They don't even have to know any user. They don't have to know the password, nothing. They'll just include some lines in there, and every time they'll be just able to log in. Yeah. It gets pretty crazy. Yeah. I mean, there's all kinds of malware. There is always a malware, for example, that just targets credit cards and will just target the eCommerce websites. And they'll just try to steal the login credentials, I mean, the credit cards. They'll try to get your address, your credit card information, any kind of CVV code or whatever you typed into the billing address, everything. And then there's also malware like the backdoors that are just trying to keep the attacker in control and trying to get them back into the website. There's just so many variations of what a malicious user might want to do on a website. Some can be something as simple as just reinfecting the website. They don't want to keep control. They just want to keep reinfecting it with some kind of malware. So even if you clean it, it would just get reinfected. Some of them in the database, otherwise might be in the files. We've seen some added into a [inaudible 00:22:14] job that just keeps running on the server. There could be malware that is just a giant to, for example, attack out of websites. Like for example, a distributed denial service where they put the same malware on thousands of websites. And then they try to send traffic to one website to try to bring it down. Yeah. People try to do all kinds of stuff with websites. We've seen even some cryptocurrency mining malware that you go onto a website and suddenly your PC starts running like crazy. And you're like, what the hell is going on? Your fans turn on and the PC is 100% CPU. And it turns out that the website has some malware that's just by mining Bitcoins with your CPU and it's using all of it. Justin Channell: Wow. Okay. So one question now, the last question I have is of all the malware that you've seen, what do you think is the coolest piece of malware that you've ever seen? Krasimir Konov: I think the coolest would be the ones that are so subtle that you don't even know that it's there. For example, we've seen some that were pretty innovative. It will be just a one liner code that's just one line. And for example, it will be let's say 40-50 characters, something like that. And that's all it is. And they'll hide it somewhere in between the legitimate code. And if you don't know what you're looking for, you would never see it. It doesn't look suspicious. There is no links to some other website. There's no some kind of encrypted code or anything like that. It's just a simple one line. And then if you're just scrolling through the file looking for something, you would never see it. It just looks like all the other code. And then if you look closely, you're like, "Oh, there's this..." Look closely, and you're like, "Oh wow, this is not supposed to be there." And then you keep looking at it and you're like, "This looks really weird." And then you see that it's actually doing some malicious things and trying to evaluate some code or taking output from the outside, I mean, some input from outside, you can call it and give it code to run. Justin Channell: Well, Krasimir, thanks for coming on and talking to us for today. Krasimir Konov: Yeah. Thank you. Thank you. I'm so happy. I'm glad I was able to do this podcast and I can't wait to do another one. Justin Channell: Yeah, we'll have you on again. Thanks. Krasimir Konov: Thank you. Justin Channell: Thanks again to Krasimir for joining us here on the Sit Down. We'll be back with another episode next month. So be sure to subscribe on Apple podcasts, Spotify, Stitcher, or any podcasting platform. Also, be sure to follow us on social media at Sucuri Security and check us out at sucuri.net. That's S-U-C-U-R-I.net. I'm Justin Channell, And this has been the Sucuri Sit Down. Stay safe out there.](https://blog.sucuri.net/wp-content/uploads/2020/05/20-sucuri-podcast-blog-post_blog_image-390x183.jpg)


