侵入の検知

攻撃手法の理解

OSやシステムとフェーズ毎の攻撃手法

MITRE ATT&CK MATRIX: https://attack.mitre.org/

通常の把握

実行されているプロセス

必要最小限のプロセスになるようにしているか

実行ファイルの場所がおかしくないか

ディスクに存在しないコードを実行していないか

プロセスがRAMに存在しているときにディスクの実行ファイルを削除できるOSかどうか

親プロセスと子プロセスの組み合わせがおかしくないか

実行開始時間がおかしくないか

プロセスがインポートしているライブラリがおかしくないか

大文字と小文字を区別するOSかどうか
※大文字と小文字を微妙に変えて、通常のプロセスかのように装う

自動起動サービス

自動起動サービスがおかしくないか
※スタートアップフォルダ
※レジストリエントリ(設定・構成情報)
※ブラウザの拡張機能(ブラウザの機能を乗っ取る)
※スケジュールタスク
※ユーザーを介さずにコードを実行することができる

シェルプロファイル
※ログオン時にコードを実行するようにできる

サービスにバックドアを置ければ、パッチ適用やアカウント無効化されても、攻撃を継続できる

認証関連

認証情報がどのように利用されているかの理解
攻撃者が認証情報にどのようにアクセスするかの理解
調査がかえって攻撃者に認証情報を渡すことにならないかの理解

対話型ログオンシステムの理解
※SSO等の認証情報のハッシュはログオン有効期間中メモリに置かれること
※ユーザー名とパスワードのハッシュ値はソルト値でのランダム性がないことが多い

認証関連の設定ファイルがおかしくないか
※PAM(Pluggable Authentication Modules)
※ls -latr /etc/ | grep '\.d'
※/etc/pam.d
※アカウントアクセスを制御

ssh-agentも暗号化されていない鍵を盗むことができる

利用されているプロトコル・開いている・利用されているポート

ルートキットが悪用されると開いているポートがホストから確認できないことがある
外部ポートスキャン結果とホスト上でのスキャン結果を比べる

アカウント

システムに属していないアカウントはないか
通常とは異なる動きをしているアカウントはないか
内部にスパイがいないか
全ユーザーのログオンイベントを確認しておく
手動で作成されたサービスアカウントで脆弱なパスワードのアカウントはないか

各管理者グループのユーザー一覧は最小限のユーザーになっているかどうか
※管理者グループに乗っ取ったアカウントを追加させることがある
管理者アカウントは管理者用端末からのみ使えるようにする
※管理者アカウントは一般端末(メール、WEB閲覧等ができる)からは使わない

ユーザーID・グループID

0に変えることができれば強い権限を手に入れることができる
/etc/passwd

デーモンプロセスに使うアカウントはシェルを持っていないかどうか
※常駐して攻撃できてしまう

ファイル

おかしい実行ファイルはないか
※実行ファイルには見えない実行ファイル
※タイムスタンプ
※パスが大文字・小文字違い、スペルミス、空白文字が最後にある等
※/etc等ディレクトリやファイルが多い場所に紛れ込んでいないか

トラフィック量・IP

攻撃者が頻繁に国ごと変えている場合がある

プロキシログ(ユーザーエージェント・URL・ドメイン・ビーコン・接続数・通信データ量・エンコード)

ネットワークのフローデータ

トラフィックの詳細情報を収集するための技術(NetFlow,IPFIX,sFlow)
※ルーターやスイッチのネットワーク機器を通る通信のパケットからフローデータを作成する

悪意のあるIP,ドメインのデータベース

すでに被害にあっている他の人を参考にする
https://www.circl.lu/services/passive-dns/

継続的な接続の代わり

定期的なビーコン(のろし、航空標識)
※HTTPSでステルス化
※ビーコン検知ツールで検知する

ローカルプロキシツールで侵入されたホストからの通信を把握する
※Webサーバとブラウザ間のデータのやり取りを把握する
※攻撃者の攻撃基盤へのMITM(Man In The Middle)

攻撃を受ける側の罠

ユーザー

攻撃者はよくあるパスワードのデータベースを元にログインしようとする
罠用ユーザーでログインしようとするとアラーム

メモリ内ハッシュ

管理者アカウントの偽の認証情報をメモリ内において、それが使われたらアラート

ファイル

アクセスされたらアラート

ツール

データ収集・分析
ロングテール分析(ニッチな事象を分析)による外れ値や異常な活動を特定
ライブリモートメモリフォレンジック
ファイルシステムデータの検索と操作
システム情報の照会
ディスクスキャン
メモリスキャン・ダンプ
ブラウザ履歴の収集

Kansa
  A modular incident response framework in Powershell.
  It uses Powershell Remoting to run user contributed, ahem, user contri-
buted modules across hosts in an enterprise to collect data for use
during incident response, breach hunts, or for building an environmental
baseline.

TheHive
  TheHive is a scalable 3-in-1 open source and free Security Incident Response Platform designed to make life easier for SOCs, CSIRTs, CERTs and any information security practitioner dealing with security incidents that need to be investigated and acted upon swiftly.

GRR Rapid Response
  GRR Rapid Response is an incident response framework focused on remote live forensics.
  GRR is a python client (agent) that is installed on target systems, and python server infrastructure that can manage and talk to clients.
  enable remote live in-memory analysis.

Velociraptor
  Endpoint visibility and collection tool.
  Velociraptor is a tool for collecting host based state information using The Velociraptor Query Language (VQL) queries.

Fenrir
  Fenrir is a simple IOC scanner bash script. It allows scanning Linux/Unix/OSX systems for the following Indicators of Compromise (IOCs): Hashes, File Names, Strings, C2 Server, Hot Time Frame

OSSEC
  OSSEC is a multiplatform, open source and free Host Intrusion Detection System (HIDS).
  You can tailor OSSEC for your security needs through its extensive configuration options, adding custom alert rules and writing scripts.

Wazuh
  Wazuh is a free and open source platform used for threat prevention, detection, and response.
  It is capable of protecting workloads across on-premises, virtualized, containerized, and cloud-based environments.

  Wazuh solution consists of an endpoint security agent, deployed to the monitored systems, and a management server, which collects and analyzes data gathered by the agents.
  Besides, Wazuh has been fully integrated with the Elastic Stack, providing a search engine and data visualization tool that allows users to navigate through their security alerts.

関連