關于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: [email protected]
+------------------+
| 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:https://github.com/infobyte/emploleaks
參考資料
https://fardadaysec.com/