과제

2주차

werty2 2025. 3. 31. 21:06

What i did

1. 디지털 포렌식에 대해 알아보았다.

2. 네트워크 패킷을 캡처 및 분석하는 오픈소스 LAN 분석 툴인 wireshark를 이용해 패킷을 분석하고 숨은 정보를 알아내 보았다.

3. FTK Imager를 이용해 데이터를 분석해보았다.

4. Volatility를 통해 프로세스를 분석해보았다.

 

What I learn

디지털 포렌식이란 디지털과 포렌식의 합성어로 디지털 증거물을 수집, 분석하여 범죄의 단서와 증거를 찾아내는 과학수사 기법이다. 디제털 포렌식의 대상은 디스크, 메모리, 네트워크, 모바일 등 다양한 분야를 포렌식한다.

 

1. 네트워크 포렌식

단어들의 정의- 네트워크는 연결하는 선이나 장치 같은 물리적인 측면부터 데이터를 주고받는 데에 필요한 메시지나 규약과 같은 물리적이지 않은 측면까지 모두 포함한 통신 과정 전체를 아우르는 개념이다. 프로토콜이란 데이터를 주고받기 위해 만든 약속이다. 패킷은 packet과 buket를 합친 말로, 통신망을 통한 전송을 위해 데이터를 작게 나눈 것이다. 구성요소로는 헤더, 페이로드, 트레일러가 있다. 

네트워크 포렌식의 정의- 네트워크를 통하여 전송되는 데이터, 암호 등을 특정도구를 이용하여 가로채거나 서버에 로그형태롤 저장된 것을 접근하여 분석하는 포렌식 분야이다. 분석하기 위한 도구로는 wireshark라는 네트워크 패킷을 감시 및 분석하는 프로그램이다. 이는 패킷 분석을 위한 GUI를 제공하고, 파일 형태로 기록도 가능하다.

2. 메모리 포렌식

데이터 저장 방식- 메모리는 데이터가 담겨있는 공간으로, 데이터를 일시적으로 저장하고 빠른 속도로 데이터에 접근하지만, 전원이 꺼지면 저장된 데이터가 사라진다는 특징이 있다. 디스크는 컴퓨터가 작업하는 공간으로, 데이터를 영구적으로 저장하지만 메모리에 비해 데이터 접근 속도가 느리다는 특징이 있다. 

메모리 포렌식의 정의- 주기억장치(메모리)에 남아있는 휘발성 데이터를 분석하는 과정이며, 주로 악성코드 감염 여부를 분석한다. volatility라는 메모리 분석도구를 이용해 진행한다. 이는 오픈소스 기반이며 파이썬으로 작성된 프레임워크이다.

3. 브라우저 포렌식

정의- 사용자의 컴퓨터에 저장되어 있는 웹 브라우저 사용 흔적을 디지털 포렌식적인 방법을 이용하여 조사하는 것이다. 

브라우저 분석 요소

-캐시: 웹사이트에 접속할 때, 방문한 사이트의 데이터를 자동으로 다운로드하는 데이터

 히스토리: 사용자가 방문한 웹사이트의 접속 정보

 쿠키: 접속 상태를 유지할 수 있도록 사용자에 관한 데이터를 잠시 저장해두는 임시저장소

 다운로드 목록: 사용자가 임의로 선택하여 다운로드한 파일이며, 실수로 다운로드된 파일과는 구분됨

분석하기 위한 도구- FTK imager라는 도구이다. 이는 계층적 트리구조로 추가한 증거 항목을 보여준다.

 

실습 

1. wireshark

분석할 네트워크를 선택하면 여러 패킷들의 정보가 나온다. 분석할 패킷을 선택해 TCP 스트림 따라가기를 클릭하면 두 번째 사진과 같이 연결에서 오고 가는 데이터를 확인할 수 있다.

 

Hex Editor라는 편집기를 통해 파일을 16진수로 보며 편집할 수 있고, 알고리즘과 체크섬도 알 수 있다. 파일의 확장자명을 바꾸면 다른 형식으로 파일을 볼 수 있다. 두 번째 사진은 확장자명을 .docx로 변경한 특정 데이터 패킷 파일이다.

2. FTK imager

다운로드 받아 실행한 후, sorce evidence file을 image 파일로 바꾸고 분석할 파일을 선택하면 이렇게 끝도없이 데이터들이 나온다. 문제를 풀기 위해 필요한 위치의 자료들을 찾아 원하는 데이터를 얻을 수 있다.

 

Weekly Challenge

강의에 따라 volatility 2.6을 다운로드 한 뒤 cridex 폴더에 들어가 주었다. 운영체제를 알아보기 위해 imageinfo를 입력해주었다.

suggested profile를 보고 정보를 알 수 있다. 

-pslist: 시간 순서대로 출력, psscan: 숨김 프로세스 보기, pstree: PID기반으로 구조화해서 보기, psxview: pslist와 psscan을 한 눈에 볼 수 있도록

-cmdscan: 사용자가 실행한 명령어 복원, consoles: 콘솔의 출력 내용 복원, cmdline: 프로세스가 실행될 때의 인자값, filescan: 메모리 내에 존재하는 모든 파일에 대한 정보

에 관련된 파일을 만들어 보았다. 

그 중 pslist 파일을 보면 reader_sl.exe가 pdf를 읽는 어도비와 관련된 요소인데 보통 악성코드는 pdf와 관련된 것이 많아서 의심을 해야한다. 그리고 이 다음에 실행된 요소들도 의심해봐야한다. 

 

consoles과 cmdscan은 아무것도 나오지 않았고, cmdline에서도 딱히 의미있는 정보를 발견하지 못하였다. 

 

dumpfiles로 의심스러웠던 reader_sl.exe를 추출해 나온 파일을 virustotal에 입력해보니 71개 중 6개가 악성코드라고 한다. 애매한 수치가 나와서 아직까지 악성코드라고 단정을 지을 수는 없을 것 같다. 

 

connections > connections.log 를 이용해 연결된 TCP통신을 출력해 보니

한 개의 값만 나온다. 그래서 여기에서 나오는 IP주소를 이용할 것이다. 

strings -accepteula .\dumps\1640.dmp > strings_1640.log 를 입력해 메모리 덤프에서 문자열을 추출하여 strings_1640.log 파일로 저장하는 과정을 수행하고 만들어진 파일에서 컨트롤+f를 통해 위의 IP주소인 41.168.5.140를 찾아주었다. 아래의 사진과 같이 관련된 두 개의 주소가 나온다. 이는 해커의 웹사이트 주소로 추정이 된다.

 

strings_1640.log 파일을 좀 더 자세히 살펴보면 은행과 관련된 용어들이 상당히 많이 나온다. 이를 통해 은행과 관련된 피싱이라고 추측을 할 수 있다. 그러므로 reader_sl.exe에서 악성 pdf문서를 읽고 이의 취약점을 통해 위 사진과 같은 url로 접속하여 은행 관련 피싱을 했다 라는 생각을 할 수 있다. 

 

추가적으로 procdump를 통해 실제로 실행됐던 exe를 생성하기 위해  volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 procdump -p 1640 -D .\dumps\ 를 입력해주었다. 여기에서 1640은 pslist 파일에서 알 수 있는  reader_sl.exe의 PID이다. 생성된 exe를 virustotal에 올리면 73개 중 28개가 이를 악성코드라고 판단하였고, 또한 Community Score가 -14로 상당히 낮은 숫자이기 때문에 많은 사용자가 그 파일을 악성으로 의심하거나 실제로 악성이라고 판단하여 해당 파일이 매우 위험하다고 평가된다는 점을 알 수 있다. 따라서 악성파일이 맞다는 결론을 내릴 수 있다.

Issues

처음에는 volatility3을 다운로드 했는데 생각보다 진행이 잘 되지 않아서 그냥 지우고 강의에서 나온대로 2.6을 다시 깔았다. 어떠한 점 때문에 둘이 차이가 나는지 잘 모르겠다. 

 

참고한 강의: 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/dashboard

 

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

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

www.inflearn.com

 

'과제' 카테고리의 다른 글

5주차  (0) 2025.05.11
4주차  (0) 2025.04.10
3주차  (0) 2025.04.06
1주차  (0) 2025.03.24