BackDoor/Network Security

05/01 4주차 : 네트워크 공격 방식 - 스니핑 공격, 스푸핑 공격

ochamekinou 2025. 5. 30. 00:06

스니핑 공격

유선 랜을 통한 스니핑 공격 

스니핑 공격의 원리

네트워크에 접속하는 모든 시스템은 설정된 IP 주소(3계층, 네트워크 계층)와 고유한 MAC 주소(2계층, 데이터 링크 계층)를 가짐

통신 시 네트워크 카드는 자신의 LAN 카드에 들어오는 패킷의 IP 주소와 MAC 주소를 인식하고 버퍼에 저장할지 결정함

(= 네트워크 카드에 인식된 데이터 링크 계층과 네트워크 계층의 정보가 자신의 것과 일치하지 않는 패킷은 무시)


패킷 필터링

’원하는 위치’에 패킷을 보내기 위해 적혀져 있는 ‘원하는 위치의 주소’

이 때 ‘원하는 위치’는 데이터 패킷의 자신의 주소(’원하는 위치의 주소’)와 실제 전송될 주소가 일치하지 않으면 패킷을 무시함.


그러나 스니핑을 수행하는 공격자는 자신이 가지지 말아야 할 정보까지 모두 볼 수 있어야 함

(= 데이터 링크 계층과 네트워크 계층의 정보를 이용한 필터링(패킷 필터링)은 방해물)

→ 데이터 링크 계층과 네트워크 계층의 필터링을 해제하는 LAN 카드 모드 활성화

프러미스큐어스 (Promiscuous) 모드 활성화


Promiscuous mode (무차별 모드) 

Promiscuous Mode(무차별 모드) 를 활성화하면, 네트워크에서 오가는 모든 패킷 확인 가능

즉, 패킷 필터링 해제


스니핑 공격의 종류

스위칭 재밍 공격 (switch jamming, MACOF 공격)

스위치에는 MAC 주소


스위치 복습

스위칭 허브(Switching Hub) = 스위치

스위칭 허브는 더미 허브의 단점을 개선한 네트워크 장비로, MAC 주소를 기반으로 데이터를 목적지 장치에만 전송

유니캐스트(Unicast) 방식으로 특정 장치에만 데이터를 전달

충돌 방지 및 네트워크 속도 향상

더미 허브보다 높은 효율성과 성능 제공


스위치가 MAC 주소를 기반으로 패킷(데이터 조각)을 스위칭할 때 정상적인 스위칭 기능을 마비시키는 공격

공격 방식

랜덤 형태로 생성한 MAC 주소를 가진 패킷을 스위치에 무한대로 보내면 스위치에 있는 MAC 테이블의 저장 용량(*MAC 주소를 저장하는 공간의 용량)이 자연스레 초과됨

→ 스위치는 원래 기능을 잃어 더미 허브처럼 작동


더미 허브(Dummy Hub)

더미 허브는 네트워크 내에서 데이터를 단순 중계하는 역할을 하는 장비

수신한 데이터를 모든 포트에 브로드캐스트하여 연결된 모든 장치가 동일한 데이터를 수신함

*브로드캐스트: 하나의 장치가 전송한 데이터를 같은 네트워크 내의 모든 장치에 전달하는 방식

특정 장치로 데이터를 전달하는 기능(즉 스위칭 기능) 없이, 연결된 모든 장치가 데이터를 공유


탐지 방법(대책) - ping을 이용한 스니퍼 탐지

대부분의 스니퍼는 일반 TCP/IP에서 동작하기 때문에 request를 받으면 response를 전달

존재하지 않는 MAC 주소를 위장해서 의심이 가는 호스트에게 보냄(request),

만약 response를 받으면 해당 호스트는 스니핑을 하고 있는 것

왜?

존재하지 않는 MAC 주소를 사용했으므로 스니핑을 하지 않는 호스트라면 request를 볼 수 없는 것이 정상

(즉 프러미스큐어스 모드를 키고 있는 호스트라는 뜻, 자신의 주소에게 보내는 것이 아니더라도, 모든 데이터 패킷을 확인하고 있다는 뜻)


스푸핑 공격

1, 2계층(MAC 주소): ARP 스푸핑 공격

MAC 주소를 속이는 것(Spoofing)

공격자의 MAC 주소를 로컬에서 통신하고 있는 서버와 클라이언트의 IP 주소에 대한 데이터 링크 계층의 MAC 주소로 속여

클라이언트에서 서버로 가는 패킷이나 서버에서 클라이언트로 가는 패킷(즉 서버와 클라이언트에서 오가는 패킷)이 공격자에게 향하게 함으로써 랜의 통신 흐름 왜곡

클라이언트와 서버 사이의 데이터 패킷을 공격자를 무조건 통하게 설정, 클라이언트와 서버 사이에서 패킷 도청 후 재전송 진행

3계층(IP 주소): IP 스푸핑 공격

IP 주소를 속이는 것(Spoofing)

다른 사용자의 IP를 강탈해 어떤 권한을 획득

1) 공격자는 트러스트 관계(신뢰 관계)를 맺고 있는 서버와 클라이언트를 확인


트러스트(trust) 관계(신뢰 관계)

클라이언트의 정보를 서버에 미리 기록해두고 그에 합당한 클라이언트가 서버에 접근하면 아이디와 패스워드의 입력 없이 로그인을 허락하는 인증법

인증 없이 통과


2) 공격자는 클라이언트에 서비스 거부 공격(DoS)를 해 연결을 끊음

3) 공격자는 클라이언트의 IP 주소를 확보해 실제 클라이언트처럼 패스워드 없이 서버에 접근함

 

트러스트를 이용한 접속은 스니핑에 안전한 것처럼 보임(네트워크에 패스워드를 뿌리지 않으므로)

(스니핑은 네트워크 트래픽을 모니터링하여 정보를 수집하는 공격 기법

공격자는 패스워드, 사용자명, 민감한 데이터 등을 가로챌 수 있음)

하지만 트러스트는 IP를 통해서만 인증되므로, 공격자가 IP를 통해서 접속하면 스니핑으로 패스워드를 굳이 알아낼 필요 없음

  1. 공격자는 제로 트러스트로 접속한 클라이언트에 서비스 거부 공격을 수행→ 클라이언트가 사용하는 IP가 네트워크에 출현하지 못하게 함
  2. 공격자 자신이 해당 IP로 설정을 변경한 후 서버에 접속

7계층(DNS): DNS 스푸핑 공격

DNS(Domain Name System) 복습

도메인 주소(Domain Name, 7계층 주소)를 IP 주소(3계층 주소)로 변환하는 시스템

실제 DNS 서버보다 빨리 DNS response 패킷을 보내 공격 대상이 잘못된 IP 주소로 웹 접속을 하도록 유도하는 공격

즉, DNS 서버인 척, 도메인 주소를 잘못된 IP 주소로 변환하는 공격