IT/자격증 관련

디지털포렌식전문가 2급 실기 연습 문제 - 2022 DFC 101 - Where is his money - write up

DFRG m 2023. 10. 16. 13:27

디지털포렌식전문가 2급 실기를 대비하여 많은 문제를 풀어보면 좋은데 아래의 문제는 가상자산 관련문제로 해당 문제가 실기 기출문제로는 나오기가 어려우나, 찾아가는 과정은 디지털포렌식전문가 2급 실기에 대비하기 좋아 분석하여 업로드한다.

 

대비하기 좋은 문제로 선정한 이유는 지갑 파일의 시그니처를 분석하고 인지한 상태에서 쉘백에 로그를 찾아 안티포렌식으로 숨겨놓은 파일을 시그니처 분석으로 특정할 수 있는 문제였기때문이다.

 

전체적인 문제풀이 방식은 피의자가 사용하는 동일한 프로그램을 설치하고 지갑주소를 생생하여 생성되는 파일과 문제 이미지에 있는 프로그램 설치폴더를 비교하고 없는 파일이 무엇인지 분석하야 접근하였고, 없는 파일에 대해 안티포렌식으로 숨겨놓은것으로 판단하여 쉘백 로그를 분석하여 숨겨 놓은 경로를 특정하여 쉽게 풀 수 있었다.

 

 

문제는 아래와 같다.

 

 

 

질문
# 모든 문제는 UTC+9 시간대를 기준으로 해결해주세요.
1) 컴퓨터에 설치된 암호화폐 지갑 프로그램의 이름은 무엇입니까? (20점)
2) 숨겨진 암호화폐 지갑 파일의 전체 경로는 무엇인가요? (40점)
3) 지갑 주소는 무엇인가요? (40점)
팀은 다음을 수행해야 합니다.
- 다른 심사관이 팀의 조치와 ​​결과를 재현할 수 있도록 이 문제를 해결하는 데 사용되는 단계별 접근 방식을 개발하고 문서화합니다.
- 결론을 도출하는 데 사용된 모든 도구를 지정합니다.

 

1.   컴퓨터에 설치된 암호화폐 지갑 프로그램의 이름은 무엇입니까? (20점)

정답 : Bitcoin Core

 

 해당 이미지의 사용자 “Daddy” download 폴더에서 “bitcoin-22.0-win64-setup.exe” 확인되었다. 해당 프로그램은 bitcoin.org에서 제공하는 공식 프로그램 Bitcoin Core이며 해당 설치파일을 테스트 PC에서 설치하여 분석하였다

테스트PC C:\Users\Yoon\AppData\Roaming\Bitcoin 파일 폴더

 

 문제 파일의 [NTFS]\[root]\Etc\Daddy 폴더 파일

 

테스트PC 해당 프로그램을 설치후 해당이미지[NTFS]\[root]\Etc\Daddy 폴더 비교결과 폴더 파일 형식이 같은 것이 확인되어서 해당 프로그램을 설치한 것으로 특정하였다.

   테스트PC C:\Users\Yoon\AppData\Roaming\Bitcoin 폴더 debug.log 로그 일부

테스트 PC에서 해당 프로그램 실행하여 지갑생성하기 버튼을 눌러 지갑을 생성하였고, 지갑주소도 생성되는 것이 확인되었다. 지갑 생성 지갑주소 생성 확인 지갑을 생성한 시간대의 debug.log 로그 분석 결과, 지갑을 생성 하였을 wallet.dat 파일이 생성되는 것이 확인되어 해당 파일이 지갑 생성시 만들어지는 지갑 파일로 확인하였다.

문제 파일의 [NTFS]\[root]\Etc\Daddy 폴더 파일 debug.log

문제 해당 폴더의 debug.log 파일 분석 결과 테스트PC에서 확인된 동일한 로그가 확인되어 Bitcoin Core 프로그램을 사용한 것이라는 뒷받침 있는 특정 근거를 찾았으며, 테스트 PC에서 확인한 지갑파일 wallet.dat 파일이 C:\Etc\Daddy\Mine\wallet.dat 경로에 생성된 것을 확인 있었다.

 

 

 

2.   숨겨진 암호화폐 지갑 파일의 전체 경로는 무엇인가요? (40점)

정답 : [NTFS]\[root]\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\SystemCertificates\My\AppContainerUserCertRead.sys

 

 

1 분석에서 분석한 내용과 같이 문제 피의자가 지갑주소를 생성하였을 C:\Etc\Daddy\Mine\wallet.dat 경로에서 지갑파일이 생성된 것이 확인되어 해당 경로를 분석하였지만 아래 그림과 같이 wallet.dat 지갑파일은 확인되지 않았다.

 

 

 

테스트PC C:\Users\Yoon\AppData\Roaming\Bitcoin 폴더 개인지갑(yoon test) 폴더 파일

 

문제 파일의 [NTFS]\[root]\Etc\Daddy 폴더 개인지갑(Mine) 폴더 파일(wallet.dat 파일 없음)

 

테스트 PC 개인지갑 폴더와 문제파일의 개인지갑 파일 폴더를 비교 분석 하였을 , 동일한 db.log 파일과 .walletlock 파일은 확인되었지만 문제 파일의 개인지갑 폴더에는 wallet.dat 파일은 확인되지 않았다. 분석에서 확인한 것처럼 debug.log에서는 C:\Etc\Daddy\Mine\wallet.dat 경로에 지갑파일(wallect.dat) 생성한 것으로 확인되었기 때문에 해당 파일을 은닉한 것으로 판단하였다.

 

파일을 은닉하는 방법은 크게 가지가 있는데 USB 해당 파일을 백업하는 방법과 해당 컴퓨터에 안티포렌식을 적용하여 은닉하는 방법이 있다. 은닉 방법을 분석하기에 위해 지갑파일의 HEX값과 윈도우 아티팩트 분석을 하였고 아래와 같이 특이 사항이 발견되었다.

 

테스트PC에서 생성한 지갑주소의 HEX

테스트 PC에서 Bitcoin core 설치하여 지갑을 생성하여 만들어진 wallet.dat 파일에 대해서 hex 분석 결과 “b1” 이라는 특정 값이 확인되었다. 추가로 지갑주소를 생성결과 wallet.dat 파일은 b1이라는 고유 값을 가지고 있다는 것을 확인하였고, 피의자가 만약 파일 이름과 확장자를 변경하여 숨겨놓아도 해당 HEX 특정 값으로 확인 있다고 판단하였다.

 

이후에 분석 대상의 윈도우 아티팩트를 확인하던 Shellbag 확인하였는데, 여기서 문제 풀이의 핵심 단서를 발견하게 되었다.

 

문제 이미지의 shellbag 아티팩트 분석 결과

Shellbag이란 User Registry Hive 파일 usrClass.dat 레지스트리 형태로 존재하는 윈도우 디렉터리 열람관련 아티팩트이다. usrClass.dat 하이브의  <사용자 SID>_Classes\Local Settings\Software\Microsoft\Windows\Shell 아래에서 사용자가 로컬, 네트워크 이동식 저장장치에서 접근한 폴더 정보가 기록되며 최초로 폴더를 열람시에 생성이 된다. 또한 폴더의 생성, 복사, 압축 프로그램에 의해서 실행되었을 경우에도 생성된다.

 

파일을 은닉하였다면 특정 폴더로 들어가서 해당 폴더에 파일을 복사해서 은닉 것이라 판단되어 debug.log에서 확인된 지갑생성 날짜 2022. 5. 20.경에 Shellbags 분석결과 아래의 경로의 폴더로 접근이 확인된다.

 

 

My Computer:C:\Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\SystemCertificates\My\

경로 폴더의 파일 상세 분석 결과 아래와 같이 파일 hex값에서 “b1” 확인되는 파일이 확인되었다.

 

 해당경로 AppContainerUserCertRead.sys hex 확인

 

“AppContainerUserCertRead.sys” 파일에서 테스트 pc에서 bitcoin core 프로그램을 통해 여러 지갑을 생성하여 확인 wallet.dat 파일의 hex 고유값 “b1” 확인되어 해당 파일이 은닉한 파일이라고 특정하였다.

 

은닉한 지갑파일인지 검증하기 위해  “AppContainerUserCertRead.sys”   이름 확장자를 지갑파일의 원래 이름인 wallet.dat으로 변경 테스트PC

Bitcoin core 데이터 폴더로 기존 [NTFS]\[root]\Etc\Daddy경로에 있느 “Mine”폴더를 이동시키고 폴더안에 위에서 이름 확장자를 변경한 wallet.dat 파일을 이동하였다.

 

테스트PC bitcoin core 데이터 폴더에 이동시킨 피의자의 지갑폴더

bitcoin core 실행하여 확인한 피의자 Mine 지갑 주소 정보

 

 

위와 같이 “AppContainerUserCertRead.sys” 파일을 wallet.dat 파일로 변경 지갑폴더로 이동후 bitcoin core 실행하여 해당 지갑파일(Mine) 였얼 지갑정보와 지갑주소가 확인되었다. 그리하여 지갑 파일이 숨겨진 경로는 “AppContainerUserCertRead.sys” 파일의 경로Windows\System32\config\systemprofile\AppData\Roaming\Microsoft\SystemCertificates\My\AppContainerUserCertRead.sys 경로로 특정하였다.

 

 

3. 지갑 주소는 무엇인가요? (40점)

정답 : bc1qf3lta6zr9k4kt9q25sz47vdcnn73zyzk0m5gvz

 

위의 2 방법으로 분석하여 찾은 지갑파일을 bitcoin core 실행하여 해당 지갑에 대한 정보 지갑주소를 확인하여 피의자의 지갑주소를 특정하였다.

 

 

 

거래 메뉴에서도 받는 주소: bc1qf3lta6zr9k4kt9q25sz47vdcnn73zyzk0m5gvz (자신의 주소, 라벨: InitBalance)” 를 통해 해당 지갑주소가 피의자의 지갑주소라는 것을 명확하게 확인이 가능하다.

 

※ 수사진행 방향 제시

- 위 거래내역을 참고하여 지갑주소 거래내역 추적 및 분석하였다.

- 피의자의 지갑주소(bc1qf3lta6zr9k4kt9q25sz47vdcnn73zyzk0m5gvz) 2022. 5. 22. 16:09보낸주소:알수없음에서 +0.00344367 BTC가 입금이 되었다.

- 직후 지갑주소(bc1qmdnr0are20k32yaujfx7mftcuxl30d2s064u33)2022. 5. 22. 21:14. 21:14경 총거래액 -0.00344367 BTC, 수수료 -0.00001749 BTC, 출금액 -0.00342618 BTC 이 확인되었다.

- www.blockchain.com를 이용하여 아래와 같이 거래를 분석하였다.

 

 

- 위의 Transactions(거래)을 분석을 하였을 때 출금 거래 흐름도는 아래와 같다.

bc1qsu27xgy052stnwywawxcx38u65y78x8k5cr9g0(직전 지갑주소) ->

bc1qf3lta6zr9k4kt9q25sz47vdcnn73zyzk0m5gvz(피의자 지갑주소) ->

bc1qmdnr0are20k32yaujfx7mftcuxl30d2s064u33(직후 지갑주소) -> 다수이체

- 위의 흐름도와 같이 피의자의 비트코인 거래내역이 확인되었으며 직전 지갑주소 및 직후 지갑주소에 대해 블록체인 사이트를 통한 지갑 거래내역 조회 결과 다수의 지갑주소로 출금이 확인된다.

 

 

반응형