Robert J. Hansen 0bcdf23acd Now ingests hashes.
2022-11-22 14:00:43 -05:00
2016-10-27 10:30:24 -04:00
2022-11-22 14:00:43 -05:00
2022-11-15 13:02:12 -05:00
2016-10-29 17:51:38 -04:00
2016-04-27 17:32:38 -04:00
2022-11-15 13:02:12 -05:00
2013-03-02 11:50:00 -05:00

nsrlsvr

nsrlsvr is a tool to facilitate looking up data in NISTs National Software Reference Library Reference Data Set.

Whats that?

Its a database of about 50 million MD5 hashes, representing every file known to NIST.

Why do I care?

If you deal with a lot of unknown files it can be useful to separate them into “stuff NIST already knows about, ergo its commonplace” and “stuff NIST doesnt know about, so maybe its interesting”.

You can use a tool like hashdeep to generate MD5 hashes of large filesystems and feed the output into a tool like nsrllookup, which will in turn go off and query an nsrlsvr instance to see whats what.

Why would I want to run my own?

Great question, especially since nsrllookup comes out-of-the-box ready to work with the freely-accessible nsrllookup.com server.

There are two use cases for standing up your own nsrlsvr instance:

  1. Youre doing such high volumes that youre concerned Ill block your IP on nsrllookup.com, or
  2. You have your own list of MD5 hashes which you want to filter for.

If either of those two describes you, read on!

What youll need

  1. A UNIX operating system
  2. A Rust development environment (1.65 or later, please)
  3. The GNU Autotools

How to install

  1. Download the latest development release of nsrlsvr
  2. tar xzf [downloaded-file] to uncompress it
  3. cd into the directory you uncompressed it to
  4. autoreconf && automake --copy --add-missing to initialize the build system
  5. ./configure && make to build nsrlsvr
  6. sudo make install to install it to /usr/local/bin.
  7. Build your dataset (see below)
  8. Start nsrlsvr with nsrlsvr and youre off to the races. Any nsrllookup client can now use you as a hash server.

How do I make my own dataset from NISTs minimal RDS?

Description
No description provided
Readme ISC 1.2 MiB
Languages
C++ 72.5%
Roff 12%
Python 8.5%
CMake 6.3%
Shell 0.7%