1. Initial Access¶
Access the signup portal¶
Open signup.cocoaman.cloud in your web browser to begin the lab.
Create your initial account with a unique username and a password that meets the requirements shown on the page. Record the full user principal name displayed after registration; you will use it to begin the investigation.
Enumerate the tenant with Cirro¶
Follow Using Cirro and CirroDash with the guest account you just created:
- Authenticate Azure CLI to the workshop tenant.
- Verify that
az account showrepresents the new guest identity. - Run
cirro collect az azcli. - Confirm that
cirro_output.dbexists and inspect its tables. - Copy it to
initial-guest.db. - Ingest
initial-guest.dbinto Neo4j.
This account may collect identity information without seeing the target subscription. Record that as the baseline rather than treating it as a tool failure.
Investigate the dashboard¶
Connect CirroDash to the same Neo4j instance used during ingestion. Confirm the Total nodes and Node types cards return results, then use a preconfigured user table or the generic search query from the tool guide to find your full user principal name.
Open the matching user node and follow its relationships to groups and role assignments. Save a table card for any Cypher query that helps explain the path; name it after the question it answers rather than the node type.
Your investigation should answer these questions:
- Which group gives your account access to the subscription?
- Is the group's membership assigned or dynamic?
- Which user attribute and comparison determine membership?
- Which Azure role is assigned to the group, and at what scope?
Pivot through dynamic membership¶
Return to the signup portal and create a second account whose user principal name satisfies the dynamic membership expression you discovered. Record the new account's full user principal name and sign in with that identity.
Repeat the complete workflow with the second identity: Azure login, Cirro
collection, SQLite inspection, copy to defcon-reader.db, Neo4j ingestion, and
CirroDash refresh. Compare the Total nodes card and resource tables with
the initial collection.
Access can take a few minutes
Dynamic group membership is evaluated asynchronously. If the subscription is not visible during your first collection with the new account, wait a few minutes and try again.
Checkpoint
You have completed this section when the new account can enumerate management-plane resources in the target subscription and you can explain which configuration made that access possible.