Welcome to research and conduct the experiment on "Implementing Pseudo Signature with Self-Sign Timestamp Servers"
Before using this experiment, Please carefully read and agree to the following disclaimer license terms.
Continuing means that you agree to all the terms. If you do not agree with any content of this license term,
Please immediately stop conducting this experiment and delete all content and its derivative data.
If you violate any of the above terms, you will fully and independently bear any legal and other responsibilities and consequences that may arise
Please carefully read and understand the above disclaimer terms before using this service.
If you agree and accept the above terms, please continue to use this experiment.
If you have any questions or need further explanation, please contact us.
欢迎您研究并进行《自建时间戳服务器实现伪签名驱动证书》实验(以下简称“本实验”)。
在使用本实验前请您仔细阅读并同意以下免责许可条款,继续则代表您同意条款全部内容。
若您不同意本许可条款的任何内容,请立即停止进行本实验,并删除所有内容及其衍数据。
术语解释
- “实验内容”:包括本网站实验所提供的技术(包括但不限于代码、文件、步骤)及其衍生内容。
- “违反法律法规”:指违反本协议所提及的和您所在国家或地区的相关法律法规,及其相关规定。
- “作者”:本实验技术的提供者,包括本文档创建人,网站提供者,以及其他提供帮助的主体等。
- “使用者”:使用本实验提供的技术(包括但不限于:代码、文件、步骤)及其衍生内容的主体。
本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“可”、“不可”、“建议”、“旨在”、“仅(供)”和“可选”
应按照RFC2119中的说明进行解释。
实验目的
本实验旨在提供网络安全技术的实践学习和技术研究。
本实验仅供个人或团体进行非商业性质的技术探索。
使用限制
- 您必须承诺本实验的原理仅用于实验和安全技术测试和技术实验,不用于需保密或者重要生产环境。
- 您不得用于任何违反法律法规的活动,包括但不限于犯罪行为、欺诈、破坏计算机信息系统等。
法律合规
您必须遵守《中华人民共和国网络安全法》,不得使用本网站任何技术进行违法犯罪活动。
您必须遵守《中华人民共和国刑法》第286条第1款规定,不得使用本网站的任何技术破坏计算机信息系统。
您必须遵守《中华人民共和国电子签名法》第32条,不得使用本网站的任何技术伪造、冒用、盗用他人的电子签名
您必须遵守中国以及其他所在国家和地区的法律法规,不得使用本网站的任何技术违反法律法规,或者给其他任何个人、团体造成问题或者损失。
免责声明
本实验仅提供技术实验和安全技术测试之用,不对使用者的行为负责
本实验的原理发布在Github上,任何人均可自由获取和使用,作者不对实验的使用者行为负责。
本实验的原理可能存在技术问题、安全问题或其他问题,使用者需自行承担使用风险,并采取必要的安全措施保护自身和他人的利益。
作者对于使用本实验的原理所产生的任何直接或间接损失,包括但不限于利润损失、数据损失、业务中断等,不承担责任。
本网站保留在任何时候中断或终止本服务的权利,而无需提前通知使用者。
违规情形
您如果违反上述条款的任何内容,您将完全独立承担带来的任何法律以及其他责任和后果。
请您在使用本服务前认真阅读并理解上述免责许可条款。若您同意并接受上述条款,请继续使用本实验。
如有任何疑问或需要进一步解释,请联系我们。
无意中看到一些网址,但是不知道是干嘛的:FuckCertVerifyTime
适用于: | Windows Vista、Windows 7;带安全启动的 Windows 8+ | Windows 8、Windows 8.1、Windows 10 版本 1507、1511 以及安全启动 | Windows 10 版本 1607、1703、1709 以及安全启动 | Windows 10 版本 1803 及安全启动 |
---|---|---|---|---|
架构: | 仅 64 位,32 位不需要签名 | 64 位、32 位 | 64 位、32 位 | 64 位、32 位 |
需要签名: | 嵌入文件或目录文件 | 嵌入文件或目录文件 | 嵌入文件或目录文件 | 嵌入文件或目录文件 |
签名算法: | SHA2 | SHA2 | SHA2 | SHA2 |
证书: | 代码完整性信任的标准根 | 代码完整性信任的标准根 | Microsoft 根证书颁发机构 2010、Microsoft 根证书颁发机构、Microsoft 根证书颁发机构 | Microsoft 根证书颁发机构 2010、Microsoft 根证书颁发机构、Microsoft 根证书颁发机构 |
Windows 10 1607 及更新版本
如果EV代码签名证书是2015/07/19及以前由微软交叉签名的CA颁发的证书:
如果EV代码签名证书是2015/07/19及以后(微软交叉签名)CA颁发的证书:
Windows 10 1607 之前的版本(到Vista/Win7/Win8/8.1)
(必须)签署EV代码签名证书:SHA1/SHA2(SHA256,SHA1实测仍然可以)
对于某些旧版Win7及之前的版本,可能不支持SHA256
Windows XP/2000,更早的系统不要求内核驱动强制签名
(可选)普通代码签名证书:SHA1(不支持SHA256)
Windows 10 1607 之后UEFI引导模式,并且开启Secure Boot选项:
无法开启测试模式,不能通过修改BCD解决,可以使用EFIGuard
每次可以开机进入高级模式-选择禁用内核驱动强制签名启动
Windows 10 1607 之前,Win8/8.1/7/Vista,或者关闭Secure Boot:
开启测试模式:
bcdedit /enum all
bcdedit /set {default} testsigning on
bcdedit /set nointegritychecks on
bcdedit /set testsigning on
bcdedit /debug ON
bcdedit /bootdebug ON
也可以每次可以开机进入高级模式-选择禁用内核驱动强制签名启动
整合包包括本地时间戳服务器和本地代码签名工具
如果选择本地整合包, 需要自己生成CA和TSA证书
此方法不用再下载签名工具和使用在线时间戳服务
您只需要泄露的证书和自建CA信任体系并安装CA
只适用于Windows
虚假时间签名工具整合包:Signtool-Stamp-Fake.zip
真实时间签名工具整合包:Signtool-Stamp-Real.zip
用于时间戳认证 / CA Certificate: Used for Timestamp Auth
二选一,需要和下面签名工具的时间戳证书一致
Pikachu Fake CA (推荐):PikaFakeTimers 自动安装工具(推荐)
JemmyLoveJenny(备用):JemmyLoveJenny 注册安装工具(手动)
泄漏的过期签名代码证书 / Leaked Expired Signature Code Certificate
需要2015-07-29及以前的EV代码签名证书,我不提供任何代码签名证书
EV code signing certificates from July 29, 2015 and earlier are required,
I do NOT provide any code signing certificates
亚洲诚信数字签名工具包 / TrustAsia Digital Signature Toolkit Modify
二选一,需要和之前安装的CA证书一致
设置时间规则:hook.ini
(建议设置到接近证书的生效日期,因为很多证书都被吊销了)
[Timestamp]
Timestamp=2015-01-01T00:00:00
会提示时间戳日期
生成CAT文件方式签名:(需要Windows 10 及以上的SDK)
inf2cat /v /os:XP_X86,Vista_X86,Vista_X64,7_X86,7_X64,8_X86,8_X64,6_3_X86,6_3_X64,10_X86,10_X64 /driver:.
其他工具:微软SignTool / Other tools: Microsoft SignTool CMD Usage
signtool timestamp /t "http://<服务器地址>/{SHA1|SHA256}/YYYY-MM-DDTHH:mm:ss" <待签名程序>
signtool timestamp /t "http://time.pika.net.cn/fake/RSA/SHA1/2011-01-01T00:00:00" test.exe
signtool timestamp /tp 1 /tr "http://time.pika.net.cn/fake/RSA/SHA256/2011-01-01T00:00:00" test.exe
signtool.exe sign /f Cert.pfx /p password /tr http://time.pika.net.cn/fake/RSA/2011-01-01T00:00:00 /as /v T.exe
signtool.exe sign /f Cert.pfx /p password /fd sha256 /tr http://time.pika.net.cn/fake/RSA/2011-01-01T00:00:00 /td sha256 /as /v T.exe
git clone https://github.com/PIKACHUIM/FakeSign.git
编辑:TSServer/Develop/TimeStamping/Program.cs
static readonly string supportFake = @"true";
如果要使用伪造服务器,则此处填写true
,如果要使用真实时间,应当填写false
输出:TSServer/Develop/TimeStamping/bin/Debug
TimeStamping.exe
即可运行sudo dpkg --add-architecture i386
sudo apt-get install wine mono-complete winetricks wine32 winbind
sudo winetricks dotnet45
wine uninstaller
wine64 uninstaller
安装上一步下载的MSI文件(wine-mono-7.4.0-x86.msi)
创建一个CA和时间戳证书,参考XCA自制CA证书并签发时间戳证书
放置证书文件到当前的运行目录内,需要参考下面的文件说明:
wine TimeStamping.exe
git clone https://github.com/PIKACHUIM/FakeSign.git
编辑:SignTool/Hooktool/main.cpp
if (!_wcsicmp(lpOriginalTS, L"{CustomTimestampMarker-SHA1}")) {
wcscat(buf, L"http://time.pika.net.cn/fake/RSA/");
wcscat(buf, lpTimestamp);
return buf;
}
else if (!_wcsicmp(lpOriginalTS, L"{CustomTimestampMarker-SHA256}")) {
wcscat(buf, L"http://time.pika.net.cn/fake/RSA/");
wcscat(buf, lpTimestamp);
return buf;
}
将里面的http://time.pika.net.cn/fake/RSA/
修改为http://你的地址/路径
输出:SignTool/Hooktool/bin/Debug
[1] 时间戳签名库以及本地Demo服务器,可以倒填时间制造有效签名,JemmyloveJenny,吾爱破解,https://www.52pojie.cn/thread-908684-1-1.html
[2] 亚洲诚信数字签名工具修改版 自定义时间戳 驱动签名,JemmyloveJenny,吾爱破解,https://www.52pojie.cn/thread-1027420-1-1.html
[3] 关于Windows驱动签名认证的大致总结,ANY_LNK,BiliBili,https://www.bilibili.com/read/cv17812616
[4] 数字证书伪造与利用(仅方便用于驱动开发人员的调试,不得非法使用), MIAIONE,BiliBili,https://www.bilibili.com/read/cv9802857/