보안정보

전문화된 보안 관련 자료, 보안 트렌드를 엿볼 수 있는
차세대 통합보안관리 기업 이글루코퍼레이션 보안정보입니다.

SMB 프로토콜을 이용한 공격시도 탐지

2015.12.24

19,014

이글루시큐리티 ESM은 이벤트 선별 기능, 통합 실시간 모니터링 기능, 보고서 생성 기능 등을 통해 보안담당자의 모니터링 및 보고서 업무를 상당 부분 감소시키고 보안담당자 본연의 업무인 보안기획 및 보안정책 수립에 집중하도록 지원한다.


보안관제사업본부 CERT  김지우

 

 


1.  개요

 

이번 달 ESM Guide에서는 보안장비를 거치지 않는 내부네트워크에서 SMB 프로토콜을 이용한 인증공격시도 시 ESM 의 기능을 이용한 탐지 방법에 대해 기술하고자 한다.

 


2. SMB(Server Message Block) 란?

 

SMB(Server Message Block)는 파일/프린터 공유 프로토콜로 TCP/IP 프로토콜(NBT)상에서 동작하는 넷바이오스(NetBIOS)를 통해 네트워크 네임과 IP 주소가 할당된 컴퓨터들이 서로 통신을 수행할 수 있도록 해준다. 또한 DCE/RPC 서비스도 네트워크 노드 사이의 인증된 IPC 채널로 SMB를 이용한다. 하지만 기능에 비해 구현이 견고하지 않아 취약점이 많이 발견되었으며 Hacker의 주요 타켓이 되고 있다.

 


3. 공격 시나리오

 

Hacker(또는 악성코드)는 네트워크 스캔도구를 이용해 내부 네트워크에 SMB Port(139, 445)가 활성화 된 Victim PC를 확인한다. Victim PC는 기본공유 기능이 활성화되어 있었으며 백신프로그램이나 OS의 방화벽기능을 사용하지 않고 있었다. Hacker는 SMB Brute-Force 공격을 시도하여 Victim PC의 계정정보를 알아내고 시스템 정보 획득 및 파일 변조를 시도한다.

 



[그림 1] 공격 시나리오

 

 

 

테스트 환경


• Hacker : Backtrack5 R3
• Victim  : Windows 2003

 

 

1) 네트워크 스캔

Nmap을 이용해 내부 네트워크 스캔을 시도하여 SMB Port(139,445) 가 활성화 된 PC를 확인한다.

 



[그림 2] 네트워크 스캔

 

 

2) SMB Brute-Force 공격

 

Hydra를 이용해 윈도우 OS 에서 대표적으로 사용되며 유추하기 쉬운 계정인 Administrator 에 대한 SMB Brute-Force 공격(또는 사전 대입공격)을 시도한다.

 

 

[그림 3] SMB Brute-Force 공격

 


3) Victim PC의 시스템 정보 및 파일변조

 

Hacker는 획득한 계정정보를 이용해 Victim PC에 접근하여 공유폴더 및 디렉터리 구조를 확인 할 수 있다.

 



[그림 4] 공유폴더 및 디렉터리 구조 확인

 

또한  파일을 생성하거나 변조할 수 있는데 만약 Victim PC가 웹 서버일 경우 웹 페이지 변조 역시 가능하게 된다.

 

 

[그림 5] 파일 변조

 


4. ESM 활용 방안

 

앞서 설명한 SMB Brute Force와 같은 인증공격을 탐지하기 위해 먼저 Windows 감사 정책을 확인한다. “계정 로그인 이벤트 감사” 항목이 “성공 감사”에 대해서만 기록하도록 설정되어 있을 경우 앞서 SMB Brute-Force 공격을 탐지 할 수 없다. 그러므로 성공, 실패 감사가 모두 설정되어 있는지 확인한다.


(※ 테스트 환경에서 Windows OS를 사용함으로 Windows 위주로 설명)

 

 

 

[그림 6] 윈도우 로컬 보안정책 – 감사 정책


 다음으로 ESM 에서 Agent 수집환경과 연관성 정책을 설정한다.

 

< Agent 구성관리 – 수집환경 설정 >
① 수집조건 등록 → System →  syslog 순으로 선택
② Agent 선택
③ 적용 클릭
(※ 아래와 같이 적용할 경우 모든 Syslog를 수집하게 되며 일부만 수집하려면 행동, 처리결과 에서 선택 후 적용)

 



[그림 7] Agent 구성관리 – 수집환경 설정

 


< 연관성 정책 >
① 이벤트 → 호스트 이벤트 선택
② 이벤트가 몇 건 발생했을 때 경보를 발생시킬 것인지 설정한다. (※ 횟수는 사이트 환경에 따라 변동)
③ System 과 처리결과 항목에서 “Connect,Logon”, “Fail/Deny” 를 각각 설정한다.
④ 오탐 방지를 위해 특정 문자열(0xC000006A 또는 incorrect password)을 입력한다.
(※ 0xC000006A 는 Windows 실패 감사 이벤트의 오류코드로 “잘못된 암호로 로그온”을 뜻한다)


[그림 8] 연관성 정책 설정


 정책 설정 완료 후 SMB Brute Force 공격을 시도하면 ESM 에서 다음과 같이 탐지되는 것을 확인 할 수 있다.

 



[그림 3-9] 연관성 분석 정책 설정 후 경보발생 화면

 


 발생한 경보를 더블 클릭하여 상세 내용을 살펴보면 Source IP 에는 로그인 시도한 컴퓨터의 이름이 등록된 것을 볼 수 있다. 보통 IP 정보가 입력되지만 종종 “\445”와 같은 이상한 데이터가 입력되는 경우가 있는데 이 때는 Windows 성공감사 이벤트의 원본 네트워크 주소를 확인해 보면 공격을 시도한 IP를 확인 할 수 있다.

 



[그림 10] 경보 상세 내용

 



[그림 11] Windows 보안 이벤트

 


이 후 네트워크 인증 공격의 성공/실패 여부를 확인 하기 위해선 ESM 의 이벤트 검색 기능을 활용한다.
먼저, ESM 이벤트 검색 기능의 조건 설정을 “System”을 변경하고 Agent 선택과 함께 아래와 같이 조건을 입력한다.

 

① 검색 시간 설정
② 상세 경보 내용에서 확인한 Source IP (컴퓨터 이름) 입력
③ 범주 항목 과 상태 항목에서 “Connect,LogOn”, “Success/Accept”를 각각 체크 한다.

 



[그림 12] 이벤트 검색

 


이벤트 검색 결과 SMB Brute Force 공격이 성공한 것을 확인 할 수 있다. 


• Windows 이벤트 UID (540) : 성공적인 네트워크 로그인

 



[그림 13] 이벤트 검색 결과

 


5. 대응 방안

1) 기본 공유 제거

 Windows 운영체제는 관리목적을 위한 공유폴더를 기본적으로 제공한다. 기본공유폴더의 공유 범위는 C:와 같이 시스템의 모든 자원을 대상으로 하며 해당 폴더에 접근하기 위해서는 관리자 계정 및 패스워드를 입력해야 하는 특징을 가진다. 인가되지 않은 모든 사용자가 공유폴더에 접근 가능한 것은 아니지만 기본공유 폴더가 존재함으로서 패스워드 크랙의 공격에서 벗어날 수 없기 때문에 사용하지 않는 기본공유를 제거하여 잠재적인 위험요소를 제거하는 것이 바람직하다.

 



[그림 14] 레지스트리 값 변경

 


2) NetBIOS(137, 138,139) / SMB(139, 445) 비활성화

 

근거리 통신망 내에서 다른 컴퓨터와의 공유가 필요 없거나 파일/인쇄기 공유가 필요 없다면 비활성화한다.


[장치관리자] - [보기 : 숨김 장치 표시] - [비 플러그 앤 플레이 드라이버] - [NetBios over Tcpip] 제거

 



[그림 15] NetBios 비활성화


[로컬 영역 연결] - [속성] - [Microsoft 네트워크용 파일 및 프린터 공유] 체크 해제

 



[그림 16] SMB 비활성화