隧道穿透:端口转发、socket隧道代理

目录

端口转发

lcx工具

Lcx工具正向连接

Lcx工具反向连接

SOCKET隧道代理

socks常见利用场景

Proxifier

SocksCap64

Proxychains


端口转发

本篇会和搭建介绍一下端口转发和socket隧道代理的概念和简单演示

lcx工具

lcx工具是一个红队人员在内网渗透测试中最典型的端口转发工具,lcx工具可分为Windows和Linux两个版本,这里以lcx工具为例,以转发3389端口为目的演示端口转发功能。

本次实验环境表如表1所示。

端口转发实验环境表

类型IP配置
攻击机192.168.159.151(攻击)
跳板机192.168.159.229 192.168.52.102(双网卡跳板机边界设备)
靶机192.168.52.101(内网主机)

本次实验是在内网靶机上开启远程桌面连接跳板机使用lcx工具进行端口转发在靶机和跳板机中搭建一条隧道,用攻击者电脑连接跳板机隧道端口,通过跳板机的端口,获取到内网靶机的远程桌面权限。

注意:攻击者通过防火墙允许的服务端口访问跳板机服务器,在跳板机进行设置隧道代理后访问到内网靶机。

因跳板机是双网卡,可与外部主机和内网靶机通讯,所以可以通过在跳板机搭建隧道访问内网的IP。内网可以与跳板机通讯,通过与攻击者在跳板机搭建的隧道,绕过限制与攻击者进行通讯,如图1-18中的虚线所示。

lcx工具下载: GitHub - UndefinedIdentifier/LCX: 自修改免杀lcx端口转发工具

这里我模拟环境如下:

Kail攻击机:192.168.159.151

windows7-1为双网卡主机:192.168.159.229 192.168.52.102

windows server 2008 为靶机:192.168.52.101

现在的瓦罗情况如下:

Kail主机通过公网是可以访问到windows 7跳板机的外网地址,无法访问到内网的ip地址:

windows 7 主机可以访问Kail主机和windows server 2008主机:

windows server 2008 可以访问windows7的内网地址,但是不能访问外网的Kail:

Lcx工具正向连接

查看lcx工具命令帮助信息,执行lcx.exe -help命令:

使用lcx工具的前提是,已经获取到跳板机的系统管理权限,进行上传工具后,可以使用-tran参数来进行正向转发,在跳板机上执行lcx.exe -tran 8888 192.168.52.101 3389命令,会把靶机的3389端口转发到跳板机的8888端口上,成功与靶机之间搭建一条隧道,如图1-20所示。

此时已经将靶机的3389端口转发到跳板机的8888端口上,成功搭建了一条隧道。

现在我们使用kali攻击机执行rdesktop 192.168.159.229:8888命令,连接跳板机的8888端口,即可与靶机成功建立远程连接:

可以看到现在成功的通过中间主机192.168.159.229,转发本地8888端口到3389上,我们使用攻击机192.168.159.151访问192.168.159.229:8888端口,然后连接到了靶机192.168.52.10:3389的远程桌面服务

注:如果出现下面错误:

rdesktop 192.168.159.229:8888
Core(error): tcp_recv(), recv() failed: 连接被对方重设

使用下面的方法解决:

右击“我的电脑”->"属性"->"远程设置"->在远程桌面选项中,选择允许运行任意版本远程桌面的连接。

Lcx工具反向连接

反向连接和上述所讲的正向连接恰好相反,首先在跳板机上开启监听,执行lcx.exe -listen 6666 8888命令用来监听本机6666端口并将该端口的连接映射到本机的8888端口上

然后在靶机执行Lcx.exe -slave 192.168.52.102 6666 127.0.0.1 3389命令将3389端口转发到跳板机的6666端口上搭建一条隧道,然后跳板机再将6666端口映射到本机的8888端口。只要能访问到跳板机的主机,均能通过跳板机的8888端口连接内网的3389端口:

在kali攻击机使用 rdesktop 192.168.159.229 8888命令来远程连接访问跳板机的8888端口,即可访问拿到靶机的3389

可以看到这里也是成功的反向链接成功的进行了端口转发实现了内网穿透,访问到了靶机

SOCKET隧道代理

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连接,具体的socks常见利用场景描述如下表:

目标位置场景描述
内网防火墙未对出口流量及端口做任何方面的安全策略,内网中的服务器可任意访问外部网络,不受安全策略限制。
内网防火墙只配置了特定的入站规则,仅允许特定业务的端口进行访问(例如:80、443)
内网防火墙都配置了特定的出入站规则,仅开放了特定的端口(例如:80、443)

在实网攻防对战中有很多的Socks代理工具可供我们选择使用,但值得我们注意的是,我们需要结合实际的场景去选择对应的Socks代理工具,尽量使用一些没有GUI界面以及不需要依赖其他软件支撑的Socks代理工具,下面我会演示三种常见的Socket代理工具的基本使用

Proxifier

Proxifier是一个基于Mac / Windows 系统的网络代理软件客户端工具。Proxifier支持TCP,UDP协议,Xp,Vista,Win7,mac系统以及socks4,socks5。它为本地系统内具体的应用提供代理服务,让部分软件(网址或 IP)使用代理访问网络,而其它软件(网址或 IP)正常访问网络。

图1-25 Proxifier全局代理软件

SocksCap64

Sockscap64是由Taro开发的免费代理客户端软件,可以使windows网络应用程序通过socks代理服务器开访问网络而不需要对应用程序进行任何修改,即便某些程序不支持socks代理也可以完美解决代理访问问题。

Sockscap64目前只支持socks4、socks5及TCP连接。

图1-26 SocksCap64 全局代理软件

Proxychains

ProxyChains是一个基于linux和其他Unix的开源代理工具,其支持http、socks4和socks5进行代理连接。它是通过一个用户定义的代理列表强制连接指定的应用程序,直接断开接收方和发送方的连接。proxychains也可以用于在网络中进行匿名操作的工具。它通过将流量通过代理服务器进行转发,隐藏了用户的真实IP地址和位置。

可以进入/etc/proxychain4.conf文件中设置代理:

vim /etc/proxychains4.conf 

注:可以在文件的末尾增加代理

下面使用一个例子来演示一下它的作用,我们可以使用Proxychains配置文件中的代理服务器进行扫描,实现IP地址的隐藏和匿名。

添加代理

尝试使用 ProxyChains 代理访问网站 github.com

可以看到现在就使用代理ip地址127.0.0.1:8000访问的网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/457720.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Django】Cookie和Session的使用

Cookies和Session 1. 会话 从打开浏览器访问一个网站,到关闭浏览器结束此次访问,称之为一次会话。 HTTP协议是无状态的,导致会话状态难以保持。 Cookies和Session就是为了保持会话状态而诞生的两个存储技术。 2. Cookies 2.1 Cookies定…

SpringCloud--Gateway解析

一、Gateway简介 Gateway是Spring Cloud官方推出的第二代微服务网关,它旨在提供统一的路由方式以及为微服务应用提供强大的负载均衡能力。与第一代Spring Cloud Netflix Zuul相比,Spring Cloud Gateway在性能、可扩展性、易用性等方面都有了显著的提升。…

Spring框架入门指南

文章目录 Spring特点IoCAOPSpring事务事务隔离级别Spring注解Spring生命周期Spring创建完毕想要初始化一些操作注解的使用与开发Spring配置类加载XML配置文件静态工厂方法和实例工厂方法循环依赖(循环引用)三级缓存解决循环依赖问题SpringAOP延申动态代理…

Stable Diffusion 模型下载:Schematics(原理图)

文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十 下载地址 模型介绍 “Schematics”是一个非常个性化的LORA,我的目标是创建一个整体风格,但主要面向某些风格美学,因此它可以用于人物、物体、风景等…

如何在 Ubuntu 上安装 ONLYOFFICE 文档 8.0

通过使用社区版,您有能力在您自己的服务器上部署 ONLYOFFICE 文档,从而使在线编辑器与 ​​ONLYOFFICE 协作平台​​​或​​其他热门系统​​进行无缝集成。 ONLYOFFICE 文档是什么 ONLYOFFICE 文档是一款全面的在线办公工具,提供了文本文档…

视频无损放大修复工具Topaz Video AI 新手入门教程

想要自学Topaz Video AI ?Topaz Video AI 如何使用?这里给大家带来了视频无损放大修复工具Topaz Video AI 新手入门教程,快来看看吧! 下载:Topaz Video AI for mac 导入您的文件 有两种方法可以将文件导入 Topaz Vid…

用于制作耳机壳的倒模专用UV树脂有什么特点?

制作耳机壳的UV树脂耳机壳UV胶具有以下特点: 快速固化:UV树脂可以在紫外线的照射下迅速固化,大大缩短了制作时间。高硬度与高耐磨性:UV树脂具有较高的硬度和耐磨性,能够提供良好的保护效果。透明度高:UV树…

Stata学习(1)

一、五大窗口 Command窗口:实现人机交互 来导入一个自带数据: sysuse是导入系统自带的数据,auto导入该数据的名称,后面的clear是清除之前的数据 结果窗口:展示计算结果、查找功能 在Edit的find可以实现查找功能&#…

go modules使用

创建项目 在使用GoLand创建项目的时候,会自动创建对应的go.mod文件。 创建完后 创建文件 创建一个main.go的文件,里面print一个hello world。 在运行时可以设置是否采取先生成文件再运行。 为空的话则不输出。 下面的Environment为设置运行的环境…

显示器校准软件:BetterDisplay Pro for Mac v2.0.11激活版下载

BetterDisplay Pro是一款由waydabber开发的Mac平台上的显示器校准软件,可以帮助用户调整显示器的颜色和亮度,以获得更加真实、清晰和舒适的视觉体验。 软件下载: BetterDisplay Pro for Mac v2.0.11激活版下载 以下是BetterDisplay Pro的主要…

Multisim14.0仿真(五十五)汽车转向灯设计

一、功能描述: 左转向:左侧指示灯循环依次闪亮; 右转向:右侧指示灯循环依次闪亮; 刹车: 所有灯常亮; 正常: 所有灯熄灭。 二、主要芯片: 74LS161D 74LS04D 74…

Python(SQLite)executescript用法

SQLite 数据库模块的游标对象还包含了一个 executescript() 方法,这不是一个标准的 API 方法,这意味着在其他数据库 API 模块中可能没有这个方法。但是这个方法却很实用,它可以执行一段 SQL 脚本。 例如,如下程序使用 executescr…