AWS is extremely popular among businesses today. It is innovative, scalable, reliable, and affordable. It offers everything you need in a cloud computing platform. We know AWS security is a shared responsibility between AWS and its customers. However, one thing that baffles AWS customers is what to do to enhance security. I’ve got three words for you: AWS Penetration Testing.
What is AWS Penetration Testing?
AWS penetration testing is very different from the traditional pentesting method. In this scenario, the end-user does not actually own the environment they work with. Therefore, the test can only be done according to the AWS penetration testing guidelines issued by AWS. Nevertheless, a penetration test helps identify vulnerabilities in an AWS instance and exploit it.
There are two different types of AWS penetration testing:
- Security of the cloud: This part is the responsibility of AWS. They deal with the security of the server.
- Security in the cloud: This is the user’s responsibility. It involves ensuring the security of AWS assets and web applications or software that the user deploys.
Why Conduct AWS Penetration Testing?
AWS Penetration tests are vital for enhancing security. They help uncover any weaknesses on the AWS instance. Some of the common weaknesses you can find are insecure APIs and plugins, weak credentials, buggy code, outdated software, etc. Apart from that, conducting pentests help increase compliance with regulations like PCI-DSS, GDPR, ISO-27017, etc.
How to Conduct AWS Penetration Testing?
Before we look into the how-to of penetration testing, let’s see what we can and can’t do according to AWS policies.
Do’s of AWS pentests:
This includes certain parts of EC2. EC2 stands for Elastic compute cloud which is a virtual server. You can conduct your pentest on APIs, codes, web applications that you’ve deployed, virtual machines, and operating systems.
Don’ts of AWS pentests:
Since you don’t actually own the server/environment you use, there are certain things you cannot include in your pentest. This includes attacks like DoS or DDoS and request flooding. You also cannot perform DNS zone walking. Apart from that any physical hardware or infrastructure that belongs to the cloud service provider is off-limits. Regional Database Service (RDS) and EC2 owned by other businesses also cannot be part of your pentest.
Now let’s look at how to conduct the pentest:
1. Review AWS policies
As mentioned above, there are certain things you cannot do while conducting an AWS penetration test. These things would go against AWS security policies. Therefore, you must review the policies before planning attacks against the AWS platform. The guidelines mention 8 permitted services against which you can plan attacks without notifying AWS.
If you notice a security error or weakness in any other service, you have to report it to AWS instead of dealing with it yourself. If you fail to comply with the policies issued by AWS, they can impose a penalty. Apart from that, they can lock your account until further notice.
2. Gather Information and Create a Plan
- List out of all the endpoints you are going to test, such as UI or User Interface, APIs, and subnetworks.
- Some of these endpoints might not qualify to be tested as they might go against AWS policy
- Determine how effectively the application server and virtual machines can handle the tests and attacks you are about to run.
- Choose whether to conduct the pentest from an application or a database.
- Enquire about the rules you have to obey while conducting the pentest.
- Determine which tools you will use and which attack you will perform against each endpoint.
3. Execute the plan
After creating a plan. you need to execute it. This step involves attacking the AWS platform and exploiting all its weaknesses. So, to make your job a lot easier, you can use some manual or automated tools. Listed below are some of the finest tools you can use for this:
- Cloudsploit: It is a CSP-specific tool that detects vulnerabilities on a continuous basis.
- OpenVAS: It is a very popular pentesting tool that many businesses prefer using.
- AWS Inspector: It is a tool designed for AWS that can detect unintentional network accessibility of your AWS assets.
4. Analysis and Remediation
Now, you can analyze all the information obtained and classify the vulnerabilities as low risk, medium risk, and high risk. This will help you decide how to allocate the resources and time for remediation.
During remediation, you essentially patch up all the loopholes found in the AWS platform. You can also introduce new security measures to prevent certain attacks from taking place. Finally, it is advised that you retest after making changes to the AWS platform.
AWS is an extremely popular cloud service provider. It is the ideal CSP that has many useful functionalities. However, AWS is a popular target of hackers. Therefore, you have to implement some preventative measures to secure your company. An AWS penetration test will help you do just that.