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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
qq-tim-elevation — CVE-2023-34312 | Kitploit
도구/GitHubGitHub/vi3t1/qq-tim-elevation
Privilege EscalationVulnerability AnalysisExploitationPost-ExploitationPenetration TestingPayload DevelopmentBinary Exploitation
GitHubvi3t1/qq-tim-elevation

qq-tim-elevation

CVE-2023-34312

저장소 보기
4197323년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Tencent QQ/TIM 로컬 권한 상승

영향받는 제품:

  • QQ 9.7.1.28940 ~ 9.7.8.29039
  • TIM 3.4.5.22071 ~ 3.4.7.22084

영향받는 구성 요소:

  • QQProtect.exe 4.5.0.9424 (TIM 3.4.5.22071 내)
  • QQProtect.exe 4.5.0.9426 (QQ 9.7.1.28940 내)
  • QQProtectEngine.dll 4.5.0.9424 (TIM 3.4.5.22071 내)
  • QQProtectEngine.dll 4.5.0.9426 (QQ 9.7.1.28940 내)

1. 요약

Tencent QQ 및 TIM은 선전 텐센트 컴퓨터 시스템 유한회사(Shenzhen Tencent Computer System Co., Ltd.)가 개발한 두 가지 인스턴트 메신저 소프트웨어입니다. 두 소프트웨어 모두 %ProgramFiles(x86)%\Common Files\Tencent\QQProtect\bin에 위치한 QQProtect.exe 구성 요소를 가지고 있습니다. _QQProtect.exe_는 _QPCore_라는 Windows 서비스로 설치되며 시스템이 시작될 때 NT Authority\SYSTEM으로 자동 실행됩니다. QQProtect.exe 구성 요소와 해당 종속 DLL인 QQProtectEngine.dll 모두 임의 주소 쓰기 취약점을 가지고 있습니다. 낮은 권한의 공격자는 두 취약점을 결합하여 QQProtect.exe 프로세스 내에 악성 DLL을 로드하고 NT Authority\SYSTEM 셸을 얻을 수 있습니다.

2. 취약점

첫 번째 취약점은 QQProtect.exe+0x40c9f8의 코드입니다:

여기서 a2는 공격자가 제어할 수 있는 포인터이고 dword_41a740은 값이 0x00000001인 전역 변수입니다. 따라서 공격자는 임의의 주소에 DWORD(1) 값을 쓸 수 있습니다.

두 번째 취약점은 QQProtectEngine.dll+0x3B4F6의 코드입니다:

여기서 v3는 공격자가 제어할 수 있는 포인터입니다. 따라서 공격자는 임의의 주소 ptr에 std::bit_cast<DWORD>(ptr) + 4 값을 쓸 수 있습니다.

공격자는 QQProtect.exe에 존재하는 함수 포인터를 변조할 수 있으며, QQProtect.exe는 ASLR 보호가 없기 때문에 ROP 체인을 사용하여 쉽게 임의 코드를 실행할 수 있습니다.

3. 개념 증명

poc 코드는 Rust 언어로 작성되었습니다. 컴파일하려면 i686-pc-windows-msvc 툴체인을 사용해야 합니다.

root@kitploit:~
$ cd poc
$ cargo +stable-i686-pc-windows-msvc build --release --config "build.rustflags = [\"-C\", \"target-feature=+crt-static\"]"

다음 두 개의 DLL을 얻게 됩니다:

root@kitploit:~
target\release\tinyxml.dll
target\release\evil.dll

그런 다음 위의 두 DLL과 %ProgramFiles(x86)%\Common Files\Tencent\QQProtect\bin\QQProtect.exe를 같은 폴더에 넣습니다.

마지막으로 한 가지 명령으로 NT Authority\SYSTEM 셸을 얻습니다:

root@kitploit:~
$ QQProtect.exe <PATH TO evil.dll>

4. 시연

demonstration.gif

도구 다운로드