K쉴드 주니어 수업 정리

4일차

ilsancityboy 2024. 8. 21. 12:50

선행 지식

OSI 7계층

OSI 7계층 모델: 네트워크의 기본 구조

네트워크에서 데이터가 어떻게 전달되는지 이해하려면 OSI 7계층 모델을 아는 것이 중요하다.

1. 물리 계층 (Physical Layer)

  • 역할: 데이터를 물리적으로 전송합니다. 전기 신호, 광 신호, 무선 신호 등으로 변환되어 케이블이나 무선 네트워크를 통해 전송됩니다.
  • 예시: 이더넷 케이블, 무선 신호, 리시버와 송신기.

2. 데이터 링크 계층 (Data Link Layer)

  • 역할: 물리 계층에서 전달된 데이터를 프레임으로 캡슐화하여, 로컬 네트워크 내에서 장비 간에 데이터를 올바르게 전달합니다. MAC 주소를 사용하여 데이터를 특정 장비로 전송합니다.
  • 예시: 네트워크 스위치, 브리지, Ethernet 프레임.

3. 네트워크 계층 (Network Layer)

  • 역할: 데이터를 목적지까지 올바르게 라우팅합니다. IP 주소를 사용하여 데이터 패킷의 경로를 결정하고, 서로 다른 네트워크를 넘는 데 필요한 정보를 제공합니다.
  • 예시: 라우터, IP 주소.

4. 전송 계층 (Transport Layer)

  • 역할: 데이터가 안정적으로 전달되도록 보장합니다. 데이터를 여러 조각으로 나누고, 각 조각이 올바르게 도착했는지 확인합니다. TCP와 UDP 프로토콜을 사용합니다.
  • 예시: TCP (신뢰성 있는 연결), UDP (빠른 비연결형 전송).

5. 세션 계층 (Session Layer)

  • 역할: 네트워크 세션을 설정하고 관리합니다. 두 장비 간의 연결을 유지하며, 데이터 전송의 시작과 끝을 제어합니다.
  • 예시: 세션의 설정과 종료를 관리하는 프로토콜.

6. 프레젠테이션 계층 (Presentation Layer)

  • 역할: 데이터의 형식을 변환하여 응용 계층이 이해할 수 있도록 합니다. 데이터 압축, 암호화, 형식 변환 등을 처리합니다.
  • 예시: 데이터 압축, 암호화, ASCII 및 EBCDIC 형식 변환.

7. 응용 계층 (Application Layer)

  • 역할: 사용자와 네트워크 간의 상호작용을 담당합니다. 웹 브라우저, 이메일 클라이언트 등 사용자가 직접 사용하는 애플리케이션과 소통합니다.
  • 예시: 웹 브라우저, 이메일 클라이언트, 파일 전송 프로토콜(FTP)

 

 

 

데이터 전송 과정 예시

  1. 응용 계층에서 웹 브라우저가 www.naver.com을 요청합니다.
  2. 프레젠테이션 계층에서 데이터를 적절한 형식으로 변환합니다.
  3. 세션 계층에서 네트워크 세션을 설정하고, 데이터 전송을 시작합니다.
  4. 전송 계층에서 데이터는 TCP/UDP 프로토콜을 통해 조각으로 나뉘고, 정확히 도착하도록 보장됩니다.
  5. 네트워크 계층에서 데이터는 IP 주소를 통해 올바른 네트워크 경로를 따라 전송됩니다.
  6. 데이터 링크 계층에서 데이터는 프레임으로 캡슐화되어 로컬 네트워크 내에서 올바른 장비로 전달됩니다.
  7. 물리 계층에서 데이터는 전기 신호, 광 신호, 무선 신호 등으로 변환되어 물리적 매체를 통해 전송됩니다.

이 7계층 모델을 이해하면, 네트워크 통신이 어떻게 이루어지는지 한층 명확하게 이해할 수 있습니다. 각 계층이 협력하여 데이터가 원활하게 전송되도록 합니다.


스캐닝

 

 

 

스캐닝 종류 - 1. 활성 시스템 스캐닝

ICMP를 이용한 ping 통신을 통해 동작 여부 확인 

(가장 많이쓰이지만 방화벽,운영체제 때문에 막히는지 동작이 안하는건지 몰라서 약간 제약이 있다.)\

ARP - IP를 mac주소로 변환켜주는 것. (ARP는 차단이 안됨.) (다만 외부에선 안되고 같은 내부망에서만 사용이 됨.)
(그럼 이걸 왜쓰냐? - 같은 회사의 컴퓨터를 하나하나 켜서 확인해볼수 없기 때문에 이를 활용하여 수월하게 진행하는 것)
(카페같은곳에선 또 가능한 공격 기법임)

요약-

 

  • ARP는 IP 주소를 MAC 주소로 변환하여 데이터가 올바른 장비로 전달되도록 합니다.
  • 내부망에서 사용되며, 외부에서 ARP를 직접 사용하는 것은 불가능합니다.
  • 보안 측면에서 ARP 스푸핑과 같은 공격 기법이 사용될 수 있습니다.

 

스캐닝 종류 - 2. 포트 스캐닝

 

 

TCP와 UDP: 기본 개념

  • TCP (Transmission Control Protocol):
    • 신뢰성: TCP는 데이터 전송의 신뢰성을 보장합니다. 이는 데이터가 손실 없이 정확하게 도착하도록 보장하는 메커니즘이 포함되어 있기 때문입니다.
    • 예시: 파일 전송, 웹 브라우징 등. 예를 들어, 웹 브라우저에서 파일을 다운로드할 때 TCP를 사용하여 데이터의 손실 없이 파일을 완전하게 전송합니다.
    • 3-Way 핸드셰이크: TCP는 세션을 설정할 때 3-way 핸드셰이크 과정을 거칩니다.
      1. 클라이언트 → 서버: SYN (연결 요청)
      2. 서버 → 클라이언트: SYN-ACK (연결 승인)
      3. 클라이언트 → 서버: ACK (연결 확인)
    • 시퀀스 넘버: 데이터 전송 시, 시퀀스 넘버를 통해 데이터의 순서와 정확성을 관리합니다.
  • UDP (User Datagram Protocol):
    • 신뢰성 없음: UDP는 데이터 전송에 신뢰성을 보장하지 않습니다. 즉, 데이터가 손실되거나 순서가 바뀔 수 있습니다.
    • 예시: 실시간 스트리밍, 온라인 게임 등. 예를 들어, 드론에서 실시간으로 영상을 스트리밍할 때 UDP를 사용하여 빠르게 데이터를 전송하지만, 데이터의 손실이나 순서 변경은 감수합니다.

 

TCP연결을 3-way HandShake을 수행하여 연결하는 장면. 연결이 되며 포트가 열려있다는것을 확인 (스캔) 가능함.

 

이외에도 다양한 스캐닝 방법이 있다.

 

Tcp 연결을 완전히 하지않고 2단계에서 끊어 포트가 열려있는지 스캔만하고 로그를 남기지않게끔 하는

SYN Stealth(Half Open) Scanning, 

 

TCP 헤더 내 플래그 값을 설정하지 않고 전송하여 그에 대한 응답으로 포트의 활성화를 확인하는 방법인

NULL Scanning

 

FIN 플래그를 설정하여 보내는

FIN Scanning

 

X-MAS Scanning

 

UDP Port Scanning

 

등등이 있지만 대부분이 로그를 남기지않기위해 비정상적으로 연결을 해보는 방식이다.

(근데 이런 스캐닝종류들은 비정상적으로 스캔을 하여 로그를 남기지 않으려고하지만
요즘은 비정상적인 행위만을 골라잡는게 더 쉬움.
디도스 같은 경우에도 정상적인 행위를 엄청나게 많이 요청하여 과부하가 오는 공격인데
이또한 못잡는 이유는 정상적인 행위를 하는것 이기 때문에 누가 공격을 하는 것 인지 잡기 힘듬)


스니핑

 

 

스니핑이란?
네트워크 트래픽을 도청하는 기법

 

 

스위치 환경에서 스니핑을 하기 위해서는 먼저 해야 되는 선행 공격이 필요하다.

 

 

1. 스위치 재밍

 

 

  • 공격자는 무작위 또는 가짜 MAC 주소를 포함한 패킷을 스위치로 보내어, 스위치의 MAC 주소 테이블을 가득 채우려고 합니다.
  • MAC 주소 테이블이 가득 차면, 스위치는 더 이상 새로운 MAC 주소를 추가할 수 없게 되고, 모든 패킷을 브로드캐스트로 전송하게 됩니다. 이는 네트워크의 성능을 크게 저하시킵니다.

 

2.ARP 스푸핑

 

 

3.ARP 리다이렉트

 

 

4. ICMP 리다이렉트


스푸핑

그림은 Ethernet II 프레임 내에서 ARP 패킷이 어떻게 구성되어 있는지를 보여줍니다

 

ARP (Address Resolution Protocol)란?

ARP의 역할:

  • 네트워크에서 IP 주소MAC 주소로 변환해서 통신을 가능하게 하는 프로토콜이야.
  • 이 프로토콜을 사용하는 이유는, 네트워크에서 통신할 때 실제로는 IP 주소가 아니라 MAC 주소를 통해 데이터를 주고받기 때문이야.

ARP 동작 과정:

  1. 캐시 테이블 확인:
    • 우선, 네트워크 장비는 ARP 캐시 테이블이라는 곳을 확인해. 이 테이블에 이미 상대방의 MAC 주소가 저장되어 있으면, 바로 그 MAC 주소를 사용해서 통신을 시작해.
  2. 브로드캐스트 요청:
    • 만약 캐시 테이블에 상대방의 MAC 주소가 없으면, 네트워크에 있는 모든 장치에 브로드캐스트로 ARP 요청을 보내. 이때, 모든 장치가 들을 수 있도록 FF:FF:FF:FF:FF라는 특별한 MAC 주소로 전송해.
    • 이 요청에는 보낸 사람의 MAC 주소, 보낸 사람의 IP 주소, 그리고 상대방의 IP 주소가 포함돼 있어.
  3. 응답 처리:
    • 네트워크에 있는 장치 중에서, 요청서에 적힌 IP 주소를 가진 장치만이 응답을 해. 응답할 때는 자신의 MAC 주소를 함께 보내줘.
    • 다른 장치들은 자신의 IP 주소가 아니면 그 요청을 무시해.
  4. 캐시 테이블 업데이트:
    • 요청을 보낸 장치는 응답을 받은 후, 상대방의 MAC 주소를 ARP 캐시 테이블에 저장해. 이후로는 이 정보를 사용해서 바로 통신할 수 있어.

추가 정보

  • IP 충돌:
    • 네트워크에 같은 IP 주소를 가진 장치가 두 개 이상 있으면, 둘 다 ARP 요청에 응답해. 이로 인해 네트워크에 혼란이 생기고, 인터넷 연결이 불안정해질 수 있어

  • ARP의 약점 중 하나는 보안이 약하다는 점이야. 공격자가 가짜 응답을 보내서 ARP 캐시 테이블을 속이면, 잘못된 MAC 주소가 저장돼서 네트워크 공격을 당할 수 있어. 이걸 ARP 스푸핑이라고 해.

ARP 스푸핑 실습

 

 

 

실습 시스템을 활용한 실습

'K쉴드 주니어 수업 정리' 카테고리의 다른 글

유닉스 보안 진단 가이드: 항목별 설정 체크  (1) 2024.09.16
프로젝트 주제 선정과정  (0) 2024.09.01
5일차  (0) 2024.08.26
3일차  (0) 2024.08.21
1일차  (0) 2024.08.12