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
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.