How T1538 cloud service dashboard use shows up in a Discovery phase
A valid account that opens a cloud or SaaS management console and starts looking around is one of the earliest signs that T1538 Cloud Service Dashboard may be in use. The adversary is not yet changing anything. Under the Discovery tactic (TA0007), MITRE describes the goal as trying to figure out the environment. With T1538, that means using a web console, such as an IaaS management portal, a SaaS administration page, an office suite admin center or an identity provider dashboard, to learn what exists: accounts and groups, subscriptions or tenants, resource inventories, security and billing settings, licensing and sign-in activity. Each view answers a question that helps the next stage of an intrusion, and none of them requires malware. The technique is tracked in Enterprise ATT&CK 20.0, so detection mappings written for this section should name that version.
The difficulty is that the same console access is what administrators use every day. A platform engineer reviewing resources, a Microsoft 365 or Google Workspace administrator checking licenses, or an identity team reviewing sign-in reports will generate the same kinds of events as an adversary doing reconnaissance. The SOC therefore cannot treat console access alone as suspicious. The useful question is whether the session fits the identity's normal pattern: the source network, device, time of day, browser or client, and the breadth of pages visited compared with that account's baseline. Confirm with each platform owner which admin roles are expected to open dashboards, and which accounts should never need them, such as service or break-glass accounts.
Before writing detection content, decide which console telemetry you can actually collect and retain: identity provider sign-in and audit logs, IaaS control plane activity logs, and SaaS admin audit logs. Confirm the retention period and whether read-only dashboard views are logged at all, since many platforms record configuration changes but not every page view. Treat the answer as a gap to close, not an assumption. The safest first step is a short inventory of which accounts have console access, which of them are dormant, and which have roles broader than their duties. That inventory also feeds the ATT&CK mitigation User Account Management, which is covered in the next section.
Which telemetry reveals console access and what to collect it with
This table maps the three telemetry sources named for T1538 (User Account Authentication, Application Log Content and Logon Session Creation) to the console signal each produces across IaaS, SaaS, office suite and identity provider platforms, with open-source collectors noted for each. Read it as a starting inventory: confirm each log source is enabled in the provider or identity platform, then confirm the data component names against the ATT&CK version you target before writing detections.
| Telemetry source | Console signal to look for | Where it comes from | Open-source collection path |
|---|---|---|---|
| User Account Authentication | Console sign-in events, including failed attempts, MFA challenges and sign-ins from unfamiliar sources | Identity provider sign-in logs and SaaS or IaaS audit trails that record authentication to the web console | Wazuh agent or log forwarder reading exported identity logs; Zeek or Suricata for TLS and HTTP context on console traffic |
| Application Log Content | Dashboard page views or API calls that list resources, subscriptions, tenants or workspaces without a matching change | Admin activity and read-access audit logs in IaaS control planes, SaaS admin consoles and office suite admin centers | Wazuh log collection from exported audit files or SIEM connectors; Security Onion for correlation across sources |
| Logon Session Creation | New interactive or browser-based session opened against a console, tied to a user, device and source address | Identity provider session records and session creation events in SaaS and IaaS sign-in logs | Wazuh rules on forwarded session events; Sigma rules expressed for the target platform's log schema |
| IaaS console | Enumeration of accounts, projects and resource lists shortly after a new or unusual sign-in | Cloud provider audit logs (control plane activity) and sign-in records; retention and export settings vary by provider | Log export to a central store read by Wazuh; confirm provider audit log categories are enabled before rollout |
| SaaS and office suite console | Admin portal sign-ins and reads of tenant settings, mailbox or directory listings from new sessions | Unified audit or admin audit logs in the suite; some events require a specific license or setting to be on | Connector or API pull into the SIEM; confirm which audit categories the vendor exposes for your tenant |
| Identity provider console | Admin console sign-ins and directory or policy views by accounts that do not normally administer identity | Identity platform admin and sign-in logs, including conditional access or risk outcomes where offered | Wazuh or Security Onion ingestion of exported identity logs; validate field names against the platform's current documentation |
| Data component naming | Map each telemetry source to the data component the ATT&CK version you target uses | ATT&CK v18 made major updates to data components and deprecated data sources, so older names may not match | Record the ATT&CK version in every detection mapping and re-check component names when you move to a newer release |
Detection logic for console access that does not match normal admin behavior
Console access to cloud dashboards is where T1538 becomes visible to defenders, because many legitimate administrators also browse these pages. The cards below describe signals that separate ordinary administrative sessions from suspicious ones, along with the tuning parameters and false positive sources that should shape every rule.
First-seen console sessions per account
Build a baseline of which accounts normally open the console, from which networks, and how often. A first-seen console session for an account that has only used APIs, or that has been dormant for a long period, is a strong candidate for review. Set the dormancy window as a tunable parameter against your own identity provider history, and confirm that the authentication logs for each IaaS, SaaS and identity provider record console logins distinctly from API token use.
Access from unfamiliar geography or ASN
Compare the country and autonomous system of each console login against the account's history and the organization's approved locations. Treat a new autonomous system for a privileged account as a higher-priority signal than a new city. Tune the alert threshold as a distance or ASN-novelty parameter, and confirm with your identity provider which location and network attributes it records for each sign-in.
Service accounts opening dashboards
Service and automation identities usually authenticate through APIs and never render a web console. A service identity that appears in console authentication events, or in a logon session created by a browser, deserves immediate triage. Illustratively, a deployment pipeline account that begins loading billing or IAM pages has changed behavior. Confirm which service identities are permitted to use interactive sessions at all.
Bursts of read-only page views
Discovery through a dashboard often appears as many read-only page views across several services in a short window, with no configuration changes following them. Measure the count of distinct services viewed per session against a per-role baseline, and alert when a session exceeds it. Application log content from the console or its audit trail is the telemetry that makes page views attributable, so confirm which view events your platform logs.
Sessions without a matching change ticket
Correlate privileged console sessions with approved change or access requests in your service management system. A session by an administrator with no ticket, on-call record or scheduled maintenance window is not proof of misuse, but it is a clear review item. Set the correlation window as a parameter, and document how emergency access is recorded so that it does not generate constant noise.
Shared admin and federation false positives
Expect false positives from shared administrative accounts, traveling staff, monitoring tools that open consoles for health checks, and changes to SSO federation that alter the apparent source of every login. Maintain an allowlist of monitoring sources with expiry dates, and log every federation change so analysts can separate a sudden shift in login attributes from genuine attacker activity. Review these exceptions each time the baseline is recalculated.
Separating routine administrator browsing from reconnaissance
Alerting on every console login from a privileged identity will bury the security team within a week, so the detection for T1538 Cloud service dashboard depends on knowing what normal looks like for each person. Build a per-identity baseline over a defined observation window, covering which consoles each administrator opens (IaaS management portal, SaaS admin centers, the Office suite admin pages and the identity provider's own console), at what hours, from which source networks and with which client types. Record the window length and the agreed review cadence in writing, and confirm with your identity provider and cloud vendors which console sign-in events are exposed to your log pipeline and at what granularity. Where a console or admin role is not logged in enough detail to baseline, treat that gap as a finding rather than assuming coverage.
Tie each expected session to a source of intent. Change tickets, maintenance windows and on-call rotations explain most legitimate browsing of a dashboard, especially the sweeping read-only tours that look like discovery. Export the change calendar and on-call schedule into the same analytics context as your identity logs, so that a session during an approved window is scored differently from an unexplained session by a dormant account at 02:00. Do not let this become a permanent allow list: expire approvals automatically and require the ticket reference to match the identity and the console scope.
Weigh several weak signals together instead of alerting on one event. A new console opened by an administrator, a session that enumerates many resource types in a short period, an unfamiliar autonomous system or country, a missing device compliance claim and a sign-in outside the baseline are each ordinary on their own. Conditional access outcomes, such as whether a policy required multifactor authentication, whether the device was managed, and the session risk level reported by the identity provider, should raise or lower severity rather than trigger the alert alone. Session metadata, including token lifetime, session identifier reuse and the authentication method recorded, helps separate a fresh administrator from a replayed or long-lived session. Confirm with each vendor which of these fields exist in your tenant, because field names and retention differ by platform.
Validating the T1538 detection in a lab before production
This sequence proves that the T1538 detection fires from each log source it depends on, measures how quickly it alerts, and produces a repeatable record that can be compared across runs and ATT&CK versions. It runs in a private cyber range or a non-production tenant so that production identity and log pipelines are never put at risk.
Agree scope and rules of engagement
The security lead, the identity and cloud administrators, and the SOC owner agree in writing which platforms are in scope: IaaS consoles, SaaS applications, the office suite and the identity provider. They also agree the test window, the accounts and tenants that may be touched, who can stop the exercise, and how stakeholders are told when activity starts and ends. DeployOpen can draft this document as part of a fixed-scope engagement. The step is done when every named owner has signed off and a single point of contact is recorded for stopping the run. Confirm with your identity provider and SaaS vendors what their terms allow for test activity in non-production tenants before anything runs.
Assign a dedicated test identity
Create a test account in the lab or sandbox tenant with the same role type and conditional access policies that a real administrator or user would have, but with no access to production data. Tag the account so every event it generates can be filtered out of production dashboards and attributed to the exercise. Record the account name, role, group memberships and the exact time the account was provisioned. The step is complete when an administrator confirms the account exists, is labeled as exercise-only, and that its sign-in events reach the log platform.
Perform controlled console-style access
The tester signs in to each in-scope console or application through the normal browser or single sign-on path and performs a short, predefined set of interactions that a human operator would perform, such as opening the dashboard and navigating to a service overview. The exact steps are taken from the agreed test plan and are not improvised. Each action is logged by the tester with a timestamp. The step is done when every planned action has a matching timestamp in the tester record, so that later log events can be matched to a known action.
Confirm each log source produced an event
For every planned action, the analyst checks that the expected event arrived in the log platform from each source the detection relies on: user account authentication records, application log content and logon session creation. Missing sources are logged as gaps rather than assumed to be fine. Confirm the ingestion delay for each source, since a late source affects time to alert. The step is complete when each source has at least one matching event for each action, or when each gap is documented with an owner and a fix date agreed by the team.
Record time to alert and populated fields
The analyst measures the elapsed time between each tester action and the first alert raised by the detection rule, and notes whether the alert fired at all. For each matched event, the analyst records which fields were populated, such as user identity, source address, application name, session identifier, and outcome, and which were empty or normalized differently. Empty fields are a common reason detections fail in production, so they are recorded explicitly. The step is done when a timing table and a field completeness table exist for the run.
Record a standard result set for each run
Each run produces one record with the same fields so results can be compared across runs, environments and ATT&CK versions. Record the run identifier, date, tester, ATT&CK version targeted (for example the version the detection mapping names), the detection identifier and its version, the platforms covered, the test identity, every action taken, the matched events per source, time to alert, populated and missing fields, false positives observed, and any tuning applied. Store the record in the same location for every run. The step is done when the record is reviewed and signed off by the detection owner.
Tune the rule and retest
Based on the gaps and false positives in the record, the detection owner adjusts the rule, field mapping or ingestion configuration in the lab first, then repeats the same controlled actions. The retest is compared against the earlier record to confirm that each gap closed and that no new noise was introduced. Changes that pass the lab retest are promoted to production through the normal change process. The step is complete when the retest record shows the detection firing for every planned action and the change request references both runs.
Controls that limit who can open a cloud service dashboard
T1538 depends on who can sign in to a cloud console, SaaS admin portal or identity provider dashboard in the first place. The cards below cover the account controls that reduce that exposure, with Audit (M1047) as the supporting review layer for console and admin activity.
Least privilege for console roles
Map every console role to a documented job function and remove permissions that job does not need. Read-only and billing roles should not carry rights to change identity settings, create API keys or export data. Review role assignments against the actual console actions people perform, not against the role names. Ask each platform team which roles can view account-wide inventory, because that inventory is what a discovery actor is looking for.
Removal of dormant accounts
Dormant accounts with console access are a quiet path to dashboard views that nobody monitors. Build a recurring report of accounts with no recent sign-in, including contractors, pilot users and accounts left behind after reorganizations. Disable first, then delete after the owner confirms. Confirm with your identity provider how last sign-in data is retained and exported, because the answer determines how far back the review can see.
Separation of admin and daily-use identities
Administrators should sign in to cloud and SaaS consoles with a separate privileged identity that is never used for email or web browsing. This keeps console sessions distinct in logs, so an unusual dashboard view from a privileged identity stands out. Confirm that privileged identities require stronger authentication and that their sign-ins are routed to the monitoring pipeline.
Review of service accounts with console rights
Service accounts and automation identities sometimes hold console or portal access that was granted for a one-off task and never removed. Inventory every non-human identity that can sign in to a dashboard, record its owner, and remove interactive sign-in where the workload only needs API access. Alert on any service identity that signs in to a web console, since automated jobs rarely do.
Audit review of console and admin activity
ATT&CK maps Audit (M1047) as a supporting mitigation for this technique. Enable audit logging for console sign-ins, role changes and admin actions, and forward those events to a central store your analysts can query. Review them on a schedule that matches your risk appetite. Confirm the retention period for each platform with its vendor, since short default retention can erase the evidence needed for a investigation.
Triage steps when a console access detection fires
This sequence turns a console access alert for T1538 Cloud service dashboard into a documented decision: whether the session is legitimate, what it touched, whether to contain it, and whether it becomes an incident. It is built to keep evidence intact while the identity team acts.
Confirm the identity and session with the provider
The on-duty analyst pulls the alerting user, session identifier, source address, client application and sign-in time from the identity provider, then compares them against the account's recent sign-in history. The step closes when the analyst records whether the session matches a known device, location and authentication method, or whether any of those attributes are new. Record the result in the case file before moving on, so later steps can refer to a fixed session reference.
Check change tickets and known administrators
The analyst checks the change management system and the list of accounts approved for console administration to see whether the user had a scheduled task, a maintenance window or a documented reason to open the cloud console at that time. The analyst also confirms with the account owner through an out-of-band channel, not by replying to an email that may have come from the session in question. The step closes with a written statement of either a matched business reason or no matching record, signed off by the person who made the call.
Review what the session viewed and changed
Using the provider's audit logs for the session identifier, the analyst lists console pages and API actions taken, focusing on enumeration of accounts, roles, resources, storage and logging settings, along with any configuration changes or new credentials. Ask the platform owner to confirm which audit log categories are enabled and how long they are retained, because gaps in those logs limit what this step can prove. The step closes with a list of actions tagged as read-only, configuration change or privilege-related, and a note on any log gaps.
Decide whether to contain the session
The incident lead compares the findings from the previous steps against a predefined containment matrix that the organization has agreed in advance. Options include revoking the session, resetting the credential or its factors, tightening conditional access for the account or its role, and temporarily restricting console access to a named network range. The decision and its reason are recorded with the timestamp, and the change is applied through the identity provider's audit-logged administrative path. The step closes when the containment action is confirmed by a second person or when the lead records why no action was taken.
Preserve evidence before further changes
Before the account is altered further, the analyst exports the relevant audit log entries, sign-in records and any alert payloads, and hashes the export files. The analyst notes who exported them, from which system and when, so the chain of custody is clear. Where a cloud resource was changed, a snapshot of its configuration is captured if the provider offers one. The step closes when the evidence bundle is stored in the case repository with a manifest listing each file.
Escalate to incident handling if access is unexplained
If the session cannot be matched to a business reason, or the review shows configuration changes, new credentials or access to sensitive storage, the case moves to the incident response process with the evidence bundle attached. The incident lead records the handoff, the people notified and the open questions, such as whether other identities share the same source or client pattern. The step closes when the incident record exists and has an owner, and the triage notes are linked to it.
Record the outcome and feed the detection
After closure, the team records the classification (benign, misconfigured, or malicious), the containment taken and the open follow-ups in the detection engineering backlog. Where a benign pattern repeats, the team reviews whether a more specific allow condition is justified and documents it, instead of broadening the rule. The step closes when the post-triage note is saved and any tuning change is linked to a reviewed pull request or ticket. Confirm with the provider and your own environment which audit fields are available for future tuning.
Rehearsing T1538 detection in a private cyber range
An IaaS range should mirror the production cloud estate at the level of account structure, roles and logging, using a test account or subscription that holds no real data. The topology usually includes a sandboxed organization with a few sample workloads, a centralized audit trail for console and API activity, and a forwarding path into Wazuh or a comparable SIEM. The facilitator schedules injects such as a console sign-in from an unfamiliar network, a user opening dashboards for resource inventory and billing views, and a session that browses several regions in quick succession. Good detection means an alert fires from the audit trail, is enriched with the user, source address and role, and is triaged within the window the team agreed in advance. Good response means the session is contained, relevant credentials are restricted, and console and API records are preserved with their timestamps intact.
- Test accounts: Use disposable accounts and roles that mirror production permissions, so the rehearsal tests real privilege boundaries without touching live resources.
- Log pipeline: Confirm that console sign-ins and API calls reach the SIEM with user identity, source and timestamp fields preserved.
- Injects: Schedule unusual-location console access, repeated dashboard views of inventory and billing, and rapid region switching.
- Enrichment: Check that alerts carry role, account and recent change history so triage does not depend on manual lookups.
- Evidence: Require the responder to export the relevant audit records and record the containment steps with times.
Before the exercise, confirm with the cloud provider which console and audit events your account type emits and how long they are retained.
SaaS and office suite rehearsals test whether the team can see dashboard and admin portal activity in applications that often sit outside the infrastructure team's daily view. The range uses test tenants with sample mailboxes, shared drives and administrative consoles, and sends the vendor's audit or activity logs to the SIEM through the supported export method. Facilitators can schedule injects such as an admin portal session opened from an atypical client, a user browsing organization-wide reports they do not normally use, and a session that accesses several tenant dashboards in a short period. Good detection means the alert reflects the application and tenant, is correlated with the identity behind the session, and is triaged within the agreed window. Good response means the session is revoked, sharing or admin settings are reviewed, and the application audit records are exported for the investigation.
- Test tenants: Build tenants with realistic-looking but synthetic content, and enable the audit features the vendor offers at the tier in use.
- Log export: Confirm the export method, its delay and its field coverage, since these vary by vendor and license.
- Injects: Schedule admin portal access from an unusual client, browsing of organization-wide reports, and bulk dashboard views.
- Correlation: Check that application events link to the sign-in event in the identity provider.
- Containment: Practice revoking active sessions and reviewing recent admin changes in the tenant.
Confirm with each vendor which activity logs are available in your license tier and how far back they can be queried.
The identity provider is often the strongest signal for T1538 because most dashboard access passes through it. The range uses a test directory with sample users, groups and privileged roles, federated to the test IaaS and SaaS applications, with authentication and sign-in logs forwarded to Wazuh or a comparable SIEM. Facilitators schedule injects such as sign-ins from a new device and location, repeated failed attempts followed by success, a user session that reaches several applications in sequence, and a dormant account returning to access dashboards. Good detection means the alert shows the account, its group memberships, the authentication method and the risk context, and that triage happens within the agreed window. Good response means the session is revoked, the account is restricted pending review, and the sign-in and audit records are preserved.
- Sample directory: Include standard users, service accounts and privileged administrators so each alert class has a realistic baseline to compare against.
- Authentication logs: Verify that sign-in events include the authentication method, device and conditional access outcome.
- Injects: Schedule a new-location sign-in, a failure-then-success sequence, and a dormant account returning.
- Role context: Confirm that alerts show group and role membership so responders can judge privilege quickly.
- Account actions: Practice session revocation and temporary account restriction with the owning team present.
Check with your identity vendor which sign-in signals are available in your tier and how to test account restriction without disrupting the shared range.
Questions SOC leads and detection engineers ask about T1538
How does T1538 differ from T1526 cloud service discovery?
T1538 covers an adversary using a cloud service's web console or dashboard to view an environment, while T1526 covers enumerating which cloud services exist, often through the service's programmatic interfaces. The difference matters for detection because console use appears as an authenticated session, so the signals are user account authentication, logon session creation and application log content, the telemetry this page's detection plan relies on. Confirm the exact scope of each technique against its ATT&CK page for the version you target. Map both techniques to separate detection strategies so that an alert for one does not hide a gap in the other.
Are console logs enough without API logs?
Console logs are a useful starting point for T1538, but they are rarely enough on their own. Interactive sign-ins and dashboard actions produce authentication and session evidence, while API calls, scripted activity and service-to-service access often appear in separate audit streams that teams never enable or forward. Before you depend on one source, list every access path to each in-scope cloud service, confirm which audit logs the provider exposes for each path, and check retention and forwarding into your SIEM. Record each gap in the detection plan with a named owner, because the gaps define the real limits of your coverage.
How should break-glass accounts be handled in T1538 detections?
Break-glass accounts should be kept out of routine noise reduction, and they should always remain covered by alerting. Maintain a documented and reviewed list of emergency identities, store their credentials under dual control, and alert on every authentication to them, then check the alert against an approved change or incident record. Illustrative example: an alert fires when an emergency account signs in to a console at an hour with no approved change, and the on-call analyst compares the event with the activation log. Rehearse this in the cyber range by simulating an emergency sign-in so the response team knows what the alert looks like before a real activation occurs.
How often should T1538 detections be retested after ATT&CK version changes?
Retest whenever the ATT&CK version your detection mappings target changes, and whenever a technique's name, scope or sub-techniques change in a release. MITRE's recent releases include v18 on October 28, 2025, v19 on April 28, 2026 and v20 on October 13, 2026, and any release can rename, deprecate or revoke techniques. Pin each detection rule to a named ATT&CK version, compare the new STIX bundle with your mapping, and rerun the cyber range scenarios for every affected technique. Agree the review cadence with your own change process, since the right interval depends on how often your environment and tooling change.
How do you stop automation from flooding T1538 alerts?
Automation should be identified and modeled, and it should never be silenced by blanket exclusions. Inventory the service accounts, workload identities and pipeline roles that touch cloud consoles or dashboards, then document each one's expected source range, action set and schedule. Alert on deviations from that baseline, such as a new source address, an unfamiliar dashboard view or activity outside the scheduled window. Review allowlist entries on a fixed schedule so they expire unless the owning team renews them, and ask each automation owner to confirm the behavior, because a baseline built on assumptions will drift.
Can our own team rehearse T1538 detection without outside help?
A team with SIEM, identity and cloud logging experience can rehearse T1538 detection in its own environment, provided the scenario is written down, runs in a non-production tenant or private cyber range, and is reviewed afterward. Start with a written scope that names the in-scope services and identities, agree who can stop the exercise, and record the timestamps, log events and alerts produced at each step. DeployOpen plans, runs and documents cyber range exercises and security training under a fixed scope agreed in writing before work starts. Ask any provider to show which logs each exercise produced.
Keeping T1538 detections aligned with ATT&CK releases
Every T1538 detection should name the ATT&CK version it targets, because a release can rename, deprecate or revoke techniques and change the data components that detections depend on. Record the target version in the detection repository from the first commit, for example as a field in each rule's metadata alongside the detection strategy identifier. Recent releases were v18 on October 28, 2025, v19 on April 28, 2026 and v20 on October 13, 2026, so a rule written against an older version needs an explicit review before it is treated as current. Confirm which version your SIEM content pack and vendor rule library were built against, since those mappings often lag the public knowledge base.
ATT&CK v18 replaced technique-level detections with detection strategies and analytics, updated data components and deprecated some data sources. For T1538, check whether the detection strategy you rely on still references the data components you collect, such as User Account Authentication, Application Log Content and Logon Session Creation, and whether any of them have been renamed or split. The release notes on the official updates pages list these changes. Compare them against your telemetry inventory each time a release lands, and assign one owner to close any gap for each affected SaaS, IaaS, office suite or identity provider source. The enterprise-attack STIX bundle for each version is the authoritative machine-readable record to diff against.
After any ATT&CK update or change to a log source, re-run the validation for T1538 in the cyber range against the same scripted scenarios, and confirm the alert still fires on the expected platform and telemetry. Keep the results with the version note so an auditor or incident responder can see which detection was proven against which ATT&CK release. Where an update deprecates a data source, record the replacement and the date the change took effect in the detection repository change log. Ask any managed or implementation partner to show this version record as part of the delivery evidence.

