2주차 디지털포렌식

민채은·2025년 3월 31일

ECOPS 16th

목록 보기
2/5

디지털 포렌식

Digital + Forensic : 디지털 범죄의 부검
=> 디지털 증거물(스마트폰, PC)을 수집, 분석하여 범죄의 단서와 증거를 찾아내는 과학수사 기법

  • 대상
    디스크 포렌식(컴퓨터 디스크)
    메모리 포렌식(컴퓨터 메모리 RAM)
    네트워크 포렌식(네트워크 패킷, 네트워크 장비 로그, 네트워크 관련 설정들)
    모바일 포렌식(모바일 디바이스, IoT디바이스)
    기타(데이터베이스 포렌식, 암호 포렌식, 회계 포렌식, 소스코드 포렌식 등)
  • 5대 원칙
    1. 정당성의 원칙
       디지털 증거는 법적 절차에 의해 수집되어야 한다. 위법한 방법으로 수집 시 법적 효력이 상실한다.
    2. 무결성의 원칙
       디지털 증거는 습득 후 어떠한 일이 발생하여도 변조가 되어서는 안된다.
    3. 연계성의 원칙
       디지털 증거의 습득, 이송, 분석, 보관, 법정 제출 각 단계에서 담당자와 업무자를 명확히 하여야 한다.
    4. 신속성의 원칙
       모든 과정은 지체없이 신속하게 진행되어야 한다.
    5. 재현의 원칙
       피해 직전과 같은 환경에서 현장 재현 시 피해 당시와 동일한 결과가 나와야 한다.
  • 유형
    1. 침해사고 대응
       A. 침해 사고(해킹)를 당한 상태
       B. 상황이 실시간으로 전개
       C. 사태 파악 및 수습이 주 목적
       D. 엄격한 입증이 필요 없음
    2. 법적 증거 추출
       A. 사후 조사
       B. 범죄 증거 수집
       C. 엄격한 입증이 필요함

네트워크 포렌식

Net(그물) + Work : 연결하는 선이나 장치 같은 물리적인 측면부터 데이터를 주고받는 데에 필요한 메시지나 규약과 같은 물리적이지 않은 측면까지 모두 포함한, 통신 과정 전체를 아우르는 개념

  • 프로토콜(Protocal) : 데이터를 주고받기 위한 약속
    eg. HTTP(Hyper Text Transfer Protocal), TCP(Transmission Control Protocal), UDP(User Datagram Protocal), SMTP(Simple Mail Transfer Protocal), FTP(File Transfer Protocal)
  • 패킷(Packet) = Package + Buket : 통신망을 통한 전송을 위해 데이터를 작게 나눈 것
  • 네트워크 포렌식 : 네트워크를 통하여 전송되는 데이터, 암호 등을 특정도구를 이용하여 가로채거나 서버에 로그형태로 저장된 것을 접근하여 분석하는 포렌식 분야
  • 패킷 분석 도구
    WireShark : 네트워크 패킷을 감시 및 분석하는 프로그램, 패킷 분석 도구 중 가장 널리 알려진 소프트웨어
    크로스 플랫폼(Windows, Linux, Mac 등 지원)
    패킷 분석을 위한 GUI 제공
    파일 형태로 기록 간응

메모리 포렌식

컴퓨터 시스템의 데이터 저장 방식 -> 디스크 + 메모리

  • 메모리
       컴퓨터의 RAM(Random Access Memory)
       데이터를 일시적으로 저장 -> 전원을 끄면 데이터가 사라지는 휘발성
  • 디스크
       HDD(Hard Disk Drive)나 SSD(Solid Disk Drive)와 같은 저장 장치
       데이터를 영구적으로 저장 -> 비휘발성
       메모리에 비해 데이터 접근 속도가 느림
  • 메모리 포렌식 : 주기억장치(RAM)에 남아있는 휘발성 데이터를 분석하는 과정 -> 주로 악성코드 감염 여부를 확인 및 분석
    RAM에는 프로세스, 네트워크, 사용자 활동 정보 등의 정보가 담겨있음
  • 프로세스
      컴퓨터에서 실행 중인 프로그램 -> 프로그램이 메모리에 로드되어 있는 상태
      운영체제가 관리
  • Volatility : CLI 인터페이스를 제공하는 메모리 분석 도구
    오픈소스 기반
    파이썬으로 작성된 메모리 포렌식 프레임워크
    메모리의 프로세스, 네트워크 정보 등을 확인하고 분석할 수 있음

브라우저 포렌식

: 사용자의 컴퓨터에 저장되어 있는 웹 브라우저 사용 흔적을 디지털 포렌식적인 방법을 이용하여 조사하는 것
웹 브라우저 : 웹 서버에서 쌍방향 통신하는 HTML 문서나 파일을 연동하고 출력하는 응용 소프트웨어

  • 중요성
    웹 브라우저는 인터넷 검색을 통해 파일을 다운로드하거나 생성할 수 있음
    -> 그 과정에서 여러 흔적이 남게 됨
    => 인터넷 이용과 관련된 사이버 범죄 수사에서 웹 브라우저 포렌식이 중요함
  • Artifact : 인공물 흔적
    컴퓨터 시스템에서 사용자가 어떠한 행위를 했을 때 운영체제가 이벤트 로그 혹은 데이터 로그 등의 형태로 특정한 행위에 대한 활동 흔적을 남김
    => 사용 활동 흔적 = 아티팩트(artifact)
  • 브라우저 분석 요소
    - Cache(캐시)
       웹사이트에 접속할 때, 방문한 사이트의 데이터를 자동으로 다운로드하는 데이터
       기존에 방문한 웹사이트 재방문하면 캐시에서 해당 데이터를 불러와 빠르게 접근 가능
    C:\Users\{User}\AppData\Local\Google\Chrome\User Data\Default\Cache\Cache_Data
    - History(히스토리)
       사용자가 방문한 웹사이트의 접속 정보
       웹사이트 방문 시 웹사이트 정보를 분류해 저장
    C:\Users\{User}\AppData\Local\Google\Chrome\User Data\Default\History
    • Cookie(쿠키)
        웹사이트에서 사용자의 하드디스크에 저장해놓은 사용자에 관한 데이터
        HTTP 통신에서 접속 상태 유지하도록 사용자 정보를 잠시 저장해두는 임시저장소
      C:\Users\{User}\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies
    • Download list(다운로드 목록)
        사용자가 임의로 선택하여 다운로드 한 파일
        의도치 않게 다운로드된 파일과 구분됨
      C:\Users\{User}\AppData\Local\Google\Chrome\User Data\Default\History
  • FTK Imager
    - FTK Toolkit : 가장 많이 사용되고 있는 디지털 포렌식 분석 소프트웨어
    • FTK Imager : FTK Toolkit의 구성 요소 중 하나, 증거를 수집하고 수집된 증거를 확인할 때 용이하게 사용할 수 있는 도구
    • 기능
      • Evidence Tree : 계층적 트리구조로 추가한 증거 항목을 보여줌
        • File List : Evidence Tree에서 선택된 항목의 파일과 폴더를 보여줌
        • Viewer : Preview Mode 옵션(Natural, Text, Hex) 선택에 따라 선택된 파일의 내용 보여줌
        • Properties/Hex Value interpreter : Evidence Tree나 File List에서 선택된 객체의 다양한 정보를 보여주고, 뷰어에 선택된 16진수 값을 10진수와 가능한 날짜, 시간 값으로 변환함
        • Custom Content Sources : 이미지에 포함된 내용을 보여줌
        • Add Evidence Item : 증거 자료를 Evidence Tree에 추가함
        • Create Disk Image : 디스크 이미지를 생성함
        • Image Mounting : 이미지 파일의 경로를 주고 마운트 시키면 읽기 전용 보기 옵션이 있는 물리 장치로 마운트됨
        • Capture Memory : 메모리를 캡쳐한 결과를 저장함
        • Detect EFS Encryption : 증거를 스캔해 암호화된 파일이 있는지 검사함

실습

WireShark

Puzzle #1: Ann's Bad AIM

  1. What is the name of Ann’s IM buddy?

    Sec558user1

  2. What was the first comment in the captured IM conversation?

    Here's the secret recipe... I just downloaded it from the file server. Just copy to a thumb drive and you're good to go

  3. What is the name of the file Ann transferred?

    recipe.docx

  4. What is the magic number of the file you want to extract (first four bytes)?
    .docx 파일을 찾는 것이므로 50 4B 03 04로 시작하는 부분을 찾아야 함

    50 4B 03 04

  5. What was the MD5sum of the file?

    8350582774E1D4DBE1D61D64C89E0EA1

  6. What is the secret recipe?

FTK imager

Browser Forensics - Cryptominer
문제 1: How many browser-profiles are present in Google Chrome?
윈도우에서 크롬 사용자 프로필 -> C:\Users{User}\AppData\Local\Google\Chrome\User Data에 저장됨

2개

문제 2: What is the name of the browser theme installed on Google Chrome?

theme의 id 값인 iiihlpikmpijdopbaegjibndhpgjmjfe를 검색하면 확장프로그램의 이름이 나옴

Earth in Space

문제 3: Identify the Extension ID and Extension Name of the cryptominer
확장 프로그램은 manifest.json이 있어야 하므로 해당 파일을 찾아야 한다.

egnfmleidkolminhjlkaomjefheafbbb,DFP Cryptocurrency Miner

문제 4: What is the description text of this extension?

Allows staff members to mine cryptocurrency in the background of their web browser

문제 5: What is the name of the specific javascript web miner used in the browser extension?

CryptoLoot

문제 6: How many hashes is the crypto miner calculating per second?

20

문제 7: What is the public key associated with this mining activity?

b23efb4650150d5bc5b2de6f05267272cada06d985a0

문제 8: What is the URL of the official Twitter page of the javascript web miner?

twitter.com/cryptolootminer

과제

Volatility

  1. volatiltiy를 다운로드 받고, 문제파일을 다운 받았음
  2. powershell에서 문제파일이 있는 폴더로 이동하고, volatility_2.6_win64_standalone.exe -f .\cridex.vmem imageinfo를 실행해서 운영체제를 확인함
  3. volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 pslist로 프로세스들의 리스트를 출력함
  4. pslist, psscan, pstree, psxview 명령어를 실행하고 각각을 .log의 형식으로 저장함

    -> pslist : 프로세스를 시간 순서대로 출력함

    -> psscan : 숨김 프로세스를 볼 수 있음

    -> pstree : PID, PPID를 기반으로 구조화해서 보여줌

    -> psxview : pslist와 psscan을 한 눈에 볼 수 있음
  5. 의심스러운 프로세스의 목록 만들기
    파일 이름을 검색해보면서 의심스러운 프로세스를 찾아야 함.
    reader_sl.exe는 pdf에 대한 프로세스 -> PDF 문서를 통한 악성코드가 많으므로 의심스러움
    pslist에서 reader_sl.exe를 실행한 이후에 실행된 프로그램도 의심해볼 수 있음
    -> 0x820e8da0 alg.exe, 0x821fcda0 wuauclt.exe, 0x8205bda0 wuauclt.exe
  6. cmdline, consoles, cmdscan 명령어를 실행하고 .log 파일로 만들어서 결과를 확인함
    cmdscan과 consoles는 아무것도 나오지 않음

    -> 경로만 알 수 있으므로 넘어감
  7. filescan으로 메모리 내에 존재하는 모든 파일에 대한 정보를 얻음
    -> 아까 의심했던 reader_sl.exe를 찾아보고, 해당 오프셋 값을 얻어서 dumpfiles -Q 0x00000000023ccf90 -D .\files\ -n을 실행함
    이 결과 실행된 파일을 virustotal에 넣고 돌려보면 다음과 같은 결과가 나온다
  8. 네트워크 정보를 보기 위해 connections 명령어를 사용함
    connections -> 연결된 TCP 목록을 출력함

    PID가 1484인 것이 통신 중임을 보여줌 -> explorer.exe가 해당됨 -> explorer.exe 이후에 실행된 reader_sl.exe도 의심스러움
  9. memdump 명령어를 실행하고 결과를 파일로 저장함
    memdump -> 프로세스의 메모리 부분을 dump
    memdump의 결과를 HxD에서 열어서 확인하면 불필요한 부분이 많음 -> string.exe .\dumps\1640.dmp를 실행함
    strings_1640.log 파일에서 PID가 1484인 프로세스의 도착지 ip 주소를 검색해봄
    => reader_sl.exe가 악성 PDF 문서를 읽고, 그 취약점으로 URL로 접속을 했을 것으로 추측
    로그를 보면 은행 관련 피싱일 것으로 추측
  10. procdump를 통해 실제 실행되었던 .exe 파일을 찾고, 그 파일을 virustotal에 넣어봄

    => 결과를 통해 악성코드임을 확인할 수 있음

0개의 댓글