맬웨어 식별 훈련 :: 프로세스 이상징후 분석 실습

이전 실습과 겹치는 내용이 많아 복습개념으로 하는 실습

 

 

dlllist.txt: 메모리에 로드된 exe파일과 dll 파일의 경로정보 포함
C:\Windows, C:\Program Files, systemroot 이외의 일반적이지 않은 경로 찾는 게 도움 됨

> grep -i "commanad line" dlllist.txt | grep -v -i "c:\\windows" | grep -v -i "c:\\program files"| grep -v -i "systemroot"

 

  • C:\Windows\system32는 기본적으로 환경변수에 절대 경로가 등록되어 있어 wininit.exe, winlogon.exe, taskhost.exe의 절대경로가 표시되지 않음
  • C:\Users\admin\AppData\Local\Temp 아래에 생성된 프로그램이 실행되는 것은 경로가 일반적이지 않음
    → 이상징후

cat pstree.txt
cat pslist.txt | grep "svchost"

 

svchost.exe의 PPID = services.exe의 PID = 508 ▷정상이다

 

이번에는 dllhost를 분석해 보자

dllhost.exe: svchost와 유사한 기능으로 dll 파일을 메모리에 로드할 때 사용하고 여러 개가 존재할 수 있다

+ dllhost의 부모 프로세스는 services\svchost

 

cat pslist.txt | grep "dlllist.txt"

 

첫 번째 dllhost는 services.exe, 두 번째는 svchost의 자식 프로세스임을 확인 가능

 

 

dllhost는 “dllhost.exe/Processid:{CLSID}” 형식임
+ CLSID는 레지스트리→HKCR\AppID에 위치함

 

이쯤에서 빌트인 프로세스들을 복습하고 가기!

 

smss.exe session management process, 부팅될때 로그인 이전에 최초로 실행되는 취상위 프로세스 중 하나. 마스터 smss.exe가 새로운 세션을 위해 smss.exe를 생성하고 그 하위에 csrss/wininit/winlogon.exe 등이 생성됨. 이후 마스터 smss는 종료되므로 하위 smss들의 ppid는 동일
wininit.exe 부팅과정에서 초기에 실행되는 프로세스 중 하나, lsass/services/lsaiso.exe 등 주요 프로세스 생성
lsass.exe local security authority servince. 사용자 그룹에 대한 로그인, 패스워드, 보안 로그 등 관리
lsm.exe local session manager service, 시스템의 로그인 세션 연결 관리
spoolsv.exe 프린터 스풀러 서비스
SearchIndexer.exe 파일 검색 및 인덱싱
Dumpit 메모리 덤프 용도

 

 

이 중에서 smss.exe를 확인해 보자

process manager에 들어가서 process tree를 보면 된당

 

 

winlogon 프로세스가 아이디, 패스워드를 받으면 lsass에 전달→ lsass는 전달받은 값들을 검증

 

 

calc.exe 프로세스는 explorer.exe/svchost.exe의 자식 프로세스인데 PID가 4020인 프로세스가 보이지 않으므로 이상징후
→ 정상적인 계산기 프로세스 안에 악성코드 삽입된 것으로 추정됨