본문 바로가기
보안/기초

NetBIOS 관련 프로토콜의 종류 특징및 취약점 대안

by ITPro 2010. 8. 11.

원문 http://cafe.naver.com/nsis/28851

- 목 차 -


A. 서 론

1. 주 제

2. 목 적

B. 본 론

1. NetBIOS 란?

1) NetBIOS의 정의

2) NetBIOS의 역할과 IP의 차이

3) NetBIOS와 NetBIUE, WINS의 이해

2. NetBIOS 관련 프로토콜의 종류와 기능

1) 135

2) 137

3) 138

4) 139

5) 445

3. NetBIOS 관련 프토로콜 취약점

1) 139 포트 - 목록화

2) 139 포트 - Nuking 공격

3) NetBIOS를 이용한 원격 쉘 획득

4) 135 포트 - MS RPC 취약점을 공격하는 악성프로그램에서 악용

5) 445 포트 - Window 계열 NetBios 공유폴더를 이용하는 악성프로그램에서 악용

C. 결 론

1. NetBIOS 프로토콜에 따른 위험성

2. NetBIOS 프로토콜상의 취약점 보안

1) 라우터나 침입 차단스템에서의 접근 통제

2) 네트워크 제어판을 이용하여 TCP/IP와 NetBIOS 간의 바인딩(binding) 제거

A. 서 론

1. 주 제

대 제 : NetBIOS와 관련한 프로토콜의 종류와 각 기능 및 취약점 해결방안

소 제 : NetBIOS 와 IP 주소의 차이점

NetBIOS 와 NetBIUE의 차이점

NetBIOS 와 Wins의 관계

2. 목 적

본 글은 운영체제 보안과목을 학습하는 학생으로서 , 그 내용을 수학하는데 보다 깊은 이해를 습득하기 위하여 네트워크상의 윈도우 시스템 보안설정에 관련한 NetBIOS 프로토콜에 대하여 각각의 종류와 기능을 이해하고 그를 바탕으로 해당 프로토콜의 취약점및 대응책에 대하여 학습하는데 그 첫째 의의가 있으며 나아가 NetBIOS 및 NetBIUE. Wins의 상관관계를 파악하고 그 의미를 정확히 학습해두어 차후 관련 업무를 수행하는데 있어 필요한 배경지식을 습득하는데 소기의 목적을 두었습니다.

B. 본 론

1. NetBIOS 란?

1) NetBIOS의 정의

NetBIOS(Network Basic Input/Output System)는 별개의 컴퓨터상에 있는 애플리케이션들이 근거리통신망 내에서 서로 통신 할 수 있게 해주는 프로그램으로 본래 PC 네트웍을 위해 IBM에 의해 개발되었으며, 마이크로소프트에 의해 채택되었고, 곧 사실상의 산업계 표준이 되었습니다. NetBIOS는 이더넷, 토큰링, 그리고 윈도우NT 네트웍 등에 사용 되었으며 그 자체로는 라우팅 기능을 지원하지 않으므로, 광역통신망 상에서 교신하는 애플리케이션들은 반드시 TCP와 같은 다른 트랜스포트 매커니즘을 추가하여 사용해야 합니다.

NetBIOS는 세션모드 내의 에러복구 등을 포함하여, 네트웍에 관한 상세한 내용을 알아야하는 부담으로부터 애플리케이션들을 해방시켜주었는데 이러한 NetBIOS 요구는 메시지 위치와 수신지 이름을 다른 것들과 함께 명기하는, 네트웍 제어 블록(NCB)의 형식으로 제공되고 있습니다.

NetBIOS는 OSI 모델에 기술되어 있는 세션 및 트랜스포트 계층의 서비스를 제공하지만 표준 프레임이나 전송을 위한 데이터 형식을 제공하지는 않습니다. 표준 프레임 형식은 NetBIOS의 확장판이라 할 수 있는 NetBEUI에서 제공 되기 시작했습니다.

NetBIOS는 세션과 데이터그램 등 두 가지 통신모드를 제공하고 있는데 먼저 세션모드는 두 개의 컴퓨터들이 대화를 위해 연결을 맺을 수 있도록 해주는 기능을 수행하며, 추가적으로 커다란 메시지들의 처리와, 에러 감지 및 복구를 제공합니다. 이에 반해 데이터그램 모드는 비연결형(connectionless)으로서, 메시지의 크기가 작아야하며, 애플리케이션은 에러 감지와 복구에 관해 자체적으로 처리해야 합니다. 또한 데이터 그램 모드는 근거리통신망 상의 모든 컴퓨터들에게 메시지를 뿌리는 기능을 지원합니다.

이러한 넷바이오스의 개략적인 형태를 표현하면 아래의 그림 <1-1> 과 같습니다.

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />

<그림 1-1>

2) NetBIOS 역할과 IP의 차이

▶ NetBIOS의 역할

NetBIOS는 네트워크 프로토콜이 아니라 세션 Layer에서 TCP, IP, IPX, NetBIEU 등 의 네트웍/전달 계층 프로토콜을 연결하는 역할을 하는 프로그램으로서 윈도 98이전 의 윈도 네트워크에서 각각의 컴퓨터를 인식하기 위해 넷바이오스를 필요로 했는데, 이처럼 각각의 컴퓨터를 구분하기 위해 사용하는 이름을 넷바이오스 이름이라고 합니 다. 넷바이오스 이름은 16바이트까지 나타낼 수 있으며(우리말의 경우 8자까지이지만 실제로는 7자까지 나타낼 수 있습니다.) <그림 1-2>과 같이 네트워크 환경을 더블 클릭하여 나타나는 네크웤상의 이름들을 넷 바이오스 이름으로 간주합니다.

<그림 1-2>

또한 아래의 < 그림 1-3>과 같이 명령 프롬프트 상태에서 nbtstat -n 명령을 통 해서도 넷 바이오스 이름을 확인할 수 도 있으며

<그림 1-3>

아래의 <그림1-4>와 같이 내 컴퓨터를 우 클릭하여 나타나는 전체컴퓨터이름 및 작업그룹에서 NetBIOS이름을 확인할수 있습니다. 커맨드 모드 창의 내용 및 네트워크 상의 그림과 비교해 보면 name 부분의 Windows XP와 사용자 정보에서의 Windows XP가 동일하게 나타나는 것을 알 수 있습니다

< 그림 1 - 4 >

이와 같이 NetBIOS는 동일한 네트워크상(LAN)에서의 각각의 컴퓨터들을 구분하기 위한 기능을 수행하는 것을 확인할 수 있습니다.

▶ IP 주소와의 차이

앞서 살펴본 바와 같이 NetBIOS는 네트워크 상의 별개의 컴퓨터를 구분짓는 역할을 수행하지만 그 정의에서 언급했듯이 독자적으로 라우팅 기능을 수행하지 못하기 때문 에 해당 네트워크상에서만 각각의 컴퓨터들을 구분하는 고유한 값일 뿐 라우터 밖에서 는 그 의미를 잃기 때문에 전 세계 네트웍 상에서 고유한 값으로 컴퓨터를 구분하는 IP address 와는 근본적인 차이를 갖고 있습니다.

다만 윈도우즈 설치 시 기본으로 설치되는 tcp/ip 프로토콜의 ip 계층에 의하여 ip 주 소가 할당되기 때문에 넷바이오스 이름이 아닌 ip주소로서 LAN상에서도 그 고유주소 에 의해 각개 컴퓨터가 구분 되지 않을까 하는 의문이 들 수 있는데, 이는 넷바이오스 를 지원하는 윈도의 프로토콜 NetBIEU에 의해 TCP/IP 프로토콜을 설치하지 않거나 각 컴퓨터가 IP주소를 정적 혹은 동적으로 받지 못했어도 NetBIEU가 설치되어 있으면 내부 네트웍상에서 서로 연결되고 파일을 공유할 수 있다는 점에서 의문이 확인 될 수 있습니다.

참고로 현재 윈도 운영체제는 기본적으로 "NetBIOS over TCP/IP"라고 해서 TCP/IP가 NetBIOS의 역할을 대신하고 있으며 정확하게 대신한다기 보다는 얹혀있다고 표현 할 수 있습니다. 따라서 NetBIEU 프로토콜이 설치되어 있지 않다고 해도 TCP/IP가 설치 되어 있다면 NetBIOS이름을 해석할 수 있습니다.

아래의 <그림 1-5 >를 보면 TCP/IP에서 NetBIOS 사용이라는 항목이 바로 "NetBIOS over TCP/IP"를 의미합니다.

<그림 1-5 >

3) NetBIOS와 NetBIUE, WINS의 이해

▶ NetBEUI[NetBIOS Extended User Interface]

NetBEUI[넷뷔]는 근거리통신망 내의 컴퓨터들이 상호 통신할 수 있게 해주는 프로그 램인 NetBIOS의 새로운 확장판으로 NetBIOS의 부분으로서 지정되지 않았던 프레임 형식을 정식으로 승인합니다. NetBEUI는 IBM이 자사의 제품인 LAN Manager를 위해 개발하였으며, 후에 마이크로소프트가 윈도우NT, LAN Manager, Windows for Workgroups 제품들에 이것을 채택했습니다. HP와 DEC 역시 NetBEUI를 자사제품에 채용했습니다.

이러한 NetBEUI는 단일 LAN 내에서의 통신에 있어 가장 좋은 성능을 보이며, NetBIOS와 마찬가지로 NetBEUI도 다른 네트웍으로 향하는 메시지 라우팅을 지원하 지 않기 때문에, 인터페이스는 IPX 또는 TCP/IP 등과 같은 다른 프로토콜에 맞추어 표준화되어야합니다. 따라서 각 컴퓨터에 NetBEUI와 TCP/IP 모두를 설치할 경우, LAN 내에서 통신하는 용도로 서버에 NetBEUI를 셋업하고, LAN 외부와의 통신을 위 해 TCP/IP를 셋업 하는 것이 효율적입니다.

WINS (Windows Internet Name Service)

WINS는 마이크로소프트 윈도우NT 서버의 일부로서 각 구성 변경에 수반되는 사용자 또는 관리자가 없는 IP 주소들과, 컴퓨터 이름 및 위치들과의 결합을 관리하며 컴퓨터 이름과 IP 주소를 서로 사상(寫像)시킬 수 있는 데이터를 테이블 내에 자동으 로 만드는데, 이 이름들은 다른 사람의 컴퓨터 이름과 중복되지 않도록 고유한 이름 으로 견지합니다. 컴퓨터가 다른 장소로 옮겨지면, IP 주소의 서브넷 부분이 변경될 수 있는데 WINS를 사용하면, 새로운 서브넷 정보가 WINS 테이블 내에서 자동으로 갱신됩니다. 즉 WINS는 어떤 컴퓨터가 네트웍에 처음 정의될 때 IP 주소를 협상하는 NT 서버의 DHCP를 보충하여 완전하게 하는 기능을 수해앟며 만약 자신이 윈도우 NT 서버에 접속된 네트웍 상의 컴퓨터 사용자라면, 네트웍 관련 프로그램이나 시스 템 메시지 등에서 WINS와 관련된 내용을 볼 수 있습니다.

► NetBIOS와 WINS의 관계

MS사의 WINS는 TCP/IP 상의 NetBIOS B 노드 구현과 관련된 과다한 브로드캐스트 사용을 줄이기 위해 MS사가 설계한 확장 구현된 NetBIOS Name Server 로서 로컬 호스트와 원격 호스트 모두에 대해 NetBIOS 컴퓨터 이름을 등록하고 IP 주소로 분 해하는 데 사용됩니다.

일례로 두 개의 NetBIOS 기반의 호스트가 통신할 수 있으려면, 먼저 목적지 NetBIOS 이름이 IP 주소로 분해 되고, 이들 간 통신을 위해서는 NetBIOS 컴퓨터 이름으로는 통신을 구현할 수는 없기 때문에 TCP/IP의 IP 주소가 필요하여 다음과 같은 과정을 수행 하게 됩니다.

1. WINS 환경에서는 WINS 클라이언트가 시작할 때마다, 구성된 WINS 서버에게 NetBIOS 이름/IP 주소 맵핑을 등록한다.

2. WINS 클라이언트가 Windwos NT 명령을 초기화하여 다른 호스트와 통신할 때, 로컬 네트워크에 이름 질의 요청을 브로드캐스트하지 않고 WINS 서버에 질의.

3. WINS 서버가 자신의 데이터베이스에서 목적지 호스트에 대한 NetBIOS 이름/IP 주소 매핑을 찾은 경우에는, 목적지 호스트의 IP주소를 WINS 클라이언트에게 반 환한다. WINS 데이터베이스는 NetBIOS 이름/IP 주소 매핑을 동적으로 획득하기 때문에, 이는 항상 최신 정보가 된다.

4. WINS 클라이언트는 자신의 NetBIOS 이름과 IP 주소를 WINS 서버에게 함께 등록 한 다음에는, WINS 서버로부터 다른 NetBIOS용 컴퓨터의 IP 주소를 받아 다른 호스트와 통신할 수 있다.

※ 이 과정의 모든 WINS 통신은 UDP 포트 1378 (NetBIOS Name Service)상의 디 렉티드 데이터그램을 사용하여 이루어진다.

► WINS를 사용하는 이유

1. 이름 분해에 대한 클라이언트 요청이 WINS 서버로 직접 보내진다. WINS 서버가 이름을 분해할 수 있는 경우에는 IP 주소를 직접 클라이언트에게 보낸다. 따라서 브로드 캐스트할 필요가 없으며, 네트워크 트래픽도 줄어든다. 그러나 WINS 서 버를 사용할 수 없을 때, WINS 클라이언트가 브로드캐스트를 사용하여 이름을 분 해라려 한다.

2. WINS 데이터베이스는 동적으로 새로 고쳐지므로 항상 최신의 정보를 가지고 있다. 따라서 LMHOSTS 파일이 필요하지 않다.

3. WINS는 인터네트워크와 인터도메인 브라우징 기능을 제공한다. (예를 들면, NetBIOS 네임은 라우팅 프로토콜이 아니기 때문에 라우터를 넘어선 원격의 네트워 크에 NetBIOS 이름을 갖고 있는 컴퓨터를 보지 못하므로 서로 볼 수(브라우징할 수) 없는데, 이 WINS 서버를 사용하면 가능하다. 단 WINS 서버가 각 서브넷에 하 나씩 있고(한쪽에는 WINS Agent를 설치해도 됨), WINS 서버끼리 데이터베이스를 항상 동기화 시켜 로컬 클라이언트가 브라우징 할 수 있도록 설정해야 한다.)

2. NetBIOS와 관련된 프로토콜의 종류와 기능

앞서 살펴본 바와 같이 NetBIOS는 서로 다른 두 컴퓨터가 네트워크를 통해 데이터를 교 환 할 수 있도록 IBM에서 개발한 기능으로 MS에서 채택하여 윈도우 95, 98 등에서 파일 및 프린터를 공유에 사용되었다고 그 개요를 밝혔는데 이 장에서 각각의 NetBIOS 관련 프로토콜들이 어떻게 유기적으로 결합되어 작동하는지 해당 포트별 역할에 대하여 살펴보 도록 하겠습니다. 먼저 그 과정을 살펴보면

▶ UDP 137번 포트로 서로의 정보를 확인하고,

▶ TCP 139번으로 세션을 맺은 다음에,

▶ TCP 138번을 통하여 자료를 교환하게 됩니다.

Netbios는 기본적으로 네트워크 이름 등록과 확인, 세션 연결과 종료, 데이터 전송의 3가 지 기능을 가지고 있으며, 여기서 첫 번째 기능인 네트워크 이름 등록과 확인 기능을 Netbios Name query라고 부릅니다. 이 기능은 UDP 137번 포트를 통해 제공되며, 이 데 몬을 통하여 해당 컴퓨터의 컴퓨터 이름 및 작업 그룹 정보를 얻을 수 있습니다. 그 후

NetBIOS세션 협상을 위한 통로로 쓰기 위하여 139번 포트가 열리게 되고 이 과정에서

성공적으로 세션이 맺어지게 되면 마지막으로 비 연결형 서비스인 UDP 데이터 그램을 기반으로 138번 포트가 활성화 되고 이 포트를 통하여 프린터 공유에 관한 데이터나 파 일의 송수신에 필요한 데이터가 전송되게 됩니다.

이 외에도 TCP 135번 포트는 RPC/DCE Endpoint Mapper로서 원격 컴퓨터에 RPC를 연 결하는 데 사용되며 TCP/UDP 445 Direct HOST의 경우 Window 계열의 컴퓨터에 서 자원을 공유하기 위한 프로토콜로 파일이나 프린터 공유의 기능을 수행합니다.

각각의 포트별 내용을 간단히 정리하면 아래와 같습니다.

1) TCP 135 RPC/ DCE EndPoint Mapper

- 원격의 컴퓨터에 RPC를 연결

2) UDP 137 NetBIOS 이름 해석 서비스

- 넷바이오스 네임 쿼리를 통해 네트워크 이름 등록 및 확인 기능을 수행

3) UDP 138 NetBIOS 데이터 그램 서비스

- 넷바이오스 기반의 호스트간 데이터 송수신을 수행하는 포트

4) TCP 139 NetBIOS 세션 서비스 (SMB/CIFS over NetBIOS)

- 통신을 위한 두 클라이언트간 세션 협약및 유지 기능을 수행하는 포트

5) TCP/UDP 445 Direct HOST (SMB/CIFS over TCP)

- 윈도우즈 계열의 컴퓨터에 자원 및 프린터를 공유하는 기능

3. NetBIOS 관련 프토로콜의 취약점과 해결방안

1) 139 / 445 포트 - 목록화

NetBIOS의 139/ 445 포트는 CIFS/SMB(Common Internet File System/Server

Message Block) 기능을 수행함으로서 기본적으로 인증되지 않은 자일지라도 많은 정보를 가져갈 수 있는 함수를 제공 하기 때문에 널 세션에 의한 목록화가 가능하다는 취약점을 안고 있습니다. 실제 그 과정을 살펴보면 아래와 같습니다.

▶ 널 세션의 생성

넷 바이오스 기반으로 연결된 네트웍상의 한 컴퓨터에서

net use \ \192.168.1.3 \IPC$ "" /u:"" 명령을 을 실행하게 되면

위와 같은 결과를 볼 수 있는데 본래는 아래와 같이 계정 : wishfree 과, 패스워드 : passwd 를 사용하여 정상적으로 접속해야 하나 넷바이오스의 139 / 445 프로토콜

에서 널 세션을 허용하기 때문에 이러한 계정정보가 없이도 접근이 가능합니다.

net use \ \192.168.1.3 \IPC$ passwd /u:wishfree

이는 곧 널 세션을 이용한 정보의 수집역시 가능함을 의미하는데

Enum -U -S -P -L IP_Address 명령을 실행하게 되면 다음과 같이 다양한 정보들

을 출력하는 것을 확인 할수 있습니다.

위 그림을 통해 확인 가능한 정보는 대략 다음과 같습니다.

► 패스워드의 최소 길이와 최대 길이에 대한 정책

► 패스워드를 설정한 뒤 지난 날짜

► 패스워드를 잘못 입력했을 경우 잠기는 시간

► NetBIOS이름과 도메인 이름

► 쿼타 설정에 대한 정보

► 시스템에 설정되어 있는 사용자의리스트

► 시스템에 공유되어 있는 폴더

2) 139 포트 - Nuking 공격

Nuking이란 본래 개인용 컴퓨터 주로 윈도우즈를 작동 불능으로 만들기 위해 많이 쓰이던 공격이지만 그 대상이 서버일 경우 과부하를 통한 서비스 거부 공격을 일으킬 수 있으며 심한 경우 시스템을 망가트리기도 하는 위험한 공격입니다.

NetBIOS는 기본적으로 사무기기 및 윈도우 시스템간 파일의 공유를 위해 대부분 139번 포트가 항상 열려있게 되는데 공격자는 이점에 착안하여 대상 서버의 139포트 에 대하여 포트스캐닝을 통해 오픈 상태를 확인한 후 패킷의 URG를 on 상태로 하여 패킷을 전송합니다. URG가 on 상태라는 것은 송수신 중간에 발생할 수 있는 비 정 상적인 상태로서 시스템 상에서는 <Ctrl + C>키를 누른 것과 같은 역할을 합니다.

공격대상은 수많은 Urgent 패킷을 인식하고 모든 시스템의 세션을 닫은 뒤 재 연결 을 요구하게 되는데 이 과정에서 CPU에 과부하가 걸리게 됩니다.

이러한 공격에 대하여 역시 최선의 대비책은 139번 포트를 방화벽을 통해 외부에서

접근할 수 없도록 정책에 등록하는 것을 들 수 있습니다.

3) NetBIOS를 이용한 원격 쉘 획득

4) 135 포트 - MS RPC 취약점을 공격하는 악성프로그램에서 악용

RPC(Remote Procedure Call)란 한 프로그램이 네트워크 상의 다른 컴퓨터에 위치하 고 있는 프로그램에 서비스를 요청하는데 사용되는 프로토콜로서, 이때 서비스를 요청 하는 프로그램은 네트워크에 대한 상세 내용을 알 필요가 없습니다. RPC는 기본적으 로 클라이언트/서버 모델을 사용하는데, 다른 정상적인 또는 자체적인 프로시저의 호 출과 마찬가지로, RPC도 요청하는 프로그램이 원격 절차의 처리 결과가 반환될 때까 지 일시 정지되어야 하는 동기 운영이 기본이지만. 가벼운 프로세스의 사용이나, 같은 주소공간을 공유하는 스레드 등은 여러 개의 RPC들을 동시에 수행될 수 있도록 허용 합니다. 또한 RPC서버는 자신이 수신한 내용을 검증하지 않기 때문에 클라이언트로부 터 잘못된 RPC 패킷을 수신할 경우, 정상적인 RPC 요청에 대해서는 응답할 수가 없 으므로 서비스가 중단되는 문제가 발생하게 되는데 RPC 서비스의 DoS 취약성은 패치 를 하더라도 완전히 해결된 것이 아니며 최근에 보고된 RPC 서비스의 DoS 취약성에 관한 내용을 보면 sp3를 적용한 윈도우 2000에서도 역시 취약하다는 것을 알 수 있 습니다. Windows 2000의 DCE-RPC 스택 내에 존재하는 RPC서비스의 DoS취약성은 공격자가 목표 시스템의 TCP 135번 포트를 통해 공격함으로써 RPC 서비스를 중지시 킬 수 있게 발현되는데 RPC 서비스가 중단된 시스템은 더 이상 새로운 RPC 요청에 대해서는 응답하지 못하며 거의 모든 기능이 중단되는 상황에 이르를 수 있습니다.

이러한 RPC 서비스의 DoS 취약성을 해결하기 위한 제일 좋은 방법은 "직접 RPC 서 비스를 중지하면 해결되지 않을까"라고 생각할 수도 있겠지만, 직접 RPC 서비스를 중 지하게되면 RPC가 운영체제의 일부이기 때문에 네트워크 서비스 및 제어판의 일부 기 능을 사용할 수 없게 되어 역시 방화벽을 사용해 TCP 135∼139, 445번 포트를 막아 두는 것이 효율적 입니다.

5) 445 포트 - Window 계열 NetBios 공유폴더를 이용하는 악성프로그램에서 악용

445번 SMB 포트는 악성 웜이나 바이러스, 봇 등의 감염이나 전파에 주로 사용되는 포트로서 최근 445포트를 이용하여 전파된 웜 중 대표적인 웜으로 Sasser 등을 들수 있는데 그 내용을 살펴보면 다음과 같습니다 .

► LSASS취약점을 이용한 웜으로 다양한 변종이 존재한다. 유명한 시스템을 종료하고 있습니다.의 주인공

► 다양한 변종이 존재하지만, 주된 공통점은 임의의 IP의 TCP/445포트로 접속을 시도하여 웜을 확산시킨다.

►여러 포트(주로 1000번대와 2000번대)가 순차적으로 LISTENING상태로 열려 있다.

► TCP/445포트로 접속을 시도한 호스트를 대상으로 포트 스캔을 실시한 뒤, 1000 번대 혹은 2000번대 포트가 순차적으로 5개 이상 LISTENING상태이면 웜에 걸린 호스트로 의심

C. 결 론

1. NetBIOS 프로토콜에 따른 위험성

NetBIOS는 사용자가 따로이 설정하지 않더라도 기본적으로 윈도우즈가 셋팅되면서 관련된 프로토콜들이 열려있기 때문에 보통 사용자들은 그 위험성은 물론 바이러스 전파의 경로가 된다는 사실조차 인지 하지 못하고 있으나 실상 이 NetBIOS는 앞에서 살펴본 바와 같이 열려 있는 자체만으로도 해커로부터 목록화를 비롯하여 원격에서 대상 컴퓨터의 쉘을 획득 할수 있는 기회를 제공하며 각종 악성 웜이나 바이러스의 침투 경로 가 됨은 물론 DOS 공격까지 현존하는 전반적인 모든 크래킹의 주요 통로로 사용되고 있습니다. 이러한 점을 다시한번 확인하기 위해 앞서 제시한 자료외에 몇가지 자료들을 더 추가로 정리해 보았는데 그 내용은 다음과 같습니다 .

1).Win32/Welchia.worm.12800 ( 원격 제어 및 좀비 프로세스를 위한 웜 바이러스 )

▶ RPC DCOM 취약점 이용시

► C클래스 대역의 IP를 증가시키며 TCP/135포트를 향해 공격시도

▶ 워크스테이션 서비스 취약점 이용시

► 랜덤한 IP를 대상으로 TCP/445 포트를 향해 공격시도.

2). Welchia ( 원격 제어 및 좀비 프로세스를 위한 웜 바이러스 )

▶.클래스 주소를 고정하고 C클래스 대역의 IP를 증가시키며 ICMP패킷을 전송한다. ICMP를통해 살아있는 시스템을 찾게되면, TCP/135 포트를 이용하여 공격을 시도한다.

2. NetBIOS 프로토콜상의 취약점 보안 ( NT 기준)

보안에 있어 최선은 NetBIOS와 관련된 일체의 포트를 영구히 막아 두는것이 가장 안전하지만 네트워크상에서 파일시스템이나 프린트를 공유하기 위해서 NetBIOS가 필요할 수 있습니다. 이때 만약 윈도우 NT 시스템이 인터넷에 직접 연결되어 있을 경우 공격자가 쉽게 파일시스템을 사용할 수 있으므로 NetBIOS 에 대한 접근통제가 필요하며 다음의 두 가지 방법을 고려해 볼 수 있습니다.

1) 라우터나 침입 차단스템에서 접근을 통제

외부에서 윈도우 NT 시스템으로의 모든 NetBIOS 트래픽을 차단하기 위하여 135/UDP, 137/UDP(NetBIOS name), 138/UDP(NetBIOS datagram), 139/TCP(NetBIOS session) 포트로의 접속을 차단합니다.

윈도우 NT서버 한 대에 대해서만 접근통제를 하기 위해서는 위에서 살펴본 "서버 접근통제"를 이용할 수도 있지만 내부 네트워크 내에 많은 윈도우 시스템이 존재하고 있으므로 외부에서 내부 윈도우 시스템들에 대한 접근을 일괄적으로 적용하기 위해서는 라우터나 침입차단시스템에서 통제할 필요가 있습니다. 다음은 시스코 라우터라고 가정하고 다음과 같이 정책을 수립할 수 있습니다.

interface xy

Ip access-group 101 in

access-list 101 deny udp any host NT_IP_ADDRESS eq 135

access-list 101 deny udp any host NT_IP_ADDRESS eq 137

access-list 101 deny udp any host NT_IP_ADDRESS eq 138

access-list 101 deny tcp any host NT_IP_ADDRESS eq 139

참고 >> xy : 인터페이스 넘버 ex f0/1 , s0/0 , s0/1

위의 설정은 침입차단시스템 교과 과정에 포함되는 내용으로

위의 엑세스리스트 설정은 익스텐즈(확장형) 이며 유디피로

접근하는 모든 호스트가 목적지 포트 135로 경유하는것을

차단하는 내용입니다.

2) 네트워크 제어판을 이용하여 TCP/IP와 NetBIOS 간의 바인딩(binding) 제거

바인딩이 제거되면 TCP/IP를 거치게 되는 파일 공유서비스는 제공되지 않고 당연히 인터넷에서의 공유자원에 대한 접근시도도 불가능하게 됩니다. 이러한 NetBIOS

서비스는 라우터를 거치지 않은 내부 네트워크에서는 여전히 가능합니다.

개인적으로 이들 두 가지 방법 중 외부 네트워크와 연결되는 게이트웨이 즉, 라우터나 침입차단시스템에서 모든 NetBIOS 트래픽을 원천적으로 차단하는 것이 좀더 안전하고 내부 네트워크에서 공유자원을 사용하는데도 별다른 제약사항이 없어 권고할 만하다고 생각됩니다

반응형

'보안 > 기초' 카테고리의 다른 글

암호화 알고리즘 정리  (0) 2010.08.11
솔라리스 네트워크 커널 보안 튜닝 (ndd)  (0) 2010.08.11
포렌식스 도구  (0) 2010.08.11
SET 프로토콜  (0) 2010.08.11
PAM (Pluggable Authentication Modules)  (0) 2010.08.11

바로가기