Crosslinked

CrossLinked is a LinkedIn enumeration tool that uses search engine scraping to collect valid employee names from an organization. This technique provides accurate results without the use of API keys, credentials, or accessing LinkedIn directly!

In the latest version CrossLinked now includes a names.csv output file, which stores all scraping data including: first name, last name, job title, and url. This can be ingested and parsed to reformat user accounts as needed.

Prerequisite

CrossLinked assumes the organization’s account naming convention has already been identified. This is required for execution and should be added to the CMD args based on your expected output. See the Naming Format and Example Usage sections.

Installation

git clone https://github.com/m8r0wn/CrossLinked.git

Install requirements

python3 -m pip install -r requirements.txt

Usage

python3 crosslinked.py [OPTIONS]

Flags

positional arguments:
  company_name        Target company name

options:
  -h, --help          show this help message and exit
  -t TIMEOUT          Max timeout per search (Default=15)
  -j JITTER           Jitter between requests (Default=1)

Search arguments:
  --search ENGINE     Search Engine (Default='google,bing')

Output arguments:
  -f NFORMAT          Format names, ex: 'domain\{f}{last}', '{first}.{last}@domain.com'
  -o OUTFILE          Change name of output file (omit_extension)

Proxy arguments:
  --proxy PROXY       Proxy requests (IP:Port)
  --proxy-file PROXY  Load proxies from file for rotation

Examples

$ python3 crosslinked.py -f '{first}.{last}@example.com' example.com
[*] Searching google for valid employee names at example.com
[*] 0 : https://www.google.com/search?q=site:linkedin.com/in+"example.com"&num=100&start=0
[*] 94 : https://www.google.com/search?q=site:linkedin.com/in+"example.com"&num=100&start=114
[*] 170 : https://www.google.com/search?q=site:linkedin.com/in+"example.com"&num=100&start=229
[*] 224 : https://www.google.com/search?q=site:linkedin.com/in+"example.com"&num=100&start=330
[*] Searching bing for valid employee names at example.com
[*] 0 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=0
[*] 7 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=24
[*] 16 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=49
[*] 23 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=74
[*] 32 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=98
[*] 41 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=123
[*] 51 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=148
[*] 60 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=173
[*] 69 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=198
[*] 78 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=224
[*] 88 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=249
[*] 97 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=284
[*] 101 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=307
[*] 104 : https://www.bing.com/search?q=site:linkedin.com/in+"example.com"&first=341
[+] names.txt complete, 266 unique names found!
$ head names.txt
pornwilai.tusawan@example.com
jelle.van@example.com
eddy.example@example.com
وذوي.تبت@example.com
credential.manager@example.com
guntis.haritonovs@example.com
ahmed.ossour@example.com
ermeyas.germa@example.com
biglove.zaza@example.com
jim.bob@example.com

URL List