1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

メモ .lnkファイルを読みたい 悪意あり

Last updated at Posted at 2025-03-02

ほぼリンク集。
仕事でもなんでも知らない.lnkファイルは実行してはいけない。ただのリンクではないし、HEXエディターで確認するくらいの覚悟と準備で踏もう。

仕様

公式がフォーマットを提供している

ABNF(Augmented BNF for Syntax Specifications)で記述する箇所がある

SHELL_LINK = SHELL_LINK_HEADER [LINKTARGET_IDLIST] [LINKINFO] 
             [STRING_DATA] *EXTRA_DATA

IDLIST = *ITEMID TERMINALID

STRING_DATA = [NAME_STRING] [RELATIVE_PATH] [WORKING_DIR]
              [COMMAND_LINE_ARGUMENTS] [ICON_LOCATION]


EXTRA_DATA = *EXTRA_DATA_BLOCK TERMINAL_BLOCK
EXTRA_DATA_BLOCK = CONSOLE_PROPS / CONSOLE_FE_PROPS / DARWIN_PROPS /
                   ENVIRONMENT_PROPS / ICON_ENVIRONMENT_PROPS /
                   KNOWN_FOLDER_PROPS / PROPERTY_STORE_PROPS /
                   SHIM_PROPS / SPECIAL_FOLDER_PROPS /
                   TRACKER_PROPS / VISTA_AND_ABOVE_IDLIST_PROPS

STRING_DATAのところでアイコンを偽装したりcmdやらpowershellやらを叩いてコマンドライン引数で好き勝手なことしたら危ないという話がある。
COMMAND_LINE_ARGUMENTS: An optional structure that stores the command-line arguments that are specified when activating the link target.

脆弱性(?)

powershellとかを叩いて悪いことができる。(↓詳しい)

↓分析

空白を仕込んでwindowsのGUIから見えないようにするらしい( https://japanese.opswat.com/blog/shortcut-lnk-files-may-contain-malware )
アイコンもnotepad.exeとかのを参照したりして怪しくない風を装う。

それと-NoProfile-bypassなどで実行ポリシー云々を回避したり、色々なところに置いた文字列をjoinやらsplitしたりで難読化してコマンドの「有害な」部分を隠すことで、防御側に警告を与える可能性のある文字列を防止することができるらしい。
なんか10年以上前からこんな感じらしいしpowershellってすげー。ふざけるな。

やり方(やるな)

リンク

読み込む

生成(悪意あり)

↓実行コード自体を埋め込もうとしてるらしい

[char] 数字 や環境変数から文字を取ってくる等のPowerShell難読化について

↓ 1ライナーのpowershellが書かれているはずなのでオペレーターを知っとくとよさそう

AMSIバイパス

やばいコードはAMSIが止めてくれるが、それをバイパスする方法が度々見つかっている。
(もとの.lnkでは文字数制限があるので、文字が置ける外部サイトから難読化済のAMSIバイパスコードを取ってきて実行。その後さらに悪意あるコードを外部から取ってきて実行、みたいな手段があるっぽい)

↓2022年までの争い

↓2025年最新版

↓4種のやり方(検証目的以外でやるな)

1
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?