惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MyScale Blog
MyScale Blog
量子位
宝玉的分享
宝玉的分享
爱范儿
爱范儿
云风的 BLOG
云风的 BLOG
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
Apple Machine Learning Research
Apple Machine Learning Research
N
News and Events Feed by Topic
TaoSecurity Blog
TaoSecurity Blog
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
aimingoo的专栏
aimingoo的专栏
Cloudbric
Cloudbric
Blog — PlanetScale
Blog — PlanetScale
Latest news
Latest news
S
Security @ Cisco Blogs
Last Week in AI
Last Week in AI
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Vercel News
Vercel News
W
WeLiveSecurity
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
P
Proofpoint News Feed
P
Palo Alto Networks Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
T
The Blog of Author Tim Ferriss
腾讯CDC
大猫的无限游戏
大猫的无限游戏
Martin Fowler
Martin Fowler
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
V
V2EX
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Stack Overflow Blog
Stack Overflow Blog
IT之家
IT之家
有赞技术团队
有赞技术团队
Microsoft Security Blog
Microsoft Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
美团技术团队
博客园 - 【当耐特】
D
DataBreaches.Net
I
InfoQ
G
GRAHAM CLULEY
S
SegmentFault 最新的问题
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
B
Blog

Wiz Blog | RSS feed

Meet Wiz for M365: Bringing SaaS into the Security Graph Bringing Security Visibility to Vercel with Wiz Axios NPM Distribution Compromised in Supply Chain Attack Tracking TeamPCP: Investigating Post-Compromise Attacks Seen in the Wild The Wiz Blue Agent, now Generally Available Beyond the Badge: What Achieving Microsoft’s Certified Software Designation Means for Your Cloud Security Introducing the Green Agent: AI-Powered Remediation for the Cloud Three’s a Crowd: TeamPCP trojanizes LiteLLM in Continuation of Campaign KICS GitHub Action Compromised: TeamPCP Strikes Again in Supply Chain Attack Introducing the Wiz Red Agent- AI-Powered Attacker Introducing Wiz AI Application Protection Platform (AI-APP) Introducing Wiz Agents & Workflows: Security at the Speed of AI AI Runtime Threat Detection: From Input to Real-World Impact Trivy Compromised: Everything You Need to Know about the Latest Supply Chain Attack It’s Official: Wiz Joins Google Understanding and Reducing AI Risk in Modern Applications Introducing Wiz Tenant Manager: Multi-Tenant Management for Federated Organizations The Agile FedRAMP Playbook, Part 4: Reactive Risk Management through Enriched Incident Response Wiz Achieves CPSTIC Certification in Spain Seeing AI Clearly: Building Visibility Across Modern AI Applications The Agile FedRAMP Playbook, Part 3: Preventative Risk Management by building Secure by Design Wiz Leads the 2026 Latio Application Security Report with awards in 4 categories Building an Agentic Cloud Security Ecosystem: A Reference Architecture with Wiz MCP and Infosys Cyber Next The Agile FedRAMP Playbook, Part 2: Proactive Risk Management with Continuous Monitoring Cloud-native Security for your Windows environment: Announcing the Wiz Runtime Sensor for Windows Would You Click ‘Accept’? Automatically detecting malicious Azure OAuth applications using LLMs Wiz Named a Leader in The Forrester Wave™: Cloud Native Application Protection Solutions, Q1 2026 From Detection to Remediation: It’s Time to Rethink AppSec Around Exploitability and Root Cause Fixes The Agile FedRAMP Playbook, Part 1: Why Risk is Your Best Starting Point Introducing AI Cyber Model Arena: A Real-World Benchmark for AI Agents in Cybersecurity Wiz + Spotify Backstage: Security at the Developer’s Desk Building AI Security Together: New Ways to Partner with Wiz for AI Security in 2026 Hacking Moltbook: The AI Social Network Any Human Can Control The Year in Wiz Research: 2025 Most Read Blogs WizExtend is Here: AI and Cloud Security Insights in Your Daily Workflow From Detection to Remediation: Wiz in Your JetBrains IDE Agentic Browser Security: 2025 Year-End Review CodeBreach: Infiltrating the AWS Console Supply Chain and Hijacking AWS GitHub Repositories via CodeBuild A 90-Day Action Plan to Turn Resolutions into Results with Wiz Introducing the Wiz Partner Alliance: A New Chapter for Partner Success Preparing for Post-Quantum Cryptography Wiz Recognized as a 2025 Customers’ Choice in the Gartner® Peer Insights™ Voice of the Customer for CNAPP Expanding the Zero Critical Club to set a new standard for AppSec and SecOps teams Snipping the Long Tail of Shai-Hulud 2.0 Protecting Against Zero-Day Vulnerabilities with SOC-Level ASM Alert MongoBleed (CVE-2025-14847) exploited in the wild: everything you need to know The Kenna Transition: Your Strategic Shift to Exposure Management From MCP to Vibe Coding: Full Endpoint Visibility in Wiz AI Security Bringing Oracle Cloud Identity to Wiz Zero‑Days in the Age of AI: Behind the Scenes of ZeroDay.cloud 2025, with a Record High of CVEs in Critical Cloud Infra Gogs 0-Day Exploited in the Wild Code to Cloud Attacks: From Github PAT to Cloud Control Plane Top AWS re:Invent Announcements for Security Teams in 2025 React2Shell: Technical Deep-Dive & In-the-Wild Exploitation of CVE-2025-55182 React2Shell (CVE-2025-55182): Everything You Need to Know About the Critical React Vulnerability Wiz Product Announcements at re:Invent 2025: Expanding Visibility from Code to Cloud Introducing Wiz SAST: Where Code Risk Meets Cloud Context Wiz Becomes Fastest Security ISV to Reach $1 Billion in AWS Marketplace Lifetime Sales It's Here! Wiz Exposure Management is Now GA Shai-Hulud 2.0 Aftermath: Trends, Victimology and Impact Service Catalog is Here: Expand Risk Visibility for Your Service and Its Dependencies, Simplify Issue Ownership WizOS: Powering Secured Image Adoption with AI 3 OAuth TTPs Seen This Month — and How to Detect Them with Entra ID Logs Mastering Software Governance with Hosted Technologies Inventory Shai-Hulud 2.0 Supply Chain Attack: 25K+ Repos Exposing Secrets Get Certified on Wiz Defend for Threat Detection and Response Blueprint for Security: A Guide to Code, Governance, and Response Frameworks Google Unified Security Recommended Program Names Wiz Among First 3 Strategic Partners Introducing Posture Issues: Transform Security Findings into Actionable Outcomes Empower and Accelerate Your SOC with the Blue Agent Exposure Report: 65% of Leading AI Companies Found with Verified Secret Leaks Wizdom 2025 Product Announcements: Extending the Cloud Operating Model When AI Becomes the Heart of Security: Powering a Future You Can Trust AI-Powered Wiz: From Agents to Everyday Intelligence Defend Agentless Workload Detection: Bringing Visibility to Blind Spots in Threat Detection Securing AI Agents with Wiz AI-SPM Introducing Wiz ASM: Context-Driven Attack Surface Management Securing Critical Infrastructure in the Cloud Era: A Policy and Technology Blueprint How CISOs Should Plan Security Budgets for 2026 Beyond the Checkbox: How Wiz Transforms SOC 2 into a Security Powerhouse Bringing Visibility to Kubernetes: Unified Inventory and Network Insight The Foundation Modern AppSec Is Still Missing: Code to Cloud, Rebuilt the Right Way Dismantling a Critical Supply Chain Risk in VSCode Extension Marketplaces Introducing HoneyBee: How We Automate Honeypot Deployment for Threat Research RediShell: Critical Remote Code Execution Vulnerability (CVE-2025-49844) in Redis, 10 CVSS score Defending against database ransomware attacks AI Security 101: Mapping the AI Attack Surface Introducing zeroday.cloud: First-of-its-kind cloud and AI hacking competition Unifying Cloud Risk and Network Defense: Wiz and Check Point The emerging use of malware invoking AI Wiz achieves FedRAMP High authorization Wiz + HCP Terraform: Close the IaC-to-Cloud Infrastructure Security Gap IMDS Abused: Hunting Rare Behaviors to Uncover Exploits Beyond CVEs: The Exploitation of Everyday Misconfigurations Wiz Research Discovers One in Five Organizations Exposed to Systemic Risks in Vibe-Coded Applications - Here's How to Secure Them Introducing Wiz Incident Response: Your Expert Partner for Cloud Security Incidents Shai-Hulud: Ongoing Package Supply Chain Worm Delivering Data-Stealing Malware DORA Compliance in the Cloud Era: Insights from Deloitte and Wiz How Wiz Customers like Brex and FICO See AI Changing Security Wiz Recognized as a Leader in the 2025 IDC MarketScape for ASPM
Hunting for signs of persistence in the cloud: an IR guide following the CircleCI incident
2023-01-12 · via Wiz Blog | RSS feed

*Update (15/01/23): On January 13th, CircleCI published their incident report and provided more details on the attack, including IOCs. We've added an Appendix with hunting queries based on the new details and updated the existing queries' date range to scan for events starting on the known initial compromise date, December 16th.

In a statement on Wednesday, January 4th, 2023, CircleCI reported that a security breach of their development platform resulted in the exposure of thousands of organizations’ sensitive data and secrets. CircleCI has strongly urged its users to take immediate action to protect their information by rotating any secrets they have stored on the platform, such as API tokens or credentials in environment variables. CircleCI users are also encouraged to review their internal logs for evidence of unauthorized access between December 21st, 2022 and January 4th, 2023. 

The risk to organizations, however, transcends compromised secrets. Within that window of time between late December and early January, an adversary could have established a foothold within an environment via cloud APIs, enabling them to obtain persistence and therefore withstand a secret rotation. 

In this blog, we will present some highly privileged cloud APIs in each one of the major CSPs (AWS, Azure, GCP) that attackers might abuse in order to gain persistence in cloud environments after accessing the environment using compromised keys. Additionally, we will provide hunting queries that will help security and IR teams investigate whether any suspicious activity linked to persistence has occurred using CSP-native interactive query services (AWS Athena, Azure Log Analytics, GCP Logs Explorer). Teams should hunt for signs of persistence regardless of secret rotation. 

From compromised secret to ongoing attack  

Even when secrets have been rotated or removed in the cloud, persistence (TA0003) can still be a threat to organizations if an attacker has gained initial access (TA0001) to the environment and established a foothold to maintain access. For example, a malicious actor may use compromised credentials or keys to spin up new instances, configure them to communicate with a C2 server, and access data in cloud storage. An attacker might also leverage cloud-native features and services like serverless functions to establish persistence in the cloud environment.  

In order to continuously evaluate the security of their cloud environments, organizations should have a comprehensive strategy that goes beyond secret rotation/removal and includes network segmentation and monitoring. This is critical given there have already been numerous documented cases of APT groups using persistence techniques in cloud environments. For instance, APT29 (a.k.a. “Cozy Bear”) has reportedly compromised cloud infrastructure such as VMs to establish persistence, host C2 servers, and created a backdoor for service principals by generating new credentials for them. Furthermore, APT10 (a.k.a. “Stone Panda”) has also allegedly obtained persistence in cloud environments and subsequently performed data exfiltration.

Hunting for signs of persistence in AWS 

Adversaries that have compromised secrets related to AWS access keys and secret access keys associated with users may execute any of the following API calls. These calls may allow them to persist in your cloud environments even after your keys have been revoked/rotated, which is why it is crucial to monitor activity to gauge whether they are hiding in your cloud account: 

  • CreateUser API: Attackers might create new AWS users in the account and use them to gain persistence in the environment. 

  • CreateAccessKey API: Attackers might produce new access keys for existing users and use them to impersonate users’ identities. 

  • CreateLoginProfile API: Attackers may create new login profiles (Console Login) for existing users without such profiles (e.g. possessing only access keys) 

  • UpdateLoginProfile API: Attackers could update an existing login profile associated with users and modify their Console Login password. 

  • ImportKeyPair API: Attackers may import the public key from a key-pair they created and associate it with a new EC2 instance, allowing them to persist via the cloud workload. 

  • RunInstances API: Attackers might generate new EC2 instances and run malicious code on them (e.g. reverse shells), enabling them to persist via the cloud workload. 

  • ModifyInstanceAttribute API: Attackers could inject a malicious startup script into an existing EC2 instance via the `UserData` attribute that will run during each boot, allowing them to persist via the cloud workload. 

  • CreateFunction API: Attackers might create new Lambda functions, inject malicious code into them, and invoke them, thereby persisting via the serverless functions. 

  • UpdateFunctionCode API: Attackers may update existing Lambda functions’ code to include a malicious payload, enabling them to persist via the serverless function. 

  • SendCommand API: Attackers could abuse this API to run malicious commands on an EC2 instance and install backdoors on it, allowing them to persist via the cloud workload. 

  • StartSession API: Attackers might connect via IAM permissions to an EC2 instance and install backdoors on it, allowing them to persist through the cloud workload.

In order to determine whether there is any sign of persistence, run the following SQL query in AWS Athena with any suspicious access key IDs: 

Query #1 — Suspicious persistence activity by AWS principals

Remediation

In the event the query has generated results, make sure to investigate each one. If you are either unfamiliar with a finding or deem it suspicious, follow the remediation steps below:   

  • Remove—rather than disable—any new users or access keys that appear suspicious. 

  • Disable or change the password of any updated login profile; enforce strict authentication methods like MFA for existing login profiles. 

  • Remove any EC2 instance or new key associated with a suspected user. 

  • Delete any new EC2 instance created by a suspected user. 

  • Revert any modifications to an existing EC2 instance’s attributes (e.g. UserData) by a suspected user, and search for any potential backdoors on it. If possible, back up any important data and delete the instance. 

  • Restore any modified source code of existing serverless functions by a suspected user and erase any new function. 

  • Search for any potential backdoor residing on an EC2 instance when SendCommand or StartSession APIs were initiated by a suspected user. If possible, back up important data and terminate the instance. 

Moreover, adversaries may try to gain persistence by enumerating roles in your account and assuming them constantly. You can execute the following SQL query in AWS Athena with your preferred threshold to search for multiple failed attempts at assuming distinct role ARNs:

Query #2 — Abuse of unsuccessful AssumeRole operation

Should the query return results, this would likely indicate suspicious behavior on the part of the chosen principals. You would then need to run a query with your suspected access key IDs to determine whether any role has been successfully assumed by the principal:

Query #3 — Successful AssumeRole operation by a highly suspicious principal

Remediation

In the event you have noticed any unfamiliar logs, revoke any session permissions from the role by following these steps.

Hunting for signs of persistence in Azure

Adversaries that have compromised secrets related to AAD service principals may execute any of the following commands to persist in your cloud environment even after the application’s credentials have been revoked or rotated. Make sure to monitor your audit and activity logs for a hidden adversary inside your cloud tenant:

  • Update application – certificates and secrets management (audit logs): Attackers might persist by generating new secrets or certificates for a compromised AAD application in the tenant. 

  • Add user (audit logs): Attackers may persist in the environment by creating new AAD users in the tenant. 

  • Reset user password (audit logs): Attackers could reset passwords for existing AAD users in the tenant and establish persistence by impersonating them. 

  • Create or update an Azure Automation runbook (activity logs): Attackers might update or create an Automation runbook and launch a malicious script (e.g. PowerShell) to generate highly privileged AAD identities that serve as backdoors to the cloud environment. 

  • Generate a URI for an Azure Automation webhook (activity logs): Attackers could invoke the Automation runbook via a webhook and continuously access the environment even if the runbook’s highly privileged AAD identities are removed. 

  • Create or update virtual machine (activity logs): Attackers may persist in the cloud workload by creating or updating VMs and injecting a malicious startup script into them via the `UserData` attribute that will run with each boot. 

  • Run command on virtual machine (activity logs): Attackers could persist in the workload by abusing this API to run malicious commands on a VM and install backdoors on it. 

  • Update function code (activity logs): Attackers might update existing serverless functions’ code to insert a malicious payload and persist via the functions.

In order to determine whether there are any signs of persistence, run this KQL query in Azure Log Analytics and include any suspicious service principal object IDs:

Query #4 — Suspicious persistence activity in ARM by AAD service principals

Remediation

In the event the query has produced results, make sure to examine each one. If you are either unfamiliar with a finding or deem it suspicious, follow the remediation steps below:

  • Remove any suspicious Automation runbook that was created in an existing or new Automation account. 

  • Remove any suspicious webhook that was created in an existing or new Automation runbook. 

  • Restore any modified source code of existing serverless functions by a suspected service principal and erase any new function. 

  • Delete any VM that was created by a suspicious service principal. 

  • Remove any suspicious startup script injected into a VM by a service principal, and search for any potential backdoor on the VM. If possible, back up important data and delete the machine.

To gauge potential persistence in AAD, run this KQL query in Azure Log Analytics with audit logs and include any suspicious service principal client IDs:

Query #5 — Suspicious persistence activity in AAD by AAD service principals

Remediation

If the query has generated results, investigate them. If you are either unfamiliar with the findings or deem them suspicious, follow the remediation steps below:

  • Remove any suspicious secrets or certificates that were created for existing or new AAD service principals. Additionally, remove any new unfamiliar AAD Applications associated to the  

  • Delete any unknown, new user that was created by a service principal. 

  • If a particular user’s password has been reset, change it and enforce strict authentication methods like MFA.

Hunting for signs of persistence in GCP

Adversaries that have compromised secrets pertaining to IAM service accounts can execute any of the following commands to persist in your cloud environment even after the service accounts’ private keys have been revoked or rotated. Monitor the service accounts’ activity for a potential adversary hidden inside your cloud tenant:

  • CreateServiceAccountKey: Attackers might create new private keys for existing service accounts in the environment and persist by impersonating them. 

  • CreateFunction: Attackers could create serverless functions, inject malicious code into them, and then invoke them in order to persist via the serverless functions. 

  • UpdateFunction: Attackers may update existing serverless functions’ code to insert a malicious payload and persist through the function. 

  • SSH to VMs (including internal VMs via IAP): Attackers might ‘SSH’ into existing VMs in projects via the compute ssh API and persist through the workload. 

  • Run startup scripts on VMs: Attackers may inject a malicious startup script into an existing VM that runs with each boot, allowing them to persist via the workload. 

  • Create new compute instances: Attackers could obtain persistence through the workload by creating new compute instances and running malicious code on them.

To screen for persistence in GCP, execute this Logging query in Logs Explorer with any suspicious service account details:

Query #6 — Suspicious persistence activity by GCP service accounts

Remediation

If the query has generated findings, inspect them. If you are either unfamiliar with them or view them as suspicious, implement the remediation steps below:

  • Remove any suspicious private keys that were created for existing or new service accounts. 

  • Restore any modified source code of existing serverless functions by a suspicious service account and erase any new function. 

  • Delete any VM that was created by a suspicious service account. 

  • Log in to a VM with a service account that has initiated suspicious SSH connections, remove its home directory, and search for any potential backdoor on it. If possible, back up important data and delete the machine. 

  • Remove any suspicious startup script injected into a VM by a service account, and search for any potential backdoor on the VM. If possible, back up important data and delete the machine.

Appendix — Queries for cloud activity from malicious IPs involved in the CircleCI incident

On January 13th, CircleCI released indicators of compromise (IOCs) associated with threat actors that targeted their environment. The following queries can assist teams in determining if their cloud environment has been accessed by any known malicious IP address.

Query #1 — Cloud APIs from known malicious IPs in AWS

Query #2 — Cloud APIs from known malicious IPs in ARM

Query #3 — AAD service principal sign-in activity from known malicious IPs

Query #4 — Cloud APIs from known malicious IPs in GCP

Remediation

If any of the queries generated results, investigate each event separately. Validate that the old keys/secrets associated with the cloud identities have either been rotated or removed. Additionally, look for any signs of persistence mentioned above, as well as indicators of data exfiltration.