{"id":16912,"date":"2018-10-25T14:31:00","date_gmt":"2018-10-25T14:31:00","guid":{"rendered":"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047"},"modified":"2018-10-25T14:31:00","modified_gmt":"2018-10-25T14:31:00","slug":"securing-serverless-attacking-an-aws-account-via-a-lambda-function","status":"publish","type":"post","link":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/","title":{"rendered":"Securing Serverless: Attacking an AWS Account via a Lambda Function"},"content":{"rendered":"<header>\n<\/header>\n<p><span class=\"strong black\">It&#8217;s not every day that someone lets you freely wreak havoc on their account just to find out what happens when you do.<\/span> <\/p>\n<p class=\"\"><em>Part two of a two-part series. Click to read Caleb Sima\u2019s <a href=\"https:\/\/www.darkreading.com\/cloud\/securing-severless-defend-or-attack\/a\/d-id\/1333078\" target=\"_blank\"><strong>Securing Severless: Defend or Attack?<\/strong><\/a><\/em><\/p>\n<p>On August 3rd 2018, I got a cryptic LinkedIn message from Caleb Sima, with only the following text:<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=1\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p>I have to admit, at first, I didn&#8217;t quite understand what Caleb was trying to tell me, however a quick glimpse at the URL, which contained the words Lambda and Shell, seemed as if he was trying to show me that he deployed a Lambda function which allows users to execute shell commands. I&#8217;ve seen several such projects in the past, such as <span><a href=\"https:\/\/github.com\/alestic\/lambdash\" target=\"_blank\">Lambdash<\/a><\/span>, which is why I failed to be overly impressed or engaged. A few seconds later, I decided to take a peek at the Web page, and noticed the call for a challenge:<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=2\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/2-IsServerlessInsecure.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p>Seeing this, I first had to figure out Caleb&#8217;s motives, so I fired him another message, trying to get more understanding as to why he decided to build this:<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=3\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/3-Whyareyoudoingthis.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p>So\u2026 Caleb decided to let people attack his AWS account through a Lambda function that enables you to run shell commands. Sounds like a worthy challenge. After all, it&#8217;s not every day that someone lets you wreak havoc on their account and run attacks freely. Now I was excited!<\/p>\n<p><strong>Step 1: Gathering Reconnaissance<\/strong><br \/>I started by extracting the filename of the function\u2019s handler by running &#8216;ls -lF&#8217; on the current directory (\/var\/task):<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=4\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/4-LamdaShell.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p>With the filename at hand (index.js), I went on to retrieve the source code of the function by running &#8216;cat index.js&#8217; (output truncated):<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=5\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/5-LamdaShell.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p>At the time, the original source code was quite unimpressive to say the least. It was the classic &#8216;aws-lambda-function-that-executes-shell-commands&#8217; function, which as mentioned earlier, I\u2019ve seen plenty such projects in the past.<\/p>\n<p>&#8220;Ok then&#8230;&#8221; I thought to myself, &#8220;I can run shell commands, what&#8217;s next? How do we go from here, to inflicting some real damage for the account?&#8221;<\/p>\n<p>My next attempt to gather more information was to list all the environment variables, and see if Caleb left something in there that might be useful, and so I ran the \u2018env\u2019 command (output truncated)<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=6\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/6-lamdashellmorecode.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p><strong>Step 2: Impersonating the Lambda Function<\/strong><br \/>The next morning, I got to work, and decided to take another peak at the environment variables. Suddenly something dawned on me &#8211; when an AWS Lambda function executes, it uses the temporary security credentials received by assuming the <span><a href=\"https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/id_roles.html\" target=\"_blank\">IAM role<\/a><\/span> the developer granted to that function. When assuming a role, the assuming entity receives 3 parameters from <span><a href=\"https:\/\/docs.aws.amazon.com\/STS\/latest\/APIReference\/API_AssumeRole.html\" target=\"_blank\">AWS STS (security token service)<\/a><\/span>:<\/p>\n<ul>\n<li>AWS_SECRET_ACCESS_KEY<\/li>\n<li>AWS_ACCESS_KEY_ID<\/li>\n<li>AWS_SESSION_TOKEN<\/li>\n<\/ul>\n<p>These 3 <em>extremely sensitive\u00a0<\/em>tokens were just printed on my browser screen as a result of listing the environment variables &#8211; &#8220;how convenient&#8230;,&#8221; I thought to myself.<\/p>\n<p>For those of you who aren&#8217;t familiar with the AWS IAM security model, this is an extremely granular and powerful security permissions model. Here&#8217;s an excerpt from the AWS documentation on IAM roles:<\/p>\n<p><em>An IAM role is similar to a user, in that it is an AWS identity with permission policies that determine what the identity can and cannot do in AWS. However, instead of being uniquely associated with one person, a role is intended to be assumable by anyone who needs it. Also, a role does not have standard long-term credentials (password or access keys) associated with it. Instead, if a user assumes a role, temporary security credentials are created dynamically and provided to the user. You can use roles to delegate access to users, applications, or services that don&#8217;t normally have access to your AWS resources.<\/em><\/p>\n<p>Now, given that I have the tokens generated to the function by AWS STS, I am no longer forced to work with the somewhat annoying and limiting <span><a href=\"http:\/\/www.lambdashell.com\/\" target=\"_blank\">www.lambdashell.com<\/a><\/span>\u00a0Web interface. I can simply use the tokens to invoke AWS CLI commands from my local machine. In order to do that, I set these environment variables locally by calling:<\/p>\n<p>\/&gt; export AWS_SECRET_ACCESS_KEY = \u2026..<br \/>\/&gt; export AWS_ACCESS_KEY_ID = \u2026.<br \/>\/&gt; export AWS_SESSION_TOKEN = &#8230;.<\/p>\n<p>To test the tokens, I decided to invoke the AWS STS command line utility with the option to get the current caller identity:<\/p>\n<p>\/&gt; aws sts get-caller-identity<\/p>\n<p>It took a second, and then the CLI tool sent me back the following:<\/p>\n<p>{<\/p>\n<p>\u00a0 &#8220;UserId&#8221;: &#8220;AROA********GL4SXW:exec&#8221;,<br \/>\u00a0 &#8220;Account&#8221;: &#8220;1232*****446&#8221;,<br \/>\u00a0 &#8220;Arn&#8221;: &#8220;arn:aws:sts::1232*****446:assumed-role\/lambda_basic_execution\/exec&#8221;<\/p>\n<p>}<\/p>\n<p>Nice! I can now run the AWS CLI utilities locally, and essentially impersonate the IAM role that Caleb&#8217;s Lambda function is running with. However, my newly discovered satisfaction didn&#8217;t last long when I saw that the function is running with what seems to be the most basic and limiting IAM role &#8211; &#8216;lambda_basic_execution.&#8217; Darn.<\/p>\n<p>The reason for my sudden mood change was the fact that the role with which the function was running, was probably limited to the standard boilerplate AWS Lambda permissions. When you create a new function from scratch, you usually start with an IAM role that only enables the function to create new AWS CloudWatch log groups and streams, and to write log lines into those streams.<\/p>\n<p>When looking at the AWS Lambda Web console, it would look like this:<\/p>\n<div class=\"docimage\" align=\"center\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;image_number=7\" target=\"new\"><img decoding=\"async\" class=\"docimage\" src=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/7-AWSLamdaconsole.png\" alt=\"\" border=\"0\"\/><\/a><\/div>\n<p>My hopes were dashed. Caleb did not leave any application secrets stored insecurely as environment variables &#8211; a rather sad but common mistake that many developers do. (See the <span><a href=\"https:\/\/www.puresec.io\/blog\/serverless-top-10-released\" target=\"_blank\">Serverless Security Top 10<\/a><\/span> guide.)<\/p>\n<p>&#8220;What&#8217;s next?&#8221; I asked myself. I decided to go back to my actual day job, which was piling up, and leave Caleb\u2019s challenge for a while, until I either get a brilliant idea, or some more free time.<\/p>\n<p><em>(Column continues on next page.)<\/em><\/p>\n<p><span class=\"italic\">Ory Segal is a world-renowned expert in application security, with 20 years of experience in the field. Ory is the CTO and co-founder of PureSec, a start-up that enables organizations to secure serverless applications. Prior to PureSec, Ory was senior director of threat &#8230; <a href=\"https:\/\/www.darkreading.com\/author-bio.asp?author_id=4947\">View Full Bio<\/a><\/span> <\/p>\n<div>\n<div><span class=\"smaller blue\"><img decoding=\"async\" src=\"https:\/\/img.deusm.com\/informationweek\/slideshow-arrow-gray-left.png\" alt=\"Previous\"\/><\/span><\/p>\n<p><span class=\"smaller blue\">1 of 3<\/span><\/p>\n<p><span class=\"smaller blue\"><a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss%5Fx%5Fdrr%5Fedt%5Faud%5Fdr%5Fx%5Fx%2Drss%2Dsimple&amp;page_number=2\" title=\"Next\"><img decoding=\"async\" src=\"https:\/\/img.deusm.com\/informationweek\/slideshow-arrow-black-right.png\" alt=\"Next\"\/><\/a><\/span><\/div>\n<\/div>\n<p><span class=\"smaller strong red allcaps\">More Insights<\/span><\/p>\n<p> Read More <a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss_x_drr_edt_aud_dr_x_x-rss-simple\">HERE<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p> Read More <a href=\"https:\/\/www.darkreading.com\/cloud\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/a\/d-id\/1333047?_mc=rss_x_drr_edt_aud_dr_x_x-rss-simple\">HERE<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_layout":"default_layout","footnotes":""},"categories":[151],"tags":[],"class_list":["post-16912","post","type-post","status-publish","format-standard","hentry","category-darkreading-ti"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Securing Serverless: Attacking an AWS Account via a Lambda Function 2026 | ThreatsHub Cybersecurity News<\/title>\n<meta name=\"description\" content=\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security &amp; Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Securing Serverless: Attacking an AWS Account via a Lambda Function 2026 | ThreatsHub Cybersecurity News\" \/>\n<meta property=\"og:description\" content=\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security &amp; Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/\" \/>\n<meta property=\"og:site_name\" content=\"ThreatsHub Cybersecurity News\" \/>\n<meta property=\"article:published_time\" content=\"2018-10-25T14:31:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png\" \/>\n<meta name=\"author\" content=\"TH Author\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@threatshub\" \/>\n<meta name=\"twitter:site\" content=\"@threatshub\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"TH Author\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/\"},\"author\":{\"name\":\"TH Author\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/person\\\/12e0a8671ff89a863584f193e7062476\"},\"headline\":\"Securing Serverless: Attacking an AWS Account via a Lambda Function\",\"datePublished\":\"2018-10-25T14:31:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/\"},\"wordCount\":1035,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/img.deusm.com\\\/darkreading\\\/MarilynCohodas\\\/1-aug3-caleb-ory.png\",\"articleSection\":[\"DarkReading |TI\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/\",\"name\":\"Securing Serverless: Attacking an AWS Account via a Lambda Function 2026 | ThreatsHub Cybersecurity News\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/img.deusm.com\\\/darkreading\\\/MarilynCohodas\\\/1-aug3-caleb-ory.png\",\"datePublished\":\"2018-10-25T14:31:00+00:00\",\"description\":\"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#primaryimage\",\"url\":\"https:\\\/\\\/img.deusm.com\\\/darkreading\\\/MarilynCohodas\\\/1-aug3-caleb-ory.png\",\"contentUrl\":\"https:\\\/\\\/img.deusm.com\\\/darkreading\\\/MarilynCohodas\\\/1-aug3-caleb-ory.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Securing Serverless: Attacking an AWS Account via a Lambda Function\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\",\"name\":\"ThreatsHub Cybersecurity News\",\"description\":\"%%focuskw%% Threat Intel \u2013 Threat Intel Services \u2013 CyberIntelligence \u2013 Cyber Threat Intelligence - Threat Intelligence Feeds - Threat Intelligence Reports - CyberSecurity Report \u2013 Cyber Security PDF \u2013 Cybersecurity Trends - Cloud Sandbox \u2013- Threat IntelligencePortal \u2013 Incident Response \u2013 Threat Hunting \u2013 IOC - Yara - Security Operations Center \u2013 SecurityOperation Center \u2013 Security SOC \u2013 SOC Services - Advanced Threat - Threat Detection - TargetedAttack \u2013 APT \u2013 Anti-APT \u2013 Advanced Protection \u2013 Cyber Security Services \u2013 Cybersecurity Services -Threat Intelligence Platform\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\"},\"alternateName\":\"Threatshub.org\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#organization\",\"name\":\"ThreatsHub.org\",\"alternateName\":\"Threatshub.org\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Threatshub_Favicon1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/05\\\/Threatshub_Favicon1.jpg\",\"width\":432,\"height\":435,\"caption\":\"ThreatsHub.org\"},\"image\":{\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/threatshub\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.threatshub.org\\\/blog\\\/#\\\/schema\\\/person\\\/12e0a8671ff89a863584f193e7062476\",\"name\":\"TH Author\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g\",\"caption\":\"TH Author\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Securing Serverless: Attacking an AWS Account via a Lambda Function 2026 | ThreatsHub Cybersecurity News","description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/","og_locale":"en_US","og_type":"article","og_title":"Securing Serverless: Attacking an AWS Account via a Lambda Function 2026 | ThreatsHub Cybersecurity News","og_description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","og_url":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/","og_site_name":"ThreatsHub Cybersecurity News","article_published_time":"2018-10-25T14:31:00+00:00","og_image":[{"url":"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png","type":"","width":"","height":""}],"author":"TH Author","twitter_card":"summary_large_image","twitter_creator":"@threatshub","twitter_site":"@threatshub","twitter_misc":{"Written by":"TH Author","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#article","isPartOf":{"@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/"},"author":{"name":"TH Author","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/person\/12e0a8671ff89a863584f193e7062476"},"headline":"Securing Serverless: Attacking an AWS Account via a Lambda Function","datePublished":"2018-10-25T14:31:00+00:00","mainEntityOfPage":{"@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/"},"wordCount":1035,"commentCount":0,"publisher":{"@id":"https:\/\/www.threatshub.org\/blog\/#organization"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#primaryimage"},"thumbnailUrl":"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png","articleSection":["DarkReading |TI"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/","url":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/","name":"Securing Serverless: Attacking an AWS Account via a Lambda Function 2026 | ThreatsHub Cybersecurity News","isPartOf":{"@id":"https:\/\/www.threatshub.org\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#primaryimage"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#primaryimage"},"thumbnailUrl":"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png","datePublished":"2018-10-25T14:31:00+00:00","description":"ThreatsHub Cybersecurity News | ThreatsHub.org | Cloud Security & Cyber Threats Analysis Hub. 100% Free OSINT Threat Intelligent and Cybersecurity News.","breadcrumb":{"@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#primaryimage","url":"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png","contentUrl":"https:\/\/img.deusm.com\/darkreading\/MarilynCohodas\/1-aug3-caleb-ory.png"},{"@type":"BreadcrumbList","@id":"https:\/\/www.threatshub.org\/blog\/securing-serverless-attacking-an-aws-account-via-a-lambda-function\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.threatshub.org\/blog\/"},{"@type":"ListItem","position":2,"name":"Securing Serverless: Attacking an AWS Account via a Lambda Function"}]},{"@type":"WebSite","@id":"https:\/\/www.threatshub.org\/blog\/#website","url":"https:\/\/www.threatshub.org\/blog\/","name":"ThreatsHub Cybersecurity News","description":"%%focuskw%% Threat Intel \u2013 Threat Intel Services \u2013 CyberIntelligence \u2013 Cyber Threat Intelligence - Threat Intelligence Feeds - Threat Intelligence Reports - CyberSecurity Report \u2013 Cyber Security PDF \u2013 Cybersecurity Trends - Cloud Sandbox \u2013- Threat IntelligencePortal \u2013 Incident Response \u2013 Threat Hunting \u2013 IOC - Yara - Security Operations Center \u2013 SecurityOperation Center \u2013 Security SOC \u2013 SOC Services - Advanced Threat - Threat Detection - TargetedAttack \u2013 APT \u2013 Anti-APT \u2013 Advanced Protection \u2013 Cyber Security Services \u2013 Cybersecurity Services -Threat Intelligence Platform","publisher":{"@id":"https:\/\/www.threatshub.org\/blog\/#organization"},"alternateName":"Threatshub.org","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.threatshub.org\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.threatshub.org\/blog\/#organization","name":"ThreatsHub.org","alternateName":"Threatshub.org","url":"https:\/\/www.threatshub.org\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","contentUrl":"https:\/\/www.threatshub.org\/blog\/coredata\/uploads\/2025\/05\/Threatshub_Favicon1.jpg","width":432,"height":435,"caption":"ThreatsHub.org"},"image":{"@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/threatshub"]},{"@type":"Person","@id":"https:\/\/www.threatshub.org\/blog\/#\/schema\/person\/12e0a8671ff89a863584f193e7062476","name":"TH Author","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/066276f086d5155df79c850206a779ad368418a844da0182ce43f9cd5b506c3d?s=96&d=mm&r=g","caption":"TH Author"}}]}},"_links":{"self":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts\/16912","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/comments?post=16912"}],"version-history":[{"count":0,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/posts\/16912\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/media?parent=16912"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/categories?post=16912"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.threatshub.org\/blog\/wp-json\/wp\/v2\/tags?post=16912"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}