[HackThisSite.org] basic 전체(1~11) 풀이

따로 따로 포스팅을 하기에는 앞에 있는 문제들의 난이도가 낮고 분량이 안나올 것 같아서, basic 카테고리를 전부 묶어서 포스팅 하기로 했다.

1. 레벨 1

사진 1 : basic1 문제 (기계번역)

ctrl + u 를 눌러 소스보기를 보면 <!– the first few levels are extremely easy: password is 12cf7f52 –> 주석으로 플래그가 적혀있다. 3초 만에 풀수 있는 문제였다.

2. 레벨 2

사진 2 : basic2 문제 (기계번역)

처음에는 무슨 문제지? 라고 고민을 하고 우연히 전송버튼을 눌렀는데 그대로 문제가 클리어 되었다;;;;

문제 설명을 보니 필요지식이 “센스”라고 되어있는 것으로 보아 상식 밖 생각을 할 수 있도록 유도한 문제 같다.

3. 레벨 3

사진 3 : basic3 문제 (기계번역)

ctrl + u로 소스를 보던 중 이상한 코드를 발견했다.

사진 4 : 보안의식 상태가 ????

해당 주소로 들어가니 flag가 나왔다!

사진 5 : db6288d1 플래그

4. 레벨 4

사진 6 : basic4 문제 (기계번역)

sam에게 비밀번호 보내기를 눌러보니 초기화된 비밀번호가 전송되었다는 창이 떴다.

사진 7 : 흔한 비밀번호 초기화

뭔가 쎄한 느낌이 들어서 소스를 봤는데….

사진 8: Sam의 보안의식 상태가?!!

저부분을 f12 개발자 도구로 회원가입 할때 넣었던 이메일 주소로 바꾼다음 초기화 버튼을 누르니..

사진 9 : … 이게 되네?

회원가입 할때 사용한 이메일로 flag값이 전송되었다…

사진 10 : 이게 무슨….

5. 레벨 5

사진 11 : basic5 문제 (기계번역)

???? 레벨 4와 레벨 5 문제 풀이에 큰 차이가 없었다. 똑같이 f12로 이메일을 수정하니 메일로 플래그가 발송되었다.

사진 12 : 이게 왜 되는거지????

6. 레벨 6

사진 13 : basic6 문제 (기계번역)

빈칸에 특정 문자를 넣으면 암호화 된 결과를 출력해주는 것 같다. 어떤식으로 암호화되는지 테스트하기 위해서 0을 20개 넣었으나 에러가 나서 최대 길이인 14자리만 넣어보기로 했다.

사진 14 : 결과값

뒤로 갈수록 키값이 +1씩 되는 것 같은 느낌이 들어서 다른 문자형태도 테스트 해보았다.

사진 15 : aaa 입력
사진 16 : !!! 입력

직접 코드를 짜는 것 보다 직접 손으로 대입하는 것이 빠를 것 같아서 손으로 풀었다.

2는 그대로 :는 9… 이런식으로 직접 대입하였다.

flag : 2908e434

사진 17 : 클리어!

7. 레벨 7

사진 18 : basic7 문제 (기계번역)

빈칸에 2023을 넣고 보기 버튼을 누르니 아래와 같은 달력들이 출력되었다.

사진 19 : 달력 출력

느낌이 커맨드 인젝션 문제같아서 2023;ls를 입력해보니 flag로 추정되는 파일이 하나 나왔다.

사진 20 : 플래그 php 파일

해당 파일명을 복사해서 접속하니 플래그가 출력되었다.

사진 21: flag!

8. 레벨 8

사진 22 : basic8문제 (기계번역)

처음에는 7번 문제처럼 커맨드 인젝션 문제인줄 알았으나… 여러번 삽질과 구글링을 한 결과 SSL 인젝션(Server Side Include Injection payload) 취약점으로 풀어야 한다는 사실을 알게 되었다.

SSL 인젝션에 관한 자세한 글은 추후 다른 포스팅으로 깊게 다룰 예정이다

간략하게 설명하자면 입력받은 변수 값을 서버에서 처리할 때 악성 명령어를 입력하여 실행하는 취약점이다.

<!--#exec cmd="ls"--> // 실패
<!--#exec cmd="pwd"--> // 실패
<!--#exec cmd="ls ../"--> // 성공

<!–#exec cmd=””–>를 이용하니 방법이 맞긴하지만 서버의 보안을 위해 실행을 거부한다는 내용의 안내가 떴다. 구글링을 해보니 미리 정해둔 <!–#exec cmd=”ls ../”–>만 사용이 가능한 것 같았다.

<!–#exec cmd=”ls ../”–> 를 빈칸에 작성하고 링크를 따라가니 파일 리스트가 나왔다.

사진 23: 파일 리스트 출력

php 파일명을 복사해서 해당 파일의 주소로 들어가니 flag가 나왔다.

사진 24 : flag

9. 레벨 9

사진 25 : basic9 문제 (기계번역)

9번 문제도 8번 문제와 풀이과정이 비슷한 SSL 인젝션 문제였다. 8번 문제 빈칸으로 가서 아래와 같은 코드를 입력하니 문제가 해결 되었다.

<!--#exec cmd="ls ../../9"-->

8번 똑같이 파일리스트가 나오고 php파일명을 복사해서 주소로 들어가니 플래그가 나왔다.

사진 26 : flag

10. 레벨 10

사진 27 : basic10 문제

10번 문제는 버튼이라던지 추가 링크라던지 문제를 풀만한 요소가 보이지 않아서 잠시 멘붕 했었다.

구글링을 한 결과 쿠키값을 바꾸면 되는 간단한 문제라는 것을 알게 되었다.

사진 28 : 쿠키값 변경

No로 되어있는 쿠키값을 yes로 변경한 다음 제출버튼을 클릭하니 문제가 풀렸다.

11. 레벨 11

사진 29 : basic11 문제

basic 11번 문제 페이지는 답을 제출할만한 칸도 보이지 않고 딱 저 한문장만 나온다.

처음에는 버그인줄 알고 여러번 새로고침을 해보았는데, 새로고침 할때마다 노래 제목이 바뀌는 것을 발견하였다.

나온 노래들을 구글링해보니 엘튼 존이라는 가수가 부른 노래였다.

다음부터는 어떤식으로 문제를 풀어야 할지 감이 잡히지 않아 구글링을 진행해본 결과,

문제 페이지 주소 뒤에 엘튼 존의 첫 글자인 e를 입력하면 폴더가 나온는 사실을 알았다.

사진 30 : 폴더 안에 폴더가!

해당 폴더들 쭉쭉 타고 들어가면 어느순간 부터 폴더가 나오지 않는다.

사진 31 : 나오지 않는 폴더

.htaccess 파일을 확인하면 숨겨진 폴더를 확인 할 수 있다.

사진 32 : DaAnswer

DaAnswer폴더가 숨겨져 있는 것을 확인 할 수 있었다. DaAnswer 폴더로 접속하니 아래와 같은 문구가 나왔다.

사진 33 : flag인가?

뭔가 더 열심히? 더 세게? 찾아보라는 뜻의 영어 문장이 출력되었다.

무슨 의도인지 곰곰히 생각해봤는데 flag가 simple이라는 것 같았고 답을 제출하는 것도 근처에 있다는 것 같았다.

https://www.hackthissite.org/missions/basic/11/index.html이던 문제주소를 https://www.hackthissite.org/missions/basic/11/index.php로 바꾸니 답을 제출 할 수 있는 칸이 나왔고 앞에서 나온 simple를 입력하니 문제가 클리어 되었다!

사진 31: 길었던 올클리어!

12. 총평/후기

5번까지는 한 문제 푸는데 길어야 10분 걸려서 11문제 전부다 푸는데 2~3시간이면 충분하겠다 만만하게 보고 주말 아침 10시부터 시작을 했는데 점점 난이도가 올라가서 오후 11시가 되서야 끝났습니다…

6번 문제때 30분 넘게 걸리더니 번호가 올라갈수록 난이도가 사채 복리급으로 올라가서 생각보다 더 오래 걸린 것 같습니다.

그리고 2번문제와 11번 문제는 단순히 해킹만 하는게 아니라 다른방향으로 생각하면서 풀어야하는 문제라 시간이 오래걸렸지만 재미있었던 것 같습니다.

[HackThisSite.org] Steganography 1 문제풀이

사진 1 : 문제 기계(bing)번역

기계번역된 문제내용을 정리하자면 문제파일(사진)안에 인코딩 된 메시지가 있고 찾는 힌트는 2개의 NULL 바이트라고한다.

winhex를 실행시키고 ctrl + alt + x로 Hex 검색창을 띄운 후 NULL값 (00 00)을 검색 후 f3로 넘기면서 값을 살펴보던 중 00 00 으로 둘러 쌓인 문자열을 발견 하였다.

사진 2 : 00 00 으로 둘러싸인 값

2진수이거나 모스부호 일 것 같은 느낌이 들었다. 하지만 모스부호라면 중간중간에 구별이 가능하게 띄어쓰기가 있어나 표시가 되어있는데 그런 흔적들이 없어서 아닌 것 같았다.

16을 0 17을 1로 치환해서 2진수로 변환 하였다

사진 3 : 변환 된 값

변환된 값을 2진 변환기에 넣으면 쉽게 flag가 나올 줄 알았는데 에러가 발생하였다.

사진 4 : 변환 오류

문자열이 잘못 되었나 8자리씩 끊어서 보니 어디서 하나가 부족한 상태였다…

00111000
01100110
01101110
11010000
11000010
11100110
0110110
표 1 : 2%부족한 …..

각 줄 앞에 0과 1을 하나씩 넣어보면서 때려 맞추기를 하고 있었는데 2번째 줄에 0을 추가하고 줄을 다시 정리하니 정상적으로 변환이 되는 것을 확인하였다.

사진 5 : 플래그!

플래그 값을 넣으면 클리어와 동시에 아래와 같이 다음 문제를 풀 수 있는 버튼이 만들어진다!

사진 6: 클리어!

[HackThisSite.org] Forensic 3 문제풀이

사진 1 : 문제전문(bing기계번역 버전)

문제 내용을 요약하자면 피자를 제조하는 것이 중범죄인 어떤한 주에서 피자를 제조한 혐의로 체포된 용의자가 가진 USB를 회수하였고 해당 USB안에서 피자를 만들었다는 증거가 있는지 찾아내는 문제인 것 같다.

문제파일을 받고 압축을 풀면 8개의 파일을 확인 할 수 있다.

사진 2 : 8개의 파일

8개의 파일들의 용량을 각각 확인해보니 shh.jpg 파일이 약 10MB로 해상도에 비해 비정상적으로 커서 수상해 보였다.

사진 3 : shh.jpg 파일

shh.jpg 파일을 winhex 열어서 있을거 같은 파일 형식을 선택 후에 카빙을 진행하였다.

사진 4: winhex 카빙
사진 5 : 카빙 결과

카빙 한 파일들의 용량 총합이 36.6KB으로 제대로 카빙이 되지 않은 것으로 추정된다. 직접 수동으로 파일을 찾아보기로 하였다.

우선 카빙된 000001.jpg 파일의 영역을 잘라내려고 하니 jpg파일의 푸터 뒤에 rar 압축파일의 시그니처와 비슷해 보이는 문자열을 발견하게 되었다.

사진 6 : rar 파일의 시그니처는 52 61 72 21 1A 07 00!

000001.jpg 의 영역을 지운 후 5A 를 52로 수정한 후 7zip으로 압축 풀기를 시도 하였다.

사진 7,8 : 시그니처 수정 및 압축해제

암호를 입력하라는 창이 뜨는데 앞에서 카빙할때 나온 000002.jpg 파일에 적혀있는 GL0zMe를 입력하니 암호가 정상적으로 해제되었다.

사진 9 : 수많은 피자 사진들

압축 해제된 파일들을 보니 수많은 피자 사진들 중에서 한개의 txt파일 보이는데 이 파일을 열면 이번 문제의 flag가 적혀있다.

사진 10 : flag

[HackThisSite.org] Forensic 2 문제풀이

사진 1 : 기계번역(bing) 전문

문제 내용을 정리하자면 어떤 의뢰인이 다른 사람과 바람을 피운 혐의로 기소가 되었다고 한다.

다른 여성과 같이 찍은 사진이 증거로 제출되었는데 의뢰인은 해당사진은 셀카였으며 해당 사진이 합성되었다고 주장하는 중이다.

해당사진이 합성사진인 것을 증명하면 되는 문제로 추정된다.

문제에는 저렇게 쓰여 있어도 스테가노그래피일 가능성이 있어서 우선 스테가노그래피인지 확인해보았다.

사진 2 : gimp 색감,레벨 기타 등 변형 사진

gimp를 이용하여 색상 레벨도 바꿔보고 채도도 바꾸어 봤는데 플래그는 보이지 않았다.

푸터 뒤에 문자로 존재하는 경우도 종종 있기에 winhex로 바이너리 값을 보기로 하였다.

사진 3 : 포토샵 사용흔적

숨겨진 메시지는 발견하지 못하였으나 해당 사진이 어도비 포토샵을 사용한 흔적은 발견 할 수 있었다.

하지만 저 문자열만으로는 해당 사진이 포토샵으로 단순 보정을 했는지, 합성을 했는지 할 수는 없다.

어떻게 하면 합성 사진으로 증명 할 수 있을지 구글링을 하던 중 jpg와 같은 손실 압축 사진 파일들은 ELA(Error Level Analysis) 분석을 통하여 사진의 합성 유무를 확인 할 수 있다는 것을 알게 되었다.

ELA(Error Level Analysis) 분석으로 압축수준이 다른 정도를 확인 할 수 있는데 압축수준이 특정 한곳만 지나치게 다른 경우에는 합성 사진일 가능성이 높다.

ELA 분석을 해주는 소프트웨어도 있고 웹사이트도 있는데 필자는 https://29a.ch/photo-forensics/#error-level-analysis 에서 진행하였다.

사진 4 : ELA 분석 사진

ELA 분석을 한 결과 여성쪽만 균일하지 않게 노이즈가 발생하는 것을 확인 할 수 있다.

이것으로 해당 사진이 합성 사진임을 증명 할 수 있게 되었고 좌상단에 flag로 추정되는 문자열도 얻을 수 있다.

사진 5 : 클리어!

플래그 값이 ELA4LIFE!! 인지 ELAALIFE!! 인지 해상도가 낮아 구별이 안되는 작은 이슈가 있는데, 그냥 둘다 제출해보니 ELA4LIFE!!가 플래그였다.

[HackThisSite.org] Forensic 1 문제풀이

사진 1 : 문제전문(bing기계번역 버전)

기계번역 된 문장들을 정리해보자면 최근에 전 직원과 마찰이 있었는데 그가 USB에 있는 파일을 날려버렸고 파일 복구를 하기 위해 USB 이미징을 진행한듯 하다.

이미징 파일을 받아서 USB안에 있는 암호파일을 구하면 되는 문제인 것으로 추정된다.

첨부파일을 받고 본격적으로 문제를 풀기전에 이미지 파일이 제대로 받아졌는지 무결성 검사를 진행한다.

사진 2: 무결성 검사

해쉬값이 문제에 적힌 값과 같아서 바로 문제 풀이에 들어갔다.

압축을 풀면 image.dd 파일이 나오는데 해당 파일을 ftk imager로 불러와준다.

사진3 : Trash-1000 폴더

.Trash-1000 폴더(휴지통 폴더) 안으로 들어간 후 expunged 폴더로 들어가면 삭제된 파일 리스트들이 나온다.

파일을 둘러보면 고양이 사진, 산맥 사진 등등 평범한 사진들이 대부분인데 딱 한폴더가 수상하게 선정성(?)이 높은 사진 한장과 압축파일 들어 있다.

사진4 : 수상한(?) 폴더

해당 폴더에 있는 압축파일을 풀면 flag가 나올 것 같았으나… 압축파일이 암호로 잠겨있다…

사진 5 : 암호화된 압축파일

어디에 암호가 숨겨져 있는지 폴더를 이리저리 뒤져가며 확인하던 중 음성 파일과 pdf문서, docx 문서들을 발견했다.

사진 6 : 문서&음성 파일 리스트

voicemail 1.wav 파일을 실행시켜서 소리를 들어보면 8초 정도의 짧은 대화가 나온다.

대화 내용을 해석하자면 핸드폰 번호로 어떤 파일의 암호를 해제 할 수 있는다는 내용 같았다.

여러 문서들을 살펴보던 중 Termination – Allen Smith.docx 해당 파일에서 핸드폰 번호를 찾을 수 있었다.

사진 7 : 휴대폰 번호

핸드폰 번호를 압축파일에 넣었는데 압축이 안풀렸다…. 혹시나 싶어서 -를 빼고 다시 해보니 압축이 풀렸다!

압축을 풀면 flag값이 적힌 docx파일을 확인 할 수 있다! 플래그를 제출하면 끝!

사진 8 : flag
사진 9 : 클리어!

공군 정보보호병 지원 후기

아마추어 무선 활동과, 무선 해킹을 한다고 취득하였던 육상무선통신사 자격증이 있어서 육군 통신병으로 짧고 굵게 군대를 다녀올 생각이였지만 인생에서 한번 뿐인 군생활을 슬기롭게 잘 보내보자는 생각으로 정보보호병을 지원하게되었다.

1. 지원요건 (달라질 수 있음으로 병무청 공식 사이트에서 확인 추천)

https://www.mma.go.kr/contents.do?mc=mma0000465

필자가 지원 한 당시 지원자격

  • 지원자격 : 다음 자격요건 중 한가지 이상을 충족하는 자
    • 전공
      • 4년제 대학교 또는 전문대학에서 정보보호 및 컴퓨터(전산) 관련학과 전공자 (1년 수료 이상)
      • 고등학교 졸업자 중 정보보호 또는 컴퓨터(전산)학과 전공자
    • 자격증
      • 정보보호 : 정보보안기사·산업기사, 정보보호전문가, 디지털포렌식전문가 등
      • 정보기술 : 정보처리기사·산업기사 등
    • 업무경력 : 공공, 민간기관 정보보호 업무경력(6개월 이상자)
    • 기타
      • IT 역량지수(TOPCIT) 정기평가 300점이상 획득자
      • BoB센터 “차세대 보안리더 양성 프로그램”과정 선발자

보통은 2-3학년을 수료하고 많이 지원하지만 필자의 경우는 고등학교 때 BoB를 수료하였기 때문에 대학교에 입학하고 기회가 생길때 마다 바로 지원하였다. 그렇게 총 2번 지원하였는데, 7명 선발하는데 첫 지원은 12등으로 탈락했고 두번째 지원 때 6등으로 합격하였다.

두번째 지원때는 헌혈점수를 모두 채워서 지원하였는데, 헌혈 가산점이 큰 도움이 된 것 같다.

면접은 대면으로 계룡대 공군본부에서 진행하였다. 대전역에서 계룡대 가는 버스 배차간격이 1시간 이상으로 매우 길어서 그냥 택시가고 가는 것을 추천한다. 택시비는 3만원 내외로 나왔다

받은 면접 질문
(첫번째 면접때 받은 질문 = 1차 , 두번째 면접때 받은 질문 = 2차)

면접 시작 전 30초 자기 소개 해주세요 (1차,2차)

한미연합에 대하여 어떻게 생각하시나요? (1차,2차)

미국은 무슨 이익 때문에 우리나라와 연합을 한다고 생각하나요? (2차)

최근에 한 봉사활동에 대해 말해보세요 (1차)

타군 정보보호병도 있을텐데 공군에 지원한 이유가 있나요? (2차)

상관이 부적절한 지시를 내렸을때 어떻게 대처 할 것인가요? (2차)

정보보호의 3요소에 대해 말해보세요 (1차,2차)

sql 인젝션에 대해 설명해보세요 (1차)

서버나 네트워크 장비를 다루어 본적이 있나요? (1차)

방화벽과 IDS의 차이점에 대해 설명해보세요 (1차)

수상이력이 있는데 해당 대회에서 어떤 분야를 담당했나요? (2차)

첫번째 면접 때에는 기술 위주로 면접이 들어왔는데 두번째 질문에는 한미연합과 인성 관련된 질문 위주로 면접이 진행되었다.

면접이 끝나고 약 3주-1달 후 결과가 발표된다.

그럼 2년 뒤에 뵙겠습니다!

윈도우 계열 OS에서 디스크 쓰기 방지 설정(레지스트리)

디지털 포렌식 5대 원칙 중 하나인 무결성을 유지하면서 디지털 포렌식을 진행하려면 디스크 쓰기 방지 조치를 해야한다.

이번 글에서는 레지스트리를 편집하여 논리적으로 디스크 쓰기 방지 설정하는 방법을 작성하였다.

레지스트리 편집

Win + r -> regedit 입력 후 엔터

아래 레지스트리 주소로 들어간다.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

만약 해당 경로가 존재 하지 않을 경우 Control에서 우클릭 -> 새로만들기 -> 키 -> StorageDevicePolicies 입력을 하여 경로를 만들어 준다.

해당 주소에 들어온 후 우클릭 -> 새로만들기 -> DWORD(32비트) 값 -> WriteProtect 생성

단위는 16진수로 설정 , 값 데이터가 0일 경우 쓰기 가능, 1일 경우 쓰기 불가

위 설정을 1로 변경하고 평범한 방식으로 증거 매체를 수정 하려면 쓰기 금지가 되어 무결성 확보 할 수 있다.

다만, winhex 등 16진수 편집기를 이용하여 수정을 시도 할 경우는 수정이 가능하기에 논리적인 쓰기 방지 기능은 증거 매체 이미징용 으로만 사용할 것을 권장한다.

만약 불가피하게 원본으로 작업을 해야하는 상황에서는 쓰기 방지 장치 하드웨어를 사용하여야 무결성을 보장 할 수 있다.

MP4 파일 구조 정리 (1)

MP4(MPEG-4 part 14)

비디오 및 오디오 스트림을 저장하는 동영상 포맷이며, ISOBMFF(ISO Base Media File Format)으로 정의된다.

ISOBMFF

  • ISO가 개발
  • 포맷 종류 : Media Container
  • QuickTime(.Mov)로 부터 확장
  • ISOBMFF의 대표적인 확장 포맷 (mp4, 3gp, 3g2, mj2, dub, dcf …..)

MP4 파일은 3가지의 구조적인 특징을 가진다.

logical structure (논리적 구조) : 시간과 관련된 병렬적인 트랙(audio, video)로 구성됨

time structure (시간적 구조): 각 track은 시간에 따른 sample sequence로 이루어짐

physical structure (물리적 구조) : 모든 데이터는 box라 불리는 형태로 저장됨


MP4 파일 아키텍쳐 구조

사진 1 : 대략적인 mp4 파일 구조

file

  • moive 트랙에 시간 데이터를 저장
  • time과 관련 없는 데이터를 저장
  • 간혹 위 두 가지 모두를 저장 할 때도 있다
  • 동기와를 위한 common timeline을 정의

Track

  • 특정 미디어 유형(코덱)에 해당
  • 단일 디코더에 연결되어 있음 (확장 가능 한 코덱 제외)
  • 다른 트랙에 연결 하거나 그룹화 또는 다른 트랙으로 대체 가능
  • item에 있는 untimed data와 관련이 있을 수 있음
  • 암호화 될 수 있음
  • sample로 분해됨

Sample

  • 지정된 시간 (DTS, CTS)에 디코더가 사용하는 연속데이터를 나타냄
  • 속성(크기,위치,랜덤 엑세스, 디코더 configuration)가 저장되어 있다.
  • Sub-Sample의 관점에서 표현 될 수도 있다.
  • Sample Group 내의 다른 비슷한 Sample과 연관이 있을 수도 있다.
  • 샘플별 보조 정보가 존재 할 수도 있다.

Item

  • Movie 전체에 대해 사용되는 Data를 나타냄
  • Type, Position, size 등과 같은 속성을 가짐
  • 암호화 되어있거나, 압축화 되어있어서 확인이 어려울 수 있음

physical structure (물리적 구조)

MP4 파일에서 모든 데이터는 Box(박스)라고 불리는 구조로 저장되어 있다. 각 박스는 length, type(4바이트), Version, flag, data를 저장한다.

사진 2. 박스 구조도

Extensible format(확장 형식)

  • 잘 알려지지 않은 Box는 생략 할 수 있다.
  • Header 정보는 Box의 계층 구조이다.
  • Media data는 Header와 동일한 파일 Box(주로 ‘mdat’ 또는 ‘idat’)에 구조화되지 않고 저장되거나 별도의 파일에 저장 될 수 있다.

MP4 파일의 일반적인 구조

위에서 소개한 여러 Box들이 모여 MP4 파일은 계층적 구조를 가진다.

사진 3. mp4 Box tree

FTYP

  • filetype의 약자로, i per file, File type, File version, 다른 ISO file 과의 호환성을 알려주는 박스

Moov(moive)

  • Presentaion(표현)과 관련된 MetaDate를 위한 Unique Container (고유 컨테이너)

mvhd(moive Hedear) : movie에 대한 일반적인 정보를 가진 박스

trak(track) : 하나의 steam과 연관된 metadata container

tkhd(track header) : track에 대한 전반적인 정보를 가지고 있는 박스

mdia(media information) : track안의 media imformation에 대한 container

mdhd(media header) : media에 대한 전반적인 정보를 가지고 있음

minf(media information container) : 미디어 정보 컨테이너

vmhd(video media header) : 비디오 미디어 헤더 박스

dinf/dref(Data information/Data Reference) : data의 위치를 나타내는 박스

stbl(Sample Table) : Sample과 관련된 Meta 데이터를 가짐

stsd(sample Description) : Sample Decoder configuration 정보

stts(time to sample) : 샘플의 시간 정보

ctts(composition time to sample) : 샘플링 시간

stsc(sample to chkunk) : partial data-offset information (파티션 데이터 오프셋 정보)

hdlr(Handler) : stream의 타입을 의미

tref(track reference container) : 추적 참조 컨테이너

mdat(media Data) : media data를 가지는 박스


아래에 첨부된 온라인 mp4 parser 도구를 이용하면 위에서 설명한 것과 유사한 파일 구조를 볼 수 있다.

사진4. 분석 사진

다음 2편에서는 각 박스들의 16진수 값들에 대해 작성해보기로 마음 먹으며 글을 마친다.

참고문헌 :

MPEG-4 파일의 구조 개괄 :: 개똥이야기 (tistory.com)

[MP4] 분석 하기 | MPEG-4 파트 14 | MP4Box 설치 (tistory.com)

MP4 파일 구조 – Studying Programming (revol300.github.io)

mp4파일 시스템 구조, mp4파일 구조 : 네이버 블로그 (naver.com)

mp4파일 시스템 구조, mp4파일 구조 : 네이버 블로그 (naver.com)

비디오 – Digital Forensic Wikipedia (korea.ac.kr)

MP4 file format – Wikipedia

사용된 도구

Online Mp4 Parser

첨부파일

X-ways imager 구매 후기 (25-05-29 내용 추가)

분석해야하는 장비가 여러 이유로 포렌식 연구실이 아닌 다른 장소에서 디스크 이미지를 만들어야하는 상황이 종종 있다. 예를 들면 천장이나 벽 등에 매립되어있는 PC나 운송이 불가능 할 정도로 큰 서버를 분석해야하는 경우가 종종 발생한다.

이런 상황에서 이미지 하나를 만들기 위해 분실 위험을 감수하면서 약 600만원의 X-Ways Forensics을 들고 가기에는 많이 부담된다.

X-Ways imager는 이러한 상황에서 연구실 외 장소에서 부담없이 이미지를 할 수 있도록 이미징외 모든 기능을 빼고 제작한 도구이다

사진 1. 실행 화면

X-Ways imager는 1년 이용버전 12만원, 영구이용버전은 30만원에 구매 할 수 있다.

개인적인 평가를 하자면 같은 회사에서 나온 X-Ways Forensics, WinHex와는 달리 X-Ways Imager는 별로 였다.

X-Ways imager는 무료 도구인 FTK imager에도 있는 간단한 이미지 파일 분석이나 브라우징 기능,삭제된 파일 확인 등 부가적인 기능이 전무하고 딱 이미지 생성 기능만 존재하였다.

장점을 뽑으라 한다면 FTK imager(130MB) 이미징 툴은 몇 백메가의 용량을 자랑하는 방면, X-Ways imager는 47MB의 가벼운 용량을 가졌고, 램과 cpu도 다른 툴에 비해 적게 먹었다.

또 프로그램 자체가 가벼워서 다른 이미징 프로그램보다 약간 더 빠르게 이미징이 가능했다.

정리하자면 X-Ways imager는 이미징 말고는 아무런 기능이 없으므로 연구실 이외의 장소에서 이미징을 해야하는 사람이 아닌 디지털 포렌식을 공부하려는 학생들은 구매하는 것을 비추천한다.

학생들은 괜한 모험심이 들어서 돈 낭비 하지 말고 무료 도구인 FTK imager를 이용하는 것을 권장한다.

뒤늦게 적어보는 차세대 보안리더 양성프로그램 (BoB) 11기 수료 후기

수료식이 끝나고 바로 수료 후기를 작성할 생각이었으나, 여러모로 바빠 미루다 보니 2달이나 지나버렸네요..

글을 쓰다 보니 어느덧 BoB 12기 모집 기간과 겹치게 되었습니다

12기 지원하시는 분들에게 조금이라도 도움 되고 좋은 결과 있기를 기원하며 글을 적어보았습니다.

BoB 수료증

1.서류지원

BoB에 들어가기 위해서는 1단계 서류평가 2단계 필기 or 실기 평가 3단계 면접으로 3가지의 관문을 넘어야 들어갈 수 있습니다.

필자의 경우에는 디지털 포렌식 트랙으로 지원하였고, 3번째 도전 만에 BoB에 붙게 되었습니다. (9기 서류탈락, 10기 면접탈락, 11기 최종합격)

3수를 하면서 쌓인 소소한 팁을 공유해드리자면 BoB 자기소개서에 정보보안에 뜨거운 열정을 잘 녹여낸다면 서류평가는 쉽게 통과할 수 있었습니다.

서류평가에서는 자기소개서를 필수로 제출하고 보유 자격증, 수상 기록,포트폴리오,추천서 등등을 추가로 선택 제출합니다.

제출한 자료를 기반으로 평가하여 모집인원의 2배수인 총 400명을 선발하게 됩니다.

필자 같은 경우는 자기소개서에 어떻게 정보보안에 입문하게 되었고, 입문했을 때 공부를 한 과정, BoB에 들어가서 하고 싶은 프로젝트 주제, 수료 후 계획을 중점으로 작성하였습니다.

그리고 선택 제출로 수상 기록 1개, 국가 기술 자격증 1개, 추천서를 제출하였습니다.

2. 필기 or 실기 평가

9기는 서류평가에서 탈락하여 잘 모르겠으나 10기의 경우 실기평가, 11기는 필기 평가로 진행되었습니다.

제가 지원한 디지털 포렌식 트랙 기준으로 말씀드리자면,

10기의 경우에는 하나의 가상상황과 임무를 주고 디지털 포렌식을 진행하는 실기평가를 진행하였고,

11기는 정보보안산업기사 수준의 필기고사가 진행되었습니다.

필기 or 실기 평가는 거의 웬만하면 합격을 시키는 것 같았습니다. 서류 합격 인원 400명 중 90% 이상이 통과하였습니다.

3. 면접 평가

BoB의 면접 평가하면 압박 면접으로 유명합니다. 그러나 필자는 BoB 지원 당시 고등학생이라 살살 진행하였는지 모르겠지만,

다른 교육생들처럼 엄청난 압박 면접이 아닌 50%(?) 압박 면접으로 진행되었습니다.

면접 질문은 대외비 인지라 무엇을 물어봤는지는 말씀드릴 수 없지만,

10기 면접 탈락 때 느낀 바로 열심히 면접 준비 안 하면 먼지 하나 안 남게 탈탈 털립니다.

4. 최종 합격

그렇게 3번째 도전 만에 힘들게 BoB에 최종 합격하게 되었습니다.

3수 만에 합격!

최종 합격을 하면 상경하는 지방 교육생들을 위한 기숙사를 신청받습니다.

11기 기준으로 기숙사는 숭실대학교 기숙사를 대관하여 생활하였습니다.

기숙사는 무상으로 지원되지만 개인적으로는 비추천하고 싶습니다.

그 이유는 BoB 집중 교육 기간이 2개월 정도인데 기숙사 지원은 1개월 2주 정도라, 교육 도중에 남은 2주 동안 거주할 곳을 급하게 찾아야 하고,

거주할 곳을 찾았다 하더라도 교육 중에는 쉬는 날도 없어 수업이 끝난 오후 10시에 힘들게 이사를 해야 하기 때문입니다.

상경을 해야 하는 지방 교육생이라면 합격한 후 서울 자취방을 알아보시는 것을 추천해 드립니다.

TMI로 서울에서 방을 구할 때 가리봉동은 피하세요, 필자는 2주간 가리봉동 고시원에서 살았는데 무서운 중국인들이 너무나 많고 밤에 가로등도 없어서 여러모로 치안이 별로였습니다….

5. 공통 교육

BoB에 들어가면 우선 7월 한 달간 공통교육을 듣게 됩니다. 공통 교육과정에서는 정보보안에 관하여 견문을 늘릴 수 있는 수업과, 각 트랙별 입문 수업을 들었습니다.

공통교육 때 여러 교육생을 만나면서 인맥을 쌓고, 정보보안을 넓게 보는 시선을 기를 수 있어서 좋았습니다.

6. 중간고사

1달 동안 공통교육 때 배운 내용으로 토대로 중간고사를 응시하게 됩니다.

중간고사 점수는 시험 점수뿐만 아니라, 출석, 과제 점수 등을 종합하여 산출하게 됩니다.

산출된 점수가 높으면 높을수록 자신이 가고 싶은 트랙에 갈 확률이 높아지게 됩니다.

저는 그렇게 디지털 포렌식 트랙에 합격… 은 아니고 희망 2순위였던 보안 컨설팅 트랙으로 배정받게 되었습니다.

공통교육 때 몸살이 나서 4일 정도 수업을 못 듣게 된 게 트랙 배정 점수에 타격이 컸던 거 같습니다.

BoB에서 다들 체력 관리 잘하시길 바랍니다. 자신의 체력은 생각하지 않고 열정만 가지고 오버 페이스로 달리면 제대로 몸살이 나 필자처럼 공부를 하고 싶어도 할 수 없는 상황이 옵니다.

7. 트랙 집중 교육

트랙 집중 교육 때는 각자 지원한 트랙에 관한 교육을 매우 깊이 있게 듣게 되었습니다.

보안 컨설팅의 경우 보안 컨설턴트로서 쌓아야 할 역량, 보안 컨설팅 실무 실습(가상기업 컨설팅,기업분석) 등 어디에서 돈 주고도 하기 어려운 경험을 하게 되었습니다.

이 과정에서 PPT 제작 실력, 발표 실력 등 컨설팅과 관련된 능력들이 눈에 띄게 느는 것이 느껴져서 매우 좋았던 거 같습니다.

트랙 집중 교육이 시작되고 처음에는 디지털 포렌식이 아닌 보안 컨설팅에 가게 되어서 두려움이 가득했습니다.

그러나 수업이 진행 될수록 디지털 포렌식보다 보안 컨설팅이 더 재미있다고 느꼈고,

디지털 포렌식보다 적성에 잘 맞는 분야를 찾을 수 있어서 좋은 경험이었던 거 같습니다.

8. 기말고사

프로젝트를 진행하기 전 A그룹과 B그룹을 나누는 기말고사를 응시하게 됩니다.

시험 성적 1~100등까지는 A그룹, 101~200등까지는 B 그룹으로 나누어졌습니다.

A그룹은 바로 프로젝트를 진행하고, B그룹은 1달간의 추가 수업을 듣고 프로젝트를 진행하는 차이가 있었습니다.

필자의 경우는 B그룹이었습니다. 비전공자인 인문계 고등학생이 열심히 해도 열심히 하는 전공자를 이기기에는 역부족 이였던 거 같습니다.

1달 간의 추가 수업으로 기초를 다시 한번 튼튼하게 쌓을 수 있어서 좋았던 거 같습니다.

9. 프로젝트

BoB의 꽃이라 불리는 프로젝트는 트랙에 상관없이 5명의 교육생이 모여 하나의 주제를 정하고 3~4개월 동안 연구를 진행하는 과정입니다.

필자는 프로젝트에서 랜섬웨어(RaaS 중심)와 사이버 인텔리전스에 대해 연구를 진행하였습니다.

프로젝트를 진행하면서 뉴스 등으로 세상에 알려지기 전에 한발 빨리 사이버 위협을 파악하고 보고서를 작성하는 등 BoB가 아니라면 정말 하기 어려운 것들을 경험할 수 있어서 좋았습니다.

10. 수료 전 빈 시간

12월 말에 프로젝트가 끝나고 3월까지는 느슨한 스케줄로 BoB가 진행됩니다.

이때 그랑프리라고 프로젝트를 고도화하여 창업 준비, 후속 연구 등을 하시는 분들도 계시고,

자격증 공부를 하시는 분도 계시고, 개인적으로 이런저런 실험도 해보는 일종의 자유 연구 기간을 줍니다.

각자만의 필요한 역량을 쌓거나 휴식으로 재정비하면서 본인이 필요한 활동을 열심히 하시면 됩니다.

11. 수료식

수료식은 3월 30일 여의도 국민일보 사옥 홀에서 진행되었습니다.

수료식은 Best 10 수상, 그랑프리 우승팀 수상, 화이트 햇 수상 등 수상을 하고, 내빈분들의 특강, 축하공연을 본 후에 막을 내렸습니다.

12. 수료후기

수료식 기념품

고등학교 3학년 생활과 BoB를 같이 하면서 정말 과로로 죽을 만큼 힘들었지만, 그만큼 많은 것들을 얻어 갈 수 있어서 매우 좋은 경험이었던 거 같습니다.

서울에 갈 일이 없던 평범한 지방 고등학생이 서울에서 자취도 해보고, 이틀 연속으로 밤을 세면서 해킹 공부도 해보기도 하는 등 평범한 고등학생이었더라면 불가능했던 경험을 할 수 있어서 좋았습니다.

프로젝트 때 수능 공부와 프로젝트 연구를 병행할 수 있도록 배려를 해주신 두 멘토님과 PL님, 다른 교육생분들에게 이 이 자리를 빌려 감사의 인사를 올립니다.

BoB 11기 교육생분들 모두 수고하셨습니다!