Wireshark에 들어온 변조된ip의 실 ip주소 찾기

2023. 2. 13. 10:47Network

 

Exrosploit (DOS 공격)

 

exrosploit 툴을 설치하여 실행

 

[실행]
[ip 스캔]

근처 ip 스캔시

패킷을 보기위해 미리 만들어놓은 vm서버 192.168.0.223이 뜨는것을 확인하였다

[Target ip입력 후 DOS공격]

 

해당 192.168.0.223 ip의 VMware로 DOS공격을 넣고 멈췄을때

 

778244개의 패킷을 보냈다고 결과를 알려주었으며 

 

 

와이어샤크에서 그 패킷을 확인하였다 

 

공격을 진행 한 vm의 ip는 192.168.0.221이다

 

하지만 패킷의 출발지는 실제 출발 ip주소가 아닌 각각 다른 여러개의 ip들이 찍혀있었다

 

즉, DOS 공격을 할때 ip변조를 하여 공격자의 ip주소를 숨겼기때문이다

 

 

 

따라서 이렇게 변조된 ip주소로 공격한 해커의 실제ip주소를 찾는 실습을 해볼 것이다

 

 

 

 

 

먼저 실습에 앞서, 사전에 알아야할 개념을 정리해보았다

 

공격패킷을 분석하기 위해  OSI 7 계층을  조사하였다

 

 

OSI 7 계층

 

OSI 7 계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 말한다

 

7계층중 2계층을 살펴보면

 

 

 

 

 

ARP패킷을 통해 ip추적

 

다른 PC에서 내 VM ip(192.168.0.233)로 Dos공격을 보냈을때 다음과같이 많은 패킷이 날라온다

 

[DOS 공격 패킷]

공격자는 ip를 계속 랜덤으로 바꾸어 내 pc를 공격하였기에 공격자의 ip추적이 어려운 상황이다

 

[ARP 패킷 필터링]

 

이때 우리는 ARP패킷을 이용하여 공격자의 ip주소를 찾아낼것이다

 

따라서 필터링을 통해 ARP패킷들을 모았으며, 패킷을 분석할 것이다

 

 

 

 ARP(Address Resolution Protocol)

 

이더넷 프레임을 전송하려면 목적지 컴퓨터의 MAC 주소를 지정해야한다

 

따라서 출발지 컴퓨터가 목적지 컴퓨터의 MAC 주소를 모르면 이를 알아내기 위해 브로드캐스팅(broadcasting)을 하는데 이를 ARP 요청이라고 한다

 

 

 

 

브로드캐스팅

 

  • TCP/IP의 IPv4에서 같은 대역의 네트워크 주소를 가진 모든 호스트들에게 패킷을 전송하는 방식으로 하나의 네트워크와 전체의 통신 방법입니다.
  • 같은 네트워크에 포함되는 장비들에게 거부권은 없고 무조건 수신하는 통신방법입니다.
  • 유니캐스트와 다르게 무조건 받아들여야하기 때문에 CPU까지 패킷이 올라오게되고 컴퓨터 자체에 부담이 증가하게됩니다.
  • 실질적인 통신은 IP Address가 아닌 MAC Address로 이루어지는데 IP 주소는 알고있지만 MAC Address를 모를 때 사용하는 방법입니다.
  • 대표적인 예로 ARP(자신과 데이터 통신을 하기 위한 다른 노드의 MAC Address를 알아내기위한 프로토콜)

 

 

따라서 같은 대역에 있는 모든 컴퓨터와 통신을 하는 브로드캐스팅에의해 공격자의 컴퓨터와도 통신했을것이며

따라서 공격자의 아이피 주소가 와이어샤크에 찍혔을것이라고 예상하였다

 

 

 

다시 퍄킷을 확인해 보면 계속해서 192.168.0.209와 통신하는것을 볼 수 있으며 

 

이러한 것을 보아 공격자의 아이피가 192.168.0.209라고 예상하였다

 

 

 

< 메모 >

[arp.opcode==2 필터링]

arp.opcode==2   (응답 받은 것을 추출)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[참고]

https://shlee0882.tistory.com/110

https://www.youtube.com/watch?v=uHHsfIDGUvo

https://hsm-racoon.tistory.com/24

 

IP 스푸핑 : https://skstp35.tistory.com/283

ARP스푸핑 : https://popcorntree.tistory.com/85

 

 

 

[ NOTE ] 

 

 

이때, TCP가 속한 4계층은 전송 계층으로서 통신을 활성화하기 위한 계층이다

 

포트를 열어서 응용프로그램들이 전송을 할 수 있게 한다

 

만약 데이터가 왔다면 4계층에서 해당 데이터를 하나로 합쳐서 5계층에 던져 준다. 

 

전송 계층은 양 끝단의 사용자들이 신뢰성있는 데이터를 주고 받을 수 있도록 해 주어, 

상위 계층들이 데이터 전달의 유효성이나 효율성을 생각하지 않도록 해준다. 

 

전송 계층은 특정 연결의 유효성을 제어하고, 일부 프로토콜은 상태 개념이 있고(stateful), 

연결 기반(connection oriented)이다. 

 

이는 전송 계층이 패킷들의 전송이 유효한지 확인하고 전송 실패한 패킷들을 다시 전송한다는 것을 뜻한다. 

 

종단간(end-to-end) 통신을 다루는 최하위 계층으로 종단간 신뢰성 있고 효율적인 데이터를 전송하며, 

기능은 오류검출 및 복구와 흐름제어, 중복검사 등을 수행한다.

 

-> 패킷 생성(Assembly/Sequencing/Deassembly/Error detection/Request repeat/Flow control) 및 전송

 

 

SYN

SYN은 '동시에 발생하다의 약자로, 다른 컴퓨터로 전송 된 TCP 패킷으로 연결이 이루어 지도록 요청합니다. SYN이 두 번째 시스템에서 수신되면 SYN / ACK가 SYN이 요청한 주소로 다시 전송됩니다. 마지막으로, 원래 컴퓨터가 SYN / ACK를 수신하면 최종 ACK가 전송됩니다.

ACK

ACK은 '승인'의 약자로, 다른 컴퓨터 나 네트워크 장치가 다른 컴퓨터에 SYN / ACK 또는 다른 요청을 보낸 것을 확인한 응답을 나타냅니다.

 

 

TCP 3 Way Handshake는 TCP/IP프로토콜을 이용해서 통신을 하는 응용프로그램이 데이터를 전송하기 전에 

먼저 정확한 전송을 보장하기 위해 상대방 컴퓨터와 사전에 세션을 수립하는 과정을 의미한다..

 

Client > Server : TCP SYN

Server > Client : TCP SYN ACK

Client > Server : TCP ACK

 

여기서 SYN은 'synchronize sequence numbers', 그리고 ACK는'acknowledgment' 의 약자이다.

이러한 절차는 TCP 접속을 성공적으로 성립하기 위하여 반드시 필요하다.

 

 3-way-handshake

 

 

'Network' 카테고리의 다른 글

Suricata 설치 및 DOS공격 탐지  (0) 2023.12.09
Kali_Linux  (0) 2023.02.08