Skip to content

Commit e7f8b07

Browse files
authored
Merge pull request #20882 from karanabe/icpr_cert-rsa-keysize
Add RSAKeySize option to satisfy AD CS template minimums
2 parents 4674c86 + 2e1d688 commit e7f8b07

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/msf/core/exploit/remote/ms_icpr.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ def initialize(info = {})
5454
], Msf::Exploit::Remote::MsIcpr)
5555

5656
register_advanced_options([
57-
OptEnum.new('DigestAlgorithm', [ true, 'The digest algorithm to use', 'SHA256', %w[SHA1 SHA256] ])
57+
OptEnum.new('DigestAlgorithm', [ true, 'The digest algorithm to use', 'SHA256', %w[SHA1 SHA256] ]),
58+
OptEnum.new('RSAKeySize', [ true, 'RSA key size in bits for CSR generation', '2048', %w[1024 2048 3072 4096 8192] ])
5859
])
5960
end
6061

@@ -133,7 +134,9 @@ def connect_icpr(tree)
133134
end
134135

135136
def do_request_cert(icpr, opts)
136-
private_key = OpenSSL::PKey::RSA.new(2048)
137+
rsa_key_size = (opts[:rsa_key_size] || datastore['RSAKeySize']).to_i
138+
private_key = OpenSSL::PKey::RSA.new(rsa_key_size)
139+
vprint_status("RSA key size: #{rsa_key_size}")
137140
user = opts[:username] || datastore['SMBUser']
138141
status_msg = "Requesting a certificate for user #{user}"
139142
alt_dns = opts[:alt_dns] || (datastore['ALT_DNS'].blank? ? nil : datastore['ALT_DNS'])

0 commit comments

Comments
 (0)