٩(๑•̀o•́๑)و

chapter 6. 파일 magic number 본문

네트워크 패킷 포렌식('15~16. SISS)

chapter 6. 파일 magic number

11mia 2016. 5. 29. 03:19

magic number란?

:파일들은 각각 고유한 포맷을 가지고 있는데 포맷의 기본이 되는 내용.

chapter_6.pcap파일을 열어서 [conversation]을 해보면 다음과 같이 나온다.

첫번째 세션의 경우엔 port A 55488에서 port B 22로의 통신임을 알 수 있다. 여기서 22번 포트의 경우 telnet등의 평문데이터를 보호하기 위해 암호화 처리하는 프로토콜로 이 세션을 [Follow stream]했을 때 확인할 만한 문자열이 없다.

두번째 세션은 port A 54419에서 port B 80(HTTP)으로의 통신으로 이를 [Follow stream]해보면 텅 빈화면이 나오는데 이를 다시 필터링 해보면 다음과 같다.

[SYN],[ACK],[SYN,ACK]으로 세션을 맞는 과정과 [FIN,ACK],[ACK],[FIN,ACK]로 세션을 종료하는 과정만 있는데 이는 전형적인 포트스캔과정으로 단순히 80번 포트의 오픈정도만 확인하는 세션임을 알 수 있다.

세번째 세션은 port a 51128에서 port b  443(HTPPS)로의 통신인데 https는 http에 암호화기능을 추가한 통신임에도 불구하고 이 세션에서는 일부 확인 할 수 있는 문자열이 보임을 알 수 있다.

네 번째 세션은 port A 1221에서 port B 443(HTTPS)으로의 통신으로 이번엔 확인 할 수 있는 평문값이 보이지 않는다.

다섯 번째 세션은 port A 1271에서 port B 443으로의 통신이고 마찬가지로 확인 할 수 있는 평문값은 없다.

여섯 번째 세션의 경우에는 포트번호만으로는 통신방향을 확인 할수 없으므로 필터링을 통해 확인해야 한다.

109번째 줄을 통해 이 세션은 192.168.1.159에서 192.168.1.158로 [SYN]플래그로 최초 통신을 요청하면서 이루어진 것을 알 수 있다. 이 세션을 [Follow stream]해보면 다음과 같다.

총 4개의 블록으로 되어있으며 1,2,4번째 블록이 OFT2(메신저 통신)로 시작하고 세번째 블록은 PK로 시작하는 것을 볼 수 있다. 이 PK라는 것이 magic number인데 pcap의 경우 파일포맷마다 고유의 magic number를 가지고 있어 이를 통해 패킷 내에 포함된 파일종류를 확인하고 추출해 낼 수 있다. 정확한 파일종류를 알아내기 위해 http://www.garykessler.net/library/file_sigs.html 에서 PK를 검색해보면 zip이나 office등의 파일포맷임을 알 수 있다. 더불어 pk뒤에 나오는 recipe.docx 문자열을 통해 그 파일이 recipe.docx라는 것 까지 알 수 있다. 이제 이 파일을 추출해 내기 위해 해당 세션을 [save as]를 통해 recipe.docx로 저장하고 hex editor로 열면 다음과  같다.

이는 여섯번째 세션 전체를 저장한 것이므로 나머지 세개의 OFT2 블록을 지우고 pk블록만을 남겨야 한다.

이제 이를 저장하고 recipe.docx파일을 열면 다음과 같이 열리면서 recipe.docx파일 추출에 성공했음을 확인할 수 있다.

 나머지 일곱번째 세션의 경우엔 port A 1273에서 port B 80(HTTP)로의 접속으로 [Follow stream]해보면 접속한 사이트라던가 경유지 같은 정보를 알 수 있다.


[출처]

security 네트워크 패킷 포렌식 (https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=18680157)