오늘은 forensic - network관련 문제에서 evidence03에 해당하는 Ann’s AppleTV를 풀어보겠다.
문제 사이트는 다음과 같다.
https://forensicscontest.com/2009/12/28/anns-appletv
사이트에 들어가면 다음과 같은 화면이 나온다.
다음과 같은 pcap 파일을 받을 수 있다. 지난 번에 풀이했던 문제에서 Wireshark를 사용했기 때문에 이번 문제도 wireshark를 이용해서 풀어보도록 하겠다.
지난번 문제및 풀이 링크는 밑에 있다.
https://papya3086.tistory.com/11
[Write Up]
문제에서 구해야 하는 것은 밑의 8가지이다.
1. What is the MAC address of Ann’s AppleTV?
2. What User-Agent string did Ann’s AppleTV use in HTTP requests?
3. What were Ann’s first four search terms on the AppleTV (all incremental searches count)?
4. What was the title of the first movie Ann clicked on?
5. What was the full URL to the movie trailer (defined by “preview-url”)?
6. What was the title of the second movie Ann clicked on?
7. What was the price to buy it (defined by “price-display”)?
8. What was the last full term Ann searched for?
1. Ann's AppleTV의 MAC 주소는?
2. Ann's AppleTV가 HTTP에서 요청한 User-Agent의 string은?
3. Ann's AppleTV에서 처음으로 입력한 four search terms는? (모든 incremental searches 카운트)
4. Ann이 클릭한 첫 번째 영화의 title?
5. 영화 예고편의 full URL은? ("preview-url")
6. Ann이 클릭한 두 번째 영화의 title?
7. 사기 위한 가격? ("price-display")
8. 마지막으로 입력한 전체 검색어는?
우선 evidence03.pcap을 wireshark를 이용해서 켜준다. (wireshark가 설치되어 있으면 더블클릭만 하면 됨)
위 정보에서 우선 첫 번째 답을 찾을 수 있다. Ethernet 2에서 Src 부분에 MAC주소가 나와 있다.
✨ 1. What is the MAC address of Ann’s AppleTV?
-> 00:25:00:fe:07:c4
그리고 HTTP에서의 정보를 살펴보면 Hypertext Transfer Protocl 부분에서 User-Agent 에 대한 정보를 찾을 수 있다.
✨ 2. What User-Agent string did Ann’s AppleTV use in HTTP requests?
-> AppleTV/2.4
이제 검색한 것을 찾아보아야 했다.
이것 저것 내리다 보니 TCP 차원에서 SYN, ACK가 아닌 HTTP 차원의 GET이 중요해보였다. 검색어를 입력한 것이기 때문에 GET이라는 것을 위주로 찾아보려고 했다.
HTTP만 필터를 적용시켜서 찾아보았다. GET을 위주로 보다 보니 "/WebObjects/MZSearch ... " 되어 있는 부분에서 Search? 를 찾을 수 있었다. 이 부분이 처음 검색한 Search에 해당되겠구나 생각을 해보았다.
같은 형태를 찾아보면서 내리다 보니 검색한 네 글자가 hack인 것을 알게 되었다. 내가 검색할 때 hack을 검색해도 하나하나씩 받게 되는 형식이 신기했다.
+ 문제를 잘 못 이해하면 4가지를 찾으라고도 착각할 수 있겠구나 싶었다. (뒤에 증가하는 서치까지 카운트하라는게 핵심)
✨ 3. What were Ann’s first four search terms on the AppleTV (all incremental searches count)?
-> hack
검색 후 어떤 영화를 봤는지 살펴보겠다.
hack을 검색한 후의 HTTP 분석중에서 밑의 쿼리가 보인다.
<Request URI: /WebObjects/MZStore.woa/wa/viewMovie?id=333441649&s=143441>
Movie id가 333441649인 것을 찾아야 했다. 여기서 스트림 따라가기를 통해 살펴보았다. (해당 부분에서 마우스 우측 클릭 -> 스트림 따라가기 -> HTTP)
위와 같은 정보들이 나왔다. 우리는 이 중 id에 해당되는 숫자를 창의 맨 밑에 찾기를 통해 찾아보겠다.
내리다보면 item-id가 숫자에 해당되는 영화의 정보를 찾을 수 있다. 제목은 Hackers 였다.
✨ 4. What was the title of the first movie Ann clicked on?
-> Hackers
5번의 답을 찾을 차례이다. 이 영화의 preview-url을 구해야 하는데 친절하게 문제에서 "preview-url" 형식으로 defined 되어 있다고 알려주었다. 이를 스트림에서 검색해보았다.
검색 해본 결과 옆에 string에 링크가 있는 것을 알 수 있는데 이것이 full-url 임을 알 수 있었다.
+ preview-url의 값이 SDVOD, 8:480P, 7:720P 등등 유형에 따라 여러개로 확인돼어서 preview-url도 검색하니 여러개가 떴는데 다행히도 그 값은 모두 동일한 url을 가리키고 있었다.
✨ 5. What was the full URL to the movie trailer (defined by “preview-url”)?
-> http://a227.v.phobos.apple.com/us/r1000/008/Video/62/bd/1b/mzm.plqacyqb..640x278.h264lc.d2.p.m4v
두 번째로 검색한 영화의 제목도 알아보기 위해 첫번째와 같은 방법으로 진행해보겠다.
좀 더 깔끔하게 살펴보기 위해 필터를 추가로 적용시켜 보았다.
Source Ip와 Dest Ip를 필터로 추가해서 적용하다 보니 앞서 풀었던 첫번째로 검색했던 부분이 더 쉽게 나오는 것을 확인했다. 이와 비슷한 방법으로 두 번째로 클릭한 영화의 Title을 찾아보겠다.
내리다 보니 이 부분에 마지막 쿼리에서 's'를 입력한 것이 나왔기 때문에 이걸 바탕으로 필터링해서 찾아보겠다.
필터를 통해 검색한 것을 보니 위와 같이 나왔다. (오타까지 기록되는 모습에서 살짝 소름돋았다)
마지막 검색을 살펴보니 sneak 이고 그 밑에 i가 새로 있다.
i는 다른 것을 입력하기 위한 장치임을 눈치채고 배제한 후 sneak에 집중해서 살펴보기로 했다.
첫 title 검색과 마찬가지로 sneak 검색 후 그 밑에 패킷에서
<Request URI: /WebObjects/MZStore.woa/wa/viewMovie?id=283963264&s=143441>
와 같은 정보를 확인할 수 있다. 여기서 역시 Movie ID가 283963264인 영화를 클릭했음을 알 수 있고 이것을 스트림 따라가기를 통해 검색해서 찾아보겠다.
따라가보니 역시 해당 item-id에 해당하는 integer값이 존재했고, 그게 대응되는 영화 Title은 "Sneakers"인 것을 확인할 수 있다.
✨ 6. What was the title of the second movie Ann clicked on?
-> Sneakers
스트림에서 가격을 찾아보겠다. 친절하게 가격이 "price-display" 로 정의되어 있다고 하니 이것을 검색해서 찾아보면 쉬울 것 같다.
위 상황과 같이 다양한 타입에 따라 가격이 여러번 나타나는데 $2.99 와 $9.99 가격이 두 개이다.
살펴보니 Buy는 9.99, Rent는 2.99 인 것을 알 수 있다.
✨ 7. What was the price to buy it (defined by “price-display”)?
-> $9.99
이제 마지막 문제로 왔다. Ann이 마지막으로 검색한 전체 full term은 무엇인가?
앞서 sneak라는 검색어를 찾았을 때 그 뒤에 i가 존재하는 것을 확인했다. 이 i와 관련이 있을 것 같다고 생각했고 이걸 바탕으로 다시 HTTP를 필터한 채로 찾아보겠다.
필터를 하고 찾아보니 맨 마지막 term이 "iknowyourewatchingme" 인 것을 확인 할 수 있었다
✨ 8. What was the last full term Ann searched for?
-> iknowyourewatchingme
이렇게 모든 문제에 대한 Write Up이 끝났다. 확실히 Wireshark를 통해 이전 문제인 evidence02를 풀어보니 훨씬 수월했지만 그래도 신기하고 어려운 과정이었던 것 같다.
중간 중간 막히거나 답답해서 방향성을 못찾았을 때가 존재했는데 그때마다 같이 스터디를 하면서 문제를 풀고 풀이를 올리신 분들의 블로그 글이 너무 큰 도움이 되었다.
참고
https://leehojune.tistory.com/7
https://wogmlll.tistory.com/42
'Forensic' 카테고리의 다른 글
[Forensic] TCP 패킷 분석 (wireshark) / Puzzle #4: The Curious Mr. X 문제풀이 (evidence04) - Network (0) | 2024.07.30 |
---|---|
[Forensic] USB 패킷 분석 (wireshark) / What did I write??? - Network (0) | 2024.07.29 |
[Forensic] Puzzle #2: Ann Skips Bail 문제 풀이 (evidence02 3-8) - Network (0) | 2024.07.28 |
[Forensic] suninatas 29번 (써니나타스 29번 - Disk 문제) (0) | 2024.07.25 |
[Forensic] FAT32 / NTFS / exFAT 파일시스템 정리 (2) | 2024.07.25 |