pentesting-msrpc

Enumerate and test Microsoft RPC endpoints, named pipes, and DCOM interfaces on Windows hosts.

954|172|Updated Mar 13, 2026
One-click install
npx skills add https://github.com/xalgord/xalgorix --skill pentesting-msrpc
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: pentesting-msrpc
Source: https://github.com/xalgord/xalgorix/tree/main/internal/tools/skills/data/network-services-pentesting/pentesting-msrpc
Command: npx skills add https://github.com/xalgord/xalgorix --skill pentesting-msrpc

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

During authorized Windows and Active Directory assessments, testers need a structured way to enumerate the MSRPC endpoint mapper on port 135, map exposed RPC interfaces to named pipes, and identify abuse paths such as SAMR user enumeration, IOXIDResolver interface leaks, and DCOM command execution.

Core Features & Use Cases

  • Endpoint Enumeration: Dump RPC endpoints and IFIDs with rpcdump.py across TCP 135, SMB named pipes on 139/445, and HTTP on 593, plus Metasploit DCERPC scanner modules.
  • Unauthenticated and Authenticated Abuse: Leak network interfaces via IOXIDResolver ServerAlive2 without credentials, enumerate users lockout-safe through SAMR, and execute commands via dcomexec.py and atexec.py with valid credentials or pass-the-hash.
  • Use Case: On an authorized engagement, run rpcdump.py against a target, discover \pipe\samr and \pipe\svcctl are exposed, enumerate domain users without triggering lockouts, then use a captured admin hash with dcomexec.py for lateral movement.

Quick Start

Enumerate the RPC endpoints on the authorized target host and tell me which named pipes and interfaces are exposed.

Frequently Asked Questions about pentesting-msrpc

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enumerate RPC endpoints on a Windows host?

Run rpcdump.py from impacket against the target on port 135 to list IFIDs, named pipes, and bindings. If 135 is filtered, query over SMB with rpcdump.py -port 445 using credentials, or use Metasploit's auxiliary/scanner/dcerpc/endpoint_mapper module.

What named pipes indicate high-value RPC attack surface?

Key pipes include \pipe\samr for lockout-safe user enumeration, \pipe\svcctl and \pipe\atsvc for remote command execution with credentials, \pipe\lsarpc for LSA access, and \pipe\winreg for remote registry reads. Their presence in rpcdump output confirms the corresponding abuse primitives.

Can MSRPC be enumerated without credentials?

Yes. The IOXIDResolver interface's ServerAlive2 method leaks all network interfaces including IPv6 addresses without authentication, and the endpoint mapper itself can be queried anonymously on many hosts. Tools like IOXIDResolver.py and rpcmap.py perform this unauthenticated discovery.

How do I execute commands remotely via DCOM with valid credentials?

Use impacket's dcomexec.py with a domain or local account, optionally specifying objects like MMC20, ShellWindows, or ShellBrowserWindow if one is blocked. It also supports pass-the-hash via the -hashes flag, yielding a semi-interactive shell without creating a new service.

Does SAMR enumeration trigger account lockouts?

No. The SAMR interface over \pipe\samr allows user enumeration and password grinding without incrementing the bad-password counter, so account lockout policies do not interfere. Tools like samrdump.py and rpcclient's enumdomusers use this interface.

When should RPC interface fuzzing be performed?

RPC fuzzing with NtObjectManager and MS-RPC-Fuzzer should only run on isolated test VMs because it is destructive and can crash services or cause BSODs. It is intended for researching RPC attack surface, never for production or client systems.