블로그 이전했습니다. https://jeongzero.oopy.io/
LMG Network Forensic puzzle contest 4번
본문 바로가기
워게임/Puzzle contest

LMG Network Forensic puzzle contest 4번

728x90

1. 시나리오 

 

멕시코의 도망자 인 X 씨는 Interwebs를 통해 북극 핵융합 연구 시설 (ANFRF) 실험실 서브넷에 원격으로 침투합니다. 사실상 시설 내부에서 (침입 한 시스템을 통해 피봇), 그는 시끄러운 네트워크 도청을 실시합니다. 슬프게도, X 씨는 아직 매우 은밀하지 않습니다.

 

불행히도 X 씨의 경우 실험실의 네트워크는 모든 트래픽 (전체 내용 포함)을 캡처하도록 계측되어 있습니다. 그의 활동은 당신에 의해 발견되고 분석됩니다!

 

당신은 네트워크 법의학 수사관으로서, 귀하의 임무는 다음과 같은 질문에 대답하는 것입니다 :

 

 

2. 수집할 증거들

 

1) X 씨 스캐너의 IP 주소는 무엇입니까? 

2)  X 씨가 수행 한 FIRST 포트 스캔의 경우 포트 스캔 유형은 무엇입니까? 
(참고 : 스캔은 수천 개의 패킷으로 구성됩니다.) 하나 선택 :
 TCP SYN, TCP ACK, UDP, TCP 연결, TCP XMAS, TCP RST

3) X 씨가 발견한 대상의 IP 주소

4) 그가 발견한 Apple 시스템의 MAC 주소

5) 그가 발견한 Windows 시스템의 IP 주소

6) Windows 시스템에서 열려있는 TCP 포트

7) What was the name of the tool Mr. X used to port scan? How can you tell? Can you reconstruct the output from the tool, roughly the way Mr. X would have seen it? (보너스 문제)

 

 

3. 문제풀이

 

1) X 씨 스캐너의 IP 주소는 무엇입니까? 

 

4번 X의 행동을 조사하는 이번 문제는 TCP 포트 스캐닝 관련한 문제이다. 해당 패킷을 보면 SYN, ACK, 그리고 RST를 통해 어떠한 스캐닝 방법을 사용했는지 추적가능하다.

 

우선 패킷을 한번 보자.

 

그림 1

 

패킷을 처음 열면 다음과 같은 결과가 나온다. 맨 처음 패킷의 정보를 보면 SYN을 보내는데 두번째 패킷에서는 RST, ACK를 보낸다.

 

SYN : 10.42.42.253 -> 10.42.42.50 

RST, ACK : 10,42,42,50 ->  10.42.42.253

 

보통 정상적인 TCP 3-way 핸드쉐이킹 과정은 [SYN], [SYN,ACK], [ACK] 로 주고받는데 만약 해당 포트가 닫혀있을 경우 아래와 같이 [SYN] [RST, ACK]의 과정을 거친다. 이를 TCP Open 스캔, TCP Connection 이라고 부른다.

 

 

그림 2

 

X의 IP 주소를 10.42.42.253이라 추정 할 수 있다. 이는 밑에 패킷들의 SYN, ACK 등의 정보를 통해서 확신할 수 있다. 

 

정답 : 10.42.42.253

 

 

 

2)  X 씨가 수행 한 FIRST 포트 스캔의 경우 포트 스캔 유형은 무엇입니까? 
    (하나 선택 : 
TCP SYN, TCP ACK, UDP, TCP connect, TCP XMAS, TCP RST)

 

그림2를 보면 포트 스캐닝의 가장 기본적인 TCP Open을 알 수 있다.

 

TCP open을 통해 만약 해당 포트가 열려있다면 정상적인 3-way 핸드쉐이킹을 거칠 것이고, 포트가 닫혀있다면 서버는 RST, ACK 패킷을 보낼 것이다.

 

1번 문제에서 첫번째, 두번째 패킷을 확인해봤을 때 [SYN], [RST,ACK] 인 것으로 보아 가장 먼저 이루어진 포트 스캐닝 방법은 TCP Open 이다. (TCP connection 스캔과 동일)

 

 

 


3) X 씨가 발견한 대상의 IP 주소

 

해당 패킷에서 X씨가 패킷을 주고받은 모든 IP들을 검색해야 한다. 필터링을 이용하여 검색할 수도 있고 와이어샤크의 기능을 사용하여 확인 할 수도 있다.

 

나는 후자의 방법을 사용했다.

 

Statics 탭 선택 -> ipv4 statics 선택 -> All address 선택

 

그림 3

 

브로드 캐스트 주소와 X의 아이피를 제외하면

 

정답 : 10.42.42.56, 10.42.42.50, 10.42.42.25

 


4) 그가 발견한 Apple 시스템의 MAC 주소

 

String 검색 기능을 통하여 Apple 문자열이 포함되어 있는 문자열을 찾는다. 

 

여기서 packet list가 아닌 packet details로 해야지 검색이 된다.

 

그림 4

 

초록색 부분을 보면 10.42.42.253 --> 10.42.42.25로 SYN을 보내는 것을 확인 가능하다. 해당 패킷의 이더넷 프레임을 보면 목적지 물리적 주소가 Apple_92 라고 되어 있다.

 

정답 : 00:16:cb:92:6e:dc

 


5) 그가 발견한 Windows 시스템의 IP 주소

 

현재 우리가 발견한 IP 주소는 총 3개이다.

 

10.42.42.56, 10.42.42.50, 10.42.42.25

 

이 중 10.42.42.25는 4번 문제를 통해 애플 컴퓨터를 사용한다고 알 수 있다. 따라서 나머지 2개의 아이피에 대해 포트스캐닝을 하는 과정을 살펴보면 어떤 아이피가 윈도우인지 파악할 수 있을 것이다.

 

1. 10.42.42.56

 

다음의 필터를 적용해보자. 

 

필터 : ip.src==10.42.42.50 or ip.dst==10.42.42.50

 

그림 5

 

 

아래 사이트를 보면 윈도우에서 사용하는 기본 TCP 포트 번호들이 있다.

 

https://xens.tistory.com/entry/%ED%8F%AC%ED%8A%B8-%EB%B2%88%ED%98%B8-%EB%A6%AC%EC%8A%A4%ED%8A%B8for-windows-system

 

135번 포트는 윈도우에서 특정 목적을 위해 개방해 둔 포트라는 걸 확인 할 수 있다.

 

따라서 10.42.42.50은 윈도우 환경이라는 것을 추측할 수 있다.

 

정답 : 10.42.42.50

 


6) Windows 시스템에서 열려있는 TCP 포트

 

5번 문제를 통해 윈도우 시스템은 10.42.42.50 의 아이피라는 것을 알아냈다.

 

그렇다면 이 10.42.42.50의 아이피를 가진 호스트에 포트 스캐닝을 하여 오픈 되어 있는 패킷들을 찾고, 어떠한 포트가 열려있는지를 확인해 보면 된다.

 

필터링 : (ip.src==10.42.42.50 and ip.dst==10.42.42.253) and tcp.flags.syn==1 and tcp.flags.ack==1

그림 6

정답 : 135, 139
728x90