This guide shall inform the reader on how to install and use the OSINT tool “sherlock”.
Difficulty: Beginner
Time: 10 Minutes
Video Showcase: https://www.youtube.com/watch?v=eBkCt5JvMYc
Disclaimer: This guide is written purely for educational purposes. While everything this tool does is gather publicly available information, it should NOT be used to cause any harm or discomfort!
Table of Contents
What is “Sherlock”
Sherlock is an open-source tool that can “hunt down social media accounts by username across social networks“. It is written in the programing language “python” and can be downloaded on GitHub.
Link: https://github.com/sherlock-project/sherlock
How to install “Sherlock”
The installation process for sherlock is very straightforward.
- Clone the repo into a folder of your choise
git clone https://github.com/sherlock-project/sherlock.git
- Hop into the new sherlock directory
cd sherlock
- Install the requirements
python3 -m pip install -r requirements.txt
If you do not have pip installed you can do so by using the following command:
sudo apt update
sudo apt-get -y install python3-pip
How to use “Sherlock”
Using sherlock is very simple. Just replace username with the name you want to search for.
$ python3 sherlock.py username
[*] Checking username username on:
[+] 3dnews: http://forum.3dnews.ru/member.php?username=username
[+] 7Cups: https://www.7cups.com/@username
[+] 9GAG: https://www.9gag.com/u/username
[+] About.me: https://about.me/username
[+] Academia.edu: https://independent.academia.edu/username
[+] Airliners: https://www.airliners.net/user/username/profile/photos
[+] AllMyLinks: https://allmylinks.com/username
[+] Apple Developer: https://developer.apple.com/forums/profile/username
[+] Apple Discussions: https://discussions.apple.com/profile/username
[+] Archive.org: https://archive.org/details/@username
[+] Arduino: https://create.arduino.cc/projecthub/username
[+] Asciinema: https://asciinema.org/~username
[+] AskFM: https://ask.fm/username
[+] Audiojungle: https://audiojungle.net/user/username
[+] Bandcamp: https://www.bandcamp.com/username
[+] BinarySearch: https://binarysearch.io/@/username
[+] BitBucket: https://bitbucket.org/username/
[+] Blogger: https://username.blogspot.com
The tool also offers additional functionality that can be checked out with the –help flag.
$ python3 sherlock --help
usage: sherlock [-h] [--version] [--verbose] [--folderoutput FOLDEROUTPUT]
[--output OUTPUT] [--tor] [--unique-tor] [--csv]
[--site SITE_NAME] [--proxy PROXY_URL] [--json JSON_FILE]
[--timeout TIMEOUT] [--print-all] [--print-found] [--no-color]
[--browse] [--local]
USERNAMES [USERNAMES ...]
Sherlock: Find Usernames Across Social Networks (Version 0.14.0)
positional arguments:
USERNAMES One or more usernames to check with social networks.
optional arguments:
-h, --help show this help message and exit
--version Display version information and dependencies.
--verbose, -v, -d, --debug
Display extra debugging information and metrics.
--folderoutput FOLDEROUTPUT, -fo FOLDEROUTPUT
If using multiple usernames, the output of the results
will be saved to this folder.
--output OUTPUT, -o OUTPUT
If using single username, the output of the result
will be saved to this file.
--tor, -t Make requests over Tor; increases runtime; requires
Tor to be installed and in system path.
--unique-tor, -u Make requests over Tor with new Tor circuit after each
request; increases runtime; requires Tor to be
installed and in system path.
--csv Create Comma-Separated Values (CSV) File.
--site SITE_NAME Limit analysis to just the listed sites. Add multiple
options to specify more than one site.
--proxy PROXY_URL, -p PROXY_URL
Make requests over a proxy. e.g.
socks5://127.0.0.1:1080
--json JSON_FILE, -j JSON_FILE
Load data from a JSON file or an online, valid, JSON
file.
--timeout TIMEOUT Time (in seconds) to wait for response to requests.
Default timeout is infinity. A longer timeout will be
more likely to get results from slow sites. On the
other hand, this may cause a long delay to gather all
results.
--print-all Output sites where the username was not found.
--print-found Output sites where the username was found.
--no-color Don't color terminal output
--browse, -b Browse to all results on default browser.
--local, -l Force the use of the local data.json file.
Possible usecases
- Finding your old accounts
- Finding accounts of relatives
- Checking if a username is available on certain sites (–site flag)
- OSINT (challenges… of course!)