代理

    • 面试常问
  • 一.概述
    • 代理的本质是socks协议.
  • 二.代理分类:
    • **1.正向代理**
    • **反向代理**
  • 三.Lcx.exe内网端口转发
    • **步骤**
    • **linux系统作为转发**
    • **window系统转发流量**
  • 四.venom 内网穿透
    • 1. 在物理机上使用admin.exe 监听本地的12345端口
    • 2. kali linux 需要连接物理机的12345端口
    • 3. 物理机进入kali linux 1节点 转发22331
    • 4. sql server 连接kali linux的 22331端口
    • 5.物理机进入sql server 2节点 转发32145
    • 6. java虚拟机连接sql server的32145
    • 10. 通过访问25612端口 就能够访问到节点3 (java bihuo虚拟机中的端口
    • 11. proxfer工具
  • 五.proxychains proxy 代理 全局代理工具
  • 六.earthworm ===> 内网穿透
    • 1. 全局流量代理
  • 七. ngrok 把80端口映射到公网
  • 八.ssh代理转发
    • 1.ssh正向代理
    • 2.ssh反向代理
  • 九.frp 用的多
    • 1.实验: 通过 SSH 访问内网机器
    • 2.实验:通过自定义域名访问内网的 Web 服务
    • 3. 对外提供简单的文件访问服务
    • 4. 安全地暴露内网服务
  • 十. regeorg

未经授权禁止任何渗透测试

面试常问

1.正向代理和反向代理的区别
2.正向代理和反向代理 常见出现位置

正向代理 客户端明确知道 存在一个中间代理服务器 反向代理 该代理对外表现就是一个服务器

一.概述

利用代理工具将内网的流量代理到本地进行访问或者利用工具将其他网段的流量转发到本地进行纵向渗透

msf 中 portfwd
将目标主机上的端口转发到msf所在的服务器上

代理的本质是socks协议.

二.代理分类:

1.正向代理

正向代理是将我们的流量转发给一个跳板,然后该跳板将我们发送给他的包转发给目标
比如我们国内访问***,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服务器,代理服务器能够访问**,这样由代理去取到返回数据,再返回给我们,这样我们就能访问

正向代理用途

访问原来无法访问的资源,如****,公司内网
出差访问公司内网 vpnclient 分配公司内网的ip地址
对客户端访问授权,上网进行认证
代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

xxxx 上网行为管理

反向代理

反向代理以代理服务器来处理来自网络上的连接请求,然后将请求转发到内部网络上的服务器,并将从内部服务器得到的结果返回给来自网络上的客户端,此时,代理服务器表现为一个服务器

反向代理的作用:

边界防火墙 nat
保证内网的安全,一定程度上阻止web攻击.
在大型网站中,通常将反向代理作为公网访问地址,而真正的Web服务器存在于内网之中.
负载均衡,通过反向代理服务器来优化网站的负载

三.Lcx.exe内网端口转发


步骤

bihuo 虚拟机 <=======> kali linux <=======> 物理机物理机访问bihuo 虚拟机的3389端口 直接访问无法访问到bihuo虚拟机: 主动将自身的3389端口的流量转发到kali linux 主机上的特定端口(11111)kali linux 虚拟机: 在11111端口监听来自于bihuo虚拟机3389的流量 将11111端口接收到的流量转发到kali linux 的22222端口物理机: 访问kali linux 的22222端口 就可以获得bihuo虚拟机的3389端口的流量

下载lcx – linux 版本 portmap

linux系统作为转发

  1. kali linux 虚拟机: 在11111端口监听来自于bihuo虚拟机3389的流量 将11111端口接收到的流量转发到kali linux 的22222端口

公网主机上执行:lcx.exe –listen 接收数据的端口 映射流量的端口,意思是监听公网主机本机的 11111端口请求,并将来自 11111 端口的请求传送给 22222 端口。

命令:

./portmap -m 2 -p1 11111 -p2 22222

  1. bihuo虚拟机: 主动将自身的3389端口的流量转发到kali linux 主机上的特定端口(11111)

内网主机上执行:lcx.exe –slave 公网主机ip 公网主机端口 内网主机ip 内网主机端口,意思是把内网主机的某端口转发到具有公网ip主机的 对应 端口。

开启3389


命令

lcx.exe -slave 192.168.0.142 1111 127.0.0.1 3389


3. 此时物理机直接访问:kaliIP:22222,即可转发到内网IP的3389

window系统转发流量

 kali linux <=======> bihuo 虚拟机<=======> 物理机物理机访问 kali linux 虚拟机的22端口 直接访问无法访问到kali linux虚拟机: 主动将自身的22端口的流量转发到bihuo虚拟机的特定端口(11111)bihuo虚拟机: 在11111端口监听来自于kali linux虚拟机22的流量 将11111端口接收到的流量转发到bihuo虚拟机 的22222端口物理机: 访问bihuo虚拟机的22222端口 就可以获得kali linux 虚拟机的22端口的流量
  1. bihuo虚拟机: 在11111端口监听来自于kali linux虚拟机22的流量 将11111端口接收到的流量转发到bihuo虚拟机 的22222端口

命令:

lcx.exe -listen 11111 22222


  1. kali linux虚拟机: 主动将自身的22端口的流量转发到bihuo虚拟机的特定端口(11111)

命令:

service ssh start  # 开启22端口


命令:

./portmap\ lcx -m 3 -h1 127.0.0.1 -p1 22 -h2 192.168.0.3 -p2 11111

  1. 物理机: 访问bihuo虚拟机的22222端口 就可以获得kali linux 虚拟机的22端口的流量
    访问

命令:

ssh kali@192.168.0.13 -p 22222

四.venom 内网穿透

使用go开发的多级代理工具,可以将多个节点进行连接,然后以节点为跳板,构建多级代理.

bihuo java虚拟机(192.168.0.13)<======> sql server注入(192.168.0.21:32145) <======> kali linux(192.168.0.142:22331) <=======> 物理机(192.168.0.17:12345)在物理机上使用admin.exe 监听本地的12345端口kali linux 需要连接物理机的12345端口

1. 在物理机上使用admin.exe 监听本地的12345端口

命令:

admin.exe -lport 12345

2. kali linux 需要连接物理机的12345端口


命令:

./agent_linux_x64 -rhost 192.168.0.17 -rport 12345

3. 物理机进入kali linux 1节点 转发22331

命令:

goto 1
listen 22331

4. sql server 连接kali linux的 22331端口

命令:

agent.exe -rhost 192.168.0.142 -rport 22331

5.物理机进入sql server 2节点 转发32145

命令:

 goto 2listen 32145

6. java虚拟机连接sql server的32145

命令:

agent.exe -rhost 192.168.0.21 -rport 32145

  1. show 拓扑


8. shell交互模式


9. help 帮助

10. 通过访问25612端口 就能够访问到节点3 (java bihuo虚拟机中的端口

命令:
物理机转发25612

goto 3
socks 25612


netstat -ano | findstr 25612 查看端口是否开启

11. proxfer工具

venom 全局代理
socks 一次转发使用流量






  1. lforward 转发本地流量
    lforward 是将admin.exe所在的主机的端口映射到内部节点的目标端口


命令:

lforward 127.0.0.1 80 8888


  1. rfprward 将sql server 虚拟机3389 转发 到物理机的3377
    命令:
    rfprward 192.168.0.21 3389 3377

upload 上传

命令

download 下载

明文连接

-passwd 增加密码 进行流量加密
命令

admin.exe -lport 12345 -passwd bihuo


命令:

./agent_linux_x64 -rhost 192.168.0.17 -rport 12345 -passwd bihuo


五.proxychains proxy 代理 全局代理工具

proxychains 目前支持的平台主要是 Linux 和 Mac。

chains 链条

将sql server 流量转发到33221
命令

socks 33221


命令:

vim /etc/proxychains.conf



六.earthworm ===> 内网穿透

EarthWorm是一款用于开启 SOCKS v5 代理服务的工具,基于标准 C 开发,可提供多平台间的转接通讯,用于复杂网络环境下的数据转发。

专有主页: http://rootkiter.com/EarthWorm/

1. 全局流量代理

普通网络环境:
1. 目标网络边界存在公网IP且可任意开监听端口:
命令

chmod +x ew_for_linux64
./ew_for_linux64 -s ssocksd -l 8888





  1. 目标网络边界不存在公网 IP,需要通过反弹方式创建 socks 代理

                 一台可控公网IPkali主机                  可控内网主机bihuo-win7+---------+     +--------------------------+    |     +---------------+|HackTools| ->> | 1080 ->  192.168.0.142 -> 8888 |  防火墙  | <--  192.168.0.21  |+---------+     +--------------------------+    |     +---------------+kali) ./ew -s rcsocks -l 1080 -e 8888// 在 192.168.0.142 的公网主机添加转接隧道,将 1080 收到的代理请求转交给反连 8888 端口的主机bihuo) ./ew -s rssocks -d 192.168.0.142 -e 8888          // 将目标网络的可控边界主机反向连接公网主机c) HackTools 可通过访问 192.168.0142:1080 端口使用 rssocks 主机提供的 socks5 代理服务
    
  2. kali linux作为中间主机 将1080接收的流量转发8888

mssql主动连接kali linux中间主机的8888端口

  1. 获得目标网络内两台主机 A、B 的权限,情况描述如下:

A 主机: 目标网络的边界主机,无公网 IP,无法访问特定资源。
B 主机: 目标网络内部主机,可访问特定资源,却无法回连公网。

A 主机可直连 B 主机
物理机<<->> 一台可控公网IP主机(kali) <<------>> 可控内网主机(sql-server) <<------>>可访问指定资源的主机(java)
±--------+ ±-------------------------+ | ±----------------+ ±----------------+
|HackTools| ->> | 1080 -> 192.168.0.142 -> 8888 | 防火墙 | <-- 192.168.0.67 --> | ->> | 9999 -> 192.168.0.13 |
±--------+ ±-------------------------+ | ±----------------+ ±----------------+

a) ./ew -s lcx_listen -l 1080 -e 8888
// 在 192.168.0.142 公网主机添加转接隧道,将 1080 收到的代理请求
// 转交给反连 8888 端口的主机
b) ./ew -s ssocksd -l 9999
// 在 192.168.0.13 主机上利用 ssocksd 方式启动 9999 端口的 socks 代理

c) ./ew -s lcx_slave -d 192.168.0.142 -e 8888 -f 192.168.0.13 -g 9999
// 在 192.168.0.67 上,通过工具的 lcx_slave 方式,打通192.168.0.142:8888 和 192.168.0.13:9999 之间的通讯隧道

d) HackTools 可通过访问 192.168.0.142:1080 来使用 192.168.0.13 主机提供的 socks5 代理



七. ngrok 把80端口映射到公网

https://dashboard.ngrok.com/signup


命令:

ngrok.exe  http 80


八.ssh代理转发

-C 压缩传输,提高传输速度。-f 将 SSH 传输转入后台执行,不占用当前 shell (不阻塞)-N 建立静默连接(建立了连接但看不到具体会话)-g 允许远程主机连接本地用于转发的端口。-L 本地端口转发-R 远程端口转发-D 动态转发( SOCKS 代理)-p 指定 SSH 端口

查看端口开放命令:
netstat -ano | findstr 3389

1.ssh正向代理

  1. 配置kali 主机开启ssh服务
    命令:
service ssh start

  1. 在物理机(攻击)执行对应的命令 利用ssh创建生成管道
    192.168.0.13:3389ip是被转发目标的IP端口
    命令:
ssh -CfNg -L 3388:192.168.0.13:3389 kali@192.168.0.142


3. 连接自己的3388

2.ssh反向代理


本地
ssh -CfNg -R ssh服务所在ip将要监听的端口:内网主机IP:内网主机端口 ssh用户名@ssh所在的ip

命令:

ssh -CfNg -R 8889:192.168.0.13:3389 kali@192.168.0.142


总结:

ssh 在attacker 执行命令 通过ssh 将内网中的端口映射到attacker的特定端口

反向代理: 被转发的主机通过 ssh 将自身的端口映射到ssh 所在主机的特定端口

九.frp 用的多

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

通过在具有公网 IP 的节点上部署 frp 服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:
客户端服务端通信支持 TCP、KCP 以及 Websocket 等多种协议。
采用 TCP 连接流式复用,在单个连接间承载更多请求,节省连接建立时间。
代理组间的负载均衡。
端口复用,多个服务通过同一个服务端端口暴露。
多个原生支持的客户端插件(静态文件查看,HTTP、SOCK5 代理等),便于独立使用 frp 客户端完成某些工作。
高度扩展性的服务端插件系统,方便结合自身需求进行功能扩展。
服务端和客户端 UI 页面。

如何用

1.实验: 通过 SSH 访问内网机器

frps bihuo java虚拟机 充当服务器

kali linux 充当被转发端口的主机


frps 是服务器 具有公网 IP 的节点

  1. frps bihuo java虚拟机监听7000端口
    命令:
frps.exe -c ./frpc.ini

  1. 将kali linux 的端口通过frp转发到java 虚拟机的6000端口

    命令:
./frpc -c ./frpc.ini


java虚拟机
7000端口等待连接

  1. 物理机连接java虚拟机7000端口
    命令:
ssh -oPort=6000 kali@192.168.0.13

2.实验:通过自定义域名访问内网的 Web 服务

  1. 修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:

8080 映射web服务的

命令:

frps.exe -c ./frps.ini

  1. frpc 客户端

修改 frpc.ini 文件,假设 frps 所在的服务器的 IP 为 x.x.x.x,local_port 为本地机器上 Web 服务监听的端口, 绑定自定义域名为 yui -roge 。

[common]
server_addr = 192.168.0.13
server_port = 7000[web]
type = http
local_port = 80
custom_domains = www.roge.com[web2]
type = http
local_port = 8080
custom_domains = www.yui.com


命令:

./frpc -c ./frpc.ini



3. 通过浏览器访问 http://www.roge.com:8080 即可访问到处于内网机器上 80 端口的服务,访问 http://www.yui.com:8080 则访问到内网机器上 8080 端口的服务。

3. 对外提供简单的文件访问服务

通过 static_file 插件可以对外提供一个简单的基于 HTTP 的文件访问服务。

  1. frps.ini 内容如下:
[common]
bind_port = 8000

运行:
命令:

frps.exe -c ./frps.ini
  1. frpc.ini 内容如下:
[common]
server_addr = 192.168.0.13
server_port = 8000
[test_static_file]
type = tcp
remote_port = 6000
plugin = static_file
#要对外暴露的文件目录
plugin_local_path = /home/kali/Desktop
#用户访问 URL 中会被去除的前缀,保留的内容即为要访问的文件路径
plugin_strip_prefix = static
plugin_http_user = abc
plugin_http_passwd = abc

运行:
命令:

./frpc -c ./frpc.ini

  1. 通过浏览器访问 http://192.168.0.13:6000/static/ 来查看位于 /home/kali/Desktop 目录下的文件,会要求输入已设置好的用户名和密码。


4. 安全地暴露内网服务

这个示例将会创建一个只有自己能访问到的 SSH 服务代理。
对于某些服务来说如果直接暴露于公网上将会存在安全隐患。

使用 stcp(secret tcp) 类型的代理可以避免让任何人都能访问到要穿透的服务,但是访问者也需要运行另外一个 frpc 客户端。

  1. frps.ini 内容如下:
[common]
bind_port = 8000

命令:执行

frps.exe -c ./frps.ini
  1. 在需要暴露到内网的机器上部署 frpc,且配置如下:
[common]
server_addr = 192.168.0.13
server_port = 8000[secret_ssh]
type = stcp
#只有 sk 一致的用户才能访问到此服务
sk = bihuo
local_ip = 127.0.0.1
local_port = 22

命令:执行

./frpc -c ./frpc.ini
  1. 在想要访问内网服务的机器上也部署 frpc,且配置如下:
    [common]
    server_addr = 192.168.0.13
    server_port = 8000

[secret_ssh_visitor]
type = stcp
#stcp 的访问者
role = visitor
#要访问的 stcp 代理的名字
server_name = secret_ssh
sk = bihuo
#绑定本地端口用于访问 SSH 服务
bind_addr = 127.0.0.1
bind_port = 6000

命令:执行

./frpc -c ./frpc.ini


  1. 通过 SSH 访问内网机器,假设用户名为 bihuo:

ssh -oPort=6000 test@127.0.0.1

十. regeorg


安装命令:

pip install urllib3

需要python2环境

将 bihuo java虚拟机的流量转发



将 bihuo java虚拟机的流量转发

命令:

python2 reGeorgSocksProxy.py -p 8383 -u http://192.168.0.13/tunnel.php


命令:

vim /etc/proxychains.conf


代理内网穿透-Lcx.exe-venom-proxychains相关推荐

  1. 使用xshell实现内网穿透与socket代理

    使用xshell实现内网穿透与socket代理 内网穿透:即NAT穿透,网络连接时术语 计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透 就是说映射端口,能让外网的电 ...

  2. Venom 内网穿透

    Venom 内网穿透 项目地址:https://github.com/Dliv3/Venom/releases 文章目录 Venom 内网穿透 前言 内网穿透代理工具Venom使用 在客户端跟服务器端 ...

  3. 利用EW代理实现内网穿透

    利用EW代理实现内网穿透 环境: 攻击机:kali ip192.168.32.132 中间机:win7 ip 192.168.32.128 ip2 192.168.1.3 假定为公网vps 内网主机: ...

  4. 红蓝对抗之隧道技术第一篇(内网穿透、端口映射端口转发、Netsh端口转发、CS正反向连接多层内网、Burp设置上游代理访问内网、MSF protfwd端口转发/重定向)

    文章目录 隧道应用 端口映射&端口转发 Netsh端口转发 Netsh端口转发meterpreter CS正向连接多层内网 CS反向连接多层内网 Burp设置上游代理访问内网 MSF prot ...

  5. 红蓝对抗之隧道技术第二篇(reGeorg内网穿透、SSH隧道本地Socks代理、SSH远程转发、Earthworm Socks5代理、Tunna正向代理、ICMP隧道、DNS隧道、Frp穿透)

    文章目录 隧道应用 reGeorg内网穿透 SSH本地转发(正向) 场景一 场景二 SSH远程转发(反向) Earthworm Socks5代理 正向代理 反向代理 Tunna正向代理 ICMP隧道 ...

  6. nps+Proxifier搭建socks5代理隧道进行内网穿透

    目录 一.实验环境搭建 二.nps 服务端配置 客户端配置 将npc注册到系统服务 三.Proxifiers使用 在渗透过程中,我们需要快速实现内网穿透,从而绕过网络访问限制,直接从外网来访问内网 正 ...

  7. 基于FRP反向代理工具实现内网穿透攻击

    文章目录 前言 FRP反向代理 内网环境搭建 服务端的配置 客户端的配置 FRP内网穿透 FRP进阶使用 fscan内网神器 总结 前言 当我们拿下目标单位的一台外网服务器后,需要借助外网服务器作为跳 ...

  8. 内网穿透-NPS使用教程(SOCKS5代理)

    目录 一.软件介绍 二.环境介绍 三.配置步骤 1. 配置主要步骤: 2. 详细步骤: 2.1 安装 2.2 配置服务端 2.3 配置客户端 2.4 配置Socks 5代理 一.软件介绍 1. NPS ...

  9. 阿里云服务器ECS利用反向代理FRP内网穿透

    阿里云ECS利用反向代理 F#R#P 内@网@穿@透 FRP 服务端搭建 内网PC 客户端搭设(windows版本) 远程连接 内网PC 客户端搭设(linux版本) 远程连接 过程问题 1.Wind ...

  10. 内网穿透、反向代理(ngrok服务器搭建)

    内网穿透的目的是:让外网能访问你本地的应用,例如在外网打开你本地http://127.0.0.1指向的Web站点. 一.ngrok ngrok是一个反向代理,通过在公共的端点和本地运行的Web服务器之 ...

最新文章

  1. Harmonic Number(调和级数+欧拉常数)
  2. UITableView优化
  3. java 配置文件加载_Java加载配置文件类
  4. 在死循环中使用Scanner获得键盘输入
  5. django 1.8 官方文档翻译: 3-6-1 中间件概览
  6. java栈的内存_JVM的栈内存
  7. server2003 sp1预览与演示
  8. 面向对象17:抽象类和抽象方法、创建抽象类的匿名子类对象、模板方法设计模式
  9. 传奇服务器+技能cd修改器,CD登陆器KEY文件修改教程+配套工具_【传奇爱好者】...
  10. java实现QQ登录
  11. Java EJB到底是什么?
  12. 研究生数学建模经验分享
  13. ECN Trade:飓风灾害短暂冲击美国经济
  14. Android 百度离线地图下载完后调用下载好的离线包
  15. 大数据分析原地踏步 原来是分析工具面临信任问题
  16. 赵小楼《天道》《遥远的救世主》深度解析(86)聪明是一种思考方式,精明只有算计和小心眼,只想赚钱却又不想承担风险是典型的弱势文化
  17. 化工行业危化品实时监控/厂区监控解决方案:EasyGBS如何保障危化品安全生产?
  18. Python基础学习备忘录上
  19. babylon.js小人快跑动画效果
  20. access是用来干什么的_Access是干嘛的,可以用来干什么?

热门文章

  1. linux 怎么进终端,进入Linux终端界面的方法汇总
  2. 区块链技术驱动商业银行开展供应链金融业务的创新路径
  3. 【转•科普】为什么Nikola Tesla是迄今为止最伟大的极客(爱迪生啊爱迪生)
  4. 智能供应链预测的应用
  5. 不能创建对象qmdispatch_按键精灵更新时提示 ActiveX 部件不能创建对象 错误代码 800a01ad_电脑故障...
  6. PowerDesigner16.5下载和安装教程
  7. 设置程序在Windows开机后自动运行的方式
  8. 【转】强大的在线书库
  9. 过保金士顿SA400S37固态硬盘固件通病,不保存盘内数据如何救活?
  10. loadrunner批量添加压力