ROBBERは、サードパーティの依存関係なしでDelphi XE2を使用して開発された無料のオープンソースツールです。
DLLハイジャックとは何ですか?!
Windowsには、基礎となるアーキテクチャにDLLの検索パスがあります。絶対的なパスなしで実行可能リクエストをDLLs(この検索プロセスをトリガーする)を把握できる場合は、敵対的なDLLを検索パスのどこかに配置して、実際のバージョンの前に見つけることができます。
それでは、WindowsのDLL検索パスのふりをしてみましょう。
a)。 < - 実行可能ファイルの現在の作業ディレクトリ、最優先事項、最初のチェック
b) Windows
c) windows system32
d) windows syswow64 < - 最低の優先度、最後のチェック
そして、いくつかの実行可能な「foo.exe」要求「bar.dll」は、たまたまsyswow64(d)subdirに住んでいます。これにより、悪意のあるバージョンをa)、b)、またはc)に配置する機会が得られ、実行可能ファイルにロードされます。
前に述べたように、DLLを独自のバージョンに置き換えることができれば、絶対的なフルパスでさえこれに対して保護できません。
Microsoft Windowsは、Windowsファイル保護メカニズムを使用してSystem32のようなシステムパスを保護しますが、Entrprise SolutionsでのDLLハイジャックから実行可能ファイルを保護する最良の方法は次のとおりです。
そしてもちろん、これもWindowsに限定されていません。外部ライブラリの動的リンクを可能にするOSは、理論的にこれに対して脆弱です。
強盗は簡単なメカニズムを使用して、ハイジャックする傾向があるDLLを把握します。
Feauters:
ここで最新の強盗実行可能ファイルをご覧ください