Shikata Ga Nai

Private? There is no such things.

How I was able to bypass the admin panel without the credentials.を訳してみた

Hello there, ('ω')ノ

 

クレデンシャルなしで管理パネルをバイパスできた方法を。

 

脆弱性: 

 情報開示

 

記事:

 https://infosecwriteups.com/how-i-was-able-to-bypass-the-admin-panel-without-the-credentials-d65f90e0e1e4

 

ターゲットをexample.comとすると。

メインドメインは、脆弱性を見つけるためにテストする唯一のスコープで。

ウェブサイトにアクセスするときはいつでも最初に。

使用されている技術を理解しようとして。

そのために、Wappalyzerと呼ばれる拡張機能を使用することに。

 

f:id:ThisIsOne:20210822145331p:plain

 

 https://addons.mozilla.org/ja/firefox/addon/wappalyzer/

 

f:id:ThisIsOne:20210822154937p:plain

 

結果からWordPressであるCMS(コンテンツ管理システム)があると考えて。

まずは、バイパスのために/wp-adminにアクセスするとうまくいかず。

そこで誤検知だったのかを検証するために、Wpscanというツールを使用することに。

これは、Wappalyzerの誤検知をどのように表示できるかを示す良い例で。

 

f:id:ThisIsOne:20210822145404p:plain

 

WordPressが誤検知だったので、まずは、偵察プロセスから始めることに。

 

1)ディレクトリブルートフォース

 下記のようにディレクトリをブルートフォースするためのツールは複数あって。

 ①FFUF

 ②GoBuster

 ③DirDar

 

 https://github.com/OJ/gobuster

 

f:id:ThisIsOne:20210822154204p:plain

 

 https://github.com/M4DM0e/DirDar

 

f:id:ThisIsOne:20210822154303p:plain

 

 また、ディレクトリをブルートフォースするために利用できるリストも多すぎて。

 ①Seclist:

 ②DirSearch:

 ③Assetnote

 

今回は、ffufツールをassetnoteファイルと一緒に使用することに。

 https://wordlists.assetnote.io/

 

f:id:ThisIsOne:20210822154103p:plain

 

コマンド:
 ffuf -c -w /wordlist -u /URL/FUZZ -mc 200,301,302 -t 500

 

すると、「sitemanager」というディレクトリの1つに入ることができたので。

ディレクトリを開くと、会社のCMSログインページが表示されて。

 

下記のようにデフォルトのクレデンシャルを使用しようとしたところ。

管理者ポータルにアクセスできなかったので。

 https://www.example.com/sitemanager/login.php?location=%2Fsitemanager%2F

 

下記のディレクトリを再ブルートフォースすると。

 /sitemanager/FUZZ

 

非常に多くのエンドポイントを誤検知(サイズ「0」で、200 OK)で取得できた中。

ワードリストから下記の1つだけが機能して。

 /startup.sh/

 

これで、管理ポータルにエスカレーションできるエンドポイントを。

いくつか取得できて。

errors_php.txt」と「settings.txt」では、資格情報が公開される可能性があって。

 

errors_php.txt:

Error occurred: 02.11.2020 10:02:32
user: admin, script: /sitemanager/admin.php
IP:77.**.**.**| ISP info: host-77–236–201–15| Session: emdcjngeinl81f9kl5c9hjlp31| Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
8, Undefined variable: edit_profile_page_pid, /home/text/www/site/modrw.php, 42

 

Error occured: 02.11.2020 10:56:16
user: admin, script: /sitemanager/admin.php
IP:77.**.**.**| ISP info: host-77–236–201–15| Session: emdcjngeinl81f9kl5c9hjlp31| Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
8, Undefined variable: edit_profile_page_pid, /home/text/www/site/modrw.php, 42

 

Error occured: 05.11.2020 11:41:46
user: admin, script: /sitemanager/admin.php
IP:77.**.**.**| ISP info: host-77–236–201–15| Session: i6f928p13qcd1bpoin5lkljj31| Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:16.0) Gecko/20100101 Firefox/16.0
8, Undefined variable: edit_profile_page_pid, /home/text/www/site/modrw.php, 45

 

このエラーファイルを使用して。

管理者ポータルにエスカレーションできるとおもったので。

この2つのファイルが脆弱性として認められて。

 

2. settings.txt

さらにこのファイルを開いて、BurpでいくつかのHTTPリクエストを取得すると。

Cookieが含まれていて。

これらのリクエストの応答は、管理者と同じCookieで複数のユーザのもので。

下記が、adminのHTTPリクエストで。

 

date: 2020–11–20 15:19:41
settings
headers: GET
Host: www.example.com
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: https://www.example.com/sitemanager/admin.php
Accept-Encoding: gzip, deflate, br
Accept-Language: cs,en-GB;q=0.9,en;q=0.8,sk;q=0.7
Cookie: __stripe_mid=b1a624a3-b1da-45aa-9aca-6236dd8###; _ga=GA1.2.805574655.149725####; __atuvc=0%7C41%2C0%7C42%2C0%7C43%2C0%7C44%2C1%7C45; language=cs; PHPSESSID=lqcp890ff17r02erb#####; _gid=GA1.2.1643979482.1542716##; login_config=u%3admin; _gat=1
IP info:
script: /sitemanager/settings.php
IP:213.**.**.**
ISP info: 213.**.**.**
Session: lqcp890ff17r02erbkot5u###
Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36

 

これをBurp Suiteのリピータに貼り付けて。

リピータにいくつかの基本的な変更を行って。

ターゲットセクションを追加した後、200OKになったので。

 

/dashboard.php」というディレクトリで。

管理者アクセスを取得して、ポータルを使用できるようになって。

 

Best regards, (^^ゞ