IPC$管道的利用与远程控制
实验目的
通过实验了解IPC$攻击的原理与方法。
实验原理
IPC$攻击的相关原理
IPC$(Internet Process Connection)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的
用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是NT/2000
的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。NT/2000在提供了ipc$功能的同时,在初
次安装系统时还打开了默认共享,即所有的逻辑共享(c$,d$,e$……)和系统目录winnt或windows(admin$)共享。所有的这些,
微软的初衷都是为了方便管理员的管理,但在有意无意中,导致了系统安全性的降低。
平时我们总能听到有人在说ipc$漏洞,ipc$漏洞,其实ipc$并不是一个真正意义上的漏洞,我想之所以有人这么说,一定是指
微软自己安置的那个‘后门’,黑客就是利用了这一个漏洞。
实验内容
实现一次完整的IPC$攻击
实验环境描述
VPC1(虚拟PC) 操作系统类型:win7,网络接口:eth0
VPC1连接要求 与实验网络相连
VPC2(虚拟PC) 操作系统类型:win7,网络接口:eth0
VPC2连接要求 与实验网络相连
实验环境描述 两台Windows XP环境主机,以下称远程主机和本地主机
实验步骤
1.学生单击“开始试验”进入试验场景。如图所示:

2.选择自己要登录的虚拟机

3.以下步骤在pc1中进行 点击开始——控制面板,然后点击“大图标”如教材图3所示

图3
4.在控制面板的双击“文件夹选项”,选中“查看”选项卡,将“使用共享向导(推荐)”前的勾去掉,点击确定,如教材图4所示

图4
5.点击控制面板中的管理工具,进入本地安全策略,如教材图5所示

图5
6.在本地安全设置中,依次选中本地策略——安全选项,右键“账户:使用空白密码的本地账户只允许进行控制台登录”点击“属性”,将其改为“已禁用”,并点击“确定”,如教材图6所示

图6
7.在控制面板中将防火墙关闭,如教材图7所示
、
图7
8.点击开始——运行——regedit,进入注册表编辑器,如教材图8所示

图8
9.在注册表编辑器中将AutoShareServer和AutoSharewks的值改为1 (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Lanmanserver\parameters)如果注册中没有自己添加,如教材图9所示,并重启虚拟机

图9
10.重启后,点击开始——运行——cmd,在命令行提示符中输入ipconfig,获取pc1的IP地址,如教材图10,11,12所示

图10

图11

图12
12.在pc2中打开命令行提示符,并输入命令net share,看到只有IPC$启动,如教材图13所示,键入命令net share admin$和net share c$=c:分别开启admin$,c$。

图13
13.输入命令net use \\pc1的IP地址 “”/user:用户名,如教材图14所示

图14
14.输入net use Z: \\pc1的IP地址\c$回车,映射远程主机盘符,可以读写远程主机的共享C盘。图教材图15,16所示。

图15

图16
15.输入net time \\pc1的IP地址回车,可以查看远程主机的时间,如教材图17所示

图17
16.输入tasklist /S pc1的IP地址 /U pc1的用户名 /P “123456”回车,可以查看远程主机的进程,如教材图18所示。

图18
17.至此实验结束,关闭实验场景
IPC$管道的利用与远程控制的更多相关文章
- 树莓派学习笔记(3):利用VNC远程控制树莓派
转载请注明:@小五义http://www.cnblogs.com/xiaowuyi 等了一个十一假期,新买的B+终于到了.按照前两节的方法,重新安装了操作系统. 一.添加国内软件源 Rasp ...
- 学习ASP.NET Core,怎能不了解请求处理管道[1]: 中间件究竟是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 "通过重建Hosting系统理解HTTP请求在ASP.NET Core管道中的处理流 ...
- ASP.NET Core真实管道详解[1]:中间件是个什么东西?
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 <ASP.NET Core管道深度剖析[共4篇]> 中围绕着一个经过极度简化的模拟 ...
- PB数据管道
数据管道提供了一种不同数据库之间传递数据和(或)表结构的方法. 数据管道对象 要完毕数据管道的功能须要提供例如以下内容: 须要数据源和目标数据库,并可以和这两个数据库正常联接 须要源数据库中的哪些表: ...
- Linux - 简明Shell编程10 - 管道(Pipe)
脚本地址 https://github.com/anliven/L-Shell/tree/master/Shell-Basics 示例脚本及注释 #!/bin/bash echo '##### Num ...
- Shell - 简明Shell入门10 - 管道(Pipe)
示例脚本及注释 #!/bin/bash echo '##### Number of *.conf : ' find /etc -name *.conf | grep system | wc -l ec ...
- ASP.NET Core真实管道详解[1]
ASP.NET Core管道虽然在结构组成上显得非常简单,但是在具体实现上却涉及到太多的对象,所以我们在 <ASP.NET Core管道深度剖析[共4篇]> 中围绕着一个经过极度简化的模拟 ...
- linux -- 管道“|”
利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入.连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入 ...
- [ASP.NET Core 3框架揭秘] 依赖注入[5]: 利用容器提供服务
毫不夸张地说,整个ASP.NET Core框架是建立在依赖注入框架之上的.ASP.NET Core应用在启动时构建管道以及利用该管道处理每个请求过程中使用到的服务对象均来源于依赖注入容器.该依赖注入容 ...
随机推荐
- 《剑指offer》面试题27. 二叉树的镜像
问题描述 请完成一个函数,输入一个二叉树,该函数输出它的镜像. 例如输入: 4 / \ 2 7 / \ / \ 1 3 6 9 镜像输出: 4 ...
- C#获取http图片
public Image GetHttpImage(string url) { var client = new HttpClient(); var uri = new Uri(Uri.EscapeU ...
- java原码、反码、补码、位运算
1.对于有符号的数(java中的数都是有符号的) 二进制的最高位是符号位:0表示正数,1表示负数 正数的原码,反码,补码都一样 负数的反码=它的原码符号位不变,其它位取反 负数的补码=它的反码+1 0 ...
- golang中的25个关键字
Go 语言中会使用到的 25 个关键字或保留字: 1. 程序声明 import 导入 package 包 2. 程序实体声明和定义 chan 通道 var 变量声明 const 常量声明 func 用 ...
- gin使用BasicAuth中间件
package mainimport ( "github.com/gin-gonic/gin" "net/http")// 模拟一些私人数据var secret ...
- ansible roles实践——安装nginx
1.创建roles 在/etc/ansible/roles目录下 1.1 手动创建需要的目录 1.2 使用命令创建,用不到的目录可以创建为空目录,但不可以不创建. 创建目录[root@master] ...
- 使用 Kubeadm+Containerd 部署一个 Kubernetes 集群
本文独立博客阅读地址:https://ryan4yin.space/posts/kubernetes-deployemnt-using-kubeadm/ 本文由个人笔记 ryan4yin/knowle ...
- MySQL表空间结构
在Innodb中,我们可以指定一张表的数据是保存在独立表空间还是系统表空间,这个参数是:innodb_file_per_table 如果我们设置这个参数的值为0,那么一个表将使用系统表空间来保存表的数 ...
- 6. java IO 流
一.流的分类: * 1.操作数据单位:字节流.字符流 * 2.数据的流向:输入流.输出流 * 3.流的角色:节点流.处理流 *二.流的体系结构 * 抽象基类 节点流(或文件 ...
- elasticsearch查询之大数据集分页查询
一. 要解决的问题 search命中的记录特别多,使用from+size分页,直接触发了elasticsearch的max_result_window的最大值: { "error" ...