12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
三国霸业 战车-珍宝-觉醒-攻城掠地SF-全新玩法 免费玩新区 攻城掠地私服 进入游戏
手游私服盒子 各类免费游戏 0.1折送海量资源 各类手游私服 进入游戏
皇家MU2 《奇迹 2:传奇》韩国网禅公司《奇迹》正统续作。 3D锁视角Mmrpg 暗黑3+传奇+流放之路+奇迹 进入游戏
查看: 317|回复: 0

CVE-2020-0601分析

[复制链接]

303

主题

303

帖子

616

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
616
发表于 2021-5-8 00:20:39 | 显示全部楼层 |阅读模式
泰半年没发东西了,本着分享的原则,这次就把我博客的一篇文章分享下,也是一个陈年老洞了,这个CVE-2020-0601的利用方法重要有两种,文章末了介绍了一种,还有一种嘛,等兄弟们自己探索了。
CVE-2020-0601分析

介绍

CVE对该漏洞的简述:
Windows CryptoAPI(Crypt32.dll)验证ECC证书的方法中存在一个欺骗性漏洞,攻击者可以利用伪造的数字码署名证书对一个恶意的可执行文件举行署名来利用该漏洞,使可执行文件看起来像是来自一个可信任的、合法的来源。该漏洞也被称为“Windows CryptoAPI Spoofing Vulnerability”。
在真实环境中,攻击者利用该漏洞可以让一些恶意代码(如打单病毒)拥有看上去可信任的证书,使得被攻击者安装恶意代码;攻击也可以通过中间人攻击的方式获取被攻击者毗连受影响软件的机密信息。
数字署名

简单阐明下数字署名。
Bob与Alice举行通信,Bob拥有私钥d,Alice拥有公钥e。Bob向Alice发送消息message,Alice需要确保消息的以下两个性质:

  • 真实性,即消息确实是从Bob发送过来的;
  • 完整性,即消息在传输过程中未经过修改;
真实性

Bob首先利用单向散列函数将消息message转换为摘要digest:
Hash(message)=digest;然后将摘要利用私钥举行加密,得到密文ciphertext:
F(d,digest)=ciphertext;末了将ciphertext附加在消息message反面发送给Alice:
send(message.append(ciphertext));Alice接受到Bob发送过来的内容后首先利用公钥对附加的ciphertext解密出digest,只要能解密成功(当然Bob的私钥没有泄露),就能确保发送的内容确实来自Bob:
G(e,ciphertext)=digest;完整性

Alice解密出digest后,与发送的内容中的消息部分message利用单向散列函数得到摘要举行对比,相称的话就可以证明message没有被改动过,也就确保了消息的完整性:
if(Hash(message) == digest)    return TRUE;else     return FALSE;数字证书的引入

有一位攻击者Mallory试图攻击刚才的认证过程,当Bob持有的私钥绝对安全时,Mallory可以通过窃取更换Alice持有的公钥举行中间人攻击。
此时Mallory伪装成Bob利用自己的私钥向Alice发送消息和加密的消息摘要后,Alice利用Mallory的公钥对消息摘要举行解密并验证哈希后是成功的,Alice仍然会认为Mallory发送过来的内容是完整真实的。
此时Alice就需要第三方的CA中心帮助,将Bob的公钥和一些个人信息举行加密,得到Bob的数字证书。
当Bob将附上证书和署名的消息发送给Alice,Alice利用CA中心的公钥来检查上面的数字证书,解密成功就阐明Alice创建了这个证书,Bob的身份是值得信任的。
简单来说,什么东西可能被窃取,那就将其举行加密保存(如这里Alice持有的公钥),并通过第三方来举行验证(CA centre)。
在实际的利用中,数字证书的格式遵循X.509标准。
X.509

X.509是ITU公钥证书的格式标准,利用了ASN.1规定了公钥证书的结构:
Certificate ::= SEQUENCE{                           //证书全部内容开始,结构化不定长编码    tbsCertificate          TBSCertificate,         //证书主体    signatureAlgorithm      AlgorithmIdentifier,    //证书署名算法标识    signatureValue          BIT STRING              //证书署名值,利用signatureAlgorithmv部分指定的署名算法对tbsCertificate证书主题部分署名后的值}证书主体结构:
TBSCertificate  ::= SEQUENCE{    version                 [0] EXPLICIT Version DEFAULT v1,    //证书版本号    sericalNumber           AlgorithmIdentifier,                //证书序列号,对同一CA所颁发的证书,序列号唯一标识证书    signature               AlgorithmIdentifier,                //证书署名算法标识    issuer                  Name,                               //证书发行者名称    validity                Validity,                           //证书有效期    subject                 Name,                               //证书主体名称    subjectPublicKeyinfo    SubjectPublicKeyInfo                //证书公钥    issuerUniqueID  [1]     IMPLICIT UniqueIdentifier OPTIONAL  //证书发行者ID(可选),只在证书版本2,3中才有    subjectUnique   [2]     IMPLICIT UniqueIdentifier OPTIONAL  //证书主题ID(可选),只在证书版本2,3中才有    extensions      [3]     EXPLICIT Extentions       OPTIONAL  //证书扩展段(可选),只在证书版本2,3中才有}比较关键的SubjectPublicKeyInfo结构:
SubjectPublicKeyInfo    ::= SEQUENCE{    algorithm           AlgorithmIdentifier,        //公钥算法信息    subjectPublicKey    BIT STRING                  //公钥}AlgorithmIdentifier(公钥算法信息)结构如下:
AlgorithmIdentifier     ::= SEQUENCE{    algorithm           OBJECT IDENTIFIER,                  //对象标识符    parameters          ANY DEFINED BY algorithm OPTIONAL   //可选参数}OID标识了公钥的算法,如rsaEncryption,OID为1.2.840.113549.1.1.1;dsa算法,OID为1.2.840.10040.4.1;ECC算法,OID为1.2.840.10045.2.1。
此时paramter结构如下(由RFC 3279定义):
EcpkParameters      ::= CHOICE{    ecParameters    ECParameter,            //用于显示指定曲线参数    namedCurve      OBJECT IDENTIFIER,      //用于隐式指定曲线参数    implicitlyCA    NULL   }攻击者可以通过利用设置ecParameters参数的证书来伪造合法证书来举行漏洞利用:
ECParameter     ::= SEQUENCE{    version     ECPver,             //版本号常设为1    field       FieldID,            //定义椭圆曲线定义地点的有限域    curve       Curve,              //定义椭圆曲线的参数a和b    base        ECPoint,            //设置椭圆曲线的基点P    order       INTEGER,            //阶数n    coofactor   INTEGER OPTIONAL    //可选参数,h = #E(Fq)/n}ECC

椭圆曲线定义方程:
y^2 = x^3 + ax + b(4a^3 + 27b^2 mod p != 0)
该方程的解(x,y)由给定的大素数所决定的素数域GF(p)决定,取x(0
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-11-24 17:51 , Processed in 0.078125 second(s), 30 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表