第55条:ログ分析ツールSplunkの導入と利用 | ビッグデータ分析 | インテリジェントな運用保守 | ビジネス分析

84636a08d0d12e2a09fd1a57f9c3b231.png

 Part1 序文 

皆さんこんにちは、私の名前は ABC_123 です私はかつて、ログの研究と分析のためにさまざまな Web サーバーとデータベース環境を構築するのに時間を費やしましたが、使用したツールは、ログを分析するためのシステム独自のコマンドの使用から、自動化された 360 度スター マップ、さらには後の Logparser、ELK (ElastiSearch、Kibana、Logstash) まで多岐にわたりました。等 最終的には、商用版の Splunk の方が使いやすいことがわかりました。個人的には ELK よりもこのソフトウェアの方が使いやすいと思いますが、ELK は無料でオープンソースであり、製品にパッケージ化できるため、需要が高くなります。逆に、Splunk は高価で、プロモーションは非常に限られていますSplunk は既存のさまざまなログ分析シナリオにうまく対応でき、成果物と言えます。

Splunk はアメリカ人によって書かれた商用ツールです (ELK もアメリカ人によって作られています)。2004 年に開発と更新が始まりました。機器やソフトウェアによって生成されるログ データ、パフォーマンス データ、ネットワーク パケット、その他のデータを収集し、インデックスを付けることができます。 .、調査、監視、可視化など. もちろん、青チームのログ分析作業を支援するために使用することもできます. また、製品のマーケティング分析にも多くのユーザーが使用しています. 新しいバージョンの Splunk では、以前のデータを組み合わせて顧客を分析することもできます将来の訪問を予測します。

私の公開アカウント「ABC123 Security Research Laboratory」をフォローしてください。このアカウントは 99% オリジナルであり、水文や広告を投稿しません

 Part2 Splunkの使い方紹介 

  • Splunk の検索構文

次に、Splunk の検索構文を簡単に紹介します。

ブール演算子 ( AND/OR/NOT ) をサポートします。大文字である必要があります

ステータス=200 アクション=購入ではありません

ステータス=200 アクション!=購入

500 select は、「500」と「select」という単語を含むすべてのイベントを検索します。

500 sel* は、「500」と「sel」で始まる単語を含むすべてのイベントを検索します。

status=500 use= は正確な結果を返します

head n    //最初の n を返します
tail n    //次の n を返します
top    //フィールドの最も一般的/最も頻度の高い値を表示します
rare //フィールドの最も一般的でない値を表示します
limit //クエリを制限します、例: 制限 5、最初の 5 つの結果を制限
rename xx as zz //xx フィールドのエイリアスを zz に設定し、
フィールドを区切るために複数のフィールド間で使用します// 検索結果内のフィールドを保持または削除します。フィールド – xx は xx フィールドを削除します。フィールドを保持するには – 記号は必要ありません。

   フィールドは、主にイベントをカウントするstats count()の括弧内に挿入できます。
stats dc()  個別のカウント。重複排除後の一意の値の統計。
stats value() は、  重複排除後の括弧内にフィールドの内容をリストします。
stats avg( )  平均値

下の図に示すように、この図は非常に古い ppt を改変したもので、Splunk インターフェイスとその使用方法を直感的に見ることができます。

6f0d63fe808e8a8007d20dde21c6ff90.png

以下は Splunk のダッシュボード インターフェイスの例ですが、このインターフェイスでは、青チームのアナリストがさまざまなログ分析の分析チャートをまとめることができ、表示は非常に直感的で美しいです

3ee7f5bb708d4770fbba1cbcbc078f49.png

  • ログファイルをインポートする

Splunk にログ ファイルをインポートするにはさまざまな方法がありますが、私は次の方法でログをインポートすることに慣れています。具体的な操作は次のとおりです: [設定] -> [データ入力] -> [ファイルとディレクトリ] -> [新しいローカル ファイルとディレクトリ]

5a500e2cb2cd2292226384bd922a31b5.png

次に、 「ファイルまたはディレクトリ」の横にある「参照」ボタンをクリックし、ローカルマシン上のフォルダー ( c:\log111など) を選択します。

94f702b435ca541b2e554594e8d0820e.png

後で、分析する必要があるログ ファイルをこのフォルダーに置くだけで、Splunk がそれらを自動的にインポートします。

e9d7ddecb9842913d7aa01d8ba33f1a2.png

ログ ファイルを上記のフォルダーに配置した後、Splunk のメイン インターフェイスを開きます。中央に緑色のヒストグラムの行があり、各期間の Web アクセス数が表示されます。ここで注目する必要があるのは、突然の増加です。ヒストグラム内の数値。柱状の部分は、攻撃者が頻繁に操作を実行する期間である可能性が高くなります

指定したログ ファイルのログ分析を実行する必要がある場合は、次のコマンドを入力するだけです: source="C:\\log1111\\45_secure.txt"

2301b1c502fe40028990eaaf8eeec201.png

  • SQL インジェクションのデータフリー動作を分析する

次のステートメントを使用すると、SQL インジェクション攻撃の動作をすばやく検索できます。誤検知を減らすために、AND ステートメントを使用してIISCode!=404を結合し、応答コード 404 の検索結果を除外できます。以下の図に示すように、ヒストグラムと組み合わせると、SQL インジェクション攻撃はヒストグラムに示されている約 1 時間の範囲に主に集中していることがわかり、攻撃者は SQL インジェクションの脆弱性を発見し、攻撃を実行したと推測されます。 。攻撃者が SQL インジェクションの脆弱性を利用してデータを削除したい場合は、select キーワードがほぼ必要になるため、ここでは select キーワードを 1 つだけ使用します

インデックス=_* OR インデックス=* ソースタイプ = "SQL_Injectionex" select AND iisCode!=404

cd3c6eac56d9413bef3b11e36b96bd93.png

  • XSS 攻撃の動作を分析する

次のステートメントを使用すると、XSS 攻撃の動作をすばやく分析し、論理演算子 AND を使用して応答コード 200 でログ結果をフィルタリングできます。Splunk は、 < や > などのタグ文字の分析をサポートできますキーワードに二重引用符を追加します

Index=_* OR Index=* sourcetype="SQL_Injectionex" "<script>" OR "alert" OR "confirm" AND iisCode=200

Splunk のヒストグラムと組み合わせると、XSS 攻撃の動作がヒストグラムに示されている 1 時間以内に集中していることがわかります。

874c55ca0e3f894cd511bc6b4c68c711.png

  • Webサイトのレスポンスが遅い原因分析

イントラネット上のWebサーバーが午後13時ごとに専用カードにアクセスしていることをお客様が発見し、Splunkのログ解析により、約1時間(図では1時間)にアクセスのピークがあり、アクセスしたURLがほぼ同じであることが判明しました。すべて/shop/rexsearch.aspパス内にあります。検索機能への頻繁なアクセスにより、サーバーが過負荷になっていると推測されます。

9999d5d0d66005680ebcbc3134067b75.png

次に、 /shop/rexsearchp.aspへのアクセス数を数えたところ、POST リクエストが 22,418 件あり、GET リクエストは 2 件のみであることがわかりました。

f8212593818d1e5c4ed76d04376f68d3.png

この件については、後ほど時間があるときに詳しくお話しますが、最終的に、イントラネット上の脆弱性スキャナーが原因であることが判明しました。午後 13 時ごとに、Web サーバーの脆弱性が自動的にスキャンされます。スキャナは検索ページで脆弱性をスキャンします。頻繁に検出されるとサーバーに過負荷がかかります

  • SSH パスワード爆発イベントを分析する

以下の図に示すように、SSH パスワード列挙イベントを分析するには、検索ボックスに「認証」キーワードを直接入力します。Splunk が分析を完了すると、ヒストグラムが表示されます。各ヒストグラムは、SSH パスワード攻撃の数を表します。 1分以内です。Splunk のヒストグラムとタイムラインの長さを適切に調整すると、このログ内の SSH パスワードの総当たりクラッキングが主に 12:21 から 12:22 までの 1 分間に集中していることが直感的にわかります。攻撃者は合計 51,158 個のパスワードを実行しまし。列挙操作。

524168309025e6c2d32c62800fa29556.png

  • table テーブル表示コマンド

tableコマンドを使用すると、Splunk の検索結果をテーブル形式に整理でき、テーブルの各列フィールドのタイトルをカスタマイズできます。さらに価値があるのは、Splunk の検索ステートメントが中国語をサポートし、中国語のタイトルを設定できることです

source="C:\\log1111\\45_secure.txt" 認証 | rhost の名前を攻撃元 IP として変更 | 統計は攻撃元 IP ごとに「送信元 IP 攻撃数」としてカウント | テーブル攻撃元 IP 送信元 IP 攻撃数 | 並べ替え - 送信元 IP攻撃回数

cf4c1fc97a13814ce1512599eaed08f2.png

以下の図に示すように、検索結果を直接保存したり、悪意のある IP を直接エクスポートしたりすることができ、非常に便利です。

19a8231761db5491f1badd421d8cff7c.png

  • IPアドレスフィールドを抽出する

次に、攻撃者がどの送信元 IP アドレスを使用したかをカウントする必要があるため、ログから送信元 IP アドレスをフィールドとして抽出する必要があります。Splunk にはフィールドを抽出する機能が便利です。次の操作を見てみましょう:

まず、「新しいフィールドを抽出」ボタンをクリックし、フィールド分析と抽出のサンプルとしてログの行を選択します。

0756d4a95ac4332a2cfde051ffbf7d8e.png

次に「次へ」をクリックし、「正規表現」ボタンを選択します。

97406d9e02881b6eaa8e70606b5b06ec.png

次に、「フィールドの選択」機能に移動し、左マウスを使用して IP アドレスをドラッグして選択します。Splunk が正規表現を自動的に生成します。ここでは、フィールドにsecureIPという名前を付けます。

89fe2c93018adf336d20481c1d2cf418.png

追加が完了すると、Splunk が正規表現ステートメントを自動的に作成し、必要に応じて変更できることがわかりました。

d51e9820ffb590726710b8062ed347f2.png

次に、クエリ ステートメント"authentication" | top secureRhost | sort - secureRhostを入力すると、爆発数が最も多い IP アドレスを直感的に確認できます。ここでは、パイプ文字 | の使用法 (左側が出力、右側が入力) に注意する必要があります。

06f373c86a5414227c952059df182d03.png

次に、IP アドレスの分布がグラフで表示されますので、「authentication」 | iplocation secureRhost | geostats count by secureRhost globallimit=0 と入力すると、攻撃者が 1 分ほどでボットネットまたはプロキシ プールを使用する可能性が高いことがわかります。この間、60,000 を超えるアカウント列挙操作が実行されました

cdf93fdb5354750978973971dffff9a2.png

  • iplocationコマンドの使用

このコマンドを入力すると、City、 Country、Region、lat、 lon などのフィールドが自動的に追加され、IP アドレスに対応する国、地域、経度、緯度がログに表示されるので非常に便利です。

source="C:\\log1111\\45_secure.txt" 認証 |rhost ごとの統計数 | iplocationrhost | 国を検索!="中国"

e0ba4718e5f982d0a98fc96d56fd75a0.png

  • ダッシュボードグラフィック表示機能

Splunk を利用すると、さまざまな分析チャートを「ダッシュボード」上にまとめて表示することができます。以下は、3 つの分析チャートを 1 つのインターフェースにまとめて私が作成したデモです。具体的な使用方法については後述します。

fbb3dbadfe213608518b3b5b2c5bcb94.png

 Part3 まとめ 

1.   Splunk の機能は非常に複雑です。1 つの記事で Splunk を明確に説明することは困難です。今後、ABC_123 はログ分析ツールである Splunk の使い方を共有し続け、ビデオチュートリアルも公開する予定です。調整した。

2.  公式アカウントをフォローし、「2 022」と返信すると、「2022 ABC123 公式アカウント年報」の PDF 電子書籍ダウンロードアドレスを取得します

f9f19b3068c2ab341a597d9ff08b52d2.png

パブリック アカウントは、APT イベント分析、レッド チームの攻撃と防御、ブルー チームの分析、ペネトレーション テスト、コード監査などを含むネットワーク セキュリティ テクノロジの共有に重点を置いています。1 週間に 1 つの記事で、99% がオリジナルですので、ご期待ください。

連絡先: 0day123abc#gmail.com(#を@に置き換えてください)

おすすめ

転載: blog.csdn.net/m0_71692682/article/details/129920507