ROOTME] ETHERNET - FRAME

woounnan·2020년 5월 17일
1

wargame

목록 보기
50/59
post-thumbnail

문제

Find the (supposed to be) confidential data in this ethernet frame:

00 05 73 a0 00 00 e0 69 95 d8 5a 13 86 dd 60 00
00 00 00 9b 06 40 26 07 53 00 00 60 2a bc 00 00
00 00 ba de c0 de 20 01 41 d0 00 02 42 33 00 00
00 00 00 00 00 04 96 74 00 50 bc ea 7d b8 00 c1
d7 03 80 18 00 e1 cf a0 00 00 01 01 08 0a 09 3e
69 b9 17 a1 7e d3 47 45 54 20 2f 20 48 54 54 50
2f 31 2e 31 0d 0a 41 75 74 68 6f 72 69 7a 61 74
69 6f 6e 3a 20 42 61 73 69 63 20 59 32 39 75 5a
6d 6b 36 5a 47 56 75 64 47 6c 68 62 41 3d 3d 0d
0a 55 73 65 72 2d 41 67 65 6e 74 3a 20 49 6e 73
61 6e 65 42 72 6f 77 73 65 72 0d 0a 48 6f 73 74
3a 20 77 77 77 2e 6d 79 69 70 76 36 2e 6f 72 67
0d 0a 41 63 63 65 70 74 3a 20 2a 2f 2a 0d 0a 0d
0a

raw data가 주어진다.


풀이

사실 바로 ascii로 변환시키면 답을 확인할 수 있겠지만 아쉬우니 Ethernet 프레임 구조를 알아보자.

Ethernet Frame

이더넷 프레임은 2계층의 전송단위이다.
맥 주소로 송신지를 구분한다.

헤더는 다음과 같이 구성되어 있다.
(EtherType까지가 이더넷 프레임의 헤더이다.)

Preamble: 프레임의 시작을 알린다. 단순히 시작점이므로 Preamble과 SFD는 헤더에 속하지 않는다. (7 octets)
SFD: Preamble의 끝을 알린다. (1 octet)
FCS(Frame Check Sequence): crc 값으로 프레임의 무결성을 확인하기 위해 사용한다.(4 octets)

Ethernet 2

이더넷의 새로운 규격이다.
헤더상의 큰 차이는 없다.

프레임 분석

다시 문제로 돌아와서 프레임을 확인해보자.
이를 위해 다음의 사이트에서 헥스값을 패킷 형태로 변환시켜 확인해보자.

https://hpd.gasmi.net/

처음 12바이트는 송수신 주소값이다.

다음 2바이트는 이더넷 타입이며, IPv6을 나타내고 있다.

마지막에 패딩된 프로토콜은 TCP이다.

포트를 보면 임의의 값을 사용하여 어떤 프로토콜인지 유추할 수 없지만, TCP 영역의 데이터는 앱에서 처리하는 값이 그대로 전송된 것이므로 ascii로 변환시켜보면 그 내용을 대략 짐작할 수 있다.

해당 프레임은 HTTP의 GET request이며 Authorization으로 Basic 인증을 시도하고 있다.

전달되는 base64 인코드 값을 디코딩하여 정답을 확인할 수 있다.

confi:dential


참조

https://en.wikipedia.org/wiki/Ethernet_frame

0개의 댓글