본문 바로가기

보안/모의해킹

이터널 블루 (Eternal Blue ) 분석 /Operation failed: 1314 오류 해결

출처: https://www.loginradius.com/blog/engineering/eternal-blue-retrospective/

이터널블루는 미국 국가안보국(NSA)에 의해 개발된 것으로 알려진 취약점 공격 도구이다. 더 새도 브로커스 (The Shadow Brokers, TSB)라는 2016년에 등장한 해커 그룹은 미국 안보국을 해킹하여 이터널블루라는 해킹 도구를 2017414일에 유출하였다. 해당 취약점은 윈도우가 설치된 시스템에서 파일 공유, 원격 윈도우 서비스 접근, 프린트 공유 등을 목적으로 하는 SMB 프로토콜의 원격코드 실행 취약점(MS17-010)을 이용하는 해킹 도구이다.

이터널 블루로 인해 200,000개 이상의 머신 들이 2주 안에 공격 및 감염이 되었으며 2017512일에 전세계 워너크라이(WannaCry) 랜섬웨어 공격이 이터널 블루를 기반으로 만들어진 악성코드로 전 세계 99개국의 컴퓨터 12만대 이상을 감염을 시켰다.

해당 취약점은 CVE-2017-0144에 고지되어 있다.

 

 SMB (Server Message Block)

출처: https://www.pandasecurity.com/en/mediacenter/security/what-is-smb/

서버 메시지 블록이라고도 불리는 SMB는 도스나 윈도에서 네트워크 상에서 파일이나 디렉토리 및 주변 장치들을 공유하는데 사용되는 메시지 형식이다. 이를 통해 서로 다른 운영체제 간에도 자원을 쉽게 공유할 수 있으며 NAS, 네트워크 스캐너 등 리눅스 기기와의 파일 공유 시 클라이언트 없이 탐색기로 직접 수정할 수 있다는 장점이 있어 널리 쓰이고 있다.


이터널 블루 실습

실습 환경

Pc1

           OS: kali linux

           IP:192.168.180.147

Pc2

           OS: Window 7

           IP:192.168.180.155

 

      실습 환경 구성

SMB 프로토콜을 구성하기 위해 Window7 포트번호를 열어 두어야 한다.

 

우측 상단에 new rule을 누른다

 

두번째 줄에 포트를 누르고 Next를 누른다 

TCP를 선택을 하고 특정 포트 번호인 445를 입력한 후 Next를 누른다.

 

모든 연결을 허용을 한다

규칙 허용 범위도 Domain, Private, Public 모두 허용을 해준다.

규칙 이름은 임의의 문자를 넣어둔다.

 

이로서 이터널블루 실습을 하기 위한 실습 환경 설정은 마무리가 되었다.

 

 

     Nmap 활용한 취약점 분석

먼저 타겟 컴퓨터가 살아 있는지 ping을 통해 확인이 필요하다

Ping을 통해 확실히 살아 있다는 것을 확인할 수 있다.

-sV 옵션을 통해 버전 정보를 확인하고 -sC 옵션을 통해 스크립트로 취약점을 확인을 하는 nmap을 실시하였지만 타겟 컴퓨터가 내려 있다 라는 결과가 나타났다. 하지만 이전에 ping으로 타겟이 내려가 있지 않다는 것을 미리 확인하였기 때문에 이는 오탐 결과임을 알 수 있다. 그리고 결과 내용중 -Pn 옵션을 넣어서 다시 해보라고 하니 저 옵션을 추가 해서

다시 해보겠다.

 

이번에는 -Pn 옵션(ping 스캔을 하지않음) 을 넣어서 우회를 실시하고 추가적으로 옵션을 추가해서 오탐을 방지한다.

옵션 설명
-p- --max-retries 모든 포트를 한 번씩 확인해본다
-n DNS resolution은 하지 않는다
--open 오픈 된 포트만 결과를 나타낸다
--min-rate 3000 초당 패킷을 3000을 줘서 그보다 느리지 않도록 결과물 나오도록 한다.

아무런 보안 설정이 안되어있는 window7이라 엄청나게 많은 취약점들이 나왔지만 그 중에 SMB 취약점이 의심되는 결과가 나왔음 확인할 수 있다.

 

Nmap NSE에 취약점 점검을 통해 smb-vuln로 시작하는 취약점을 점검을 할 수 있다.

 

Smb-vuln-ms17-010 스크립트를 통해 이터널블루 취약점이 존재함을 확인할 수 있다. Cve.mitre.org에 기재된 CVE-2017-0143 또한 결과물에서 확인할 수 있다.

1.1.2        메타스폴로이드

 

 

Search 명령문을 통해 이터널 블루 공격 코드를 찾을 수 있다

검색을 했을 때 0번째 있었던 이터널 블루 코드를 선택을 한다.

 

 

공격코드가 타겟 ip에 공격을 할 수 있도록 ip 설정을 해줘야 한다.

 

그림 219 공격 시작

Exploit이라는 명령어를 통해 공격코드를 실행을 한다.

WIN 이 나온다면 침투를 성공 한것이다.

 

가끔씩

이런 오류가 날수 있는데 당황하지말고 다시 시도를 하면 된다.

 

Sysinfo는 현재 시스템에 정보를 알려주는 명령어이다 OSwindow 7이라는 것을 통해 공격이 성공 했음을 알 수 있다.

 

만약에 CTF 문제라면 보통 바탕화면에 키 값이 있을 확율이 높으니

바탕화면 쪽으로 이동을 해서 딱 봐도 수상해보이는 파일은 열어보면 된다.

 

일부 명령어들(shutdown, reboot)이 stdapi_sys_power_exitwindows: Operation failed: 1314 라는 오류와 함께 실행이 되지 않는 것을 확인할 수 있다.

 

해당 문제를 해결하기 위해서는 타겟의 OS에 실행중인 프로세스 파악을 먼저 해야 한다.

Ps 명령어는 윈도우에서 프로세스 목록을 보는 명령어이다. 여기서 안정적으로 실행이 되고 있는 프로세스를 찾는다.

 

필자는 cmd.exe 프로세스의 PID를 확인을 하고 migrate 명령어를 통해 프로세스로 변환을 한다.

 

명령어가 실행이 성공이 된 것을 확인할 수 있다.


1.   Microsoft에서 제공하는 보안 업데이트를 실시한다

Window Vista 이하 버전들은 MS에서 제공하는 보안 업데이트가 없기 때문에 Window 7이상 OS로 업데이트가 필요 하다.

2.   네트워크 방화벽 및 SMB 관련 포트들을 모두 차단을 한다.

네트워크 방화벽을 설치를 하고 Window defender를 이용하여 SMB 관련 포트인 137(UDP), 138(UDP), 139(TCP), 445(TCP)을 모두 차단을 한다

3.   SMB 프로토콜 설정

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

 

 
복사하기
 
 
반응형