POC详情: e633b58ef641e0bd9a76e8f56cdd4716f9d69b8f

来源
关联漏洞
标题: PuTTY 安全漏洞 (CVE-2024-31497)
描述:PuTTY是Simon Tatham个人开发者的一套免费的Telnet、Rlogin和SSH客户端软件。该软件主要用于对Linux系统进行远程管理。 PuTTY 0.68版本至0.80版本存在安全漏洞,该漏洞源于存在有偏差的随机数生成,允许攻击者通过快速攻击来恢复用户的NIST P-521密钥。
描述
Proof Of Concept that exploits PuTTy CVE-2024-31497.
介绍
# CVE-2024-31497 POC

This vulnerability exploits the biased ECDSA nonce generation in the ```ecc-ssh.c``` file. The nonce is generated with $sha512(ID\ ||\ sha512(privKey)\ ||\ sha1(data))\ mod\ q$ leaving the top 9 bits to zero. In order to recover the private key we need 60 signatures but with 58 we still have 50% probability of success.

 Vuln discovered by Bäumer and Marcus Brinkmann.  


## Requirements

In order to use this exploit you must have [sagemath](https://github.com/sagemath/sage/) and the python dependencies in ```requirements.txt``` installed. 


## Attack Surface

1. Extract the ECDSA signatures from 60 verified GitHub commits that used PuTTy or TortoiseGit to sign the commit content. 

2. Another possible attack is to set up a rogue SSH server where victims connect (using PuTTY or Pageant) and after several connections you can retrieve the 60 signatures to recover the private key. 

## Arguments

- The signature file must contain the **message hash**, a space and the values of **r** and **s** concatenated.

- The **pubkey** file input, can be in raw, PEM, DER or OpenSSH format.

## Acknowledgements

This poc uses part of the [malb](https://github.com/malb) implementation of the paper [On Bounded Distance Decoding with Predicate: Breaking the "Lattice Barrier" for the Hidden Number Problem](https://eprint.iacr.org/2020/1540.pdf)
文件快照

[4.0K] /data/pocs/e633b58ef641e0bd9a76e8f56cdd4716f9d69b8f ├── [4.0K] attack │   ├── [ 22K] ecdsa_hnp.py │   ├── [1.1K] exploit.py │   ├── [ 31K] usvp.py │   └── [1003] utils.py ├── [2.5K] main.py ├── [1.3K] README.md ├── [ 74] requirements.txt ├── [4.0K] test │   ├── [ 267] pubkey.pub │   └── [ 23K] signatures.txt └── [ 557] test.py 2 directories, 10 files
神龙机器人已为您缓存
备注
    1. 建议优先通过来源进行访问。
    2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
    3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。