[지금 무료]기초부터 따라하는 디지털포렌식 강의 | 훈지손 - 인프런
훈지손 | , 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털포렌식 입문! 디지털 포렌식, 어떻게 시작할지 모르겠다면? 🕵️♂️ [사진] 정보보안, 법과학, 컴퓨터 범죄에 관심이 있다면
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
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를 이용한 추가 공격 예상