隧道穿透:端口转发、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设备上、高能耗的数据中心、自动驾…

读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的 *。

#include<stdio.h> #include<stdlib.h> int main() { int n,i,j; printf("请输入数字:\n");i--; for(i0;i<7;i) { scanf("%d",&n); if(n>50){ printf("请重新输入:\n");i--;…

2024.02.06

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

【SQL高频基础题】610.判断三角形

题目&#xff1a; 表: Triangle ------------------- | Column Name | Type | ------------------- | x | int | | y | int | | z | int | ------------------- 在 SQL 中&#xff0c;(x, y, z)是该表的主键列。 该表的每一行包含三个线段的…

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

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

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

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

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

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

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

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

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

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

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

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

LAXCUS分布式操作系统各版本下载地址

Laxcus分布式操作系统分两种&#xff1a;寄居系统和裸机系统。寄居系统依赖其它操作系统运行&#xff0c;比如Linux&#xff0c;裸机系统直接运行在服务器上&#xff0c;是完整的操作系统。目前裸机系统的7.0版本正在开发中&#xff0c;6.0及以下版本是寄居系统。Windows平台仅…

ubuntu20.04-编译安装Qt5.15.2-C++

文章目录 步骤一&#xff1a;安装依赖项步骤二&#xff1a;下载Qt 5.15源代码步骤三&#xff1a;配置并编译Qt步骤四&#xff1a;配置环境变量注意事项更新于2024年 在Ubuntu 22.04 LTS&#xff08;Jammy Jellyfish&#xff09;环境下编译Qt 5.15&#xff0c;由于Ubuntu 22.04的…

【ASP.NET Core 基础知识】--前端开发--集成前端框架

一、前端框架概述 1.1 Angular 特点 Angular是一种流行的前端框架&#xff0c;具有许多特点&#xff0c;这些特点有助于构建现代化、可维护且高性能的Web应用程序。以下是Angular的一些主要特点&#xff1a; 双向数据绑定&#xff1a; Angular提供了强大的双向数据绑定机制&am…

通信图(Communication Diagram)

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

js中的事件模型详解

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

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

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

C++ bool 布尔类型

在C 中 bool类型占用1个字节长度&#xff0c;bool 类型只有两个取值&#xff0c;true 和 false&#xff0c;true 表示“真”&#xff0c;false 表示“假”。 需要注意的C中使用cout 打印的时候是没有true 和 false 的 只有0和1 &#xff0c;这里0表示假&#xff0c;非0表示真 …

金融信贷风控系统设计

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

QT QCombox 样式表 比起作用

对QCombox在ui编辑器中进行美化&#xff0c;发现外表美化有效果&#xff0c;但下拉框的高度美化的没效果&#xff0c;查看样式表也没有没问题&#xff0c;样式表中内容如下。 QComboBox#curve_comboBox {min-width: 150px;min-height:40;max-width: 150px;max-height:40;borde…