MCADDF

[COLLECT-PLAN-001]: Microsoft Planner Task Collection

Metadata

| Attribute | Details | |—|—| | Technique ID | COLLECT-PLAN-001 | | Technique Name | Microsoft Planner Task Collection | | MITRE ATT&CK v18.1 | T1123 – Audio Capture | | Tactic | Collection (TA0009) | | Platforms | Microsoft 365, Planner, Microsoft 365 Groups | | Severity | Medium to High (depends on task sensitivity) | | Technique Status | ACTIVE | | Last Verified | 2026-01-10 | | Affected Versions | Microsoft Planner in Microsoft 365, Planner APIs in Microsoft Graph | | Patched In | Not applicable – relies on legitimate Planner and Graph APIs | | Author | SERVTEPArtur Pchelnikau |


2. EXECUTIVE SUMMARY

Operational Risk

Compliance Mappings

| Framework | Control / ID | Description | |—|—|—| | CIS Microsoft 365 | CIS O365 3.4 | Control and monitor access to collaboration workloads, including Planner. | | DISA STIG | O365-PLN-000010 | Ensure Planner task data is subject to the same access and audit requirements as other workloads. | | CISA SCuBA | M365-MOD-1 | Monitor modern collaboration workloads (Teams, Planner) for misuse. | | NIST 800-53 | AC-6, AU-6 | Least privilege and logging for project/task management systems. | | GDPR | Art. 5, Art. 32 | Secure handling of personal data embedded in tasks (e.g., PII in descriptions). | | DORA | Art. 9 | Logging and security for ICT tools supporting operational resilience. | | NIS2 | Art. 21 | Measures for ICT project tools in essential/important entities. | | ISO 27001 | A.8.12, A.8.16 | Governance for information in collaborative tools and project trackers. | | ISO 27005 | Project Management Data Risk Scenario | Exposure of internal project plans and timelines. |


3. TECHNICAL PREREQUISITES

Supported Versions:


4. ENVIRONMENTAL RECONNAISSANCE

GUI Recon – Identify High‑Value Plans

  1. Open planner.office.com and sign in.
  2. Review Recent plans, Pinned plans, and plans under My groups or Portfolios.
  3. Identify plans with names indicating sensitive content (e.g., Security Roadmap, Incident Response, M&A, Regulatory Audit).

Graph Recon – Discover Plans by Group

Connect-MgGraph -Scopes "Group.Read.All,Tasks.Read"

# List groups and their associated planner plans
$groups = Get-MgGroup -Filter "groupTypes/any(c:c eq 'Unified')" -ConsistencyLevel eventual -Count groupCount

foreach ($g in $groups) {
  try {
    $plans = Invoke-MgGraphRequest -Method GET -Uri "/groups/$($g.Id)/planner/plans"
    if ($plans.value) {
      $plans.value | Select-Object id, title, owner | ForEach-Object {
        [PSCustomObject]@{
          GroupName = $g.DisplayName
          PlanTitle = $_.title
          PlanId    = $_.id
        }
      }
    }
  } catch {}
}

What to Look For:


5. DETAILED EXECUTION METHODS AND THEIRS STEPS

METHOD 1 – Export Plan to Excel via GUI

Supported Versions: All Planner web clients.

Step 1: Manual Export

  1. Open the target plan in planner.office.com.
  2. Use the … (More options) menu and select Export plan to Excel.
  3. Save the Excel file locally or to OneDrive.

Expected Output:

OpSec & Evasion:


METHOD 2 – Harvest Tasks via Microsoft Graph

Supported Versions: Planner Graph APIs for group plans.

Step 1: Enumerate Tasks for a Plan

Connect-MgGraph -Scopes "Group.Read.All,Tasks.Read"

$planId = "<plan-id>"
$tasks  = Invoke-MgGraphRequest -Method GET -Uri "/planner/plans/$planId/tasks"

$tasks.value | Select-Object id, title, dueDateTime, createdDateTime, percentComplete, assignments |
  Export-Csv "C:\Temp\Planner_Tasks.csv" -NoTypeInformation

Expected Output:

Step 2: Retrieve Task Details (Descriptions, References, Checklist)

$taskDetails = foreach ($t in $tasks.value) {
  $details = Invoke-MgGraphRequest -Method GET -Uri "/planner/tasks/$($t.id)/details"
  [PSCustomObject]@{
    TaskId      = $t.id
    Title       = $t.title
    Description = $details.description
    References  = ($details.references | ConvertTo-Json -Compress)
    Checklist   = ($details.checklist  | ConvertTo-Json -Compress)
  }
}

$taskDetails | Export-Csv "C:\Temp\Planner_TaskDetails.csv" -NoTypeInformation

What This Means:

OpSec & Evasion:


METHOD 3 – Extracting Comments via Group Mailbox Threads

Planner comments are stored in the Microsoft 365 Group mailbox as conversations.

High‑Level Steps:

  1. Identify group ID for the plan.
  2. Use Graph to query /groups/{id}/conversations and /threads.
  3. Extract messages with subjects referencing Planner tasks or including Planner‑specific headers.

Use Cases:


6. ATTACK SIMULATION & VERIFICATION (Atomic Red Team)


7. TOOLS & COMMANDS REFERENCE

Microsoft Graph – Planner API

Key endpoints (v1.0):

The Planner API currently does not support private To Do tasks – only group‑plan tasks are exposed.


8. SPLUNK DETECTION RULES

Rule: High‑Volume Planner Task Enumeration

Conceptual SPL:

index=o365 sourcetype="o365:management:activity"
| search Workload="Planner"
| stats count AS Ops BY UserId, Operation
| where Ops > 200

9. MICROSOFT SENTINEL DETECTION

Query: Unusual Planner Activity Volume

OfficeActivity
| where TimeGenerated > ago(1h)
| where Workload == "Planner"
| summarize Ops = count() by UserId, Operation
| where Ops > 200

10. WINDOWS EVENT LOG MONITORING


11. SYSMON DETECTION PATTERNS


12. MICROSOFT DEFENDER FOR CLOUD


13. MICROSOFT PURVIEW (UNIFIED AUDIT LOG)

Connect-ExchangeOnline
$Start = (Get-Date).AddDays(-7)
$End   = Get-Date

Search-UnifiedAuditLog -StartDate $Start -EndDate $End -ResultSize 5000 |
  Where-Object { $_.Workload -eq "Planner" } |
  Export-Csv "C:\Temp\Planner_Audit.csv" -NoTypeInformation

14. DEFENSIVE MITIGATIONS


15. DETECTION & INCIDENT RESPONSE


Step Phase Technique Description
1 Initial Access IA-PHISH-001 – Device code phishing attacks Compromise of project owner account.
2 Privilege Escalation PE-ACCTMGMT-003 – SharePoint/Teams Admin Gain broad group/Teams ownership.
3 Current Step COLLECT-PLAN-001 – Microsoft Planner Task Collection Enumerate and export task data.
4 Collection/Exfiltration CA-TOKEN-004 – Graph API token theft Use tokens to automate continuous task harvesting.
5 Impact REALWORLD-003 – POP/IMAP Basic Auth Abuse Use project insight to time and target further attacks.

17. REAL-WORLD EXAMPLES

Example 1: Project Portfolio Intelligence Gathering

Example 2: Insider Collection of Incident Response Tasks