Lamprey

Lamprey is an OSINT search aid which leverages Google’s Custom Search Engine in order to cross-reference large numbers of search terms, assisting the user with homing in potential leads.

By providing one or more files containing search terms of interest, Lamprey will perform combinatorial search queries and generate two output files: one indicating how many results each query has generated and another with the top 10 results for each query.

For example, if you have an input file with 8 names and another input file with 8 places, it will generate 64 searches, querying each name against each place you’ve provided.

Downloads

Example run and results

Lamprey running
summary.csv, sorted by number of results
results.csv

Limitations

Google’s Custom Search Engine allows for 100 queries per day in its free tier, or 10000 queries per day with billing activated (at a cost of US$5 per 1000 queries). As of the time of writing, Google will give US$300 as free credit when a new account is created (equivalent to 60000 queries).

The maximum number of daily queries can’t be increased, so complex searches will need to be run over a period of multiple days.

Building from source

Lamprey uses cmake to manage the build process.

Linux

The only dependency Lamprey has is cURL, which should be part of most distros.

To build, run the following:

cmake -H. -Bbuild -G "Unix Makefiles"
cmake --build build --config Release

Windows

If you do not have cmake installed, it can be downloaded from here.

Lamprey has been tested when building with Visual Studio 2017. To build it, run the following:

cmake -H. -Bbuild -G "Visual Studio 15 2017 Win32"
cmake --build build --config Release

Alternatively you can compile it from within Visual Studio by using the solution generated by the first step (which will be in build\lamprey.sln).

Usage

The basic usage of Lamprey is:

lamprey.exe <collection1> <collection2> <collectionN>

You will be told how many queries the run will generate, as well as the expected cost.

This will generate two files: results.csv and summary.csv. Before you do this, however, you’ll need to create the collection files.

Creating collection files

A collection file is just a text file containing one search term per line. For example:

green 
blue 
reddish
white
yellow
black
red 
orange
purple

Settings

By default, Lamprey uses a free Custom Search Engine ID & API keys, which are restricted to 100 searches per day. If you have your own CSE, you can modify the settings.json file:

{
    "search_engine_id": "016794710981670214596:sgntarey42m",
    "api_key": "AIzaSyBHnMEOSkTM7Lazvou27FXgJb6M4hjn9uE"
}

If you’d like to set up your own CSE, please refer to the wiki for a walkthrough of the process: Custom Search Engine setup.

Resuming runs

Given the 10000 queries/day limitation, complex runs will have to be performed over the course of multiple days. If a previous summary.csv file is present when Lamprey is called, it will ask you if you want to resume from where it had stopped before.

Credits

Work in progress
To top