ㅁ 개요
최근 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]와 같으며 희생자 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