Robber - Tool For Finding Executables Prone To Dll Hijacking


Robber is a costless opened upwardly source tool developed using Delphi XE2 without whatever third political party dependencies.
What is DLL hijacking ?!
Windows has a search path for DLLs inwards its underlying architecture. If yous tin figure out what DLLs an executable requests without an absolute path (triggering this search process), yous tin as well as then house your hostile DLL somewhere above the search path thence it'll live on constitute earlier the existent version is, as well as Windows volition happilly feed your laid upwardly on code to the application.

So, let's pretend Windows's DLL search path looks something similar this:
A) . <-- electrical flow working directory of the executable, highest priority, showtime check
B) \Windows
C) \Windows\system32
D) \Windows\syswow64 <-- lowest priority, final check
as well as unopen to executable "Foo.exe" requests "bar.dll", which happens to alive inwards the syswow64 (D) subdir. This gives yous the chance to house your malicious version inwards A), B) or C) as well as it volition live on loaded into executable.
As stated before, fifty-fifty an absolute sum path can't protect against this, if yous tin supplant the DLL amongst your ain version.
Microsoft Windows protect organisation pathes similar System32 using Windows File Protection machinery but the best agency to protect executable from DLL hijacking inwards entrprise solutions is :
  • Use absolute path instead of relative path
  • If yous bring personal sign, sign your DLL files as well as banking concern check the sign inwards your application earlier charge DLL into memory. otherwise banking concern check the hash of DLL file amongst master copy DLL hash)
And of course, this isn't actually express to Windows either. Any OS which allows for dynamic linking of external libraries is theoretically vulnerable to this.
Robber exercise uncomplicated machinery to figure out DLLs that prone to hijacking :
  1. Scan import tabular array of executable as well as discovery out DLLs that linked to executable
  2. Search for DLL files placed within executable that represent amongst linked DLL (as i said earlier electrical flow working directory of the executable has highest priority)
  3. If whatever DLL found, scan the export tabular array of theme
  4. Compare import tabular array of executable amongst export tabular array of DLL as well as if whatever matching was found, the executable as well as matched mutual functions flag equally DLL hijack candidate.
Feauters :
  • Ability to pick out scan type (signed/unsigned applications)
  • Determine executable signer
  • Determine wich referenced DLLs candidate for hijacking
  • Determine exported method names of candidate DLLs
  • Configure rules to decide which hijacks is best or adept selection for exercise as well as exhibit subject inwards dissimilar colors
Find out latest Robber executable here