Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Digital-Signature-Hijack:一款针对数字签名劫持的PowerShell脚本

Digital-Signature-Hijack:一款针对数字签名劫持的PowerShell脚本

作者头像
FB客服
发布于 2020-07-22 07:34:09
发布于 2020-07-22 07:34:09
96500
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

Digital-Signature-Hijack

Digital-Signature-Hijack是一款针对数字签名劫持攻击的PowerShell脚本。

在现代Windows操作系统中,代码签名技术用于帮助用户识别来自不可信源的可信二进制文件。二进制文件通过使用数字证书进行签名,数字证书包含有关发布者,嵌入的私钥和公钥的信息。 该脚本专为安全研究人员设计,开发人员通常会对其代码进行签名,以便向用户保证他们的软件是可信的,而且没有被恶意修改。这都通过使用数字签名来完成的。因此,签名代码是一种验证文件的真实性和完整性的方法。

功能介绍

1、以微软身份对目标主机中所有的可执行文件进行数字签名;

2、以微软身份对目标主机中所有的PowerShell脚本文件进行数字签名;

3、验证所有可移植可执行文件的数字签名;

4、验证所有PowerShell脚本文件的数字签名 Digital-Signature-Hijack通过劫持注册表并添加必要的值,以及利用Matt Graeber开发的自定义SIP DLL文件来实现其功能。因此,用户需要将MySIP.dll文件的路径修改为对应的本地路径: MySIP.dll-https://github.com/mattifestation/PoCSubjectInterfacePackage

工具下载

广大研究人员可以使用下列命令将该项目文件克隆至本地:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
git clone https://github.com/netbiosX/Digital-Signature-Hijack.git

工具演示

对可执行文件进行签名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SignExe

验证签名有效性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ValidateSignaturePE

对PowerShell脚本文件进行签名:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
SignPS

验证签名有效性:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ValidateSignaturePS

项目地址

Digital-Signature-Hijack:【GitHub传送门

参考资料

1、https://pentestlab.blog/2017/11/06/hijacking-digital-signatures/

2、http://www.exploit-monday.com/2017/08/application-of-authenticode-signatures.html

3、https://specterops.io/assets/resources/SpecterOps_Subverting_Trust_in_Windows.pdf

4、https://www.*******.com/watch?v=wxmxxgL6Nz8

5、https://blog.conscioushacker.io/index.php/2017/09/27/borrowing-microsoft-code-signing-certificates/

参考来源

thelinuxchoice

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
什么是DLL劫持
Windows在其基础体系结构中具有DLL的搜索路径(加载DLL文件要遵循目录查找优先级)。如果你可以找出没有绝对路径的可执行文件请求的DLL(触发此搜索过程),则可以将攻击代码的DLL放置在搜索路径的更高位置,以便在实际版本之前找到它,并且Windows会毫不犹豫将攻击代码提供给应用程序。
Gamma实验室
2020/12/23
8580
什么是DLL劫持
如何验证可执行文件是可靠的 | Windows 应急响应
相信部分朋友已经看过我们的 《Windows 应急响应手册》了,我们这边也得到部分朋友的正向反馈,包括工具、方法等。
意大利的猫
2024/03/04
4650
如何验证可执行文件是可靠的 | Windows 应急响应
渗透技巧 | Windows上传并执行恶意代码的N种姿势
简介 在各种钓鱼、挖矿、勒索、组建僵尸网络、基础渗透、后渗透过程当中,攻击者都会通过一些方法去下载执行恶意代码并执行完成攻击操作,比如前段时间通过Office DDE执行powershell的,利用宏执行VBS的,绕过权限限制完成危险命令执行的等等,都需要用到文件下载/上传姿势,一般说按照途径可以分为: 通过HTTP、FTP URL进行传输类 通过UNC进行传输类 通过磁盘写入类 而payload执行则具体可以分为有文件类和无文件类,具体分的话就是内存执行、本地缓存、磁盘文件下面我们
xfkxfk
2018/03/29
4K0
渗透技巧 | Windows上传并执行恶意代码的N种姿势
RSA算法补充:数字签名和数字证书
数字签名主要是用来证明信息发送者身份信息的,并且可以用来验证被发送消息是否被篡改过。
xbai921031
2022/05/25
6770
RSA算法补充:数字签名和数字证书
CA数字签名的由来
上一次内容我们介绍了TLS加密原理,为什么要加密通信呢?是因为我们不希望我们的个人信息被明文传播,任何一个人只要截断我们的物理线路或者入侵到我们网络中,就能获取所有的信息。
运维部落
2020/06/10
1.5K0
CA数字签名的由来
证书签名
对指定信息使用哈希算法,得到一个固定长度的信息摘要,然后再使用 私钥 (注意必须是私钥)对该摘要加密,就得到了数字签名。所谓的代码签名就是这个意思。
全栈程序员站长
2022/08/11
8060
【翻译】数字签名是什么?
在写上一篇《Android Keystore漫谈》时对数字证书和数字签名的区别感觉模棱两可,于是网上找了找资料发现了一篇简单易懂的文章,对证书和签名有了一个较清晰的概念:
代码咖啡
2018/08/28
5980
【翻译】数字签名是什么?
利用 Microsoft 签名验证的新 Zloader 银行恶意软件活动
一个正在进行的ZLoader恶意软件活动已被发现,该活动利用远程监控工具和一个与微软数字签名验证相关的 9 年漏洞来窃取用户凭据和敏感信息。
Khan安全团队
2022/01/06
7630
Windows桌面端开发设置签名证书及Innosetup打包自动签名
我们可以看到有数字签名一栏,如果没有签名的就没有该选项卡,那么程序在安装或运行的时候就有可能被阻拦,那么怎么设置数字签名呢?
码客说
2022/02/10
3.7K0
Windows桌面端开发设置签名证书及Innosetup打包自动签名
在Windows中劫持DLL
DLL劫持是一种用于执行恶意有效负载的流行技术,这篇文章列出了将近300个可执行文件,它们容易受到Windows 10(1909)上相对路径DLL劫持的攻击,并展示了如何使用几行VBScript绕过UAC可以以提升的特权执行某些DLL劫持。
Al1ex
2021/07/21
2.3K0
在Windows中劫持DLL
Window权限维持之BITS Jobs利用
Windows操作系统包含各种实用程序,系统管理员可以使用它们来执行各种任务。这些实用程序之一是后台智能传输服务(BITS),它可以促进文件到Web服务器(HTTP)和共享文件夹(SMB)的传输能力。Microsoft提供了一个名为“ bitsadmin ” 的二进制文件和PowerShell cmdlet,用于创建和管理文件传输。
洛米唯熊
2019/12/09
1.6K0
Window权限维持之BITS Jobs利用
渗透测试与开发技巧
https://github.com/3gstudent/Pentest-and-Development-Tips
天钧
2021/01/05
4.7K0
对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与HTTPS简介
对称加密算法使用的加密和解密的密钥一样,比如用秘钥123加密就需要用123解密。实际中秘钥都是普通数据在互联网传输的,这样秘钥可能会被中间人截取,导致加密被破解。其过程如下:
恋喵大鲤鱼
2019/03/11
13.1K3
对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与HTTPS简介
看完秒懂,“数字签名”入侵那点事儿!
关于可信代码数字签名如何计算PE文件哈希值的细节,参阅本文档后面的“Calculating the PE Image Hash”。
战神伽罗
2020/07/03
2.8K0
看完秒懂,“数字签名”入侵那点事儿!
数字签名是什么?
1. 鲍勃有两把钥匙,一把是公钥,另一把是私钥。 2. 鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。 3. 苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的
java达人
2018/01/31
8100
数字签名是什么?
关于数字证书的另一篇好文章
 最近看会Session hijack的东西,劫持现在已经实现,yahoo等一些没有用Https协议的邮箱被成功地劫持了(迟下发文章),由于对Https不熟悉,所以看了一下为什么Https的会话不能劫持。   本文主要介绍的SSL中的涉及到的"数字证书"这个东东。 一.什么是数字证书?   数字证书是一种权威性的电子文档。它提供了一种在Internet上验证您身份的方式,其作用类似于司机的驾驶执照或日常生活中的身份证。它是由一个由权威机构----CA证书授权(Certificate Authority)中心
java达人
2018/01/31
7510
关于数字证书的另一篇好文章
浅谈程序的数字签名
数字签名它是基于非对称密钥加密技术与数字摘要算法技术的应用,它是一个包含电子文件信息以及发送者身份,并能够鉴别发送者身份以及发送信息是否被篡改的一段数字串。
小道安全
2022/12/03
1.8K0
浅谈程序的数字签名
数字签名
之前的文章我们讲了MAC(Message Authentication Code)消息认证码,MAC是认证消息的完整性的技术。它是由任意长度的消息和在发送者和接受者中间共享的密钥生成的。
程序那些事
2020/07/08
9730
PKI - 数字签名与数字证书
SSL是一种安全协议,用于在网络传输中提供数据加密、身份验证和完整性保护。它基于传输层协议(如TCP),并为其提供加密和安全功能。
小小工匠
2024/05/25
3840
PKI - 数字签名与数字证书
DotNet加密方式解析--数字签名
    马上就要过年回村里了,村里没有wifi,没有4G,没有流量,更加重要的是过几天电脑就得卖掉换车票了,得赶紧写几篇文章。     数据安全的相关技术在现在愈来愈变得重要,因为人们对
彭泽0902
2018/01/04
1.4K0
DotNet加密方式解析--数字签名
相关推荐
什么是DLL劫持
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档