1、先找下ip,再扫描下端口
2、浏览器访问80端口
3、修改hosts文件(windows路径C:\Windows\System32\drivers\etc,linux路径/etc)
添加一行gitroot.vuln 192.168.0.106
4、使用gobuster扫描一下子域名
gobuster vhost -u gitroot.vuln -w domain.txt
5、wp是个WordPress站点,repo存在git源码泄露
6、直接找到工具把源码全部下载下来,发现一个文件
7、使用hydra爆破pablo用户的密码,这个其实靶机描述也有提示
爆破字典可以使用kali自带的rockyou,路径是/usr/share/wordlists/
但是字典比较大,这里做个样例就提前准备个小字典
pablo/mastergitar
8、ssh登录上去,查看家目录下的user.txt文件,完成第一个goal
9、进入到public查看,发现一个message文件,查看之后得到提示,找到一个新的git repo
10、使用find命令查找.git文件夹,/opt/auth/.git就是那个新的
11、进入到/opt/auth/.git/logs/refs/heads,ls查看一下文件
直接cat `ls`查看文件夹下所有的文件内容,发现有个添加数据的操作
将高亮的那串复制下来,然后使用git show命令查看commit提交记录详情
git show 06fbefc1da56b8d552cfa299924097ba1213dd93
这里得到一个密码,虽然不知道用户名,但可以猜得到,因为用户名只有三个,可以通过查看/home目录下的目录得知,也可以通过之前git源码泄露得到的文件内容得知,还可以从靶机描述得知,然后再结合wp这个站点的管理员是beth,尝试一下ssh登录,发现登录成功
beth/r3vpdmspqdb
12、接着查看家目录下的东西,提示我们可以添加一个zip文件到/home/jen/public/repos目录下,然后它会自动解压添加到仓库中
13、进入到tmp目录下,新建.git/hooks文件夹,建一个post-commit文件,里面写入使用nc反弹shell的一句话,文件给777权限,再将.git文件夹压缩成zip格式,再给777权限
14、在本地监听55555端口
15、复制压缩包到到/home/jen/public/repos目录下
cp shell.zip /home/jen/public/repos
成功接收到反弹的shell
通过python提权到tty
python -c "import pty;pty.spawn('/bin/bash')"
16、在家目录下查看有没有可疑文件,查看.viminfo文件的时候发现可疑内容
17、经过尝试之后这个就是jen的密码
jen/binzpbeocnexoe
于是使用git方式提权
sudo git -p help
然后输入刚刚得到的密码
接着在冒号后面输入
!/bin/sh
(输入这个命令前是#号)
或者
!/bin/bash
(输入这个命令前面是我们熟悉的用户名@主机名加目录)
18、查看/root/root.txt文件,目标全部完成
19、总结
root的家目录下放着三个用户的密码和要上传的压缩包,最后放一张前面说的使用!/bin/bash的图
参考链接:
https://www.youtube.com/watch?v=JfRrV15wYx0