본문 바로가기

보안/Vulnerability

메타스플로잇(Metasploit)을 활용한 Shadow Brokers Windows Exploit 취약점 진단

ㅁ 개요


최근 Shadow Brokers(해킹그룹)에서 다양한 취약점을 공개했으며, 이에 메타스플로잇(Metasploit) 도구를 활용한 취약점 진단방법을 제시한다.


ㅁ 취약점 진단


[표 1] 점검가능한 취약점 목록


메타스플로잇에서 점검 가능한 취약점 리스트는 [표 1]과 같으며 Windows Exploit 취약점을 진단할 수 있다. 이번 취약점 진단에서는 광범위하게 사용되는 MS17_010 취약점을 대상으로 했다.


 구분 공격자 (Attacker) 희생자 (Victim) 
 IP주소

192.168.1.106

192.168.1.100

 OS Kali Linux Windows 7 SP1 
사용도구  Metasploit   -
[표 2] 취약점 재연 환경


취약점 재연환경은 [표 2]와 같으며 희생자 PC에서는 MS17-010 취약점을 진단하기 위해 SMB 포트가 열려있어야 한다.  


root@Odin:~# msfconsole 

                                                  

msf > use auxiliary/scanner/smb/smb_ms17_010 

msf auxiliary(smb_ms17_010) > show options 


Module options (auxiliary/scanner/smb/smb_ms17_010):


   Name       Current Setting  Required  Description

   ----       ---------------  --------  -----------

   RHOSTS                      yes       The target address range or CIDR identifier

   RPORT      445              yes       The SMB service port (TCP)

   SMBDomain  .                no        The Windows domain to use for authentication

   SMBPass                     no        The password for the specified username

   SMBUser                     no        The username to authenticate as

   THREADS    1                yes       The number of concurrent threads


msf auxiliary(smb_ms17_010) > set RHOSTS 192.168.1.100

RHOSTS => 192.168.1.100

msf auxiliary(smb_ms17_010) > exploit 


[*] 192.168.1.100:445     - Connected to \\192.168.1.100\IPC$ with TID = 2048

[*] 192.168.1.100:445     - Received STATUS_INVALID_HANDLE with FID = 0

[+] 192.168.1.100:445     - Host is likely VULNERABLE to MS17-010!


[*] Scanned 1 of 1 hosts (100% complete)

[*] Auxiliary module execution completed 

[표3] 취약점 진단과정


칼리 리눅스에서 msfconsole 명령어를 입력하고 use auxiliary/scanner/smb/smb_ms17_010 명령어를 입력해서 취약점 진단 모듈을 불러온다. 이후 show options 명령어를 입력해서 옵션을 살펴본다. 다른 부분은 특별하게 설정할 필요없이 RHOSTS 옵션을 설정하면 테스트를 진행할 수 있다.


set RHOSTS [target ip address]를 입력해서 피해자 IP를 설정하고 exploit 명령어를 최종 입력한다.


MS17-010 취약점이 미패치된 상태라면 Host is likely VULNERABLE to MS17-010!가 출력되고 패치된 상태라면 Host does NOT appear vulnerable가 출력된다.


ㅁ 대응방안


o MS에서 보안 업데이트 지원을 중단한 Windows Vista 이하 버전을 이용하는 사용자는 Windows 7 이상의 운영체제로 버전

    업그레이드 및 최신 보안패치 적용


 o Windows 최신 보안 패치가 불가능한 사용자는 서비스 영향도를 검토하여 아래와 같은 방법으로 조치 권고

  ① 네트워크 방화벽 및 Windows 방화벽을 이용하여 SMB 관련 포트 차단

     ※ SMB 관련 포트 : 137(UDP), 138(UDP), 139(TCP), 445(TCP)

  ② 운영체제 내 설정을 이용하여 모든 버전의 SMB 프로토콜 비활성화

   - (Windows Vista 또는 Windows Server 2008 이상)

       모든 운영 체제 : 시작 -> Windows Powershell -> 우클릭 -> 관리자 권한으로 실행 ->

                              ① set-ItemProperty –Path “HKLM:\SYSTEM\CurrentControlset\Services\Lanmanserver

                                  \Paramerters” SMB1 –Type DWORD –Value 0 –Force

                              ② set-ItemProperty –Path “HKLM:\SYSTEM\CurrentControlset\Services\Lanmanserver

                                  \Paramerters” SMB2 –Type DWORD –Value 0 –Force

 

   - (Windows 8.1 또는 Windows Server 2012 R2 이상)

      클라이언트 운영 체제 : 제어판 -> 프로그램 -> Windows 기능 설정 또는 해제 -> SMB1.0/CIFS 파일 공유 지원 체크해제

                                       -> 시스템 재시작

      서버 운영 체제 : 서버 관리자 -> 관리 -> 역할 및 기능 -> SMB1.0/CIFS 파일 공유 지원 체크 해제 -> 확인 -> 시스템 재시작

 

  ③ (Windows Vista 이하 버전 또는 Windows Server 2003 사용자) RDP 사용 시 IP접근통제를 통해 허용된 사용자만 접근할

      수 있도록 설정 및 기본 포트번호(3389/TCP) 변경 후 사용

  ④ (Windows Server 2003 이하 사용자) 서버 내 WebDAV 서비스 비활성화


ㅁ 참고자료


https://docs.google.com/spreadsheets/d/1sD4rebofrkO9Rectt5S3Bzw6RnPpbJrMV-L1mS10HQc/edit#gid=1602324093

https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=25524

https://community.rapid7.com/community/infosec/blog/2017/04/18/the-shadow-brokers-leaked-exploits-faq

http://cvedetails.com/cve/cve-2017-0144

http://cvedetails.com/cve/cve-2017-0143

https://technet.microsoft.com/en-us/library/security/ms17-010.aspx

http://cvedetails.com/cve/cve-2017-0146

http://cvedetails.com/cve/cve-2017-0148

http://www.microsoft.com/technet/security/bulletin/MS17-010.mspx

http://cvedetails.com/cve/cve-2017-0145

http://cvedetails.com/cve/cve-2017-0147