学习记录3-正向连接&反向连接
简介
正反向连接在最开始学习的时候一直是作为噩梦中的存在,为什么这样说因为很多的说辞都是正向连接时客户端连接服务端,而反向是服务端连接客户端。但是最开始的时候我一直有个疑问?如果双方能够建立连接了,哪还要建立隧道做转发干嘛?脱裤子放屁?所以我一直都认为这个说辞不是很正确,今天的话尝试利用自己的话来解释一下,如果存在错误请及时指正!
介绍
对于最开始接触这个概念就是在msf的命令端,所以我们就按照这个情景做一个介绍。首先你在做实验,你想要对一个机器做一个远控,你最少需要三个机器!一个cs客户端kali、架构正在公网的cs服务器和一个受控端。首先受控端和kali无法直接交互,记住这个点。所以无论是正向还是反向,都是kali去请求服务器。其实msf的正向payload已经向我们解释了,kali在生成payload时从头到尾都没有设置攻击端IP这个值,所以受控端从头到尾都不清楚攻击端IP,正向是我们向服务端说我们要访问xxx,然后让服务端去向对应IP请求,这个就是正向连接。反向的话就是相反,攻击端不清楚受控端IP而受控端知道攻击端IP,只有当攻击端去请求代理服务器时才会得到响应。
总结
所以说客户端连接服务端、服务端连接客户端这样的说辞我认为本身不正确,因为连接一直都是代理服务器和服务器通信,请求永远都是客户端向代理服务器请求。他们俩之间可以这样描述,正向是攻击端向服务器说想要连接xxx;而反向更像受控端跟服务器说我只要xxx连接,当客户端和代理服务器说我是xxx的时候就建立连接。所以正向是对客户端服务,而反向是对服务端服务。