隧道穿透:端口转发、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.mzph.cn/news/672047.shtml

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

相关文章

俩种方法解决 VScode中 NPM 脚本消失,NPM 脚本未显示在资源管理器侧栏中

npm脚本是npm包管理器的一个功能,允许开发者在package.json文件中定义一系列命令脚本,用于执行各种开发任务。 今天打开准备运行的时候发现找不到NPM脚本了,左侧的一栏完全没有显示,在网上查阅了很多资料后总结出俩个方法可以用来…

存算一体:架构创新,打破算力极限

1 需求背景 在全球数据量呈指数级暴涨,算力相对于AI运算供不应求的现状下,存算一体技术主要解决了高算力带来的高能耗成本矛盾问题,有望实现降低一个数量级的单位算力能耗,在功耗敏感的百亿级AIoT设备上、高能耗的数据中心、自动驾…

2024.02.06

TCP提供面向有连接的,可靠的数据传输服务,传输过程中,数据无误、数据无丢失、数据无失序、数据无重复 UDP面向无连接的,不保证数据可靠的,尽最大努力传输的协议,数据传输过程中,可能出现数据丢…

大路灯护眼灯有必要吗安全吗?五款优秀品质大路灯推荐

随着人们对健康生活的追求和对眼睛健康的关注,落地护眼灯逐渐成为一种热门的家居用品。落地护眼灯主要通过提供适宜的光照条件来保护眼睛,减少眼睛疲劳和视力损害的发生。那么,落地护眼灯是否有必要?它的使用是否安全呢&#xff1…

外包干了10个月,技术退步明显.......

先说一下自己的情况,大专生,18年通过校招进入武汉某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

三网码支付系统源码,三网免挂有PC软件,有云端源码,附带系统搭建教程

搭建教程 1.先上传云端源码 然后配置Core/Config.php文件里面数据库信息注改;数据库帐号密码 2.云端源码里面Core/Api_Class/Instant_Url_List.php文件配置终端地址注改;第4 http://终端地址/ 3.导入云端数据库 账号admin 密码123456注改&#xff1…

【C语言】三子棋游戏实现代码

目录 1.三子棋代码功能介绍 2.三子棋游戏实现步骤 ①打印菜单栏 ②判断是否进入三子棋游戏 ③三子棋游戏基本函数实现 (1)清空(初始化)棋盘函数实现 (2)打印棋盘函数实现 (3&#xff0…

【如何学习CAN总线测试】——Vector VH6501干扰仪测试BusOff

系列文章目录 【如何学习CAN总线测试】系列文章目录汇总 文章目录 系列文章目录前言一、环境搭建1.硬件环境2.软件环境3.原理 二、测试方法1.打开Disturbance(CAN)工程2.使能 VH65013.MainConfigPanel面板4.TriggerConfiguration配置5.Sequence Configuration配置6.干扰结果 前…

leetcode9. 回文数|详细深入讲解算法

前往题目有 反转一半数字 思路 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。 第二个想法是将数字本身反转,然后将反转后的数字与原始数字进行比较&…

通信图(Communication Diagram)

UML2.0之前叫协作图(Collaboration Diagram) 一、定义 显示在某种情形下对象之间发送的消息。 协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息 二、元素 通信图的组成元素: 对象、链、消息 1、对象 通信图中的对象与顺序图中对象的概念相同&…

js中的事件模型详解

文章目录 一、事件与事件流二、事件模型原始事件模型标准事件模型IE事件模型 一、事件与事件流 javascript中的事件,可以理解就是在HTML文档或者浏览器中发生的一种交互操作,使得网页具备互动性, 常见的有加载事件、鼠标事件、自定义事件等 …

工业以太网交换机引领现代工厂自动化新潮流

随着科技的飞速发展,现代工厂正迎来一场前所未有的自动化变革,而工业以太网交换机的崭新角色正是这场变革的关键组成部分。本文将深入探讨工业以太网交换机与现代工厂自动化的紧密集成,探讨这一集成如何推动工业生产的智能化、效率提升以及未…

金融信贷风控系统设计

前言 近一年多以来在金融行业负责风控系统,根据自己工作中的经验,写下这篇文章。既是对自己在风控领域工作的总结,也是给刚入行和准备入行的朋友打个样,希望能有所帮助。 为什么要有风控系统 记得 2016 年信贷行业的发展形势还…

Tauri 的基本使用笔记

文章目录 前言如何将 Tauri 集成到前端项目?进程间通信(命令)const invoke window.__TAURI__.invoke; 进程间通信(事件)前端 ⇒ RustRust ⇒ 前端我的疑问 开发时的一些技巧用代码打开前端的开发者工具让 Tauri 不要监听文件Rus…

cocos creator 3.x 预制体无法显示

双击预制体,进入详情页,没有显示资源 Bomb 是个预制体,但是当我双击进来什么都没有了,无法对预制体进行可视化编辑 目前我只试出来一个解决方法: 把预制体拖进Canvas文件中,这样就能展示到屏幕上&#xff…

Wireshark中的ARP协议包分析

Wireshark可以跟踪网络协议的通讯过程,本节通过ARP协议,在了解Wireshark使用的基础上,重温ARP协议的通讯过程。 ARP(Address Resolution Protocol)地址解析协议,是根据IP地址获取物理地址的一个TCP/IP协议。…

Vue-53、Vue技术vuex使用

vuex 是什么 1、概念 专门在Vue 中实现集中式状态(数据)管理的一个Vue 插件,对vue 应用中多个组件的共享状态进行集中式的 管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。2、…

无心剑小诗《醉爱平凡人生》

醉爱平凡人生 平凡人生,别样卓越 做调色板上最亮的颜料 没有豪华光环与繁杂束缚 只有一份简单的快乐 不追求虚名,不被物欲左右 安静地享受生活,品味每滴雨露 平凡人生,宛如流淌的小溪 没有壮烈激流,却有恒久细流 不…

pwn旅行之[WUSTCTF 2020]getshell2(一些小知识)

题目分析1 首先打开这个题目的链接的时候,看到了ret2syscall,以为是一个纯正的syscall的题,结果,做的时候发现这个题的危险函数限制的字符串个数不足以写入syscall需要的所有地址,所以,这里参考dalao们的方…

Go 中如何检查文件是否存在?可能产生竞态条件?

嗨,大家好!本文是系列文章 Go 技巧第十三篇,系列文章查看:Go 语言技巧。 Go 中如何检查文件是否存在呢? 如果你用的是 Python,可通过标准库中 os.path.exists 函数实现。遗憾的是,Go 标准库没有…