背景
漏洞扫描检测windows服务器的远程桌面服务使用了弱加密的ssl证书
思路
按照报告描述,试图使用强加密的新证书更换默认证书
解决
生成证书
通过openssl1.1.1生成(linux自带openssl,windows安装的是openssl1.1.1w),执行:
powershell
#生成密钥
openssl genrsa -out windows_CA.key 4096
#生成证书申请,密码:自定义
openssl req -x509 -new -nodes -key windows_CA.key -sha256 -days 8000 -out windows_CA.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=xxx/OU=xxx/CN=test"
#释义:C=国家,ST=省份,L=市,/O=单位组织,OU=部门,CN=证书名称;
#转换为个人交换文件格式
openssl pkcs12 -export -in windows_CA.crt -inkey windows_CA.key -out windows_CA.pfx
导入证书
登录目标windows主机,"开始"搜索mmc控制台
删除默认证书
导入新pfx证书,输入自定义密码
提前复制指纹
新证书添加NETWORK SERVICE权限
保存下
修改注册表
bash
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v "SSLCertificateSHA1Hash" /t REG_BINARY /d 指纹 /f
创建定时任务
以上命令写入bat文件,在"定时任务"创建reg-ca任务,每次开机启动执行该脚本。
验证
再次远程时使用的是新证书。
吐槽
官方平台收录该漏洞竟然没有修复办法。