DEV Community

Se-ok Jeon
Se-ok Jeon

Posted on • Edited on

SMBGhost

SMBGhost

SMBGhost는 SMB 페이로드의 압축 해제 기능에서 원격 코드 실행(RCE)이 가능한 버퍼 오버플로우 취약점입니다.

용어

SMB?

SMB(Server Message Block)는 네트워크 상에서 파일, 프린터, 직렬 포트 및 다른 네트워크 리소스에 대한 공유를 제공하는 프로토콜입니다. Windows 환경에서 주로 사용되며, 클라이언트와 서버 간의 요청 및 응답을 처리합니다.

왜 이름이 SMBGhost인가?

SMBGhost라는 이름은 SMB 포트가 열려 있을 경우, 사용자의 상호작용 없이도 공격이 가능하다는 점에서 유래되었습니다. 즉, 공격자는 특별한 접근 권한 없이 원격에서 쉽게 공격할 수 있습니다.

공격 과정

공격자는 SMB2 Compressions Transform Header와 함께 OriginalCompressedSegmentSize에 Offset/Length를 더한 값을 음수로 설정하여 대상 서버에 전송합니다. 이 과정에서 Integer Underflow가 발생하며, 결과적으로 버퍼 오버플로우가 발생합니다.

실습

언더플로우 세팅

Underflow part1

Underflow part2

페이로드

payload

Top comments (0)