靶机练习:Gitroot

cha0s32 / 2024-06-09 / 原文

信息收集

扫描全端口以发现服务

image-20240606103734169

访问80端口,有hint

image-20240606103844027

尝试绑定域名到/etc/vuln,同时提示中存在用户名jen,可以尝试爆破ssh

绑定后能访问站点了

image-20240606104345202

用wpscan能扫出wordpress的用户名

image-20240606104558231

接下来没爆破出密码

尝试使用wfuzz扫描子域名

wfuzz -c -u http://gitroot.vuln -H "HOST:FUZZ.gitroot.vuln" -w /usr/share/wordlists/SecLists-master/Discovery/Web-Content/directory-list-2.3-medium.txt --hw 26

image-20240606170101427

扫出两个目录:wp repo,将repo也进行域名绑定

随后访问 repo.gitroot.vuln

image-20240606170314619

扫目录

image-20240606171257559

拿shell

可能存在git源码泄漏,使用githack工具将repo的文件clone到Kali Linux本地

python Githack.py http://repo.gitroot.vuln/.git/

image-20240606171704989

又有一个用户名信息,ssh再爆破一下,爆破出来pablo的密码是mastergitar

image-20240608164246131

提权

有hint提示说要找新的git仓库

image-20240608164410993

进入 /opt/auth/.git文件夹,进入logs/refs/heads,里面有提交记录

使用 ls -alh | sort -n -r ,给文件大小排序,dev-43 大小跟其他文件有所不同

image-20240608164604176

使用 git show 查看添加数据的具体内容

image-20240608164654521

有一个 pass 字段, 由于文件属主是 beth,猜测是beth的账号密码

image-20240608164854990

登陆beth 账号成功,看到提示

image-20240608164946959

提示我们要将压缩包放到指定的文件夹

image-20240608165732586

先进入 /tmp文件夹,创建 .git/hooks文件夹,然后编辑一个可执行文件,写入反弹shell,压缩。压缩后也要赋予可执行权限

先监听6666端口

将shell.zip移到指定文件夹

cp shell.zip /home/jen/public/repos

可能是靶机配置问题,能连上,但是执行不了命令

image-20240608183045739

不过后面的步骤应该也不难了,就写到这里吧