
Ferramenta de enumeração do LinkedIn para extrair nomes de funcionários válidos de uma organização através de raspagem de mecanismos de busca.
CrossLinked é uma ferramenta de enumeração do LinkedIn que utiliza raspagem de mecanismos de busca para coletar nomes de funcionários válidos de uma organização. Essa técnica fornece resultados precisos sem o uso de chaves de API, credenciais ou acesso direto ao LinkedIn!
Instale a última versão estável do PyPi:
pip3 install crosslinked
Instale e execute o código mais recente usando Poetry:
git clone https://github.com/m8sec/crosslinked
cd crosslinked
poetry install
poetry run crosslinked -h
Instale o código mais recente do GitHub:
git clone https://github.com/m8sec/crosslinked
cd crosslinked
pip3 install .
CrossLinked assume que a convenção de nomenclatura de contas da organização já foi identificada. Isso é necessário para a execução e deve ser adicionado aos argumentos de linha de comando com base na saída esperada. Veja as seções Formato de Nomenclatura e Exemplo de Uso abaixo:
{first.{last} = john.smith
CMP\{first}{l} = CMP\johns
{f}{last}@company.com = [email protected]
🦖 Ainda preso? Metadados são sempre um bom lugar para verificar informações ocultas, como convenção de nomenclatura de contas. Veja PyMeta para mais.
💥 Novo Recurso 💥
Para ser compatível com convenções de nomenclatura alternativas, o CrossLinked permite que os usuários controlem a posição do índice do nome extraído do texto de pesquisa. Caso o nome não seja longo o suficiente, ou ocorram erros com a string de pesquisa, o CrossLinked retornará ao seu formato padrão.
Nota: o array da string de pesquisa começa em 0. Números negativos também podem ser usados para contar de trás para frente a partir do último valor.
# Default output
python3 crosslinked.py -f '{first}.{last}@company.com' Company
John David Smith = [email protected]
# Use the second-to-last name as "last"
python3 crosslinked.py -f '{0:first}.{-2:last}@company.com' Company
John David Smith = [email protected]
Jane Doe = [email protected]
# Use the second item in the array as "last"
python3 crosslinked.py -f '{first}.{1:last}@company.com' Company
John David Smith = [email protected]
Jane Doe = [email protected]
Por padrão, o CrossLinked usará os mecanismos de busca google e bing para identificar funcionários da organização alvo. Após a execução, dois arquivos (names.txt & names.csv) aparecerão no diretório atual, a menos que seja modificado nos argumentos de linha de comando.
Análise abaixo para mais.python3 crosslinked.py -f '{first}.{last}@domain.com' company_name
python3 crosslinked.py -f 'domain\{f}{last}' -t 15 -j 2 company_name
⚠️ Para melhores resultados, use o nome da empresa como aparece no LinkedIn
"Empresa Alvo", não o nome de domínio.

A convenção de nomenclatura de contas mudou após a execução e agora você está recebendo solicitações CAPTCHA? Sem problema!
O CrossLinked inclui um arquivo de saída names.csv, que armazena todos os dados da raspagem, incluindo: nome, cargo e url. Isso pode ser ingerido e analisado para reformatar as contas de usuário conforme necessário.
python3 crosslinked.py -f '{f}{last}@domain.com' names.csv

A versão mais recente do CrossLinked oferece suporte a proxy para rotacionar endereços de origem. Os usuários podem inserir um único proxy com --proxy 127.0.0.1:8080 ou usar múltiplos via --proxy-file proxies.txt.
> cat proxies.txt
127.0.0.1:8080
socks4://111.111.111.111
socks5://222.222.222.222
> python3 crosslinked.py --proxy-file proxies.txt -f '{first}.{last}@company.com' -t 10 "Company"
⚠️ Proxies
HTTP/Spodem ser adicionados pela notação IP:Porta. No entanto, proxies socks exigirão um prefixosocks4://ousocks5://.*
argumentos posicionais:
company_name Nome da empresa alvo
argumentos opcionais:
-h, --help exibe mensagem de ajuda e sai
-t TIMEOUT Tempo máximo por busca (Padrão=15)
-j JITTER Variação entre requisições (Padrão=1)
Argumentos de busca:
--search ENGINE Mecanismo de busca (Padrão='google,bing')
Argumentos de saída:
-f NFORMAT Formatar nomes, ex: 'domain\{f}{last}', '{first}.{last}@domain.com'
-o OUTFILE Altera o nome do arquivo de saída (omitir_extensão)
Argumentos de proxy:
--proxy PROXY Requisições via proxy (IP:Porta)
--proxy-file PROXY Carregar proxies de arquivo para rotação
Contribua com o projeto: