
文件完整性是可靠下载和计算机严重问题之间的关键一线。使用 Sigcheck 等合适的工具进行检查,可以确保软件安装过程安全可靠,避免软件出现俄罗斯轮盘赌般的问题。本文将详细介绍如何使用 Sigcheck。 Sigcheck、哈希和签名 以确保磁盘上的内容正是它应该有的内容。
除了 Sigcheck 之外,我们还将回顾哈希函数(MD5、SHA-1、SHA-2、SHA-3、BLAKE2/3),如何在不安装任何东西的情况下从 Windows 和 Linux 执行此操作,如何验证列表以及如何支持您 VirusTotal 和 PGP 签名 当文件附带 .sig 或你的包管理器需要它时。所有这些都将通过实用的方法进行解释, 一步一步地 comandos 准备复制。
Sigcheck 是什么?为什么随身携带它是个好主意?
Sigcheck 是 Sysinternals (Microsoft) 的一个命令行实用程序,可显示文件的版本、时间戳、数字签名和证书链;它还可以查询 恶意软件 en VirusTotal甚至上传不存在的样本。换句话说,它会告诉你一个可执行文件是否 已签署并受信任,并且您的哈希值是否已被防病毒引擎检测到。
它的优点之一是,它可以列出系统存储中的证书,检查证书是否被撤销(或按需禁用),并递归遍历目录以查找未签名的二进制文件。在实际场景中,你可以用它来查找 System32 中的未签名文件,验证链的到期日期并获取哈希值以将其与官方来源进行比较。
Sigcheck 的基本语法和关键选项
可执行文件接受多种组合,首先是一般语法: sigcheck [选项]以下是日常生活中最有用的旗帜,它们都旨在 审计签名、哈希值和声誉 文件。
输出和细节的特色选项:
- -a:显示扩展版本信息,以及内容的熵度量(每字节的位数)。
- -h:打印文件的哈希值。
- -i:显示目录和签名链。
- -m:抛弃宣言。
- -n:仅输出版本号。
- -c/-ct:逗号或制表符分隔的 CSV 输出 自动报告.
路线和格式选项:
- -s:遍历子目录。
- -e:仅检查可执行映像(忽略扩展名)。
- -l:遵循符号链接和连接点。
- -无横幅:隐藏启动横幅;理想情况下 静默脚本.
与 VirusTotal 集成:
- -vt:接受 VirusTotal 使用条款(查看所需)。
- -v[rs]:通过哈希查询信誉;添加“r”打开带有检测的报告,添加“s”上传未分析的文件。
- -u:如果启用了 VirusTotal,则显示未知或检测到;如果没有启用,则仅显示 未签名的文件.
- -o:使用先前在 Sigcheck CSV(离线友好模式)中捕获的哈希执行 VT 搜索。
证书和撤销:
- -t[u][v]:转储证书存储的内容;使用 -tu 查询用户存储,使用 -tv 进行过滤 微软的信任根源.
- -r:禁用撤销检查(明智使用)。
- -p:根据特定签名策略进行验证(通过 GUID),在以下情况下很有用 企业环境.
其他有用的功能:
- -d:转储目录文件的内容。
- -f:在指定的目录文件中搜索签名。
在 System32 中搜寻无符号二进制文件的经典使用示例:
sigcheck -u -e C:\\Windows\\System32
从该列表中,冷静地调查每个元素的用途。 未签名 在做出决定之前。
在实践中使用 Sigcheck 检查诚信和声誉
如果您想结合签名和 AV 信誉,请先接受 VT 条款,并在必要时运行带有示例上传的查询。这允许您将本地加密完整性与 集体智慧 数十台发动机。
VT 声誉的建议顺序:
- 接受条款:
sigcheck -vt <archivo> - 查看并打开正面报告:
sigcheck -vrs <archivo> - 过滤树中的未知数/正数:
sigcheck -u -s -v <carpeta>
这样,您就可以快速检测出有问题的可执行文件,从而加强 完整性和出处.
对于大规模审计,建议导出为 CSV 文件并使用电子表格或 SIEM 进行处理。 -h 你得到哈希值并且 -ct 易于解析的标签: sigcheck -h -ct -s C:\\Rutas\\De\\Interes > inventario.tsv之后,您可以使用 -o 当您再次拥有网络时,可以通过该 CSV/TSV 向 VT 进行离线查询。
哈希函数:它们是什么、使用哪些函数以及它们为什么重要
哈希相当于 指纹图 文件的:即使更改一个位,最终结果也会完全不同。正因如此,它们被广泛用于验证下载内容是否与原始文件相同,或用于确保取证磁盘的完整性。
经典算法及实际影响:
- MD5:在当时非常快且广泛,但存在冲突;对于对抗完整性来说并不安全。然而,它仍然存在于内部工作流程中,其中 速度至关重要 并且风险较低。
- SHA-1:也存在碰撞问题;最好避免用于新用途。
- SHA-2 (224/256/384/512):完整性和身份验证的当前标准;SHA-256 是制造商推荐的通配符, 分布.
- SHA-3:现代 NIST 认可的替代方案,输出长度相当于 SHA-2。
- 布莱克2/布莱克3:非常快速且安全;在您需要时很有用 高性能 对于大容量。
请记住,哈希函数是单向的:将密码存储为哈希需要特定的方案(例如, bcrypt 或 Argon2),而不是像未强化的 SHA-256 那样的快速哈希。
无需安装任何东西即可在 Windows 上进行验证:PowerShell 和 Certutil
Windows 内置了解决大多数情况的工具。 PowerShell的 您可以在一秒钟内获取哈希值并将其与提供商发布的哈希值进行比较,这允许您 快速验证 安装之前。
电源外壳:
Get-FileHash "C:\\Ruta\\archivo.ext" -Algorithm SHA256
将结果与官方哈希值进行比较;如果匹配,则说明下载内容未被篡改。您可以将 SHA256 更改为 SHA1、SHA384 或 SHA512 取决于网站发布的内容。
Certutil(命令提示 或 PowerShell):
certutil -hashfile "C:\\Ruta\\archivo.ext" SHA256
它非常适合脚本编写和批量检查;它将你的算法与声明的算法对齐 制造商 在他们的网站上。
Linux 中的验证:cksum、md5sum、sha256sum 和列表验证
在 GNU/Linux 中,核心实用程序中有标准求和函数。为了保证内部完整性,你可以使用 校验和(CRC32),而为了真正安全,则使用 sha256sum/sha512sum。机制相同:在本地计算,然后与已发布的哈希值进行比较。
基本命令:
- CRC32 快速地:
cksum archivo - MD5:
md5sum archivo - SHA-256:
sha256sum archivo
替代品 sha1sum、sha224sum、sha384sum、sha512sum 它们的工作原理相同;选择来源指示的算法。
检查表:当您有大量文件时,使用 .sfv/.md5 列表等会更方便。为了验证它们,您可以使用 CKSFV o CFV,非常有用的工具 终端.
列表示例:
- 安装 cksfv:
sudo apt install cksfv - 检查清单:
cksfv -g /ruta/lista.sfv 创建新列表:cksfv fichero1 fichero2 > listado.sfv
连接器 CFV 您将获得广泛的支持(.sfv、.md5、.par2、.crc、sha1sum、md5sum……):
- 安装:
sudo apt install cfv - 查看:
cfv -f /ruta/test.sfv - 创建:
cfv -C -flista.sfv -tsfv documento.pdf documento2.jpg
PGP 签名和 .sig 文件:以 .tar.zst.sig 包为例
Si 下载 带有一个包 .sig 文件 附加(在 Arch 等发行版中很常见),验证不再是简单的哈希,而是一个 加密签名 使用 OpenPGP。这里的目标是确认文件已由维护者的密钥签名,并且未被篡改。
如何使用 GnuPG 手动验证:
- 导入维护者的公钥或同步发行版的密钥环。
- 跑:
gpg --verify paquete.tar.zst.sig paquete.tar.zst
如果 GnuPG 指示签名有效且密钥属于受信任的开发者,则完整性和作者身份得到保证。在 Arch 上, 吃豆子 y 制作包 他们使用 pacman-key 自动执行此操作;手动操作过程相同:验证 PGP 签名是否与下载的文件匹配。
比较文件:此副本与原件相同吗?
要验证复制的文件是否与原始文件一致,请计算两者的哈希值并进行比较。如果值匹配,则副本正确。 一点一点地相同如果它们不同,则说明在此过程中发生了一些变化(损坏、截断、编辑……)。
简单示例:
- 原始数据:
sha256sum documento.bin 复制:sha256sum documento_copia.bin
通过比较它们,你可以确定该过程(转移、 存储,压缩)保留了 廉正.
适用于各种流程的免费图形工具
如果您更喜欢用户友好的界面,那么有一些非常高效且轻量级的实用程序。其中一些可以在 Windows、Linux 和 macOS 上运行,并支持多种算法和额外功能,例如比较文件夹、检查目录或 生成列表.
推荐选择:
- 快速哈希 (Win/Linux/macOS):开源、清晰的 GUI、支持 MD5、SHA-1/2/3、xxHash、BLAKE2/3;包括文本、单个文件、多个文件、验证副本、比较两个文件/文件夹等模块,以及 磁盘哈希.
- HashMyFiles (Windows,便携式):生成大量哈希值(SHA*、CRC32、MD5),集成上下文菜单并与 拖放.
- 多哈希器 (Windows):文件夹和子文件夹的哈希值;支持 CRC32、MD5、RIPEMD-160、SHA-1/256/384/512。
- MD5和SHA Checksum实用程序 (Windows):获取并验证 MD5、SHA-1、SHA-256、SHA-512,导出为 CSV/HTML/TXT。
更多有趣的选项:
- HashCalc:计算哈希值、校验和和 HMAC;支持多种算法和大尺寸。
- MD5哈希校验:比较值并集成到上下文菜单中;支持广泛的 算法.
- 哈瑟精简版:简单、拖放,免费版本每批最多处理 100 个文件。
- 死哈希:支持 MD4、MD5、SHA-1/224/256/384/512、RIPEMD160、CRC32;非常适合 快速检查.
- 哈希生成器:生成 MD2/3/4/5、CRC32、Whirlpool、RIPEMD、HAVAL 系列;对于基本完整性很有用。
- FCIV(文件校验和完整性验证器):用于 MD5/SHA-1/256 的经典 Microsoft 工具。
- 校验和控制:适用于 MD5 和 SHA-1 的开源和跨平台(Win/macOS/Linux)。
Windows 上的 HashCheck:Explorer 集成
HashCheck 在 Windows 的文件属性中添加了一个“校验和”选项卡,显示 CRC-32、MD4、MD5 和 SHA-1 值。在这里,您可以保存校验和文件,稍后打开时,程序会告诉您该文件是否已校验。 改性 因为您生成了哈希值。
典型流程:
- 文件属性 > 校验和选项卡 > 保存列表。
- 您编辑该文件(或替换它)并重新打开列表。
- 如果 HashCheck 检测到更改,它会将差异标记为红色(不正确)。这是一种非常方便的方法 审计文件夹 配有单个控制文件。
超越诚信:何时以及为何使用每种方法
使用 哈希 当你的来源发布预期值时;你只需要在本地重新计算并进行比较。使用 PGP签名 当发行版或项目发布 .sig 或维护者公钥时。如果您怀疑可执行文件存在问题,请结合 数字签名+VirusTotal 建立声誉和信任。
哈希的其他实际应用:
- 验证法医保管链和证据。
- 检测重复文件(相同哈希值、相同内容)并保存 空间.
- 使用数字签名(哈希+私钥加密)确保消息和文档的安全。
- 恶意软件检测 数据库 签名(已知威胁的哈希值)。
风险、碰撞和良好做法
虽然 MD5 和 SHA-1 存在冲突,但使用 SHA-256/512 或 SHA-3 可以避免这种灰色地带。对于密码,应避免使用快速哈希算法,并使用 缓慢推导 (bcrypt、scrypt、Argon2)。请务必通过 HTTPS 和官方来源进行检查,以避免在欺诈网站上被操纵哈希值。
如果您需要性能,BLAKE2/BLAKE3 非常适合,并且在法医调查中有时会计算 MD5+SHA-1 以提高速度和兼容性。 遗留工具,即使知道它的加密限制。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。
