精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

當(dāng)前位置:安全行業(yè)動(dòng)態(tài) → 正文

RDP連接降級(jí)攻擊以及規(guī)避方法解析

責(zé)任編輯:editor005 作者:felix |來源:企業(yè)網(wǎng)D1Net  2016-07-08 14:47:41 本文摘自:黑客與極客

如果終端服務(wù)器(Terminal Servers)配置不正確,那么RDP(Remote Desktop Protocal,遠(yuǎn)程桌面協(xié)議)連接就可能會(huì)面臨降級(jí)攻擊的危險(xiǎn)。在這篇文章中,我們會(huì)使用一個(gè)名為rdp-downgrade.py的POC工具來演示降級(jí)攻擊。

RDP安全層

在討論降級(jí)攻擊之前,我們需要明白,所謂的降級(jí)究竟從什么級(jí)別降到什么級(jí)別。

在RDP協(xié)議中有下面三個(gè)可用的安全層。都可以在Terminal Server終端服務(wù)器上進(jìn)行配置。

Classic RDP Protocol–在tscc.msc配置工具中,它又叫“RDP Security Layer”,協(xié)議說明(見PDF的40頁)則將之稱為PROTOCOL_RDP。

SSL–GUI界面中就被稱作“SSL”或“SSL(TLS 1.0)”,協(xié)議說明里面則稱之為PROTOCOL_SSL。

CredSSP–當(dāng)選中“Network Layer Authentication”(網(wǎng)絡(luò)層認(rèn)證)選項(xiàng)時(shí),也就有了響應(yīng)的功能。它也使用了SSL,在協(xié)議規(guī)格中描述為PROTOCOL_HYBRID。

這里面第一個(gè)選項(xiàng)是不安全的。如果協(xié)商后使用這個(gè)協(xié)議,連接就比較容易遭受中間人攻擊。實(shí)施這一攻擊的人可以看到客戶端和服務(wù)器之間傳遞的所有輸入信息和數(shù)據(jù)。我們的目標(biāo)就是要降級(jí)到這個(gè)協(xié)議之上。

剩下的兩個(gè)選項(xiàng)都使用了SSL封裝,就安全多了。我們就是從這兩個(gè)協(xié)議降級(jí)。

怎么才能知道連接使用了哪個(gè)安全層

可以利用終端服務(wù)客戶端mstsc.exe的警告信息來識(shí)別使用了什么協(xié)議。

Classic RDP

提示不能認(rèn)證服務(wù)器的警告信息,在上面還提到了中間人攻擊。

  Classic RDP連接的警告

SSL

如果你沒有配置主機(jī)信任RDP服務(wù)器的SSL證書,你會(huì)看到下面的證書警告:

  (Non-CredSSP)SSL連接的警告

CredSSP(NLA + SSL)

你會(huì)收到一個(gè)輸入用戶名和口令的彈出窗口。而Classic RDP和SSL都通過完整的Windows桌面來輸入密碼。

  NLA連接的對(duì)話框

有漏洞的配置

如果把Terminal Servers配置成“Negotiate”協(xié)商安全層,就有降級(jí)攻擊的可行性。下面就是Windows 2003服務(wù)器的配置,在更新版本的Windows上也有。

  降級(jí)攻擊

我們要連接至一臺(tái)Windows 2003 RDP服務(wù)器,這臺(tái)服務(wù)器配置為協(xié)商安全層(Negotiate)。我們連接所用的系統(tǒng)自然就是支持Classic RDP、SSL和NLA的Windows系統(tǒng)。這臺(tái)服務(wù)器則只支持Classic RDP和SSL。可以預(yù)見,兩者一般情況下應(yīng)該會(huì)協(xié)商出雙方都支持的最安全的協(xié)議:SSL。

在攻擊的時(shí)候,我們對(duì)流量進(jìn)行篡改,讓服務(wù)器認(rèn)為客戶端只支持Classic RDP。至于流量攔截,我們可以用ARP欺騙或者DNS欺騙或者其它方法實(shí)現(xiàn)。

在連上TCP 3389端口之后,客戶端(mstsc)會(huì)發(fā)送類似于下面的數(shù)據(jù)(十六進(jìn)制顯示):

03 00 00 13 0e e0 00 00 00 00 00 01 00 08 00 *03* 00 00 00

其中的03就表示客戶端支持的協(xié)議,這個(gè)位置的值分別對(duì)應(yīng)下面這些含義:

00 –只支持Classic RDP

01 –支持Classic RDP和SSL

03 –除上面兩個(gè)之外,還支持CredSSP

這在協(xié)議規(guī)范的37頁有描述。

我們的POC就是簡(jiǎn)單的把03換成00,讓客戶端和服務(wù)器最終協(xié)商出Classic RDP,而不是SSL。

用我們的工具在192.168.190.170上監(jiān)聽TCP 3389端口。并讓它把流量轉(zhuǎn)發(fā)到192.168.2.96。

$ python rdp-downgrade.py 192.168.2.96

[Proxy] Listening for connections on 0.0.0.0:3389

這個(gè)例子中,我們沒有做真實(shí)的ARP欺騙攻擊,直接連向了中間人。

  輸入了攻擊者的IP地址

在我們的POC工具里,看到了來自于RDP客戶端(192.168.190.1)的連接,并且代理向目標(biāo)服務(wù)器發(fā)起了連接。

[Proxy] Incoming connection from 192.168.190.1:58715

[Proxy] New outgoing request to 192.168.2.96:3389

[Proxy] Connected

接下來,我們看到客戶端發(fā)送了19個(gè)字節(jié),注意靠近數(shù)據(jù)末尾的03,POC工具將其識(shí)別了出來,并提示信息告訴我們,已經(jīng)將03改成00。

[From 192.168.190.1] Received 19 bytes

0000 03 00 00 13 0E E0 00 00 00 00 00 01 00 08 00 03 ................

0010 00 00 00 ...

[From 192.168.190.1] Modified data to downgrade connection

接著,我們不做任何更改就可以自由地查看流量了:

[From 192.168.2.96] Received 19 bytes

0000 03 00 00 13 0E D0 00 00 12 34 00 02 00 08 00 00 .........4......

0010 00 00 00 ...

...snip...

mstsc會(huì)顯示Classic RDP連接的警告框,這就表明降級(jí)攻擊成功了。這個(gè)警告對(duì)話框,我們?cè)谇懊嫣岬紺lassic RDP的時(shí)候就已經(jīng)見過了。

  Classic RDP連接的警告信息

結(jié)論

通過上面的攻擊過程,我們當(dāng)然建議不要將終端服務(wù)器的安全層配置成“Negotiate”協(xié)商,而是配置成使用SSL,這理論上就能有效阻止上面這樣的降級(jí)攻擊了。

* 參考來源:Portcullis,felix編譯,轉(zhuǎn)載請(qǐng)注明來自FreeBuf黑客與極客(FreeBuf.COM)

關(guān)鍵字:降級(jí)ARP欺騙

本文摘自:黑客與極客

x RDP連接降級(jí)攻擊以及規(guī)避方法解析 掃一掃
分享本文到朋友圈
當(dāng)前位置:安全行業(yè)動(dòng)態(tài) → 正文

RDP連接降級(jí)攻擊以及規(guī)避方法解析

責(zé)任編輯:editor005 作者:felix |來源:企業(yè)網(wǎng)D1Net  2016-07-08 14:47:41 本文摘自:黑客與極客

如果終端服務(wù)器(Terminal Servers)配置不正確,那么RDP(Remote Desktop Protocal,遠(yuǎn)程桌面協(xié)議)連接就可能會(huì)面臨降級(jí)攻擊的危險(xiǎn)。在這篇文章中,我們會(huì)使用一個(gè)名為rdp-downgrade.py的POC工具來演示降級(jí)攻擊。

RDP安全層

在討論降級(jí)攻擊之前,我們需要明白,所謂的降級(jí)究竟從什么級(jí)別降到什么級(jí)別。

在RDP協(xié)議中有下面三個(gè)可用的安全層。都可以在Terminal Server終端服務(wù)器上進(jìn)行配置。

Classic RDP Protocol–在tscc.msc配置工具中,它又叫“RDP Security Layer”,協(xié)議說明(見PDF的40頁)則將之稱為PROTOCOL_RDP。

SSL–GUI界面中就被稱作“SSL”或“SSL(TLS 1.0)”,協(xié)議說明里面則稱之為PROTOCOL_SSL。

CredSSP–當(dāng)選中“Network Layer Authentication”(網(wǎng)絡(luò)層認(rèn)證)選項(xiàng)時(shí),也就有了響應(yīng)的功能。它也使用了SSL,在協(xié)議規(guī)格中描述為PROTOCOL_HYBRID。

這里面第一個(gè)選項(xiàng)是不安全的。如果協(xié)商后使用這個(gè)協(xié)議,連接就比較容易遭受中間人攻擊。實(shí)施這一攻擊的人可以看到客戶端和服務(wù)器之間傳遞的所有輸入信息和數(shù)據(jù)。我們的目標(biāo)就是要降級(jí)到這個(gè)協(xié)議之上。

剩下的兩個(gè)選項(xiàng)都使用了SSL封裝,就安全多了。我們就是從這兩個(gè)協(xié)議降級(jí)。

怎么才能知道連接使用了哪個(gè)安全層

可以利用終端服務(wù)客戶端mstsc.exe的警告信息來識(shí)別使用了什么協(xié)議。

Classic RDP

提示不能認(rèn)證服務(wù)器的警告信息,在上面還提到了中間人攻擊。

  Classic RDP連接的警告

SSL

如果你沒有配置主機(jī)信任RDP服務(wù)器的SSL證書,你會(huì)看到下面的證書警告:

  (Non-CredSSP)SSL連接的警告

CredSSP(NLA + SSL)

你會(huì)收到一個(gè)輸入用戶名和口令的彈出窗口。而Classic RDP和SSL都通過完整的Windows桌面來輸入密碼。

  NLA連接的對(duì)話框

有漏洞的配置

如果把Terminal Servers配置成“Negotiate”協(xié)商安全層,就有降級(jí)攻擊的可行性。下面就是Windows 2003服務(wù)器的配置,在更新版本的Windows上也有。

  降級(jí)攻擊

我們要連接至一臺(tái)Windows 2003 RDP服務(wù)器,這臺(tái)服務(wù)器配置為協(xié)商安全層(Negotiate)。我們連接所用的系統(tǒng)自然就是支持Classic RDP、SSL和NLA的Windows系統(tǒng)。這臺(tái)服務(wù)器則只支持Classic RDP和SSL。可以預(yù)見,兩者一般情況下應(yīng)該會(huì)協(xié)商出雙方都支持的最安全的協(xié)議:SSL。

在攻擊的時(shí)候,我們對(duì)流量進(jìn)行篡改,讓服務(wù)器認(rèn)為客戶端只支持Classic RDP。至于流量攔截,我們可以用ARP欺騙或者DNS欺騙或者其它方法實(shí)現(xiàn)。

在連上TCP 3389端口之后,客戶端(mstsc)會(huì)發(fā)送類似于下面的數(shù)據(jù)(十六進(jìn)制顯示):

03 00 00 13 0e e0 00 00 00 00 00 01 00 08 00 *03* 00 00 00

其中的03就表示客戶端支持的協(xié)議,這個(gè)位置的值分別對(duì)應(yīng)下面這些含義:

00 –只支持Classic RDP

01 –支持Classic RDP和SSL

03 –除上面兩個(gè)之外,還支持CredSSP

這在協(xié)議規(guī)范的37頁有描述。

我們的POC就是簡(jiǎn)單的把03換成00,讓客戶端和服務(wù)器最終協(xié)商出Classic RDP,而不是SSL。

用我們的工具在192.168.190.170上監(jiān)聽TCP 3389端口。并讓它把流量轉(zhuǎn)發(fā)到192.168.2.96。

$ python rdp-downgrade.py 192.168.2.96

[Proxy] Listening for connections on 0.0.0.0:3389

這個(gè)例子中,我們沒有做真實(shí)的ARP欺騙攻擊,直接連向了中間人。

  輸入了攻擊者的IP地址

在我們的POC工具里,看到了來自于RDP客戶端(192.168.190.1)的連接,并且代理向目標(biāo)服務(wù)器發(fā)起了連接。

[Proxy] Incoming connection from 192.168.190.1:58715

[Proxy] New outgoing request to 192.168.2.96:3389

[Proxy] Connected

接下來,我們看到客戶端發(fā)送了19個(gè)字節(jié),注意靠近數(shù)據(jù)末尾的03,POC工具將其識(shí)別了出來,并提示信息告訴我們,已經(jīng)將03改成00。

[From 192.168.190.1] Received 19 bytes

0000 03 00 00 13 0E E0 00 00 00 00 00 01 00 08 00 03 ................

0010 00 00 00 ...

[From 192.168.190.1] Modified data to downgrade connection

接著,我們不做任何更改就可以自由地查看流量了:

[From 192.168.2.96] Received 19 bytes

0000 03 00 00 13 0E D0 00 00 12 34 00 02 00 08 00 00 .........4......

0010 00 00 00 ...

...snip...

mstsc會(huì)顯示Classic RDP連接的警告框,這就表明降級(jí)攻擊成功了。這個(gè)警告對(duì)話框,我們?cè)谇懊嫣岬紺lassic RDP的時(shí)候就已經(jīng)見過了。

  Classic RDP連接的警告信息

結(jié)論

通過上面的攻擊過程,我們當(dāng)然建議不要將終端服務(wù)器的安全層配置成“Negotiate”協(xié)商,而是配置成使用SSL,這理論上就能有效阻止上面這樣的降級(jí)攻擊了。

* 參考來源:Portcullis,felix編譯,轉(zhuǎn)載請(qǐng)注明來自FreeBuf黑客與極客(FreeBuf.COM)

關(guān)鍵字:降級(jí)ARP欺騙

本文摘自:黑客與極客

電子周刊
回到頂部

關(guān)于我們聯(lián)系我們版權(quán)聲明隱私條款廣告服務(wù)友情鏈接投稿中心招賢納士

企業(yè)網(wǎng)版權(quán)所有 ©2010-2024 京ICP備09108050號(hào)-6 京公網(wǎng)安備 11010502049343號(hào)

^
  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 杭州市| 安泽县| 炉霍县| 宁津县| 巩义市| 水城县| 顺义区| 万宁市| 长海县| 怀宁县| 闽侯县| 大冶市| 明光市| 凌源市| 宝兴县| 南开区| 应城市| 乐清市| 兴安县| 日照市| 江津市| 邯郸县| 卫辉市| 重庆市| 丰镇市| 云霄县| 东至县| 吉安县| 定远县| 满洲里市| 宁城县| 手游| 舟曲县| 阆中市| 广德县| 浪卡子县| 阜城县| 顺昌县| 叙永县| 道真| 和静县|