首页 > 其他分享 >红队隧道应用篇之SSH端口转发突破内网(六)

红队隧道应用篇之SSH端口转发突破内网(六)

时间:2022-12-29 13:00:30浏览次数:67  
标签:端口 ssh 本地 转发 红队 远程 SSH

前言

什么是SSH隧道

SSH隧道是使用SSH协议连接两台计算机之间的通道。它使用密钥加密数据传输,并允许计算机之间的安全连接。

通常,SSH隧道用于通过不安全的网络(例如互联网)连接到远程服务器。隧道提供了一种安全的方法来访问远程服务器,而无需担心数据被窃取。

要使用SSH隧道,需要有远程服务器的SSH登录凭据,包括用户名和密码或SSH密钥。还需要安装并运行SSH客户端软件,例如PuTTY或OpenSSH。使用这些工具,可以连接到远程服务器并使用SSH隧道。

总之,SSH隧道是一种安全连接两台计算机的方法,可以在不安全的网络中传输数据并访问远程服务器


什么是SSH端口转发

SSH端口转发是使用SSH隧道将本地计算机的端口映射到远程计算机的端口的功能。这样就可以使用本地计算机访问远程计算机上的服务,而无需直接连接到远程计算机

正向SSH端口转发用于允许本地计算机访问远程计算机上的服务,而反向SSH端口转发用于允许远程计算机访问本地计算机上的服务。

使用反向SSH端口转发时,需要注意的一点是,需要在本地计算机上打开防火墙规则,允许远程计算机连接到本地计算机的端口。如果防火墙规则阻止了连接,则反向SSH端口转发将无法正常工作


SSH常用命令参数

  • -C: 表示压缩数据传输
  • -N: 告诉SSH客户端, 此连接不需要执行任何命令, 仅用于端口转发
  • -L: 指定本地转发端口
  • -R: 指定远程转发端口
  • -f: 表示SSH连接在后台运行
  • -q: 表示安静模式, 不向用户输出任何警告信息

Windows安装SSH服务

1.下载OpenSSH文件

OpenSSH下载地址: https://github.com/PowerShell/Win32-OpenSSH/releases

image-20221027155150663


2.解压文件至相应文件夹

1


3.设置环境变量

此处我添加的环境变量为: E:\HackerTools\Intranet Penetration\Tunnel Tools\OpenSSH-Win64

image-20221027155913909


4.CMD测试SSH命令

cmd命令行输入: ssh, 出现如下界面代表ssh服务安装成功

image-20221027160154213


SSH正向端口转发访问内网

拓扑环境

image-20221028230444907

本地端口转发本质上是一种正向连接, 通过让代理服务器作为跳板将内网主机的指定端口映射至本地主机(攻击机)的指定端口


操作步骤

在攻击机执行如下ssh命令, 然后输入ssh连接远程服务器, 并输入对应用户的密码

ssh -L 7777:192.168.52.149:80 [email protected] -fN

SSH正向端口转发命令语法: ssh -L [本地端口]:[目标IP]:[目标端口] [跳板机ip及用户名] -fN

image-20221027200240119


随后攻击机访问本机的7777端口, 即可访问内网主机80端口的Web服务

1


SSH反向端口转发访问内网

拓扑环境

image-20221028220033114

SSH远程端口转发其实相当于一个反向连接, 如上图所示, 代理服务器和内网主机之间有一个防火墙, 由于防火墙限制了内网主机80端口的访问, 因此需要内网主机主动去连接代理服务器, 将本地的指定端口映射到远程服务器的指定端口, 以此来突破防火墙的限制

若将内网主机的80端口映射至代理服务器的6666端口, 那么攻击机就能通过访问代理服务器的6666端口访问到内网主机的80端口


操作步骤

在代理服务器修改ssh服务的配置文件: vim /etc/ssh/sshd_config, 将GatewayPorts设置为yes, 然后保存文件

若不将GatewayPorts设置为yes, 那么映射的端口只能绑定在127.0.0.1上, 也就是说只有本机才能访问映射的端口, 其他机器是无法访问到的; 将GatewayPorts设置为yes后, 映射的端口会绑定在0.0.0.0上

image-20221028154258284


修改完ssh配置文件后重启sshd服务: service sshd restart

image-20221028154655233


在内网主机执行如下代码, 意思是将本地主机的80端口与远程服务器的6666端口相互映射

ssh -N -R [远程端口]:[本地ip]:[本地端口] [用户名及远程服务器ip] -fN

SSH反向端口转发命令语法: ssh -N -R [远程端口]:[本地ip]:[本地端口] 远程服务器

image-20221028160904263


在攻击机访问代理服务器的6666端口, 即可访问到内网主机80端口的web服务

1

标签:端口,ssh,本地,转发,红队,远程,SSH
From: https://www.cnblogs.com/henry666/p/17012250.html

相关文章

  • Linux通过ssh远程连接如何防止频繁断连
    使用ssh连接过远程服务的小伙伴都有这样的体会,终端几分钟无操作后就卡死了。其实这是ssh出于安全原因而进行的自动断连。如果不想频繁断连,可以通过修改配置文件的方式让ssh......
  • Linux sshd服务
    软件包名和相关配置文件服务的软件包名openssh-server配置文件/etc/ssh/sshd_config#优化SSH连接速度,如果配置......
  • 生成SSH秘钥
    打开终端输入如下指令$ssh-keygen-ted25519-C"工作邮箱,比如:[email protected]">Generatingpublic/privateed25519keypair.当系统提示您“输入要保存密钥的文......
  • ubuntu 配置远程ssh
    需求:安装的新的ubuntu系统并不能远程使用ssh功能,需要做一些简单的设置。1.安装openssh-server sudoapt-getinstallopenssh-server2.修改配置文件 将/etc/ssh/......
  • 命令行工具sshfind:根据主机名关键字搜索~./ssh/config主机相关配置项(Python版本)
    概述:OpenSSH客户端默认读取~/.ssh/config作为主机配置文件,一旦配置的主机过多,筛选和定位某个主机就成了问题,特编写此工具,可在终端窗口中使用sshfindxxx(如:sshfindrackne......
  • Perl实现的命令行小工具sshfind:通过主机名称关键字搜索和筛选~/.ssh/config主机配置项
    作用读取SSH客户端配置文件~/.ssh/config,根据主机名称筛选对应的主机相关配置项,适用于~/.ssh/config主机信息过多,不便于查找的情况,如本人该文件配置了500+主机;使用方法:......
  • GPIO复用与端口重映射
    GPIO复用GPIO复用为内置外设的功能,如果这个GPIO要作为内置外设使用,那么就要使用GPIO复用的功能了RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//①IO时钟使能......
  • MySQL的端口监听到tcp6
    问题描述mysql-uroot-P3308-p无法登陆  处理方式在my.cnf配置文件里面添加以下内容,然后重启MySQL服务。bind-address=0.0.0.0  然后就可以正常登陆......
  • SSH连接原理及ssh-key
    第1章SSH服务1.1ssh介绍SSH是SecureShellProtocol的简写,由IETF网络工作小组(NetworkWorkingGroup)制定:在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密......
  • 华为交换机S5700设置ssh telent远程登录
    #查看现有的服务是否开启displaysshserverstatusdisplaytelnetserverstatusdisplayhttpserver1.配置VTY用户界面的支持协议类型、认证方式和用户级别。[HUAWEI]......