EW、FRP、NPS内网穿透实验

EW、FRP、NPS内网穿透实验

    • 一、EarthWorm
      • 1.建立通信
      • 2.配置隧道代理
      • 3.连接远程桌面
    • 二、FRP
      • 1.下载及配置两端的ini配置文件
      • 2.建立连接
      • 3.访问FRP服务端web管理页面
      • 4.转发内网机器的ssh服务
      • 5.连接远程桌面
    • 三、NPS
      • 1.下载服务端和客户端并解压
      • 2.服务端安装并启动
      • 3.新增客户端连接
      • 4.客户端主动连接
      • 5.创建tunnel隧道
      • 6.访问远程桌面
    • 四、总结
    • 五、参考文章

免责声明:本文章仅用于学习交流,请勿用于非法用途或未授权测试。阅读者造成的任何破坏或负面影响,与作者无关。

第一次学习内网穿透,实验大多为个人理解,或许还有很多理解不到位。文中表达若有错误之处,还需各位师傅们帮忙指出。
很久没发文章,发现CSDN居然加入了markdown直接拖动或复制图片上传的功能,好评好评哈哈!文章比较菜,被限号了也不敢发吐司QAQ

实验目标
使用不同内网穿透工具,在公网VPS与内网Centos之间建立通信。使攻击机win7(或其他可上网的机器)通过VPS连接到内网Centos,并横向移动访问内网win2003的远程桌面服务。

实验主机
可上网的Win7:192.200.200.26
公网VPS
内网Centos:192.168.209.130(内网所有主机的流量都通过这台内网主机)
内网Win2003:192.168.209.149(已开放远程桌面3389)

Windows2003开启远程桌面:我的电脑-右键属性-远程-启用远程桌面

EW、FRP、NPS内网穿透实验_第1张图片

实验拓扑
EW、FRP、NPS内网穿透实验_第2张图片

:本次实验所有配置都在公网VPS及虚拟机的虚拟内网CentOS中进行,公网VPS为服务端,内网CentOS为客户端,所有访问内网Win2003的流量都经由内网CentOS。阅读时结合此拓扑图,有助于理解该实验。

一、EarthWorm

1.建立通信

公网VPS:./ew -s rcsocks -l 1080 -e 8888
内网Centos:./ew -s rssocks -d 公网VPS地址 -e 8888
EW、FRP、NPS内网穿透实验_第3张图片配置隧道代理双方通信后,服务端和客户端就会不停打印输出IP端口传输情况。

2.配置隧道代理

攻击机win7(或其他可上网的主机)通过proxifier代理走ew建立的通信,以内网Centos的名义打开内网另一台主机Win2003的远程桌面。
EW、FRP、NPS内网穿透实验_第4张图片

ICMP没走代理,直接ping是不通的。远程桌面mstsc.exe走隧道代理,可直接访问内网机器的远程桌面。相当于Win7以内网CentOS的名义开启内网Windows2003的远程桌面服务。

3.连接远程桌面

mstsc.exe走Proxifier代理后,打开远程桌面输入192.168.209.149即可直接连接成功。
EW、FRP、NPS内网穿透实验_第5张图片
EW、FRP、NPS内网穿透实验_第6张图片

二、FRP

1.下载及配置两端的ini配置文件

下载地址:https://github.com/fatedier/frp/releases
服务端与客户端要使用同版本,此处都使用V0.30。
服务端公网VPS,配置文件为frps.ini,客户端内网CentOS,配置文件为frpc.ini。
分别查看事先配置过的frps.ini和frpc.ini。
frpc.ini

[common]
server_addr = 公网VPS地址
server_port = 7000

[ssh]
type = tcp
local_ip = 192.168.209.152
local_port = 22
remote_port = 2222

frps.ini

[common]
bind_port = 7000
# 管理端口,可通过http://ip:17500访问
dashboard_port = 17500
# dashboard登陆用户名密码
dashboard_user = jellybean
dashboard_pwd = oreo

EW、FRP、NPS内网穿透实验_第7张图片

2.建立连接

服务端公网VPS:./frps -c ./frps.ini
客户端内网CentOS:./frpc -c ./frpc.ini
EW、FRP、NPS内网穿透实验_第8张图片
看到success则建立成功,如果客户端弹不上去,则去服务端iptables -nL 查看7000端口是否开启(配置文件默认使用7000端口,也可更改)。

3.访问FRP服务端web管理页面

EW、FRP、NPS内网穿透实验_第9张图片
EW、FRP、NPS内网穿透实验_第10张图片

4.转发内网机器的ssh服务

在客户端Centos192.168.209.152的frpc.ini中配置了将本机22端口转发至公网VPS的2222端口。
因此建立连接后,利用任意一台可上网的主机,连接公网VPS的2222端口,即可连接到处于内网且没有公网IP的客户端Centos192.168.209.152的ssh服务。或ssh -p 2222 root@公网VPS地址
EW、FRP、NPS内网穿透实验_第11张图片

5.连接远程桌面

内网客户端Centos192.168.209.152的frpc.ini新增RDP配置内容。

[common]
server_addr = 公网VPS地址
server_port = 7000

[ssh]
type = tcp
local_ip = 192.168.209.152
local_port = 22
remote_port = 2222

[RDP]
type = tcp
local_ip = 192.168.209.149
local_port = 3389
remote_port = 9833

EW、FRP、NPS内网穿透实验_第12张图片
将内网win2003 192.168.209.149的3389端口映射到服务端公网VPS的9833端口。

若VPS的iptables防火墙入站有默认禁止所有的规则,则在iptables开放9833端口:iptables -I INPUT -p tcp --dport 9833 -j ACCEPT

攻击机(或其他可上网的主机)连接远程桌面。
EW、FRP、NPS内网穿透实验_第13张图片
EW、FRP、NPS内网穿透实验_第14张图片
FRP穿透成功。

三、NPS

下载地址:https://github.com/ehang-io/nps/releases

1.下载服务端和客户端并解压

服务端:mkdir nps && cd nps && wget https://github.com/ehang-io/nps/releases/download/v0.26.0/linux_amd64_server.tar.gz &&tar -zxvf linux_amd64_client.tar.gz
客户端:mkdir npc && cd npc && wget https://github.com/ehang-io/nps/releases/download/v0.26.0/linux_amd64_client.tar.gz &&tar -zxvf linux_amd64_client.tar.gz
服务端有conf文件夹、web文件夹、nps可执行文件,客户端有conf文件夹和npc可执行文件。
服务端nps配置文件:nps/conf/nps.conf,netstat -ano | grep 8080 没有端口占用时,即可默认8080。

#web
web_host=a.o.com
web_username=admin    #web登录页面用户名
web_password=123    #web登录页面密码
web_port = 8080    #web登录页面端口号
web_ip=0.0.0.0

EW、FRP、NPS内网穿透实验_第15张图片

2.服务端安装并启动

安装 sudo ./nps install && sudo nps start
安装并启用nps服务
访问VPS的8080端口,登录NPS的web图形化管理页面。

EW、FRP、NPS内网穿透实验_第16张图片
EW、FRP、NPS内网穿透实验_第17张图片

3.新增客户端连接

左侧菜单中选择客户端,新增客户端,可以只填写一个名字。
EW、FRP、NPS内网穿透实验_第18张图片新增客户端后得到一个随机生成的vkey。
EW、FRP、NPS内网穿透实验_第19张图片

4.客户端主动连接

复制图中的命令./npc -server=公网VPS地址:8024 -vkey=djc6pk01mlnkrkls -type=tcp,在安装了客户端npc的内网Centos机器中运行。
客户端Centos192.168.209.152随机开放一个端口连接公网VPS的8024端口,刷新web页面,状态变成online,建立通信。
EW、FRP、NPS内网穿透实验_第20张图片

5.创建tunnel隧道

点击tunnel,创建tcp隧道。
EW、FRP、NPS内网穿透实验_第21张图片
服务端端口和内网目标(ip:端口)不要填错。
EW、FRP、NPS内网穿透实验_第22张图片
tcp隧道创建成功,通过访问公网VPS地址:13389即可进入该隧道,访问到内网的192.168.209.149:3389服务。
EW、FRP、NPS内网穿透实验_第23张图片

6.访问远程桌面

用任一可访问互联网的机器进行测试。

EW、FRP、NPS内网穿透实验_第24张图片
EW、FRP、NPS内网穿透实验_第25张图片
NPS实验成功。

四、总结

问题:怎么都弹不上?主要是因为端口没有对外开放。

EW、FRP、NPS内网穿透实验_第26张图片解决方法:iptables -nL 查看iptables防火墙规则,发现最后一条是禁止全部。因此插入规则,开放8888和1080端口。或直接情况防火墙规则:ipbtales -F
EW、FRP、NPS内网穿透实验_第27张图片由于VPS的iptables防火墙入站有默认禁止所有的规则(我有点不忍心清空规则),于是就只能用一个端口开放一个端口。EarthWorm开放了1080和8888,FRP开放了7000、17500、9833和2222(ssh),NPS开放了8080、8024和13389。
EW、FRP、NPS内网穿透实验_第28张图片
在本实验中,FRP和NPS感觉更像端口映射,把内网的服务映射到公网VPS的端口上。EarthWorm结合Proxifier,更像是攻击机走Proxifier到了内网机器,把自己当成内网机器一样走Proxifier去访问其他内网主机的服务。

五、参考文章

EarthWorm:
https://blog.csdn.net/qq_21310689/article/details/85316833
https://bbs.ichunqiu.com/thread-36219-1-2.html
FRP:
https://www.jianshu.com/p/f934e6f76673
https://www.jianshu.com/p/219553bfeca9
https://www.cnblogs.com/hxun/p/10877746.html
NPS:
https://post.smzdm.com/p/a07md2nr/
https://blog.csdn.net/superDE009/article/details/99700179

你可能感兴趣的:(网络安全,内网)