Socks是Socket Secure的缩写,其是一种工作在OSI七层模型中的第五层网络会话层协议,Socks主要的作用是代表客户端将任何协议或者任何程序产生的任何类型的流量路由到服务器上,以此来将本地和远端两个系统连接起来。
由于Socks其处于第七层和第四层模型之间,因此socks可以支持HTTP、HTTPS、FTP、SSH、FTP等多种协议,Socks从版本上来讲,又可分为socks4和socks5这两种版本,目前socks协议最新版本为socks5,socks4和socks5这两者版本最主要的区别是socks4仅支持TCP代理,不支持UDP代理以及各种验证协议,socks5不仅支持TCP/UDP代理以及各种身份验证协议的同时,还会通过身份验证建立完整的TCP 连接,并使用Secure Shell (SSH) 加密隧道的方法来中继流量,在红蓝攻防对抗中,我们经常会利用Socks5来建立通信隧道以此来访问远程核心靶标系统中的内部网络。
假设在目标内网中已经获取了一台可执行任意命令权限的主机后,需要对其主机所属的区域以及安全策略进行判断,探测是否可以建立socks连接,具体的socks常见利用场景描述如表1-1所示。
表1-1 常见利用场景描述
目标位置 | 场景描述 |
---|---|
内网 | 防火墙未对出口流量及端口做任何方面的安全策略,内网中的服务器可任意访问外部网络,不受安全策略限制。 |
防火墙只配置了特定的入站规则,仅允许特定业务的端口进行访问(例如:80、443) | |
防火墙都配置了特定的出入站规则,仅开放了特定的端口(例如:80、443) |
在实网攻防对战中有很多的Socks代理工具可供我们选择使用,但值得我们注意的是,我们需要结合实际的场景去选择对应的Socks代理工具,尽量使用一些没有GUI界面以及不需要依赖其他软件支撑的Socks代理工具,接下来笔者将会介绍自己在实网攻防对战中所经常使用的三款Socks代理工具。
Proxifier是一个基于Mac / Windows 系统的网络代理软件客户端工具。如图1-1所示,Proxifier支持TCP,UDP协议,Xp,Vista,Win7,mac系统以及socks4,socks5。它为本地系统内具体的应用提供代理服务,让部分软件(网址或 IP)使用代理访问网络,而其它软件(网址或 IP)正常访问网络。
Sockscap64是由Taro开发的免费代理客户端软件,如图1-2所示,可以使windows网络应用程序通过socks代理服务器开访问网络而不需要对应用程序进行任何修改,即便某些程序不支持socks代理也可以完美解决代理访问问题。Sockscap64目前只支持socks4、socks5及TCP连接。
ProxyChains是一个基于linux和其他Unix的开源代理工具,如图1-3所示,其支持http、socks4和socks5进行代理连接。它是通过一个用户定义的代理列表强制连接指定的应用程序,直接断开接收方和发送方的连接。
我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!
`
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。