• Stars
    star
    171
  • Rank 222,266 (Top 5 %)
  • Language
    C++
  • License
    Other
  • Created over 1 year ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Yet Another Memory Analyzer for malware detection

YAMA

Yet Another Memory Analyzer for malware detection

Concept

YAMA is a system for generating scanner that can inspect specific malware during incident response. The scanner generated by YAMA is designed to explore the memory of Windows OS and detect malware. With the increasing prevalence of fileless malware that deploys only in memory, YAMA aims to facilitate quick response in incident handling by detecting such malware.

Features

  • Generate scanner that operates as a single binary
  • Detects malware using YARA rules and memory information
  • Creates malware detection binaries tailored for each user's IR needs by writing custom YARA rules
  • Outputs detection results in text/JSON format

How the scanner works

YAMA scanner operates as a Windows UserMode application, analyzing the memory spaces of processes running in user mode, scanning memory spaces with suspicious attributes using YARA, and identifying malware.

First, YAMA analyzes each process and extracts the following information:

  • Process address space information
  • Process PEB (Process Environment Block) structure
  • Process TEB (Thread Environment Block) structure
  • Process stack region
  • Process heap region
  • Process thread information
  • File mapping information for each virtual address space
  • Signature information of the mapped files

Next, YAMA determines the memory spaces to be inspected based on the analyzed information. This is done to select only necessary memory spaces and avoid performance impacts from searching the entire memory space.

Finally, YAMA inspects the targeted memory spaces using YARA rules embedded in the binary's resource section.

Use case

By combining YARA rules available on platforms like GitHub, it is possible to create a memory scanner that can investigate traces of specific targeted attack campaigns.

For example, building a YAMA scanner using the APT10 rule from JPCERTCC/jpcert-yara would create a tool suitable for threat hunting APT10 malware.

JPCERTCC/jpcert-yara offers numerous YARA rules compatible with various APT campaigns such as APT10, APT29, BlackTech, and Lazarus, as well as rules for different types of malware. It is highly recommended for reference.

How to build your custom YAMA scanner

Refer to the Wiki.

Dependencies

This project relies on the following open-source software to function properly:

Acknowledgements and Inspirations

We'd like to thank these GitHub repositories that inspired and influenced our project:

More Repositories

1

LogonTracer

Investigate malicious Windows logon by visualizing and analyzing Windows event log
Python
2,690
star
2

EmoCheck

Emotet detection tool for Windows OS
C++
669
star
3

MalConfScan

Volatility plugin for extracts configuration data of known malware
Python
478
star
4

aa-tools

Artifact analysis tools by JPCERT/CC Analysis Center
Python
452
star
5

SysmonSearch

Investigate suspicious activity by visualizing Sysmon's event log
JavaScript
417
star
6

ToolAnalysisResultSheet

Tool Analysis Result Sheet
HTML
341
star
7

phishurl-list

Phishing URL dataset from JPCERT/CC
HTML
150
star
8

DetectLM

Detecting Lateral Movement with Machine Learning
Python
137
star
9

MalConfScan-with-Cuckoo

Cuckoo Sandbox plugin for extracts configuration data of known malware
Python
134
star
10

jpcert-yara

JPCERT/CC public YARA rules repository
YARA
96
star
11

log-analysis-training

γƒ­γ‚°εˆ†ζžγƒˆγƒ¬γƒΌγƒ‹γƒ³γ‚°η”¨γ‚³γƒ³γƒ†γƒ³γƒ„
HTML
88
star
12

impfuzzy

Fuzzy Hash calculated from import API of PE files
Python
87
star
13

MemoryForensic-on-Cloud

Memory Forensic System on Cloud
HTML
84
star
14

Windows-Symbol-Tables

Windows symbol tables for Volatility 3
Python
71
star
15

cordova

Vulnerability Analysis of Hybrid Applications using Apache Cordova
HTML
55
star
16

Lazarus-research

Lazarus analysis tools and research report
Python
54
star
17

OWASPdocuments

Japanese translation of OWASP documents
HTML
52
star
18

STrelok

Application for STIX v2.0 objects management and analysis
Python
27
star
19

CobaltStrike-Config

Repository for archiving Cobalt Strike configuration
27
star
20

QuasarRAT-Analysis

QuasarRAT analysis tools and research report
Python
24
star
21

Lucky-Visitor-Scam-IoC

Automatically update IoC for lucky visitor scam
24
star
22

SurfaceAnalysis-on-Cloud

Surface Analysis System on Cloud
HCL
18
star
23

ToolAnalysisResultSheet_jp

εˆ†ζžγƒ„γƒΌγƒ«η΅ζžœγ‚·γƒΌγƒˆ
HTML
16
star
24

AutoYara4FLIRT

Python
14
star
25

cwe-1003-ja

CWE-1003 ζ—₯本θͺžθ¨³
9
star
26

vdo-json-schema

JSON Schema for Vulnerability Description Ontology (VDO)
JavaScript
8
star
27

JPCERT-IR-Statistics

JPCERT/CC Incident handling statistics
HTML
6
star
28

xml2evtx

Convert Event Log XML to EVTX file
Python
5
star
29

HUILoader-research

HUI Loader analysis research
4
star
30

GobRAT-Analysis

Python
1
star