해당 영상을 시청하고 다음과 같은 MP4파일의 캐시를 얻었다.
수집한 캐시 파일을 저장한 후 열어 oe 1/4값, bytestart1/4값, byteend1/4 값을 확인한 후 다음과 같이 정리하였다.
630E62113, 630A0CA4, 630E63EF, 630E1A34, 630EE336 이렇게 총 다섯 개의 oe값들이 나왔다. 같은 oe 값을 가진 캐시 파일끼리 묶은 후, bytestart1/4값, byteend1/4을 확인하여 순서를 정해주었다.
먼저 630A0CA4 값을 가진 캐시 파일들의 영상을 저장한 후, 재조립해보았다. (영상을 저장하는 방법은 트위터, 인스타그램과 동일)
영상들의 순서는 data_1[22528] → data_2[20480] → f_000010 → f_000023 → f_000029 → f_00002d → f_00002f → f_00031 이었다. 이를 통해 file name을 통해서도 재조립이 가능하다는 것을 트위터에 이어 다시 한번 확인할 수 있었다.
재조립을 진행한 후, 해당 파일이 소리에 해당한다는 사실을 알 수 있었다.
다음으로 630E63EF 파일을 재조립해보았다. 수집한 캐시파일의 URL로 영상을 다운 받은 후, 순서대로 재조립을 진행하였다. 630E63EF 파일의 순서는 다음과 같았다.
data_1[20480] → data_2[14336] → f_000022 → f_000028 → f_00002b → f_00002e → f_000030
영상 파일과 음성 파일음 합쳐보기 위해 다음과 같은 가설들을 세워보았다.
1. 재조립된 각각의 영상파일, 음성 파일을 합쳐보기
2. 캐시 파일의 이름을 기준으로 순서대로 조립해보기
첫번째 '재조립된 각각의 영상파일, 음성파일을 합쳐보기'는 테드 파일을 합칠 때와 같은 결과였다.
두번째의 경우 캐시 파일의 이름이 순서대로 된다는 점에서 나온 생각이었다. 이렇게 한다면 순서는
data_1[20480](영) → data_1[22528] (소)→data_2[14336] (영)→data_2[20480](소) →f_000010 (소) → f_000022 (영) → f_000023 (소) → f_000028 (영) →f_000029 (소) → f_00002b (영) → f_00002d(소) → f_00002e (영) → f_00002f (소)→ f_000030(영) → f_00031(소)
가 된다.
영상들을 끝가지 합쳐보지는 못했지만 영상 파일과 오디오 파일의 헤더 파일을 합쳤을 때, 영상 혹은 오디오만 재생됨을 확인할 수 있었다. 영상과 오디오의 헤더 파일을 합쳤을 때는 영상이 재생되었지만 다른 청크들을 합쳤을 때는 영상이 재생되지 않았다.
공격 시나리오 예상
(캐시 재조립으로는 어떻게 공격 시나리오를 짜야 할지 모르겠어서 일단 캐시 자체로 해봅니다!!)
-공격자에 의한 캐시 교체 위험
: 웹에서 클라이언트가 요청하는 정보(html, jpg, mp4 등등)는 바로 서버로 가지 않고 캐시에서 해당 파일이 있는지를 먼저 확인하고, 만약 파일이 존재 한다면 캐시 히트가 되어서 해당 파일을 제공함. 그런데 만약 공격자가 그런 캐시가 저장된 곳을 해킹해서 캐시 파일을 바꾸게 된다면 사용자는 자신이 요청한 파일이 아닌 다른 파일을 다운 받게 될 것
만약 악성코드를 심어 놓는다면 클라이언트-사용자에게 더 심각한 피해가 생길 가능성이 있지 않을까?
https://securitymax.tistory.com/104
https://www.dbpia.co.kr/journal/articleDetail?nodeId=NODE10558844
https://xn--3e0bx5euxnjje69i70af08bea817g.xn--3e0b707e/jsp/resources/dns/dnssecInfo/dnssecInfo.jsp
'프로젝트 > 연합 세미나' 카테고리의 다른 글
캐시 공격 정리 + 미리 캔버스 템플릿 정리 (0) | 2022.09.02 |
---|---|
트위터 내용 추가 + 네이버 TV 추가 실습 (0) | 2022.09.01 |
MP4/M4S 영상 캐시 재조립(트위터) (0) | 2022.08.23 |
MP4 영상 캐시 재조립(인스타 릴스) (0) | 2022.08.23 |
[8차] 캐시 재조립 실습 (0) | 2022.08.23 |