A Windows null session is an unauthenticated network connection made with an empty username and password, traditionally through the special IPC$ share. IPC$ supports named-pipe communication used by Windows components and applications.
The existence of IPC$ does not automatically mean an attacker can enumerate accounts or read files. Effective access depends on the Windows version, security policies, resource permissions, application configuration, and network exposure.
What a null session may access
named pipes explicitly allowed for anonymous use;
shares explicitly configured for null-session access;
account, group, share, or policy information permitted by anonymous-enumeration settings;
legacy applications that intentionally depend on unauthenticated SMB or RPC behavior.
Modern Windows versions restrict many historical behaviors, but misconfiguration and legacy compatibility can reintroduce them. Microsoft's current IPC$ and null session documentation explains that anonymous named-pipe and share access is controlled separately.
Why null sessions can be risky
Anonymous enumeration can help an attacker map users, groups, shares, and services before password spraying or lateral movement. Anonymous access to a writable share or sensitive named pipe can create direct impact. Internet exposure of SMB or RPC greatly increases risk regardless of null-session configuration.
How to validate exposure and activity
Inventory exposure. Identify hosts listening for SMB/RPC and whether firewalls restrict them to required management or application networks.
Review policy. Check anonymous enumeration, “Let Everyone permissions apply to anonymous users,” anonymous named pipes, anonymous shares, and restriction policies through Group Policy or the approved configuration-management system.
Inspect resource permissions. A secure global setting does not replace correct ACLs on each share and application endpoint.
Review logs. Correlate Anonymous Logon network events, share access, named-pipe use, source address, target resource, and frequency. A network logon event alone is not proof of successful sensitive access.
Test only with authorization. Validate from a controlled assessment host and document exactly which data or operation was available.
Hardening checklist
block SMB and RPC from the internet and restrict internal access to required systems;
remove unnecessary entries from anonymous named-pipe and share allow-lists;
enable policies restricting anonymous access, account enumeration, and anonymous application of Everyone permissions;
remove SMB1 and unsupported legacy systems, while recognizing that SMB1 removal alone does not configure all null-session policies;
use authenticated service identities and least-privilege ACLs instead of anonymous compatibility;
monitor configuration drift and repeated anonymous enumeration attempts.
Avoid breaking legacy services
Do not apply undocumented registry values across production without testing. Inventory applications that use named pipes or unauthenticated shares, deploy policy to a test group, monitor failures, and replace the dependency with authenticated access. A temporary exception should name the exact resource and source systems rather than reopening anonymous access broadly.
After a change, repeat the authorized access test from both an allowed and a disallowed network segment. Confirm not only that enumeration fails, but also that required applications still reach their named pipes and shares with the intended authenticated identity.
Null session FAQ
Should IPC$ be deleted?
No. It is a built-in administrative communication share. Control what anonymous clients can reach through it.
Does Event ID 4624 prove compromise?
No. It records a logon event. Review account, logon type, source, resource access, and follow-on behavior.