Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

两次被卡巴斯基标记为“有害软件” 、以及一些想法 #24

Closed
HuengchI opened this issue Nov 24, 2021 · 4 comments
Closed

Comments

@HuengchI
Copy link

HuengchI commented Nov 24, 2021

分享我的使用经历

  • 一直在用这种“证书防御”的方法来“保卫”家中长辈们的电脑。不用配置复杂的HIPS规则,就可以免遭大部分流氓软件的侵袭。
  • 最近卡巴斯基总是将mwp.exe标记为恶意软件,软件更新后又要重新添加信任。长辈们不会操作,每次都是我远程帮他们重新部署。杀软”狙击“的行为是很奇怪的,但是长辈们的电脑不得不安装杀毒软件。早期我使用的是github上的另一个项目chinawareblock,使用shell脚本安装证书的方式一直没出过问题,但是这个项目年久失修,证书仓库很久没有更新了。
  • 因此我想为了避免杀软狙击,可以改用shell脚本下载、上传和安装,通过windows计划任务定期运行,形成“云证书防火墙”。
  • 另外,这类项目最有价值的地方就是不断更新的证书仓库,若是能侧重于malware证书的提取和上传,用户使用类似订阅连接的功能从网络下载最新的证书库,那这个防御体系的威力就很可观了。
    以上是我结合自身的使用体验,提出的一些看起来美好但也许不成熟的想法,供社区批判性讨论。

关于shell的想法我也进行过研究,但是由于技术有限,遇到了难点,我将一些进展列于下方。

shell实现方案的“研究进展”

  • windows自带相关的CLI证书管理工具,安装和删除操作都能够比较轻松的实现。关于证书提取,类似于C#的CreateFromSignedFile()这一接口,powershell有Get-AuthenticodeSignature这一cmdlet。
  • 但是难点在于全部数字证书的自动提取,具体来说:使用powershell的相关命令只能提取出文件的第一个证书,而现在的软件(比如说QQ)都具有2个或多个证书,只要有一个证书没有被屏蔽,程序就照样能够运行,这也是windows证书机制比较坑爹的地方。
  • 当然还有一个方法是用户手动提取证书,然后选择上传到公共仓库。我将查阅到的方法附于下:
  1. 鼠标右击任意一个exe、msi或dll文件,选择“属性”。
  2. 如果文件经过数字签名,将会出现一个标题为“数字签名”的选项卡,选择该选项卡。
  3. 在“签名列表”中可以看到一个或多个签名文件,通常是 sha1 或 sha 256 。选中其中一个。
  4. 在步骤 3 中做出选择后,单击“详细信息”按钮。
  5. 在新弹出的“数字签名详细信息”页面上,选择“查看证书”按钮。
  6. 在新弹出的证书页面中,选择“详细信息”选项卡,然后点击“复制到文件”按钮。
  7. 在新弹出的证书导出向导中,单击第一页上的“下一步”按钮。
  8. 在“导出文件格式”页面上,选择 DER 或 Base-64 编码的 x.509 (.CER) 选项,然后按“下一步”按钮。
  9. 在要导出的文件页面上,使用“浏览”按钮设置证书文件的放置位置以及文件名。
  10. 单击“下一步”按钮。
  11. 在完成证书导出向导页面,点击“完成”按钮,出现弹出框后点击“确定”按钮。证书文件导出完成。
  • 最后关于上传与下载,这些都是shell的拿手好戏。
@the1812
Copy link
Owner

the1812 commented Nov 24, 2021

可以定时 git clone 这个仓库, 证书都在 src/MalwarePatch/Certificates 下, 因为证书的更新周期没有这么频繁, 我是每两个月才来检查一下, 更新后也可以用 mwp.exe --disallow-all 来自动安装新的证书.

至于杀软, 我不知道卡巴斯基的信任设置是怎么样的, Windows Defender 可以添加文件/文件夹为信任, 并且更新不会丢失. 目前软件的这个载体很难避免被杀软误报, 毕竟是各种有毒的数字签名塞在一个 exe 里.

@HuengchI
Copy link
Author

这样的话把证书文件放到exe外面会不会好些呢?

@the1812
Copy link
Owner

the1812 commented Nov 25, 2021

应该能解决误报的问题

@I-Want-ToBelieve
Copy link

打疫苗引起免疫反应了属于是

@the1812 the1812 closed this as completed Aug 26, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants