一,服务器主机上开启vncserver;
二,客户端上运行命令,把服务器端口数据转到客户端本地端口【1234】上,可以看出,本地端口【1234】已经处于监听状态;
三,客户端上执行命令,进行VNC连接;
四,把VNC连接数据抓包,可以看出走的是SSH协议,数据为加密状态。
第一步首先在A计算机上安装sniffer嗅探工具,并启动该程序。在sniffer软件中通过上方的“matrix”(矩阵)按钮启动监测界面,打开监测界面后我们就可以开始监测网络中的数据包了。通过菜单栏的“capture(捕获)→start(开始)”启动。在检测数据包窗口中我们点左下角的objects(对象)标签,然后选择station(状态),这样将把当前网络中所有通信都显示在窗口中。
第二步:这时候我们通知B计算机的员工使用电脑登录了FTP服务器,那么我们在sniffer中点菜单的“capture(捕获)→stop and display(停止并显示)”。这里假设我们FTP服务器的IP地址为192.168.1.20,那么我们从显示的地址列表中找到关于192.168.1.20这个IP的数据包,然后点下方的“DECODE(反解码)”按钮进行数据包再分析。
第三步:在“DECODE”(反编码)界面中我们就可以对关于192.168.1.20的所有数据包进行分析了。我们一个一个的分析数据包,分析到大概第十九个数据包时出现用户名信息,我们可以从界面中看到用户名为lw。继续往下看,到了第二十一个数据包的时候就可以看到密码了,密码以明文的形式显示在sniffer中,密码为test168。
至此我们就通过sniffer工具将员工在FTP服务器上的用户名和密码嗅探出来,该方法在员工和安装了sniffer的计算机处在同一个子网的情况下有效。
SSH隧道是一种通过加密的SSH连接传输任意网络数据的方法。它可以用来为任何应用程序添加加密通道;也可以用它来实现VPN和跨防火墙访问局域网的服务。
SSH是一个通过不受信任的网络进行安全远程登录和文件传输的标准。通过SSH隧道传输TCP/IP数据,它还提供了一种使用端口转发保护任何给定应用程序数据流量的方法。采用了这种方法后,应用程序的数据流量都会走SSH的加密连接,从而不会被窃听或拦截。对于本身不支持加密的应用程序来说,使用SSH隧道可以很方便地添加网络安全性。
上图简要介绍了SSH隧道。不可信网络的安全连接建立在SSH客户端和SSH服务器之间。这个连接是加密的,可用于保护机密性和完整性,并且可以对通信方进行身份验证。
客户端应用使用SSH来连接到服务端应用。隧道启用后
通过上面的转发,无需修改应用程序,就能保证应用程序客户端和服务端通信的安全。
这个方式的缺点是,任何能登陆服务器的用户都可以启用端口转发。内部IT人员经常在他们的家里的机器或云上的服务器上启用转发,从而能在企业内网中,从工作机器上访问家里的机器或云上的服务器。黑客或恶意软件会利用类似的方式在局域网中留一个后门。还可以在多个设备上开启隧道,攻击者通过在这些隧道中跳来跳去来隐藏踪迹。
本地代理用于将端口从客户端计算机转发到服务端计算机。SSH客户端监听来自某个端口的连接,当它收到连接时,将请求通过隧道转发到SSH服务器;然后SSH服务器将请求转到目标端口。
本地转发比较常见的场景有:
在OpenSSH中,使用 -L 参数开启本地转发
这个命令工作的过程如下图
默认情况下,其他的机器都能够连接到本地的SSH客户端指定的端口;为了安全起见,一般绑定地址,将连接来源限制在同一主机的程序
也可以在 OpenSSH客户端的配置中 配置本地转发,这样就不用单独输入命令行了
比如在~/.ssh/config中这样写
这样在开启转发的时候只需要输入 ssh serverfw 而不用再输入完整的命令了
如果希望通过本地计算机,让远程服务器 remote 可以连接到 server 上的服务,可以使用SSH远程转发。
使用SSH远程转发一个典型的用途是,在企业内部开一个后门,让公网的计算机可以访问到企业的某个内部服务,这个是有一定风险的,使用的时候需要特别小心。
在OpenSSH中,远程转发通过 -R 参数开启,在本地计算机上输入命令
上面命令的工作过程如下
默认情况下,OpenSSH仅允许从服务器主机(上图的 remote )连接到远程转发端口 server:p2 ,如果想要其他的主机也能连上 server:p2 ,需要在 sshd_config 文件中设置
如果需要指定来源IP,可以将配置改为
比如
将只允许52.192.1.73到端口8080的连接
OpenSSH的远程转发支持多个规则,比如
同样的,可以在 ~/.ssh/config 配置host,比如
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)