1. ARP
1.1 ARP
https://xsreem.tistory.com/178
ARP(Address Resolution Protocol): IP 주소를 실제 MAC 주소로 변환하는 프로토콜
동작 방식
1) 호스트 A가 목적지 IP의 MAC을 모를 경우 브로드캐스트로 ARP Request 전송
2) 해당 IP를 가진 호스트 B는 ARP Reply를 유니캐스트(또는 브로드캐스트)로 응답
3) 응답을 받은 호스트는 ARP 캐시에 매핑을 저장하여 이후 통신에 사용
문제: 응답에 대한 검증 절차가 없음
1.2 ARP Spoofing
ARP 스푸핑(ARP 포이즈닝): 네트워크에서 거짓 ARP 응답을 보내 다른 호스트의 ARP 캐시를 속여 트래픽을 가로채거나 차단하는 공격기법
ARP 스푸핑은 공격자가 네트워크 상에 허위 ARP 메시지를 전송하여 다른 호스트의 ARP 캐시를 조작함으로써 트래픽을 자신에게 전송되도록 유도하는 기법이다. 그 결과 공격자는 중간자(MITM) 위치에서 트래픽을 감청·조작하거나 특정 대상과의 통신을 차단할 수 있다.
공격 성공 조건
1) 공격자가 피해자 및(또는) 게이트웨이와 동일한 L2 도메인에 존재
2) 네트워크 장비(스위치) 또는 호스트에서 ARP 응답의 출처를 검증하지 않음
3)암호화 없이 평문으로 통신하거나 암호화가 있으나 인증을 우회할 수 있는 추가 취약점 존재 시 피해가 증폭
2. ARP Spoofing 실습
2.0 환경
| ip 주소 | |||
| kali | |||
| rocky |
주의 사항: NAT 네트워크가 아닌, 브릿지로 설정하면... 전체 수정되어 오류발생 가능.. 조심
탐지 파일: arpsppof2.pcap, arp_spoof.pcap
2.1 ARP table 관리
1) 초기화 및 확인
sudo ip -s -s neigh flush all
arp -a


2) ping test 후 확인
ping <IP_ADDRESS>
arp -a


2.2 arp table 변조
sudo arpspoof -t <target_IP> <spoofed_IP>
target_IP에게 spoofed_IP라고 속이기
kali가 rocky에게 gateway라고 속이기

2.3 탐지
1) tshark의 필드 목록에서 eth.src(출발지 MAC) 또는 arp.src.proto*(ARP의 송신자 IP 관련 필드) 찾기
tshark -G | cut -f3 | grep eth.src
tshark -G | cut -f3 | grep "^arp\.src\.proto"


2) 중첩 확인
tshark -r <filename> -Y arp -T fields -e arp.src.proto_ipv4 -e eth.src
tshark -r <filename> -Y arp -T fields -e arp.src.proto_ipv4 -e eth.src | sort | uniq -c
sort로 정렬한 뒤, uniq -c로 중복 라인(같은 IP+MAC 쌍)의 발생 횟수를 세어서 출력
정상 네트워크에서 고유해야 하는데, 여기서는 중첩되어 있음을 확인한다.
중첩될 경우는 랜 카드를 두 개 쓰거나, 변조되었을 경우이다.
2-1) arpsppof2.pcap 파일 실습


2-2) arp_spoof.pcap 파일 실습


2.4 대응 - xArp 등 사용
XArp는 로컬 네트워크에서 발생하는 ARP 기반 공격(ARP 스푸핑/포이즈닝)을 탐지하기 위해 설계된 전용 보안 애플리케이션으로, 수동(passive)·능동(active) 탐지 기법을 결합하여 의심스러운 ARP 이벤트를 실시간으로 경고한다는 점이 특징이다.
XArp는 “단순 ARP 로그 감시”보다 더 진화된 패턴(예: ARP 응답의 비정상성, IP↔MAC 바인딩 위반, 그라투이터스 ARP의 비정상적 발생 등)을 탐지하도록 설계되어 있다.
'Program > 토스뱅크 사이버보안 엔지니어 부트캠프(공격&방어 기술)' 카테고리의 다른 글
| [System] svchost (0) | 2025.11.19 |
|---|---|
| [System] DLL (0) | 2025.11.18 |
| [Network] 네트워크 구성 요소 (0) | 2025.11.04 |
| [AWS] 기초 (0) | 2025.10.28 |
| [Linux] FreeIPA 서버/클라이언트 구성 (0) | 2025.10.17 |