
OSINT 도구: LinkedIn의 회사들에 대한 사용자 이름 목록 생성
OSINT 도구: LinkedIn에서 회사별 사용자 이름 목록 생성.
이는 순수 웹 스크래퍼이며, API 키가 필요하지 않습니다. 유효한 LinkedIn 사용자 이름과 비밀번호로 로그인하면, 지정한 회사의 모든 직원에 대해 여러 가지 가능한 사용자 이름 형식의 목록을 생성합니다.
다음과 같은 결과를 얻을 수 있습니다:
선택적으로, 도구는 사용자 이름에 @도메인.xxx를 추가합니다.

LinkedIn 계정에 속도 제한이 걸리거나 심지어 차단되더라도 저를 비난하지 마십시오. 이는 보안 연구 도구이며, 코드를 읽고 그것이 무엇을 하는지 완전히 이해한 후에만 사용하십시오.
이 도구가 작성된 이후로 계정 차단에 대해 들어본 적은 없지만, "상업용 검색 한도"에 도달하면 속도 제한이 가끔 발생합니다. 지금까지는 일시적이었습니다(매월 측정).
uv를 설치한 후, 리포지토리 루트에서 다음을 실행하세요:
uv sync
이 명령어는 가상 환경을 생성하고 모든 종속성을 자동으로 설치합니다. 다음 명령어로 도구를 실행하세요:
uv run python linkedin2username.py -c targetco
또한 Chrome, Chromium 또는 Firefox가 Selenium이 발견할 수 있는 일반적인 경로에 설치되어 있어야 합니다. 로그인을 처리하기 위해 웹 브라우저가 일시적으로 실행됩니다.
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
도구에 LinkedIn 회사 이름을 제공해야 합니다. 이는 회사 페이지의 URL에서 찾을 수 있습니다. 일반적으로 https://linkedin.com/company/targetco와 같은 형식입니다. 회사의 정확한 이름만큼 단순하지 않을 수도 있습니다.
다음은 targetco의 모든 직원을 가져오는 예제입니다:
$ python linkedin2username.py -c targetco
다음은 더 짧은 목록을 가져오고 도메인 이름 @targetco.com을 추가하는 예제입니다:
$ python linkedin2username.py -c targetco -d 5 -n 'targetco.com'
연결이 많은 계정을 사용하세요. 그렇지 않으면 결과가 좋지 않습니다. 대상 회사에 몇 개의 연결을 추가하면 도움이 될 수 있습니다. 이 도구는 최대 3촌 연결까지 작동합니다. LinkedIn은 검색 결과를 최대 1000명의 직원으로 제한합니다. --geoblast 또는 --keywords 기능을 사용하여 이 제한을 우회할 수 있습니다. 자세한 내용은 아래 도움말을 참조하세요.
LinkedIn이 변경될 때 도구가 작동하지 않을 수 있습니다. 여기서 사용된 API는 문서화되어 있지 않으며, 다시 작동하도록 조정하는 데 약간의 시행착오가 필요할 수 있습니다. 이상한 점을 발견하면 이슈를 열어 주세요.
다음과 같이 Selenium이 컴퓨터에서 작동하는지 확인할 수 있습니다:
$ python3
from selenium import webdriver
driver = webdriver.Firefox() # 또는 webdriver.Chrome()
driver.get("https://linkedin.com/login")
--proxy 플래그를 사용하여 Burp으로 트래픽을 검사할 수 있습니다. 현재 Selenium 브라우저의 로그인을 검사하지는 않지만, 그곳에서 무슨 일이 일어나고 있는지 명확히 볼 수 있습니다.
이것은 보안 연구 도구입니다. 네트워크 소유자의 명시적 허가를 받은 경우에만 사용하십시오.