mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-30 08:30:57 +00:00
164 lines
7.4 KiB
Markdown
164 lines
7.4 KiB
Markdown
# 恶意软件分析
|
||
|
||
<details>
|
||
|
||
<summary><strong>从零开始学习AWS黑客技术,成为专家</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE(HackTricks AWS红队专家)</strong></a><strong>!</strong></summary>
|
||
|
||
支持HackTricks的其他方式:
|
||
|
||
* 如果您想看到您的**公司在HackTricks中做广告**或**下载PDF格式的HackTricks**,请查看[**订阅计划**](https://github.com/sponsors/carlospolop)!
|
||
* 获取[**官方PEASS & HackTricks周边产品**](https://peass.creator-spring.com)
|
||
* 探索[**PEASS家族**](https://opensea.io/collection/the-peass-family),我们的独家[**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
* **加入** 💬 [**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来分享您的黑客技巧。
|
||
|
||
</details>
|
||
|
||
## 取证备忘单
|
||
|
||
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
|
||
|
||
## 在线服务
|
||
|
||
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
|
||
* [HybridAnalysis](https://www.hybrid-analysis.com)
|
||
* [Koodous](https://koodous.com)
|
||
* [Intezer](https://analyze.intezer.com)
|
||
* [Any.Run](https://any.run/)
|
||
|
||
## 离线防病毒和检测工具
|
||
|
||
### Yara
|
||
|
||
#### 安装
|
||
```bash
|
||
sudo apt-get install -y yara
|
||
```
|
||
#### 准备规则
|
||
|
||
使用此脚本从 github 下载并合并所有 yara 恶意软件规则:[https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||
创建 _**rules**_ 目录并执行该脚本。这将创建一个名为 _**malware\_rules.yar**_ 的文件,其中包含所有恶意软件的 yara 规则。
|
||
```bash
|
||
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
|
||
mkdir rules
|
||
python malware_yara_rules.py
|
||
```
|
||
#### 扫描
|
||
```bash
|
||
yara -w malware_rules.yar image #Scan 1 file
|
||
yara -w malware_rules.yar folder #Scan the whole folder
|
||
```
|
||
#### YaraGen: 检查恶意软件并创建规则
|
||
|
||
您可以使用工具 [**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/)
|
||
```bash
|
||
python3 yarGen.py --update
|
||
python3.exe yarGen.py --excludegood -m ../../mals/
|
||
```
|
||
### ClamAV
|
||
|
||
#### 安装
|
||
```
|
||
sudo apt-get install -y clamav
|
||
```
|
||
#### 扫描
|
||
```bash
|
||
sudo freshclam #Update rules
|
||
clamscan filepath #Scan 1 file
|
||
clamscan folderpath #Scan the whole folder
|
||
```
|
||
### [Capa](https://github.com/mandiant/capa)
|
||
|
||
**Capa**检测可执行文件中的潜在恶意功能:PE、ELF、.NET。因此,它会发现诸如Att\&ck战术或可疑功能,例如:
|
||
|
||
- 检查OutputDebugString错误
|
||
- 作为服务运行
|
||
- 创建进程
|
||
|
||
获取它在[**Github存储库**](https://github.com/mandiant/capa)中。
|
||
|
||
### IOCs
|
||
|
||
IOC表示威胁指标。IOC是一组**用于识别**一些潜在不受欢迎的软件或已确认**恶意软件**的条件。蓝队使用这种定义来在其**系统**和**网络**中**搜索此类恶意文件**。\
|
||
共享这些定义非常有用,因为当在计算机中识别恶意软件并为该恶意软件创建IOC时,其他蓝队可以使用它更快地识别恶意软件。
|
||
|
||
创建或修改IOC的工具是[**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**。**\
|
||
您可以使用诸如[**Redline**](https://www.fireeye.com/services/freeware/redline.html)之类的工具在设备中**搜索定义的IOC**。
|
||
|
||
### Loki
|
||
|
||
[**Loki**](https://github.com/Neo23x0/Loki)是一个用于简单威胁指标的扫描器。\
|
||
检测基于四种检测方法:
|
||
```
|
||
1. File Name IOC
|
||
Regex match on full file path/name
|
||
|
||
2. Yara Rule Check
|
||
Yara signature matches on file data and process memory
|
||
|
||
3. Hash Check
|
||
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
|
||
|
||
4. C2 Back Connect Check
|
||
Compares process connection endpoints with C2 IOCs (new since version v.10)
|
||
```
|
||
### Linux 恶意软件检测
|
||
|
||
[**Linux 恶意软件检测 (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/) 是一个针对 Linux 的恶意软件扫描器,采用 GNU GPLv2 许可发布,旨在解决共享托管环境中面临的威胁。它利用来自网络边缘入侵检测系统的威胁数据,提取正在攻击中使用的恶意软件,并生成用于检测的签名。此外,威胁数据还来自用户提交的数据,使用 LMD 结账功能以及恶意软件社区资源。
|
||
|
||
### rkhunter
|
||
|
||
类似 [**rkhunter**](http://rkhunter.sourceforge.net) 这样的工具可用于检查文件系统中可能存在的 **rootkits** 和恶意软件。
|
||
```bash
|
||
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
|
||
```
|
||
### FLOSS
|
||
|
||
[**FLOSS**](https://github.com/mandiant/flare-floss) 是一个工具,将尝试使用不同的技术在可执行文件中查找混淆的字符串。
|
||
|
||
### PEpper
|
||
|
||
[PEpper](https://github.com/Th3Hurrican3/PEpper) 检查可执行文件中的一些基本内容(二进制数据、熵、URL 和 IP、一些 yara 规则)。
|
||
|
||
### PEstudio
|
||
|
||
[PEstudio](https://www.winitor.com/download) 是一个工具,可以获取 Windows 可执行文件的信息,如导入、导出、头部,还会检查病毒总数并查找潜在的 Att\&ck 技术。
|
||
|
||
### Detect It Easy(DiE)
|
||
|
||
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) 是一个工具,用于检测文件是否加密,并查找打包程序。
|
||
|
||
### NeoPI
|
||
|
||
[**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI) 是一个使用各种统计方法来检测文本/脚本文件中混淆和加密内容的 Python 脚本。NeoPI 的预期目的是帮助检测隐藏的 Web shell 代码。
|
||
|
||
### **php-malware-finder**
|
||
|
||
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) 尽最大努力检测混淆/可疑代码以及使用 PHP 函数的文件,这些函数通常在恶意软件/webshell 中使用。
|
||
|
||
### Apple 二进制签名
|
||
|
||
在检查一些恶意软件样本时,您应始终检查二进制文件的签名,因为签署它的开发人员可能已与恶意软件相关联。
|
||
```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
|
||
```
|
||
## 检测技术
|
||
|
||
### 文件堆叠
|
||
|
||
如果你知道某个包含**web服务器文件**的文件夹是在**某个日期**上次更新的。**检查**所有**web服务器文件**的创建和修改日期,如果有任何**可疑日期**,则检查该文件。
|
||
|
||
### 基线
|
||
|
||
如果文件夹中的文件**不应该被修改**,你可以计算文件夹中**原始文件**的**哈希值**,并将其与**当前文件**进行**比较**。任何被修改的内容都会**引起怀疑**。
|
||
|
||
### 统计分析
|
||
|
||
当信息保存在日志中时,你可以**检查统计数据,比如每个web服务器文件被访问的次数,因为web shell可能是其中之一**。
|