Back to Intelligence

Instructure Data Breach: Detecting ShinyHunters Exfiltration & LMS Defense

SA
Security Arsenal Team
May 3, 2026
6 min read

Introduction

Educational technology giant Instructure, the creator of the widely used Canvas Learning Management System (LMS), has confirmed a significant data breach. The notorious extortion gang ShinyHunters has claimed responsibility, threatening to release stolen data unless their demands are met. For SOC analysts and security engineers managing educational environments, this is a critical escalation. The EdTech sector remains a prime target for supply-chain and credential-stuffing attacks due to the high volume of PII (Personally Identifiable Information) and intellectual property stored in LMS platforms. This breach is not an isolated incident; it is a signal to audit third-party access and cloud storage configurations immediately.

Technical Analysis

Affected Products: Instructure Canvas LMS and associated hosted services.

Threat Actor: ShinyHunters (a cybercrime group known for data extortion and selling initial access).

Attack Vector: While Instructure has not publicly disclosed the specific technical entry point (e.g., a specific CVE), ShinyHunters historically gains access through:

  1. Credential Stuffing/Account Takeover: Leveraging reused passwords leaked in other breaches.
  2. Cloud Storage Misconfigurations: Identifying and accessing improperly secured AWS S3 buckets or Azure Blob storage containing backups or database exports.
  3. Third-Party Integration Abuse: Exploiting trusted relationships between the LMS and connected educational tools.

Exploitation Status: Confirmed active exploitation. ShinyHunters has publicly taunted the victim and posted samples of the stolen data to prove the breach's validity.

Detection & Response

Given the lack of a specific CVE, detection must focus on the Tactics, Techniques, and Procedures (TTPs) of data extortion actors. We need to hunt for anomalous data access patterns and bulk exfiltration tools commonly used by ShinyHunters.

SIGMA Rules

YAML
---
title: Potential Cloud Storage Exfiltration via CLI Tools
id: 8a2b1c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d
status: experimental
description: Detects potential data exfiltration using command-line cloud tools often used by ShinyHunters (rclone, aws s3 sync) to download large datasets.
references:
  - https://attack.mitre.org/techniques/T1048/
author: Security Arsenal
date: 2025/04/17
tags:
  - attack.exfiltration
  - attack.t1048.002
logsource:
  category: process_creation
  product: windows
detection:
  selection_img:
    Image|endswith:
      - '\rclone.exe'
      - '\aws.exe'
      - '\az.exe'
  selection_cli:
    CommandLine|contains:
      - 'sync'
      - 'copy'
      - 'download'
  condition: 1 of selection*
falsepositives:
  - Legitimate administrative backup tasks
level: high
---
title: PowerShell Web Request for Data Exfiltration
id: 9b3c2d4e-5f6a-7b8c-9d0e-1f2a3b4c5d6e
status: experimental
description: Detects PowerShell scripts making large outbound web requests or invoking specific methods used to exfiltrate data to external endpoints.
references:
  - https://attack.mitre.org/techniques/T1059/001
author: Security Arsenal
date: 2025/04/17
tags:
  - attack.execution
  - attack.t1059.001
logsource:
  category: process_creation
  product: windows
detection:
  selection:\    Image|endswith:
      - '\powershell.exe'
      - '\pwsh.exe'
    CommandLine|contains:
      - 'Invoke-WebRequest'
      - 'IWR'
      - 'Invoke-RestMethod'
      - 'IRM'
      - 'OutFile'
  filter_legit:
    CommandLine|contains:
      - 'SoftwareDistribution'
      - 'WindowsUpdate'
  condition: selection and not filter_legit
falsepositives:
  - System update mechanisms
  - Legitimate administrative scripts
level: medium

KQL (Microsoft Sentinel / Defender)

The following KQL query hunts for anomalous sign-in patterns and potential bulk data extraction from your environment, focusing on the identity layer often targeted in these breaches.

KQL — Microsoft Sentinel / Defender
// Hunt for impossible travel or risky sign-ins associated with SaaS applications like Canvas
SigninLogs
| where ResultType == 0
| project TimeGenerated, UserPrincipalName, AppDisplayName, IPAddress, Location, RiskDetails, DeviceDetail
| extend Latitude = tostring(LocationDetails.geoCoordinates.latitude), Longitude = tostring(LocationDetails.geoCoordinates.longitude)
| evaluate geo_distance_cluster(IPAddress, Latitude, Longitude)
| where DistanceBetweenPointsInKilometers > 500 // Threshold for impossible travel
| summarize Count = count() by UserPrincipalName, IPAddress, AppDisplayName, bin(TimeGenerated, 1h)
| where Count > 3
| order by Count desc

Velociraptor VQL

Hunt for processes establishing network connections to non-standard ports, which may indicate custom exfiltration tools or web shells active on the endpoint.

VQL — Velociraptor
-- Hunt for processes with active network connections to external IPs on non-standard ports
SELECT Pid, Name, CommandLine, Exe, Username
FROM pslist()
WHERE Name NOT IN ('svchost.exe', 'lsass.exe', 'explorer.exe', 'chrome.exe', 'firefox.exe', 'msedge.exe')

SELECT F.Pid, F.Name, F.CommandLine, N.RemoteAddress, N.RemotePort, N.State
FROM foreach(row={
    SELECT Pid
    FROM pslist()
    WHERE Name =~ 'powershell.exe' OR Name =~ 'cmd.exe' OR Name =~ 'wscript.exe'
}, query={
    SELECT Pid, Name, CommandLine, Exe, Username
    FROM pslist()
    WHERE Pid = _Pid
}) AS F
JOIN netstat() AS N
ON F.Pid = N.Pid
WHERE N.State =~ 'ESTABLISHED' AND N.RemotePort NOT IN (443, 80)

Remediation Script (PowerShell)

This script audits Active Directory or Azure AD (via MS Graph module context if available, otherwise local checks) for accounts that may be vulnerable to credential stuffing—specifically those without MFA or with weak password filters. Note: In a cloud context, ensure you are running this in an environment with appropriate admin modules.

PowerShell
# Audit for Users Without MFA (Exchange Online / Azure AD Context)
# Requires Connect-MsolService or Connect-AzureAD

Write-Host "Checking for users without Strong Password Requirements or MFA enforcement..."

try {
    $Users = Get-MsolUser -All -ErrorAction Stop
    
    $WeakUsers = $Users | Where-Object {
        $_.StrongPasswordRequired -eq $false -or $_.StrongAuthenticationRequirements.Count -eq 0
    }
    
    if ($WeakUsers) {
        Write-Host "[ALERT] Found $($WeakUsers.Count) users vulnerable to credential stuffing." -ForegroundColor Red
        $WeakUsers | Select-Object UserPrincipalName, IsLicensed, StrongPasswordRequired | Export-Csv -Path "C:\Temp\VulnerableUsers_Instructure_Breach.csv" -NoTypeInformation
        Write-Host "Output saved to C:\Temp\VulnerableUsers_Instructure_Breach.csv"
    } else {
        Write-Host "[PASS] All users appear to have MFA requirements enabled." -ForegroundColor Green
    }
}
catch {
    Write-Error "Failed to connect to MS Online Services. Please ensure you are connected to a tenant."
    Write-Host "Run: Connect-MsolService"
}

Remediation

Immediate defensive actions are required to protect educational data and mitigate the risk of ShinyHunters extortion:

  1. Force Password Reset & MFA Enforcement: Initiate a forced password reset for all users with administrative access to the Canvas LMS or related databases. Enforce Conditional Access policies requiring Multi-Factor Authentication (MFA) for all logins, especially from unknown locations.

  2. Audit Cloud Storage Permissions: If your institution utilizes AWS S3 or Azure Blob Storage in conjunction with Instructure or for LMS backups, conduct an immediate audit. Ensure buckets are not set to public or authenticated-users read access. Enable "Block Public Access" settings at the account level.

  3. Review API Keys and OAuth Tokens: ShinyHunters often persists via compromised API tokens. Revoke and regenerate any API keys associated with the LMS integration immediately.

  4. Network Segmentation: Ensure LMS administration servers are not directly accessible from the internet. Require VPN or Zero Trust Network Access (ZTNA) for all administrative dashboard access.

  5. Monitor for Data Leakages: Implement Data Loss Prevention (DLP) rules to detect and block large-scale uploads to personal cloud storage accounts (e.g., Mega, Dropbox) or file-sharing sites often used by extortion gangs.

Related Resources

Security Arsenal Managed SOC Services AlertMonitor Platform Book a SOC Assessment soc-mdr Intel Hub

managed-socmdrsecurity-monitoringthreat-detectionsieminstructureshinyhuntersdata-breach

Is your security operations ready?

Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.

Instructure Data Breach: Detecting ShinyHunters Exfiltration & LMS Defense | Security Arsenal | Security Arsenal