TigerDemon
3주차_디지털 포렌식 스터디 본문
세션 2. 침해사고 대응기법, 해커의 발자취를 찾아라
도구 설치, 환경 설정, 문제 다운로드
메모리: 프로그램이 올라갈 수 있는 공간
Volatility 다운로드


시스템 환경 변수에 등록해놓으면 아래 사진처럼 윈도우 파워쉘 창에서 사용이 가능해진다.

그리고 아래 링크로 들어가준다.
https://github.com/volatilityfoundation/volatility/
GitHub - volatilityfoundation/volatility: An advanced memory forensics framework
An advanced memory forensics framework. Contribute to volatilityfoundation/volatility development by creating an account on GitHub.
github.com



링크로 들어가고 첫번째 사진처럼 wiki를 누르고 내리다보면 옆에 Memory samples가 보인다 링크를 누르고 세번째 사진과 같은 malware-cridex를 다운로드 한다. 하지만 현재 다운로드가 불가해서 강의 설명란에 있는 파일을 다운 받는다.
그리고 어떤 포렌식 사이트에서 문제를 다운받으라고 했지만 또 다운로드가 불가해서 강의 설명란에 있는 파일을 다운 받는다. 이렇게 다운 받아야 하는 파일들을 다 다운 받았다.

그리고 아래 링크로 들어가서 터미널과 관련해서 공부를 해온다.
https://velog.io/@hunjison/Windows-Terminal-%EA%B8%B0%EC%B4%88-%EC%82%AC%EC%9A%A9%EB%B2%95
Windows Terminal 사용법
Windows Terminal이 새롭게(?) 나왔다.Linux나 MacOS에 비해 Windows는 터미널이 구리다는 점이 항상 아쉬웠는데 참 좋은 소식이다.그럼에도 Linux 터미널에 익숙해진 나에게 Windows Terminal은 2% 부족한 느낌이
velog.io
Volatility Cridex 풀이(1)
폴더를 마우스 오른쪽으로 누르고 터미널에서 열기를 하면 더 쉽게 들어갈 수 있다.


Volatility: 메모리 관련 데이터를 수집해주는 도구
1단계: 아래처럼 입력해준다.

아래 내용이 출력되는 것을 확인해준다.

거기서 Win으로 시작하는(WinXPSP2x86)을 복사해준다.
2단계: 아래 profile= 부분엔 자신이 복사한 부분을 붙여넣기 해준다.
이때 pslist는 프로세스들의 리스트를 출력한다는 의미이다.

엔터를 치면 매우 길게 나오는 것을 확인할 수 있는데 이때 > pslist.log를 아래 사진처럼 추가해준다.

그러면 pslist.log 파일에 저장되는 것을 확인할 수 있다.

이는 노트패드++에서 볼 수 있다. 아래 사진의 내용은 프로세스들의 리스트이다.

그리고나서 아래 사진을 따라서 psscan, pstree, psxview 로그까지 만들어준다.

그리고 다시 노트패드++에 들어가서 3개의 log들도 연다.

pslist: 시간 순서대로 출력
psscan: 메모리 덤프 파일이 어떤 위치에 존재하는 지에 따라서 출력하고 숨긴 프로세스를 볼 수 있다.
pstree: PID와 PPID를 기반을 구조화해서 보여준다.
psxview: pslist, psscan을 한눈에 볼 수 있다.
+잘 모르겠으면 아래 링크로 들어가서 공부하기
https://bowbowbow.tistory.com/16
[운영체제] 프로세스가 뭐지?
[운영체제] 프로세스가 뭐지? 목차 [운영체제] 프로세스가 뭐지? 개요 프로세스란 단어를 본적있나요? 프로세스란? 프로그램과 뭐가 다르지? 어떻게 여러 개의 프로세스가 동시에 실행될 수 있을
bowbowbow.tistory.com
Volatility plugin 세부 내용 비교(pslist, psscan, pstree, psxview) (cmdscan, consoles, cmdline) (netscan, socket, connectio
Volatility의 플러그인, 다양한 기능이 있는데 그 기능에 대해 세부 내용까지 자세히 설명한 곳이 많지는 않다.pslist, psscan, pstree, psxviewpslistpslist는 "시간 순"으로 나열한다.따라서 악성 프로세스의
velog.io
아래 사진은 강의를 해주시는 분께서 말씀하시는 의심스러운 부분들




Volatility Cridex 풀이(2)

그 다음엔 cmdscan, consoles, cmdline을 위에서 했던 것처럼 만들어주고 노트패드++에서 열어주면 된다.
이때 cmdline은 프로세스가 시행될 때 인자값을 확인할 수 있다.

그리고나서 메모리 내에 존재하는 모든 파일에 대한 정보를 볼 수 있는 filescan을 filescan.log에 저장해주고 이것도 노트패드++에서 열어줍니다.


그리고 아까 의심스러웠던 reader_sl.exe 파일을 ctrl+f 해서 찾아준다.

모두 찾기를 하면 해당 파일들을 한번에 볼 수 있다.

앞에 오프셋 부분을 복사하고 cmd 창으로 들어가서 아래 사진처럼 명령어를 써준다.
이때 dumpfiles는 reader_sl.exe를 추출한 것이다.

그러면 cridex 파일 안에 새로운 파일이 생성되었고 그 안에 아래 사진과 같은 파일이 있을 것이다.

그럼 아래 링크로 들어가서 이 url에 둘중에 하나를 업로드해준다.
https://www.virustotal.com/gui/home/upload
VirusTotal
www.virustotal.com
그럼 아래 사진처럼 뜨는 것을 확인할 수 있다. 이 사이트에서 하는 것은 이 파일들을 백신에서 검사해본 것으로 빨강색으로 뜨는 것은 악성코드일지도 모른다고 표시를 한 것이다.

네트워크를 확인해보기위해 아래 사진처럼 입력해주면 된다.

그리고 노트패드++에서 확인해보면 아래 사진처럼 뜨는 것을 확인할 수 있다.

이때 tcp는 일반적인 인터넷통신으로 connetions는 연결된 tcp 통신을 출력한 것이다. 우선 stings를 사용할 것이기에 처음에 다운로드 받은 SysinternalsSuite를 everyting에 등해주고 두번째 사진을 그대로 따라하면 된다.

그런데 왜 오류가 날까..

Volatility 정리
1.Volatility
- 메모리 포렌식 도구. 오픈소스. CLI 인터페이스
- 버전 3까지 공개되어 있으나, 아직까지는 2를 많이 사용함
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: 파일을 덤프. 옵션으로 메모리 주소, 프로세스 줄 수 있음
프로세스 세부 분석
- memdump: 특정 프로세스의 메모리 영역을 덤프 -> strings 사용
- procdump: 프로세스의 실행 파일을 추출
악성 프로그램 식별
- virustotal 주로 사용
- Windows Defender도 정확한 편
Volatility Cridex 정리 & 추가 분석
2.Volatility Cridex 정리
Cridex
- 운영체제 식별
- - WinXPSP2x86
- 프로세스 검색
- - reader_sl.exe(1640)가 수상한 프로세스로 보임
- 네트워크 분석
- -공격자 IP: 41.168.5.140:8080
- - PIP: 1484(explorer.exe)
- CMD 분석 -> 결과 없음
- 파일 분석 및 덤프
- - filescan 결과로부터 reader_sl.exe 추출
- - dumpfiles 이용한 추출 -> Virustotal 검색 -> 애매
- 프로세스 세부 분석
- - procdump 이용하여 reader_sl.exe 실행 파일 추출 -> Virustotal 검색
- - memdump 이용하여 reader_sl.exe 메모리 영역을 덤프 -> strings 명령어 이용 -> 수상한 URL들 발견
Cridex -분석 결과
- 침입 경로: 확인 불가
- 악성 행위
- - 악성 프로세스 "reader_sl.exe"(PID:1640) 식별
- - 외부 통신 IP "41.168.5.140:8080" 발견
- - 프로세스 덤프 후 Virustotal 검색 결과 -> 악성 프로세스 확인
- - 프로세스 메모리 덤프 내부에서 수상해보이는 단서 확보
Cridex - 추가 분석 가능한 부분들
- explorer.exe 프로세스 분석
- IP 추적 -> Whois 조회
- 레지스트리 추출-자동 실행 관련 분석
- explorer.exe 메모리 덤프 내부에 웹페이지 소스코드 (HTML) 분석
위에서 오류가 난 부분이 있는데 이는 추후에 스터디때 질문해서 해결하고 말머리에 [수정] 이라고 달고 올리겠다.
'2024-SWLUG > 디지털 포렌식 스터디' 카테고리의 다른 글
| 7주차_디지털 포렌식 스터디 (0) | 2024.05.21 |
|---|---|
| 6주차_디지털 포렌식 스터디 (0) | 2024.05.15 |
| 5주차_디지털 포렌식 스터디 (0) | 2024.05.08 |
| 4주차_디지털 포렌식 스터디 (0) | 2024.05.01 |
| 2주차_디지털 포렌식 스터디 (0) | 2024.03.27 |