Gunra - Memory Forensic

goldenGlow_21·2025년 7월 26일

Forensic

목록 보기
1/1

분석 개요

상황 설정

  • 피해자는 인터넷을 통해 악성코드가 담긴 실행파일을 전송받음
  • 해당 실행파일을 눌러 랜섬웨어에 감염됨
  • 피해자는 PC의 감염 시점에 이상함을 느끼고 메모리 덤프를 추출함
  • 감염이 진행되고, 문서의 암호화와 README 파일의 추출까지 끝난 시점에 추가적으로 메모리 덤프를 1번 더 수행해, 디지털 포렌식을 공부중인 (---)에게 분석을 의뢰함

분석 대상 및 환경

  • 분석 대상: win7.vmem
  • 분석 환경: WSL - Ubuntu 24.04 LTS(Host: Windows 11 Pro)
  • 분석 도구: Volatility 3 Framework 2.26.0

분석 시작

프로세스 확인

pslist

  • 다수의 시스템 프로세스와 함께 a82e496b7b5279라는 이름의 특이 프로세스를 확인
  • PPID 값으로 미루어 보아 explorer.exe, 즉 파일 탐색기에 의해 실행된 것으로 보임

psscan

  • 은닉된 프로세스를 식별해내기 위해 추가적으로 수행

  • pslist로 발견한 a82e496b7b5279 프로세스에 더하여 gPtrA 라는 이름의 특이 프로세스를 발견함

gPtrA - 특이사항

  • PID / PPID
    - 125632099516416 / 121424303320932
    - 의도적으로 조작된 듯한, 특이적인 값
  • threads
    - 131072
    - 예외적인 상황을 고려하더라도 일반적으로는 나타나지 않는, 비정상적인 숫자의 스레드 개수를 식별함
  • Wow64
    - True
    - 이 자체로 문제 될 것은 없으나, 32bit 기반으로 동작한다는 점 또한 특이사항에 해당함
  • Timestamp
    - 2008-08-17 14:20:24.000000 UTC
    - 시스템 시간(2025-07-25 03:28:02.000000 UTC)과 상당히 괴리된 값
    - 의도적으로 Timestomping이 가해진 형태로 보임

cmdline

  • a82e496b7b5279 프로세스의 실행 기록을 확인 가능
  • 바탕화면에 위치한 악성 실행파일을 실행시킨 것이 감염의 직접적인 원인으로 보임

malfind

  • malfind로 프로세스 메모리 내 의심스러운 실행 권한 메모리 영역(PAGE_EXECUTE_READWRITE 등)을 탐색

의심 정황 1

  • svchost.exe, explorer.exe, wmpnetwk.exe의 메모리 영역들에서 동일한 형태의 쉘 코드가 반복됨
  • 41 ba 80 00 00 00 48 b8 38 a1 da fd fe 07 00 00 48 ff 20 90
  • 공격에 자주 이용되는 svchost.exe, explorer.exe 를 대상으로 코드 인젝션 공격이 이루어졌을 수 있겠음을 의심

의심 정황 2

  • 대부분의 시스템 프로세스는 PAGE_EXECUTE_READWRITE 권한을 갖지 않음
  • 하지만 다음 프로세스들에 PAGE_EXECUTE_READWRITE 권한이 부여됨
    - svchost.exe (PID 812, 788)
    - explorer.exe(PID 1928)
    - wmpnetwk.exe(PID 2068)
    - SearchFilterHost.exe(PID 2148)
  • 사용자 권한의 프로세스에 실행 가능한 메모리 영역이 있다는 건 상당히 부자연스러움
  • 코드 인젝션이 일어났을 가능성을 배제할 수 없음

driverscan

  • 드라이버 단에서 rootkit이 있는지 확인하기 위해 driverscan을 수행

의심 정황 1

  • 0x7e6cd2b0
    • Name: \Driver\Win32k
    • Start: 0xf96000010000, Size: 0x0
  • 0x7ffc2e70
    • Name: \Driver\PnpManager
    • Start: 0xf80002a0d000, Size: 0x0
  • 0x7ffed290
    • Name: \Driver\ACPI_HAL
    • Start: 0xf80002ff7000, Size: 0x0
  • 0x7ffee290
    • Name: \Driver\WMIxWDM
    • Start: 0xf80002a0d000, Size: 0x0
  • 총 4개 항목이 드라이버 메모리 크기가 0
  • 누수 등으로 인한 오류거나 변조/후킹된 드라이버일 가능성 존재

의심 정황 2

  • 0x7ff48570:
    - Service Key: -, Driver Name: RAW, Path: \FileSystem\RAW
  • 검색 결과, RAW로 나타나는 건 파티션이 손상되어 읽어올 수 없는 경우라고 함
  • 덤프 당시 디스크의 상태가 비정상적으로 손상되었을 가능성을 배제한다면 위장 드라이버일 가능성이 존재한다

의심 정황 3

  • \Driver\PnpManager (0x7ffc2e70)
  • \Driver\WMIxWDM (0x7ffee290)
  • 보통의 경우에는 드라이버는 고유한 메모리 공간을 사용
  • 그러나 이 두 드라이버는 start 주소를 공유한다
  • 두 드라이버 모두 오류가 발생해 이름만 할당되고(사이즈 0) 또 오류가 발생해 같은 start 주소를 가지게 될 경우를 배제한다면... 메모리 오버레이 / 후킹 / 은닉 기법 등이 가능해 보인다

\Driver\PnpManager 라는 드라이버는 존재하지 않는다


  • 추가적인 이상징후 판단이 어렵다고 판단, 초기에 식별한 a82e496b7b5279 프로세스로 돌아간다

filescan

  • 0x7df345c0 주소에 a82e496b7b5279 프로세스를 트리거한 실행 파일이 존재함을 확인했다

dumpfiles

  • 추출한 .dat / .img 파일 모두에서, 해당 실행파일이 gunra ransomware임이 높은 신뢰도로 추정된다
profile
안드로이드는 리눅스의 꿈을 꾸는가

2개의 댓글

comment-user-thumbnail
2025년 7월 28일

포렌식은 내 길이 아님을 다시 한번 느끼고 이만 물러납니다.

1개의 답글