CyberIntel ⬡ News
★ Saved ◆ Cyber Reads
← Back ◉ Threat Intelligence

Enhanced Network Visibility: A Dive into the Falcon macOS Sensor's New Capabilities

CrowdStrike Archived Mar 16, 2026 ✓ Full text saved
Full text archived locally
✦ AI Summary · Claude Sonnet


    BLOG Featured Recent Video Category Start Free Trial Enhanced Network Visibility: A Dive into the Falcon macOS Sensor's New Capabilities March 11, 2026 | Ash Leslie - Colton Terrace - Chris Kent | Endpoint Security & XDR The much-anticipated Enhanced Network Visibility feature for macOS is now generally available in sensor version 7.29 or later. This new capability provides insight and improved visibility into network traffic occurring on macOS endpoints, creating a more sophisticated and comprehensive model of process behavior.  In this blog, we provide an in-depth overview of this new capability. We showcase detection enablement and numerous threat hunting applications, now enabled by Enhanced Network Visibility for macOS, and dive into new network capabilities built to empower threat hunters and detection teams against threat actor activity. What Is Enhanced Network Visibility? Enhanced network visibility supplements process activity monitoring with attributes derived from the contents of network traffic. Moving beyond basic network address and port data, this enhanced monitoring identifies specific application protocols, analyzes TLS (encrypted) traffic characteristics, and examines plaintext HTTP traffic attributes, further enriching the robust data set the Falcon sensor provides.  This capability leverages the latest Apple-native content filter APIs to enable  enhanced network visibility with the least possible impact on network performance. The content filter API allows the sensor to intercept the least amount of data possible, allowing data for a network flow to bypass interception completely once the traffic has been identified. This targeted approach offers significant efficiency advantages over packet-based inspection methods, minimizing system impact while maximizing detection capabilities, all the while being an opt-in feature, allowing customers the choice to enable within their environments  One of the new exciting features is the integration of JA4 fingerprinting (ref: https://foxio.io/). JA4 provides a summarized representation, or “signature,” of the capabilities and configuration of a specific TLS client library. This signature is derived from the TLS "client hello" packet, the first step in establishing a secure connection. JA4 can be used to differentiate between otherwise indistinguishable TLS connections, and can provide evidence of proxying, if a single process exhibits several unique signatures. JA4 was designed by FoxIO to replace JA3, which is not compatible with the TLS client extension randomized reordering employed by modern browsers and bots.  Supported Protocols At launch, Enhanced Network Visibility will support parsing of plaintext HTTP requests and responses and TLS client hello packets. Additionally, the feature will identify the use of HTTP, TLS, SOCKS4/5, Wireguard, SSH, SMB, VNC, ARD, and DNS on any network port, emitting an AppProtocolDetected event when a process makes use of one of these protocols. Proxy visibility is also supported. Protocol AppProtocol Value Capability Description HTTP 1.x 110 Identify & Inspect Plaintext HTTP requests and responses TLS 102 Identify & Inspect TLS client hello (client session establishment) SOCKS4 SOCKS5 104 Identify & Inspect Traffic encapsulated within a SOCKS4 or SOCKS5 proxy is supported transparently Wireguard 105 Identify Wireguard VPN SSH 108 Identify Secure shell SMB 112 Identify File sharing VNC, ARD 107 Identify Apple Remote Desktop (ARD) or VNC screen sharing QUIC 103 Identify IETF QUIC (and HTTP/3) traffic. Encrypted, but can process the embedded TLS client hello. DNS 100 Identify & Inspect Domain Name System New CrowdStrike Falcon Next-Gen SIEM Events #event_simpleName=HttpRequest This event contains the request type, URL, headers, and body of a plaintext HTTP request. New interesting key/value pairs for this event are outlined below: #event_simpleName=HttpResponse This event contains the response code and headers of a plaintext HTTP response. New interesting key/value pairs for this event are outlined below: #event_simpleName=TlsClientHello This event contains information derived from the client side of a TLS client connection establishment, including the server name indication value (SNI), next protocol (ALPN), and the JA3 and JA4 client fingerprints. New interesting key/value pairs for this event are outlined below: #event_simpleName=AppProtocolDetected This event contains the network protocol in use that has been identified. It supplements host/port information provided by existing network-based telemetry, including NetworkConnect, NetworkAccept, etc. New interesting key/value pairs for this event are outlined below: How to Enable macOS Enhanced Network Visibility To enable this feature, navigate to the Mac Prevention Policies and configure an existing policy, or create a new policy, with the “Enhanced Network Visibility” toggle enabled ([US-1] [US-2] [EU]). Figure 1. Enhanced Network Visibility toggle Threat Hunting Examples Threat hunting is by nature designed to surface activity that is interesting or suspicious, and with further refinement can lead to the creation of detections to alert on the activity if observed again. CrowdStrike Falcon® Next-Gen SIEM provides this capability via an easy single-click button that guides the user through the conversion of the Falcon Next-Gen SIEM search query into a Falcon Next-Gen SIEM detection rule.  Figure 2. Create rule single-click functionality The following Falcon Next-Gen SIEM Advanced Event Search queries are provided to empower customers to hunt for abnormal activity and create detections relevant to their threat models.  Please note, in the following searches, the generated “GraphExplorer” URL is for US-1 customers. For US-2 and EU-based customers, please modify the URL to be “https://falcon.us-2.crowdstrike.com” and “https://falcon.eu-1.crowdstrike.com” as required.  Hunting for ClickFix and Abnormal LOLBIN Activity  Let's take a look at a recently reported ClickFix sample. What we see here is a common methodology to lure victims into downloading malicious payloads. Figure 3. ClickFix social engineering example First, the user is socially engineered into copying and executing a malicious shell script into the terminal. This shell script reaches out to a URL and pipes the contents straight into another shell. The second shell script, once passed through some decoding routines, executes malicious instructions telling Curl to reach out to another URL (which contains malicious AppleScript) and pass the contents straight into Osascript for further execution. If allowed to continue this far, the AppleScript undertakes relatively standard host reconnaissance, resulting in downloading and executing an infostealer MachO binary.  Common HTTP URL Structure  First, we can hunt for the common URL and HttpPath structure that is observed in the various HTTP requests during the delivery of the shell scripts and AppleScript payloads. #event_simpleName="HttpRequest" event_platform=Mac HttpPath=/(?:build|dynamic\?)txd\=/i | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "ContextProcessId"], as=GraphExplorer) | table([@timestamp, aid, GraphExplorer, HttpPath, HttpHost, CommandLine, ImageFileName], limit=20000) | sort(cid, limit=20000) We can also hunt for the UserAgent string “Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36” observed by Curl in this attack chain.  #event_simpleName="HttpRequest" event_platform=Mac ImageFileName=/curl/ HttpUserAgent=/AppleWebKit\/537\.36/ | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "ContextProcessId"], as=GraphExplorer) | table([@timestamp, aid, GraphExplorer, HttpUserAgent, HttpPath, HttpHost, CommandLine, ImageFileName], limit=20000) | sort(cid, limit=20000) LOLBIN Activity Chain A commonly observed pattern of activity with the “ClickFix” style of social engineering and InfoStealer delivery is the pattern of using living off the land binaries (LOLBINs) to undertake the downloading of binaries (via curl), removing the quarantine attribute (via xattr) and setting the binary as executable (via chmod). We can hunt for this sequence within Falcon Next-Gen SIEM using a combination of the newly provided network telemetry, as well as existing process-related data, using the former to enrich the latter. Using the Falcon LogScale function “correlate” allows us to define a set of requirements (similar to subsearches), which we can use to identify the usage of the common LOLBINs and suspicious network traffic within a set time frame across a single endpoint — providing us with a curated data set of possible attacker activity that may indicate malicious payloads arriving in our environments. event_platform=Mac | correlate( Macho_Written: { #event_simpleName="MachOFileWritten" | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "ContextProcessId"], as=GraphExplorer) } include: [ContextBaseFileName, TargetFileName, ContextProcessId, GraphExplorer], Curl_HttpRequest: { #event_simpleName=HttpRequest FileName=curl | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "ContextProcessId"], as=GraphExplorer) } include: [ImageFileName, CommandLine, HttpHost, HttpPath, ContextProcessId, GraphExplorer], Remove_Quarantine: { #event_simpleName=ProcessRollup2 FileName=xattr | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "TargetProcessId"], as=GraphExplorer) } include: [FileName, CommandLine, TargetProcessId, GraphExplorer], Add_chmod: { #event_simpleName=ProcessRollup2 FileName=chmod | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "TargetProcessId"], as=GraphExplorer) } include: [FileName, CommandLine, TargetProcessId, GraphExplorer], globalConstraints=[aid], sequence=false, within=1m ) Hunting for Adload  A common methodology employed by Adload adware/malware is the usage of Go UserAgents in its HTTP traffic. We can hunt for this behavior in conjunction with other attributes such as unsigned or adhoc signed binaries, and process execution from commonly abused file paths such as /tmp/. For this search, we can use a simple join function to correlate the HttpRequest data with the process data (i.e., ProcessRollup2 event). event_platform=Mac #event_simpleName=ProcessRollup2 TeamId="-" ImageFileName=/\/tmp\// | join({event_platform=Mac #event_simpleName=HttpRequest HttpUserAgent="Go-http-client/1.1"}, field=TargetProcessId, key=ContextProcessId, include=[HttpRequestHeader, HttpMethod, HttpRequestHeader, HttpHost, HttpPath, HttpBodyAsString], limit=20000) | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "TargetProcessId"], as=GraphExplorer) | groupBy([aid, GraphExplorer, ImageFileName, CommandLine, HttpHost, HttpPath]) Hunting Use of Clawdbot/OpenClaw via Network Traffic Let's look at a more topical concern impacting customer environments, the usage (authorized or not) of AI assistant tools such as Clawdbot/OpenClaw, and how we can identify use within our environments via network traffic. HTTP Traffic to Controller Interface Default usage of Clawdbot/OpenClaw will configure the controller to run on port 18789, with access normally provided via the browser and HttpRequests to the service running locally, hosted within a container or configured on a remote host. event_platform=Mac #event_simpleName=HttpRequest RemotePort=18789 HttpPath=/(?:openclaw|moltbot|clawdbot)/ | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "ContextProcessId"], as=GraphExplorer) | table([@timestamp, aid, GraphExplorer, HttpPath, HttpHost, CommandLine, ImageFileName], limit=20000) | sort(cid, limit=20000) Hunting Common C2 Frameworks Mythic is a widely popular and versatile red teaming framework built for macOS operations. Common Mythic Agents including Apfell, Poseidon, Merlin, and others can be built to natively execute on macOS devices, but when deployed in their default and commonly observed configurations, they are highly targetable using network telemetry and process behaviors. Default Usage of HTTP C2 Profile Most Mythic Agents can be configured to utilize the HTTP C2 profile, which makes it a popular and easy choice for red teamers and penetration testers. When configured to not use TLS connections (which requires certificates to be generated) and with standard/default HTTP parameters including UserAgent, URI paths, etc., the HTTP C2 profile usage can be easily hunted against. #event_simpleName="HttpRequest" event_platform=Mac | base64Decode("HttpBodyAsString", as="DecodedBody") | regex(field=DecodedBody, "(?<guid>.+?){(?<json_payload>.+?)}") | regex(field=json_payload, regex="action\":\"(?<action>.+?)\"") | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "ContextProcessId"], as=GraphExplorer) | groupBy([aid, ContextProcessId, FileName, GraphExplorer], function=collect([action, json_payload],separator=",")) Default JA4 Fingerprints for Mythic and Sliver Certain Mythic Agents, again configured with default options, generate unique and “huntable” JA4 fingerprints. This is also seen with default-generated Sliver C2 framework agents. A public collection of JA4 fingerprints mapped against process names is available at https://ja4db.com/. This data provides a wealth of information to begin hunting processes and build out additional hunting hypotheses. #event_simpleName=TlsClientHello event_platform=Mac | TlsClientFingerprintJa4=t13d190900_9dc949149365_97f8aa674fd9 OR TlsClientFingerprintJa4=t13d0511h1_1adb828df2d1_e7c285222651 Hunting for Abnormal SNI Values The Server Name Indication (SNI) value serves a valuable purpose during the TLS handshake, and it can also be leveraged to identify abnormal activity occurring on hosts, including data exfiltration. Let's look for a TlsClientHello event containing a TlsServerName (i.e., SNI) value that doesn’t look like a standard domain name/URL. We can then map that back to process data. defineTable( query={event_platform=Mac #event_simpleName=TlsClientHello TlsServerName!=/\./ TlsServerName=* | groupBy(aid, ImageFileName, ContextProcessId, TlsServerName, TlsClientFingerprintJa4)}, name="abnormal_SNI", start=7d, include=*) | event_platform=Mac #event_simpleName="ProcessRollup2" | match(file="abnormal_SNI", field="TargetProcessId", column="ContextProcessId") | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "TargetProcessId"], as=GraphExplorer) | table([@timestamp, aid, GraphExplorer, TlsServerName, TlsClientFingerprintJa4, TeamId, SigningId, CommandLine, ImageFileName], limit=20000) | sort(cid, limit=20000) Hunting for Application Tunnelling Application tunnelling is an advanced technique utilized by threat actors and red teamers alike. The technique allows encapsulating network traffic inside other legitimate and allowed protocols, blending in with other applications on the endpoint, bypassing network layer defenses, and providing an ingress point into environments. We can hunt for this in a number of different ways. Multiple Unique JA4 Fingerprints  The following threat hunt focuses on identifying a single process generating multiple and distinct JA4 fingerprints. While not unusual for a process to be observed with multiple fingerprints (e.g., when negotiating a TLS connection to a server, the request can be upgraded or downgraded based on available TLS versions/ciphers, which in turn generate multiple JA4 fingerprints), the hunt is focused on the distinctness of the middle and last blocks found in the JA4 fingerprint when compared to each other. When reviewed in the context of what those blocks represent, it indicates the likelihood that another application's network traffic is potentially being tunneled through this process. defineTable( query={ #event_simpleName=TlsClientHello event_platform=Mac | splitString(by="\_", as=JA4Blocks, field=TlsClientFingerprintJa4) | groupBy([aid, ContextProcessId, ImageFileName], function=[count(field=JA4Blocks[1], as=countBlock1, distinct=true), count(field=JA4Blocks[2], as=countBlock2, distinct=true), collect(TlsClientFingerprintJa4), collect(JA4Blocks[0]), collect(JA4Blocks[1]), collect(JA4Blocks[2])]) | countBlock1 > 1 | countBlock2 > 1 | groupBy([aid, ContextProcessId, ImageFileName, CommandLine, TlsClientFingerprintJa4, JA4Blocks[0], JA4Blocks[1], JA4Blocks[2]]) }, name="multiple_ja4hahes", start=7d, include=*) | event_platform=Mac #event_simpleName="ProcessRollup2" TeamId="-" | NOT in(field="ImageFileName", values=["/System/*", "/usr/*"]) | match(file="multiple_ja4hahes", field="TargetProcessId", column="ContextProcessId") | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "TargetProcessId"], as=GraphExplorer) | table([@timestamp, aid, GraphExplorer, TlsClientFingerprintJa4, TeamId, SigningId, CommandLine, ImageFileName], limit=20000) | sort(cid, limit=20000) ImageFileName has been filtered to exclude the /System/ and /usr/ directories, but this will likely need to be expanded once a general search has identified “known good processes or execution paths” for processes and applications such as proxies and VPNs. Playing around with what JA4 blocks are distinct will produce different results and further hunting opportunities. Multiple AppProtocol Events on a Single Process This next hunt looks for similar activity but takes a different approach via usage of AppProtocolDetected events. We are hunting for a single process observed generating network traffic matching different supported protocols. This could be a single process generating SSH and HTTP traffic, which in most cases is abnormal outside the scope of expected application families such as VPNs and proxies. This abnormality could be an indication that the process is tunneling network traffic and acting as an ingress point into your environment. defineTable( query={ #event_simpleName=AppProtocolDetected event_platform=Mac | case{ "AppProtocol"="0" | AppProtocolReadable:="UNSUPPORTED"; "AppProtocol"="100" | AppProtocolReadable:="DNS"; "AppProtocol"="102" | AppProtocolReadable:="TLS"; "AppProtocol"="103" | AppProtocolReadable:="QUIC"; "AppProtocol"="104" | AppProtocolReadable:="SOCKS4/5"; "AppProtocol"="105" | AppProtocolReadable:="WIREGUARD"; "AppProtocol"="107" | AppProtocolReadable:="VNC/ARD"; "AppProtocol"="108" | AppProtocolReadable:="SSH"; "AppProtocol"="110" | AppProtocolReadable:="HTTP"; "AppProtocol"="112" | AppProtocolReadable:="SMB"; } | groupBy(aid, ImageFileName, ContextProcessId, function=[count(field=AppProtocolReadable, as=countAppProtocolReadable, distinct=true), collect(AppProtocolReadable)]) | countAppProtocolReadable > 1 }, name="multiple_appprotocols", start=7d, include=*) | event_platform=Mac #event_simpleName="ProcessRollup2" TeamId="-" | NOT in(field="ImageFileName", values=["/System/*", "/usr/*"]) | match(file="multiple_appprotocols", field="TargetProcessId", column="ContextProcessId") | format("[GraphExplorer](https://falcon.crowdstrike.com/graphs/process-explorer/tree?id=pid:%s:%s)", field=["aid", "TargetProcessId"], as=GraphExplorer) | table([@timestamp, aid, GraphExplorer, AppProtocolReadable, TeamId, SigningId, CommandLine, ImageFileName], limit=20000) | sort(cid, limit=20000) As in the previous hunt, ImageFileName has been filtered to exclude the /System/ and /usr/ directories, but this will likely need to be expanded once a general search has identified “known good processes or execution paths” for processes and applications such as proxies and VPNs. Modifying the “countAppProtocolReadable” value to higher thresholds reduces the scope but requires more variety of network traffic to be identified before matching.  Conclusion The Falcon sensor for macOS has been enhanced to provide improved detection and visibility of network traffic. We encourage security teams to ensure these features are enabled and are being used to hunt for and detect abnormal activity across their environments.  Additional Resources Read this blog to learn about our latest enhancements to the Falcon sensor on Linux platforms. For more information regarding infostealer impacting macOS, read this blog. Read the CrowdStrike 2026 Global Threat Report here. Tweet Share CrowdStrike 2026 Global Threat Report AI threats have reached a critical turning point. Access the definitive look at the cyber threat landscape. Download report Related Content Falcon for XIoT Extends Asset Protection to Healthcare Environments Advanced Web Shell Detection and Prevention: A Deep Dive into CrowdStrike's Linux Sensor Capabilities CrowdStrike Falcon Scores Perfect 100% in SE Labs’ Most Challenging Ransomware Test CATEGORIES Agentic SOC 48 Cloud & Application Security 139 Data Protection 21 Endpoint Security & XDR 351 Engineering & Tech 86 Executive Viewpoint 177 Exposure Management 116 From The Front Lines 198 Next-Gen Identity Security 67 Next-Gen SIEM & Log Management 111 Public Sector 40 Securing AI 25 Threat Hunting & Intel 210 CONNECT WITH US FEATURED ARTICLES October 01, 2024 CrowdStrike Named a Leader in 2024 Gartner® Magic Quadrant™ for Endpoint Protection Platforms September 25, 2024 Recognizing the Resilience of the CrowdStrike Community September 25, 2024 CrowdStrike Drives Cybersecurity Forward with New Innovations Spanning AI, Cloud, Next-Gen SIEM and Identity Protection September 18, 2024 SUBSCRIBE Sign up now to receive the latest notifications and updates from CrowdStrike. Sign Up Falcon for XIoT Extends Asset Protection to Healthcare Environments Copyright © 2026 CrowdStrike Privacy Request Info Blog Contact Us 1.888.512.8906 Accessibility ABOUT COOKIES ON THIS SITE In order to provide you with the most relevant content and best browser experience, we use cookies to remember and store information about how you use our website. See how we use this information in our Privacy Notice and more information about cookies in our Cookie Notice. Privacy Preference Center Privacy Preference Center Your Privacy Strictly Necessary Cookies Performance Cookies Functional Cookies Targeting Cookies Your Privacy When you visit any website, it may store or retrieve information on your browser, mostly in the form of cookies. This information might be about you, your preferences or your device and is mostly used to make the site work as you expect it to. The information does not usually directly identify you, but it can give you a more personalized web experience. Because we respect your right to privacy, you can choose not to allow some types of cookies. Click on the different category headings to find out more and change our default settings. However, blocking some types of cookies may impact your experience of the site and the services we are able to offer. More information Strictly Necessary Cookies Always Active These cookies are necessary for the website to function and cannot be switched off in our systems. They may be set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies may process limited personal information, such as technical or device identifiers, where necessary to ensure the security, functionality, and integrity of the website or web portal. Such processing is strictly limited to what is required for these purposes and is not used for advertising or marketing. Cookies Details Performance Cookies Performance Cookies These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. All information these cookies collect is aggregated and therefore does not identify you. If you do not allow these cookies, your visit to our website will not be included in our analytics, and our ability to monitor website performance and make improvements will be reduced. Cookies Details Functional Cookies Functional Cookies These cookies enable the website to provide enhanced functionality and personalisation. They may be set by us or by third party providers whose services we have added to our pages. If you do not allow these cookies then some or all of these services may not function properly. Cookies Details Targeting Cookies Targeting Cookies These cookies may be set on our site by our advertising partners. They assign a unique identifier to your browser or device and may track your activity across sites to build a profile of your interests and show you relevant adverts on other sites. If you do not allow these cookies, you will still see ads, but they may be less relevant to you. Cookies Details Cookie List Consent Leg.Interest checkbox label label checkbox label label checkbox label label Clear checkbox label label Apply Cancel Confirm My Choices Allow All
    💬 Team Notes
    Article Info
    Source
    CrowdStrike
    Category
    ◉ Threat Intelligence
    Published
    Archived
    Mar 16, 2026
    Full Text
    ✓ Saved locally
    Open Original ↗