
Building a Backdoor
Velodraft Systems runs its release pipeline on a self-hosted TeamCity server that was left accessible from the internet on an unpatched build. An attacker exploited an authentication-bypass flaw to create a rogue administrator without credentials, harvested stored VCS secrets and cloud keys, then planted a malicious build step in the production release pipeline. When the next scheduled build fired, both CI build agents pulled and executed an implant that beaconed out to an attacker-controlled domain. Reconstruct the intrusion chain from the TeamCity audit trail and the build-agent XDR data.
Start this operation
Investigation Tasks
Complete each task by investigating alerts and submitting your findings.
Identify the entry point
20The TeamCity server at Velodraft Systems started generating unusual audit entries in the early hours of the morning. Before anything else, establish how an outside address reached the server's administrative API without any valid credentials.
Trace the rogue account
25A few minutes after the initial probe, a new account appeared in TeamCity with full administrator privileges. Identify the username that was created.
Locate the pipeline modification
25Authenticated as the rogue admin, the attacker did not stop at credential theft. They modified the CI/CD pipeline to plant something that would run every time engineers triggered a build. Identify which build configuration was modified.
Find where the implant was staged
20When the scheduled build ran, the rogue step pulled a binary from an external host. Identify the domain the binary was downloaded from.
Identify the implant on disk
20The downloaded binary was designed to avoid standing out. Locate it by examining what the build agents wrote to disk and name the file that was dropped.
Map the persistence method to MITRE
20Injecting a malicious build step into a production CI/CD pipeline so that attacker code runs automatically with every build is a well-documented supply-chain technique. Identify the MITRE ATT&CK technique ID that covers this class of attack.
Trace the C2 beacon destination
25After the implant launched on both build agents, it immediately established a persistent outbound connection. Identify the domain it connected to.
7 tasks · 155 points total
Training Tools
Skills You'll Build
Requires foundational alert triage skills. Multiple data sources to correlate.
Prerequisites
- Basic understanding of security alerts
- Familiarity with SIEM concepts
- Familiarity with XDR concepts
Ready to investigate?
More Operations
View allThe Template That Read the Disk
The file-transfer portal that Tideglow Logistics' partners upload to spent a morning returning host files it was never meant to publish, and finished it running an administrator session nobody had logged into. The root cause is CVE-2024-4040 in CrushFTP 10.6.0. Walk the access logs and firewall traffic step by step to trace how a client holding no credentials turned a request parameter into a read of the host, and that read into a takeover.
OneNote Attachment to RAT: A Guided First Investigation
A logistics contracts employee at Glacierline Freight opens an attachment that arrived in her inbox and clicks a button inside it. Minutes later her workstation is running something that appears on no software inventory and is talking to a host that no business process uses. Walk the email gateway records, the file artifacts and the endpoint process tree one step at a time, and work out for yourself which message carried the delivery, what landed on disk, and what ran.
Hijacked Discord Invite to ClickFix Loader: Tracing the Lure
A finance analyst at Halcyon Wealth Partners followed a recycled Discord invite that quietly redirected the browser to a fake verification page. They did what the page asked, and inside the hour the workstation was running a remote-access trojan alongside an info-stealer that shipped browser data straight out of the building. Walk the proxy, endpoint and firewall evidence step by step to trace the lure, the loader, the C2 beacon and the data theft.