T1538 Cloud service dashboard

T1538 Cloud Service Dashboard describes adversary use of a provider's web console to see an environment's cloud resources. This page explains how to recognize it in IaaS, SaaS, office suite and identity provider logs, detect it with open-source tooling, and rehearse the response in a private cyber range.

On this page

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 sourceConsole signal to look forWhere it comes fromOpen-source collection path
User Account AuthenticationConsole sign-in events, including failed attempts, MFA challenges and sign-ins from unfamiliar sourcesIdentity provider sign-in logs and SaaS or IaaS audit trails that record authentication to the web consoleWazuh agent or log forwarder reading exported identity logs; Zeek or Suricata for TLS and HTTP context on console traffic
Application Log ContentDashboard page views or API calls that list resources, subscriptions, tenants or workspaces without a matching changeAdmin activity and read-access audit logs in IaaS control planes, SaaS admin consoles and office suite admin centersWazuh log collection from exported audit files or SIEM connectors; Security Onion for correlation across sources
Logon Session CreationNew interactive or browser-based session opened against a console, tied to a user, device and source addressIdentity provider session records and session creation events in SaaS and IaaS sign-in logsWazuh rules on forwarded session events; Sigma rules expressed for the target platform's log schema
IaaS consoleEnumeration of accounts, projects and resource lists shortly after a new or unusual sign-inCloud provider audit logs (control plane activity) and sign-in records; retention and export settings vary by providerLog export to a central store read by Wazuh; confirm provider audit log categories are enabled before rollout
SaaS and office suite consoleAdmin portal sign-ins and reads of tenant settings, mailbox or directory listings from new sessionsUnified audit or admin audit logs in the suite; some events require a specific license or setting to be onConnector or API pull into the SIEM; confirm which audit categories the vendor exposes for your tenant
Identity provider consoleAdmin console sign-ins and directory or policy views by accounts that do not normally administer identityIdentity platform admin and sign-in logs, including conditional access or risk outcomes where offeredWazuh or Security Onion ingestion of exported identity logs; validate field names against the platform's current documentation
Data component namingMap each telemetry source to the data component the ATT&CK version you target usesATT&CK v18 made major updates to data components and deprecated data sources, so older names may not matchRecord 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

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.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.