SK shieldus Rookies 16기 (클라우드기반 시스템 운영/구축 실무 #06)

만두다섯개·2024년 1월 9일
0

SK 루키즈 16기

목록 보기
45/52

주요 정보

  • 교육 과정명 : 클라우드기반 스마트융합보안 과정 16기
  • 교육 회차 정보 : '24. 01. 10. 모의해킹 실무 #06

학습 요약

  • DNS 패킷 분석(Query, Query Response)
  • Splunk 설치 및 구동

DNS

DNS 구조 및 프로세스

최상위 도메인 서버, 2차 도메인 서버, ... , N차 도메인 서버로 구성되어 있다.

DNS Name Resolution

그것보다도, 내가, 내가 http://www.ide2000.net 을 가지고 해당하는 IP주소를 어떻게 얻을까?
이를 DNS Name Resolution(DNS 이름 풀이)라고 한다.
DNS 질의한다.

DNS 질의 과정(응답이 없다면, 다음 방법 사용)
DNS 캐시 조회 -> 로컬 DNS 서버 조회(Recursive Query) -> 다른 DNS 서버(최상위, 2차, ... 등)에게 질의(Iterative Query)한다.

DNS 응답에서 질의 시 주소의 IP정보를 획득해 해당 서버로 접속한다.

DNS 질의 종류

  1. Recursive Query : 재귀적 질의로, DNS 클라이언트가 로컬 DNS 서버에 하는 질의
  2. Iterative Query : 반복적 질의로, DNS 서버가 DNS 서버에 하는 질의

DNS 서버 사용 회사의 구조


Master DNS 서버 예비용으로 Slave DNS 서버 사용한다.
클라이언트에서 지정하는 TCP/IP 등록 정보에서 지정하는 보조 DNS서버는 해당 Slave DNS서버가 아닌, ISP와 같은 통신사 DNS 서버를 사용한다.

DNS 통신 방식

통신 시, 사용 프로토콜은 조건에 따라 UDP/TCP를 사용
53번 포트를 공통적으로 사용한다.
UDP/TCP 구분 조건 : 응답 메시지가 512 byte 보다 작으면 UDP

왜그럴까? UDP 최대 패키지 크기가 512 bytes로 제한되기 때문이다. 따라서, 응답 메시지가 512 byte 이상이면 TCP 연결이 사용된다.
참고로 대부분의 패킷은 UDP 를 사용한다.

Authoriative Name Server : 사내망 서버의 주소를 기록 (사진상에는 2개 존재한다. gildong.com / 외부 사)

DNS Zone

DNS : 문자주소 < - > IP 주소 사용 프로토콜
ARP : 문자주소 -> NIC 주소 (MAC 주소)
RARP : NIC 주소 (MAC 주소) -> 문자주소

DNS 서버는 문자주소와 IP 주소를 조회하기 위해 ZONE이라는 개념을 사용한다. DNS에서 문자주소, IP주소를 조회하기 위해 두 종류의 DNS ZONE이 설정 되어있어야 한다.
1. 정방향 DNS ZONE : 문자 주소 -> IP 주소 ( A Record TYPE)
2. 역방향 DNS ZONE : IP 주소 -> 문자주소 ( PTR Record TYPE)

정방향 DNS ZONE 은 아래 사진과 같이 TYPE이 A Record이다.

record 종류별 DNS 테이블

일종의 DB인 DNS를 조회하기 위해 DNS 테이블을 구분해야 한다. 이때 사용하는 것이 Recode Type이다.

windwow OS nslookup 명령어 DNS 조회

nslookup -type:a www.naver.com 	 // A Record 조회
nslookup -type:ns www.naver.com  // nameserver(NS) 조회
nslookup -type:nx www.naver.com  // Mail Server 조회

구글 Cloud DNS 조회 레코드 세부내용 참고

DNS Query 구조

와이어샤크로 DNS 질의 패킷을 살펴보자.
DNS Query 패킷은 질의(query)와 응답(response)로 나뉘어진다.

  1. DNS Query 패킷

Header, Query Section 으로 나누어져 있다.

  1. DNS Query Response 패킷

Header, Query, Answer Section 으로 나누어져 있다.

DNS Query 패킷 세부

DNS Query 패킷은 Header, Data Section으로 구분한다.
1. Header Section

Header Section 구성

  • Transaction ID : DNS를 구별하는 식별자 요청메세지와 응답 메시지의 한 쌍을 의미하는 번호
    QR : Query/Response 메시지 종류(0:query, 1: Response)
    OPCode : 정방향조회:0, 역방향조회 : 1, 서버상태요청 : 2
    TC : 응답이 512byte를 초과하여 512byte로 잘렸음을 나타냄. 이는 TCP, UDP 전송인지를 나타내기도 한다.
    RD : 응답결과를 얻을때가지 반복적질의를 수행하도록 요청(요청메세지), RA : DNS서버가 DNS 클라이언트의 반복질의요청을 수행할 수 있음을 의미 (응답메시지)
    예약필드로 지정

(Query, Query Response 패킷 Header 공통 존재)
Qestions : 요청 메시지 포함 질의 개수
Answer RRs : 응답 메시지에 포함된 응답 개수
Authority RRs : 응답 메시지에 포함된 도메인을 관리하는 네임서버의 개수
Additional RRs : 응답 메시지에 포함된 추가적인 정보의 개수

  1. Data Section

  1. Query Name : 요청/응답 메시지에 사용, 요청/응답에 대한 도메인 명을 의미
  2. Type : 요청/응답 메시지의 사용, 레코드 타입
  • A/NS(하나의 도메인을 관리하는 name server)/CNAME(호스트 별)/PTR/HINFO
    (호스트 하드웨어와 OS 관련 정보)
  1. Class : 프로토콜 패밀리를 의미, 인터넷을 사용할 경우 IN(Internet , 값은 1)을 사용

DNS Query Response 패킷 세부

DNS Query 패킷은 Header, Question, Answer Section으로 구분한다.

  1. DNS Response Header

  • Transaction ID : DNS를 구별하는 식별자 요청메세지와 응답 메시지의 한 쌍을 의미하는 번호
    QR : Query/Response 메시지 종류(0:query, 1: Response)
    OPCode : 정방향조회:0, 역방향조회 : 1, 서버상태요청 : 2
    TC : 응답이 512byte를 초과하여 512byte로 잘렸음을 나타냄
    RD : 응답결과를 얻을때가지 반복적질의를 수행하도록 요청(요청메세지), RA : DNS서버가 DNS 클라이언트의 반복질의요청을 수행할 수 있음을 의미 (응답메시지)
    예약필드로 지정

(Query, Query Response 패킷 Header 공통 존재)
Qestions : 요청 메시지 포함 질의 개수
Answer RRs : 응답 메시지에 포함된 응답 개수
Authority RRs : 응답 메시지에 포함된 도메인을 관리하는 네임서버의 개수
Additional RRs : 응답 메시지에 포함된 추가적인 정보의 개수

RCODE (Reply code) : 응답에서 오류가 존재하는지를 표시

  1. Data Section

Data Section은 DNS Query의 Data Section와 동일하다.

  1. DNS Response Answer

DNS Response Section으로 부르며 관련한 내용은 아래와 같다.

Doamin name : 가변 길이를 가지며 도메인 네임 포함
Doamin Type: Query section에 있는 질의 종류 필드와 동일하다, 마지막 두 종류만 허락하지 않는다.
Doamin Class : 질의 섹션에 있는 클래스 필드와 동일
Time to Live : 이 정보가 로컬 호스트에 캐시되는 경우에 얼마간 이용될 수 있는가를 나타내며 보통 2일
Data Length : 자원 데이터의 길이, 요구 정보 유형에 따라 나뉜다. A 레코드일 경우 자원데이터는 4-byte IP주소
Resource Data : 가변길이를 가진다. 응답 섹션의 경우 질의에 대한 응답을 포함하거나 권한 섹션의 경우 권한이 있는 서버의 도메인 네임을 포함한다.

참고: DNS Query, Response 패킷의 플래그는 로그에서 각 항목에 맞춰 탐지된다

Splunk 설치 및 구동

보안관제에서 로그는 아래 과정과 같이 사용한다.

  1. 로그 연관성 분석 > 2. 망 내 이상징후 파악 -> 대응/알림

이 과정에서 Splunk는 정규화 목적으로 로그들간의 상관관계분석을 위한 도구로써 사용한다.
무료 버전은 클라우드, 엔터프라이즈 버전 존재. 실습에서는 엔터프라이즈 버전을 사용한다. 아래 설치 및 구동에서는 윈도우에서 설치 후 기초적인 부분을 학습한다.


위 사진과 같은 우분투 OS가 아닌 학습자 윈도우 OS(가상머신 아님)에서 설치한다.

C 드라이브 디렉터리 위치 그대로 설정 -> 로컬 -> 계정 생성( splunk / 12345678)

설치 후, 크롬 브라우저에서 아래 주소로 접속한다. 또는 설치 이후 자동 연결된다.

브라우저에서 http://localhost:8000 로 접속 또는 윈도우 탐색기 검색

slplunk에서는 탐지 실습를 위한 파일을 제공한다.
압축파일을 가지고 탐지하기 위해 실습 파일을 추가하자.

검토를 계속 눌러 업로드시킨다.
업로드 작업 중 splunk가 정규화 시킨다.

검색 시작을 눌러 검색 화면으로 진입한다.

Splunk 설치 및 구동이 완료되었다. 기초적인 명령어는 다음 강의 포스트에서 기술한다.

profile
磨斧爲針

0개의 댓글