티스토리 뷰

1. arp spoofing 패킷을 분석하여 공격자 MAC 주소를 찾아 입력하시오.

2. 서비스거부 공격 패킷을 분석하여 공격기법의 이름, 공격자IP, 피해자IP를 입력하시오.


1. arp spoofing 패킷을 분석하여 공격자 MAC 주소를 찾아 입력하시오.

- ARP Spoofing이란 무엇인가?

ARP 스푸핑(ARP Spoofing)은 근거리 통신망(LAN)  하에서 ARP 프로토콜 메시지를 이용하여 상대방의 데이터 패킷을 중간에서 가로채는 중간자 공격 기법이다. 이 공격은 데이터 링크 상의 프로토콜인 ARP 프로토콜을 이용하기 때문에 근거리상의 통신에서만 사용할 수 있는 공격이다.  이 기법을 사용한 공격의 경우 특별한 이상 증상이 쉽게 나타나지 않기 때문에 사용자는 WireShark와 같은 패킷 분석 도구를 사용하지 않는 이상 자신이 공격당하고 있다는 사실을 쉽게 인지하기 어렵다.

(ARP 프로토콜은 네트워크 상에서 IP 주소를 물리적 네트워크 주소로 대응시키기 위해 사용되는 프로토콜이다.)

 

본격적으로 arp spoofing 패킷을 분석해보자.

[그림 1] arp spoofing 문제

WireShark라는 패킷 분석 도구에서 arp-poison.pcap 파일을 열면 [그림 1]과 같이 나타난다. [그림 1]에 대한 설명은 다음과 같다.

  1. MAC 주소가 00:d0:59:aa:af:80인 공격자가 각각 IP가 192.168.1.1과 192.168.1.103인 희생자에게 자신의 MAC 주소가 상대방 IP에 해당한다고 속이고 있다.
  2. IP가 192.168.1.1인 희생자는 192.168.1.103에게 보내야 할 본인의 MAC 주소를 공격자에게 보내고 있다.
  3. IP가 192.168.1.103인 희생자는 192.168.1.1에게 보내야 할 본인의 MAC 주소를 공격자에게 보내고 있다.

이해를 돕기 위해 ARP Spoofing 과정을 아래의 [그림 2]로 나타냈다. 

[그림 2] arp spoofing 공격 분석

ARP Protocol을 이용한 통신이 정상적으로 이루어지고 있다면 Victim 01과 Victim 02는 검정색 화살표 경로를 통해 서로의 MAC 주소를 보낼 것이다. 하지만, Attacker의 MITM 공격으로 인해 Victim 01과 Victim 02의 통신은 Sniffing 당하고 있다.

 

[1번 문제 정답]

- MAC 주소 : 00:d0:59:aa:af:80

 

 

2. 서비스거부 공격 패킷을 분석하여 공격기법, 공격자IP, 피해자IP를 입력하시오.

[그림 3] 서비스거부 공격 패킷 분석 문제

WireShark로 Attack.pkt 파일을 열었을 때 [그림 3]과 같이 나타났다. Source IP가 152.157.116.14인 공격자로부터 Destination IP가 152.157.116.44인 피해자에게 무수히 많은 SYN 패킷이 전송되고 있고, 피해자는 SYN 패킷을 수신할 때 마다 공격자에게 [RST, ACK] 패킷을 송신하고 있다.

 

TCP에서 [RST, ACK] 패킷을 전송하는 이유는 다음과 같다.

  1. 연결을 맺고 있지 않은 호스트로부터 TCP 패킷을 수신한 경우 (정당한 사용자가 아닌 악의적 사용자를 막아준다.)
  2. 부정확한 순서 번호나 잘못된 승인 번호 필드를 가지는 메시지를 수신한 경우 (정당한 사용자의 통신에 공격자의 개입을 막아준다.)
  3. 연결을 기다리는 프로세스가 없는 포트 (Listening이 아닌 포트)로 SYN 패킷을 송신한 경우

 

그렇다면 Listening 포트에서 SYN 패킷을 수신했을 때는 어떻게 나타날까?

[그림 4] TCP 3-handshake 연결 후 RST 패킷에 의해 연결 종료

Source IP가 152.157.116.14인 공격자가 Destination IP가 152.157.116.44인 피해자에게 Listening 포트인 139번으로 SYN 패킷을 전송했을 때, 피해자는 [SYN, ACK] 패킷을 보내고, 공격자는 다시 ACK 패킷을 보냄으로써 3-handshake 연결이 정상적으로 이루어지는 것처럼 보인다. 하지만 곧바로 공격자가 RST 패킷을 전송하여 연결을 끊어버린다. 이는 공격자가 피해자에게 SYN 패킷을 보내는 것이 TCP 연결을 위해서가 아니라 악의적인 의도로 피해자의 포트를 스캐닝하여 공격을 시도할 수 있는 Listening 포트를 찾기 위함이라고 해석할 수 있다. 이를 TCP Half Open Scan 공격이라고 한다.

[그림 5] TCP Half Open Scan 공격

 

※ 'TCP Half Open Scan 공격'에 대해 자세히 알아보자!

먼저 OSI 4계층(전송계층)에서 일어나는 TCP 3 way handshake 연결 과정을 알아야 한다. TCP(Transmission Control Protocol)는 IP 네트워크의 두 컴퓨터 간의 연결 지향 통신을 위한 전송 계층 호스트 간 프로토콜이다.

[그림 6] TCP 3 way handshake 연결 과정

TCP의 3 way handshake 연결 과정은 [그림 6]과 같이 3단계에 거쳐서 일어난다. 처음에 클라이언트는 서버에 SYN 패킷을 보냄으로써 연결을 시도한다. 이후 서버는 클라이언트와의 연결에 대한 확인 신호로 클라이언트에게 SYN-ACK 패킷을 보내고, 클라이언트는 서버에 대한 연결을 확인했다는 의미로 서버에게 ACK 패킷을 보낸다. 이렇게 3단계를 거치는 이유는 서버와 클라이언트가 서로 신뢰성 있는 통신을 하기 위함이다. 쉽게 설명하자면, 내가 통신하고자 하는 상대방이 누구인지 서로 확인하는 과정을 거친 후 통신을 시작하는 것이다.

공격자가 TCP Half Open Scan 공격을 시작하면, 피해자 IP의 Listening 포트를 찾기 위해 여러 포트에 무작위적으로 SYN 패킷이 전송된다. 이때 피해자 IP의 포트가 열려있으면 피해자는 3 way handshake 연결을 위해 공격자에게 SYN-ACK 패킷을 보내고, 포트가 닫혀있으면 RST-ACK 패킷을 보내 연결을 차단한다. 열린 포트에서 공격자는 ACK 패킷을 보내서 정상적으로 3 way handshake 연결을 하는가 싶더니 바로 RST 패킷을 보내서 연결을 끊어버린다. 이 공격이 서비스 거부 공격인 이유는 공격자가 대량의 SYN 패킷을 보내기 때문에 피해자가 SYN-ACK 패킷 또는 RST-ACK 패킷을 공격자에게 계속 전송하게 함으로써 리소스를 고갈시키기 때문이다.

조심스럽게 예측하건대 공격자는 TCP Half Open Scan 공격을 마친 후 [그림 4]의 139번 포트를 포함한 열린 포트로 또다른 공격을 시도할 것이다.

 

[2번 문제 정답]

- 공격기법 : TCP Half Open Scan 공격

- 공격자IP : 152.157.116.14

- 피해자IP : 152.157.116.44

'정보보호' 카테고리의 다른 글

침해사고 분석 및 대응 - NV001.E01 풀이  (0) 2021.10.21
침해사고 분석 및 대응 - 2일차 과제  (0) 2021.10.19
다양한 웹 취약점  (0) 2021.09.07
dbconn2.asp 암호 해독  (0) 2021.09.07
파일 다운로드 취약점  (0) 2021.09.07
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함