Book Image

AWS Penetration Testing

By : Jonathan Helmus
Book Image

AWS Penetration Testing

By: Jonathan Helmus

Overview of this book

Cloud security has always been treated as the highest priority by AWS while designing a robust cloud infrastructure. AWS has now extended its support to allow users and security experts to perform penetration tests on its environment. This has not only revealed a number of loopholes and brought vulnerable points in their existing system to the fore, but has also opened up opportunities for organizations to build a secure cloud environment. This book teaches you how to perform penetration tests in a controlled AWS environment. You'll begin by performing security assessments of major AWS resources such as Amazon EC2 instances, Amazon S3, Amazon API Gateway, and AWS Lambda. Throughout the course of this book, you'll also learn about specific tests such as exploiting applications, testing permissions flaws, and discovering weak policies. Moving on, you'll discover how to establish private-cloud access through backdoor Lambda functions. As you advance, you'll explore the no-go areas where users can’t make changes due to vendor restrictions and find out how you can avoid being flagged to AWS in these cases. Finally, this book will take you through tips and tricks for securing your cloud environment in a professional way. By the end of this penetration testing book, you'll have become well-versed in a variety of ethical hacking techniques for securing your AWS environment against modern cyber threats.
Table of Contents (17 chapters)
1
Section 1: Setting Up AWS and Pentesting Environments
4
Section 2: Pentesting the Cloud – Exploiting AWS
12
Section 3: Lessons Learned – Report Writing, Staying within Scope, and Continued Learning

Manipulating API calls

Before we get started, we need to understand the basic HTTP methods that we can use to manipulate API calls. HTTP request methods are essentially an action that you would like to execute on the target API. Commonly known as HTTP verbs, these methods can allow us to put data and retrieve data or information from the target resources. The next section will briefly talk about those methods. 

The GET method requests resources from a specific address. Requests using GET should only retrieve data. The HEAD method asks for an acknowledgment equal to a GET request, only without the acknowledgment body. The DELETE method is used to delete a specified resource. The POST method is used to submit data to the target resource – typically, you see POST methods used to post data and cause issues. The PUT method is used to PUT data on the target server. 

Now that we understand what HTTP methods are and how they work, let's see them in action. ...