
Ferramenta OSINT: Gerar listas de nomes de usuário para empresas no LinkedIn
Ferramenta OSINT: Gera listas de nomes de usuário a partir de empresas no LinkedIn.
Este é um web-scraper puro, sem necessidade de chave de API. Você usa seu nome de usuário e senha válidos do LinkedIn para fazer login, e ele criará várias listas de possíveis formatos de nome de usuário para todos os funcionários de uma empresa que você indicar.
Aqui está o que você obtém:
Opcionalmente, a ferramenta anexará @domain.xxx aos nomes de usuário.

Não me culpe se sua conta do LinkedIn sofrer limitação de taxa, ou até mesmo for banida. Esta é uma ferramenta de pesquisa de segurança - use-a somente após ler o código e entender completamente o que ela faz.
Não ouvi falar de nenhum banimento de conta desde que a ferramenta foi escrita, mas a limitação de taxa ocasionalmente entra em ação quando o "limite de pesquisa comercial" é atingido. Isso tem sido temporário até agora (medido mensalmente).
Instale o uv, depois, na raiz do repositório, execute:
uv sync
Isso cria um ambiente virtual e instala todas as dependências automaticamente. Execute a ferramenta com:
uv run python linkedin2username.py -c targetco
Você também precisará do Chrome, Chromium ou Firefox instalado em caminhos típicos que possam ser descobertos pelo Selenium. Um navegador web será aberto temporariamente para lidar com o login.
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
Você precisará fornecer à ferramenta o nome da empresa no LinkedIn. Você pode encontrá-lo olhando a URL da página da empresa. Deve ser algo como https://linkedin.com/company/targetco. Pode ou não ser tão simples quanto o nome exato da empresa.
Aqui está um exemplo para obter todos os funcionários da targetco:
$ python linkedin2username.py -c targetco
Aqui está um exemplo para obter uma lista menor e anexar o domínio @targetco.com a eles:
$ python linkedin2username.py -c targetco -d 5 -n 'targetco.com'
Use uma conta com muitas conexões, caso contrário você obterá resultados ruins. Adicionar algumas conexões na empresa alvo deve ajudar - esta ferramenta funcionará até conexões de terceiro grau. Observe que o LinkedIn limitará os resultados da pesquisa a no máximo 1000 funcionários. Você pode usar os recursos '--geoblast' ou '--keywords' para contornar esse limite. Consulte a ajuda abaixo para mais detalhes.
Quando o LinkedIn faz alterações, a ferramenta pode quebrar. A API usada aqui não é documentada, e pode ser necessário algum ajuste para que funcione novamente. Por favor, abra issues se notar algo estranho.
Você pode verificar se o Selenium funciona na sua máquina assim:
$ python3
from selenium import webdriver
driver = webdriver.Firefox() # or webdriver.Chrome()
driver.get("https://linkedin.com/login")
Você pode tentar a flag --proxy para inspecionar o tráfego com o Burp. No momento, não está inspecionando os logins do navegador Selenium, como você pode ver claramente o que está acontecendo.
Esta é uma ferramenta de pesquisa de segurança. Use apenas onde tiver permissão explícita do proprietário da rede.