• Stars
    star
    520
  • Rank 85,117 (Top 2 %)
  • Language
    Python
  • Created over 1 year ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An OSINT tool that helps detect members of a company with leaked credentials

๐Ÿ”Ž EmploLeaks

This is a tool designed for Open Source Intelligence (OSINT) purposes, which helps to gather information about employees of a company.

๐Ÿš€ How it Works

The tool starts by searching through LinkedIn to obtain a list of employees of the company. Then, it looks for their social network profiles to find their personal email addresses. Finally, it uses those email addresses to search through a custom COMB database to retrieve leaked passwords. You an easily add yours and connect to through the tool.

๐Ÿ’ป Installation

To use this tool, you'll need to have Python 3.10 installed on your machine. Clone this repository to your local machine and install the required dependencies using pip in the cli folder:

cd cli
pip install -r requirements.txt

OSX

We know that there is a problem when installing the tool due to the psycopg2 binary. If you run into this problem, you can solve it running:

cd cli
python3 -m pip install psycopg2-binary`

๐Ÿ“ˆ Basic Usage

To use the tool, simply run the following command:

python3 cli/emploleaks.py

If everything went well during the installation, you will be able to start using EmploLeaks:

___________              .__         .__                 __
\_   _____/ _____ ______ |  |   ____ |  |   ____ _____  |  | __  ______
 |    __)_ /     \____  \|  |  /  _ \|  | _/ __ \__   \ |  |/ / /  ___/
 |        \  Y Y  \  |_> >  |_(  <_> )  |_\  ___/ / __ \|    <  \___ \
/_______  /__|_|  /   __/|____/\____/|____/\___  >____  /__|_ \/____  >
        \/      \/|__|                         \/     \/     \/     \/

OSINT tool ๐Ÿ•ต  to chain multiple apis
emploleaks>

Right now, the tool supports two functionalities:

  • Linkedin, for searching all employees from a company and get their personal emails.
    • A GitLab extension, which is capable of finding personal code repositories from the employees.
  • If defined and connected, when the tool is gathering employees profiles, a search to a COMB database will be made in order to retrieve leaked passwords.

Retrieving Linkedin Profiles

First, you must set the plugin to use, which in this case is linkedin. After, you should set your authentication tokens and the run the impersonate process:

emploleaks> use --plugin linkedin
emploleaks(linkedin)> setopt JSESSIONID
JSESSIONID: 
[+] Updating value successfull
emploleaks(linkedin)> setopt li-at
li-at: 
[+] Updating value successfull
emploleaks(linkedin)> show options
Module options:

Name        Current Setting                      Required    Description
----------  -----------------------------------  ----------  -----------------------------------
hide        yes                                  no          hide the JSESSIONID field
JSESSIONID  **************************           no          active cookie session in browser #1
li-at       AQEDAQ74B0YEUS-_AAABilIFFBsAAAGKdhG  no          active cookie session in browser #1
            YG00AxGP34jz1bRrgAcxkXm9RPNeYIAXz3M
            cycrQm5FB6lJ-Tezn8GGAsnl_GRpEANRdPI
            lWTRJJGF9vbv5yZHKOeze_WCHoOpe4ylvET
            kyCyfN58SNNH
emploleaks(linkedin)> run impersonate
[+] Using cookies from the browser
Setting for first time JSESSIONID
Setting for first time li_at

li_at and JSESSIONID are the authentication cookies of your LinkedIn session on the browser. You can use the Web Developer Tools to get it, just sign-in normally at LinkedIn and press right click and Inspect, those cookies will be in the Storage tab.

Now that the module is configured, you can run it and start gathering information from the company:

emploleaks(linkedin)> run find EvilCorp
โ ™ Gathering Information[+] Added 1 new names.
๐Ÿ’ป Listing profiles:
 0: 
	full name: Joaquin Rodriguez Viruliento
	profile name: joaquinrodriguezviruliento
	occupation: Security Researcher at EvilCorp
	public identifier: joaquinrodriguezviruliento
	urn: urn:li:member:15736913
โœ” Getting and processing contact info of "Joaquin Rodriguez Viruliento"
	Contact info:
		website 0. http://www.evilcorp.com
		twitter 0. limpiamicerca

โœ” Done

Get Linkedin accounts + Leaked Passwords

We created a custom workflow, where with the information retrieved by Linkedin, we try to match employees' personal emails to potential leaked passwords. In this case, you can connect to a database (in our case we have a custom indexed COMB database) using the connect command, as it is shown below:

emploleaks(linkedin)> connect --user myuser --passwd mypass123 --dbname mydbname --host 1.2.3.4
[+] Connecting to the Leak Database...
[*] version: PostgreSQL 12.15

Once it's connected, you can run the workflow. With all the users gathered, the tool will try to search in the database if a leaked credential is affecting someone:

emploleaks(linkedin)> run_pyscript workflows/check_leaked_passwords.py EvilCorp
[-] Failing login... trying again!
[-] Failing login... trying again!
[+] Connected to the LinkedIn api successfull
The following command could take a couple of minutes, be patient
 Listing profiles:
โœ” Getting and processing contact info of "seรฑor girafales"
โœ” Getting and processing contact info of "kiko"
โœ” Getting and processing contact info of "el chavo del 8"
[...]
[+] Password for "seรฑor girafales" exists
[*] Email: [email protected]
+------------------+
| passwords leaked |
+------------------+
| laFQqAOSL69      |
+------------------+

As a conclusion, the tool will generate a console output with the following information:

  • A list of employees of the company (obtained from LinkedIn)
  • The social network profiles associated with each employee (obtained from email address)
  • A list of leaked passwords associated with each email address.

๐Ÿ“ฐ How to build the indexed COMB database

An imortant aspect of this project is the use of the indexed COMB database, to build your version you need to download the torrent first. Be careful, because the files and the indexed version downloaded requires, at least, 400 GB of disk space available.

Once the torrent has been completelly downloaded you will get a file folder as following:

โ”œโ”€โ”€ count_total.sh
โ”œโ”€โ”€ data
โ”‚   โ”œโ”€โ”€ 0
โ”‚   โ”œโ”€โ”€ 1
โ”‚   โ”‚   โ”œโ”€โ”€ 0
โ”‚   โ”‚   โ”œโ”€โ”€ 1
โ”‚   โ”‚   โ”œโ”€โ”€ 2
โ”‚   โ”‚   โ”œโ”€โ”€ 3
โ”‚   โ”‚   โ”œโ”€โ”€ 4
โ”‚   โ”‚   โ”œโ”€โ”€ 5
โ”‚   โ”‚   โ”œโ”€โ”€ 6
โ”‚   โ”‚   โ”œโ”€โ”€ 7
โ”‚   โ”‚   โ”œโ”€โ”€ 8
โ”‚   โ”‚   โ”œโ”€โ”€ 9
โ”‚   โ”‚   โ”œโ”€โ”€ a
โ”‚   โ”‚   โ”œโ”€โ”€ b
โ”‚   โ”‚   โ”œโ”€โ”€ c
โ”‚   โ”‚   โ”œโ”€โ”€ d
โ”‚   โ”‚   โ”œโ”€โ”€ e
โ”‚   โ”‚   โ”œโ”€โ”€ f
โ”‚   โ”‚   โ”œโ”€โ”€ g
โ”‚   โ”‚   โ”œโ”€โ”€ h
โ”‚   โ”‚   โ”œโ”€โ”€ i
โ”‚   โ”‚   โ”œโ”€โ”€ j
โ”‚   โ”‚   โ”œโ”€โ”€ k
โ”‚   โ”‚   โ”œโ”€โ”€ l
โ”‚   โ”‚   โ”œโ”€โ”€ m
โ”‚   โ”‚   โ”œโ”€โ”€ n
โ”‚   โ”‚   โ”œโ”€โ”€ o
โ”‚   โ”‚   โ”œโ”€โ”€ p
โ”‚   โ”‚   โ”œโ”€โ”€ q
โ”‚   โ”‚   โ”œโ”€โ”€ r
โ”‚   โ”‚   โ”œโ”€โ”€ s
โ”‚   โ”‚   โ”œโ”€โ”€ symbols
โ”‚   โ”‚   โ”œโ”€โ”€ t

At this point, you could import all those files with the command create_db:

emploleaks> create_db --dbname leakdb --user leakdb_user --passwd leakdb_pass --comb /home/pasta/Downloads/comb
[*] The full database occups more than 200 GB, take this in account
[*] Creating the database
ERROR:  database "leakdb" already exists
ERROR:  role "leakdb_user" already exists 
ALTER ROLE
ALTER DATABASE
GRANT
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
ALTER SYSTEM
[+] Connecting to the Leak Database...
[+] Importing from /home/pasta/Downloads/comb/data/1/m
[+] Importing from /home/pasta/Downloads/comb/data/1/d
[+] Importing from /home/pasta/Downloads/comb/data/1/v
[+] Importing from /home/pasta/Downloads/comb/data/1/0
[+] Importing from /home/pasta/Downloads/comb/data/1/8
[+] Importing from /home/pasta/Downloads/comb/data/1/u
[+] Importing from /home/pasta/Downloads/comb/data/1/k
[+] Importing from /home/pasta/Downloads/comb/data/1/r
[+] Importing from /home/pasta/Downloads/comb/data/1/7
[+] Importing from /home/pasta/Downloads/comb/data/1/h
[+] Importing from /home/pasta/Downloads/comb/data/1/o
[+] Importing from /home/pasta/Downloads/comb/data/1/t
[+] Importing from /home/pasta/Downloads/comb/data/1/f
[+] Importing from /home/pasta/Downloads/comb/data/1/n
[+] Importing from /home/pasta/Downloads/comb/data/1/symbols
[+] Importing from /home/pasta/Downloads/comb/data/1/g
[+] Importing from /home/pasta/Downloads/comb/data/1/q
[+] Importing from /home/pasta/Downloads/comb/data/1/a
[+] Importing from /home/pasta/Downloads/comb/data/1/e
[+] Importing from /home/pasta/Downloads/comb/data/1/l                            
[+] Importing from /home/pasta/Downloads/comb/data/1/y                            
[+] Importing from /home/pasta/Downloads/comb/data/1/s                            
[+] Importing from /home/pasta/Downloads/comb/data/1/3                            
[+] Importing from /home/pasta/Downloads/comb/data/1/6                            
[*] Creating index... 

The importer takes a lot of time for that reason we recommend to run it with patience.

๐Ÿ“Œ Next Steps

We are integrating other public sites and applications that may offer about a leaked credential. We may not be able to see the plaintext password, but it will give an insight if the user has any compromised credential:

  • Integration with Have I Been Pwned?
  • Integration with Firefox Monitor
  • Integration with Leak Check
  • Integration with BreachAlarm

Also, we will be focusing on gathering even more information from public sources of every employee. Do you have any idea in mind? Don't hesitate to reach us:

Or you con DM at @pastacls or @gaaabifranco on Twitter.

๐Ÿ“ License

This tool is licensed under the MIT License. See the LICENSE file for more information.

More Repositories

1

faraday

Open Source Vulnerability Management Platform
Python
4,784
star
2

evilgrade

Evilgrade is a modular framework that allows the user to take advantage of poor upgrade implementations by injecting fake updates.
Perl
1,282
star
3

spoilerwall

Spoilerwall introduces a brand new concept in the field of network hardening. Avoid being scanned by spoiling movies on all your ports!
Python
760
star
4

cve-2022-27255

Python
271
star
5

CVE-2023-21036

Detection and sanitization for Acropalypse Now - CVE-2023-21036
Python
77
star
6

faraday_plugins

Security tools report parsers for Faradaysec.com
Python
48
star
7

faraday-cli

Faraday's Command Line Interface
Python
41
star
8

faraday_agent_dispatcher

Faraday Agent Dispatcher launches any security tools and send results to Faradaysec Platform.
Python
39
star
9

cscan

Faraday Continuous Scanning
Python
33
star
10

distro_checker

Cross Distribution Exploit Testing
Shell
27
star
11

draytek-arsenal

Reverse Engineering and Observability toolkit for Draytek firewalls
Python
27
star
12

CVE-2016-2776

CVE-2016-2776
Ruby
27
star
13

Exploit-CVE-2021-21086

Python
26
star
14

faraday_bugbounty

Faraday Workspaces for Bug Bounties
20
star
15

isr-sqlget

ISR-sqlget It's a blind SQL injection tool developed in Perl.
Perl
14
star
16

wardriving

Wardriving ekoparty
Python
13
star
17

ezviz_lan_rce

C
10
star
18

faraday_angular_frontend

Faraday's frontend angular code, you need a Faraday server to serve the API
JavaScript
10
star
19

faraday_burp

Burp Extension for collaboration in Faraday
Java
9
star
20

code

Lab tools
Perl
8
star
21

gorrabot

Gorrabot is a bot made to automate checks and processes in the development process.
Python
8
star
22

faraday-client

GTK client of FaradaySEC
Python
6
star
23

alexafaraday

Alexa skill example for Faraday API
Python
5
star
24

faraday_templates

5
star
25

faraday_addon

A browser extension for faradaysec platform https://faradaysec.com
JavaScript
4
star
26

nec_aterm_tools

C
3
star
27

presentations

Talks & Workshops & Meetups slides
JavaScript
3
star
28

gha-faraday-report-uploader

Shell
2
star
29

Labs

Faraday Labs (security research)
2
star
30

faraday_agent_parameters_types

The faraday agents run code remotely from the faraday server. The server sets the parameters of the code, and this repository sets the models to by used by both sides.
Python
2
star
31

pictureme

Java
2
star
32

eko2020-challenge

JavaScript
1
star
33

faraday_zap

Zap Extension for collaboration in Faraday
Java
1
star
34

docker-faraday-report-uploader

Shell
1
star
35

faraday-vmpipelines

HTML
1
star
36

SymaX5SW-Rx-Tx

Syma X5SW Telemetry and Transmissor
Python
1
star