Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request: Add ImpHash #321

neu5ron opened this Issue Apr 2, 2019 · 1 comment


None yet
2 participants
Copy link

neu5ron commented Apr 2, 2019

I am not sure the level of effort to add Import Address Table(IAT) Hashing (ImpHash) to Zeek, similar to how there is MD5, SHA1, SHA256, etc..
This would be a great feature to add to the pe.log and or files.log(for PEs). I think it would be effective and very useful for a few reasons (and probably more that others could think of):

  1. Additional malware detection via "pivoting" off of the ImpHash. Both for internal to external traffic but also lateral movement (east/west).
    ImpHash is useful (to a decent degree) for clustering. For example different samples may have different md5/sha1/sha256 hashes, but if its a similar malware family then its possible they are using the same ImpHash (due to the malware's functionality). I have seen even some recent APTs hitting the news of big breaches but have the same ImpHash in each (despite completely different targets/campaigns).
  2. Legitimate Microsoft PE's being renamed and transferred (over the wire) during lateral movement. This scenario happens a lot when an actor moves a legitimate Microsoft PE, such as Sysinternals PsExec, but changes the name of the file so as not to appear as "psexec.exe".
    One would say to just use the md5/sha1/sha256 of the file, however with different versioning and "modifications" that would make it a non factor to use. Also, its rare that the IAT changes in legitimate binaries through a few version changes.
    This is especially useful for smb.log!

Thanks for your time!


This comment has been minimized.

Copy link
Contributor Author

neu5ron commented Apr 2, 2019

Especially since the pe.log already obtains "has_import_table" could possibly make this a if statement somewhere saying if "has_import_table" and a redef for enable imphash -- then perform imphashing and add to log.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.