关于EmploLeaks
EmploLeaks是一款针对企业安全的组织员工信息收集OSINT工具,在该工具的帮助下,企业内部的安全人员和管理员可以有效地收集组织内员工的各种信息,并以此来判断组织内部的网络安全态势。
工作机制
首先,该工具会在Linkedin上进行数据搜索,并获取目标组织或企业的员工名单。接下来,工具便会查找他们的社交网络资料,以找到他们的个人电子邮件地址。最后,它将使用这些电子邮件地址在一个自定义的COMB数据库中进行搜索,以检索泄露的密码。
值得一提的是,广大研究人员可以轻松将该工具集成进自己的工作流中,或对其进行自定义开发。
支持的功能
1、LinkedIn,用于搜索公司的所有员工并获取他们的个人电子邮件;
2、GitLab扩展,能够从员工那里找到个人代码存储库;
3、如果已定义并连接,当该工具收集员工档案时,将搜索COMB数据库以检索泄露的密码;
工具要求
Python 3.10
工具下载
由于该工具基于Python 3.10开发,因此我们首先需要在本地设备上安装并配置好Python 3.10环境。
接下来,广大研究人员可以直接运行下列命令将该项目源码克隆至本地:
git clone https://github.com/infobyte/emploleaks.git
然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd emploleaks cd cli pip install -r requirements.txt
macOS安装
由于安装psycopg2时可能会遇到问题,如果遇到的话,可以运行下列命令来解决:
cd cli python3 -m pip install psycopg2-binary`
工具使用
执行下列命令即可运行EmploLeaks:
python3 cli/emploleaks.py
如果一切顺利的话,你将会看到下列内容:
___________ .__ .__ __ \_ _____/ _____ ______ | | ____ | | ____ _____ | | __ ______ | __)_ / \____ \| | / _ \| | _/ __ \__ \ | |/ / / ___/ | \ Y Y \ |_> > |_( <_> ) |_\ ___/ / __ \| < \___ \ /_______ /__|_| / __/|____/\____/|____/\___ >____ /__|_ \/____ > \/ \/|__| \/ \/ \/ \/ OSINT tool to chain multiple apis emploleaks>
检索Linkedin配置文件
首先,我们需要设置要使用的插件扩展,这里我们选择使用linkedin。接下来,我们需要设置身份认证令牌并运行身份伪造进程:
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和JSESSIONID是我们LinkedIn浏览器会话的身份认证Cookie,我们可以使用Web开发者工具来获取这两个数据。
配置好模块之后,我们就可以直接运行并开始数据收集任务了:
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
获取LinkedIn账号+泄露的密码
我们创建了一个自定义的工作流程,通过Linkedin检索到的信息,我们试图将员工的个人电子邮件与潜在的泄露密码进行匹配。在这种情况下,你可以使用connect命令连接到数据库(在我们的情况下,我们有一个自定义索引的COMB数据库),如下所示:
emploleaks(linkedin)> connect --user myuser --passwd mypass123 --dbname mydbname --host 1.2.3.4 [+] Connecting to the Leak Database... [*] version: PostgreSQL 12.15
连接成功后,就可以运行工作流了。收集所有用户后,如果泄露的凭据影响到某人,该工具将尝试在数据库中进行搜索:
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: girafales@gmail.com +------------------+ | passwords leaked | +------------------+ | laFQqAOSL69 | +------------------+
构建索引COMB数据库
该项目很重要的一个部分就是索引的COMB数据库,我们可以点击【这里】下载,整个文件需要至少400GB...
配置完成后,你将会看到如下所示结构的文件目录:
├── 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
我们可以使用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...
许可证协议
本项目的开发与发布遵循MIT开源许可证协议。
项目地址
EmploLeaks:【GitHub传送门】
参考资料
https://fardadaysec.com/