[ホーム] > [サイバー攻撃大辞典 トップ] > [引用符で囲まれていないプログラムパス(Unquoted Program Path)]


作成日:2020/09/18

引用符で囲まれていないプログラムパス(Unquoted Program Path)

引用符で囲まれていないプログラムパス(Unquoted Program Path)の説明


例えば Windows のサービスプログラムで以下をサービスのイメージとして実行しているとします。

"C:\Program Files\test\testServiceProgram.exe"

レジストリでこの値が"ImagePath" で設定されています。

しかしダブルクォートで設定しない場合、以下の2通りの解釈ができてしまいます。

1.一つ目の解釈
(1)プログラム
C:\Program.exe

(2)引数
Files\test\testServiceProgram.exe


1.二つ目の解釈
(1)プログラム
C:\Program Files\test\testServiceProgram.exe

(2)引数
無し

もし悪意のユーザが何らかの方法で C:\Program.exe というファイルを設定することができれば、このファイルはサービスとして特権で起動される可能性もあるため、大きな脆弱性となります。

ただし別途何らかの方法で C:\Program.exe というファイルを設置する必要があります。またこのサービスが特権で動作される必要があります。



対策


(1)
サービスを設定する場合はダブルクォートでImagePathを指定します。

(2)以下コマンドで Program Files を含むImagePath でダブルクォートが区切られてないレジストリを探し出すことは可能です。

wmic service get name,displayname,pathname | findstr /i /C:"Program files" | findstr /i /v """



(*)ただし以下のように別途独自のフォルダを使用するサービスは上記コマンドでは検出できません。

例:c:\my service\myservice.exe


CWE-428: Unquoted Search Path or Element
http://cwe.mitre.org/data/definitions/428.html






[ホーム] > [サイバー攻撃大辞典 トップ] > [引用符で囲まれていないプログラムパス(Unquoted Program Path)]


本サイト内掲載されている情報は、誰もその正当性は保証しません。独自の調査により判明した事項を記載しており、内容に誤りがある可能性があります。
内容により発生したいかなる損害は誰も補償しません。自己責任で参考として閲覧してください。
本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) securitychecklist.net 2015 - 2020