1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「証明書インストール」が出てきたら、貴方ならどうしますか?

Last updated at Posted at 2025-06-19

背景

仕事中、突然「証明書インストール」の画面が飛び出てきた

image.png

  1. 迷わず「はい」
  2. 理由がわからんものなんて押せない「いいえ」
  3. 理由を調査して、判断する

IT に縁がない順に上の選択肢を選ぶんじゃないのかなぁと思います。 :thinking:

ということで、3 の調査方法を残しておく

まぁ、勿論情シに聞いて、対処する、というのが一番楽だとは思います :laughing:

セキュリティ警告の調査と対処プロセス

概要

ポップアップさせてきたプロセスを調査し、その実行方法、実行元を調べる

証明書インストール要求が突然表示された場合の、原因特定から対処までの具体的な手順。

セキュリティ警告の例

image.png

  • 発行者: SAMPLE-CORP-CA
  • 拇印: ...

調査プロセス

1. 関連プロセスの特定

まず、証明書インストールを実行しているプロセスを特定します。

# 証明書関連のプロセスを確認
Get-Process | Where-Object {
    $_.ProcessName -like "*cert*" -or
    $_.ProcessName -like "*mmc*" -or
    $_.ProcessName -like "*install*"
} | Select-Object ProcessName, Id, StartTime, Path

出力例:

ProcessName    Id StartTime           Path
-----------    -- ---------           ----
certutil    12345 2025/06/17 14:30:00 C:\WINDOWS\system32\certutil.exe

2. プロセスの詳細調査

プロセス ID を特定出来たら、
特定されたプロセスの実行内容を詳しく調査します。

# プロセスの詳細情報を取得
Get-Process -Id 12345 -IncludeUserName |
    Select-Object ProcessName, Id, UserName, StartTime, Path

# 実行されたコマンドラインを確認
wmic process where processid=12345 get commandline

コマンドライン例:

CertUtil -f -user -p "SamplePass123!" -importPFX "sample_device.p12" noExport

実行コマンドがわかったので、これらを探すことになります。

3. 関連ファイルの調査

証明書ファイルや実行スクリプトの場所と内容を確認します。

# 証明書ファイルの検索
Get-ChildItem -Path "C:\" -Name "*.p12" -Recurse -ErrorAction SilentlyContinue |
    Select-Object -First 5

# 一時フォルダの内容確認
Get-ChildItem -Path "C:\temp\sample_cert\" |
    Select-Object Name, Length, LastWriteTime

4. 実行スクリプトの内容確認

最後は、
証明書インストールを実行したスクリプトの内容を分析します。

@echo off
setlocal

:: ログファイルのパスを設定
set LOGFILE=CertInstall.log

echo ------------------START------------------ >> %LOGFILE%
echo %date% %time% >> %LOGFILE%

:: 引数の確認
if "%~1"=="" (
    echo Password argument is missing. >> %LOGFILE%
    exit /b 1
)

if "%~2"=="" (
    echo Certificate file argument is missing. >> %LOGFILE%
    exit /b 1
)

:: 証明書のインストール実行
set "password=%~1"
set "certfile=%~2"

CertUtil -f -user -p "%password%" -importPFX "%certfile%" noExport >> %LOGFILE% 2>&1

if errorlevel 1 (
    echo Error: CertUtil command failed >> %LOGFILE%
    exit /b 1
)

echo -------------------END------------------- >> %LOGFILE%
endlocal
exit /b 0

5. イベントログの確認

念のため、
システムログから関連するイベントを確認します。

# アプリケーションログの確認
Get-WinEvent -FilterHashtable @{
    LogName='Application';
    StartTime=(Get-Date).AddHours(-1)
} | Where-Object {
    $_.Message -like "*cert*" -or
    $_.Message -like "*SAMPLE-CORP-CA*"
} | Select-Object TimeCreated, Id, LevelDisplayName, Message

# システムログの確認
Get-WinEvent -FilterHashtable @{
    LogName='System';
    StartTime=(Get-Date).AddHours(-1)
} | Where-Object {
    $_.Message -like "*cert*"
} | Select-Object TimeCreated, Id, LevelDisplayName, Message

調査結果の分析

今回は、企業内の Wifi 用証明書インストールでした。

無線 LAN 申請書を出したら、承認通知が来る代わりに

業務中に
勝手にこれが立ち上がってくるので、
「はい」を押せ、とのこと

:sunglasses:
:sunglasses:
:sunglasses:

本気で?って思いません?
情シの管理権限で、裏でPC操るのは全然いいんですけど、これを押させるってことは

  • 不審メールやブラウジングで、「怪しい釦をクリックする」という成功体験を植え付ける

に等しいと思います。

あらためて調査方法まとめ

  1. プロセス特定

    Get-Process | Where-Object {$_.ProcessName -like "*cert*"}
    
  2. コマンドライン確認

    wmic process where "name='certutil.exe'" get commandline
    
  3. ファイル確認

    • 証明書ファイルの場所と作成日時
    • 実行スクリプトの内容分析

判断基準

✅ インストールを許可する場合

  • IT 部門からの正式な指示がある
  • 業務上必要な認証システムの一部
  • 証明書の発行者が信頼できる
  • ファイルの出所が明確

❌ インストールを拒否する場合

  • 実行した覚えがない
  • 発行者が不明または怪しい
  • IT 部門が関与していない
  • ファイルの出所が不明

事後対応

インストール許可した場合

  1. 動作確認

    • WiFi や VPN 接続のテスト
    • 証明書ストアでの確認
  2. ログ記録

    • インストール実行時刻
    • 証明書の詳細情報
    • 実行理由

インストール拒否した場合

  1. セキュリティ報告

    • インシデント報告書作成
    • 関連ファイルの保存
    • 状況の詳細記録
  2. システム確認

    • マルウェアスキャン実行
    • 不審なプロセスの確認
    • ネットワーク接続の監視

まとめ

セキュリティ警告が表示された際は、以下の原則を守ることが重要です:

  1. 冷静な対応: 慌てずに状況を把握する
  2. 徹底した調査: プロセスとファイルの詳細確認
  3. 適切な判断: 業務上の必要性と安全性の両面から評価
  4. 確実な記録: 対応内容と結果の詳細な記録
  5. 継続的な学習: セキュリティ知識の向上

あとがき

会社で見たときも疑問だったけど、
改めてまとめてみて・・・駄目だこりゃって感じてます・・が、どうなんでしょうねぇ :thinking:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?