Skip to main content

Hero Card: Zombies

One-Click Least Privilege. Zero Disruption.



© 2025 Sonrai Security. All rights reserved.

Overview

A Zombie, in the context of the Cloud Permissions Firewall, is considered to be any identity (user, role, etc.) that has been unused for at least 90 days.

Inactive but enabled Zombie identities provide the capability for threat actors to escalate privileges, move laterally, gain access to sensitive data, and more.

Rather than deleting Zombie identities entirely, we opt to help you quarantine them so they remain present within your cloud but can no longer be used. Quarantining consists of denying use to all permissions for which the identity has been assigned.

Zombies may reanimate after some time (think quarterly reporting scripts, staff returning from paternity leave, etc.), but these identities are subject to requesting privileged service access through Permissions on Demand (PoD).


Why Do Zombies Matter?

Example 1: When Outsiders Become Insiders

An attacker discovered an unused but enabled IAM identity that belonged to a former employee who had left the company months earlier. Due to poor offboarding practices within the organization, this identity was still active and had been granted elevated privileges during the employees' time at the company. The attacker bruteforced the credentials for the identity, trying common passwords and variants until the role was successfully accessed.

The identity had access to various critical systems, including databases containing sensitive financial data and other customer information. The attacker began exfiltrating this data and attempted to disrupt the company's services by altering configurations and deploying malicious scripts.


Quarantine Your Zombies

Easily and efficiently manage your unused identities at any level!

  • Organization-wide - Complete a clean sweep of zombies across your entire AWS Organization
  • OU-based - Select an OU from the scope dropdown & quarantine the zombies within
  • Account-level - Select an OU then an AWS Account from the scope dropdown & quarantine the zombies within
  • Individual identities - At any selected scope, quarantine any individual identity!

Select the scope at which you want to take action and click the button to see the changes you are about to make. When ready, click the button to immediately apply quarantine to those identities in your cloud.

Example:

This view is scoped to an AWS Account (Sandbox) nested within multiple OUs. In this context, the types of quarantine available are:

a) OU-based (nested)

  • Quarantine all identities within the Dev Sandbox Account b) Individual identities
  • Quarantine the unused DevRole, or the AdminRole last used 30 days ago, etc. c) OU-based (parent)
  • Quarantine all the OUs & nested AWS Accounts under the Dev OU
info

Zombie identities can be reanimated, gaining privileged service access through a Permissions on Demand (PoD) request.

To view the list of quarantined zombies at this scope, open the menu on the Services page:

tip

See "Exporting a List of Zombies Per Account" in the API documentation for query details!

Remove Zombies from Quarantine

If you would like to remove a zombie from quarantine, enabling it to reanimate and use non-privileged permissions for a service, you can leverage the Quarantine List.

Expand the rows using the caret on the lefthand side to view the currently quarantined zombies, using the trash bin icon to remove them from the list:

info

If a zombie identity has been removed from quarantine and remains unused, it will repopulate within the zombie hero card. If you wanted to prevent that identity from being marked as a zombie in the future, create an exemption.

Special Considerations

Silent Reanimation Attempts

A quarantined zombie account tried to take an action, and I didn't get any notification. What happened?

In rare cases, a quarantined zombie might try to reanimate without generating a Permissions on Demand notification! Don't worry, your cloud is safe and the action will fail - but it's important to understand why this can happen, and how to ensure your automated tools run smoothly.

Why it happens...

This behavior may occur if a zombie identity is an automated tool that runs infrequently and uses unaudited actions. For example, consider a Snowflake integration that only runs annually to check the contents of a specific AWS S3 bucket. (Note that AWS Data Events like the s3:ListBucket permission don't create an entry in the CloudTrail audit log.)

Such an identity will be marked as a possible zombie after 90 days of inactivity and may become quarantined. The next time it tries to act, Cloud Permissions Firewall will block the action but won't send a Permissions on Demand notification because there was no audit log event recorded.

What to do...

The best way to ensure that automated tools don't fail silently when they try to reanimate depends on your specific implementation.

Option 1: Create a Zombie Detection exemption for this identity, so that it will not be flagged as a zombie or quarantined.

Option 2: Change the frequency that your automated tool is run, to ensure that identity avoids turning into a zombie.