침해사고 분석 방법(윈도우, 안드로이드)

Hunjison·2021년 9월 8일
0

Digital Forensics

목록 보기
5/17

(계속 추가중)

How To Analyze

1. Windows

  • 이미지 분석, 마운트
    • FTK Imager 사용 → 파일 추출하여 호스트에서 분석
    • VMWare 사용 → USB를 통해 툴킷 넣어서 설치 후 로컬에서 분석
    • Autopsy → 단순 이미지 분석 이외에, 다양한 기능을 지원한다. 키워드 검색 기능, 파일 타입별(이미지, 문서) 모아주기 기능, 비할당 영역에서의 파일 복구 기능, 타임라인 분석 기능,
      브라우저 히스토리를 모아주거나, Hash 값도 자동으로 계산되는 등 편리한 기능이 많다! GOOD
  • 메모리 분석
    • 메모리 덤프 파일 필요, 없을 때에는 덤프 (Dumpit 사용)
    • Volatility 이용해서 분석(Version 2 or 3)
    • process 정보(pslist, psscan, pstree), 네트워크 연결 정보(netscan), 실행 파일 정보(filescan), 파일 추출(filescan, dumpfiles)
  • NTFS 로그 정보
    • [root]\$LogFile, [root]\$Extend\$UsnJrnl\$J, [root]\$MFT 추출
    • NTFS Log Tracker 이용해서 DB 파일로 변환
    • 파일에 대해 MAC 시간과, 변경 로그를 확인할 수 있음.
    • 데이터의 크기가 매우 크기 때문에, 다른 곳에서 키워드를 가지고 와서 검색하는 것을 추천한다.
  • 레지스트리
    • C:\Users\%USERNAME%\NTUSER.DAT , C:\Windows\System32\Config 폴더에 SAM, SECURITY, SYSTEM, SOFTWARE 파일 추출 (로컬에서는 REGA로 수집)
    • REGA 이용해서 분석, 해당 파일들 한 폴더에 넣고 폴더 경로 지정.
    • 최근 실행 파일 정보, 응용프로그램 설치 및 사용 로그, USB 관련 로그 등 확인 가능.
  • 프리패치
    • 로컬에서 winprefetchview 프로그램 실행, 경로 지정도 가능함.
    • 프리패치 저장 경로는 %SystemRoot%\Prefetch, 일반적으로는 C:\Windows\Prefetch
    • 응용프로그램 별로 최근 실행&변경 시각, 관련된 파일 목록(DLL Injection 대비)
  • 인터넷 접속기록
    • BrowsingHistoryView 프로그램 실행 (로컬 관리자 권한, 마운트시 폴더 지정 가능)
    • 직접 수집할 경우, 여기 블로그에서 경로를 참고해서 수집할 것.
    • 웹브라우저를 거치는 모든 기록(웹사이트, 파일 열기 등)
  • 이벤트로그
    • MMA(Microsoft Message Analyzer)는 일반적으로 다 볼 때.
    • chainsaw 빠르게 자동화 분석을 해주는 도구. 사용법 알아야 함.

2. Android

  • 이미지 분석, 마운트
    • autopsy → 단순 이미지 분석 이외에 다양한 기능 지원. 아티팩트가 그렇게 많지 않은 안드로이드에서는 이것만으로도 거의 50% 이상 파악가능할 듯.
  • 계정 분석
    • /data/data/com.android.providers.contacts/databases/contacts2.db
    • accounts 테이블에는 해당 기기에 로그인된 구글 계정 확인 가능.
    • data 테이블에서는 해당 기기에 저장된 연락처 정보 확인 가능.
  • 문자 분석
    • /data/com.android.providers.telephony/databases/mmssms.db
    • messages 테이블에서는 주고 받은 메시지를 볼 수 있으며, 상위 경로의 /app_parts에서는 MMS 첨부파일을 확인할 수 있다.
  • 카메라 촬영
    • 휴대폰에서 설정한 기본 저장 경로에 따라 변경될 여지가 있지만, /media/0/DCIM/Camera에서는 카메라로 직접 찍은 사진을 확인할 수 있다. (DCIM이 들어가면 카메라 촬영이다. autopsy에서 키워드 검색으로 검색해봐도 좋다.)
    • 추가적으로 EXIF 데이터가 살아있는 경우가 많으니 확인해보는 것이 좋다.
  • 앱 데이터 분석
    • /data 경로 이하에 com.android.., com.kakao .. 형식의 폴더들은 각각의 애플리케이션의 내부 저장소이다. 앱마다 저장하는 방식이 다르니, 하나하나 살펴볼 필요가 있다. 외부저장소에 저장되는 경우도 있는데, 경로는 여기를 참고.
    • 일반적으로 /databases 폴더에는 데이터베이스를 저장하고, /shared_preferences 폴더에는 설정 값들(xml), /logs 폴더에는 앱 실행과 관련된 로그를 저장한다.
    • DB나 사진 파일 등을 볼 수 있는데, 암호화되어 있는 경우에는 일단 한 발 물러나서 구글링을 통해 논문이나 블로그 게시글을 찾아본다.
  • 이외에도 와이파이 분석, GPS 분석, 통화내역 분석 등등이 있는데, 나중에 추가하겠음.

Tips

  • (리눅스) 삭제된 파일 복구할 때에는 extundelete
  • 가상머신에서 파일 가져올 때에는 SCP, Python HTTP server
  • 보통 이미지 분석할 때에는 FTK Imager을 사용하고, Timeline 등을 조회할 때에는 Autopsy도 사용한다.
  • 악성코드는 자동실행 될 수 있는데, volatility autoruns를 통해서 분석한다.
  • 리눅스에서 자주 사용하는 명령어(ls , grep) 등을 overwrite하는 경우가 있다. 이 경우에는 volatility의 syscall 기능을 쓰자.
  • 계정 정보를 확인하기 위해서는 (직접 추출 or volatility dumpregistry를 통해) 하이브 파일을 추출하고, REGA를 사용하여 분석한다.
  • strings 명령어나, volatility memdump 등을 이용한 다음에 무식하게 "찾기"하는 것이 때때로 더 효율적이다.
  • 공격 행위 분석 시에는 "타임라인"이 중요하고 분석 시에 등장하는 모든 시간 값에 대해서 집중, 메모하자.
  • (윈도우) USB 연결 흔적은 레지스트리를 분석한다.
  • (윈도우) 파일 생성 삭제 흔적 → NTFS Log Tracker , 파일 흔적 → Prefetch

분석 도구

커맨드

  • rename : 리눅스에서 이름 일괄 변경할 때
  • df : 리눅스에서 파티션 확인할 때
  • ps -ef : 리눅스에서 프로세스 자세히 출력할 때
profile
비전공자 출신 화이트햇 해커

0개의 댓글