[ 1) ARP 스푸핑에 대한 이해 ]
{ ARP 스푸핑 }
> ARP는 IP 주소값으로 MAC 주소값을 알아내는 프로토콜
> MAC 주소를 속이는 것 ( 2계층에서 작동하기 때문에 공격 대상이 같은 LAN 안에 있어야 함. )
> ARP 스푸핑은 스니핑의 또 다른 기법으로 볼 수 있음
*( 스니핑과 스푸핑은 엄연히 다른 공격이지만, 결과가 같음. )
++ 스니핑과 스푸핑의 구별?
> 스니핑은 프러미스큐어스 모드여야만 공격이 가능하지만, 스푸핑은 프러미스큐어스 모드가 아니어도 공격이 가능.
{ ARP 스푸핑의 개념 }
> 공격은 2계층에서 이루어지므로, 공격자의 IP 주소 (3계층)는 의미가 없다.
> 공격자 (A)가 공격 대상 (B, C)에게 ARP 스푸핑 공격을 할 때, B와 C의 패킷을 모두 받아야 하므로,
두 개의 NIC가 필요. (단, 이 경우 실제 MAC Address가 노출됨)
> 1개의 NIC로도 가능하지만, 이 경우 프러미스큐어스 모드를 사용해서 MAC Address를 두 개 생성해야 함
[ 실습 - ARP 스푸핑으로 스니핑 ]
> 실습 환경 :
- 공격자 : Kali Linux (Kali GNU/Linux Rolling) / IP : 192.168.100.139
- 공격 대상 : Telnet Client : Windows 7 / IP : 192.168.100.135
- Telnet Server : Ubuntu Desktop (22.04 LTS) / IP : 192.168.100.138
1) fake 설치
공격자 (Kali)에서 fake를 아래와 같은 명령으로 설치합니다.
apt-get install fake
설치 후 아래와 같이 send_arp 명령을 사용해서 사용법을 먼저 확인합니다.
send_arp
2) 공격 전, 시스템의 MAC Address Table (ARP Table) 확인
공격자와 공격 대상의 통신이 전혀 없었던 상태이기 때문에, ping 명령어로 공격 대상에게 패킷을 보냅니다.
ping [공격 대상]
ping -c 1 192.168.100.135
ping -c 1 192.168.100.138
( ping의 -c 옵션은 count 옵션으로, 보낼 패킷의 수를 지정하는 옵션입니다 )
이후 ARP Table을 확인해보면 ping을 보냈던 공격 대상의 MAC Address를 확인할 수 있습니다.
sudo arp -a
(sudo arp)
( Telnet Server와 Client에서도 2번의 방법을 반복하여 ARP Table의 MAC Address를 확인해줍니다.
현재 실습 환경에서의 확인 결과는 아래와 같습니다.)
역할 | OS | IP | MAC |
공격자 | Kali | 192.168.100.139 | 00:0c:29:a4:95:c0 |
Telnet Server | Ubuntu | 192.168.100.138 | 00:0c:29:cb:c5:c2 |
Telnet Client | Windows7 | 192.168.100.135 | 00:0c:29:6f:64:cf |
3) 패킷 릴레이와 TCP Dump 수행
Telnet Server와 Client 간의 통신이 끊어지지 않도록 패킷 릴레이를 작동시켜야 합니다.
fragrouter -B1
패킷 릴레이를 작동시켜둔 상태에서 새로운 터미널 창을 열어 아래와 같이 TCP Dump를 실행합니다.
tcpdump -xX
4) ARP 스푸핑 공격 수행
send_arp를 이용해 Telnet Server의 MAC Address가 공격자(Kali)의 MAC Address라고 알립니다.
send_arp [Server IP] [공격자의 MAC] [공격대상(Client) IP] [공격대상(Client) MAC]
send_arp 192.168.100.138 00:0c:29:a4:95:c0 192.168.100.135 00:0c:29:6f:64:cf
5) 공격 후 각 시스템의 MAC Address Table 확인
공격을 수행한 후 Telnet Client (Windows 7)에서 arp -a 명령으로 Telnet Server의 MAC Address를 확인해줍니다.
공격 대상인 Telnet Client (Windows 7)에서 확인해보니 Telnet Server (Ubuntu, IP : 192.168.100.138)의 MAC Address가
[ 00:0c:29:cb:c5:c2 ]에서 [ 00:0c:29:a4:95:c0 ]로 바뀐 것을 확인할 수 있습니다.
즉, 공격을 받은 Client (Windows 7)은 IP 주소가 192.168.100.138인 Server의 MAC 주소가
원래의 주소인 [ 00:0c:29:cb:c5:c2 ]가 아닌, 공격자의 MAC 주소인 [ 00:0c:29:a4:95:c0 ]로 인식합니다.
{ ARP 스푸핑에 대한 보안 대책 (Windows환경) }
1) 현재 MAC Address Table을 확인합니다. [ arp -a ]
2) [ arp -s ] 명령어로 설정하고자 하는 IP Address와 MAC Address를 Static (정적)으로 변경합니다.
( arp -s [ IP주소 ] [ MAC주소 ] )
'[네트워크] 컴퓨터 네트워크' 카테고리의 다른 글
[네트워크] DNS 스푸핑 (실습) (0) | 2022.10.04 |
---|---|
[네트워크] IP 스푸핑 (0) | 2022.10.03 |
[네트워크] 스푸핑 공격 (실습) (2) | 2022.10.01 |
[네트워크] 스니핑 공격의 대응책 (0) | 2022.09.30 |
[네트워크] 스위칭 환경에서의 스니핑_2 (실습) (2) | 2022.09.29 |