【THM】Git Happens练习

【THM】Git Happens练习

与本文相关的TryHackMe实验房间链接:TryHackMe | Git Happens

简介:老板让我创建一个原型代码,所以它就在这里!我们甚至使用了一种叫做“版本控制”的东西,使部署变得非常容易!

TryHackMe

你能找到应用程序的密码吗?

image-20241002120210087

第一题:找到超级机密的密码

第一步

端口扫描

首先使用nmap对端口进行扫描

nmap -Pn -sV -T4 -A 10.10.139.132

-A 启动Os检测,版本检测,脚本扫描和traceroute

image-20241002120359614

可以发现目标开放了1个端口:80/tcp http服务,并且运行的是nginx

第二步

访问网站

我们先进入网站看看界面

image-20241002120518911

是一个登录界面

第三步

信息收集

我们先看看网页的源码里面会不会藏了什么东西,啥也没有

再优先查看robots.txt来看看这个网站会不会有什么见不得人的文件,404 not found

使用gobuster工具扫描网站目录(这里用了fuzzdict master的字典):

gobuster dir -u http://10.10.139.132 -w top7000.txt

image-20241002120936012

我们尝试访问/.git/发现可以进入

.git文件夹

.git/ 目录是 Git 版本控制系统在每个 Git 仓库中自动创建的隐藏目录。它包含了该仓库的所有版本历史、配置信息和元数据。

(字典不够强大扫不出来,平时用dirsearch就好了)

image-20241002121026919

第四步

git泄露漏洞利用

该网站存在git泄露,我们使用GitTools将git仓库下载到我们的攻击机上。

GitTools仓库中有三个工具,它们是Dumper, Extractor和Finder

Dumper 将/.git/内容转储到本机

Extractor 还原不完整的仓库内容,用于分析和提取 Git 仓库中的敏感数据

Finder 用于扫描和发现存在 Git 仓库的公共网站或资源

使用gitdumper,将git内容dump到攻击机,存储在nihao文件夹中:

./gitdumper.sh  http://10.10.139.132/.git/ ./nihao/

image-20241002122822479

dump成功后文件夹是空的,.git文件是隐藏的

第五步

分析Git仓库

我们使用以下命令查看 Git 仓库提交历史:

git log

得到以下输出:

commit d0b3578a628889f38c0affb1b75457146a4678e5 (HEAD -> master, tag: v1.0)
Author: Adam Bertrand <hydragyrum@gmail.com>
Date:   Thu Jul 23 22:22:16 2020 +0000

    Update .gitlab-ci.yml

commit 77aab78e2624ec9400f9ed3f43a6f0c942eeb82d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Fri Jul 24 00:21:25 2020 +0200

    add gitlab-ci config to build docker file.

commit 2eb93ac3534155069a8ef59cb25b9c1971d5d199
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Fri Jul 24 00:08:38 2020 +0200

    setup dockerfile and setup defaults.

commit d6df4000639981d032f628af2b4d03b8eff31213
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:42:30 2020 +0200

    Make sure the css is standard-ish!

commit d954a99b96ff11c37a558a5d93ce52d0f3702a7d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:41:12 2020 +0200

    re-obfuscating the code to be really secure!

commit bc8054d9d95854d278359a432b6d97c27e24061d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:37:32 2020 +0200

commit d0b3578a628889f38c0affb1b75457146a4678e5 (HEAD -> master, tag: v1.0)
Author: Adam Bertrand <hydragyrum@gmail.com>
Date:   Thu Jul 23 22:22:16 2020 +0000

    Update .gitlab-ci.yml

commit 77aab78e2624ec9400f9ed3f43a6f0c942eeb82d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Fri Jul 24 00:21:25 2020 +0200

    add gitlab-ci config to build docker file.

commit 2eb93ac3534155069a8ef59cb25b9c1971d5d199
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Fri Jul 24 00:08:38 2020 +0200

    setup dockerfile and setup defaults.

commit d6df4000639981d032f628af2b4d03b8eff31213
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:42:30 2020 +0200

    Make sure the css is standard-ish!

commit d0b3578a628889f38c0affb1b75457146a4678e5 (HEAD -> master, tag: v1.0)
Author: Adam Bertrand <hydragyrum@gmail.com>
Date:   Thu Jul 23 22:22:16 2020 +0000

    Update .gitlab-ci.yml

commit 77aab78e2624ec9400f9ed3f43a6f0c942eeb82d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Fri Jul 24 00:21:25 2020 +0200

    add gitlab-ci config to build docker file.

commit 2eb93ac3534155069a8ef59cb25b9c1971d5d199
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Fri Jul 24 00:08:38 2020 +0200

    setup dockerfile and setup defaults.

commit d6df4000639981d032f628af2b4d03b8eff31213
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:42:30 2020 +0200

    Make sure the css is standard-ish!

commit d954a99b96ff11c37a558a5d93ce52d0f3702a7d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:41:12 2020 +0200

    re-obfuscating the code to be really secure!

commit bc8054d9d95854d278359a432b6d97c27e24061d
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:37:32 2020 +0200

commit e56eaa8e29b589976f33d76bc58a0c4dfb9315b1
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:25:52 2020 +0200

    Obfuscated the source code.
    
    Hopefully security will be happy!

commit 395e087334d613d5e423cdf8f7be27196a360459
Author: Hydragyrum <hydragyrum@gmail.com>
Date:   Thu Jul 23 23:17:43 2020 +0200

    Made the login page, boss!

commit 2f423697bf81fe5956684f66fb6fc6596a1903cc
Author: Adam Bertrand <hydragyrum@gmail.com>
Date:   Mon Jul 20 20:46:28 2020 +0000

    Initial commit

日志中的内容分为以下部分:

commit	当前提交的哈希值
(HEAD -> master, tag: v1.0)	表示当前处于 master 分支,并且 HEAD 指向最新的提交
Author	作者信息
Date	日期
提交信息(备注)

我们可以发现哈希值为395e087334d613d5e423cdf8f7be27196a360459的日志中有一条说“做好了登录页面老板!”,我们着重分析

git show 395e087334d613d5e423cdf8f7be27196a360459

git show 命令用于显示特定提交的详细信息,包括提交的内容、修改的文件和差异

image-20241002123742217

我们可以在底部发现admin用户的password

就是我们要找的超级机密的密码

image-20241002124051954

posted @ 2024-10-02 13:01  Super_Snow_Sword  阅读(2)  评论(0编辑  收藏  举报