内网渗透之SOCKS代理隧道搭建
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
常见的网络场景有如下三类 服务器在内网中,可以任意访问外部网络。 服务器在内网中,可以访问外部网络,但服务器安装了防火墙来拒绝敏感端口的连接 服务器在内网中,对外只开放了部分端口( 例如 80 端口 ),且服务器不能访问外部网络 SOCKS是一种代理服务,用于简化系统之间的连接。它支持多种协议,包括HTTP、FTP等。SOCKS分为两种类型:SOCKS 4仅支持TCP协议,而SOCKS 5不仅支持TCP/UDP协议,还支持各种身份验证机制,其标准端口为1080。通过SOCKS,可以与目标内网计算机通信,避免多次使用端口转发。 SOCKS代理可以看作是增强版的lcx。在服务端监听一个端口,当有新的连接请求时,会从SOCKS协议中解析出目标URL的目标端口,然后执行lcx的具体功能。有许多SOCKS代理工具可供选择,在使用时最好选择没有图形用户界面(GUI)的工具。此外,最好选择无需安装其他依赖软件的SOCKS代理工具,以及能够支持多平台的工具。 1. EarthWorm (EW): EarthWorm(EW)是一套便携式网络工具,主要具备 SOCKS5 服务架设和端口转发两大核心功能,可在复杂的网络环境中实现网络穿透。EW可以通过正向、反向、多级级联等方式建立网络隧道。EW工具包提供了多个可执行文件,适用于不同操作系统(包括Linux、Windows、Mac OS、ARM-Linux)。 2. reGeorg: reGeorg是reDuh的升级版,其主要功能是通过HTTP/HTTPS隧道将内网服务器的端口转发到本机,形成一个回路。reGeorg可以使目标服务器在内网中(或在设置了端口策略的情况下)连接内部开放端口。reGeorg利用WebShell建立一个SOCKS代理进行内网穿透,服务器必须支持ASPX、PHP、JSP中的一种。 3. sSocks: sSocks是一个SOCKS代理工具套装,可用于启动SOCKS代理服务。sSocks支持SOCKS 5验证,同时支持IPv6和UDP,并提供反向SOCKS代理服务(将远程计算机作为SOCKS代理服务端反弹到本地)。 4. SocksCap64: SocksCap64是在Windows环境中非常实用的全局代理软件。它可以使Windows应用程序通过SOCKS代理服务器访问网络,而无需对这些应用程序进行任何修改。即使是那些本身不支持SOCKS代理的应用程序,也可以通过SocksCap64实现代理访问。 5. Proxifier: Proxifier同样是一款非常实用的全局代理软件,提供了跨平台的转发和代理功能,适用于Windows、Linux、MacOS平台。 6. ProxyChains: ProxyChains是一款能够在Linux下实现全局代理的软件,性能稳定可靠。它可以使任何程序通过代理上网,允许TCP和DNS流量通过代理隧道,同时支持HTTP、SOCKS 4和SOCKS 5类型的代理服务器。 1. EarthWorm的应用: 在测试环境中,左侧是个人计算机(内网)和一台具有公网IP地址的VPS,右侧是一个小型内网。假设已获得了一台Web服务器的权限,其内网IP地址为10.48.128.25,该服务器是连接外网和内网的关键节点,其他内网服务器不能直接连接。 在渗透测试中,常用的SOCKS工具之一是EW。该程序体积小,使用时无需其他设置。EW有六种命令格式,包括ssocksd、rcsocks、rssocks、lcx_slave、lcx_listen、lcx_tran。其中,用于正向连接的命令是ssocksd,用于反弹连接的命令是rcsocks、rssocks,其他命令用于复杂网络环境的多级级联。 (1) 正向SOCKS5服务器: 适用于目标机器有外网IP地址的情况。
该命令在端口888上搭建了一个SOCKS代理,随后可通过SocksCap4等工具使用代理。 (2) 反弹SOCKS5服务器: 目标机器没有公网IP地址,需要访问内网资源。
该命令在10.48.128.25服务器上启动SOCKS5服务,然后反弹到139.*.*.113的公网VPS的888端口。通过访问公网VPS的1008端口,可使用在10.48.128.25服务器上搭建的SOCKS5代理。 (3) 二级网络环境(a): 已获得右侧A主机和B主机的控制权限。
将A主机上收到的代理请求转发给B主机的888端口,可通过访问公网VPS的1080端口使用在B主机上搭建的SOCKS5代理。 (4) 二级网络环境(b): 已获得右侧A主机和B主机的控制权限,A主机没有公网IP地址。
在公网VPS上添加转接隧道,将收到的代理请求转发给B主机的999端口,最后可通过访问公网VPS的10800端口使用在B主机上搭建的SOCKS5代理。 (5) 三级网络环境: 测试环境为右侧A主机没有公网IP地址,但可以访问外网;B主机不能访问外网,但可以被A主机访问;C主机可被B主机访问,且能够访问核心区域。
通过将公网VPS的1080端口和B主机的999端口连接,再连接B主机的777端口和C主机上的SOCKS5代理,可通过访问公网VPS的1080端口使用在C主机上搭建的SOCKS代理。 2. 在Windows下使用SocksCap64实现内网漫游: 下载并安装SocksCap64,以管理员权限打开程序。默认已添加浏览器。 启动SocksCap64,添加代理并设置IP地址和端口。 单击“代理”按钮,添加代理服务器后,可以单击界面上的闪电图标按钮测试代理服务器连接。 选择浏览器,右键点击,在快捷菜单中选择“在代理隧道中运行选中程序”,即可自由访问内网资源,如访问10.48.128.22的80端口或登录10.48.128.20的3389端口。 3. 在Linux下使用ProxyChains实现内网漫游: 在终端输入“proxychains firefox”命令,启动Firefox浏览器。 浏览器打开后,访问10.48.128.22的80端口,然后访问10.48.128.48,查看Zend服务器测试页。 运行Nmap和sqlmap,这两个工具都能正常使用。 尝试使用Metasploit扫描任意IP地址,查看端口情况。 参考文献:《内网安全攻防渗透测试实战攻防》 阅读原文:原文链接 该文章在 2025/10/9 13:16:24 编辑过 |
关键字查询
相关文章
正在查询... |