《红蓝攻防对抗实战》十一.内网穿透之利用SSH协议进行隧道穿透

2023-11-12 00:36

本文主要是介绍《红蓝攻防对抗实战》十一.内网穿透之利用SSH协议进行隧道穿透,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

利用DNS协议进行隧道穿透

  • 一.前言
  • 二.前文推荐
  • 三. 利用SSH协议进行隧道穿透
    • 1.SSH隧道-本地端口转发
    • 2.SSH隧道-远程端口转发
    • 3.SSH隧道-动态端口转发
  • 四.本篇总结

一.前言

SSH(Secure Shell)协议是一种加密的网络传输协议,它可以在不安全的网络中提供安全的远程登录和文件传输服务。SSH协议使用加密技术来保护数据的机密性和完整性,使得网络传输数据的安全性得到了保障。除了提供安全的远程登录服务外,SSH协议还可以用于隧道穿透,即将一种网络协议的流量通过SSH连接传输,以绕过防火墙或其他网络限制。

二.前文推荐

《红蓝攻防对抗实战》一. 隧道穿透技术详解
《红蓝攻防对抗实战》二.内网探测协议出网之TCP/UDP协议探测出网
《红蓝攻防对抗实战》三.内网探测协议出网之HTTP/HTTPS协议探测出网
《红蓝攻防对抗实战》四.内网探测协议出网之ICMP协议探测出网
《红蓝攻防对抗实战》五.内网探测协议出网之DNS协议探测出网
《红蓝攻防对抗实战》六.常规反弹之利用NC在windows系统执行反弹shell
《红蓝攻防对抗实战》七.常规反弹之利用NC在Linux系统执行反弹shell
《红蓝攻防对抗实战》八.利用OpenSSL对反弹shell流量进行加密
《红蓝攻防对抗实战》九.内网穿透之利用GRE协议进行隧道穿透
《红蓝攻防对抗实战》十.内网穿透之利用DNS协议进行隧道穿透

三. 利用SSH协议进行隧道穿透

在实际环境中,绝大部分的Linux或Unix服务器和网络设备都支持SSH协议,内网中主机设备及边界防火墙都会允许SSH协议通过,我们通常会使用SSH命令来连接远程机器,但是SSH功能不止于此,它还可以用来做流量转发,将TCP端口的数据流量通过SSH进行转发,并且传输过程中数据是加密的,这也意味着可以利用SSH搭建隧道突破防火墙的限制,所以当面对其他协议方式无法利用时,可以尝试使用SSH进行穿透,本次实验环境如图1-1所示,实验环境表如表1-1所示。
在这里插入图片描述

图1-1 SSH协议实验拓扑

表1-1 SSH协议实验环境表
主机类型IP配置
攻击机192.168.0.2
Web服务器192.168.0.3,192.168.52.2
靶机192.168.52.3

假设攻击机与Web服务器彼此之间都可以进行直接通信,但是攻击机与靶机之间不能直接进行通信,我们可以通过建立SSH隧道转发的方式将攻击机连接上内部的靶机,在这里我们将会通过ssh的方式进行转发连接,ssh常用命令参数如表1-2所示。

表1-2 SSH常用命令参数
参数说明
-C压缩传输,提高传输速度
-f将SSH传输转入后台执行,不占用当前的 Shell
-N建立静默连接(建立了连接,但是看不到具体会话)
-g允许远程主机连接本地用于转发的端口
-L本地端口转发
-R远程端口转发
-D动态转发(SOCKS 代理)
-R远程端口转发
-P指定 SSH端口

1.SSH隧道-本地端口转发

在实验前需要满足的条件是确保目标服务器的22端口开放,同时还需要获取到对方的ssh账号密码,当满足上述条件后,通过攻击机连接Web服务器,因Web服务器可以与靶机通过192.168.52.0/24这个网段进行通信,通过-L参数指定靶机3389端口转发到攻击机的8888端口,在攻击机执行ssh -L 8888:192.168.52.3:3389 root@192.168.0.3 -p 22连接命令,执行中需要输入Web服务器的密码,成功连接后,在攻击机上使用ifconfig命令测试是否为Web服务器的ip地址,如图1-2所示,证明ssh隧道成功。

在这里插入图片描述

图1-2 ssh连接

当上述步骤执行后,使用rdesktop命令连接本地8888端口即可访问到靶机的3389端口的rdp服务。如图1-3所示。
在这里插入图片描述

图1-3远程连接

2.SSH隧道-远程端口转发

使用ssh远程连接的方式和本地连接的方式有些类似,需要我们在Web服务器上使用ssh命令反向连接攻击机,获取到Web服务器权限后,在Web服务器执行ssh -R 8888:192.168.52.3:3389 root@192.168.0.2 -p 22命令,进行远程端口转发。其中-R参数表示远程连接,主要的作用是将靶机的3389端口转发到攻击机的8888端口上,执行完上述命令以后,在命令提示符窗口中输入攻击机的密码,即可成功连接到,在web服务器上使用ifconfig查看是否为攻击机IP,如图1-4所示。

在这里插入图片描述

图1-4 测试连接

接下来在攻击机使用rdesktop命令连接本地8888端口,执行rdesktop 127.0.0.1:8888命令,连接成功如图1-5 所示。
在这里插入图片描述

图1-5连接成功

3.SSH隧道-动态端口转发

1)ssh动态端口转发就是建立起一个ssh加密的SOCKS 4/5代理隧道,任何支持SOCKS 4/5协议的程序都可以通过它进行代理访问,在攻击机上执行ssh -D 8888 root@192.168.0.3命令建立SOCKS代理通道,这里需要输入Web服务器的密码,输入密码后,执行成功,如图1-6所示。

在这里插入图片描述

图1-6 测试连接

2)在攻击机中修改 proxychains4.conf配置文件,并在其底部添加一行socks5 127.0.0.1 8888参数来完成proxychains代理配置,如图1-7所示。
在这里插入图片描述

图1-7 代理设置

3)当配置完proxychains代理后,即可在攻击机执行proxychains rdesktop 192.168.52.3命令来连接靶机,通过所建立的socks协议隧道连接靶机,如图1-8所示。

在这里插入图片描述

图1-7 rdp连接

四.本篇总结

随着隧道技术的不断更新迭代,越来越多的攻击者利用隧道技术攻击企业内网中,在本篇文章中介绍了如何利用SSH协议进行隧道穿透的方法,包括本地端口转发、远程端口转发和动态端口转发。其中,本地端口转发是将目标服务器的指定端口转发到攻击机的指定端口,远程端口转发是将攻击机的指定端口转发到目标服务器的指定端口,动态端口转发则是建立一个SSH加密的SOCKS 4/5代理隧道,任何支持SOCKS 4/5协议的程序都可以通过它进行代理访问。

这篇关于《红蓝攻防对抗实战》十一.内网穿透之利用SSH协议进行隧道穿透的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/393889

相关文章

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例

《PyTorch中的词嵌入层(nn.Embedding)详解与实战应用示例》词嵌入解决NLP维度灾难,捕捉语义关系,PyTorch的nn.Embedding模块提供灵活实现,支持参数配置、预训练及变长... 目录一、词嵌入(Word Embedding)简介为什么需要词嵌入?二、PyTorch中的nn.Em

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

Spring Boot3.0新特性全面解析与应用实战

《SpringBoot3.0新特性全面解析与应用实战》SpringBoot3.0作为Spring生态系统的一个重要里程碑,带来了众多令人兴奋的新特性和改进,本文将深入解析SpringBoot3.0的... 目录核心变化概览Java版本要求提升迁移至Jakarta EE重要新特性详解1. Native Ima

Spring Boot 与微服务入门实战详细总结

《SpringBoot与微服务入门实战详细总结》本文讲解SpringBoot框架的核心特性如快速构建、自动配置、零XML与微服务架构的定义、演进及优缺点,涵盖开发环境准备和HelloWorld实战... 目录一、Spring Boot 核心概述二、微服务架构详解1. 微服务的定义与演进2. 微服务的优缺点三

SpringBoot集成MyBatis实现SQL拦截器的实战指南

《SpringBoot集成MyBatis实现SQL拦截器的实战指南》这篇文章主要为大家详细介绍了SpringBoot集成MyBatis实现SQL拦截器的相关知识,文中的示例代码讲解详细,有需要的小伙伴... 目录一、为什么需要SQL拦截器?二、MyBATis拦截器基础2.1 核心接口:Interceptor

一文解密Python进行监控进程的黑科技

《一文解密Python进行监控进程的黑科技》在计算机系统管理和应用性能优化中,监控进程的CPU、内存和IO使用率是非常重要的任务,下面我们就来讲讲如何Python写一个简单使用的监控进程的工具吧... 目录准备工作监控CPU使用率监控内存使用率监控IO使用率小工具代码整合在计算机系统管理和应用性能优化中,监

如何使用Lombok进行spring 注入

《如何使用Lombok进行spring注入》本文介绍如何用Lombok简化Spring注入,推荐优先使用setter注入,通过注解自动生成getter/setter及构造器,减少冗余代码,提升开发效... Lombok为了开发环境简化代码,好处不用多说。spring 注入方式为2种,构造器注入和setter