티스토리 뷰
해당 포스트에서는 CTF-D의 GrrCon 2015 #1 문제에 대한 분석입니다.
해당 문제를 제공하는 사이트는 현재 막혀있는 상태로 파일 다운을 원하고자 하면 댓글 남겨주세요.
1. 운영체제 식별
해당 파일을 다운로드하여 이미지의 정보를 확인
명령어: volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss imageinfo
2. 프로세스 확인
위 imageinfo 사진에 Suggested Profile(s) 부분에 있는 운영체제 버전 중 아무거나 선택해서 프로세스에 대해 분석을 해보겠다.
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 pslist > pslist.log
pslist 명령어를 pslist.log 파일형식으로 저장해서 열어보았다, 추가적으로 psscan, psxview, netscan, cmdline, cmdscan, consoles, filescan, pstree 명령을 통해 프로세를 더 자세히 확인해보자.
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 psscan > psscna.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 psxview > psxview.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 netscan > netscan.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 cmdline > cmdline.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 cmdscan > cmdscan.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 consoles > consoles.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 filescan > filescan.log
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 pstree > pstree.log
3. 분석하기
해당 파일들중 pstree.log로 먼저 pid와 ppid를 연관하여 확인해본 결과
exeplorer는 윈도우 탐색기를 가르킨다. 이 하위에서 cmd가 실행된 것, 또한 mstsc.exe는 윈도우의 원격 데스크톱 연결 파일로
의심스럽다.
또한 OUTLOOK.EXE라는 메일관련 소프트웨어와 iexplore.exe라는 인터넷 익스플로러 하위에서 cmd가 실행된 것들도 한 번 확인해봐야 할 것 같다.
시간순서대를 확인하기 위해 pslist.log를 확인해보자.
시간순서대로 봤을 때 iexplore.exe.가 가장 먼저 실행이 됐고 그 다음이 OUTLOOK.EXE이 실행이 됐고 TeamViewer.exe 사이에 여러 cmd가 실행이 됐고 마지막으로 mstsc.exe로 원격데스크톱을 실행한 것으로 확인할 수 있다.
이것을 보아 시나리오를 세워보면
해커 컴퓨터 침입 (OUTLOOK.EXE를 통한것으로 추측) -> 악성코드 유포 -> 원격데스코톱을 열어서 추가 악성행위
추가적으로 cmdline.log를 확인해보니 tv w32.exe 같은 의심스러운 명령어 실행들이 조금 있다.
팀뷰어 관련된 명령어 같다. 팀뷰어와 관련된 것도 확인해봐야겠다.
그 다음 우린 cmdscan.log에서 해커가 어떠한 명령어를 입력했는지 알아야겠다.
해당 사진을 보면 관리자 권한으로 상승시도를 하였고
Temp 폴더로 이동 후 wce.exe의 실행 값을 w.tmp에 넣은 것도 볼 수 있다.
그럼 우리가 확인해야할 것을 정리하면 아래정도로 생각된다.
OUTLOOK.EXE 확인
tv_w32.exe 확인
Temp 폴더 아래에 w.tmp 파일 확인
일단 방금 알아낸 wce.exe를 추출해보자 아래와 같이 filescan에서 wce.exe를 모두 찾기 하여 검색하고 Temp 폴더 아래에 있는 것을 찾는다.
해당 오프셋값을 이용하여 wce.exe를 추출해보자
폴더를 새로 만들기: mkdir files
명령어:volatility_2.6_win64_standalone.exe -f .\Target1-1dd8701f.vmss --profile=Win7SP1x86 dumpfiles -Q 0x000000003df31038 -D files -n
위 과정과 똑같이 w.tmp도 추출을 해보고 확인해보자
해당 파일을 보며 추측을 하면 WC라는 프로그램이 컴퓨터에 들어와서 관리자 PC의 계정 비밀번호와 사용자 계정의 비밀번호를 추출한 것으로 보고 그것을 기록으로 남긴 파일 같다.
그럼 wce.exe는 악성코드인게 거의 확실해졌다. 더욱 확실히 하기위해 virustotal에서 인증을 해보자
나쁜친구...
이제 netscan.log를 통해 어떻게 저 파일이 들어오게된 경로를 파악해보자.
iexplore.exe, TeamViewer.exe, mstsc.exe 모두 통신하고 있는 ip의 주소들이 조금은 이상하다.
mstsc.exe 같은 경우는 ip는 의심스럽지 않지만 원격접속을 할 때 사용하는 파일이라 의심을 계속 갖는다.
그럼 우리가 확인해야할 것들을 다시 정리해보면 아래와 같다.
OUTLOOK.EXE 확인
tv_w32.exe 확인
Temp 폴더 아래에 w.tmp 파일 확인 // 악성파일
iexplorer.exe
10.1.1.21:3389(mstsc.exe 와 통신한 ip)
이제 차차 하나씩 확인해보자 가장 먼저 OUTLOOK.EXE의 메모리 덤프를 통해 메일 원본을 확인하자.(명령 위 내용 참조)
메모리 덤프를 하였으면 원본을 찾기위해 strins를 하여 쓰레기 데이터를 정리해주자.
명령어:strings.exe .\dumps\3196.dmp > strings_3196.log
strings가 진행되는 동안 tv_w32.exe를 추출해보자(위 명령어 확인)
해당 파일을 virustotal에 조회해보니 애매한 결과를 얻을 수 있다.(섣부르지만 팀뷰어쪽은 깨끗할지도..?)
이젠 strings가 다 되었기에 outlook.exe 덤프파일을 열어보자
메일은 주로 인터넷에서 보내지니까 netscan.log 안에서 iexplorer.exe와 통신하고 있던 180.76.254.120을 검색해보자
검색을 하니 html형식의 메일 원본을 찾을 수 있었으며 해당 메일에는 어떠한 url 경로로 이동하라는 내용이였다.
이것은 100% 악성코드 같으므로 해당 url의 AnyConnectInstaller.exe 파일을 추출(위 명령어 참조)후 virustotal에 조회해보겠다.
나쁜녀석...
그럼 종합하면
1. OUTLOOK.EXE를 통해 피싱메일을 전송하여 클릭을 유도하였고
2. 그 과정에서 AnyConnectInstaller.exe를 설치하여 wce.exe를 설치하였다(추측)
3. wce.exe를 확인해본 결과 관리자 패스워드를 추출하는 악성프로그램이였다.
4. 그로인해 원격데스크톱을 통해 관리자 권한으로 악성행위를 하였다.
분석을 다 못해서 아쉽긴 하지만 끝@
'CTF > CTF-D' 카테고리의 다른 글
CTF-D GrrCon 2015 정리 & 추가 분석 (0) | 2024.03.09 |
---|---|
CTF-D Cridex 정리 & 추가 분석 (0) | 2024.03.09 |
CTF-D Cridex 기초 분석 with Volatility (0) | 2024.02.23 |