촉촉한초코칩
2. Volatility Cridex 풀이 본문
Volatility 도구 : 메모리 관련 데이터를 수집해주는 도구
1) volatility -f <이미지> imageinfo
-> volatility_2.6_win64_standalone.exe -f ./cridex.vmem imageinfo
imageinfo : 메모리 덤프를 보고 volatility가 어떤 운영체제의 메모리 덤프인지 판단
어떤 운영체제인지에 대한 값이 앞으로의 모든 분석에서 사용된다.
모든 분석에 앞서서 imageinfo를 통해 메모리가 어떤 운영체제의 메모리인지 찾아야 한다.
2) pslist : 프로세스들의 리스트를 출력한다.
-> 출력되는 내용을 pslist.log에 저장한다.
3) volatility에서 프로세스들을 볼 수 있는 도구 : psscan, pstree, psxview -> log 파일은 Notepad++에서 확인한다.
작업 관리자처럼 한 줄 한 줄이 프로세스이다.
pslist -> 시간 순서대로 출력
psscan -> (offset 순서대로 출력) 숨김 프로세스를 볼 수 있다.
* offset : 메모리 덤프 파일에 어떤 위치에 존재하는지 주소가 나와있다.
pstree -> PID와 PPID를 기반으로 구조화해서 보여준다.
* PID : 프로세스 ID
* PPID : parents의 PID
psxview -> pslist와 psscan을 한눈에 볼 수 있는 도구.
* 여기서 pslist, psscan의 값이 같지 않으면 의심스러운 프로세스일 수 있다. (모든 경우는 아님)
-> 의심스러운 프로세스들의 목록을 만드는 것이 중요하다.
-> 프로세스 이름을 하나하나 검색해서 무엇인지 파악한다.
* 악성 프로세스들도 안전한 프로세스의 이름과 똑같은 경우가 있다. -> 다른 단서를 찾아서 구분해야 한다.
* PDF를 통한 악성코드 굉장히 많음 -> PDF를 여는 reader_sl.exe를 의심해본다. -> 그리고 pslist를 통해 해당 프로세스 이후에 실행된 프로세스도 같이 의심한다.
command line 정보 보기
메모리에서 command line 명령어를 치면 어떤 command line을 썼는지 검색해볼 수 있다.
cmdline : 프로세스가 실행될 때의 인자값 확인
-> 의심스러운 프로세스의 인자값을 확인한다.
cmdscan
consoles
filescan : 메모리 내에 존재하는 모든 파일에 대한 정보를 보여준다.
dumpfiles : reader_sl.exe 프로그램 추출
filescan 파일에서 의심스러운 프로세스 이름을 찾은 다음 offset 주소를 복사한다.
-n : 파일에 이름이 포함된 옵션
파일을 새로 만든 다음 저장한다.
메모리 내에 reader_sl 프로그램을 뽑아본 것 (exe 파일이다.)
그리고 virustotal에 넣어서 검사해본다. (아무 파일이나 놓으면 된다.)
총 67개의 백신에서 검사한 결과, 2개만이 악성코드 일지도 모른다고 검사함.
-> 애매..
확실한 것 찾아보기. -> 네트워크 정보를 본다.
connections : 연결된 TCP 통신 정보 출력
* local address : 분석하고자 하는 컴퓨터의 local 주소
* remote address : 원격지 주소
* local address와 remote address가 1484라는 프로세스를 통해 8080 port로 통신하고 있다.
-> pslist.log를 통해 PID가 1484인 프로세스를 찾는다.
-> 의심스러운 파일 memory dump 시도.
(작은 파일부터 시도한다.)
memdump : 프로세스의 메모리 부분을 dump해서 가져온다.
* reader_sl.exe를 1640.dmp로 저장 -> HxD로 확인
쓰레기 값을 제거하고 보기 위해서는 SysinternalSuite를 시스템 환경 변수로 등록하고 strings.exe를 실행시킨다.
1640.dmp를 string_1640.log로 바꿔서 출력한다.
메모리 덤프 안에서 remote address를 찾아본다.
reader_sl.exe가 remote address(explorer.exe)와 통신을 하고 있는지 확인한다.
해커의 웹사이트 주소로 추정.
reader_sl.exe -> 악성 PDF 문서 읽음 -> 취약점으로 인해 URL 접속 -> 은행 관련 피싱으로 추정
반복적으로 쓰이는 URL은 검색해서 확인해본다.
procdump : 실제로 실행됐던 악성 exe 파일
-> 보안 기능을 꺼준다.
* windows 보안 -> 바이러스 및 위험 방지 -> 설정 관리 -> 실시간 보호 끔
새로운 exe파일을 virustotal에서 검사한다.
(0 바이트는 추출이 제대로 되지 않았으므로 다시 추출해준다.)
악성코드 임을 확인할 수 있다.
-> 클릭하면 자세한 내용 확인 가능
결론 : reader_sl.exe -> 취약점 -> URL 접속 -> 은행 관련 피싱으로 추정
Volatility Cridex 정리 & 추가 분석
- 운영체제 식별 : WinXPSP2x86
- 프로세스 검색 : reader_sl.exe(1640) 의심
- 네트워크 분석 : explorer.exe의 1484 PID를 가진 라인의 41.168.5.140:8080 IP 식별. <- 공격자 IP라고 의심
- CMD 분석 -> 결과 없음
- 파일 분석 및 덤프 : filescan 사용해서 reader_sl.exe 추출 -> dumpfiles -> virustotal 검색 -> 애매한 결과
- 프로세스 세부 분석 : procdump 명령어로 reader_sl.exe 실행파일 추출 -> virustotal 검색 -> 악성코드 O
memdump 명령어로 reader_sl.exe 메모리 영역 덤프 -> strings -> 수상한 URL 발견
분석할 때 생각해야 하는 것
1. 어떤 경로로 해커가 들어왔는지 (침입 경로)
2. 어떻게 악성 행위를 했는지
3. 추가 공격 정황 파악
Cridex - 분석 결과
1. 침입 경로 : 확인 불가
2. 악성 행위
- 악성 프로세스 "reader_sl.exe" (PID : 1640) 식별
- 외부 통신 IP 41.168.5.140:8080 발견
- 프로세스 덤프 후 virustotal 검색 결과 -> 악성 프로세스 확인
- 프로세스 메모리 덤프 내부에서 수상해보이는 단서 확보
3. 추가 공격 : 확인 불가
Cridex - 추가 분석 가능한 부분들
1. explorer.exe 프로세스 분석
2. IP 추적 -> whois 에서 도메인 조회
3. 레지스트리 추출 - 자동 실행 관련 분석
4. explorer.exe 메모리 덤프 내부에 웹페이지 소스코드(HTML) 분석
'Study > Digital Forensic' 카테고리의 다른 글
2. Volatility 정리 (0) | 2022.07.13 |
---|---|
2. CTF-d, GrrCon 2015 풀이 (0) | 2022.07.13 |
2. 침해 사고 대응 기법 -> 메모리 포렌식 (0) | 2022.07.13 |
1. 삭제 파일 복구 (0) | 2022.07.13 |
1. 디스크 이미징, 마운트, 메모리 덤프 (0) | 2022.07.13 |