• 签名伪造的利用及思考


    强签名伪造

    前言

    上周五有个朋友问我uac认证那个发布人能不能伪造,我问他伪造这玩意干啥,他说可以让钓鱼的exe更真实一点。

    签名的作用

    在当前零信任的互联网中,网站上充斥着大量钓鱼软件,普通网民无法识别这些恶意软件,但好在浏览器和计算机会帮你识别一些做工比较“粗糙”的钓鱼软件,作为攻击方我们不能指望用户“无脑”去点击下载这些已经被提示危险的软件,而对软件进行证书强签名就是为了解决这个问题。

    已下是一些未签名的软件,浏览器的下载提示:

    以下是我做的加载uac认证的微信客户端程序(未签名)

    而有签名的uac是这样的:

    颜色都不一样怎么骗人!!!

    实验1(no)

    伪造签名可能很多人第一时间想到的是sigthief.py,我之前一直也是用这个对我木马进行签名的,有时候只是单独用这个伪造一个微软签名也是能过某些杀软的(删掉),但事实证明这方法不太行。(可能是我把事情想太简单了)

    //usage
    python3 sigthief.py -i 要伪造的证书软件 -t 未签名的软件 -o 输出的文件名
    

    这是我伪造某数字杀软证书的对比

    实验2(yes)

    //需要的工具
    makecert.exe
    cert2spc.exe
    pvk2pfx.exe
    signtool.exe
    certmgr.exe
    
    Windows SDK默认包含以上工具
    SDK下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=8279

    0x01 生成一个自签名的根证书

    1、makecert.exe -n "CN=Root" -r -sv Root.pvk Root.cer
    2、然后自己随便设置一个私钥,我这里设置为123456
    

    0x02 使用这个证书签发一个子证书

    1、makecert.exe -n "CN=Child" -iv Root.pvk -ic Root.cer -sv Root.pvk Root.cer -sky signature
    2、Subject Key为123456/Issuer Signature 为123456
    

    0x03 公钥证书格式转换成SPC

    cert2spc.exe Root.cer Root.spc
    

    0x04 将公钥证书和私钥合并成一个PFX格式的证书文件

    pvk2pfx.exe -pvk Root.pvk -pi 123456 -spc Root.spc -pfx Root.pfx -f
    

    0x05 为木马签名

    signtool sign /f Root.pfx /p 123456 rubt.exe
    

    注意:这里如果直接用cmd运行signtool可能会报如下错误:(我在虚拟机的cmd中直接执行成功了)

    > signtool sign /f Root.pfx /p 123456 rubt.exe
    SignTool Error: No certificates were found that met all the given criteria.
    

    解决方法使用vs开发人员命令提示符工具

    0x06 导入证书

    //普通权限
    certmgr.exe -add -c Root.cer -s -r currentUser root
    //管理员权限
    certmgr.exe -add -c Root.cer -s -r localmachine root

    0x07 实验结果

    生成木马后,加载uac认证,最后再导入证书

    注:不能先导入证书再加载uac认证,否则会签名失效(至于如何给任意exe加uac认证,这里提示是使用windows自带的mt.exe)

    思考

    1、这里我把刚刚在主机上做好的签名木马复制到虚拟机中,发现签名变成了如下图,这是因为虚拟机没有导入证书

    那我们这样做不就等于白做工了嘛,我思考了很久,如果要解决这个问题只有加载本地默认安装的证书,但我没有找到怎么把系统默认的签名证书导出为pfx格式的工具,希望大佬不吝赐教!拜谢!

    2、在使用cs的时候往往会使用流量问题被查杀,特别是阿里云服务器,这里是否可以使用特制的证书进行绕过流量查杀,需要大家自己去验证。

    转自 :https://xz.aliyun.com/t/8563

  • 相关阅读:
    JAVA回调
    Json 转换
    memcache 知识点
    Redis基本命令
    LSM树由来、设计思想以及应用到HBase的索引(转)
    ES 集群调整、升级 最佳实践
    Eureka 客户端和服务端间的交互
    logstash 输出到elasticsearch 自动建立index
    Spring 上传文件
    log4j2
  • 原文地址:https://www.cnblogs.com/0daybug/p/14046750.html
Copyright © 2020-2023  润新知