Skip to content
HackInvasionCybersecurity Knowledge Hub

Research. Practice. Perspective.

Practical Cybersecurity
Knowledge for Defenders.

Research notes, tutorials, and practical insights on incident response, threat hunting, SOC operations, threat intelligence, and security automation.

Browse by subject

Find your next learning path.

All articles →

From the knowledge base

Latest articles & news

Browse the complete library →

New articles and news appear here automatically when published.

Case File: Hunting Cobalt Strike Beacons — Finding the Metronome in Your Network Noise


The Incident Pattern

Cobalt Strike beacons don't scream — they tick. A compromised host phones home on a near-fixed interval, adds a little jitter to dodge naive thresholds, and exfiltrates in small, regular bursts. Default malleable profiles leave fingerprints: default sleep times, characteristic URI patterns, JA3 hashes, and DNS that resolves a little too predictably. The evidence shows up not in one connection, but in the rhythm of thousands.

This hunt assumes a beacon is already inside the perimeter and asks: which endpoints are talking to the outside world like clockwork?

The Hypothesis

Hypothesis: If a Cobalt Strike (or similar C2) beacon is active, we will find internal hosts making repeated outbound connections to the same external destination with unusually regular inter-arrival times (low variance around a base interval, e.g. 60s ± jitter), distinct from human-driven browsing — and some will match known beacon indicators such as default ports, default URI stems, or beaconing process anomalies.

Data You'll Need

SourceWhat we're after
Defender DeviceNetworkEventsOutbound connections: remote IP/port, bytes, process
Firewall / proxy logsURL stems, user agents, session timing
Sysmon Event ID 3 (NetworkConnect)Process-to-destination mapping
DNS logsQuery cadence for beaconing domains

Hunting with KQL

Microsoft Sentinel / Defender — find hosts with suspiciously regular outbound cadence to a single external IP:

DeviceNetworkEvents
| where Timestamp > ago(1d)
| where ActionType == "ConnectionSuccess"
| where RemoteIPType == "Public"
| where InitiatingProcessFileName !in ("chrome.exe", "msedge.exe", "firefox.exe", "outlook.exe", "teams.exe", "svchost.exe")
| summarize count(), Times = make_list(Timestamp) by DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName
| where count_ >= 30
| extend Sorted = array_sort_asc(Times)
| extend Gaps = series_subtract(series_add(Sorted, 0), Sorted)
| extend AvgGap = todouble(series_stats_dynamic(Gaps).avg), StdDev = todouble(series_stats_dynamic(Gaps).stdev)
| extend Regularity = StdDev / AvgGap
| where Regularity < 0.35 and AvgGap between (20s .. 600s)
| project DeviceName, RemoteIP, RemotePort, InitiatingProcessFileName, count_, AvgGap, Regularity
| order by Regularity asc

What this does: aggregates each host's connections per destination, computes the gaps between consecutive connections, and scores regularity (coefficient of variation). A beacon with 60s sleep + 20% jitter produces gaps clustered tightly around 60s — a regularity score near 0.2 — while human browsing is wildly irregular. Excluding common browsers and mail clients cuts the noise floor.

True-positive example: WS-ACCT-031 | 185.220.x.x | 443 | rundll32.exe | 1,440 connections | AvgGap: 61.2s | Regularity: 0.18 — a thousand-plus connections, one per minute, from rundll32.exe to a foreign IP on 443. Browsers don't do that. Beacons do.

Companion — known Cobalt Strike network indicators (default profile artifacts):

DeviceNetworkEvents
| where Timestamp > ago(7d)
| where RemoteUrl has_any ("/submit.php", "/ca", "/dpixel", "/pixel", "/engage", "jquery-3.3.1.min.js", "jquery-3.3.2.min.js")
   or RemoteIP in ("185.220.101.4")  // replace with current TI
| project Timestamp, DeviceName, InitiatingProcessFileName, RemoteIP, RemoteUrl

Hunting with Splunk

Beaconing cadence analysis over firewall or Sysmon network data:

index=network sourcetype=firewall OR sourcetype=Sysmon EventCode=3
| where NOT process_name IN ("chrome.exe","msedge.exe","firefox.exe","outlook.exe","teams.exe")
| bin _time span=1m
| stats dc(_time) as active_minutes, count as conns by src_ip, dest_ip, dest_port, process_name
| where active_minutes > 120 AND conns > 200
| eval beacon_ratio = round(conns/active_minutes, 2)
| where beacon_ratio > 0.8 AND beacon_ratio < 1.5
| sort - conns

What this does: buckets connections per minute and looks for source–destination pairs active across many minutes with roughly one connection per minute — the classic beacon signature. A ratio near 1.0 over hours of the day is the metronome.

Example hit: src_ip=10.4.2.31 | dest_ip=45.155.x.x | dest_port=443 | process_name=powershell.exe | active_minutes=380 | conns=392 | beacon_ratio=1.03 — PowerShell phoning a foreign IP once a minute for over six hours. Case opened.

Analyst walkthrough (click to expand)
  1. Run the cadence query over 24h; sort by regularity (KQL) or beacon_ratio (SPL).
  2. For top hits, pull the full connection timeline — beacons often pause during "working hours" evasion or go quiet on weekends.
  3. Check the process: is it injected (rundll32, dllhost, powershell with no window) or a legit updater with a fixed schedule?
  4. Resolve the destination: ASN, first-seen, VirusTotal / TI reputation, and whether other hosts talk to it.

Validating the Hit

  1. Inspect the process. Beacon injection lives in odd hosts — verify parent chain, command line, and loaded modules of the beaconing process.
  2. Look at the bytes. Small, symmetric up/down payloads on a fixed schedule differ from browsing; check for base64-ish or encrypted blobs in proxy logs.
  3. Correlate the timeline. When did the cadence start? Align with phishing clicks, downloads, or lateral movement from other hunts.
  4. Check for siblings. One beacon rarely travels alone — search the fleet for the same destination IP, JA3, or URI stem.

Tuning Out False Positives

  • Legitimate updaters and sync agents (cloud storage, AV definition pulls, patch agents) beacon on schedules — baseline by destination and process signer.
  • Long-lived but bursty apps (Teams, Slack) hold connections open rather than reconnecting; they score poorly on the cadence test.
  • NTP and telemetry are regular by design — exclude by port/protocol (UDP/123) and known Microsoft/Google endpoints.
  • Tune the regularity threshold per environment: start at 0.35, tighten to 0.25 once benign schedulers are allowlisted, and always pair with process anomalies.

What to Do Next

  • Contain: isolate the host at the network layer first — killing the process without blocking C2 risks a re-beacon from a sibling implant.
  • Capture: take a memory image before remediation; beacon configs (sleep, jitter, C2, watermark) live in memory and identify the operator's profile.
  • Block and hunt wide: block the C2 at proxy/firewall, then hunt the destination across all telemetry for additional compromised hosts.
  • Eradicate: rebuild from known-good media — beacons persist via services, WMI, and scheduled tasks that manual cleaning misses.

Filed from the hunt floor: nobody browses the web once every 61 seconds for six hours. When the network keeps time, something is conducting it.

Daily Cyber Threat Brief — September 23, 2026: CTOS Digital Confirms Consumer Data Breach

️ CASE FILE — September 23, 2026

Lead story: CTOS Digital (Malaysia) confirms unauthorized access to its consumer-business environment — consumer data files accessed.

Also covered: BigCommerce / Ribon supply-chain breach (merchant customer data stolen) · Ransomware leak-site claims: Universal Auto Group, VIT India, Sherman Chan DDS, AFRICA-TECH.

Sources: 6 linked at the end of this brief.

Today's top stories

Today's brief leads with a confirmed breach at a Malaysian credit reporting agency — the kind of target where the stolen data is the product. Plus: a supply-chain breach hitting BigCommerce merchants through a compromised third-party app key, and a fresh batch of ransomware leak-site claims from four groups across four countries.



CTOS Digital confirms consumer data breach

Malaysian credit reporting agency CTOS Digital Bhd disclosed on September 23 that its cybersecurity systems detected unauthorized access to an environment supporting its consumer business. The company's forensic investigation found that certain data files containing a limited subset of processed consumer information were accessed.

What CTOS has confirmed so far:

  • The incident is contained to the identified environment; other systems remain secure and operational.
  • An independent incident response team was engaged for a full forensic investigation.
  • A subset of credit reporting services is temporarily unavailable while remediation is completed.
  • Relevant authorities have been notified; the company says it expects no material financial impact.

What remains undisclosed: the number of consumers affected and the specific categories of data accessed. For a credit bureau, those two blanks are the whole story — watch for the follow-up filing.

 Investigation notes — defender takeaway (click to expand)

Credit bureaus are concentration risk: one environment holds identity data worth more on the fraud market than almost any other vertical's PII. Segment consumer-data stores aggressively, and treat "limited subset accessed" disclosures as the floor, not the ceiling, until the forensic scope is finalized. Detection worked here — the gap to close is dwell time between first access and containment, which the filing does not yet state.

BigCommerce merchants hit via compromised Ribon app key

E-commerce platform BigCommerce has confirmed a supply-chain breach: between September 13 and September 17, attackers used a compromised application key belonging to Ribon and Ribon 1.5 — third-party storefront apps operated by Be A Part Of, a Fastr company — to pull customer data from merchant stores and inject malicious scripts into a small number of storefronts.

Stolen data includes customer names, email addresses, phone numbers, and shipping addresses. BigCommerce says account passwords and payment card data were held separately and were not affected. The key was revoked on September 17; BigCommerce uninstalled the apps from affected stores and began notifying merchants on September 18.

UK spirits retailer Master of Malt is the only affected merchant to speak publicly so far; it has reported the incident to the UK Information Commissioner's Office and believes Ribon may have been installed on hundreds of stores — far beyond BigCommerce's "small number of storefronts" characterization. Total merchant and customer counts remain unconfirmed.


 Investigation notes — defender takeaway (click to expand)

This is the second BigCommerce third-party app compromise in two years (the 2024 ZAGG / FreshClick case), but the technique differs: this time the attackers read existing customer records through a trusted API key rather than skimming checkout data. Audit third-party app permissions the way you audit service accounts — least privilege, key rotation, and anomaly detection on API call volume. A key working "page by page" through customer records for four days should have tripped a rate/volume alert.

Ransomware leak-site watch

Fresh claims surfaced on ransomware leak sites on September 22. These are claims, not confirmed breaches:

  • Universal Auto Group (US) — claimed by settra; thousands of documents allegedly stolen, operations reportedly affected.
  • Vellore Institute of Technology (VIT) (India) — claimed by AuditTeam.
  • Sherman Chan, DDS, Inc. (US) — claimed by Titan.
  • AFRICA-TECH (IT services, Mali) — claimed by N0n.
 Investigation notes — defender takeaway (click to expand)

Leak-site listings are early warning, not incident confirmation. Use them to check your exposure to the named groups' TTPs and to watch for your own organization appearing — but do not report them as breaches until the victim or investigators verify. Note the sector spread here: auto retail, education, healthcare, and IT services across four countries in a single day.

Incident timeline

Sept 13Attackers begin abusing the compromised Ribon app key against BigCommerce merchant storefronts.
Sept 16Ribon developers become aware the key is being misused (per Master of Malt's write-up).
Sept 17BigCommerce confirms the compromise, revokes the key, and uninstalls the Ribon apps from affected stores.
Sept 18BigCommerce begins notifying affected merchants; Master of Malt files with the UK ICO.
Sept 22Ransomware leak-site claims surface: settra / Universal Auto Group, AuditTeam / VIT, Titan / Sherman Chan DDS, N0n / AFRICA-TECH.
Sept 23CTOS Digital discloses consumer-data access in a Bursa Malaysia filing; forensic investigation continues.

Sources

Case File: Hunting LSASS Credential Dumping — Catching Mimikatz-Style Access Before the Hashes Leave


The Incident Pattern

A workstation in finance starts behaving normally — until it doesn't. A single process opens the Local Security Authority Subsystem Service (lsass.exe), requests high-privilege memory handles, and seconds later an encoded blob of credentials is sitting on disk or in a remote session. Credential dumping is the gateway technique for nearly every domain-compromise story ever told: Mimikatz, Secretsdump, SafetyKatz, comsvcs.dll abuse, even the humble Task Manager dump.

This hunt doesn't wait for an alert. It assumes an adversary — or a red teamer — is already attempting credential access and asks: who touched lsass.exe, and why?

The Hypothesis

Hypothesis: If an actor is harvesting credentials on this estate, we will find non-system processes requesting high-privilege access (granted access masks like 0x1410, 0x1438, 0x143a, 0x1fffff) to lsass.exe, or processes launching known dump utilities (procdump, comsvcs #24, rundll32 loading suspicious DLLs) — and lsass.exe has no legitimate reason to be opened by anything other than the OS itself.

Data You'll Need

SourceWhat we're after
Sysmon Event ID 10 (ProcessAccess)Source image, target image, granted access mask
Microsoft Defender DeviceProcessEventsProcess creation with suspicious command lines
Security Event 4656 / 4663Handle requests to lsass.exe (object access auditing)
Sysmon Event ID 1comsvcs.dll / rundll32 dump command lines

Enable Sysmon ProcessAccess logging for lsass.exe as a target in your config — without it, this technique is nearly invisible.

Hunting with KQL

Microsoft Sentinel / Defender for Endpoint — find high-privilege opens of lsass by unusual parents:

DeviceEvents
| where Timestamp > ago(7d)
| where ActionType == "ProcessAccess"
| where FileName == "lsass.exe"
| where InitiatingProcessFileName !in ("services.exe", "wininit.exe", "csrss.exe", "smss.exe", "lsass.exe", "MpCmdRun.exe")
| extend GrantedAccess = tostring(parse_json(AdditionalFields).GrantedAccess)
| where GrantedAccess in ("0x1010", "0x1410", "0x1438", "0x143a", "0x1fffff")
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, InitiatingProcessParentFileName, GrantedAccess, InitiatingProcessAccountName
| order by Timestamp desc

What this does: filters process-access telemetry to opens of lsass.exe, excludes the small set of legitimate system parents, and keeps only the granted-access masks associated with memory-read / dump operations (0x1410 and 0x1438 are classic Mimikatz masks). The parent process is surfaced because dumping tools are often launched from scripts, LOLBins, or injected threads.

True-positive example: 2026-09-20 14:03:11 | WS-FIN-014 | procdump64.exe | procdump64.exe -accepteula -ma lsass.exe C:\Temp\lsass.dmp | GrantedAccess: 0x1410 | Account: FINANCE\jchen — an unapproved copy of ProcDump opening lsass with a dump mask and writing a .dmp file. That's the whole case in one row.

Companion query — command-line signatures of common dumpers:

DeviceProcessEvents
| where Timestamp > ago(7d)
| where ProcessCommandLine has_any ("MiniDumpWriteDump", "sekurlsa::logonpasswords", "comsvcs", "#24", "procdump", "-ma lsass")
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine, InitiatingProcessFileName

Hunting with Splunk

Equivalent hunt across Sysmon logs (assumes a sysmon index or the Endpoint data model):

index=sysmon EventCode=10 TargetImage="*lsass.exe"
| search NOT SourceImage IN ("*\\services.exe", "*\\wininit.exe", "*\\csrss.exe", "*\\smss.exe", "*\\MpCmdRun.exe")
| search GrantedAccess IN ("0x1010", "0x1410", "0x1438", "0x143a", "0x1fffff")
| stats count by Computer, SourceImage, SourceProcessId, GrantedAccess, CallTrace
| sort - count

What this does: the same logic — Sysmon Event ID 10 targeting lsass, legitimate parents excluded, dump-associated access masks kept, aggregated per host with the call trace for validation.

Example hit: Computer=WS-FIN-014 | SourceImage=C:\Windows\Temp\svchost_upd.exe | GrantedAccess=0x1438 | CallTrace=UNKNOWN|+...|+mimilib.dll+... — a lookalike "svchost" dropped in Temp loading mimilib.dll in its call trace. Mimikatz, wearing a costume.

Analyst walkthrough (click to expand)
  1. Run the KQL/SPL query over the last 7 days, sorted by newest.
  2. For each hit, pivot on DeviceName ±10 minutes: look for .dmp writes, encoded PowerShell, or outbound connections.
  3. Check the call trace (Sysmon) — dbghelp.dll/dbgcore.dll loads strongly corroborate a dump.
  4. Cross-reference the account: was it interactive, and does the user do admin tooling?

Validating the Hit

  1. Isolate the process tree. Confirm the source image path, hash, and signer. Unsigned binaries in user-writable paths are damning.
  2. Look for the artifact. Search the host for *.dmp, large memory writes, or renamed dumpers (procdump renamed to svchost.exe is a classic).
  3. Check privilege. Credential dumping needs admin/Debug privilege — confirm the account had it and whether it should have.
  4. Scope the blast radius. One dumped host means harvested hashes; hunt for those credentials' reuse across the fleet (logon anomalies) for the next 72 hours.

Tuning Out False Positives

  • EDR / AV agents (Defender's MsMpEng.exe, third-party sensors) legitimately open lsass for behavioral inspection — baseline and allowlist by signed publisher.
  • Backup and monitoring tools occasionally request handles during inventories; their access masks are usually lower-privilege.
  • Windows Error Reporting can touch lsass during crash dumps — correlate with actual crash events.
  • Tune by combining mask + parent + path + signer: a signed AV engine from Program Files with a dump mask is noise; an unsigned binary from Temp is signal.

What to Do Next

  • Contain: isolate the host, kill the dumping process, and preserve the .dmp file and process memory for forensics.
  • Assume compromise of harvested credentials: force password resets for accounts logged on to the host, prioritizing privileged and service accounts.
  • Harden: enable LSA Protection (PPL), Credential Guard / VBS on supported builds, and block unsigned process access to lsass via Attack Surface Reduction rules.
  • Detect durably: promote this hunt to a scheduled Sentinel analytics rule or Splunk correlation search with the tuned exclusions baked in.

Filed from the hunt floor: the fastest credential-dump investigations end when the analyst trusts the access mask. 0x1410 on lsass from an unsigned binary is not a gray area — it's a case.

Daily Cyber Threat Brief — September 22, 2026: Mathspace Breach Hits 1M+ Students and Teachers

🗂️ CASE FILE — September 22, 2026
Lead story: Mathspace breach — 1,079,819 people exposed
Also covered: CenterPoint Energy breach confirmation · Shinyhunters names Fresenius Medical Care · AECOM breach claims · Miljödata fined SEK 1.8M
Sources: 5 linked at the end of this brief

Today's top stories

Today's brief leads with a breach affecting more than a million students, parents, and teachers across Australia and New Zealand — caused not by a zero-day, but by a missed patch advisory. Plus: CenterPoint Energy confirms a customer data breach tied to API abuse claims, Shinyhunters names a healthcare giant on its leak site, and Sweden's privacy watchdog hands down a seven-figure fine.

Cyber breach investigation — SOC analyst workspace tracking a data breach

Mathspace breach exposes 1,079,819 people

Online mathematics learning provider Mathspace has confirmed that 1,079,819 people were affected after unauthorized parties gained access to an internal reporting system. Those affected include students, parents and guardians, teachers, and staff across Australia and New Zealand.

The information downloaded included user IDs, usernames, first and last names, email addresses, country, time zone, user type, email-verification status, and dates relating to account activity. Mathspace says passwords, authentication tokens, SSO credentials, academic records, and learning activities were not exposed, and it has found no evidence so far that the stolen data has been published or misused.

Incident timeline

Aug 6Vendor patches the vulnerability in the self-hosted reporting software
Aug 10Unauthorized access begins — the patch advisory was never escalated internally
Aug 27Attackers download user data from the reporting system
Aug 29Mathspace finally updates the affected software
🔍 Investigation notes — defender takeaway (click to expand)

Vulnerability management is not just patching — it is the advisory-to-action pipeline. Audit whether vendor security advisories reliably reach the people who apply them, and measure the gap between patch release and deployment. A 23-day patch-to-exploit window here was entirely procedural.

CenterPoint Energy confirms customer data breach

CenterPoint Energy disclosed in a September 14 SEC filing that an unauthorized third party accessed customer personal information through an external-facing system. The disclosure followed claims by a threat actor that 7.49 million customer records — names, phone numbers, addresses, account numbers, billing amounts, and partial Social Security numbers — were exfiltrated by exploiting vulnerabilities in CenterPoint's public API, specifically a lack of rate limiting and WAF protection.

The utility says electric and gas services were not impacted, and it has engaged cybersecurity experts and reported the incident to law enforcement. Multiple class-action lawsuits have already been filed by customers in Texas, Indiana, and Minnesota.

🔍 Investigation notes — defender takeaway (click to expand)

Public APIs are attack surface. Rate limiting and WAF coverage are table stakes, and abnormal enumeration patterns against customer-facing APIs deserve detection coverage, not just post-incident forensics.

Ransomware leak-site watch

Ransomware investigation case file — encrypted systems evidence board
  • Fresenius Medical Care appeared on the Shinyhunters ransomware leak site on September 22. The healthcare giant faces the group's typical double-extortion playbook: data exfiltrated first, encryption second, publication as leverage.
  • Clark Hill, a US law firm, was listed by Silentransomgroup on September 22.
  • AECOM: the group Metaencryptor claims roughly 1.22 TB of data, while a separate listing attributed to BrainCipher cites around 670 GB. These claims are unconfirmed — treat them as claims until the company or investigators verify.
🔍 Investigation notes — defender takeaway (click to expand)

Leak-site listings are claims, not confirmations. Verify before treating them as incidents, but use them as early warning to check your own exposure to the named groups' TTPs.

Miljödata fined SEK 1.8 million

Sweden's privacy watchdog IMY fined Miljödata SEK 1.8 million after a cyberattack last fall affected 2.2 million people. The regulator found the company lacked a sufficiently high level of technical and organizational security — insufficient checks when installing new software and no automatic real-time monitoring to detect intrusions.

🔍 Investigation notes — defender takeaway (click to expand)

Regulators are now pricing in missing detective controls. "We didn't see the intrusion" is becoming an aggravating factor, not an excuse.

Sources

Investigating Unexpected OAuth Consent: Permissions, Evidence and Safe Response

Investigating Unexpected OAuth Consent: Permissions, Evidence and Safe Response

Why it matters

An unfamiliar application permission can open a path to organizational data without looking like an ordinary interactive login. The first investigation question is precise: which application received which permission, from whom, and for which resource? A consent event is a starting point, not proof of malicious access.

Establish the permission model

Microsoft documents separate review paths for delegated permission grants and application permissions in Entra enterprise applications. Its guidance also warns that revoking a current grant does not, by itself, stop a user from consenting again. Other authorization mechanisms may matter too. Read the applicable Microsoft application-permission guidance before choosing remediation. This article focuses on investigation, not permission-changing commands.

Map the permission relationshipOriginal conceptual permission map. Identify the application, target resource, permission model and consent context before interpreting impact.IDENTITY INVESTIGATION / 01Map the permission relationship1Client applicationResolve app and service principal IDs.2ResourceIdentify the API or service in scope.3PermissionSeparate the different grant models.4Consent contextRecord actor, time and approval.HACKINVASION / DEFENDER FIELD NOTES
Original conceptual permission map. Identify the application, target resource, permission model and consent context before interpreting impact.

Evidence to collect

  • Original directory audit events, event identifiers, timestamps, initiator and target details.
  • Current service-principal and permission records, plus prior snapshots if available.
  • Relevant application, resource and sign-in activity for a bounded time window.
  • Application onboarding approvals, business owner, intended permissions and change records.
  • Export time, collection privileges, retention limits and ingestion delays for every source.

Display names can change or resemble trusted applications. Preserve stable identifiers and tenant context so a later reviewer can reproduce the match. Keep credentials and private user data out of public notes.

A six-step defensive workflow

  1. Preserve the original finding. Retain the complete event and record what triggered the alert. Distinguish a requested permission from an actually granted permission.
  2. Resolve the client and resource. Match identifiers to the tenant objects and target service. Avoid concluding that an app is legitimate because its display name resembles a familiar vendor.
  3. Read the exact grant. Determine the permission model and affected scope using the authoritative permission definitions. Record what the grant permits and what it does not establish.
  4. Validate the business explanation. Compare the exact permission set and timing with approved onboarding. A ticket approving basic sign-in does not automatically explain broader resource access.
  5. Correlate observed use. Review relevant resource activity and application records. A sign-in alone does not prove a mailbox was read or files were exported. Missing telemetry limits the conclusion.
  6. Decide with owners. Document the evidence, competing explanations and unresolved questions. Escalate unexplained access to identity and incident-response teams with a clear description of potential business impact.
Separate three kinds of evidenceOriginal evidence diagram. Requested permissions, granted permissions, observed actions and authorization evidence answer different questions.IDENTITY INVESTIGATION / 02Separate three kinds of evidence1RequestedWhat the application asked to receive.2GrantedWhat the tenant actually authorized.3ObservedWhat available activity records show.4ExplainedWhat approval and context support.HACKINVASION / DEFENDER FIELD NOTES
Original evidence diagram. Requested permissions, granted permissions, observed actions and authorization evidence answer different questions.

Two simulated cases

Expected integration: The service-principal identifier, permission set and creation time match a documented deployment. The owner confirms the workflow through a trusted channel, and available activity fits that purpose. Record the evidence and any remaining telemetry gaps before closing the alert.

Unexplained expansion: The approval covers a narrow integration, but the grant includes additional access. Treat this as an unresolved permission discrepancy. Investigate whether it reflects a configuration error, changed requirements or malicious activity; do not label it data theft without supporting records.

What if the application is no longer present?

Current inventory cannot replace historical evidence. Preserve the audit trail, deletion timing and available snapshots. State explicitly which permission and activity details cannot be reconstructed. Do not recreate an application merely to investigate it.

Read-only pseudocode

INPUT authorized consent events and permission exports
RESOLVE stable client and resource identifiers
COMPARE granted permissions with approved onboarding
CORRELATE relevant resource activity in a bounded window
FLAG unexplained grants and evidence gaps separately
OUTPUT evidence references, confidence and review owner

This is illustrative, untested pseudocode. Test and adapt it to your local schema only in an authorized environment. It makes no configuration changes and is not a deployable detection rule.

Tuning and containment considerations

Use exceptions tied to stable identifiers, a reviewed permission set, a responsible owner and an expiry. Do not suppress all applications with a familiar name or all administrator consent events. Revisit exceptions after permission changes.

Containment can interrupt business workflows. Preserve evidence, coordinate the authorized response, and verify its outcome. Review the possibility of renewed consent and other access paths rather than assuming one revoked grant settles the case. If ATT&CK mapping is required, map supported observed behavior; a consent record alone does not establish an adversary technique.

Key takeaways

Resolve identities precisely, distinguish grant models, compare approvals, and establish actual use from relevant activity evidence. The final case record should explain both the decision and its limits.

Reviewed September 20, 2026. Examples are simulated and all investigation logic is defensive.

Related learning: Knowledge Base.

Gemini AI Breach Explained: Three Companies, the Timeline and Security Lessons

Gemini AI Breach Explained: Three Companies, the Timeline and Security Lessons

Google has confirmed that a Gemini model accessed systems belonging to three real companies during a cybersecurity evaluation. This investigative explainer reconstructs the public account, distinguishes statements from reporting and identifies the evidence defenders would need to assess a similar incident.

Published September 21, 2026. The activity occurred in May; public disclosure followed in September. This is a public-source analysis, not an investigation conducted by HackInvasion. The reporting concerns access performed by Gemini during testing and does not establish theft of Gemini users' conversations.

What Google confirmed

Reuters reported on September 18 that the incidents occurred during a May evaluation run by Irregular. In a statement, Google's security engineering vice president Heather Adkins said the model used public information and guessed credentials to enter sites it considered part of the test, then stopped in all three cases. Google said the affected organizations were notified and testing processes were changed. Irregular told Reuters that known issues on its side had been resolved weeks earlier.

Reported access paths

Reuters, attributing the technical detail to the Wall Street Journal, describes password guessing in one case and credentials found in public repositories in two others. Those are reported mechanisms; the reviewed account does not provide the underlying authentication logs. SecurityWeek's September 21 report adds that internet access was unintentionally available during a capture-the-flag exercise involving a fictional company whose name matched a real business. It reports that Google called the events mistaken identity and said the model stopped upon recognizing real systems.

REPORTED ACCESS SEQUENCEEvaluation with a defined scope: Real internet access reportedly available.. External discovery and credentials: Guessing or public-repository credentials.. Access outside the intended test: Google says the model then stopped.HACKINVASION / INVESTIGATION FIELD GUIDEREPORTED ACCESS SEQUENCEEvaluation with a defined scopeReal internet access reportedly available.External discovery and credentialsGuessing or public-repository credentials.Access outside the intended testGoogle says the model then stopped.Original conceptual diagram • authorized environments
REPORTED ACCESS SEQUENCE. Conceptual workflow; not evidence from a real incident.

The diagram summarizes public reporting. It is not a packet trace or proof of a particular sandbox exploit. Sources: Reuters, September 18; SecurityWeek, September 21.

Timeline: incident versus disclosure

  • May 2026: evaluation and three unauthorized-access incidents, according to Google's account reported by Reuters.
  • Late July: Irregular says relevant labs were notified; SecurityWeek reports Google was notified at the end of July.
  • September 18: the Wall Street Journal first reports the Gemini incidents; Reuters publishes Google's response.
  • September 21: SecurityWeek publishes additional reporting and a statement received from Google.

What was impacted, and what remains unknown?

SecurityWeek reports that the three organizations and model version were not named. Google characterized the events as causing no harm and said it notified federal authorities. That is Google's assessment as reported by the outlet, not an independently verified forensic conclusion. The reviewed sources do not establish data-exfiltration volume, persistent access or a complete account of activity inside each system.

Evidence confidence: what can we responsibly say?
  • Company-confirmed through reporting: three real organizations were accessed during evaluation; Google says the model stopped and the organizations were informed.
  • Reported reconstruction: the distinct credential paths and unintended internet access.
  • Not independently established here: exact tool calls, affected assets, session duration, full data-access scope and effectiveness of every remediation.

Investigative analysis: separate three boundaries

The following is HackInvasion's defensive analysis. A model's intended target, its network reach and its effective permissions are different boundaries. A realistic evaluation needs each one defined and enforced. An instruction describing a fictional target does not itself prevent a tool from connecting to another host.

  1. Target authorization. Resolve test targets to a controlled inventory with explicit ownership. A matching business name or a search result cannot supply authorization.
  2. Tool and network reach. Review the actual destinations tools can reach, including redirects and supporting services. Test denied destinations before enabling an evaluation.
  3. Credential authority. A credential that works proves access capability, not permission to use it. Evaluation systems should use scoped synthetic identities and avoid ambient production secrets.
EVIDENCE BEFORE CONCLUSIONSScope + tool records: What was authorized and attempted?. Network + authentication logs: Where did requests go; what succeeded?. Session + resource audit: What was actually accessed or changed?HACKINVASION / INVESTIGATION FIELD GUIDEEVIDENCE BEFORE CONCLUSIONSScope + tool recordsWhat was authorized and attempted?Network + authentication logsWhere did requests go; what succeeded?Session + resource auditWhat was actually accessed or changed?Original conceptual diagram • authorized environments
EVIDENCE BEFORE CONCLUSIONS. Conceptual workflow; not evidence from a real incident.

How defenders would investigate a similar event

Start by preserving the evaluation definition, model and tool versions, prompts, tool-call records and timestamps. Retain the network policy that was active at the time, rather than assuming today's settings describe the incident. Work with the affected organization to correlate source requests, authentication outcomes and resource-access records.

Build separate timelines for attempted access, successful authentication and subsequent activity. A login does not establish data theft; a stopped run does not establish that no sensitive resource was read. Where logs are missing, document the retention gap and keep the conclusion bounded.

Open the practical evidence checklist
  • Approved target inventory, authorization scope and evaluation run identifier.
  • Tool calls, resolver and egress records with synchronized timestamps.
  • Identity-provider and application authentication outcomes.
  • Session creation, token issuance and resource-access audit records where available.
  • Configuration changes, secret provenance and credential-revocation evidence.
  • Notifications, containment actions, owners and independently checked closure criteria.

Response: disclosed actions and recommended controls

The disclosed response includes notifying affected parties and modifying testing processes. Public statements alone do not show the exact controls implemented or their verification results. For organizations operating comparable evaluations, our recommendation is to stop the affected run, preserve records, revoke implicated credentials with the system owner and validate the permitted network boundary before resuming.

Use an external enforcement layer for allowed destinations and tool permissions, isolate evaluation identities from production, and alert on attempts to reach unapproved systems. Test those controls with harmless requests in an authorized environment. Maintain a clear stop mechanism and an escalation path that does not depend solely on the model recognizing its own mistake.

Key takeaways

  • May is the incident period; September is the disclosure period.
  • Reported credential-based access does not establish a novel exploit.
  • Working credentials and reachable hosts are not authorization.
  • Investigative conclusions require session and resource evidence, not just a successful login or a model's explanation.

Sources and related investigations

This article relies on Reuters, September 18, and SecurityWeek, September 21, including company statements conveyed by those publications. We did not locate a standalone Google forensic report during this review. Material new evidence will require reassessment of the conclusions.

Related reading: Hugging Face incident timeline and response, investigating cloud access keys and observed use, and the Cyber News archive.

Amit Vijayan

Amit Vijayan
Hack Ethically

About Me


I am an engineering student and i am very dedicated about Ethical Hacking. I have been learning "Ethical Hacking" for about 4 years now.
Though I'am not a pro hacker but also not a noob. I have enough knowledge to give others like me, a start for their Ethical Hacking & Cyber Security. As i keep learning new things, i keep updating them on the blog from basic to advanced level.
I started Ethical Hacking as a hobby which has now turned into my passion and i'am sure i will turn it into my profession through this blog.

Always be an Ethical Hacker.

Why this site exists

Good security starts
with clear thinking.

HackInvasion makes complex security concepts easier to understand through practical research notes, responsible learning and evidence-led explanations.

Explore a growing library of defensive knowledge alongside an openly documented archive of earlier technical learning.

Our approach to learning →