Blog
/
Network
/
January 26, 2024

Post-Exploitation Activities of Ivanti CS/PS Appliances

Darktrace’s teams have observed a surge in malicious activities targeting Ivanti Connect Secure (CS) and Ivanti Policy Secure (PS) appliances. Learn more!
Inside the SOC
Darktrace cyber analysts are world-class experts in threat intelligence, threat hunting and incident response, and provide 24/7 SOC support to thousands of Darktrace customers around the globe. Inside the SOC is exclusively authored by these experts, providing analysis of cyber incidents and threat trends, based on real-world experience in the field.
Written by
Sam Lister
Specialist Security Researcher
Default blog image
26
Jan 2024

What are 'Unknown Unknowns'?

When critical vulnerabilities in Internet-facing assets are not yet publicly disclosed, they can provide unfettered access to organizations’ networks. Threat actors’ exploitation of these vulnerabilities are prime examples of “unknown unknowns” – behaviors which security teams are not even aware that they are not aware of.  

Therefore, it is not surprising that zero-day vulnerabilities in Internet-facing assets are so attractive to state-linked actors and cybercriminals. These criminals will abuse the access these vulnerabilities afford them to progress towards harmful or disruptive objectives. This trend in threat actor activity was particularly salient in January 2024, following the disclosure of two critical vulnerabilities in Ivanti Connect Secure (CS) and Ivanti Policy Secure (PS) appliances. The widespread exploitation of these vulnerabilities was mirrored across Darktrace’s customer base in mid-January 2024, with Darktrace’s Security Operations Center (SOC) and Threat Research teams observing a surge in malicious activities targeting customers’ CS/PS appliances.

Vulnerabilities in Ivanti CS/PS

On January 10, 2024, Ivanti published a Security Advisory [1] and a Knowledge Base article [2] relating to the following two vulnerabilities in Ivanti Connect Secure (CS) and Ivanti Policy Secure (PS):

  • CVE-2023-46805 (CVSS: 8.2; Type: Authentication bypass vulnerability)
  • CVE-2024-21887 (CVSS: 9.1; Type: Command injection vulnerability)

Conjoined exploitation of these vulnerabilities allows for unauthenticated, remote code execution (RCE) on vulnerable Ivanti systems. Volexity [3] and Mandiant [4] reported clusters of CS/PS compromises, tracked as UTA0178 and UNC5221 respectively. UTA0178 and UNC5221 compromises involve exploitation of CVE-2023-46805 and CVE-2024-21887 to deliver web shells and JavaScript credential harvesters to targeted CS/PS appliances. Both Volexity and Mandiant linked these compromises to a likely espionage-motivated, state-linked actor. GreyNoise [5] and Volexity [6] also reported likely cybercriminal activities targeting CS/PS appliances to deliver cryptominers.

The scale of this recent Ivanti CS/PS exploitation is illustrated by research findings recently shared by Censys [7]. According to these findings, as of January 22, around 1.5% of 26,000 Internet-exposed Ivanti CS appliances have been compromised, with the majority of compromised hosts falling within the United States. As cybercriminal interest in these Ivanti CS/PS vulnerabilities continues to grow, it is likely that so too will the number of attacks targeting them.

Observed Malicious Activities

Since January 15, 2024, Darktrace’s SOC and Threat Research team have observed a significant volume of malicious activities targeting customers’ Ivanti CS/PS appliances. Amongst the string of activities that were observed, the following threads were identified as salient:

  • Exploit validation activity
  • Exfiltration of system information
  • Delivery of C2 implant from AWS
  • Delivery of JavaScript credential stealer
  • SimpleHelp usage
  • Encrypted C2 on port 53
  • Delivery of cryptominer

Exploit Validation Activity

Malicious actors were observed using the out-of-band application security testing (OAST) services, Interactsh and Burp Collaborator, to validate exploits for CS/PS vulnerabilities. Malicious use of OAST services for exploit validation is common and has been seen in the early stages of previous campaigns targeting Ivanti systems [8]. In this case, the Interact[.]sh exploit tests were evidenced by CS/PS appliances making GET requests with a cURL User-Agent header to subdomains of 'oast[.]live', 'oast[.]site', 'oast[.]fun', 'oast[.]me', 'oast[.]online' and 'oast[.]pro'.  Burp Collaborator exploit tests were evidenced by CS/PS appliances making GET requests with a cURL User-Agent header to subdomains of ‘collab.urmcyber[.]xyz’ and ‘dnslog[.]store’.

Figure 1: Event Log showing a CS/PS appliance contacting an 'oast[.]pro' endpoint.
Figure 2: Event Log showing a CS/PS appliance contacting a 'collab.urmcyber[.]xyz' endpoint.
Figure 3: Packet capture (PCAP) of an Interactsh GET request.
Figure 4: PCAP of a Burp Collaborator GET request.

Exfiltration of System Information

The majority of compromised CS/PS appliances identified by Darktrace were seen using cURL to transfer hundreds of MBs of data to the external endpoint, 139.180.194[.]132. This activity appeared to be related to a threat actor attempting to exfiltrate system-related information from CS/PS appliances. These data transfers were carried out via HTTP on ports 443 and 80, with the Target URIs ‘/hello’ and ‘/helloq’ being seen in the relevant HTTP POST requests. The files sent over these data transfers were ‘.dat’ and ‘.sys’ files with what seems to be the public IP address of the targeted appliance appearing in each file’s name.

Figure 5: Event Log shows a CS/PS appliance making a POST request to 139.180.194[.]132 whilst simultaneously receiving connections from suspicious external endpoints.
Figure 6: PCAP of a POST request to 139.180.194[.]132.

Delivery of Command-and-Control (C2) implant from Amazon Web Services (AWS)

In many of the compromises observed by Darktrace, the malicious actor in question was observed delivering likely Rust-based ELF payloads to the CS/PS appliance from the AWS endpoints, archivevalley-media.s3.amazonaws[.]com, abode-dashboard-media.s3.ap-south-1.amazonaws[.]com, shapefiles.fews.net.s3.amazonaws[.]com, and blooming.s3.amazonaws[.]com. In one particular case, these downloads were immediately followed by the delivery of an 18 MB payload (likely a C2 implant) from the AWS endpoint, be-at-home.s3.ap-northeast-2.amazonaws[.]com, to the CS/PS appliance. Post-delivery, the implant seems to have initiated SSL beaconing connections to the external host, music.farstream[.]org. Around this time, Darktrace also observed the actor initiating port scanning and SMB enumeration activities from the CS/PS appliance, likely in preparation for moving laterally through the network.

Figure 7: Advanced Search logs showing a CS/PS appliance beaconing to music.farstream[.]org after downloading several payloads from AWS.

Delivery of JavaScript credential stealer

In a small number of observed cases, Darktrace observed malicious actors delivering what appeared to be a JavaScript credential harvester to targeted CS/PS appliances. The relevant JavaScript code contains instructions to send login credentials to likely compromised websites. In one case, the website, www.miltonhouse[.]nl, appeared in the code snippet, and in another, the website, cpanel.netbar[.]org, was observed. Following the delivery of this JavaScript code, HTTPS connections were observed to these websites.  This likely credential harvester appears to strongly resemble the credential stealer observed by Mandiant (dubbed ‘WARPWIRE’) in UNC5221 compromises and the credential stealer observed by Veloxity in UTA0178 compromises.

Figure 8: PCAP of ‘/3.js’ GET request for JavaScript credential harvester.
Figure 9: Snippet of response to '/3.js’ GET request.
Figure 10: PCAP of ‘/auth.js’ GET request for JavaScript credential harvester.
Figure 11: Snippet of response to '/auth.js’ GET request.
Figure 12: Advanced Search logs showing VPN-connected devices sending data to www.miltonhouse[.]nl after the Ivanti CS appliance received the JavaScript code.

The usage of this JavaScript credential harvester did not occur in isolation, but rather appears to have occurred as part of a chain of activity involving several further steps. The delivery of the ‘www.miltonhouse[.]nl’ JavaScript stealer seems to have occurred as a step in the following attack chain:  

1. Ivanti CS/PS appliance downloads a 8.38 MB ELF file over HTTP (with Target URI ‘/revsocks_linux_amd64’) from 188.116.20[.]38

2. Ivanti CS/PS appliance makes a long SSL connection (JA3 client fingerprint: 19e29534fd49dd27d09234e639c4057e) over port 8444 to 185.243.112[.]245, with several MBs of data being exchanged

3. Ivanti CS/PS appliance downloads a Perl script over HTTP (with Target URI ‘/login.txt’) from 188.116.20[.]38

4. Ivanti CS/PS appliance downloads a 1.53 ELF MB file over HTTP (with Target URI ‘/aparche2’) from 91.92.240[.]113

5. Ivanti CS/PS appliance downloads a 4.5 MB ELF file over HTTP (with Target URI ‘/agent’) from 91.92.240[.]113

6. Ivanti CS/PS appliance makes a long SSL connection (JA3 client fingerprint: 19e29534fd49dd27d09234e639c4057e) over port 11601 to 45.9.149[.]215, with several MBs of data being exchanged

7. Ivanti CS/PS appliance downloads Javascript credential harvester over HTTP (with Target URI ‘/auth.js’) from 91.92.240[.]113

8. Ivanti CS/PS appliance downloads a Perl script over HTTP (with Target URI ‘/login.cgi’) from 91.92.240[.]113

9. Ivanti CS/PS appliance makes a long SSL connection (JA3 client fingerprint: 19e29534fd49dd27d09234e639c4057e) over port 11601 to 91.92.240[.]71, with several MBs of data being exchanged

10. Ivanti CS/PS appliance makes a long SSL connection (JA3 client fingerprint: 19e29534fd49dd27d09234e639c4057e) over port 11601 to 45.9.149[.]215, with several MBs of data being exchanged

11. Ivanti CS/PS appliance makes a long SSL connection (JA3 client fingerprint: 19e29534fd49dd27d09234e639c4057e) over port 8080 to 91.92.240[.]113, with several MBs of data being exchanged

12. Ivanti CS/PS appliance makes a long SSL connection (JA3 client fingerprint: 19e29534fd49dd27d09234e639c4057e) over port 11601 to 45.9.149[.]112, with several MBs of data being exchanged  

These long SSL connections likely represent a malicious actor creating reverse shells from the targeted CS/PS appliance to their C2 infrastructure. Whilst it is not certain that these behaviors are part of the same attack chain, the similarities between them (such as the Target URIs, the JA3 client fingerprint and the use of port 11601) seem to suggest a link.  

Figure 13: Advanced Search logs showing a chain of malicious behaviours from a CS/PS appliance.
Figure 14: Advanced Search data showing the JA3 client fingerprint ‘19e29534fd49dd27d09234e639c4057e’ exclusively appearing in the aforementioned, long SSL connections from the targeted CS/PS appliance.
Figure 15: PCAP of ‘/login.txt’ GET request for a Perl script.
Figure 16: PCAP of ‘/login.cgi’ GET request for a Pearl script.

SimpleHelp Usage

After gaining a foothold on vulnerable CS/PS appliances, certain actors attempted to deepen their foothold within targeted networks. In several cases, actors were seen using valid account credentials to pivot over RDP from the vulnerable CS/PS appliance to other internal systems. Over these RDP connections, the actors appear to have installed the remote support tool, SimpleHelp, onto targeted internal systems, as evidenced by these systems’ subsequent HTTP requests. In one of the observed cases, a lateral movement target downloaded a 7.33 MB executable file over HTTP (Target URI: /ta.dat; User-Agent header: Microsoft BITS/7.8) from 45.9.149[.]215 just before showing signs of SimpleHelp usage. The apparent involvement of 45.9.149[.]215 in these SimpleHelp threads may indicate a connection between them and the credential harvesting thread outlined above.

Figure 17: Advanced Search logs showing an internal system making SimpleHelp-indicating HTTP requests immediately after receiving large volumes of data over RDP from an CS/PS appliance.
Figure 18: PCAP of a SimpleHelp-related GET request.

Encrypted C2 over port 53

In a handful of the recently observed CS/PS compromises, Darktrace identified malicious actors dropping a 16 MB payload which appears to use SSL-based C2 communication on port 53. C2 communication on port 53 is a commonly used attack method, with various malicious payloads, including Cobalt Strike DNS, being known to tunnel C2 communications via DNS requests on port 53. Encrypted C2 communication on port 53, however, is less common. In the cases observed by Darktrace, payloads were downloaded from 103.13.28[.]40 and subsequently reached back out to 103.13.28[.]40 over SSL on port 53.

Figure 19: PCAP of a ‘/linb64.png’ GET request.
Figure 20: Advanced Search logs showing a CS/PS appliance making SSL conns over port 53 to 103.13.28[.]40 immediately after downloading a 16 MB payload from 103.13.28[.]40.

Delivery of cryptominer

As is often the case, financially motivated actors also appeared to have sought to exploit the Ivanti appliances, with actors observed exploiting CS/PS appliances to deliver cryptomining malware. In one case, Darktrace observed an actor installing a Monero cryptominer onto a vulnerable CS/PS appliance, with the miner being downloaded via HTTP on port 8089 from 192.252.183[.]116.

Figure 21: PCAP of GET request for a Bash script which appeared to kill existing cryptominers.
Figure 22: PCAP of a GET request for a JSON config file – returned config file contains mining details such as ‘auto.3pool[.]org:19999’.
Figure 23: PCAP of a GET request for an ELF payload

Potential Pre-Ransomware Post-Compromise Activity

In one observed case, a compromise of a customer’s CS appliance was followed by an attacker using valid account credentials to connect to the customer’s CS VPN subnet. The attacker used these credentials to pivot to other parts of the customer’s network, with tools and services such as PsExec, Windows Management Instrumentation (WMI) service, and Service Control being abused to facilitate the lateral movement. Other Remote Monitoring and Management (RMM) tools, such as AnyDesk and ConnectWise Control (previously known as ScreenConnect), along with certain reconnaissance tools such as Netscan, Nmap, and PDQ, also appear to have been used. The attacker subsequently exfiltrated data (likely via Rclone) to the file storage service, put[.]io, potentially in preparation for a double extortion ransomware attack. However, at the time of writing, it was not clear what the relation was between this activity and the CS compromise which preceded it.

Darktrace Coverage

Darktrace has observed malicious actors carrying out a variety of post-exploitation activities on Internet-exposed CS/PS appliances, ranging from data exfiltration to the delivery of C2 implants and crypto-miners. These activities inevitably resulted in CS/PS appliances displaying patterns of network traffic greatly deviating from their typical “patterns of life”.

Darktraceidentified these deviations and generated a variety of model breaches (i.e, alerts) highlighting the suspicious activity. Darktrace’s Cyber AI Analyst™ autonomously investigated the ongoing compromises and connected the individual model breaches, viewing them as related incidents rather than isolated events. When active and configured in autonomous response mode, Darktracntainted attackers’ operations by autonomously blocking suspicious patterns of network traffic as soon as they were identified by Darktrace

The exploit validation activities carried out by malicious actors resulted in CS/PS servers making HTTP connections with cURL User-Agent headers to endpoints associated with OAST services such as Interactsh and Burp Collaborator. Darktrace recognized that this HTTP activity was suspicious for affected devices, causing the following models to breach:

  • Compromise / Possible Tunnelling to Bin Services
  • Device / Suspicious Domain
  • Anomalous Server Activity / New User Agent from Internet Facing System
  • Device / New User Agent
Figure 24: Event Log showing a CS/PS appliance breaching models due to its Interactsh HTTP requests.
Figure 25: Cyber AI Analyst Incident Event highlighting a CS/PS appliance's Interactsh connections.

Malicious actors’ uploads of system information to 139.180.194[.]132 resulted in cURL POST requests being sent from the targeted CS/PS appliances. Darktrace DETECT judged these HTTP POST requests to be anomalous, resulting in combinations of the following model breaches:

  • Anomalous Connection / Posting HTTP to IP Without Hostname
  • Anomalous Server Activity / Outgoing from Server
  • Anomalous Server Activity / New User Agent from Internet Facing System
  • Unusual Activity / Unusual External Data Transfer
  • Unusual Activity / Unusual External Data to New Endpoint
  • Anomalous Connection / Data Sent to Rare Domain
Figure 26: Event Log showing the creation of a model breach due to a CS/PS appliance’s POST request to 139.180.194[.]132.
Figure 27: Cyber AI Analyst Incident Event highlighting POST requests from a CS/PS appliance to 139.180.194[.]132.

The installation of AWS-hosted C2 implants onto vulnerable CS/PS appliances resulted in beaconing connections which Darktrace recognized as anomalous, leading to the following model breaches:

  • Compromise / Beacon to Young Endpoint
  • Compromise / Beaconing Activity To External Rare
  • Compromise / High Volume of Connections with Beacon Score

When enabled in autonomous response mode, Darktrace's Autonomous Response was able to follow up these detections by blocking affected devices from connecting externally over port 80, 443, 445 or 8081, effectively shutting down the attacker’s beaconing activity.

Figure 28: Event Log showing the creation of a model breach and the triggering of an autonomous RESPOND action due to a CS/PS appliance's beaconing connections.

The use of encrypted C2 on port 53 by malicious actors resulted in CS/PS appliances making SSL connections over port 53. Darktrace judged this port to be uncommon for SSL traffic and consequently generated the following model breach:

  • Anomalous Connection / Application Protocol on Uncommon Port
Figure 29: Cyber AI Analyst Incident Event highlighting a ‘/linb64.png’ GET request from a CS/PS appliance to 103.13.28[.]40.
Figure 30: Event Log showing the creation of a model breach due to CS/PS appliance’s external SSL connection on port 53.
Figure 31: Cyber AI Analyst Incident Event highlighting a CS/PS appliance’s SSL connections over port 53 to 103.13.28[.]40.

Malicious actors’ attempts to run cryptominers on vulnerable CS/PS appliances resulted in downloads of Bash scripts and JSON files from external endpoints rarely visited by the CS/PS appliances themselves or by neighboring systems. Darktrace identified these deviations in device behavior and generated the following model breaches:

  • Anomalous File / Script from Rare External Location
  • Anomalous File / Internet Facing System File Download

Darktrace's Autonomous Response, when configured to respond autonomously, was subsequently able to carry out a number of actions to contain the attacker’s activity. This included blocking all outgoing traffic on offending devices and enforcing a “pattern of life” on devices ensuring they had to adhere to expected network behavior.

Figure 32: Event Log showing the creation of model breaches and the triggering of autonomous RESPOND actions in response to a CS/PS appliance’s cryptominer download.
Figure 33: Cyber AI Analyst Incident Event highlighting a CS/PS appliance’s cryptominer download.

The use of RDP to move laterally and spread SimpleHelp to other systems resulted in CS/PS appliances using privileged credentials to initiate RDP sessions. These RDP sessions, and the subsequent traffic resulting from usage of SimpleHelp, were recognized by Darktrace as being highly out of character, prompting the following model breaches:

  • Anomalous Connection / Unusual Admin RDP Session
  • Device / New User Agent
  • Anomalous Connection / New User Agent to IP Without Hostname
  • Compromise / Suspicious HTTP Beacons to Dotted Quad
  • Anomalous File / Anomalous Octet Stream (No User Agent)
  • Anomalous Server Activity / Rare External from Server
Figure 34: Event Log showing the creation of a model breach due to a CS/PS appliance’s usage of an admin credential to RDP to another internal system.
Figure 35: Event Log showing the creation of model breaches due to SimpleHelp-HTTP requests from a device targeted for lateral movement.
Figure 36: Cyber AI Analyst Incident Event highlighting the SimpleHelp-indicating HTTP requests made by an internal system.

Conclusion

The recent widespread exploitation of Ivanti CS/PS is a stark reminder of the threat posed by malicious actors armed with exploits for Internet-facing assets.

Based on the telemetry available to Darktrace, a wide range of malicious activities were carried out against CS/PS appliances, likely via exploitation of the recently disclosed CVE-2023-46805 and CVE-2024-21887 vulnerabilities.

These activities include the usage of OAST services for exploit validation, the exfiltration of system information to 139.180.194[.]132, the delivery of AWS-hosted C2 implants, the delivery of JavaScript credential stealers, the usage of SimpleHelp, the usage of SSL-based C2 on port 53, and the delivery of crypto-miners. These activities are far from exhaustive, and many more activities will undoubtedly be uncovered as the situation develops and our understanding grows.

While there were no patches available at the time of writing, Ivanti stated that they were expected to be released shortly, with the “first version targeted to be available to customers the week of 22 January 2023 and the final version targeted to be available the week of 19 February” [9].

Fortunately for vulnerable customers, in their absence of patches Darktrace was able to identify and alert for anomalous network activity that was carried out by malicious actors who had been able to successfully exploit the Ivanti CS and PS vulnerabilities. While the activity that followed these zero-day vulnerabilities may been able to have bypass traditional security tools reliant upon existing threat intelligence and indicators of compromise (IoCs), Darktrace’s anomaly-based approach allows it to identify such activity based on the subtle deviations in a devices behavior that typically emerge as threat actors begin to work towards their goals post-compromise.

In addition to Darktrace’s ability to identify this type of suspicious behavior, its autonomous response technology, Darktrace's Autonomous Response is able to provide immediate follow-up with targeted mitigative actions to shut down malicious activity on affected customer environments as soon as it is detected.

Credit to: Nahisha Nobregas, SOC Analyst, Emma Foulger, Principle Cyber Analyst, and the Darktrace Threat Research Team

Appendices

List of IoCs Possible IoCs:

-       curl/7.19.7 (i686-redhat-linux-gnu) libcurl/7.63.0 OpenSSL/1.0.2n zlib/1.2.3

-       curl/7.19.7 (i686-redhat-linux-gnu) libcurl/7.63.0 OpenSSL/1.0.2n zlib/1.2.7

Mid-high confidence IoCs:

-       http://139.180.194[.]132:443/hello

-       http://139.180.194[.]132:443/helloq

-       http://blooming.s3.amazonaws[.]com/Ea7fbW98CyM5O (SHA256 hash: 816754f6eaf72d2e9c69fe09dcbe50576f7a052a1a450c2a19f01f57a6e13c17)

-       http://abode-dashboard-media.s3.ap-south-1.amazonaws[.]com/kaffMm40RNtkg (SHA256 hash: 47ff0ae9220a09bfad2a2fb1e2fa2c8ffe5e9cb0466646e2a940ac2e0cf55d04)

-       http://archivevalley-media.s3.amazonaws[.]com/bbU5Yn3yayTtV (SHA256 hash: c7ddd58dcb7d9e752157302d516de5492a70be30099c2f806cb15db49d466026)

-       http://shapefiles.fews.net.s3.amazonaws[.]com/g6cYGAxHt4JC1 (SHA256 hash: c26da19e17423ce4cb4c8c47ebc61d009e77fc1ac4e87ce548cf25b8e4f4dc28)

-       http://be-at-home.s3.ap-northeast-2.amazonaws[.]com/2ekjMjslSG9uI

-       music.farstream[.]org  • 104.21.86[.]153 / 172.67.221[.]78

-       http://197.243.22[.]27/3.js

-       http://91.92.240[.]113/auth.js

-       www.miltonhouse[.]nl • 88.240.53[.]22

-       cpanel.netbar[.]org • 146.19.212[.]12

-       http://188.116.20[.]38/revsocks_linux_amd64

-       185.243.112[.]245:8444

-        http://188.116.20[.]38/login.txt

-       http://91.92.240[.]113/aparche2 (SHA256 hash: 9d11c3cf10b20ff5b3e541147f9a965a4e66ed863803c54d93ba8a07c4aa7e50)

-       http://91.92.240[.]113/agent (SHA256 hash: 7967def86776f36ab6a663850120c5c70f397dd3834f11ba7a077205d37b117f)

-       45.9.149[.]215:11601

-       45.9.149[.]112:11601

-       http://91.92.240[.]113/login.cgi

-       91.92.240[.]71:11601

-       91.92.240[.]113:8080

-       http://45.9.149[.]215/ta.dat (SHA256 hash: 4bcf1333b3ad1252d067014c606fb3a5b6f675f85c59b69ca45669d45468e923)

-       91.92.241[.]18

-       94.156.64[.]252

-       http://144.172.76[.]76/lin86

-       144.172.122[.]14:443

-       http://185.243.115[.]58:37586/

-       http://103.13.28[.]40/linb64.png

-       103.13.28[.]40:53

-       159.89.82[.]235:8081

-       http://192.252.183[.]116:8089/u/123/100123/202401/d9a10f4568b649acae7bc2fe51fb5a98.sh

-       http://192.252.183[.]116:8089/u/123/100123/202401/sshd

-       http://192.252.183[.]116:8089/u/123/100123/202401/31a5f4ceae1e45e1a3cd30f5d7604d89.json

-       http://103.27.110[.]83/module/client_amd64

-       http://103.27.110[.]83/js/bootstrap.min.js?UUID=...

-       http://103.27.110[.]83/js/jquery.min.js

-       http://95.179.238[.]3/bak

-       http://91.92.244[.]59:8080/mbPHenSdr6Cf79XDAcKEVA

-       31.220.30[.]244

-       http://172.245.60[.]61:8443/SMUkbpX-0qNtLGsuCIuffAOLk9ZEBCG7bIcB2JT6GA/

-       http://172.245.60[.]61/ivanti

-       http://89.23.107[.]155:8080/l-5CzlHWjkp23gZiVLzvUg

-       http://185.156.72[.]51:8080/h7JpYIZZ1-rrk98v3YEy6w

-       http://185.156.72[.]51:8080/8uSQsOTwFyEAsXVwbAJ2mA

-       http://185.156.72[.]51:8080/vuln

-       185.156.72[.]51:4440

-       185.156.72[.]51:8080

-       185.156.72[.]51:4433

-       185.156.72[.]51:4446

-       185.156.72[.]51:4445

-       http://185.156.72[.]51/set.py

-       185.156.72[.]51:7777

-       45.9.151[.]107:7070

-       185.195.59[.]74:7070

-       185.195.59[.]74:20958

-       185.195.59[.]74:34436

-       185.195.59[.]74:37464

-       185.195.59[.]74:41468    

References

[1] https://forums.ivanti.com/s/article/CVE-2023-46805-Authentication-Bypass-CVE-2024-21887-Command-Injection-for-Ivanti-Connect-Secure-and-Ivanti-Policy-Secure-Gateways?language=en_US

[2] https://forums.ivanti.com/s/article/KB-CVE-2023-46805-Authentication-Bypass-CVE-2024-21887-Command-Injection-for-Ivanti-Connect-Secure-and-Ivanti-Policy-Secure-Gateways?language=en_US

[3] https://www.volexity.com/blog/2024/01/10/active-exploitation-of-two-zero-day-vulnerabilities-in-ivanti-connect-secure-vpn/

[4] https://www.mandiant.com/resources/blog/suspected-apt-targets-ivanti-zero-day

[5] https://www.greynoise.io/blog/ivanti-connect-secure-exploited-to-install-cryptominers

[6] https://www.volexity.com/blog/2024/01/18/ivanti-connect-secure-vpn-exploitation-new-observations/

[7] https://censys.com/the-mass-exploitation-of-ivanti-connect-secure/

[8] https://darktrace.com/blog/entry-via-sentry-analyzing-the-exploitation-of-a-critical-vulnerability-in-ivanti-sentry

[9] https://forums.ivanti.com/s/article/CVE-2023-46805-Authentication-Bypass-CVE-2024-21887-Command-Injection-for-Ivanti-Connect-Secure-and-Ivanti-Policy-Secure-Gateways?language=en_US  

Inside the SOC
Darktrace cyber analysts are world-class experts in threat intelligence, threat hunting and incident response, and provide 24/7 SOC support to thousands of Darktrace customers around the globe. Inside the SOC is exclusively authored by these experts, providing analysis of cyber incidents and threat trends, based on real-world experience in the field.
Written by
Sam Lister
Specialist Security Researcher

More in this series

No items found.

Blog

/

/

June 25, 2026

Shadow AI Detection: The First Step Toward Securing AI

shadow aiDefault blog imageDefault blog image

Why shadow AI is emerging  

Imagine you’re an employee under pressure, deadlines stacking up, repetitive tasks piling higher by the day. You find a free AI tool online that promises to automate the work in seconds; no approvals are needed. It feels like a simple win, paste in some data, write a quick prompt, and move faster.

But in that moment, something changed.  

Sensitive customer information is entered into a tool your organization doesn’t monitor, doesn’t govern, and can’t see and suddenly, that data is no longer where it should be, and no one knows where it’s gone.

This is the reality of Shadow AI: employees using unsanctioned AI tools to move faster, while unintentionally creating risk that exists entirely outside visibility and control.  

This is not just a one off case, research across businesses indicate that nearly half of employees report using unsanctioned AI tools, often prioritizing speed and productivity over security. Additionally, 51% of employees report connecting AI tools to work systems or apps without IT approval, creating significant operational risk where the average cost of security incidents in organizations with a high level of shadow AI usage can reach $670k.

While shadow AI is often top of mind for security professionals, it is just one component of how AI use can increase risk. Understanding and managing shadow AI use should be considered as part of a broader, comprehensive risk management strategy that aims to secure AI systems, including human and agent identities, interactions, human-AI partnerships, and behaviors operating across the digital enterprise from visibility and governance through detection, response, and recovery.  

Effective risk management calls for a layered and interdisciplinary strategy. It requires addressing issues across governance and visibility; identity, access and agent control, data security and privacy, secure MLOps / LLMOps, runtime security, behavior-based detection, autonomous response and recovery.  

This blog explores a specific governance and visibility use case linked to shadow AI and reveals the challenges it presents as well as the defensive strategies that security teams can adopt.

Why shadow AI is hard to detect  

When it comes to AI, what organizations can easily see does not always reflect the full scope of AI activity occurring within the tools, applications, and workflows used across an enterprise. As a result, organizations using traditional rule-based methods to flag unusual activity may struggle to distinguish unsanctioned AI usage from legitimate operational behavior, particularly as SaaS applications, APIs, and orchestration layers increasingly have AI embedded into normal business workflows. Identifying threats using previously observed intelligence or depending on hard to maintain allow and block lists does not provide a dynamic enough strategy to manage risk. Also, many organizations are focusing on identifying Shadow AI in their governed infrastructure, like gateways, endpoints, or SASE, which is foundational. But, organizations require visibility and Shadow AI detection across all networked infrastructure from on-prem, hybrid, data centers, and cloud infrastructure that may not have endpoint agent visibility. This uncovers the utilization of MCP, data flows, and autonomous agents across these domains.

For example, employees interact with AI assistants across approved SaaS platforms every day. However, browser extensions and other types of plug-ins can route prompts that include enterprise data to embedded AI services in ways that are not visible to the security team. AI enabled workflows may invoke multiple APIs, orchestration layers, and cloud services behind the scenes, making it difficult for traditional security tooling to determine where data is processed, stored, or retransmitted. Because much of this activity occurs within trusted browser sessions and encrypted SaaS traffic, conventional network monitoring, DLP, and application allowlisting controls often lack the context needed to accurately identify or govern these interactions

Identifying AI tools in the environment is one part of the equation. Understanding the behavior surrounding their use is where the real challenge lies. An AI application is not inherently risky, but the way users or other assets interact with it may be. Sensitive data exposure, abnormal access patterns, and misuse of AI-assisted workflows often appear legitimate in isolation and only become visible through behavioral analysis across the broader environment.  

What Shadow AI visibility does and doesn’t show

Comprehensive Shadow AI visibility allows organizations to answer several important questions:

  • What types of AI are we using? What AI platforms, agents, MCP clients/servers, and services are active across the enterprise?  
  • Who is using AI services? Which users, business units, or systems are interacting with those AI services?  
  • Is our data safe? Is sensitive or regulated data being exposed through prompts, workflows, or integrations?  
  • Are AI systems behaving as expected? Are AI systems behaving anomalously or operating outside approved governance processes?  
  • Are our AI systems under attack? Is an attacker attempting to manipulate prompts, influence agent behavior, or abuse AI-enabled workflows?

Answering these questions is foundational to broader AI governance efforts. However, it is limited to helping teams understand initial interactions and fails to offer insight into dependencies and outcomes that are critical to securing AI across an enterprise.  

Deeper visibility that includes the ability to understand dependencies and outcomes are not always available in AI security point products. Answering the questions below requires understanding runtime behavior and operational outcomes:  

  • What actions did the AI interaction trigger?  
  • What systems, applications, or data did it access? Did the AI operate beyond its intended permissions or scope?  
  • Could a low-risk interaction lead to high-risk outcomes?  
  • What is the risk and context understanding of an anomalous activity to assist in prioritization of analysis and autonomous response action?

The distinction between these two sets of questions offers two different layers of AI security. The first set of questions focuses on discovery and interaction visibility. The second set focuses on providing visibility that includes the context and outcomes that are critical for managing follow-on risks associated with obfuscated downstream activities.  

Together, these layers help organizations move beyond simply identifying AI usage toward understanding how AI behaves operationally across the enterprise.

How organizations are addressing shadow AI

Most organizations still approach shadow AI as an application control problem, relying on policies, browser restrictions, and allow/block lists. However, AI adoption is evolving faster than most governance processes can realistically keep pace with. New assistants, plugins, and embedded AI features appear continuously, creating pressure to enable business productivity while simultaneously containing risk.  

Existing governance processes were designed for a more traditional SaaS adoption cycle, where new applications could be reviewed, approved, and monitored over longer time horizons. AI adoption operates differently. New capabilities can appear overnight inside existing platforms employees already use, making it difficult for security and governance teams to maintain an accurate understanding of enterprise AI exposure. This means that many organizations are experiencing significant operational overhead, particularly in large environments where AI usage is decentralized across teams, departments, and third-party services.  

Where should organizations start when securing their AI systems?

Shadow AI identification is an on-going critical component for AI Risk/Governance Boards as well as security organizations. As organizations seek AI certifications like ISO 42001 AI Management Systems, visibility into all AI adoption from enterprise use to custom innovation and development is crucial. Shadow AI identification provides organizations with the visibility needed to decide whether an AI tool should be brought into governed environments to reduce data loss (DLP) risks or whether policies should be established and enforced to restrict their use.

As organizations rapidly innovate and adopt AI, they are taking on more and more risk. Organizations need to have a strategy in place to mitigate the assumed risk, especially with third-party adoption. Visibility, monitoring, governance enforcement, behavioral-based detection of non-deterministic systems, and autonomous investigation and containment becomes critical to mitigating the risk of AI systems.  

How Darktrace secures AI and shadow AI

Attackers are using AI to move faster, scale tactics, and make threats more adaptive and convincing. Internally, organizations are grappling with new forms of risk created by generative AI, autonomous agents, shadow AI, and increasingly complex digital environments.

Darktrace helps organizations protect both people and AI in a world where AI is now central to how business gets done. Darktrace / SECURE AI helps organizations discover and control shadow AI by surfacing unsanctioned or unexpected AI activity where it appears – including MCP detections, distinguishing misuse of legitimate tools and unapproved services, and applying policy to contain data exposure while guiding users toward sanctioned options.

Stay up to date on AI security

Sign up for the Secure AI Readiness Program here: This gives you exclusive access to the latest news on the latest AI threats, updates on emerging approaches shaping AI security, and insights into the latest innovations, including Darktrace’s ongoing work in this area.

Ready to talk with a Darktrace expert on securing AI? Register here to receive practical guidance on the AI risks that matter most to your business, paired with clarity on where to focus first across governance, visibility, risk reduction, and long-term readiness.  

Continue reading
About the author

Blog

/

Network

/

June 25, 2026

From Click to Command: Behavioral Detection of AppleScript-Led MacOS Intrusions

applescript-led mac os intrusionDefault blog imageDefault blog image

Introduction

Darktrace’s Threat Research team is publishing this analysis to help defenders understand an active pattern of macOS tradecraft observed in multiple customer environments. This post summarizes the behaviors observed, how they were assessed, and what defenders can do now.

Across multiple environments, Darktrace observed a consistent MacOS intrusion pattern beginning with ClickFix-style user-assisted “update” execution and transitioning into AppleScript-driven post-compromise activity and sustained outbound signaling.

While individual indicators were low-confidence, the repeated convergence of weak behavioral signals — including HTTP POST beaconing, rare or IP-only destinations, SSL anomalies, and abnormal client characteristics — provided a defensible indication of command-and-control establishment Darktrace detection and response in these cases was driven by behavior over artifacts. In the highest-confidence instances, automated containment disrupted outbound signaling before sustained tasking could occur.

Background

ClickFix-style activity typically relies on user-assisted execution and plausible “update” pretexting, followed by post-execution use of native tools to keep the footprint light. In MacOS environments, AppleScript and other built-in scripting mechanisms enable flexible post-compromise workflows while minimizing stable file-based indicators.

Following execution, affected devices exhibited a consistent behavioral pattern. AppleScript or equivalent native scripting activity was observed initiating follow-on workflows, after which outbound communications began to establish a structured rhythm.

These communications were characterized by repeated HTTP POST requests to low-prevalence or IP-only endpoints, often combined with unusual SSL properties and client identifiers that diverged from baseline device behavior. Individually, these signals were weak. When correlated across time and devices, they formed a pattern consistent with control establishment rather than benign software activity.

In higher-confidence cases, Autonomous Response actions were able to reduce or halt outbound signaling, interrupting the attacker’s ability to maintain control.

Detection Timeline

In representative cases, the sequence unfolded as follows:

Stage 1 – Initial Execution

Initial activity began with suspicious or masqueraded execution on a MacOS endpoint, consistent with ClickFix-style user deception.

Stage 2 – Post-Execution Scripting

This was followed closely by native scripting activity, most commonly AppleScript, indicating the transition into post-execution workflow.

Stage 3 – Outbound Communications

Outbound communications then emerged, initially sporadic but quickly forming a consistent cadence of HTTP POST requests to rare external endpoints.

Stage 4 – Anomaly Convergence

As activity persisted, additional anomalies became visible — unusual SSL characteristics, abnormal user agents, and connections to infrastructure with no prior network prevalence.

Stage 5 – Autonomous Response

In the most mature stages of the activity, automated containment actions disrupted outbound communications on affected devices, limiting the attacker’s ability to continue tasking while investigations progressed.

Darktrace coverage and detections

The following use-case highlights systems likely affected by malicious macOS intrusion activity linked by Microsoft to the Democratic People’s Republic of Korea (DPRK) [1], with indications of suspicious behavior observed between March 1 and May 3, 2026. The activity overlaps with patterns described in recent reporting on DPRK-nexus MacOS intrusions [1], though attribution confidence in this case remains moderate and based on behavioral alignment rather than solely infrastructure linkage.

Analyst confidence emerged through the correlation of multiple weak signals across time and devices. This included model coverage for rare external communications, sustained beaconing patterns, repeated HTTP POSTs, and anomalous client characteristics. Where enabled, Autonomous Response actions disrupted the most active outbound paths to reduce the attacker’s ability to maintain control while Darktrace’s investigation continued.

Notably, this highly anomalous behavior included:

  • Outbound connections to the rare external endpoint, zoom[.]uswebob[.]us associated with IP address, 148.72.73[.]98 [2][3] over port 443
  • Outbound connections to the rare external endpoint, check02id[.]com associated with IP address, 83.136.210[.]180 [4] over port 7365
  • Outbound connections to the rare external endpoints, 104.145.210[.]107 [5] over port 8443 and 83.136.208[.]48 [6] over port 443
  • Outbound connections to the rare external endpoint, 83.136.208[.]246 [7] over port 6783 with observed URI `/api/daemon` and a PowerShell user agent

Darktrace’s detection initially highlighted a desktop device (running MacOS) engaging in anomalous behavior as early as March 12, 2026. Starting on March 12, the source device triggered a ‘Possible Doppelganger Attack’ alert including connectivity to the hostname "zoom[.]uswebob[.]us · 148.72.73[.]98" over port 443 (TCP, HTTPS, H2). This model highlights a device connecting to a location that is rare but masquerades as legitimate software, such as Zoom in this case, a commonly used technique to blend into expected traffic [2] [3].

 Initial connectivity observed to the rare external hostname, zoom[.]uswebob[.]us · 148.72.73[.]98, over port 443.
Figure 1: Initial connectivity observed to the rare external hostname, zoom[.]uswebob[.]us · 148.72.73[.]98, over port 443.

This was followed roughly seven later by a connection to 104.145.210[.]107 over port 8443, during which approximately 250 KiB of data of inbound data and 30 MiB of outbound data was observed, triggering the ‘Unusual Activity / Unusual External Data to New Endpoint’ in Darktrace.

Quickly after this connection, Darktrace’s Autonomous Response intervened, blocking the device’s access to the unusual external location and halting the data exfiltration attempt.

Figure 2: Darktrace’s detection of unusual data exfiltration, shortly followed by an Autonomous Response action to block it.

The device continued to consistently trigger model alerts relating to unusual external connectivity, including 'Posting HTTP to IP Without Hostname', 'Anomalous Connection / Rare External SSL Self-Signed' alerts, until well after 3 PM that day.

Figure 3: Additional external connectivity to new IP without a hostname, including connectivity to 83.136.208[.]246, alongside an anomalous ‘curl/8.7.1’ user agent and ‘/api/daemon’ URI.
Figure 4: Continued external SSL connectivity to IP 83.136.208[.]48, including connectivity to 83.136.208[.]246, alongside an anomalous ‘curl/8.7.1’ user agent and ‘/api/daemon’ URI.
Figure 5: Continued external HTTP connectivity to hostname, check02id[.]com · 83.136.210[.]180, alongside an anomalous ‘Go-http-client/1,1’ user agent.

From March 13 to March 28, the device continued exhibit unusual connectivity to various endpoints (e.g., 83.136.208[.]48, 83.136.208[.]246, check02id[.]com · 83.136.210[.]180), with the 'Multiple HTTP POSTs to Rare Hostname' model consistently triggering.

Windows OS Case

Pivoting over to an additional device, this time running Windows OS, anomalous behavior was also observed between March 30 and April 20. Notably, on March 30, the device was observed making a large number of suspicious external connection attempts to 83.136.208[.]246 over port 6783, all of which failed.

A further indicator was observed on April 1 with PowerShell connectivity to the same rare endpoint (83.136.208[.]246, port 6783), using the URI '/api/daemon' and the user agent 'Mozilla/5.0 (Windows NT; Windows NT 10.0; fr-FR) WindowsPowerShell/5.1.26100.7920'.  Additional alerts included 'New User Agent to IP Without Hostname' and 'Anomalous Github Download', alongside activity involving the same endpoint.

Figure 6 : ‘Anomalous Powershell to Rare External Destination’ and ‘Github Download’ model alerts. This behavior involved connectivity with the endpoints ‘83.136.208[.]246’ and ‘github[.]com’.

The device continued triggering 'Posting HTTP to IP Without Hostname' & 'PowerShell to External Rare' alerts between April 4 and April 20 across multiple related endpoints (i.e., 83.136.208[.]48, 83.136.208[.]246, check02id[.]com · 83.136.210[.]180).

Darktrace’s Autonomous Response capability was able to block suspicious PowerShell attempts to unusual external locations, as shown below in an example from April 20.

Figure 7:  Autonomous Response intervening to block an unusual PowerShell connection to an external destination.

Cyber AI Analyst investigations

In higher-confidence instances, Darktrace’s Cyber AI Analyst investigations helped connect otherwise separate model alerts into a single incident narrative, highlighting the attacker’s progression from post-execution scripting into sustained outbound signaling. This contextual stitching is particularly valuable in macOS scenarios where static artefacts are limited, and behavioral sequencing defines the intrusion.

Cyber AI Analyst investigations highlighted alerts on March 12, including unusual repeated connections and possible SSL command-and-control (C2) to multiple endpoints:

Figure 8: Cyber AI Analyst investigation linking events into a unified incident.

Autonomous Response

In addition to the containment actions detailed earlier, Autonomous Response implemented multiple additional measures to contain suspicious activity throughout the course of this attack. Whenever unusual external connectivity was detected, Darktrace blocked it, closing down potential C2 channels. Likewise, when data exfiltration attempts were identified, these connections were stopped to prevent the potential loss of sensitive data.

Figure 9: Autonomous Response actions implemented by Darktrace in response to suspicious connectivity in mid-March.

Furthermore, in cases where a device was deemed to have carried out a significant number of anomalous activities, Darktrace enforced a “pattern of life” on the device, preventing it from deviating from its expected behavior while allowing legitimate business operations to continue uninterrupted.

Figure 10: Autonomous Response actions implemented by Darktrace in response to suspicious connectivity in April, including the “Enforce Pattern of Life” action.

Conclusion

macOS intrusion tradecraft continues to shift toward native tooling and lightweight control channels designed to evade signature-led controls.

The repeated convergence of rare destinations, POST-based signaling, and anomalous client behavior — observed across time and across devices — provided sufficient evidence to act early and with confidence.

As macOS tradecraft continues to evolve, the defender advantage increasingly lies not in signatures, but in the ability to reason from behavior.

Credit to Justin Torres (Senior Cyber Analyst), Nathaniel Jones (VP, Security & AI Strategy, FCISO)

Edited by Ryan Traill (Content Manager)

Appendices

Darktrace Model Alert Coverage:

/ NETWORK-based model alerts:

·       Anomalous Connection::Multiple HTTP POSTs to Rare Hostname

·       Anomalous Connection::Rare External SSL Self-Signed

·       Anomalous Connection::Powershell to Rare External

·       Anomalous Connection::New User Agent to IP Without Hostname

·       Anomalous Connection::Posting HTTP to IP Without Hostname

·       Compromise::Fast Beaconing to DGA

·       Compromise::Large Number of Suspicious Failed Connections

·       Device::Anomalous Github Download

·       Device::New PowerShell User Agent

·       Unusual Activity::Unusual External Data to New Endpoint

/ NETWORK-based Autonomous Response model alerts:

·       Antigena / Network::Significant Anomaly::Antigena Significant Anomaly from Client Block

·       Antigena / Network::Significant Anomaly::Antigena Controlled and Model Breach

·       Antigena / Network::Significant Anomaly::Antigena Breaches Over Time Block

Indicators of Compromise (IoCs)

IP/Hostname:

·       zoom[.]uswebob[.]us · 148.72.73[.]98

·       83.136.208[.]246

·       check02id[.]com · 83.136.210[.]180

·       83.136.208[.]48

·       104.145.210[.]107

URIs:

·       /api/daemon

Destination Port Usage:

·       6783

·       5202

·       443

·       7365

·       8443

ASN:

·       AS400897 PETROSKY

·       AS398256 AS-ULTAHOST

User agents:

·       Mozilla/5.0 (Windows NT; Windows NT 10.0; fr-FR) WindowsPowerShell/5.1.26100.7920

·       Go-http-client/1.1

·       curl/8.7.1

MITRE ATT&CK Mapping

(Technique Name - Tactic - ID - Sub-Technique of)

·       Browser Session Hijacking - COLLECTION - T1185

·       Web Protocols - COMMAND AND CONTROL - T1071.001 - T1071

·       Install Digital Certificate - RESOURCE DEVELOPMENT - T1608.003 - T1608

·       PowerShell - EXECUTION - T1059.001 - T1059

·       Domain Generation Algorithms - COMMAND AND CONTROL - T1568.002 - T1568

·       Non-Standard Port - COMMAND AND CONTROL - T1571

·       Malware - RESOURCE DEVELOPMENT - T1588.001 - T1588

·       Web Service - COMMAND AND CONTROL - T1102

·       Code Repositories - COLLECTION - T1213.003 - T1213

·       Exploitation of Remote Services - LATERAL MOVEMENT - T1210

·       Exfiltration Over C2 Channel - EXFILTRATION - T1041

·       Exfiltration to Cloud Storage - EXFILTRATION - T1567.002 - T1567

References:

[1] https://www.microsoft.com/en-us/security/blog/2026/04/16/dissecting-sapphire-sleets-macos-intrusion-from-lure-to-compromise/

[2] https://radar.securityalliance.org/advisory-on-dprk-unc1069-fake-microsoft-teams-and-zoom-calls/

[3] https://www.virustotal.com/gui/domain/uswebob.us

[4] https://www.virustotal.com/gui/ip-address/83.136.210.180/community

[5] https://www.virustotal.com/gui/ip-address/104.145.210.107/community

[6] https://www.virustotal.com/gui/ip-address/83.136.208.48/community

[7] https://www.virustotal.com/gui/ip-address/83.136.208.246/community

[8] https://www.darktrace.com/blog/applescript-abuse-unpacking-a-macos-phishing-campaign

Continue reading
About the author
Justin Torres
Cyber Analyst
Your data. Our AI.
Elevate your network security with Darktrace AI