nmap扫描
直接访问IP只有一个nginx的默认页
443端口扫描结果中有三个域名地址
添加hosts解析
brainfuck.htb与www.brainfuck.htb解析相同,sup3rs3cr3t.brainfuck.htb打开暂无发现可利用信息,有登录点,没有账号密码无法登录
在访问时,发现brainfuck.htb为wordpress搭建,利用wpscan扫描一波,先去wpscan注册账号获取key
扫描结果
利用其中获取cookie的漏洞尝试获取cookie登录
exp需要用户名,邮箱信息
用户名从brainfuck.htb主页发现一个admin发表的文章,猜测用户名有一个为admin,或者在登录界面进行猜解,该wordpress版本在用户名不存在以及密码不正确的情况下,提示信息会不同,可以此判断用户名是否存在
邮箱可通过查看浏览器中的证书得到
新建一个文本,存储用户名,邮箱等信息
用curl进行利用,-X为以post方式提交,-d将文本内的内容作为参数传递,-k忽略https证书问题
获得cookie,第一条第二条相同
之后利用burp进行添加第一条以及第三条cookie访问
当cookie添加后,浏览器开启代理指向burp,当访问站点的时候,数据包中就会添加cookie值
成功登录
或者可以将exp填写完后,在本地开启http服务,将exp改为html文件,进行登录
登陆后一片空白,返回brainfuck.htb查看
同样成功登录
进入后台
后台翻半天没找着可利用点
返回端口扫描结果查看,找到一个SMTP的账号密码,在之前端口扫描时,发现110端口开放了SMTP服务
密码为密文,修改前端代码进行查看,将type类型从passwd修改为text文本类型即可查看
利用该账号密码连接SMTP
发现有两封邮件
第一封为创建站点时的默认信息
第二封发现一个账号密码,猜测为sup3站点的登录账号密码
成功登录
发现三封帖子
第三封无利用信息
第二封大意为用户找管理要索要密钥,且重新开了一个加密帖子
那么第一封应该就是加密的密钥了
最后一条信息很像一个url地址,但是为加密状态,利用解密站点尝试解密
先尝试第一条信息
猜测加密的密钥可能为索要密钥帖子的最后一条
尝试解密
将所有符号与空格删除
内容为重复fuckmybrain,利用改密钥去尝试解密url加密
得到一个密钥下载地址
无法直接利用,尝试爆破
爆破出密钥为3poulakia!
ssh进行连接
获取user flag
尝试提权
发现该用户存在lxd组内,lxd为一种容器管理程序,可将磁盘挂载至容器内,从而达到提权
在exploit-db中找到一个可利用exp
查看两个二进制文件是否存在
返回攻击机,下载build-alpine,下载不下来可访问该地址,将其全部复制在写入一个文本
1 | wget https://raw.githubusercontent.com/saghul/lxd-alpine-builder/master/build-alpine |
在运行该程序
得到一个压缩文件
在攻击机开启一个http服务
让目标机器下载压缩文件
在运行
1 | lxc image import alpine-v3.17-x86_64-20230408_1114.tar.gz --alias test |
继续利用,初始化镜像
挂载磁盘
启动镜像
以shell会话进入镜像
成功获取root
在挂载的磁盘中寻找root flag