Linuxサーバログ分析【基礎】【TryHackMe-Juicy Details-Writeup】

丸太
※当サイトはプロモーションが含まれています

こんにちは、ぎんたです。

今回はTryHackMeで提供されている「Juicy Details」というルームの攻略の過程を記事にしています。

ルームはこちらからアクセスできます「Juicy DetailsのURL」。

このルームでは不正アクセスを受けたサーバのログ分析をとおして、ログ解析の基礎について学ぶことができます。

Linuxサーバのログ分析の基礎を知りたい方

が今回の対象です。

このルームも無料でアクセス可能なので、試してみたい方はぜひやってみてください。

目次

状況の紹介-Task1

Juice Shopのサイトが不正アクセスを受けたようです。

以下のことを確認してください。

  • 攻撃者が使用したツールを明らかにする。
  • どのパスに脆弱性があったのかを明らかにする。
  • どの機密データが盗まれたか

サーバのログを含むZIPファイルを受取り、作業に取り掛かりましょう。

サーバのログには以下のログが含まれていました。

  • access.log:Webサーバのアクセスログ
  • vsftpd.log:FTPのログ
  • auth.log:サーバの認証ログ

これらのログを各タスクで使用します。

偵察活動の痕跡調査-Task2

提供されたログを解析し、以下の項目を確認します。

  • 攻撃者が使用したツール
  • 攻撃者がどのパスを攻撃しようとしたか
  • どのパスに脆弱性があったのか

Q.攻撃者はどのツールを使用しましたか?

一般的に使用されそうなツールの名前をaccess.logの中から探します。

調査したところ、以下のツールが使われていました。

nmap, hydra, sqlmap, curl, and feroxbuster

以下にsqlmapを使った痕跡を掲載します。

cat access.log

task2のsqlmapによる偵察

Q.ブルートフォース攻撃に対して脆弱だったパスはなんですか?

Hydraを使用した痕跡があったので、Grepでフィルタしてaccess.logを調査します。

Hydraはパスワードクラックツールで、ログインフォームに対する攻撃に使用できます。

cat access.log | grep -i hydra

task2のhydraによるログイン試行

「/rest/user/login」に対してブルートフォース攻撃をしているようです。

Q.SQLインジェクションの脆弱性があったのはどのパスですか?

sqlmapが使われていたので、Grepでフィルタしてaccess.logを調査します。

sqlmapはSQLインジェクションの脆弱性を悪用して侵入するプロセスを自動化するツールです。

cat access.log | grep -i sqlmap

task2のsqlmapによる脆弱性の悪用

/rest/products/searchに対するアクセスが多数あるようです。

このパスに脆弱性があったと判断しました。

Q.SQLインジェクションに使用されたパラメータは何ですか?

先ほどのコマンド結果から「?q=」と確認できます。

Q.攻撃者がファイルを取得するために使用しようとしたパスは何ですか(/を含む)?

取得したログの中にvsftpd.logがあります。

ファイルのダウンロードを示すログが無いかを探すため、vsftpd.logを調査します。

cat vsftpd.log

task2のvsftpd.logでファイルのダウンロード成功を確認

FTPを用いてダウンロードに成功しているログがありました。

access.logにも同ファイル名のログが記録されています(/ftp以下で確認)。

task2のaccess.logで同じ名前のファイルへのアクセス履歴を確認

こちらはステータスコード403エラー(閲覧禁止)がでています。

/ftpが答えです。

情報流出の痕跡調査-Task3

調査項目は以下の事項です。

  • 攻撃者のウェブサイト上での動き
  • ステータスコード
  • 異常なクエリ文字列

Q.攻撃者がユーザーの電子メールアドレスをスクレイピングするために使用したのは、ウェブサイトのどのセクションですか?

ヒントによると、「ショッピングサイトでお客様がコメントできる場所はどこですか」と記載がありました。

この情報を元にaccess.logを確認します。

cat access.log

task3のaccess.logで製品のレビューページへのアクセスを確認

「/rest/products/〇/reviews」へのアクセスが大量にありました。

商品レビューに記載されたメールアドレスを収集していたようです。

product reviewsという文字が見えたので、こちらが答えです。

Q.ブルートフォース攻撃は成功したのでしょうか?もしそうなら、ログインに成功したタイムスタンプは何ですか?

Hydraを使ってブルートフォース攻撃を行ったことがTask2から判明しています。

ログイン成功とのことなので、まずはステータスコード200でフィルタし、access.logを確認します。

cat access.log |grep -i hydra | grep 200

task3のaccess.logでhydraでのログイン試行成功

1件のみのようです。

レスポンスバイトもこのログのみ831となっているようで、他のログは記載なしか26となっています。

他のログはステータスコード401(認証失敗)と500(サーバ内部エラー)が多数確認されています。

ログイン成功のログと判断していいでしょう。

タイムスタンプは「11/Apr/2021:09:16:31 +0000」です。

Q.SQLインジェクションに脆弱なパスから、攻撃者はどのようなユーザー情報を取得することができたのでしょうか?

Task2でSQLインジェクション攻撃を受けた場所は「/rest/products/search」と判明しています。

Grepで上記パスをフィルタしてaccess.logを確認します。

cat access.log | grep -i ‘/rest/products/search’ | grep 200

task3のaccess.logでsqlmapを使って情報取得

emailとpasswordの情報を収集しているのが分かりました。

こころ

今回のケースで攻撃成功のログってどう見分けるとかあるかい?

ステータスコード200だと成功とみなしていいかな

ぎんた

ステータスコード200でも成功しているとは限らないから、僕はこのケースの場合レスポンスバイトも併せて確認してみるかな。

他のsqlmapによる攻撃試行ログではレスポンスバイトで記載なしとか30(キャプチャ外のログです)とかになっていたけど、突然3742とバイト数が変化しているからデータが取得されているかもと考えてみるとかね。

こころ

ステータスコードとレスポンスサイズを見て総合的に判断するということね。

ぎんた

そういうこと。

ステータスコード200以外でも普段と異なるログになっている場合は注意が必要だから確認した方がいいよ。

Q.脆弱なパスからどのようなファイルをダウンロードしようとしたのでしょうか?

Task2で確認できています。

cat vsftpd.log

task3のvsftpd.logでダウンロードしたファイルを確認

coupons_2013.md.bak, www-data.bakがありました。

Q.前問のファイルを取得するために使用したサービスとアカウント名は何ですか?

vsftpd.logから、サービスはftp, アカウント名はanonymousと判断し、回答したら正解でした。

task3のvsftpd.logでanonymousログインを確認

FTPで匿名ログインを使って前問のファイルをダウンロードしていたことが分かります。

Q.サーバにシェルアクセスするために使用されたサービスとユーザー名は何ですか?

受領したログの中にauth.logがありました。

ぱっと見たところ、SSHの認証失敗のログが多数ありました。

SSHのログの中から「accept」という単語でフィルタして、認証に成功したログを調査します。

cat auth.log | grep accept

task3のauth.logでSSHでのログイン成功を確認

www-dataユーザーで認証に成功しているログがありました。

まとめ

今回はTryHackMeで提供されている「Juicy Details」というルームの攻略の過程を解説しました。

振り返り
  • FTPでの匿名ログインでファイルをダウンロードされた
  • SSHでのブルートフォース攻撃で認証を突破された
  • SQLインジェクション攻撃で脆弱なパスが発見され、個人情報が窃取された可能性が高い

この記事が少しでも役に立てれば幸いです。

以上、ぎんたでした。

サイバーセキュリティを学ぶ上で必要な攻撃と解析に関する他の記事は、以下のリンクで確認できます。

学習に関しましては、以下のセキュリティの勉強法、おすすめの学習本・動画の記事が多くの方に読まれています。

資格の記事については以下の記事がおすすめです。

ITエンジニアへの転職については以下の記事がおすすめです。

その他学習・転職関連に関しましては、以下の記事もあわせて読まれています。

ぜひご覧ください!

よかったらシェアしてね!
目次