Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ProtOSINT — ProtOSINT는 Proton Mail 계정을 조사하는 데 도움을 주는 Python 스크립트입니다. | Kitploit
도구/GitHubGitHub/pixelbubble/protosint
OSINT (Open Source Intelligence)ReconnaissanceInformation GatheringEmail Harvesting
GitHubpixelbubble/protosint

ProtOSINT

ProtOSINT는 Proton Mail 계정을 조사하는 데 도움을 주는 Python 스크립트입니다.

저장소 보기
4176211개월 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

ProtOSINT

ProtOSINT는 Proton 메일 계정을 조사하는 데 도움이 되는 Python 스크립트입니다.

protosint (1)

버전

이것은 ProtOSINT v2입니다. 첫 번째 버전은 몇 년 동안 있었지만, Proton의 API가 변경되고 기존 검사가 작동하지 않게 되어 재작성을 통해 도구를 다시 살렸습니다. 그동안 이런 종류의 연구를 계속해준 NeutrOSINT에게 큰 감사를 드립니다.

설명

이 도구는 Proton Mail에 대한 OSINT 작업(교육 및 승인된 용도로만 사용)을 위해 만들어졌습니다. 이메일 주소, 사용자 이름 또는 도메인을 입력하면 주소가 실제로 존재하는지, 계정의 암호화 키가 생성된 시점, 사용된 알고리즘, 사용자 정의 도메인이 Proton에 호스팅되어 있는지 등 찾을 수 있는 정보를 알려줍니다.

네 가지 모듈이 있습니다:

  • [1] 하나의 Proton 이메일 확인: 존재 여부, 키 생성 날짜 및 유형.
  • [2] 모든 Proton 도메인(protonmail.com, protonmail.ch, pm.me, proton.me)에서 사용자 이름 열거.
  • [3] 도메인이 Proton Mail을 사용하는지 확인(MX 레코드를 통해, 키 서버와 교차 확인).
  • [4] 실제 로그인된 Proton 세션을 통해 주소 목록을 일괄 확인.

작동 방식 (그리고 이유)

Proton은 계정 열거를 의도적으로 어렵게 만들어, 순진한 검사는 거짓말을 하게 됩니다. ProtOSINT는 세 가지 소스를 결합하고 작업에 적합한 것을 신뢰하여 이를 우회합니다.

키 서버는 존재하지 않는 주소에 대해 거짓말을 합니다. Proton의 공개 키 서버(pks/lookup)는 Proton 도메인의 모든 주소에 대해 가짜 "미끼" 키(가짜 생성 날짜 포함)를 반환합니다. 따라서 "유효한 키 + 좋은 날짜"는 주소가 존재한다는 증거가 아닙니다. 키 서버는 여전히 유용하지만, 이미 존재하는 것으로 확인된 주소의 실제 키 날짜를 읽는 용도로만 사용됩니다.

계정 API는 더 낫지만 완벽하지 않습니다. Proton의 계정 API(/users/available)는 사용자 이름이 사용 가능한지 알려줍니다. 대부분의 경우 정확하지만, 사용자 이름을 확인하고 특정 주소를 확인하지 않으므로 가장자리 경우에 오류가 발생할 수 있습니다. [email protected]는 해당 .ch 주소가 생성되지 않았더라도 "사용 중"으로 보일 수 있습니다.

완전히 신뢰할 수 있는 유일한 확인 방법은 Proton 자체의 작성 창입니다. "받는 사람" 필드에 주소를 입력하면 Proton이 이를 검증하여 사서함이 존재하지 않으면 빨간색으로 표시합니다. ProtOSINT는 Selenium을 사용하여 이를 구동할 수 있습니다. Proton 계정에 로그인하고 새 메시지를 열어 주소를 입력한 후 Proton이 승인하는지 거부하는지 읽습니다. 이것이 권위 있는 답변이며, Selenium이 켜져 있을 때(기본적으로 켜져 있음) 모듈 1, 2, 4에서 사용됩니다.

사용자 정의 도메인은 DNS로 확인됩니다. example.com과 같은 도메인의 경우, 실제 질문은 메일이 어디로 라우팅되는지입니다. MX 레코드가 Proton(mail.protonmail.ch / mailsec.protonmail.ch)을 가리키면 도메인은 Proton Mail에 있습니다. 모듈 3은 MX 레코드를 읽고 키 서버와 교차 확인합니다.

요구 사항

  • Python 3 (3.7 이상)
  • requirements.txt의 Python 패키지 (requests, selenium)
  • Selenium 검사를 위한 브라우저 (Chrome/Chromium 또는 Firefox)

설치

리포지토리를 클론하고 Python 종속 항목을 설치합니다:

root@kitploit:~
git clone https://github.com/pixelbubble/ProtOSINT.git
cd ProtOSINT
python3 -m venv venv
source venv/bin/activate          # Windows: venv\Scripts\activate
pip install -r requirements.txt

또한 Selenium 검사를 위해 브라우저가 설치되어 있어야 합니다. Selenium이 자체적으로 일치하는 드라이버를 다운로드하므로 별도의 chromedriver/geckodriver를 설치할 필요가 없습니다.

Debian / Ubuntu / Kali:

root@kitploit:~
wget -O /tmp/chrome.deb https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt update
sudo apt install -y /tmp/chrome.deb
# 대안: sudo apt install -y chromium   (또는: firefox-esr)

macOS (Homebrew):

root@kitploit:~
brew install --cask google-chrome  # 또는: brew install --cask firefox

Windows: Chrome 또는 Firefox를 공식 웹사이트에서 일반적으로 설치합니다.

루트로 실행 중이신가요? (Kali에서 흔함) Chrome은 --no-sandbox 플래그가 필요하며, 그렇지 않으면 시작 시 충돌합니다. ProtOSINT가 이미 설정해 두었으므로 할 일이 없습니다.

설정

스크립트를 처음 실행하면 옆에 config.json 파일이 생성됩니다:

root@kitploit:~
{
  "proton": {
    "username": "",
    "password": ""
  },
  "settings": {
    "use_selenium": true,
    "headless": true
  }
}
  • use_selenium (true/false)은 모듈 1, 2, 4에 Selenium 작성 확인(신뢰할 수 있는 방법)을 사용합니다. false로 설정하면 더 빠른 계정 API로 대체됩니다.
  • headless (true/false)는 브라우저를 백그라운드에서 실행하여 창이 뜨지 않도록 합니다. 2FA 또는 CAPTCHA가 없는 계정에서만 true로 설정하세요. 창이 숨겨져 있으면 해결할 수 없기 때문입니다. 브라우저를 보아야 한다면 false로 설정하세요.
  • username / password는 Proton 로그인 정보입니다. 직접 입력하거나 비워두면 스크립트가 시작할 때 물어봅니다. 비밀번호를 비워두는 것이 더 안전합니다. 디스크에 기록되지 않습니다. 파일에 자격 증명을 입력한 경우 커밋하지 마세요(이미 .gitignore에 포함되어 있습니다).

세션 중간에 브라우저를 닫으면 다음 확인이 필요할 때 자동으로 다시 열고 로그인합니다.

사용법

root@kitploit:~
python3 protosint.py

메뉴에서 모듈을 선택하고 프롬프트를 따르세요. q는 종료합니다(브라우저가 열려 있으면 닫습니다).

Proton Mail 조사 팁

Proton Mail은 대소문자를 구분하지 않습니다

계정 이름은 대소문자를 구분하지 않으며, Proton은 ., _ 및 -를 투명하게 처리합니다. + 뒤의 모든 내용도 무시됩니다. 따라서 다음 모든 주소는 [email protected]과 동일한 계정입니다:

  • [email protected]
  • [email protected]
  • [email protected]
  • [email protected]

모두 동일한 키와 타임스탬프를 공유합니다.

타임스탬프는 키 날짜이며 항상 계정 날짜와 같지 않습니다

ProtOSINT가 표시하는 날짜는 계정의 기본 PGP 키가 생성된 시점입니다. 이는 항상 계정 생성 날짜와 같지 않습니다.

예 1 – 대상이 키를 건드리지 않은 경우. 이 경우 키 날짜는 실제 계정 생성 날짜입니다.

  • 2021-01-12: [email protected] 계정 생성
  • 2021-01-15: ProtOSINT가 2021-01-12 보고

예 2 – 대상이 키를 다시 생성한 경우. 이제 날짜는 계정이 아닌 새 키를 반영합니다.

  • 2021-01-12: [email protected] 계정 생성
  • 2021-01-13: 대상이 설정 → 암호화 키에서 새 키 생성
  • 2021-01-15: ProtOSINT가 2021-01-13 보고 (2021-01-12 아님)

암호화 키

ProtOSINT는 계정이 사용하는 키 유형을 표시합니다. 키 서버가 기본 키에 대해 보고하는 것은 다음 중 하나입니다:

  • Curve25519 - 최신 ECC(Ed25519 서명 키); 새로운 계정의 기본값이며 가장 빠르고 안전합니다
  • RSA 2048 - 2021년 이전에 생성된 계정의 이전 기본값
  • RSA 4096 - 더 강력하지만 느리며, 일반적으로 레거시 호환성을 위해 키를 가져온 경우에 나타납니다

일부 키에서 X25519, Ed25519 또는 RSA 3072도 볼 수 있습니다. 모두 키의 OpenPGP 알고리즘 ID에서 직접 읽습니다.

사용자 정의 도메인

유료 Proton 요금제를 사용하면 자신의 도메인을 연결할 수 있습니다. [email protected]이 Proton으로 확인되면(모듈 1 또는 3) 대상은 유료 Proton 요금제를 사용 중입니다. 모듈 3은 도메인의 MX 레코드에서 이를 확인하며, 이는 가장 신뢰할 수 있는 신호입니다.

속도 제한

Proton은 키 서버(오류 2028)와 계정 API(HTTP 429) 모두에 속도 제한을 적용합니다. 정확한 제한은 문서화되어 있지 않으며 변동하는 것으로 보이므로, 차단되면 잠시 기다리거나 다른 IP에서 다시 실행하세요. Selenium 방법은 일반 로그인 세션을 사용하므로 이러한 제한의 영향을 받지 않습니다.

기여

프로젝트를 자유롭게 클론하세요. 주요 변경 사항이 있으면 먼저 이슈를 열어 논의하세요.

Selenium 모듈은 Proton의 웹 앱을 읽으므로, Proton이 페이지를 변경하면 selenium_login() 및 selenium_check_emails()의 선택자를 약간 업데이트해야 할 수 있습니다. 브라우저 확인이 작동을 멈춘 경우 가장 먼저 확인할 부분입니다.

라이선스

MIT

도구 다운로드