Volatility 명령어 정리
imageinfo | 메모리의 운영체제를 식별 |
pslist | 시간 순서대로 출력 |
psscan | 숨김 프로세스를 볼 수 있음 |
pstree | PID, PPID 기반으로 구조화해서 보여줌 |
psxview | pslist, psscan을 한 눈에 볼 수 있음, 숨김 프로세스 찾는 데 사용 |
cmdline | 프로세스가 실행될 때 인자값 |
cmdscan | 콘솔에 입력한 값들을 실제로 볼 수 있음 |
consoles | 콘솔에서 입력 및 출력한 값들을 실제로 볼 수 있음 |
filescan | 메모리 내에 존재하는 모든 파일에 대한 정보를 다 출력함. 오래걸림. |
dumpfiles | 프로세스의 메모리 덤프 추출 -> strings로 변환해서 키워드 검색 |
procdump | 프로세스의 exe 파일 추출 |
connections (xp) | "현재 연결된" TCP 통신에 대한 정보를 보여줌 |
sockets (xp) | "응답 받기를 기다리고 있는" 모든 프로토콜에 대한 socket 정보 |
netscan | 짱 ... |
1. 운영체제 식별
-f 옵션으로 이미지를 줌.
가장 먼저, imageinfo로 운영체제를 식별한다.
--> Win7SP1x86
열심히 파일들을 만들어 줍니다
2. 프로세스 검색
맨 아래 부분에 인터넷 브라우저가 cmd를 실행한다 ..? 완전 의심.
--> TeamViewer.exe와 관련 프로세스 TeamViewer_Des, tv_w32.exe
--> explorer.exe와 하위 프로세스 cmd.exe, mstsc.exe, OUTLOOK.EXE
--> 인터넷 익스플로러 iexplorer.exe와 cmd.exe
outlook이나 teamviewer로 침투하지 않았을까 ..? 의심스럽다..!
3. CMD 분석
cmdline을 확인해보면, teamviewer\tv_w32.exe가 의심스러움.
------------> tv_w32.exe 확인해보자
pid가 4064인 tv_w32.exe 프로세스에 대해 메모리 덤프하기
--> 조사해보니, 정상 프로세스였음.
검색할만한 키워드를 더 찾아보자.
cmdscan.log를 살펴보면, 콘솔에 입력한 값들을 확인할 수 있다.
wce.exe -w를 실행해서 w.tmp 파일을 만든 것을 볼 수 있다.
+ 관리자로의 권한 상승과 cmd 실행 ..!
consoles.log
를 통해 콘솔에 입력한 값들과 출력 값을 확인 가능하다. (cmdscan보다 유용)
w.tmp와 wce.exe의 경로가 C:\Windows\Temp임을 확인 가능하다.
4. 파일 분석
정리해보면 ...
outlook.exe
tv_w32.exe
C:\Windows\Temp\의 wce.exe와 w.tmp를 확인해봐야 함.
filescan.log에 wce.exe랑 w.tmp 검색 후 오프셋 확인
wce.exe 오프셋: ~~~3df31038
w.tmp 오프셋: ~~~3eca37f8
dumpfiles를 통해 wce.exe와 w.tmp 프로세스의 메모리 덤프를 추출한다.
dumpfiles -Q 오프셋 -D 저장할 디렉토리? -n
추출된 w.tmp.dat을 확인해보면, 계정 정보가 보임. 뒤쪽은 비밀번호같음.
WCE라는 프로그램이 이 컴퓨터에 들어와서 관리자 계정 비밀번호와 사용자 계정의 비밀번호를 추출한 것으로 추측됨.
정리해보면,
wce.exe: 관리자 계정을 포함하여 패스워드를 가져오는 실행파일
w.tmp: wce.exe의 실행 결과로 출력된 파일
추가로, wce.exe.dat을 virustotal에서 확인해보면, 완전 악성임을 알 수 있다.
즉, wce.exe와 w.tmp가 모두 악성임을 확인했는데,
그럼 어떤 경로로 침투했는지 확인해보자.
5. 네트워크 분석
- netscan.log 확인
- 의심 프로세스들 확인
mstsc.exe
-> 의심스러운 프로세스였음. 해당 ip인 10.1.1.21도 의심 ip로 기록해두자.
iexplore.exe
-> ip인 180.76.254.120:22 --> 메모리 덤프해볼 예정
-> PID는 2996
6. 프로세스 세부 분석
outlook.exe 덤프 / strings / exe 추출
일단 아까 전에 의심스러웠던 outlook.exe의 PID를 확인해보자. --> 3196
이는 메일이기때문에 메모리 덤프하면 메일 원본을 확인 가능할 수도 있음.
Outlook.exe의 메모리 덤프 후
strings_3196.log 추출
-> 위에서 찾은 outlook.exe의 PID 3196으로 메모리 덤프하고 strings로 추출
---> 피싱 메일 원본 찾는 게 목적이므로, url같은 거 찾아볼 예정!
strings_3196.log에서 http:// 검색 후 .exe 검색 (.pdf, .docx, .xlsx 등등일 수도..)
아까 위에서 기록해둔 ip와 동일한 url을 확인 가능하다. (iexplore.exe)
---> AnyConnectInstaller.exe
(Outlook 메일로부터 출력된 실행파일이다.)
피싱 메일도 발견되었음. + AnyConnectInstaller.exe의 URL 확보
---> 거의 악성으로 확신
---------> #2 해결
마찬가지로 strings_3196.log에서 @ 검색 후 com 검색
-------> 의심되는 이메일 발견
------------> #1 해결
Outlook으로 보낸
------------> AnyConnectInstaller.exe를 추출해보자
filescan.log에서 AnyConnectInstaller.exe의 오프셋 확인
-n 옵션을 주면, 추출한 파일에 프로세스명이 자동으로 들어가기 때문에 확인할 때 훨씬 편리함.
결론 걍 쓰는 게 좋다.
그럼 이렇게 AnyConnectInstaller.exe의 img와 dat 파일이 추출됨
---> 둘 다 Virustotal에 확인한 결과, 악성이다.
결론 ...
해커가 outlook 메일을 통해 저런 메일을 보내고,
AnyConnectInstaller 프로그램을 설치하게 만들고,
wce.exe와 w.tmp를 통해 관리자 계정 정보를 훔쳤다 ~
그리고 이를 통해 아마 mstsc.exe를 실행하지 않았을까 ..?
팀뷰어 관련 프로세스 확인
tv_w32.exe
filescan.log에서 아까 의심스러웠던 tv_w32.exe 검색
오프셋: ~~~3fa4f5d0
오프셋을 알았으니 tv_w32.exe를 추출해보자
dumpfiles로 파일 덤프
files 폴더에 잘 추출되었다.
tv_w32.exe.dat을 virustotal에 넣어보면 악성 아님 -> 애매하다 ..
==> teamviewer.exe 여러가지 -> 아무것도 안나옴 -> 악성X. 정상 프로세스로 판단.
iexplorer.exe 관련 프로세스 확인
iexplore.exe
- 아까 프로세스 살펴볼 때, cmd를 실행한 점
- netscan에서 180.76.254.120과 통신한 점 + url과 동일한 ip였음
iexplore.exe의 PID가 2996임을 확인
iexplore.exe 메모리 덤프 -> memdump -p [PID] -D [폴더]
덤프한 메모리에서 strings 결과 출력 및 저장
iexplore.exe에서 AnyConnectInstaller.exe를 다운받은 것으로 보임.
분석 결과 정리
침입 경로
Outlook 피싱 메일을 통해 --> AnyConnectInstaller.exe 다운로드를 유도 -> wce.exe w.tmp (관리자 패스워드) -> mstsc.exe l--> 악성 exe의 경우 -> 리버싱을 통해 구체적인 동작 과정을 알아야 함.
악성 행위
AnyConnectInstaller.exe 실행파일 발견
iexplorer.exe 내부에서도 공격의 흔적 발견
wce.exe를 통해 관리자 패스워드를 가져오고, w.tmp 파일로 저장함.
추가 공격
mstsc를 이용한 추가 공격 예상 --> 확인해봐야 함!
추가 분석 가능한 부분들
1. iexplore.exe 추가 분석 - procdump로 실행파일 살펴보기
+ .exe도 strings 가능하니 봐보는 걸 추천
2. Outlook 메모리 덤프로부터 공격자 이메일, 피해자 이메일 찾아보기, 시간 데이터도
3. 공격자가 사용한 도구들과 구체적 행위를 파악하기
+ hint: consoles.log 살펴보기 - 몇몇 실행파일들을 확인 가능함. 구글링 ~
4. 공격자의 추가 공격 행위 파악
+ hint: mstsc, gideon ..
참고 👍
인프런 <기초부터 따라하는 디지털포렌식> - 손지훈
'Forensic > wargame & ctf' 카테고리의 다른 글
[ctf-d] basics (0) | 2022.08.09 |
---|---|
[ctf-d] 답을 찾고 제출해라! (0) | 2022.08.09 |
[ctf-d] 우리는 바탕화면 캡처 본을 얻었다. (0) | 2022.07.19 |
[ctf-d] DOS 모드에서는... (0) | 2022.07.18 |
[ctf-d] 그림을 보아라 (thumbs.db) (0) | 2022.07.13 |