
OSINT-Tool: Erstelle Benutzernamenlisten für Unternehmen auf LinkedIn
OSINT-Tool: Erstelle Benutzernamenslisten von Unternehmen auf LinkedIn.
Dies ist ein reiner Web-Scraper, kein API-Schlüssel erforderlich. Du verwendest deinen gültigen LinkedIn-Benutzernamen und dein Passwort, um dich anzumelden, und es erstellt mehrere Listen mit möglichen Benutzernamenformaten für alle Mitarbeiter eines Unternehmens, auf das du es ausrichtest.
Hier ist, was du bekommst:
Optional hängt das Tool @domain.xxx an die Benutzernamen an.

Gib mir nicht die Schuld, wenn dein LinkedIn-Konto gedrosselt oder sogar gesperrt wird. Dies ist ein Sicherheitsforschungstool – verwende es nur, nachdem du den Code gelesen und vollständig verstanden hast, was es tut.
Ich habe seit der Erstellung des Tools von keinen Kontosperrungen gehört, aber die Ratenbegrenzung greift gelegentlich, wenn das "kommerzielle Suchlimit" erreicht wird. Das war bisher vorübergehend (monatlich gemessen).
Installiere uv, führe dann vom Stammverzeichnis des Repos aus:
uv sync
Dies erstellt eine virtuelle Umgebung und installiert alle Abhängigkeiten automatisch. Führe das Tool aus mit:
uv run python linkedin2username.py -c targetco
Außerdem benötigst du Chrome, Chromium oder Firefox, installiert in typischen Pfaden, die von Selenium gefunden werden können. Ein Webbrowser wird vorübergehend gestartet, um die Anmeldung zu verwalten.
usage: linkedin2username.py [-h] -c COMPANY [-n DOMAIN] [-d DEPTH]
[-s SLEEP] [-x PROXY] [-k KEYWORDS] [-g] [-o OUTPUT]
OSINT tool to generate lists of probable usernames from a given company's LinkedIn page.
This tool may break when LinkedIn changes their site.
Please open issues on GitHub to report any inconsistencies.
optional arguments:
-h, --help show this help message and exit
-c COMPANY, --company COMPANY
Company name exactly as typed in the company linkedin profile page URL.
-n DOMAIN, --domain DOMAIN
Append a domain name to username output.
[example: "-n targetco.com" would output [email protected]]
-d DEPTH, --depth DEPTH
Search depth (how many loops of 25). If unset, will try to grab them
all.
-s SLEEP, --sleep SLEEP
Seconds to sleep between search loops. Defaults to 0.
-x PROXY, --proxy PROXY
Proxy server to use. WARNING: WILL DISABLE SSL VERIFICATION.
[example: "-p https://localhost:8080"]
-k KEYWORDS, --keywords KEYWORDS
Filter results by a a list of command separated keywords.
Will do a separate loop for each keyword,
potentially bypassing the 1,000 record limit.
[example: "-k 'sales,human resources,information technology']
-g, --geoblast Attempts to bypass the 1,000 record search limit by running
multiple searches split across geographic regions.
-o OUTPUT, --output OUTPUT
Output Directory, defaults to li2u-output
Du musst dem Tool den LinkedIn-Unternehmensnamen angeben. Du findest ihn, indem du dir die URL der Unternehmensseite ansiehst. Sie sollte ungefähr so aussehen: https://linkedin.com/company/targetco. Es kann so einfach sein wie der genaue Name des Unternehmens, muss es aber nicht.
Hier ist ein Beispiel, um alle Mitarbeiter von targetco abzurufen:
$ python linkedin2username.py -c targetco
Hier ist ein Beispiel, um eine kürzere Liste abzurufen und den Domainnamen @targetco.com anzuhängen:
$ python linkedin2username.py -c targetco -d 5 -n 'targetco.com'
Verwende ein Konto mit vielen Verbindungen, sonst erhältst du schlechte Ergebnisse. Ein paar Verbindungen zum Zielunternehmen hinzuzufügen, sollte helfen – dieses Tool funktioniert bis zu Verbindungen dritten Grades. Beachte, dass LinkedIn die Suchergebnisse auf maximal 1000 Mitarbeiter begrenzt. Du kannst die Funktionen '--geoblast' oder '--keywords' verwenden, um dieses Limit zu umgehen. Siehe unten in der Hilfe für weitere Details.
Wenn LinkedIn Änderungen vornimmt, kann das Tool kaputtgehen. Die hier verwendete API ist nicht dokumentiert, und es kann etwas Herumfummeln erfordern, um sie wieder zum Laufen zu bringen. Bitte öffne ein Issue, wenn dir etwas Merkwürdiges auffällt.
Du kannst überprüfen, ob Selenium auf deinem Rechner funktioniert, indem du Folgendes ausführst:
$ python3
from selenium import webdriver
driver = webdriver.Firefox() # or webdriver.Chrome()
driver.get("https://linkedin.com/login")
Du kannst das --proxy-Flag verwenden, um den Datenverkehr mit Burp zu überprüfen. Derzeit überprüft es die Anmeldungen des Selenium-Browsers nicht, da man recht deutlich sehen kann, was dort passiert.
Dies ist ein Sicherheitsforschungstool. Verwende es nur, wenn du die ausdrückliche Erlaubnis des Netzwerkeigentümers hast.