X-Ways Forensics 보험 모드 활성화 방법 (+ 보험모드 창이 안뜨는 경우)

X-Ways Forensics를 연구실이 아닌 출장,대회(CTF) 등 여러 사유로 다른 곳에서 사용을 해야하는 경우가 있다.

위와 같은 상황에서 X-Ways 동글을 도난 당하거나 사고 등으로 파손되는 것을 대비하여 동글을 보험 모드로 변환 하는 법에 설명한다.

0. 보험모드란?

보험을 들지 않은 상태에서 동글을 분실하면 동글 재발급이 불가능하고 약 600만원이나 하는 X-Ways Forensics 라이센스가 사라진다.

만약 보험모드를 활성화 한 상태에서 동글을 분실하면 면책금 약 200유로와 동글값, FeDEX 배달료만 지불하면 라이센스 증발 없이 동글을 새롭게 받을 수 있다.

동글을 보험 모드로 전환하면 제한된 회수(최대 40회)만큼만 프로그램을 실행 할 수 있게 바뀐다. 정해진 회수를 모두 사용 할 경우 더이상 실행이 되지 않으며, 인터넷이 연결된 X-Ways Forensics 환경에서 실행 가능한 회수를 충전 할 수 있다.

1.보험모드 활성화 방법

상단 메뉴바에서 Help -> Dongle 를 눌러 동글 탭으로 들어간다.

사진 1 : 정상적인 동글 창

보험모드를 활성화 한 적이 없으면 Normal, unlimited use (no insured)에 체크되어 있을 것이다.

바로 아랫줄에 있는 Protected, Limited use (insured)를 체크하면 이메일 주소를 입력하라는 창이 뜬다. 이 곳에 작성한 이메일 주소는 추후 보험모드를 해제하거나 분실 신고시 사용자 인증을 하는 이메일 주소로 사용되니 반드시 2번이상 확인하고 이메일 주소를 작성하자.

이메일 주소를 적고 안내사항을 읽으면서 Next를 누르면 보험모드가 활성화 된다.

실행 가능한 회수가 모두 소진 되었을 경우 Top up 버튼을 누르면 다시 충전이 된다.

TIP) 보험모드와 비 보험 모드를 자주 바꿀 경우(총 3~5회 이상), 더 이상 보험모드를 활성화 하지 못하는 불이익이 있을 수 있다. 한번 보험 모드를 활성화 했으면 특별한 상황이 아니면 비 보험 모드로 변경하지말고 쭉 보험모드로 사용하는 것을 권장한다.

2.보험 모드가 안 뜰 경우

사진 2 : 보험 메뉴가 안뜨는 동글 창

보험 모드를 활성화 하기 위해서는 아래 3가지 조건을 모두 만족해야한다.

1. 라이센스가 영구 버전이여야함

2. X-Ways Forensics 동글이여야 함(imager,investigator 동글은 보험 불가)

3. 유료 업데이트 기간이 남아 있어야 함

위 3가지 조건 중 하나라도 만족하지 않으면 사진2처럼 보험모드와 관련된 메뉴가 뜨지 않는다.

+TIP) X-Ways Forensics을 구매할때 동글이 배송오기전 사용을 위해서 BYOD 인증서를 추가로 구매 한 경우에는 위 3가지 조건이 모두 만족하더라도 보험모드 메뉴가 뜨지 않는다.
BYOD 인증서가 만료될 때까지 기다린 다음에 X-Ways 고객센터에 문의하면 새로운 인증코드를 받을 수 있다.
새로운 인증코드를 Activation code from X-Ways: 칸에 넣은 뒤 X-Ways를 재실행하면 사진1 처럼 보험모드 메뉴가 새롭게 생긴다.

FTK Imager와 X-Ways Imager 이미징 속도 비교

X-Ways Imager는 다른 이미징 도구와 다르게 용량도 절반정도로 작고, GUI도 매우 간결하게 되어있어 이미지 생성 속도가 빠를 것 같다는 느낌이 든다.

이번 글에서는 느낌만 그런지 아니면 진짜로 빠른건지 무료 도구인 FTK Imager와 유료 도구인 X-Ways Imager의 이미징 속도와 파일 크기를 측정하여 성능을 비교해보려고 한다.

실험 환경
USB Sandisk Cruzer Blade 32GB
내용물 : 개인문서, 사진, 서버 백업 (약 24GB 사용 중)

비교방법

비교 1.각 이미징 도구에서 최대 압축률(최저속도)로 설정 후 각각 1회씩 이미징 진행
비교 2.각 이미징 도구에서 최저 압축률(최고속도)로 설정 후 각각 1회씩 이미징 진행
비교 3.각 이미징 도구에서 중간 압축률(보통모드)로 설정 후 각각 1회씩 이미징 진행

비교결과

비교 1. 각 이미징 도구에서 최대 압축률(최저속도)로 설정 후 각각 1회씩 이미징 진행

사진 1,2 : 왼쪽 X-ways Imager 오른쪽 FTK Imager

X-Ways Imager 24,452,997,270 바이트, 소유시간 41분 46초

FTK Imager : 용량 24,442,403,209 바이트, 소요시간 43분 40초

비교 2.각 이미징 도구에서 최저 압축률(최고속도)로 설정 후 각각 1회씩 이미징 진행

사진 3,4 : 왼쪽 X-ways Imager 오른쪽 FTK Imager

X-Ways Imager : 31,414,629,239 바이트, 소유시간 41분 40초

FTK Imager : 용량 31,406,831,385 바이트, 소요시간 50분 30초

비교 3.각 이미징 도구에서 중간 압축률(보통모드)로 설정 후 각각 1회씩 이미징 진행

사진 5,6 : 왼쪽 X-ways Imager 오른쪽 FTK Imager

X-Ways Imager : 31,414,629,239 바이트, 소유시간 46분 30초

FTK Imager : 용량 31,406,831,385 바이트, 소요시간 54분 02초

결론 및 개인적인 생각

최대,중간,최소 3가지 압축률로 디스크 이미지를 생산할 때 모두 X-Ways Imager 2분에서 8분 가량 빠른 속도를 보여주었고, X-Ways Imager,FTK Imager 두 프로그램 모두 용량은 크게 차이가 나지 않았다.

수많은 디스크를 분 초를 다투며 이미징을 해야하는 상황이 자주 있는 실무진이라면 X-Ways Imager 구매를 추천하고 단순히 디지털 포렌식을 공부하고자 학생이면 FTK Imager만으로도 충분 할 것 같다.

X-ways Forensics 구매 및 과정

1.구매 계기 및 사전 조사

군 입대전에 군 월급을 저축해서 전역 후에 집에 디지털 포렌식 연구소를 직접 만들어보자는 목표가 있었다.

전역이 서너달 남았을때 부터 집에서 사용할 여러 상용 포렌식 소프트웨어와 하드웨어 장비들을 알아보았고, 하드웨어 장비가 가격이 수천~억 단위의 금액이였기에 통합 디지털 포렌식 소프트웨어를 구매하기로 마음을 먹었다.

통합 디지털 포렌식 소프트웨어를 구매하기 위해 유명한 기업들을 상품(FTK, Encase, AXIOM,X-Ways 등등)에 대해 조사를 진행해보았지만 , 상용 포렌식 소프트웨어의 대부분이 가격이 공개 되어있지 않거나 개인에게는 판매를 하지 않았다.

2025년 05월 기준 국립수사기관이나 포렌식 회사가 아닌 일반 개인이 가격(견적)을 확인 할 수 있는 제품은 FTK, X-Ways Forensics 2개 였다.

FTK의 경우는 영구라이센스가 없었으며 1년 사용계약에 한화 625만원 이였다.
X-Ways Forensics의 경우는 $ 3870(약 530만원)에 영구사용 라이센스를 판매하고 있었다.

포렌식 소프트웨어를 1년 사용하는데 625만원을 태울 엄두는 안나서 필자는 두고두고 쓸수 있는X-Ways Forensics를 구매하기로 결정하였다.

2.구매 과정

X-Ways Forensics는 공식 홈페이지(https://www.x-ways.net/order.html)에서 구매가 가능하다.

구매 전 반드시 페이지 하단에 있는 prices in EUR 이나 prices in USD를 선택하고 구매를 해야한다. 만약 선택을 하지 않고 구매를 하면 1달러에 1500원 정도의 높은 환율이 적용된 비싼 원화로 결제를 하게 된다.

필자의 경우는 군입대 중 1달러씩 차곡차곡 모아둔 외화 통장이 있어 prices in USD를 선택하였다.

구매 페이지에서 구매 수량을 입력 후 하단 continue 버튼을 누르면 배달 옵션에 관한 설명이 나온다.

일반 우편으로 동글을 배송 받을지 아니면 80달러를 더 납부하고 Fedex로 배달 받을지 선택을 할 수 있다. 일반 우편의 경우 배송 추적이 되지 않고, 배송 기간이 6주 내외로 오래 걸리고, 배송 도중 분실 가능성이 있어 필자는 80달러를 더 납부하고 Fedex로 배달 받기를 선택하였다. 그리고 배송 오는동안 동글없이 임시 인증서 파일로 X-Ways를 미리 사용해볼 수 있는 옵션도 있다. Fedex로 배달받으면 1주일 안으로는 동글을 수령할 수 있으니 구매를 추천하지 않는다. (하지만 필자는 호기심을 참지 못하고 임시인증서를 샀다)

배송 옵션을 선택하고 배송 받을 주소와 카드 번호를 입력하면 구매 완료된다.
가끔 바로 완료 되지는 않고 틈새영업을 하는 경우가 있다. X-Ways imager 같은 다른 프로그램을 같이 구매하면 배송비를 아낄수 있다며 영업을 한다.

X-Ways Forensics를 구매하면 X-Ways Forensics 소프트웨어 안에서 X-Ways imager, Winhex 프로그램의 모든 기능을 사용 할 수 있으니 굳이 구매를 하지 않아도 된다.

하지만 필자는 밖에서 포렌식 할일이 있으면 X-ways imager로 이미징 하고 집에서만 X-Ways Forensics을 사용할 용도로 X-Ways imager를 $ 215(약 30만원)에 추가 구매하였다.

(따라서 구매할 사람들을 위한 주의사항! : X-Ways imager는 FTK imager와 달리 디스크 브라우저나 열람 기능도 없다! 진짜 딱 이미지 파일 생성기능만 있으니 구매 전 두번 세번 고민 해볼 것! 가격 대비 만족도가 떨어지는 제품이다! 참고링크 :https://yui.koreahacker.co.kr/infosec/digital-forensics/279/ )

사진 1 : 영수증

X-Ways Forensics, X-ways Imager , Fedex 배송, 임시인증서까지 총 $4261.4(구매 당시 5,940,391원)으로 구매하였다.

3.동글 수령

2025년 05월 21일 결제하고 2025년 05월 26일에 수령하였다. 독일에서 대한민국 울산까지 5일만 배송이 되었다. 주말이 없었으면 더 빨리 수령가능 할 것으로 보인다.

사진 2 : 동글

imager와 Forensics 동글이 똑같이 생겨 구별이 어려우므로 열쇠고리로 표시를 해두는 것을 권장한다.

필자는 클로버만 있는 동글은 imager, 위치추적기와 캐릭터(우마무스메,하루 우라라)가 달린 동글은 Forensics로 구별 했다.

4. 동글 활성화 및 실행

동글을 수령했다고 바로 프로그램을 쓸 수 있는 것은 아니다.
imager, Forensics 둘 다 최초 실행하면 동글 고유번호 팝업이 뜨며 동글을 등록하라고 뜬다.
팝업에 적혀있는 이메일로 동글 고유번호를 전송하면 활성화 코드를 받을 수 있다. (답장 오는데 오래 걸리니 안온다고 걱정하지 말자, 활성화 코드 받는데 이틀정도 걸렸다)

활성화 코드를 입력하면 정상적으로 X-Ways를 이용할 수 있다!
앞으로 X-Ways 와 관련된 글을 자주 투고할 예정이다

사진 3 : 내가 누구? X-Ways Forensics 오우너!

PNG 파일 구조 정리

PNG(Portable Network Graphics)란?

비손실 그래픽 파일 포맷, GIF 파일에서 사용되는 L2W 데이터 압축 알고리즘이 특허가 걸려 자유롭게 사용이 불가능해지자 유니시스(미국IT기업)가 자유롭게 쓸 수 있는 PNG 포맷을 개발하였다.

파일 헤더(시그니처)

89 50 4E 47 0D 0A 1A 0A

통신 등 8비트 데이터를 지원하지 않는 시스템을 찾거나, 텍스트 파일과 구별하기 위해 사용

ASCII 코드로 “PNG”, 16진수 편집기에서 구별하기 위해 사용

DOS에서 TYPE 명령을 사용하였을때 출력을 멈추기 위해 사용 (EOF문자)

Unix-style 줄바꿈으로. UniX-DOS 변환에서 줄바꿈시에 사용

PNG 파일 청크

헤더 뒤에는 이미지 내용을 담고 있는 청크가 온다. 청크는 아래와 같이 길이, 청크타입(이름),청크데이터,CRC 4가지로 구성된다.

사진 1 : PNG 파일 청크 구조

청크타입(이름)이 대문자로 시작하면 중요 청크, 소문자로 시작하면 보조청크다.

중요 청크 : IHDR, IDAT, PLET, IEND

보조 청크 : tRNS, CHRM, gAMA, iCCP, sBIt, sRGB,iEXT ··· 등 수십개

IHDR

PNG파일 가장 앞에 오는 청크, PNG파일의 기본 정보를 저장한다.

사진 2: IHDR 구조

IHDR 청크 데이터 내용

IHDR 청크 데이터는 항상 13바이트이며 아래와 같은 내용을 가지고 있다.

width(가로, 4byte), height(세로, 4byte), Bit depth(한 픽셀이 차지하는 비트 양, 1byte),
Color Type(색의 유형, 1byte)*, Compression method(압축방법, 1byte),
Filter method(필터링 방식,1byte), interlace method(인터레이스 이용유무,1byte)**

*

사진 3: 색의 유형

** 인터레이스 메소드란 웹페이지 등 이미지를 표시할 때 이미지 로딩이 완료되기전 해상도가 낮은 이미지를 보여주기 위해 사용됨, (0 인터레이스 미사용, 1 Adam7 인터레이스 사용)

IDAT

실제 이미지 데이터가 들어가는 부분, 여러개의 IDAT가 존재할 수도 있으며 IDAT가 여러개인 경우 모든 IDAT가 다 있어야 정상 출력이 가능하다

사진 4 : IDAT 구조

IDAT 청크 데이터 내용

IDAT 이미지 데이터 블럭 , 마지막 블럭 유무 (1byte) , Little-endian 블럭 크기 (2byte),
PNG 이미지데이터(크기 가변), 필터 (1byte), IDAT 이미지 데이터 블럭

PLET

IHDR에서 color type이 indexed color일 경우 필요한 청크, 팔레트 범위를 지정해주는 청크다.

사진 5 : PLET 구조

PLET 청크 데이터 내용

0번 팔레트 RGB 값 {Red(1byte),Green(1byte),Blue(1byte)}
1번 팔레트 RGB 값 {Red(1byte),Green(1byte),Blue(1byte)}
2번 팔레트 RGB 값 {Red(1byte),Green(1byte),Blue(1byte)}
··· 반복

+ {}안에 들어가는 값 (0=Black, 255=Red), (0=Black, 255=Green), (0=Black, 255=Blue)

0이면 검정 255에 가까울수록 각 원래의 색(R,G,B)가 나온다

IEND

이미지 파일의 끝을 표시하는 청크

사진 6 : IEND 구조

단순히 파일의 끝을 알리는 청크이기 때문에 청크데이터가 없으며, 항상 0바이트이다.


보조 청크 한줄 설명(자세한 설명을 보고 싶으면 www.w3.org/TR/png 으로…)

tRNS : IHDR에서 색의 유형이 indextype 일 경우 사용되는 청크, 투명색을 지정한다

cHRM : 빨간색의 CIE 1931 x,y 색도 공간을 지정하는데 사용 (CIE 1931 위키백과 링크)

gAMA : 감마 값을 지정

iCCP : 해당 청크가 있을경우 ICC/ISO_150761-1에서 정의한 ICC 색범위를 사용

sbit : 원래의 유효 비트 수를 정의한다

sRGB : 해당 청크가 있을 경우 SRGB 색범위를 사용

cICP : 사진 디코더가 이미지를 랜더링 할때 필요한 함수를 저장하는 청크

mDCV : 사진을 랜더링(출력)할때 디스플레이에서 필요한 메타데이터를 저장

cLLi : 특정 디스플레이에서 톤 매핑을 위해 사용하는 청크

tEXt: 텍스트 데이터를 저장하는 청크

zTXT : tEXt 청크와 기능은 동일하나 텍스트를 압축할때 사용하는 청크

iTxt : 국제 텍스트 데이터 (UTF-8)을 사용하는 텍스트를 저장할때 사용

bKGD : 이미지를 표시 할 때 기본 배경색을 지정하는 청크

hIST : 팔레트에 있는 각 색상의 대략적인 사용빈도를 알려주는 청크

pHYs : 이미지 표시를 위해 의도적으로 지정한 픽셀 크기 또는 비율을 저장하는 청크

sPLT : 사진 출력을 위해 디코더에게 팔레트 관련으로 제한하는 청크 (제한이라 무시될 수도 있음)

eXIF : 카메라가 촬영하는 시간, 위치 등 메타데이터를 저장하는 청크

tIME : 이미지 최종 수정 시간을 기록하는 청크

애니메이션(움직이는) PNG 관련 청크

acTL : 해당 이미지가 애니메이션(움직이는) 사진임을 선언하는 청크

fcTL : 프레임에 관한 메타데이터 청크

fdat : 각 프레임의 실제 데이터가 들어가 있는 청크


참고 문서

https://mineeeee.tistory.com/m/entry/PNG-파일구조
https://yooniia.tistory.com/m/48
https://bgm2020.tistory.com/5
https://ko.m.wikipedia.org/wiki/PNG
https://m.blog.naver.com/PostView.naver?blogId=gnsehfvlr&logNo=220733132744&proxyReferer=&noTrackingCode=true
https://www.w3.org/TR/PNG-Chunks.html

[HackThisSite.org] Realistic 2번 풀이 (Chicago American Nazi Party)

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

인종차별주의자를 모집하는 어떠한 사이트를 크래킹하면 플래그가 나오는 문제로 보인다.

사진 2 : 문제 사이트 접속

문제에 있는 주소로 들어가면 하켄크로이츠 로고가 있는 사이트가 나온다.

F12 개발자 도구를 열어 소스코드를 살펴보던 중 검은색 글씨로 숨겨진 링크를 발견하였다.

사진 3: 숨겨진 링크

숨겨진 링크로 들어가보니 아래 사진과 같은 관리자 페이지 로그인 창이 나왔다.

사진 4 : 관리자 로그인 창

admin / admin , root/root 등 취약한 아이디와 비밀번호로 로그인을 시도했지만 계속 실패하였다.

그래서 sql 인젝션으로 풀어야하는 문제로 추정되어서 1′ or ‘1’=’1을 아이디와 비밀번호 칸에 입력하고 제출버튼을 누르니 문제가 클리어 되었다!

사진 5 : 클리어!

[HackThisSite.org] Realistic 1번 풀이 (Uncle Arnold’s Local Band Review)

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

문제를 살펴보면 본인의 밴드가 리뷰사이트에서 상위권으로 올라가도록 도와달라는 내용인 것 같다.

사진 2 : 문제 사이트

문제사이트를 살펴보니 밴드명과 설명이 적혀있고 1~5점사이로 밴드에 대한 평가를 남길 수 있는 기능이 있었다.

순위조작을 의뢰 받은 밴드명은 리스트에서 가장 아래에 위치하고 있었다.

F12 개발자도구로 점수 체출 부분의 소스코드를 보았는데 값을 점수를 5점보다 매우 크게 조작하면 순위가 한번에 뒤집힐 것 처럼 보였다.

사진 3 : 점수 소스코드

위 사진에서 표시된 부분을 9999999999999으로 수정 후 제출을 시도하니 문제가 클리어 되었다.

사진 4 : 문제 클리어!

[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!!가 플래그였다.