GitRoot靶机
靶机需要更改网卡,教程。
arp-scan -l 扫描靶机IP地址
nmap -sV -Pn -A x.x.x.139 扫描靶机端口
登录80端口,发现需要更改hosts文件,加域名
gobuster vhost -u gitroot.vuln -w domain.txt
扫描发现,两个二级域名
访问repo那个
发现git泄露
直接找到工具把源码全部下载下来,发现一个文件
使用hydra爆破pablo用户的密码,这个其实靶机描述也有提示
登录ssh
获得第一个flag
进入到public查看,发现一个message文件,查看之后得到提示,找到一个新的git repo
使用find命令查找.git文件夹,/opt/auth/.git就是那个新的
进入到/opt/auth/.git/logs/refs/heads,ls查看一下文件
直接cat `ls`查看文件夹下所有的文件内容,发现有个添加数据的操作
将高亮的那串复制下来,然后使用git show命令查看commit提交记录详情
git show 06fbefc1da56b8d552cfa299924097ba1213dd93
这里得到一个密码,虽然不知道用户名,但可以猜得到,因为用户名只有三个,可以通过查看/home目录下的目录得知,也可以通过之前git源码泄露得到的文件内容得知,还可以从靶机描述得知,然后再结合wp这个站点的管理员是beth,尝试一下ssh登录,发现登录成功
beth/r3vpdmspqdb
接着查看家目录下的东西,提示我们可以添加一个zip文件到/home/jen/public/repos目录下,然后它会自动解压添加到仓库中
进入到tmp目录下,新建.git/hooks文件夹,建一个post-commit文件,里面写入使用nc反弹shell的一句话,文件给777权限,再将.git文件夹压缩成zip格式,再给777权限
在本地监听1234端口,等一段时间,反弹shell
通过python提权到tty
python -c "import pty;pty.spawn('/bin/bash')"
在家目录下查看有没有可疑文件,查看.viminfo文件的时候发现可疑内容
经过尝试之后这个就是jen的密码
jen/binzpbeocnexoe
于是使用git方式提权
-
sudo git -p help
-
然后输入刚刚得到的密码
-
接着在冒号后面输入
-
!/bin/sh
-
(输入这个命令前是#号)
-
或者
-
!/bin/bash
查看/root/root.txt文件,目标全部完成