보안전문가로 향하는 길

윈도우 해킹(1) - 이터널블루(Eternal Blue) - SMB취약점 본문

Exploit

윈도우 해킹(1) - 이터널블루(Eternal Blue) - SMB취약점

뒷문은 필수 2023. 8. 16. 17:10
728x90

※모든 실습은  windows7 가상환경에서 실행되었습니다. 

 

오늘은 이터널블루(Eternal Blue)에 대해서 알아보고 

취약점을 공격해 보도록 하겠습니다.

 

 

이터널블루(Ethernal Blue)란 무언인가?

이터널블루는 마이크로소프트의 SMB(Server Message Block) 프로토콜의 취약점을 공격하는 것입니다.

(파일 및 폴더를 공유할 때 발생하는 취약점)

MS취약점 번호:  MS17-010 ㅣ 공식 취약점 번호: CVE-2017-0143~8 ㅣ 패치번호: KB4013389

MS Windows 7, 2008, 8, 8.1, 10 초기버전까지 존재하는 취약점

 

 

 

지금부터 이터널블루를 통해서 윈도우를 해킹해 보도록 하겠습니다.

먼저 패치번호를 확인하겠습니다.

 

윈도우7에 들어가서 cmd > systeminfo를 입력해 보니

아직 해당 패치버전에 대해서 패치가 되어있지 않다는 것을 알 수 있습니다.

cmd > systeminfo중 일부분

 

 

다음으로 Kali를 이용하여 nmap을 이용해서 IP들을 찾았습니다.

Win7으로 추정되는 IP를 확인해 보니

192.168.5.131라고 생각이 되었습니다.

 

nmap의 O 옵션을 이용해서 운영체제를 확인해 보니

이터널블루 취약점이 존재할 수 있는 운영체제인 것을 확인할 수 있었습니다.

또한 SMB의 포트번호인 139와 445번이 열려있다는 것을 확인할 수 있었습니다.

 

 

namp의  V옵션을 이용해서 버전을 확인해 보고 구글에 검색해 보았습니다.

nmap의 V옵션을 이용해서 버전을 확인
445번 포트
139번 포트

 

 

 

버전까지 확인해서 취약점이 존재한다는 것을 찾아냈으니

지금부터 취약점을 공격해 보도록 하겠습니다.

 

먼저 Metasploit framework를 열고 ms17-010에 해당하는 exploit이 있는지 찾아보겠습니다.

search ms17-010

검색결과 이터널블루의 exploit가 존재하는 것을 찾았습니다.

해당 공격로를 선택해 줍니다.

 

공격로는 아래사진의 공격로를 선택하였습니다.

(vninject공격로)

 

 

show options를 입력하면 나오는 화면입니다.

Required에 yes라고 되었는 곳은 꼭 설정해 줘야 하는 곳입니다.

 

RHOSTS에 win7의 IP주소를 넣어주고 LHOST에는 Kali의 IP주소를 넣어주면 됩니다.

VIewOnly에 True라고 되어 있는데 False로 바꿔줍니다. 

ViewOnly가 True로 되어있으면 진짜 보기만 하기 때문에 False로 바꿔서

해당 컴퓨터를 조종해 볼 것입니다.

 

공격에 성공하면 아래화면과 같이 나오게 됩니다.

 

아래와 같이 메모장을 kali에서 실행하여 어떤 것을 입력하니

윈도우에서 똑같이 실행되어 있는 것을 확인할 수 있습니다.

kali 화면
윈도우 화면

 

vninject공격로를 통해서 공격을 하면 상대방이 무엇을 하는지 바로바로 확인할 수 있지만

내 컴퓨터로 무언가를 가져오거나 상대방의 컴퓨터에 무언가를 보낼 수가 없다는 단점이 있습니다.

 


이번에는 다른 공격로(meterpreter)를 사용해 보도록 하겠습니다.

 

공격성공시 아래와 같이 나오게 됩니다.

 

이 공격방식은 상대방이 무엇을 하고 있는지 바로바로 확인을 하기는 어렵습니다.

그러나 screenshot명령어를 이용하면 무엇을 하고 있는지 확인이 가능합니다.

해당 스크린샷을 /home/kali로 옮겨서 확인해 보도록 하겠습니다.

 

meterpreter공격로는 파일을 다운로드하거나 업로드시킬 수 있습니다.

 

download 공격당하는 컴퓨터의 파일 위치  다운로드 시킬 위치

 

 

upload 업로드시키고자 하는 파일 위치  업로드 시킬 위치