티스토리 뷰
1. 운영체제 식별
imageinfo 플러그인을 사용해 운영체제를 확인해본 결과 Suggested Profile(s) 부분에 WinXPSPx86 로 추정된다.
2. 프로세스 확인
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WiXPSP2x86 pslist > pslist.log
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WiXPSP2x86 psscan > psscan.log
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WiXPSP2x86 pstree > pstree.log
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WiXPSP2x86 psxview > psxview.log
위 명령어들은 프로세스의 정보를 확인해주는 명령어로 프로세스 정보를 해당 log 파일로 저장한다라는 의미이다.
- pslist는 시간순으로 프로세스를 출력한다.
- pstree는 PID, PPID를 기준으로 부모-자식 관계를 파악하기 위해 사용한다.
- psscan은 offset 순서로 출력한다, 숨김 프로세스를 볼 수 있다.
- psxview는 pslist와 psscan등 총 7가지 도구를 결합한 도구인데 pslist와 psscan을 한꺼번에 볼 수 있다.
위 파일들을 종합했을 때 일단은 어도비 관련 프로그램 같은 것인 reader_sl.exe 파일이 조금은 의심스럽다
추가적으로 저 파일이 생성되고 이후에 생성된 파일들도 한번쯤 의심을 해보고 넘어가보자
3. 커맨드라인 확인
커맨드라인 정보를 확인하는 명령어
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 cmdscan > cmdscan.log
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 consoles > consoles.log
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 cmdline > cmdline.log
확인을 해보니 cmdline 외에는 아무것도 출력되지 않았다.
cmdline이란 해당 프로세스가 인자값과 함께 실행이 되었다는 것을 볼 수 있는데
우리가 의심스러워했던 reader_sl.exe는 경로 외엔 얻을 수 있는 정보가 없었다.
4. filescan
filescan이란 메모리 내에 존재하는 모든 파일에 대한 정보를 출력
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 filescan > filescan.log
이것도 reader_sl.exe를 찾아 offset 값을 확인한다. 그리고 이것을 dumpfile로 만들것이다.
사전에 file이라는 폴더를 하나 만들고 아래 명령어를 입력한다.
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 dumpfiles -Q 0x00000000023ccf90 -D .\files\ -n
이것은 메모리 내의 reaer_sl.exe 프로그램을 따로 뽑는 명령이다.
그램 해당 파일 안에 두개의 파일이 생성됐다.
혹여나 바이러스 파일일 가능성도 있으니 검사해보자
아래와 같이 virustotal이란 사이트에 해당파일을 검사해보자
음 조금 애매하다. 없다고 하기도 그렇고 있다고 하기도 그렇고 일단 더 확인해봐야 할 것 같다.
5. 네트워크 정보
connections란 연결된 통신에 대한 정보를 출력한다.
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 connections > connections.log
의미를 보면
- 172.16.112.128이 우리가 분석하고자하는 컴퓨터의 로컬 주소이다.
- 41.168.5.140은 원격지 주소로 8080 포트로 1484 프로세스에서 통신을 하고 있다.
- 1484 프로세스를 pstree로 확인했을 때 Explorer.exe.이고 이것은 reader_sl.exe의 부모 프로세스이다.
그렇게 저 둘은 부모와 자식 프로세스 관계로 아까 reader_sl.exe파일은 애매했지만 다시 의심스러워졌다.
6. memdump
dumps라는 폴더를 만들고 아래 명령을 입력한다.
해당 명령의 의미는 reder_sl.exe의 메모리 영역을 1640.dmp라고 저장한다.
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WinXPSP2x86 memdump -p 1640 -D .\dumps\
하지만 memdump를 확인해보니 가비지 값이 너무 많다.
그래서 strings로 변환해서 키워드를 검색할 것이다.
strrings .\dumps\1640.dmp > strings_1640.log
strings 값으로 만들어지고 다음에 connections에서 본 원격접속 ip에 대해 조사를 해보자
확인해 봤지만 확실하게 악성코드라고는 판단을 못하겠다.
7.procdump
procdump를 통해 프로세스의 exe 파일을 추출해보자
volatility_2.6_win64_standalone.exe -f .\cridex.vmem --profile=WiXPSP2x86 procdump -p 1648 -D .\dumps\
추출한 파일을 virustotal에 넣어보니 이건 악성코드 파일이구나라고 확신할 수 있다.
음 시나리오를 그리자면
reader_sl.exe 취약점을 통해 원격 url을 접속을 하고 strings 파일을 통해 확인한 은행관련 피싱인것 같다.
일단 기초 분석은 끝@
'CTF > CTF-D' 카테고리의 다른 글
CTF-D GrrCon 2015 정리 & 추가 분석 (0) | 2024.03.09 |
---|---|
CTF-D Cridex 정리 & 추가 분석 (0) | 2024.03.09 |
CTF-D, GrrCon 2015 with volatility (0) | 2024.02.29 |