본문 바로가기

인프런

<인프런 - 기초부터 따라하는 디지털포렌식 (손지훈)>

https://www.inflearn.com/course/%EA%B8%B0%EC%B4%88-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D#curriculum

 

[지금 무료]기초부터 따라하는 디지털포렌식 강의 | 훈지손 - 인프런

훈지손 | , 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털포렌식 입문!  디지털 포렌식, 어떻게 시작할지 모르겠다면? 🕵️‍♂️ [사진] 정보보안, 법과학, 컴퓨터 범죄에 관심이 있다면

www.inflearn.com

 

 

 

섹션 02. 디지털 포렌식 기초

 

컴퓨터 장치

- 디스크: [저장 공간] 프로그램 자체가 저장되어 있는 공간 ex) 요리할 때 필요한 식료품을 보관하는 공간

- 메모리: [작업 공간] 프로그램이 올라올 수 있는 공간 ex) 요리할 때 필요한 재료를 후라이팬이나 도마같이 올려둘 수 있는 공간

 

디스크 이미징: 디스크를 파일의 형태로 바꾸는 (분석하기 위해)

디스크 마운트: 이미징된 파일을 내 컴퓨터에 등록시키는

메모리 덤프: 여러 프로그램이 뛰놀고 있을 때 특정 시점의 상태를 사진 찍듯이 가져오는 (켜져 있는 컴퓨터를 수사할 때 그 상태를 그대로 가져와서 파일 추출 흔적 찾는 일을 함)

 

 

<1. 디스크 이미징> - 실습

 

FTK Imager 다운로드

관리자 권한으로 실행

대표사진 삭제

사진 설명을 입력하세요.

create disk image -> physical drive -> 드라이브 선택

(image destination)add.. -> E01(압축된 포멧) -> 드라이브 폴더 선택 -> image fragment: 0 (쪼개서 저장하지 않겠다.)

대표사진 삭제

사진 설명을 입력하세요.

 

 

+ 주의)

이미지 선택 드라이브와 저장하는 드라이브 달라야 한다.

대표사진 삭제

사진 설명을 입력하세요.

"The image destination cannot be on the disk being imaged."오류 발생 이유

: 이미징을 진행하는 원본 디스크와 이미지 파일을 저장하려는 대상 디스크(목적지)가 동일하기 때문.

 

 

대표사진 삭제

사진 설명을 입력하세요.

 

<디스크 마운트>

mount image

add evidenve item (마운트된 드라이브를 FTK이미저에서 증거아이템으로 추가)

대표사진 삭제

사진 설명을 입력하세요.

대표사진 삭제

사진 설명을 입력하세요.

 

 

 

 

<메모리 덤프>

capture memory

대표사진 삭제

사진 설명을 입력하세요.

 

 

<삭제 파일 복구>

image file

대표사진 삭제

사진 설명을 입력하세요.

대표사진 삭제

사진 설명을 입력하세요.

X표시된 파일: 삭제됨 -> 오른쪽 마우스 클릭-> export files

대표사진 삭제

사진 설명을 입력하세요.

빈 껍데기였음

 

 

<Autopsy 사용>

new case

 

 

 

< 기초 도구 >

 

FTK imager (디스크 이미지 관리)

HxD (파일 헥스값 볼 때)

Everything (컴퓨터 전체를 빠르게 볼 수 있음/검색)

7zip (zip 파일의 압축 풀기) (안 되면 반디집)

notepad ++ (여러가지 파일을 한 번에 올려서 볼 수 있음)

sysinternals suite (도구들의 모임)

autopsy (디스크 이미지 관리 및 여러 기능)

 

 

 

 

섹션 03. 침해사고 대응기법, 해커의 발자취를 찾아라

 

침해사고 대응기법 -> 메모리 포렌식

메모리: 프로그램 올라갈 수 있는 공간

  

 

<1. 도구 설치, 환경 설정, 문제 다운로드>

Volatility 다운로드

시스템 환경 변수 설정

windows terminal

Volatility wiki - memory samples - malware-Cridex

 

https://velog.io/@hunjison/Windows-Terminal-기초-사용법

 

Windows Terminal 사용법

Windows Terminal이 새롭게(?) 나왔다.Linux나 MacOS에 비해 Windows는 터미널이 구리다는 점이 항상 아쉬웠는데 참 좋은 소식이다.그럼에도 Linux 터미널에 익숙해진 나에게 Windows Terminal은 2% 부족한 느낌이

velog.io

(파일 생성 및 확인)

연습

cd Desktop

mkdir test

cd test

echo 1111 > 1111.txt

ls

cat 1111.txt

 

<2. Volatility Cridex 풀이>

 

cd cridex

volatility  -f <이미지> imageinfo  (어떤 운영체제인지, suggested profiles WinXPSP2x86 제안)

pslist         volatility  -f <이미지> (cridex)  ---profile=WinXPSP2x86 pslist   (프로세스들의 리스트 출력)

volatility  -f <이미지> (cridex)  ---profile=WinXPSP2x86 pslist > pslist.log   (시간 순서대로 출력)   

프로세스들의 리스트

volatility  -f <이미지> (cridex)  ---profile=WinXPSP2x86 psscan > psscan,log  (숨김 프로세스를 볼 수 있음)

volatility  -f <이미지> (cridex)  ---profile=WinXPSP2x86 pstree > pstree.log   (PID, PPID 기반으로 구조화해서 보여줌)

volatility  -f <이미지> (cridex)  ---profile=WinXPSP2x86 psxview > psxview.log   (pslist, psscan 을 한눈에 볼 수 있음)

의심스러운 프로세스들의 목록 중요!  

 

reader_sl.exe   (의심스럽)

adobe -> PDF -> PDF문서를 통한 악성코드 엄청 많음.

 

volatility -f <이미지> (cridex)  ---profile=WinXPSP2x86 cmdscan > cmdscan.log

volatility -f <이미지> (cridex)  ---profile=WinXPSP2x86 consoles > consoles.log

volatility -f <이미지> (cridex)  ---profile=WinXPSP2x86 cmdline > cmdline.log (프로세스가 실행될 때 인자값)

 

filescan (메모리 내에 존재하는 모든 파일에 대한 정보)

dumpfiles -> reader_sl.exe 추출   (프로세스의 메모리 덤프 추출 -> strings로 변환해서 키워드 검색) 

virustotal -> 애매함 

procdump (프로세스의 exe 파일 추출)

 

connections -> 연결된 TCP 통신 출력

 

 

reader_sl.exe ->  악성 PDF 문서 -> 취약점 -> URL 접속 -> 은행 관련 피싱

 

 

 

<3. CTF-d, GrrCon 2015 풀이>

 

포렌식 -> 해킹 기법에 대한 이해, 운영체제 전반, 컴퓨터적인 전공지식

 

connections: 현재 연결된 TCP 통신에 대한 정보

sockets: 응답받기를 기다리고 있는 모든 프로토콜에 대한 socket 정보

 

cmdline: 프로세스가 실행될 떄 인자값cmdscan: 콘솔에 입력한 값들을 실제로 볼 수 있음consoles: 콘솔에서 입력하고 출력한 값들을 실제로 볼 수 있음

 

 

outlook.exe  //메일-> 메모리 덤프 -> 메일 원본

 

 

 

 

 

<4. Volatility 정리>

Volatility란메모리 포렌식 도구. 오픈 소스. CLI 인터페이스(분석가의 역량에 따라 달라짐)

 

1. Volatility 명령어 정리

 

운영체제 식별

- imageinfo : 메모리 덤프의 운영체제를 식별

프로세스 검색

- pslist: 시간 순서대로 보여줌

- psscan: 숨겨진 프로세스 출력 가능

- pstree: PID, PPID 기준으로 구조화하여 보여줌

- psxview: pslist, psscan을 포함한 도구들의 결과를 한 눈에 볼 수 있음

 

네트워크 분석

netscan

- Windows 7 이상

- TCP, UDP  /  IPv4, IPv6

- Listening, Established, Closed

Connections

- Windows 7 미만

 

-현재연결된 TCP통신에 대한 정보

Sockets

- Windows 7 미만

- TCP, UDP를 포함한 모든 프로토콜

- 현재 Listening 상태에 있는 소켓을 출력

CMD 분석

-cmdscan, consoles: 콘솔에 입력한 값들을 볼 수 있음

-cmdline: 프로세스가 실행될 때의 인자값을 확인할 수 있음

파일 분석 및 덤프

-filescan: 메모리 내에 존재하는 모든 파일들의 리스트 출력

-dumpfiles: 파일을 덤프. 옵션으로 메모리 주소, 프로세스를 줄 수 있음

 

 

02. Volatility Cridex 정리

-운영체제 식별

-프로세스 검색

-네트워크 분석

-CMD 분석 - > 결과X

-파일 분석 및 덤프

filescan 결과로부터 reader_sl.exe 추출, dumpfiles 이용하여 추출

-프로세스 세부 분석

 

 

  • 침입경로: 확인 불가
  • 악성 행위
    • 악성 프로세스 "reader_sl.exe" (PID: 1640) 식별
    • 외부 통신 IP "41.168.5.140:8080" 발견
    • 프로세스 덤프 후 Virustotal 검색 결과 → 악성 프로세스 확인
    • 프로세스 메모리 덤프 내부에서 수상해보이는 단서 확보

 

 

<5. CTF-d, GrrCon 2015 정리>

 GrrCon 2015

 

• 운영체제 식별
. Win7SP1X86

• 프로세스 검색
• Teamviewer 관련 프로세스 (tv_w32.exe)
• explorer 하위 프로세스(mstsc.exe, OUTLOOK.exe)
• 인터넷 익스플로러 (iexplorer.exe, cmd.exe)

 

• 네트워크 분석
• 공격자 IP: 180.76.254.120:22
. PID: 2996(iexplorer.exe)

• CMD 분석
• cmdline → tv_w32.exe 수상해 → 조사해보니 정상 프로세스
• cmdscan, consoles → 악성 실행파일 발견(wce.exe)

 

• 파일 분석
• wce.exe: 관리자 계정을 포함하여 패스워드를 가져오는 실행파일
• w.tmp: wce.exe의 실행 결과로 출력된 파일
• AnyConnectlnstaller.exe: Outlook 메일로부터 출력된 실행파일

• 프로세스 세부 분석
• Outlook.exe의 메모리 덤프로부터 피싱 메일 발견 (Hello Mr. Wellick … )
+ AnyConnectlnstaller.exe의 URL 확보
• iexplorer.exe 메모리 덤프로부터 공격의 흔적 발견
• Teamviewer 관련 프로세스는 정상 프로세스로 판단

 

GrrCon 2015 - 분석 결과

• 침입 경로
• Outlook 피싱 메일을 통해 AnyConnectlnstaller.exe 다운로드를 유도

• 악성 행위
• AnyConnectlnstaller.exe 실행파일 발견
• iexplorer.exe 내부에서도 공격의 흔적 발견
• wce.exe를 통해 관리자 패스워드를 가져오고 w.tmp 파일로 저장함

• 추가 공격
• mstsc를 이용한 추가 공격 예상