【网络法医】恶意软件分析

【网络法医】恶意软件分析

1.yara离线分析

安装yara:

bash 复制代码
sudo apt-get install -y yara

可以使用此脚本从 github 下载并合并所有 yara 恶意软件规则(脚本地址):

python 复制代码
#!/usr/bin/env python
# encoding: utf-8

import os
import shutil

def get_rules_from_git():
	shutil.rmtree("./rules")
	os.system("git clone https://github.com/Yara-Rules/rules.git")

def list_yara_files():
	all_yara_files = []
	for root, directories, filenames in os.walk("./rules/malware"):
		print ("Processing " + root)
		filenames.sort()
		for file_name in filenames:
			rule_filename, rule_file_extension = os.path.splitext(file_name)
			if rule_file_extension == ".yar" or rule_file_extension == ".yara":
				all_yara_files.append(os.path.join(root, file_name))
	return all_yara_files

def remove_incompatible_imports(files):
	filtered_files = []
	for yara_file in files:
		with open(yara_file, 'r') as fd:
			yara_in_file = fd.read()
			if not (("import \"math\"" in yara_in_file) or ("import \"cuckoo\"" in yara_in_file) or ("import \"hash\"" in yara_in_file) or ("imphash" in yara_in_file)):
				filtered_files.append(yara_file)
	return filtered_files

def fix_duplicated_rules(files):
	filtered_files = []
	first_elf = True
	to_delete = False
	for yara_file in files:
		print ("Processing " + yara_file)
		with open(yara_file, 'r') as fd:
			yara_in_file = fd.readlines()
			for line in yara_in_file:
				if line.strip() == "private rule is__elf {":
					if first_elf:
						first_elf = False
					else:
						to_delete = True
				if not to_delete:
					filtered_files.append(line)
				if (not first_elf) and line.strip() == "}":
					to_delete = False
			filtered_files.append("\n")
	return filtered_files

def merge_rules(all_rules):
	with open("malware_rules.yar", 'w') as fd:
		fd.write(''.join(all_rules))

def main():
	get_rules_from_git()
	all_yara_files = list_yara_files()
	all_yara_filtered_1 = remove_incompatible_imports(all_yara_files)
	all_yara_filtered_2 = fix_duplicated_rules(all_yara_filtered_1)
	merge_rules(all_yara_filtered_2)

# Main body
if __name__ == '__main__':
	main()

之后,执行命令,将创建一个名为malware_rules.yar的文件,其中包含所有恶意软件的 yara 规则:

bash 复制代码
mkdir rules
python malware_yara_rules.py

最后,使用yara工具进行离线恶意软件分析:

bash 复制代码
yara -w malware_rules.yar image  # Scan 1 file
yara -w malware_rules.yar folder # Scan the whole folder

2.ClamAV离线分析

1、安装:

bash 复制代码
sudo apt-get install -y clamav

2、识别:

bash 复制代码
sudo freshclam      # Update rules
clamscan filepath   # Scan 1 file
clamscan folderpath # Scan the whole folder

3.YaraGen离线分析

1、下载YaraGen:

bash 复制代码
https://github.com/Neo23x0/yarGen

2、识别风险:

bash 复制代码
python3 yarGen.py --update
python3 yarGen.py --excludegood -m  ../../mals/

4.Loki离线分析

1、下载Loki

bash 复制代码
https://github.com/Neo23x0/Loki

2、检测基于四种检测方法:

bash 复制代码
1. File Name IOC
   完整文件路径/名称的正则表达式匹配

2. Yara Rule Check
   Yara 规则与文件数据和进程内存匹配

3. Hash Check
   将已知的恶意哈希值(MD5、SHA1、SHA256)与扫描的文件进行比较

4. C2 Back Connect Check
   将流程连接端点与 C2 IOC 进行比较

5.rkhunter rootkit离线分析

可以使用rkhunter工具来检查文件系统中是否存在可能的rootkit和恶意软件

官方网站:https://rkhunter.sourceforge.net/


6.PEstudio Windows恶意软件分析

可以获取 Windows 可执行文件的信息,并进行恶意软件的识别

下载地址:https://www.winitor.com/download

运行效果如图:


7.DiE恶意文件分析

Detect It Easy (DiE)是一款功能强大的文件类型识别工具,深受全球恶意软件分析师、网络安全专家和逆向工程师的喜爱。DiE 支持基于签名和启发式分析,可在包括Windows、Linux 和 MacOS在内的各种平台上高效地检查文件

下载地址:https://github.com/horsicq/Detect-It-Easy/

运行效果如图:


8.FLOSS混淆字符串识别

FLARE 混淆字符串求解器使用高级静态分析技术自动从恶意软件二进制文件中提取和反混淆所有字符串

flare-floss

使用示例:

1、从恶意软件二进制文件中提取混淆的字符串

bash 复制代码
floss malware.exe

2、仅提取堆栈和紧密字符串

bash 复制代码
floss --only stack tight -- suspicious.exe

3、不提取静态字符串

bash 复制代码
floss --no static -- backdoor.exe
相关推荐
冰淇淋百宝箱2 小时前
AI 安全时代:SDL与大模型结合的“王炸组合”——技术落地与实战指南
人工智能·安全
网络安全(king)2 小时前
网络安全知识:网络安全网格架构
安全·web安全·架构
anddddoooo2 小时前
域内证书维权
服务器·网络·网络协议·安全·网络安全·https·ssl
Dyan_csdn2 小时前
【Python项目】基于Python的Web漏洞挖掘系统
网络·python·安全·web安全
Moyo2036 小时前
前端web安全
前端·安全·web安全
JSZNZZ7 小时前
汽车软件︱AUTO TECH China 2025 广州国际汽车软件与安全技术展览会:开启汽车科技新时代
科技·安全·汽车
爱编程的小庄8 小时前
web安全:跨站请求伪造 (CSRF)
安全·web安全·csrf
顾比魁8 小时前
pikachu之CSRF防御:给你的请求加上“网络身份证”
前端·网络·网络安全·csrf
廾匸07058 小时前
《95015网络安全应急响应分析报告(2024)》
网络安全·行业报告·应急响应
仇辉攻防8 小时前
【云安全】云原生- K8S 污点横移
web安全·网络安全·云原生·容器·kubernetes·k8s·安全威胁分析