私はコンピューティングセキュリティを研究していて、Windowsの特権昇格に関する this の記事を読んでいました。自分のWindowsマシンで次のコマンドを実行して、「信頼できるサービスパス」の問題が発生していないかどうかを確認しました。
wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """
そして、私は次の出力を得ました:
c:\wamp\bin\mysql\mysql5.6.17\bin\mysqld.exe wampmysqld
わかりません。上記のコマンドは、「スペース」が含まれるパス(たとえば、C:\wamp\bin\Some Folder\
など)を見つけることを目的としていましたが、ここではドットが表示されています。だから私の質問は:ドットのあるフォルダ名は信頼できるサービスパス攻撃に対して脆弱ですか?
(つまり、mysql5.exeをmysqlフォルダーに配置すると、Windowsはmysqld.exeに到達しようとしたときにもそれを解析/実行しますか?)
ありがとう
引用符で囲まれていないサービスパスは、スペースが含まれている場合にのみ脆弱です。これは、Windowsがスペースを区切りとして処理し、残りのサービスパスを引数として渡すためです。
元のパス:
c:\wamp\bin\mysql\mysql5.6.17\bin\mysqld.exe wampmysqld
パスがこのように見える場合:
c:\wamp\bin\mysql\mysql5 6.17\bin\mysqld.exe wampmysqld
Windowsは最初に次のことを試みます。
c:\wamp\bin\mysql\mysql5.exe 6.17\bin\mysqld.exe wampmysqld
その名前のファイルがある場合は、それを実行しようとします。それ以外の場合、Windowsは、引数があるかどうかに応じて、次のスペースまたは最後まで残りのサービスパスを試行します。
c:\wamp\bin\mysql\mysql5 6.17\bin\mysqld.exe wampmysqld
正しいパスを定義するサービスパスを引用することにより、その後のすべてが引数として処理されます。
"C:\Quoted\Service\Path.exe" <argument>