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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
mtproto-dissector — Wireshark 플러그인 - Telegram 프로토콜 분석용 | Kitploit
도구/GitHubGitHub/tomer8007/mtproto-dissector
Packet Sniffing & AnalysisEncryption/Decryption ToolsReverse EngineeringForensicsNetwork Security
GitHubtomer8007/mtproto-dissector

mtproto-dissector

Wireshark 플러그인 - Telegram 프로토콜 분석용

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Telegram 프로토콜 디섹터

이것은 주변의 Telegram 트래픽을 이해하는 데 도움이 되는 Wireshark 디섹터입니다.

MTProto 2.0 프로토콜에 따라 보이는 Telegram 패킷을 분석합니다.

특징

  • 지원되는 전송 프로토콜: Abridged, Full, Intermediate, HTTP
  • 난독화 해제 지원
  • TCP 재조립 지원
  • (주어진 인증 키로) 복호화 지원
  • TL 언어 RPC 페이로드 분석

제한 사항

  • MTProto 2.0만 지원 (2017년 이전 클라이언트는 미지원)
  • 아직 WebSocket/Padded intermediate/UDP 전송 프로토콜을 지원하지 않음
  • TL 언어가 100% 파싱되지 않음 (예: 연관 배열은 지원되지 않음)
  • 아직 MTProxy 트래픽 또는 비공식 MTProto 서버 트래픽을 자동으로 탐지하지 않음

설치 및 사용법

이 디섹터를 설치하려면:

  1. 암호화 작업에 필요한 luagcrypt Lua 바인딩을 설치합니다.
    • luarocks로 컴파일 가능 (Wireshark의 Lua 버전에 맞게)
    • Windows 사용자는 이 이슈에서 미리 컴파일된 luagcrypt.dll을 찾을 수 있습니다.
    • 일치하는 luagcrypt.dll/luagcrypt.so를 Wireshark 설치 디렉터리(예: C:\Program Files\Wireshark)에 복사합니다.
  2. 이 저장소를 클론하거나 다운로드합니다.
  3. mtproto 디렉터리를 Wireshark 플러그인 디렉터리(예: C:\Users\<username>\AppData\Roaming\Wireshark\plugins)에 복사합니다.

설치 후 Telegram 트래픽이 있는 상태에서 Wireshark를 열면 됩니다.

중요: 난독화 해제가 작동하려면 MTProto 사양에 따라 전체 TCP 대화가 처음부터 알려져 있어야 하므로, 패킷 녹화를 시작한 후에 Telegram 앱을 여는 것이 좋습니다.

인증 키 추출

트래픽을 복호화하려면 일치하는 인증 키 (auth_key)가 필요합니다.

최신 공식 Telegram 클라이언트는 시작 시 및/또는 정기적으로 auth.bindTempAuthKey를 호출하여 클라우드 채팅에 Perfect Forward Secrecy를 사용합니다. 이는 메인 세션이 영구 키 대신 (DH를 사용하여 설정된) 임시 인증 키를 사용함을 의미합니다.

사용 중인 인증 키를 실시간으로 추출하기 위해 두 개의 frida 스크립트가 제공되며, 이는 Telegram 프로세스를 후킹합니다. 이를 사용하려면 Frida가 설치되어 있는지 확인하고 다음을 실행하십시오:

  • hook_windows_auth_key.py – 공식 Windows 앱용 (약간의 수정으로 Linux\Mac에서도 작동 가능)
  • hook_android_auth_key.py – 공식 Android 앱용

네트워크 통신이 이루어지면 즉시 인증 키와 인증 키 ID가 출력됩니다.

인증 키를 얻은 후 디섹터에 제공하려면 Edit --> Preferences --> Protocols --> MTProto로 이동하여 인증 키를 입력하세요.

영구 인증 키는 tgnet.dat 파일 (Android – 예를 들어 여기, 여기, 여기 참조) 또는 key_datas 파일 (Desktop – 여기, 여기 참조)에서 추출할 수도 있습니다. 다른 클라이언트는 auth_key를 다른 방식으로 저장할 수 있습니다.

API 레벨 동기화

때때로 Telegram은 클라이언트의 API 스키마 버전을 업데이트합니다(또는 이전 클라이언트의 트래픽을 보고 있을 수도 있습니다). 이 경우 이 도구의 TL 스키마가 패킷에서 보이는 일부 RPC 호출과 동기화되지 않아 Wireshark에서 Incomplete parsing 메시지가 발생할 수 있습니다. 앱이 사용하는 API 레벨은 invokeWithLayer 요청에서 확인할 수 있습니다.

디섹터를 올바른 API 스키마와 동기화하려면 Telegram에서 레이어의 TL 파일을 다운로드하여 JSON으로 변환한 후(아래 참조) mtproto/schema/api_tl_schema_layer_X.json에 저장해야 합니다. 여기서 X는 레이어 번호입니다.

업데이트된 API TL 스키마는 데스크톱 앱의 api.tl에서 얻거나 Telegram 웹사이트에서 더 많은 버전을 확인할 수 있습니다.

tl 파일을 JSON으로 변환하려면 다음을 실행합니다 (npm이 설치되어 있는지 확인하세요):

root@kitploit:~
C:\path\to\MTproto Dissector> 
npx @psqq/tl-to-json api_layer_218.tl mtproto/schema/api_tl_schema_layer_218.json default --indent 4

그런 다음 새 JSON 파일을 Wireshark 플러그인 디렉터리의 mtproto/schema/에 복사해야 합니다. 마지막으로 Wireshark에서 Edit --> Preferences --> Protocols --> MTPROTO로 이동하여 "API level"을 트래픽과 일치하는 레벨로 변경합니다.

도구 다운로드