介绍一下个人网站 欢迎各位大佬光顾 http://www.sec0nd.top
在进行渗透测试时,getshell打点之后就要进行内网渗透了,那么为了更方便的进行横向移动,需要做代理转发。今天来了解下代理转发以及相关的工具。
代理有两种形式,映射和转发,最终的表现形式均为代理
端口映射:外网主机A想访问内网主机B上的服务
端口转发:外网主机A已经可以访问内网主机B里的任意端口,但是无法访问内网主机C上的端口,此时可以将C主机的端口转发到主机B端口,那么外网主机A访问了内网主机B就等于访问了内网主机C。
正向代理是一个位于客户端和目标服务器之间的代理服务器(中间服务器)。为了从目标服务器取得内容,客户端向代理服务器发送一个请求,并且指定目标服务器,之后代理向目标服务器转发请求,将获得的内容返回给客户端。
正向代理的情况下,客户端必须要进行一些特殊的设置才能使用。
正向代理需要主动设置代理服务器 ip 或者域名进行访问,由设置的服务器 ip 或者域名去访问内容并返回
正向代理是代理客户端,为客户端收发请求,使真实客户端对服务器不可见。
通信流程:
Lhost - - >proxy-->Rhost
Lhost为了访问到Rhost,向proxy发送了一个请求并且指定目标是Rhost,然后proxy向Rhost转交请求并将获得的内容返回给Lhost,简单来说正向代理就是proxy代替了我们去访问Rhost。
使用场景:
访问客户端访问不到的web服务器,例如VPN
反向代理是指以代理服务器来接收客户端的请求,然后将请求转发给内部网络上的服务器,将从服务器上得到的结果返回给客户端,此时代理服务器对外表现为一个反向代理服务器。
对于客户端来说,反向代理就相当于目标服务器,只需要将反向代理当作目标服务器一样发送请求就可以了,并且客户端不需要进行任何设置。
正向代理需要配置代理服务器,而反向代理不需要做任何设置。
反向代理是代理服务器,为服务器收发请求,使真实服务器对客户端不可见。
通信流程:
Lhost<—>proxy<—>firewall<—>Rhost
一般情况下,防火墙肯定不能让外网机器随便访问地访问内网机器,所以就提出反向代理。
Lhost只向proxy发送普通的请求,具体让他转到哪里,proxy自己判断,然后将返回的数据递交回来,这样的好处就是在某些防火墙只允许proxy数据进出的时候可以有效的进行穿透。
使用场景:
反向代理的典型用途是将防火墙外的服务器提供给客户端访问,反向代理还可以为后端的多台服务器提供负载均衡,或者为后端较慢的服务器提供缓冲服务。
nginx中间件提供反向代理功能
正向代理
同学 A 急需一笔钱,他直接向富豪马云借钱,但是他俩之间毫无关系,结果当然是没有借到。经过一番打听,同学 A 的老师王先生是马云的好朋友,于是 A 同学请求王老师,让王老师帮忙向马云借钱,最终马云同意借钱给王老师,王老师把这笔钱转交给了 A 同学。
上文就相当于一个正向代理的过程,A 同学为客户端,马云为服务器,王老师为正向代理。A 同学请求王老师向马云借钱,这个过程中 A 同学隐藏了自己的角色,马云事实上是不知道到底是谁借的钱。相当于服务器不知道真正发起请求的客户端是谁。
反向代理
如果遇到困难需要拨打 110 电话,可能一个地区的 110 有几十个,但是我们不需要关心电话那头的人是谁。只需要拨通 110 的总机号码,电话那头总有客服会回应。
这里的 110 总机号码就相当于反向代理,客户端不知道真正提供服务的人是谁。
参考:
https://www.secpulse.com/archives/140684.html
https://cloud.tencent.com/developer/article/1996633
在内网渗透中,往往是通过拿下Web服务器的权限,再通过Web服务器做一个跳板来做横向渗透。
我们知道在我们拿下的Web的服务器上做一些横向渗透是有点困难的,因为在Web这台机器上没有我们平常渗透常用的一些渗透工具,故横向渗透非常的困难,假如我们可以直接用我们自己的电脑做攻击机就可以让我们在渗透的过程中得心应手。
但是我们知道我们想要拿到的服务器在内网之中,我们无法通过互联网去直接访问它,这种时候我们又想控制它,我们就需要借助一些代理技术来辅助我们去完成直接控制内网机器的过程。
在进行横向移动时,需要依靠的是转发,而不是映射,但是这两个都可以做到内网穿透的作用。
就简单介绍几种工具,都是比较常用的
msf中有三个代理模块,分别是socks4a、socks5、socks_unc。一般用 socks4a和socks5进行代理,socks5可以设置用户名和密码。
msf拿到shell后添加路由即可开启socks代理。在需要执行的命令前加上 proxychains命令即可使用代理机作为跳板对内网进行横向移动
使用教程:https://blog.csdn.net/l1593572468/article/details/124060940
https://www.cnblogs.com/sfsec/p/15494606.html
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端。
使用教程:https://www.cnblogs.com/sfsec/p/15505619.html
https://blog.csdn.net/weixin_44604541/article/details/119325334
FRP(Fast Reverse Proxy) 是一款简单,好用,稳定的隧道工具。FRP 使用 Go 语言开发,它是一款高性能的反向代理应用,可以轻松地进行内网穿透,对外网提供服务。FRP 支持 TCP、UDP、KCP、HTTP、HTTPS等协议类型,并且支持 Web 服务根据域名进行路由转发。在进行内网渗透中,FRP是常用的一款隧道工具。
使用教程:https://blog.51cto.com/u_9691128/4295727
https://blog.csdn.net/weixin_45213577/article/details/120464751
最后介绍一个图形化内网渗透工具,Viper炫彩蛇:https://github.com/FunnyWolf/Viper
官网:https://www.yuque.com/vipersec