本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com
大家好,这里是 大余安全 的第 106 篇文章,本公众号会每日分享攻防渗透技术给大家。
靶机地址:https://www.hackthebox.eu/home/machines/profile/27
靶机难度:中级(5.0/10)
靶机发布日期:2017 年 10 月 5 日
靶机描述:
Calamity, while not over challenging to an initial foothold on, is deceivingly difficult. The privilege escalation requires advanced memory exploitation, having to bypass many protections put in place.
请注意:对于所有这些计算机,我是通过平台授权允许情况进行渗透的。我将使用 Kali Linux 作为解决该 HTB 的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
一、信息收集
可以看到靶机的 IP 是 10.10.10.27....
Nmap 发现开放了 OpenSSH 服务和 Apache 服务器...
在首页上没用有用的信息....
利用 dirb 进行爆破... 发现了 admin.php 页面...
打开 admin.php 页面,是个登录的页面...
在前端源码发现了 password....
利用 admin 加获得的密码,成功登录进来,看到该页面给的信息允许在其中运行 php 代码...
测试发现,是可利用 php 代码的...
这里经过直接简单代码 nc 获得 shell 外壳.... 但是获得的外壳直接 1 秒就中断了...
利用 burpsuit 进行拦截注入,查找到了 “列入黑名单的程序可能造成的干扰 nc” 信息...
这里不能使用 NC...
测试了一个想法,直接 copy 复制 NC 重命名为 dayu....
然后赋予权限....
利用 dayu 提权,成功绕开了安全机制,获得了反向 shell....
这里通过反复测试,还可以利用 MSF 生成 base64 的 shell.... 直接利用 php 注入即可提权...
方法挺多...
成功获得了 user 的 flag 信息...
在 home 目录找到了一个名为 recov.wav 的文件... 以及在 alarmclocks 目录下发现了另外两个音频文件 rick.wav 和 xouzouris.mp3...
通过 NC 上传到了本地... 通过播放,没有任何信息???
经过 google 查找思路...
利用 audacity 工具对音频文件进行播放,通过将两个文件导入 audacity 并反转其中的音轨,只需循环播放即可提供听到完整密码信息....
通过音频文件,获得:18547936..* 密码...
利用音频密码,尝试 SSH 成功登录到 xalvas 用户中,通过挖掘信息...
发现用户已添加到 lxd 组中...
lxd 是一种容器技术,可以使用 lxd 以 root 身份运行进程,为了利用此漏洞,需要下载 lxd alpine builder 来创建 alpine Linux 的映像...
git clone https://github.com/saghul/lxd-alpine-builder.git
./build-alpine -a i686
可以看到成功下载 lxd alpine builder.....
使用 lxd alpine builder 创建一个 32 位的 Alpine Linux 映像.... 这里信息在前面 uname 可看到靶机是 i686...
这儿会生成一个. tar.gz 的镜像文件... 上传即可...
scp alpine-v3.11-i686-20200520_0402.tar.gz [email protected]:
利用 scp 上传了镜像...
lxc image import alpine-v3.11-i686-20200520_0402.tar.gz --alias alpine
lxc image list
lxc init alpine ignite -c security.privileged=true
lxc config device add ignite host-root disk source=/ path=/mnt/root
lxc start ignite
lxc exec ignite /bin/sh
在靶机种导入 Linux 映像,并创建一个具有管理特权的 ignite 的映像...
然后将整个文件系统安装到容器中,重新启动容器,并在容器执行后获得了 root 权限...
lxc 提权网上很多方法....
通过 root 权限获得了 root 的 flag 信息...
继续深入看看是否有别的方法..
通过 LinEnum.sh 目测没发现可利用的什么地方...
但是在 app 中,存在 goodluck 程序... 存在缓冲区溢出... 这里缓冲区溢出漏洞只有 28 个字节可以注入 shellcode...
遇到了问题是没能跳转到 root 权限.. 应该是需要找到一种信息泄露的漏洞,利用缓冲区溢出程序跳转过去... 能力有限... 存放着这个问题,留着以后回来处理....
由于我们已经成功得到 root 权限查看 user 和 root.txt,因此完成这台中级的靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。
如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~
随缘收徒中~~ 随缘收徒中~~ 随缘收徒中~~
欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!
大余安全
一个全栈渗透小技巧的公众号