6) 키워드 검색 / Base64 Decode
Last updated
Last updated
Autopsy에서 키워드를 미리 입력하여 검색하는 방법과 색인을 통해 보다 쉽게 검색이 가능하도록 하는 기능이 있습니다.
이를 활용하여 실제 시험에서 어느정도 파일 구조와 시나리오 등이 익숙해졌을 때 필요한 검색 기능을 활용하는 것을 추천합니다. 다만 검색의 경우 상당히 오랜 시간이 소요되기 때문에 감안하고 활용해야 합니다.
파일명, 확장자와 같이 테이블에서 확인되는 속성들을 검색하여 봅시다. Tools - File Search by Attributes 를 선택 한 뒤에 Name(파일명)을 선택 한 뒤 검색할 수 있습니다.
최근에는 출제되지 않고 있으나, 해시값을 이용한 검색을 하는 법을 알고 있어야 합니다. 먼저 전체 파일에 대한 해시값 계산을 먼저 해야 합니다. Tools - Run Ingest Modules 에서 대상 이미지를 선택 합니다. 이후 Hash Lookup 에서 Calculate MD5 even if no hash set is selected 체크 후 Finish 합니다.
해시값 계산이 끝나면 전체 파일에 대해 해시값을 확인할 수 있습니다.
만약 MD5 Hash, SHA-2586이 보이지 않을 경우 CASE를 종료 했다가 새로 열어봅시다.
Tools - File Search by Attributes 에서 MD5, SHA-256 해시값을 선택 한 뒤 검색하여 파일을 검색이 가능합니다.
Tools - Run Ingest Modules 에서 분석 대상 이미지를 선택해 봅시다. 이 후 [Keyword Search] 에서 [Global Settings]를 선택합니다.
이 후 [New List] 선택 후 키워드 리스트 명을 입력 한 뒤 키워드 리스트 선택 후 우측의 [New Keywords]를 클릭하여 검색하고자 하는 키워드를 입력합니다. - Exact Match : 특정 단어를 정확히 찾을 때 유용하며, 검색 속도가 빠릅니다. - Substring Match : 특정 키워드가 포함된 다양한 변형된 단어를 찾는 데 적합합니다. - Regular Expression : 복잡한 패턴을 찾거나 다양한 변형을 한 번에 검색할 때 강력한 도구. 정규 표현식을 잘 이해하고 사용해야 정확한 결과를 얻을 수 있습니다.
String Extraction 에서 Hangul (Korean) 선택합니다.
Finish 를 선택 하여 검색을 시작합니다.
검색이 완료되면 아래와 같이 Anaysis Results 에서 검색 결과를 확인할 수 있습니다.
색인 검색(Index Search)은 디지털 포렌식 분석 시 대량의 데이터를 신속하게 검색하기 위해 사용되는 중요한 기능입니다. 색인 검색은 키워드 검색과 관련이 있으며, 색인(Index)을 사전에 생성해 놓고 이 색인을 기반으로 검색 작업을 수행하는 방식입니다. 이를 통해 대량의 데이터에서도 빠르고 효율적인 검색이 가능합니다. 실제 시험에서는 정말 필요한 분석을 빠르게 마무리 하고 바로 색인 검색해두는 것을 추천합니다.
[Keyword Search] 에서 [Add text to Solr Index]를 체크 후 [Fnish] 합니다. 전체 파일을 대상으로 색인을 설정하기 때문에 상당한 시간이 소요될 수 있습니다.
색인 검색 설정이 완료 되면 아래와 같이 [Keyword Search] 에 하단에 Files Indexed: 숫자가 표시됩니다.
[Keyword Search]에서 검색하고 싶은 것을 입력 후 Search 할 경우 빠른 시간 내에 바로 검색 결과를 확인할 수 있습니다. SQlite 안에 있는 데이터 구조에서도 검색이 가능합니다.
Base64는 주로 텍스트 기반 시스템(예: 이메일, URL, JSON)에서 이진 데이터를 안전하게 전송하거나 저장하기 위해 사용됩니다. 빈도가 많은 것은 아니지만 기출 문제 중에서 Base 64로 인코딩 되어 있는 것을 해석해야 하는 문제도 출제된 적이 있어 살펴보도록 하겠습니다.
아쉽게도 시험에서 제공하는 툴이나, Autopsy에서 Base64로 되어 있는 부분을 디코딩 해주는 기능은 없습니다. (Encase에서는 제공합니다) 다만 윈도우의 기능을 이용하여 분석해 볼 수 있습니다. Base64는 주로 텍스트 기반 시스템(예: 이메일, URL, JSON)에서 이진 데이터를 안전하게 전송하거나 저장하기 위해 사용됩니다.
먼저 Base64 텍스트가 저장된 파일을 추출 해보도록 하겠습니다.
해당 파일을 추출하면 아래와 같이 한눈에는 보기 어려운 문자의 나열이 있습니다. base64의 특징으로 맨 뒤에 "=="이 추가됩니다. 해당 파일이 있는 폴더에서 Shift + 우클릭을 한 뒤 [여기에 PowerShell 창 열기] 를 선택합니다.
이 후 아래 명령어를 입력하여 base64를 해석한 파일을 만들 수 있습니다.
> certutil -decode "base64 파일" "원하는 파일명"
> certutil -decode text.txt 디코딩.txt
생성된 파일을 열어보면 base64가 해석되어 있습니다.
실제 시험에서는 아래와 같이 JPG의 끝(FF D9) 뒤에 Base64로 데이터를 숨겨서 특정 값을 저장하는 경우가 있었습니다.
먼저 이 값을 메모장에 복사 후 저장한 다음 위의 명령어로 동일하게 디코딩을 해보도록 하겠습니다. 해당 파일을 Launch in HxD로 열어보거나, 파일을 추출 한 뒤 HxD를 이용해서 파일을 연 뒤 가장 마지막에 FF D9 뒷 부분을 복사합니다.
파일 생성 후 복사한 부분을 입력하여 저장합니다.
동일한 방법으로 저장한 폴더에서 [Shift + 우클릭] 후 Powershell 로 실행한 뒤 명령어를 이용하여 Base 64를 디코딩 하면 내용 확인이 가능합니다.
> certutil -decode 이미지.txt 이미지_디코딩.txt
base64 인코딩 방식의 경우 인터넷에서 많이 사용하는 방식이며, 이를 디코딩 하여야 하는 문제가 출제되었습니다. 다만 Encase와 같은 상용 도구가 아닌 시험에서 제공하는 무료도구에서는 base64를 디코딩 하는 방법이 없어서 윈도우 certutil 기능을 활용해야 합니다.