Awesome
<img src="https://github.com/cyberark/PipeViewer/blob/assets/pipeviewer_logo.png" width="260"> A GUI tool for viewing Windows Named Pipes and searching for insecure permissions.The tool was published as part of a research about Docker named pipes:
"Breaking Docker Named Pipes SYSTEMatically: Docker Desktop Privilege Escalation – Part 1"
"Breaking Docker Named Pipes SYSTEMatically: Docker Desktop Privilege Escalation – Part 2"
Overview
PipeViewer is a GUI tool that allows users to view details about Windows Named pipes and their permissions. It is designed to be useful for security researchers who are interested in searching for named pipes with weak permissions or testing the security of named pipes. With PipeViewer, users can easily view and analyze information about named pipes on their systems, helping them to identify potential security vulnerabilities and take appropriate steps to secure their systems.
Usage
Double-click the EXE binary and you will get the list of all named pipes.
Build
Build the PipeViewer project using Visual Studio or the command line. Here's how:
Using Visual Studio
Open PipeViewer.sln
in Visual Studio.
Navigate to Build > Batch Build > Select "Release" for PipeViewer and click Build
.
Using Command Line
Open a Command Prompt and navigate to your project directory.
cd path\to\PipeViewer
msbuild PipeViewer.sln /p:Configuration=Release /p:Platform="Any CPU"
- Make sure that MSBuild is added to your system's PATH or provide the full path to the MSBuild executable.
The executable will be created in: 'C:\path\to\PipeViewer\PipeViewer\bin\Release'.
When downloading it from GitHub you might get error of block files, you can use PowerShell to unblock them:
Get-ChildItem -Path 'D:\tmp\PipeViewer-main' -Recurse | Unblock-File
Warning
We built the project and uploaded it so you can find it in the releases.
One problem is that the binary will trigger alerts from Windows Defender because it uses the NtObjerManager package which is flagged as virus.
Note that James Forshaw talked about it here.
We can't change it because we depend on third-party DLL.
Features
- A detailed overview of named pipes.
- Filter\highlight rows based on cells.
- Bold specific rows.
- Export\Import to\from JSON.
- PipeChat - create a connection with available named pipes.
Demo
Credit
We want to thank James Forshaw (@tyranid) for creating the open source NtApiDotNet which allowed us to get information about named pipes.
License
Copyright (c) 2023 CyberArk Software Ltd. All rights reserved
This repository is licensed under Apache-2.0 License - see LICENSE
for more details.
❤️ Showcase
- Presented at Insomnihack 2023 "Breaking Docker's Named Pipes SYSTEMatically"
- Presented at TyphoonCon 2023 "Breaking Docker's Named Pipes SYSTEMatically"
- A case study by Nir Chako while using Pipeviewer "Piping Hot Fortinet VCulnerabilities"
References
For more comments, suggestions or questions, you can contact Eviatar Gerzi (@g3rzi) and CyberArk Labs.