IPC$共享和其他共享(C$、D$)
目录
net use共享命令的用法
net use #查看连接
net share #查看本地开启的共享
net share ipc$ #开启ipc$共享
net share ipc$ /del #删除ipc$共享
net share c$ /del #删除C盘共享
net use \\192.168.10.15\ipc$ /u:"" "" #与192.168.10.15建立ipc空连接
net use \\192.168.10.15 /u:"" "" #与192.168.10.15建立ipc空连接,可以吧ipc$去掉
net use \\192.168.10.15 /u:"administrator" "root" #以administrator身份与192.168.10.15建立ipc连接
net use \\192.168.10.15 /del #删除ipc连接
net use \\192.168.10.15\c$ /u:"administrator" "root" #建立C盘共享
dir \\192.168.10.15\c$ #查看192.168.10.15C盘文件
dir \\192.168.10.15\c$\user #查看192.168.10.15C盘文件下的user目录
dir \\192.168.10.15\c$\user\test.exe #查看192.168.10.15C盘文件下的user目录下的test.exe文件
net use \\192.168.10.15\c$ /del #删除该C盘共享连接
net use k: \\192.168.10.15\c$ /u:"administrator" "root" #将目标C盘映射到本地K盘
net use k: /del #删除该映射
IPC$
IPC$ (Internet Process Connection) 是共享“命名管道”的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是NT2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。NT2000在提供了 ipc$ 功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$、D$、E$……)和系统目录(C:\windows)共享。所有的这些初衷都是为了方便管理员的管理。但好的初衷并不一定有好的收效,一些别有用心者会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测。
为了配合IPC共享工作,Windows操作系统(不包括Windows 98系列)在安装完成后,自动设置共享的目录为:C盘、D盘、E盘、ADMIN目录(C:\Windows)等,即为ADMIN$、C$、D$、E$等,但要注意,这些共享是隐藏的,只有管理员能够对他们进行远程操作。
输入 net share 可以查看开启的共享。

建立IPC空连接和使用非administrator用户建立IPC连接,是无法查看其他共享文件的(隐藏和非隐藏共享文件都查看不了)
net use \\192.168.10.15\ipc$ /u:"" ""
也可以直接 net use \\192.168.10.15 /u:"" ""

使用adminstrator用户建立IPC连接,是有权限查看其他共享文件的,仅能查看共享文件,没有共享的文件也查看不了。

IPC空连接
在介绍空会话之前,我们有必要了解一下一个安全会话是如何建立的。
在Windows NT中,是使用 NTLM挑战响应机制认证。传送门——> NTLM认证方式(工作组环境中)
空会话是在没有信任的情况下与服务器建立的会话(即未提供用户名与密码)。那么建立空会话到底可以做什么呢?
利用IPC$,黑客甚至可以与目标主机建立一个空的连接,而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。建立了一个空的连接后,黑客可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果黑客能够以某一个具有一定权限的用户身份登陆的话,那么就会得到相应的权限。
IPC空连接

空连接可以做什么?
对于NT,在默认安全设置下,借助空连接可以列举目标主机上的用户和共享,访问everyone权限的共享,访问小部分注册表等,并没有什么太大的利用价值;对2000作用更小,因为在Windows 2000 和以后版本中默认只有管理员有权从网络访问到注册表,而且实现起来也不方便,需借助工具。
从这些我们可以看到,这种非信任会话并没有多大的用处,但从一次完整的ipc$入侵来看,空会话是一个不可缺少的跳板,因为我们从它那里可以得到户列表,而大多数弱口令扫描工具就是利用这个用户列表来进行口令猜解的,成功的导出用户列表大大增加了猜解的成功率,仅从这一点,足以说明空会话所带来的安全隐患,因此说空会话毫无用处的说法是不正确的。以下是空会话中能够使用的一些具体命令:
- 建立ipc$空连接:net use \\192.168.10.15\ipc$ /u:"" ""
- 建立ipc$非空连接: net use \\192.168.10.15\ipc$ /u:"用户名" "密码" 或 net use \\192.168.10.15 /u:"用户名" "密码"
- 删除ipc$连接: net use \\10.96.10.59\ipc$ /del
- 建立其他连接,把目标主机的C盘映射到本地的Z盘:net use k: \\10.96.10.59\c$ /u:"administrator" "密码"
- 取消映射: net use k: /del


有些主机的 Administrator 管理员的密码为空,那么我们可以尝试使用下面的命令进行连接,但是大多数情况下服务器都阻止了使用空密码进行连接。
以前建立空会话可以获取一些有用的信息,但是现在空会话的权限很低,访问都被拒了
ipc$使用的端口
首先我们来了解一些基础知识:
- SMB: (Server Message Block) Windows协议族,用于文件打印共享的服务;
- NBT: (NETBios Over TCP/IP)使用137(UDP)138(UDP)139(TCP)端口实现基于TCP/IP协议的NETBIOS网络互联。
- 在WindowsNT中SMB基于NBT实现,即使用139(TCP)端口;而在Windows2000中,SMB除了基于NBT实现,还可以直接通过445端口实现
对于win2000客户端(发起端)来说:
- 如果在允许NBT的情况下连接服务器时,客户端会同时尝试访问139和445端口,如果445端口有响应,那么就发送RST包给139端口断开连接,用455端口进行会话,当445端口无响应时,才使用139端口,如果两个端口都没有响应,则会话失败;
- 如果在禁止NBT的情况下连接服务器时,那么客户端只会尝试访问445端口,如果445端口无响应,那么会话失败。
对于win2000服务器端来说:
- 如果允许NBT, 那么UDP端口137, 138, TCP 端口 139, 445将开放(LISTENING);
- 如果禁止NBT,那么只有445端口开放。
我们建立的ipc$会话对端口的选择同样遵守以上原则。显而易见,如果远程服务器没有监听139或445端口,ipc$会话是无法建立的。
关闭IPC$共享
既然ipc$有一定的危险性,而且对于我们大多数人来说是没啥用的,所以我们当然可以选择关闭它拉
1、使用命令关闭:net share ipc$ /delete 关闭ipc默认共享
net share c$ /delete 关闭C盘默认共享

2、修改注册表关闭
限制IPC$缺省共享:
- HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Lsa
- Name:restrictanonymous
- Type:REG_DWORD
- Value:0x0(缺省) 0x1 匿名用户无法列举本机用户列表 0x2 匿名用户无法连接本机IPC$共享 说明:不建议使用2,否则可能会造成你的一些服务无法启动,如SQL Server。
IPC$共享和其他共享(C$、D$)的更多相关文章
- system v和posix的共享内存对比 & 共享内存位置
参考 http://www.startos.com/linux/tips/2011012822078.html 1)Linux和所有的UNIX操作系统都允许通过共享内存在应用程序之间共享存储空间. 2 ...
- 多租户实现之基于Mybatis,Mycat的共享数据库,共享数据架构
前言 SaaS模式是什么? 传统的软件模式是在开发出软件产品后,需要去客户现场进行实施,通常部署在局域网,这样开发.部署及维护的成本都是比较高的. 现在随着云服务技术的蓬勃发展,就出现了SaaS模式. ...
- Atitit 关于共享经济之共享男女朋友的创业计划
Atitit 关于共享经济之共享男女朋友的创业计划 1. 共享经济的历史与趋势 1 1.1. 共享经济三大特征=产能过剩+共享平台+人人参与. 1 1.2. 共享经济是个大趋势,使用权渐渐的取代所有权 ...
- 项目分布式部署那些事(1):ONS消息队列、基于Redis的Session共享,开源共享
因业务发展需要现在的系统不足以支撑现在的用户量,于是我们在一周之前着手项目的性能优化与分布式部署的相关动作. 概况 现在的系统是基于RabbitHub(一套开源的开发时框架)和Rabbit.WeiXi ...
- dll和exe的共享节------多进程共享dll/exe全局变量
我们都知道同一个应用程序的多个实例之间并不会影响各自的变量,虽然他们的地址空间都是被该应用程序的映像内的物理存储器所提交,他们的数据和代码都是指向了该应用程序的映像,但是他们还是不会影响各自的变量,因 ...
- Jitsi 开源视频会议远程桌面共享&&文档共享工具
1. 特点 主要功能特点: 支持网络视频会议,使用SFU模式实现视频路由器功能. 支持SIP帐号注册电话呼叫. 支持安卓苹果终端. 支持文档共享功能,即时消息功能. 支持中文界面. 支持会议邀请,密码 ...
- Linux:SAMBA共享、NFS共享、Autofs自动挂载
SAMBA.NFS共享区别 NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linu ...
- spark streaming 流式计算---跨batch连接池共享(JVM共享连接池)
在流式计算过程中,难免会连接第三方存储平台(redis,mysql...).在操作过程中,大部分情况是在foreachPartition/mapPartition算子中做连接操作.每一个分区只需要连接 ...
- 天池平台再升级,打造产业AI知识共享、技术共享平台
在5月23日的云栖大会·武汉峰会上,天池发布“全球AI开发者计划”,打造一站式人工智能知识共享平台,计划2年内在平台上集聚30万AI工程师.同时,阿里云天池正式升级,成为从产业机会到实施交付一站式解决 ...
随机推荐
- React函数式组件和类组件[Dan]
一篇对Dan的 How Are Function Components Different from Classes? 一文的个人阅读总结,内容来自于此.强烈推荐阅读 Dan Abramov.的博客. ...
- Flink的日志配置
------------恢复内容开始------------ 介绍flink在本地运行和on yarn运行时的日志配置. 很多现代框架都是用门面模式进行日志输出,例如使用Slf4j中的接口输出日志,具 ...
- MyBatis文档
MyBatis 学习笔记 简介 什么是Mybatis MyBatis 是一款优秀的持久层框架,是Apache的一个Java开源项目 ,它支持自定义 SQL.存储过程以及高级映射, 免除了几乎所有的 J ...
- 面试被吊打系列 - Redis原理
小张兴冲冲去面试,结果被面试官吊打! 小张: 面试官,你好.我是来参加面试的. 面试官: 你好,小张.我看了你的简历,熟练掌握Redis,那么我就随便问你几个Redis相关的问题吧.首先我的问题是,R ...
- 去哪找Java练手项目?
经常有读者在微信上问我: 在学编程的过程中,看了不少书.视频课程,但是看完.听完之后感觉还是不会编程,想找一些项目来练手,但是不知道去哪儿找? 类似的问题,有不少读者问,估计是大部分人的困惑. 练手项 ...
- JAVA-常用集合类型转换例子
package com.net.xinfang.reflect; import java.util.ArrayList; import java.util.Arrays; import java.ut ...
- 正则表达式-Python实现
1.概述: Regular Expression.缩写regex,regexp,R等: 正则表达式是文本处理极为重要的工具.用它可以对字符串按照某种规则进行检索,替换. Shell编程和高级编程语言中 ...
- 练习1—参数传递、递归调用(Java)
1.方法参数的值传递机制 1.说明 方法:必须由其所在类或对象调用才有意义.若方法含有参数: 形参:方法声明时的参数: 实参:方法调用时实际传给形参的参数值 Java的实参值如何传入方法:Java里方 ...
- 01-静态web服务器(Python)-面向对象的对比
普通写法,静态web服务器: 先创建TCP服务器套接字,然后等待客户端(这里是浏览器)请求连接. 客户端发起请求,用线程来处理连接的建立,这样可以实现多任务(也就是并发) 连接后根据请求发送指定页面 ...
- LuckyStar hctf2018
LuckyStar hctf2018 程序注册有TLS回调函数 char __stdcall TlsCallback_0(int a1, int a2, int a3) { char result; ...