1. SNMP SNMP(Simple Network Management Protocol)은 네트워크의 중앙집중화된 관리를 목적으로 만들어졌으며, 현재까지 버전 3까지 세가지 버전이 만들어졌다. 각 버전의 차이는 대부분 보안상의 문제에 의한 것이다. SNMP 발전 과정 버전 1은 1988년 IAB(Internet Activities Board)에서 만들었다. 버전 1은 보안 기능이 전혀 없었다. Community만 일치하면 모든 정보를 얻어낼 수 있었다. 버전 2는 이러한 문제점을 해결하기 위하여 PDU Type을 정의할 수 있었고, DES와 MD5를 이용한 보안 기능을 추가하여 1993년에 만들어졌으나, 버전 1과 근본적으로 다르지 않았다. 버전 3은 1999년에 만들어졌으며, SNMP 버전 2에 인증 기능을 더했다. 그러나 버전 3은 아직 널리 쓰이지 않고 있다.
SNMP 네트워크는 크게 관리 시스템과 관리를 받는 Agent로 나뉘어 지며 Agent 의 구성 요소는 다음과 같다. ■ SNMP(Simple Network Management Protocol) : 전송 프로토콜 ■ MIB(Management Information Base) : 관리되어야 할 객체들의 집합 ■ SMI(Structure of Management Information) : 관리 방법 관리시스템과 Agent가 정상적으로 동작하기 위해서는 다음의 사항이 일치해야 한다. ■ 버전 : 관리 시스템과 Agent간 SNMP 버전이 일치해야 한다. ■ Community : 서로 설정한 Community가 일치해야 한다. ■ PDU(Protocol Data Unit) Type : 통신을 위한 패킷별 해당 값으로 0부터 4까지 있다.
관리 시스템과 Agent간의 통신 Get Request : 관리 시스템이 특정 변수 값을 읽음 Get Next Request : 관리 시스템이 이미 요청한 변수 다음의 변수 값을 요청 Set Request : 관리 시스템이 특정 변수 값의 변경을 요청 Get Response : Agent가 관리 시스템에게 해당 변수 값을 전송 Trap : Agent의 특정 상황을 관리 시스템에게 알림
MIB(Management Information Base) 관리자가 조회하거나 설정할 수 있는 객체들의 데이터베이스 MIB 객체의 종류 : SNMP, System Interface, AT(Address Translation), IP, ICMP, TCP, UDP, EGP, Transmission SMI(Structure of Management Information) ‘관리 정보 구조’라고 해석된다. SMI는 MIB를 정의하고 구성하는 툴이며, MIB에서 사용하는 데이터 타입, MIB에 있는 자원을 표현하는 방식, MIB에 있는 자원의 명명(Naming) 방식이라고 말한다. 다시 말해, SMI는 표준에 적합한 MIB를 생성하고 관리하는 기준이라고 생각할 수 있다. MIB를 생성하려면 OID를 지정받아야 한다. OID는 고유하고 특정한 숫자의 연속으로 표현된다.
OID(Object Identifier) 이 계층을 차례대로 따라 내려온 것이 고유한 OID가 되며, IANA에서 이를 관리하고 있다. 자신의 특정 객체에 대한 OID를 얻고 싶다면, 등록하여 부여받을 수 있다. system의 경우 OID는 1.3.6.1.2.1.1임을 알 수 있다.
실습 – SNMP 프로토콜의 설치 : 윈도우 [제어판] – [프로그램 추가 / 제거] – [Window 구성요소 추가/제거]
실습 – SNMP 프로토콜의 설치 : 윈도우 [제어판] – [관리도구] – [서비스] – SNMP Service 선택 후 시작
2. SNMP의 취약점을 이용한 정보 획득 SNMP의 취약점 Community가 일치할 경우 누구라도 SNMP의 MIB 정보를 볼 수 있다는 데 있다. 다시 얘기하면 Community는 일종의 패스워드라고 할 수 있다. 하지만 대부분의 Community는 public으로 설정되어 있으며, 이를 수정하는 사람은 많지 않다. 2. 패킷이 UDP로 전송되어 연결의 신뢰도가 낮으며, 데이터가 암호화되지 않은 평문으로 전송되어 스니핑이 가능하다는 것이다. 이런 문제점을 해결하기 위해 SNMP 버전 2에서는 전송하는 정보에 대한 암호화와 해시 기능을 추가했으나 여전히 인증 기능은 없으며, 아직도 Community를 일치시켜 정보를 얻는 것은 쉬운 일이다.
실습 – SNMP 설정 [제어판]-[관리도구]-[서비스]-[SNMP 서비스 등록정보]-[보안]
실습 – SNMP를 이용한 정보 수집 1/2 Solar Winds를 이용한 정보 수집
실습 – SNMP를 이용한 정보 수집 2/2 Solar Winds를 이용한 정보 수집
chapter 09. IP 주소 추적
1. 메일을 이용한 방법 메일 헤더에는 이보다 훨씬 많은 정보가 함께 전달되어 온다. 그 안에는 보낸 사람의 IP 주소, 중간 Relay Host 등에 대한 정보가 포함되어 있다.
2. P2P 서비스를 이용한 방법 P2P 서비스 이용 시 서로 파일을 전송하는 경우에는 P2P 서비스를 이용하는 두 클라이언트 사이에 직접적인 세션이 생성되며, 이를 이용해 상대방의 IP 주소를 획득할 수 있다.
P2P 서비스 이용 시 세션 확인하기 내부의 172.16.0.3에서 172.16.0.4로 MSN을 통해서 파일을 전송할 때의 ‘netstat -an' 결과다. 172.16.0.3:3029와 172.16.0.4:1051 사이의 세션을 확인할 수 있다.
3. 웹 게시판을 이용한 방법 웹 서버의 일반 계정을 이용해서 웹 게시판의 로그 파일을 읽을 수 있다. Root# vi /var/http/access_log
4. 채팅을 이용한 방법 IRC의 경우에는 알아내고 싶은 사람의 이름을 ‘/dns' 뒤에 넣어주면 된다. ICQ에서도 User List에 있는 사용자들의 User Info만으로 상대의 IP 주소를 알아낼 수 있다.
5. Traceroute를 이용한 방법 Traceroute에서 알고자 하는 것은 상대방에게 인터넷 서비스를 제공하고 있는 회사를 알아내는 것이 목적이다. 다음의 두 TraceRoute 결과와 같이 시도할 때마다 똑같은 결과가 나오는 것은 아니다. 하지만 항상 하나의 경로를 지나는 경우가 있으며, 대부분 그 라우터가 서비스 업체의 경계 라우터다.