gonzalezbravoenrique/file-hashing
GitHub: gonzalezbravoenrique/file-hashing
该教程项目展示了在 Linux 下使用多种哈希算法生成和验证文件哈希的方法,服务于网络安全、数字取证和恶意软件分析等场景。
Stars: 0 | Forks: 0
# 如何在 Linux 中生成文件哈希
在 Linux 中,你可以使用不同的加密算法生成任何文件的哈希。
最常用的是:
- MD5
- SHA1
- SHA256
- SHA512
# 对文件进行哈希处理有什么作用?
哈希可以用来:
- 验证完整性
- 检测修改
- 比较文件
- 识别恶意软件
- 验证下载
- 进行取证分析
# SHA256(推荐)
这是目前最常用的算法。
## 语法
```
sha256sum archivo
```
## 示例
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha256sum muestra3unknown
```
结果:
```
5d41402abc4b2a76b9719d911017c592e7d8f8ab6e5d3b3f6f5f4e3d2c1b0a99 muestra3unknown
```
# MD5
较老且安全性较低,但仍用于快速检查。
## 语法
```
md5sum archivo
```
## 示例
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ md5sum muestra3unknown
```
# SHA1
目前被认为在加密强度上较弱。
## 语法
```
sha1sum archivo
```
## 示例
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha1sum muestra3unknown
```
# SHA512
比 SHA256 更健壮且长度更长。
## 语法
```
sha512sum archivo
```
## 示例
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha512sum muestra3unknown
```
# 对文件夹中的所有文件生成哈希
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha256sum *
```
# 将哈希保存到文件中
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha256sum * > hashes.txt
```
# 验证文件完整性
## 1. 创建哈希文件
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha256sum * > hashes.txt
```
## 2. 随后进行验证
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha256sum -c hashes.txt
```
结果:
```
muestra1unknown: OK
muestra2unknown: OK
```
如果文件发生更改:
```
muestra3unknown: FAILED
```
# 在网络安全和 Malware Analysis 中的应用
哈希在以下领域至关重要:
- SOC
- Threat Hunting
- Malware Analysis
- DFIR
- IOC Management
它可以用来:
- 识别恶意样本
- 比较恶意软件
- 在 VirusTotal 中搜索文件
- 检测篡改
- 共享妥协指标(IOC)
# 在 VirusTotal 中搜索哈希
示例:
1. 生成哈希:
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ sha256sum malware.exe
```
2. 复制哈希
3. 在 VirusTotal 中搜索
如果该文件之前已被分析过,VirusTotal 将显示有关它的信息。
# 相关工具
## 获取文件信息
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ file archivo
```
## 查看内部 strings
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ strings archivo
```
## 查看 hexadecimal 头部
```
(kali㉿kali)-[~/Downloads/archivos/unknown]
$ xxd archivo | head
```
# 结论
哈希是 Linux 和网络安全中用于验证完整性、识别文件和分析潜在威胁的一项核心技术。
目前对于通用用途最推荐的算法是通过以下方式使用 SHA256:
```
sha256sum archivo
```
标签:Cutter, DAST, DNS 反向解析, 哈希校验, 恶意软件分析, 数字取证, 网络安全, 自动化脚本, 隐私保护