A former data analyst contractor for Brightly Software has been sentenced to two years in federal prison for stealing his employer's data and attempting to extort the company for $2.5 million. The case is a textbook insider threat scenario: a trusted contractor with legitimate access to sensitive data abused that access, exfiltrated information, and then turned around and tried to monetize it through extortion.
This is not a niche story. Insider-driven data theft and extortion is one of the fastest-growing incident categories we see in IR engagements, and it is uniquely damaging because the attacker already holds valid credentials, understands where the valuable data lives, and knows which levers will hurt the business most. Traditional perimeter defenses — EDR, firewalls, email gateways — are largely blind to an employee or contractor using authorized access for unauthorized purposes. If your organization grants data access to contractors, analysts, or third parties, this case is directly relevant to you.
What Happened
According to the reporting, the former contractor — employed as a data analyst — accessed and copied company data he was entrusted to work with, retained it after his access should have been severed, and then demanded $2.5 million from Brightly Software under threat of disclosure or misuse. Federal prosecutors pursued the case, resulting in a two-year prison sentence.
The mechanics matter for defenders. This was not a zero-day, not malware, and not an external intrusion. The attack chain was:
- Legitimate access granted — the contractor received credentials and data access as part of his role.
- Collection and staging — data was copied beyond the scope of job duties, likely to local storage, archives, or removable/cloud destinations.
- Exfiltration — the data left the organization's control, whether via personal cloud storage, personal email, removable media, or retention of local copies after contract termination.
- Monetization via extortion — the stolen data was leveraged for a $2.5M demand.
Every stage of that chain is detectable with the right telemetry and process controls. None of them require exotic tooling.
Technical Analysis: Why Insider Theft Beats Your Perimeter
Insider data theft succeeds because most security stacks are architected to answer the question "is this actor malicious?" when the harder question is "is this authorized actor doing unauthorized things?" The observable behaviors in a case like this fall into well-known MITRE ATT&CK techniques:
- T1530 – Data from Cloud Storage: accessing repositories (SharePoint, Google Drive, internal analytics platforms) beyond job scope or in bulk.
- T1560.001 – Archive Collected Data: Archive via Utility: staging stolen data with
7z,rar, ortarbefore exfiltration — a classic pre-exfil behavior. - T1567 – Exfiltration Over Web Service: uploading archives to personal Google Drive, Dropbox, Mega, WeTransfer, or similar services.
- T1052 – Exfiltration Over Physical Medium: copying to USB/removable media.
- T1078 – Valid Accounts: the entire operation rides on legitimate credentials, which is why account lifecycle hygiene (especially contractor offboarding) is the critical control.
Exploitation status: Not applicable in the CVE sense — there is no software vulnerability here. The 'exploit' is process failure: excessive data privileges, absent DLP monitoring, and gaps in contractor offboarding. Those conditions exist in most organizations today, which is why this threat is actively relevant in 2026.
The compounding factor is extortion. Data theft used to be an IP problem; now it's a leverage problem. Threat actors — including insiders — have learned from the ransomware ecosystem that stolen data plus a demand letter is a reliable monetization path, even when encryption never touches your environment.
Detection & Response
The detections below target the observable behaviors common to insider data theft and staging: bulk archive creation, browser uploads to personal cloud storage, and anomalous file access volume. Tune thresholds to your environment's baseline before enabling at high severity.
---
title: Mass Archive Creation via Command-Line Utility (Potential Data Staging)
id: 3f8c2a91-7b4d-4e6a-9c1f-2d5e8a0b6f42
status: experimental
description: Detects creation of compressed archives via command-line utilities with password protection or high-compression flags, a common staging behavior before insider data exfiltration.
references:
- https://attack.mitre.org/techniques/T1560/001/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.collection
- attack.t1560.001
logsource:
category: process_creation
product: windows
detection:
selection_img:
Image|endswith:
- '\7z.exe'
- '\7za.exe'
- '\rar.exe'
- '\winrar.exe'
selection_cli:
CommandLine|contains:
- ' a '
- ' -p'
- ' -hp'
- ' -mx'
condition: selection_img and selection_cli
falsepositives:
- IT administrators packaging software or logs for legitimate transfer
- Automated backup scripts using 7-Zip
level: medium
---
title: Browser Upload to Personal Cloud Storage or File-Transfer Service
id: 9d1e5b37-2c8a-4f5b-a3d9-7e0c4b1f8a63
status: experimental
description: Detects network connections from browser processes to consumer file-sharing and personal cloud storage domains frequently abused for insider data exfiltration.
references:
- https://attack.mitre.org/techniques/T1567/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.exfiltration
- attack.t1567.002
logsource:
category: network_connection
product: windows
detection:
selection_img:
Image|endswith:
- '\chrome.exe'
- '\msedge.exe'
- '\firefox.exe'
- '\brave.exe'
selection_dst:
DestinationHostname|contains:
- 'wetransfer.com'
- 'mega.nz'
- 'mega.co.nz'
- 'sendspace.com'
- 'file.io'
- 'transfer.sh'
- 'anonfiles'
- 'gofile.io'
- 'dropbox.com'
condition: selection_img and selection_dst
falsepositives:
- Organizations that legitimately use Dropbox or file-transfer services for business
- Marketing/creative teams sharing large assets externally
level: medium
---
title: PowerShell Compress-Archive Against User or Data Directories
id: 5b2f7d14-8e3c-4a91-b6d2-1c9e0f4a7d85
status: experimental
description: Detects PowerShell Compress-Archive usage targeting documents, shared, or profile directories — a native staging method that avoids third-party tools entirely.
references:
- https://attack.mitre.org/techniques/T1560/001/
author: Security Arsenal
date: 2026/04/06
tags:
- attack.collection
- attack.t1560.001
logsource:
category: process_creation
product: windows
detection:
selection:
CommandLine|contains|all:
- 'Compress-Archive'
CommandLine|contains:
- 'Documents'
- 'Shared'
- 'Users\\'
- 'Shares'
condition: selection
falsepositives:
- Helpdesk scripts archiving user profiles during device refresh
- Legitimate backup automation
level: medium
// Hunt: Anomalous file access volume by user — potential bulk collection
// Requires MDE (DeviceFileEvents). Baseline per-user and flag outliers.
let Threshold = 500;
DeviceFileEvents
| where TimeGenerated > ago(24h)
| where FolderPath has_any ("\\Documents\\", "\\Shared\\", "\\Shares\\", "OneDrive", "SharePoint")
| where ActionType in ("FileCreated", "FileModified", "FileRenamed")
| summarize FileOps = count(), DistinctFiles = dcount(FileName), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated)
by InitiatingProcessAccountName, DeviceName
| where FileOps > Threshold
| project InitiatingProcessAccountName, DeviceName, FileOps, DistinctFiles, FirstSeen, LastSeen
| order by FileOps desc;
// Hunt: Browser processes connecting to known exfiltration/file-transfer domains
DeviceNetworkEvents
| where TimeGenerated > ago(7d)
| where InitiatingProcessFileName in~ ("chrome.exe", "msedge.exe", "firefox.exe", "brave.exe")
| where RemoteUrl has_any ("wetransfer.com", "mega.nz", "gofile.io", "file.io",
"transfer.sh", "sendspace.com", "dropbox.com", "temp-mail", "guerrillamail")
| summarize Connections = count(), FirstSeen = min(TimeGenerated), LastSeen = max(TimeGenerated)
by InitiatingProcessAccountName, DeviceName, RemoteUrl
| order by Connections desc;
// Hunt: Archive utility execution by non-IT accounts (correlate with HR/contractor lists)
DeviceProcessEvents
| where TimeGenerated > ago(7d)
| where FileName in~ ("7z.exe", "7za.exe", "rar.exe", "winrar.exe")
or ProcessCommandLine has_any ("Compress-Archive", "tar -czf", "tar -cf")
| project TimeGenerated, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName
| order by TimeGenerated desc;
-- Hunt: Recent archive file creation in user-writable and data directories
-- Identifies staged .zip/.7z/.rar artifacts by extension, size, and recency
SELECT FullPath, Size, Mtime, Btime,
basename(path=FullPath) AS FileName
FROM glob(globs=[
'C:/Users/*/Documents/**/*.zip',
'C:/Users/*/Documents/**/*.7z',
'C:/Users/*/Documents/**/*.rar',
'C:/Users/*/Desktop/**/*.zip',
'C:/Users/*/Downloads/**/*.7z',
'D:/**/*.7z'
])
WHERE Mtime > (now() - 604800) -- last 7 days
AND Size > 10485760 -- >10MB, filter trivial archives
ORDER BY Size DESC
# Audit-and-harden script: contractor account lifecycle and DLP-relevant posture
# Run on a management host with appropriate AD/audit rights.
# 1) Identify enabled contractor/vendor accounts with no recent logon (stale access)
$cutoff = (Get-Date).AddDays(-30)
Get-ADUser -Filter {Enabled -eq $true} -Properties LastLogonDate, Description, whenCreated |
Where-Object {
($_.Description -match 'contract|vendor|temp|consultant') -and
($_.LastLogonDate -lt $cutoff -or $null -eq $_.LastLogonDate)
} |
Select-Object SamAccountName, Description, LastLogonDate, whenCreated |
Export-Csv -Path .\Stale_Contractor_Accounts.csv -NoTypeInformation
# 2) Verify removable-storage write restrictions are enforced via policy
$usbPolicy = Get-ItemProperty -Path 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\RemovableStorageDevices' -ErrorAction SilentlyContinue
if (-not $usbPolicy) {
Write-Warning 'No removable storage policy detected. Deploy GPO: Deny write access to removable disks not protected by BitLocker.'
}
# 3) Confirm detailed file-share auditing is enabled on data servers (for access-volume baselining)
auditpol /get /subcategory:"File Share"
auditpol /get /subcategory:"Detailed File Share"
# 4) Enable PowerShell Script Block Logging if not present (catches Compress-Archive staging)
$sbl = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\PowerShell\ScriptBlockLogging'
if (-not (Test-Path $sbl)) {
New-Item -Path $sbl -Force | Out-Null
Set-ItemProperty -Path $sbl -Name 'EnableScriptBlockLogging' -Value 1
Write-Output 'Script Block Logging enabled.'
}
Remediation: Closing the Insider Access Gap
There is no patch for this threat class — the fix is architectural and procedural. Prioritize in this order:
-
Enforce least privilege on data, not just systems. A data analyst needs query access to specific datasets, not bulk export rights to entire warehouses. Audit who can export, download, or run
SELECT *-equivalent operations against production data stores. Revoke standing bulk-export capability; make it just-in-time and ticketed. -
Automate contractor offboarding with same-day access revocation. The Brightly case hinged on access that outlived the working relationship. Tie identity lifecycle to contract end dates in your IdP (Entra ID, Okta). Disable accounts, revoke sessions and refresh tokens, and rotate any shared credentials the contractor touched — the day the engagement ends, not at the next quarterly review.
-
Deploy egress controls on personal cloud and file-transfer services. Block or alert on consumer storage domains (Mega, WeTransfer, personal Google Drive/Dropbox) at the proxy/CASB layer for users who have no business need. Pair this with the detections above for defense in depth.
-
Baseline and alert on data access volume. Most insider theft involves anomalous read/export volume. Establish per-role baselines for file access, database exports, and SharePoint/OneDrive downloads, and alert on outliers — especially in the 30 days before and after a resignation or contract termination.
-
Control removable media. Enforce BitLocker-only write policies for USB devices and alert on any mass copy events to removable storage (T1052).
-
Prepare an extortion playbook before you need it. Insider extortion demands land on legal, HR, and executives simultaneously — not just the SOC. Define in advance: who engages law enforcement (the FBI handled cases like this and secured a conviction), preservation requirements for forensic evidence, and a strict no-payment decision framework. Organizations that improvise this under pressure make expensive mistakes.
-
Instrument the endpoints and identities of high-privilege data roles specifically. Analysts, DBAs, and BI contractors should be in your highest-fidelity telemetry tier: script block logging, detailed file-share auditing, and MDE/EDR coverage are non-negotiable for these populations.
The uncomfortable truth from this case: the controls that would have stopped it are mundane — least privilege, offboarding discipline, egress filtering, and access-volume monitoring. None require new budget line items for most organizations. They require ownership and follow-through. Two years in prison is the attacker's consequence; the enterprise's consequence would have been measured in regulatory exposure, client trust, and incident response cost had the extortion escalated. Close the gap now, while the lesson is free.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.