2023-08-03 19:12:22 +00:00
|
|
|
|
# 恶意软件分析
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
{% hint style="success" %}
|
|
|
|
|
学习并练习 AWS 黑客技术:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks 培训 AWS 红队专家 (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
|
|
|
学习并练习 GCP 黑客技术:<img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks 培训 GCP 红队专家 (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
<details>
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
<summary>支持 HackTricks</summary>
|
2023-12-30 12:15:15 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
* 检查[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
|
|
|
|
* **加入** 💬 [**Discord 群组**](https://discord.gg/hRep4RUj7f) 或 [**电报群组**](https://t.me/peass) 或 **关注**我们的 **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
|
|
|
* 通过向 [**HackTricks**](https://github.com/carlospolop/hacktricks) 和 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 仓库提交 PR 来分享黑客技巧。
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
|
|
|
|
</details>
|
2024-07-18 18:17:52 +00:00
|
|
|
|
{% endhint %}
|
2022-04-28 16:01:33 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
## 取证备忘单
|
2022-05-01 16:32:23 +00:00
|
|
|
|
|
2023-07-04 15:58:34 +00:00
|
|
|
|
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 在线服务
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
|
|
|
|
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
|
|
|
|
|
* [HybridAnalysis](https://www.hybrid-analysis.com)
|
2021-10-18 11:21:18 +00:00
|
|
|
|
* [Koodous](https://koodous.com)
|
|
|
|
|
* [Intezer](https://analyze.intezer.com)
|
2023-07-04 15:58:34 +00:00
|
|
|
|
* [Any.Run](https://any.run/)
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
## 离线防病毒和检测工具
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-07-04 15:58:34 +00:00
|
|
|
|
### Yara
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
#### 安装
|
2020-12-21 20:50:30 +00:00
|
|
|
|
```bash
|
2020-07-15 15:43:14 +00:00
|
|
|
|
sudo apt-get install -y yara
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
#### 准备规则
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
使用此脚本从 github 下载并合并所有 yara 恶意软件规则: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
|
|
|
|
创建名为 _**rules**_ 的目录并执行该脚本。这将创建一个名为 _**malware\_rules.yar**_ 的文件,其中包含所有恶意软件的 yara 规则。
|
2020-12-21 20:50:30 +00:00
|
|
|
|
```bash
|
2020-07-15 15:43:14 +00:00
|
|
|
|
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
|
|
|
|
|
mkdir rules
|
|
|
|
|
python malware_yara_rules.py
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
#### 扫描
|
2020-12-21 20:50:30 +00:00
|
|
|
|
```bash
|
2020-07-15 15:43:14 +00:00
|
|
|
|
yara -w malware_rules.yar image #Scan 1 file
|
2022-09-08 08:47:03 +00:00
|
|
|
|
yara -w malware_rules.yar folder #Scan the whole folder
|
2020-07-15 15:43:14 +00:00
|
|
|
|
```
|
2024-02-05 03:17:45 +00:00
|
|
|
|
#### YaraGen: 检查恶意软件并创建规则
|
2020-07-15 15:43:14 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
您可以使用工具 [**YaraGen**](https://github.com/Neo23x0/yarGen) 从二进制文件生成 yara 规则。查看这些教程:[**Part 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Part 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Part 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
2023-08-03 19:12:22 +00:00
|
|
|
|
```bash
|
|
|
|
|
python3 yarGen.py --update
|
|
|
|
|
python3.exe yarGen.py --excludegood -m ../../mals/
|
|
|
|
|
```
|
|
|
|
|
### ClamAV
|
2021-08-16 23:29:43 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
#### 安装
|
2021-10-18 11:21:18 +00:00
|
|
|
|
```
|
2020-07-15 15:43:14 +00:00
|
|
|
|
sudo apt-get install -y clamav
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
#### 扫描
|
2020-12-21 20:50:30 +00:00
|
|
|
|
```bash
|
2020-07-15 15:43:14 +00:00
|
|
|
|
sudo freshclam #Update rules
|
|
|
|
|
clamscan filepath #Scan 1 file
|
2022-09-08 08:47:03 +00:00
|
|
|
|
clamscan folderpath #Scan the whole folder
|
2020-07-15 15:43:14 +00:00
|
|
|
|
```
|
2023-07-04 15:58:34 +00:00
|
|
|
|
### [Capa](https://github.com/mandiant/capa)
|
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
**Capa**检测可执行文件中的潜在恶意**功能**:PE、ELF、.NET。因此,它将查找诸如Att\&ck战术或可疑功能,例如:
|
2023-07-04 15:58:34 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
- 检查OutputDebugString错误
|
|
|
|
|
- 作为服务运行
|
|
|
|
|
- 创建进程
|
2023-07-04 15:58:34 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
获取它在[**Github存储库**](https://github.com/mandiant/capa)中。
|
2023-07-04 15:58:34 +00:00
|
|
|
|
|
2023-12-30 12:15:15 +00:00
|
|
|
|
### IOCs
|
2021-08-16 23:29:43 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
IOC表示威胁指标。IOC是一组**用于识别**一些潜在不受欢迎的软件或已确认**恶意软件**的条件。蓝队使用这种定义来在其**系统**和**网络**中**搜索此类恶意文件**。\
|
2024-07-18 18:17:52 +00:00
|
|
|
|
共享这些定义非常有用,因为当在计算机中识别出恶意软件并为该恶意软件创建了一个IOC时,其他蓝队可以使用它更快地识别出恶意软件。
|
2021-08-16 23:29:43 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
创建或修改IOCs的工具是[**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**。**\
|
|
|
|
|
您可以使用诸如[**Redline**](https://www.fireeye.com/services/freeware/redline.html)之类的工具在设备中**搜索定义的IOCs**。
|
2021-08-16 23:29:43 +00:00
|
|
|
|
|
2023-07-04 15:58:34 +00:00
|
|
|
|
### Loki
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[**Loki**](https://github.com/Neo23x0/Loki)是一个用于简单威胁指标的扫描程序。\
|
2023-08-03 19:12:22 +00:00
|
|
|
|
检测基于四种检测方法:
|
2021-10-18 11:21:18 +00:00
|
|
|
|
```
|
2021-08-19 22:50:46 +00:00
|
|
|
|
1. File Name IOC
|
2023-08-03 19:12:22 +00:00
|
|
|
|
Regex match on full file path/name
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
|
|
|
|
2. Yara Rule Check
|
2023-08-03 19:12:22 +00:00
|
|
|
|
Yara signature matches on file data and process memory
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
|
|
|
|
3. Hash Check
|
2023-08-03 19:12:22 +00:00
|
|
|
|
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
|
|
|
|
|
|
2021-08-19 22:50:46 +00:00
|
|
|
|
4. C2 Back Connect Check
|
2023-08-03 19:12:22 +00:00
|
|
|
|
Compares process connection endpoints with C2 IOCs (new since version v.10)
|
2021-08-19 22:50:46 +00:00
|
|
|
|
```
|
2024-02-05 03:17:45 +00:00
|
|
|
|
### Linux 恶意软件检测
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[**Linux 恶意软件检测 (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/) 是一个针对 Linux 的恶意软件扫描器,采用 GNU GPLv2 许可发布,旨在解决共享托管环境中面临的威胁。它利用来自网络边缘入侵检测系统的威胁数据,提取正在攻击中使用的恶意软件并生成用于检测的签名。此外,威胁数据还来自用户提交的具有 LMD 结帐功能和恶意软件社区资源。
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2023-07-04 15:58:34 +00:00
|
|
|
|
### rkhunter
|
2020-12-23 19:52:25 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
类似 [**rkhunter**](http://rkhunter.sourceforge.net) 这样的工具可用于检查文件系统中可能存在的 **rootkits** 和恶意软件。
|
2020-12-23 19:52:25 +00:00
|
|
|
|
```bash
|
|
|
|
|
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
|
|
|
|
|
```
|
2023-07-04 15:58:34 +00:00
|
|
|
|
### FLOSS
|
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[**FLOSS**](https://github.com/mandiant/flare-floss) 是一个工具,将尝试使用不同的技术来查找可执行文件中的混淆字符串。
|
2023-07-04 15:58:34 +00:00
|
|
|
|
|
|
|
|
|
### PEpper
|
2020-12-23 19:52:25 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
[PEpper](https://github.com/Th3Hurrican3/PEpper) 检查可执行文件中的一些基本内容(二进制数据、熵、URL 和 IP、一些 yara 规则)。
|
2020-12-23 19:52:25 +00:00
|
|
|
|
|
2023-07-04 15:58:34 +00:00
|
|
|
|
### PEstudio
|
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[PEstudio](https://www.winitor.com/download) 是一个工具,允许获取 Windows 可执行文件的信息,如导入、导出、头部,还会检查病毒总数并找到潜在的 Att\&ck 技术。
|
2023-07-04 15:58:34 +00:00
|
|
|
|
|
|
|
|
|
### Detect It Easy(DiE)
|
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) 是一个工具,用于检测文件是否**加密**,还可以找到**打包程序**。
|
2023-07-04 15:58:34 +00:00
|
|
|
|
|
|
|
|
|
### NeoPI
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI) 是一个使用各种**统计方法**来检测文本/脚本文件中的**混淆**和**加密**内容的 Python 脚本。NeoPI 的预期目的是帮助**检测隐藏的 Web shell 代码**。
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2023-12-30 12:15:15 +00:00
|
|
|
|
### **php-malware-finder**
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) 尽最大努力检测**混淆**/**可疑代码**以及使用**经常用于** **恶意软件**/**Web shell** 的 **PHP** 函数的文件。
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
### Apple 二进制签名
|
2021-08-03 16:29:03 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
在检查一些**恶意软件样本**时,您应始终检查二进制文件的签名,因为签名的**开发人员**可能已与**恶意软件**有关。
|
2021-08-03 16:29:03 +00:00
|
|
|
|
```bash
|
|
|
|
|
#Get signer
|
|
|
|
|
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
|
|
|
|
|
|
|
|
|
|
#Check if the app’s contents have been modified
|
|
|
|
|
codesign --verify --verbose /Applications/Safari.app
|
|
|
|
|
|
|
|
|
|
#Check if the signature is valid
|
|
|
|
|
spctl --assess --verbose /Applications/Safari.app
|
|
|
|
|
```
|
2023-08-03 19:12:22 +00:00
|
|
|
|
## 检测技术
|
2021-08-03 16:29:03 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
### 文件堆叠
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
如果你知道某个包含**web服务器文件**的文件夹是在**某个日期**上次更新的。**检查**所有**web服务器文件**的创建和修改日期,如果有任何**可疑日期**,则检查该文件。
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2023-12-30 12:15:15 +00:00
|
|
|
|
### 基线
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-07-18 18:17:52 +00:00
|
|
|
|
如果文件夹的文件**不应该被修改**,你可以计算文件夹中**原始文件**的**哈希值**,并将其与**当前文件**进行**比较**。任何被修改的内容都会**引起怀疑**。
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2023-08-03 19:12:22 +00:00
|
|
|
|
### 统计分析
|
2021-08-19 22:50:46 +00:00
|
|
|
|
|
2024-02-05 03:17:45 +00:00
|
|
|
|
当信息保存在日志中时,你可以**检查统计数据,比如每个web服务器文件被访问的次数,因为web shell可能是其中之一**。
|