Basic Malware Analysis - (3)

Gunter·2024년 5월 24일
0

Basic Malware Analysis

목록 보기
3/3

Introduction to Packing

  • 패커는 PE를 더 작은 파일로 압축하는 방법.
  • 패킹은 난독화의 한 형태
  • 목표는 탐지와 분석을 더욱 어렵게 만드는 것.
  • 악성코드가 패키징 되어있을 경우, 압축된 프고르매이 아니라 패커를 분석하고 있다.

  • 어떤 파일을 조사할 때, 가장먼저 찾아야 할 특성 중 하나가 패킹의 흔적이다.
  • 패킹은 인코딩을 사용하므로 프로그램을 숨기기 위한 암호화, 패킹 흔적을 엔트로피 계산을 통해 식별할 수 있다.
  • 파일 엔트로피 : 파일에 있는 데이터의 무작위성을 측정 ( 0 ~ 8.0 )
    (측정값이 0이면 엔트로피 없음. 측정값 8.0 은 매우 무작위적인 데이터)
  • 값이 8에 가까울수록 압축되거나 암호화될 가능성이 높다.

 




PEiD Tool

https://www.aldeid.com/wiki/PEiD

  • Used to detect common packers and compilers
  • 바이너리에 적용되는 서명을 사용
  • 서명은 바이트 패턴을 기반으로 한다.
  • Normal, Deep, Hardcore 모드가 있다. PEiD가 스캔하는 파일의 양을 결정.
    Normal : 프로그램의 진입점부터 스캔
    Deep : 전체 섹션을 스캔하여 검색을 확장. 진입점 포함
    Hardcore : 전체 파일 검사


상단 섹션 : PE 파일 구문 분석 정보 제공
하단 섹션 : 일치하는 서명이나 알려진 패커 또는 컴파일러에 대한 정보 제공

Entrypoint : 프로그램의 진입점 값. 프로그램 실행이 시작되는 곳
EP Section : 이게 어느 섹션에 속하는지 나타냄. EP 섹션 옆 화살표를 누르면 모든 섹션을 볼 수 있음.
원래 크기 V.size 가상 크기 R.size 잘 비교해야함. 프로그램이 메모리에 매핑될 때, 일반적으로 두 값은 가까워야 한다.
둘이 다르면 패킹되었을 수도

>>>> : 추가 정보 제공. 엔트로피 계산 가능

+) common packer Themida

 







💡 Quiz : Practice PEiD Tool

1. What is the "Entrypoint" address of the MIP4CK3D.exe file?

a. 00001807
b. 0000EFBE
c. 00011CA9
d. 000099A0

2. What is the Virtual/Raw Size of the first section of MIP4CK3D.exe?

a. 00007000, 00000400
b. 00007000, 00000000
c. 00002000, 00001E00
d. 00000000, 00000000

3.What is the Virtual/Raw Size of the .UPX1 section of MIP4CK3D.exe?

a. 00002000, 00001E00
b. 00007000, 00000000
c. 0000A000, 00000400
d. 00002200, 0000A000

4. What is the entropy of the MIP4CK3D.exe file?

a. 5
b. 1.53
c. 12.2
d. 7.47

5. What is the "Entrypoint" address of the M1P4CK3D.exe file?

a. 000099A0
b. 00001807
c. 0000EFBE
d. 00011CA9

6. What is the Virtual/Raw Size of the first section of the M1P4CK3D.exe file?

a. 00007000, 00000400
b. 0000149B, 00001600
c. 00002000, 00001E00
d. 0000140B, 00000000

7. What is the entropy of the M1P4CK3D.exe file?

a. 5.52
b. 1.53
c. 7.47
d. 12.2

 

8. Which of the two files is packed and which packer was used to pack it? (MIP4CK3D.exe/M1P4CK3D.exe)

a. MIP4CK3D, UPX
b. M1P4CK3D, Themida
c. M1P4CK3D, Obsidium
d. MIP4CK3D, MEW

PEiD는 PE 파일에 대한 가장 일반적인 패커, 암호화 도구 및 컴파일러를 감지합니다.
압축된 파일에 관한 정보가 표시되는 위치는 2곳입니다.
1은 기본 창의 도구 하단에 있습니다.
또 다른 장소는 "추가 정보" 창입니다. 창을 찾으려면 도구 하단에 있는 화살표(>> >>) 아이콘을 클릭하세요.
"감지됨" 필드는 파일이 압축되었는지 여부를 알려줍니다.

파일 M1P4CK3D.exe가 압축되지 않았습니다. (Microsoft Visual C++ 8을 사용하였습니다.)
파일 MIP4CK3D.exe가 압축되어 있습니다. (UPX 패커를 사용하였습니다. UPX 0.89.6 - 1.02 / 1.05 - 2.90 -> Markus & Laszlo)

 







Introduction to Macro Analysis

  • Microsoft Office 문서에는 포함된 코드가 포함될 수 있다. = 매크로
  • 매크로는 합법적인 비즈니스 목적으로 사용되지만 악성 코드를 전달하는 데 악용되는 경우가 많다
  • Office 문서는 다운로드되거나 내장된 페이로드를 포함할 수 있다.
  • 매크로의 특징 : 자동으로 실행되는 것. 추가적인 사용자 상호 작용이 필요 없이 매크로가 활성화되면 코드가 자동으로 실행된다.

 




OLETools

  • Oletools는 ms office 문서 및 outlook 메시지 분석에 사용되는 python 기반 스크립트 모음
  • ms의 개체 연결 및 포함 형식을 분석하고, 구문 분석을 위해 설계됨
  • 매크로 스크립트, 기타 잠재적인 리소스의 분석을 제공할 뿐만 아니라, 이 도구를 사용하면 추출도 가능하다


-h 명령어를 사용하면 oletools 유틸리티의 도움말을 볼 수 있음.

매우 간단하게 파일 이름만 제공하면 됨

Mraptor는 대부분의 매크로 악성 코드에 일반 텍스트로 존재하는 세 가지 동작 유형에 해당하는 키워드를 탐지

A - 자동 실행 트리거
W - 파일 시스템 또는 메모리에 쓰기
X - 외부에서 파일 또는 페이로드 실행 VBA 컨텍스트.
Mraptor는 A와 (W 또는 X)가 참일 때 매크로를 의심스러운 것으로 간주함
Oleid - 악성 파일에서 일반적으로 발견되는 특정 특성을 탐지하기 위해 OLE 파일을 분석하는 데 사용되는 도구
Olevba - MS Office 문서와 같은 OLE 및 OpenXML 파일을 구문 분석하여 VBA 매크로를 탐지하고 소스 코드를 추출하는 데 사용되는 스크립트

 





💡 Quiz : Macro File Investigation

1.First, we will use "mraptor". Open CMD and type the command ‘mraptor -r Desktop\Documents*’
Which files did you detect as suspicious?

a. File_1 and File_2
b. File_1 only
c. File_1 and File_3
d. File_2 only


2. What flags must be present for mraptor to categorize a file as "suspicious"?

a. "A" flag
b. "W" or "X" flag
c. "A" and "W" or "X" flag
d. None of the above

3. According to the "mraptor" result, why were the files marked as suspicious?

a. They contain suspicious links
b. There is no evidence why the tool marked these files as suspicious
c. They have embedded auto-execute code
d. They are EXE files disguised as office files

4. Now, we will use "oleid". Open CMD and type the command - "oleid File_3.xls" (Make sure to run the CMD from "Desktop\Documents" folder).
From an analyst perspective, what indicator has the most "value" for your investigation?

a. The file contains VBA Macros
b. Nothing here is of value
c. The file is a “Microsoft Excel” file
d. The file isn’t a “Word” document


5. Now we will use "olevba". Open CMD and type the command - "olevba -d File_1.xls" (Make sure to run the CMD from "Desktop\Documents" folder).
What suspicious IOC did you detect?

a. An IP address
b. Commands to download a file
c. PowerShell commands
d. All the above


6. Is it possible to determine at which stage the code is executed?

a. No, according to the output there is no way
b. Yes, the code is executed when the workbook is closed using the command "Workbook_close"
c. Yes, the code is executed when the workbook is open using the command "Workbook_open"
d. No, the code is not supposed to be executed

7. Analyzing the "Dump" file, what was the purpose of the embedded macro?

a. It downloads a PowerShell script to the victim’s machine, executes it and then deletes it
b. It communicates with the attacker and sends the user’s Windows credentials to the attacker’s IP
c. It opens a reverse shell to the attacker's IP address
d. It uploads any PowerShell script (*.ps1) to the attacker's machine

 





Dynamic Analysis

  • 동적 분석은 악성코드를 관찰하는 것.
  • 실행을 통해 진정한 의도를 더 잘 이해할 수 있음
  • Processes : 프로세스가 로드된 위치, 메모리에 어떤 DLL이 있는지, 프로세스에 대한 기타 속성
  • Network : 명령 및 제어 서버와 통신을 수행
  • File system : 악성 코드가 지속되는 위치 파악, 작업에 사용하는 위치, 로그 파일 및 추가 수정 사항
  • Operating system : eg. 레지스트리 수정. 악성코드가 지속성을 확보하도록 허용할 수 있음.

 

Common Tools

  • Sandboxes
  • Operating system modification tools : process monitoring, file system activity, registry modifications
  • Network activity : Wireshark

 




Malware Network Activities

  • malware가 일반적으로 네트워크를 어떻게 활용하는지 조사 ( eg. Initial access 초기 권한을 얻음 )
  • 이 단계에서 악성코드는 다른 호스트를 발견하려 한다.
  • 주요 목표 식별, 도메인 컨트롤러, 데이터베이스 서버, 호스트 및 이동을 계산하기 위한 스캐닝

Common Protocols

  • Initial delivery and access : HTTP, HTTPS
  • Lateral movement and internal discovery : SMB, RDP
  • Command and Control : HTTP, HTTPS, TCP, DNS, SSH
  • Data exfiltration : HTTP, HTTPS, FTP, SMTP, SMB

+) Wireshark를 이용한 트래픽 분석 전용 강좌가 있음. 여기서 다 알려줌
지금은 그냥 몇가지 예시만 보여줌



http를 검색해 http 파일 확인

  • 요청을 더 자세히 조사하기 위해 패킷을 우클릭. Follow -> HTTP Stream : HTTP 응답 페이로드를 볼 수 있음. PE 파일 포함.

  • tls 필터를 이용하여 보안 세션을 찾을 수 있음

 

+) 레지스트리 분석을 위해 Registry Editor, Regshot 등 사용.
+) Regshot은 레지스트리의 스냅샷을 찍도록 설계된 tool

+) 파일 활동을 모니터링하기 위해 ProcMon이라고 하는 프로세스 모니터 유칠리티 사용.

0개의 댓글