Part1 前言
大家好,我是ABC_123。在日常的滲透測試及紅隊(duì)評(píng)估項(xiàng)目中,經(jīng)常遇到http 401身份認(rèn)證的情況,具體就是訪問一個(gè)特定目錄的時(shí)候,會(huì)彈出一個(gè)要求輸入用戶名密碼的框框。很多朋友會(huì)誤以為是與tomcat的http basic認(rèn)證一樣,就是把用戶名及密碼進(jìn)行了簡單的base64加密,然后使用相應(yīng)的工具進(jìn)行弱口令猜解,實(shí)際上這里面有各種各樣的身份驗(yàn)證算法,非常復(fù)雜。接下來ABC_123就搭建IIS測試環(huán)境,給大家分享一下相關(guān)經(jīng)驗(yàn),同時(shí)分享一下不同情況下弱口令枚舉的關(guān)鍵Java代碼實(shí)現(xiàn),網(wǎng)上能用的java代碼極少,甚至是搜索不到,ABC_123也是踩了一大堆的坑。
**注:**特別感謝我的APT老大哥的指點(diǎn),Negotiate協(xié)議和Kerberos協(xié)議的問題困擾了我好長時(shí)間,在老哥的指點(diǎn)下茅塞頓開。
Part2 技術(shù)研究過程
-
基礎(chǔ)環(huán)境搭建
IIS中間件可以很方便地設(shè)置常用的HTTP 身份認(rèn)證,本地搭建一個(gè)IIS環(huán)境,對(duì)需要身份認(rèn)證的/fck目錄進(jìn)行權(quán)限設(shè)置,雙擊“身份驗(yàn)證”選項(xiàng)。
發(fā)現(xiàn)IIS默認(rèn)情況下有以下這幾種身份驗(yàn)證方式,分別是“Windows身份驗(yàn)證”、“基本身份驗(yàn)證”、“匿名身份驗(yàn)證”、“摘要式身份驗(yàn)證”。其中匿名身份驗(yàn)證就是允許任意用戶訪問,不牽扯到輸入弱口令問題,這里就不過多敘述了。
-
基本身份驗(yàn)證
首先看第一種情況,也就是最常見的Http Basic認(rèn)證,就是類似于Tomcat后臺(tái)管理頁面的登錄方式。如下圖所示,開啟“基本身份驗(yàn)證”選項(xiàng),其它的全部關(guān)閉。
在這種情況下,以GET請(qǐng)求訪問**/fck**目錄時(shí)返回如下消息頭,“Basic” 表示所使用的驗(yàn)證方案是基本身份驗(yàn)證,這是HTTP協(xié)議中最簡單的一種認(rèn)證方法?!?strong>realm="192.168.237.129"” 指示了受保護(hù)資源所屬的域,除了IP地址,也可以是一個(gè)域環(huán)境的域名。
使用burpsuite進(jìn)行抓包發(fā)現(xiàn),其加密方式就是普通的Base64加密,與大家最常見的Tomcat的后臺(tái)登錄加密方式是一樣的,這種的太過常見,這里就不過多敘述。
-
摘要式身份驗(yàn)證
接下來嘗試一下“摘要式身份驗(yàn)證”,IIS中間件下的開啟摘要式身份驗(yàn)證需要加入域環(huán)境,于是ABC_123安裝了一個(gè)域控虛擬機(jī),域名為test111.com。接下來選擇test111.com之后點(diǎn)擊確定,IIS就啟用了該認(rèn)證模式。
此時(shí),以GET請(qǐng)求**/fck目錄,發(fā)現(xiàn)服務(wù)器返回如下消息頭:“Digest” 表示所使用的驗(yàn)證方案是摘要身份驗(yàn)證;“qop” 表示質(zhì)量保護(hù),這里是指定為"auth",表示使用身份驗(yàn)證;“algorithm” 指定了使用的加密算法,這里是MD5-sess;“nonce” 是一個(gè)由服務(wù)端生成的隨機(jī)字符串;realm則給出了域控服務(wù)器的域名,就是我們搭建的域環(huán)境test111.com**。
根據(jù)彈出的提示框輸入一個(gè)用戶名密碼,之后使用burpsuite抓包,發(fā)現(xiàn)瀏覽器發(fā)送的http請(qǐng)求是如下格式,看起來非常復(fù)雜,已經(jīng)不是使用簡單的java代碼就能夠?qū)崿F(xiàn)弱口令猜解的。
最后,ABC_123踩了一大堆坑,然后各種搜索、嘗試了各種代碼,最后給出如下真正可用的java代碼。將如下代碼改成多線程,就可以實(shí)現(xiàn)對(duì)此的HTTP 摘要身份驗(yàn)證的用戶名密碼的暴力破解了。
-
Windows身份驗(yàn)證(Negotiate+NTLM)
接下來嘗試一下“集成Windows 身份驗(yàn)證”方式,勾選相應(yīng)的選項(xiàng)之后,使用burpsuite對(duì)其進(jìn)行抓包。
此時(shí),以GET請(qǐng)求**/fck**目錄,發(fā)現(xiàn)服務(wù)器返回如下消息頭,返回消息頭有兩個(gè)WWW-Authenticate,ABC_123查閱資料發(fā)現(xiàn),這里主要是為了兼容性的考量。如果客戶端不支持Negotiate協(xié)議,那么我們的瀏覽器就會(huì)選擇NTLM認(rèn)證方式;如果客戶端支持并選用了Negotiate協(xié)議,又會(huì)有兩種情況,分別是Kerberos協(xié)議及NTLM協(xié)議。這時(shí)候如果客戶端支持Kerberos,會(huì)優(yōu)先使用Kerberos驗(yàn)證;如果不支持Kerberos,則會(huì)選用NTLM認(rèn)證。這里面很繞,如果新手朋友聽不明白,可以繼續(xù)看接下來的實(shí)驗(yàn)。
根據(jù)提示框的提示,輸入用戶名密碼之后,使用抓包工具進(jìn)行抓包發(fā)現(xiàn)Authorization: Negotiate TlRMTVNTUAADAAAA,base64解碼之后發(fā)現(xiàn)是Authorization: Negotiate NTLMSSP+二進(jìn)制數(shù)據(jù),說明此時(shí)我們的瀏覽器選擇了NTLM認(rèn)證。
對(duì)于這種情況下的HTTP NTLM賬號(hào)密碼猜解,ABC_123又是踩了一大堆的坑,最終給出的真正能用的Java代碼如下:
-
Windows身份驗(yàn)證(Negotiate+Kerberos)
接下來看最后一種情況,就是Negotiate認(rèn)證下的Kerberos協(xié)議過程。本地繼續(xù)搭建一個(gè)虛擬機(jī),新建一個(gè)域用戶并以域用戶身份登錄此虛擬機(jī)。
此時(shí)目標(biāo)url的/fck目錄不能以ip地址形式訪問,需要以計(jì)算機(jī)名的形式瀏覽,此時(shí)發(fā)現(xiàn)不需要輸入用戶名及密碼就可以直接訪問/fck目錄。因?yàn)槲覀円杂蛴脩羯矸莸卿浟水?dāng)前虛擬機(jī),當(dāng)前域用戶是有權(quán)限訪問/fck目錄的,所以此時(shí)瀏覽器使用了Kerberos認(rèn)證。此時(shí)使用Fiddler抓包,在“認(rèn)證”選項(xiàng)卡下,發(fā)現(xiàn)了通信過程是Kerberos協(xié)議。
Part3 總結(jié)
1. 對(duì)于HTTP身份驗(yàn)證的弱口令審計(jì),需要仔細(xì)分析服務(wù)器返回消息頭中的WWW-Authenticate字段。
2. 本篇文章對(duì)于新手會(huì)難以理解,最好是能搭建環(huán)境嘗試一下,還有更多關(guān)于HTTP身份驗(yàn)證的情況,后續(xù)ABC_123繼續(xù)搭建環(huán)境給大家分享。
`黑客&網(wǎng)絡(luò)安全如何學(xué)習(xí)
今天只要你給我的文章點(diǎn)贊,我私藏的網(wǎng)安學(xué)習(xí)資料一樣免費(fèi)共享給你們,來看看有哪些東西。
1.學(xué)習(xí)路線圖
攻擊和防守要學(xué)的東西也不少,具體要學(xué)的東西我都寫在了上面的路線圖,如果你能學(xué)完它們,你去就業(yè)和接私活完全沒有問題。
2.視頻教程
網(wǎng)上雖然也有很多的學(xué)習(xí)資源,但基本上都?xì)埲辈蝗?,這是我自己錄的網(wǎng)安視頻教程,上面路線圖的每一個(gè)知識(shí)點(diǎn),我都有配套的視頻講解。
內(nèi)容涵蓋了網(wǎng)絡(luò)安全法學(xué)習(xí)、網(wǎng)絡(luò)安全運(yùn)營等保測評(píng)、滲透測試基礎(chǔ)、漏洞詳解、計(jì)算機(jī)基礎(chǔ)知識(shí)等,都是網(wǎng)絡(luò)安全入門必知必會(huì)的學(xué)習(xí)內(nèi)容。
(都打包成一塊的了,不能一一展開,總共300多集)
因篇幅有限,僅展示部分資料,需要點(diǎn)擊下方鏈接即可前往獲取文章來源:http://www.zghlxwxcb.cn/news/detail-791874.html
CSDN大禮包:《黑客&網(wǎng)絡(luò)安全入門&進(jìn)階學(xué)習(xí)資源包》免費(fèi)分享文章來源地址http://www.zghlxwxcb.cn/news/detail-791874.html
3.技術(shù)文檔和電子書
技術(shù)文檔也是我自己整理的,包括我參加大型網(wǎng)安行動(dòng)、CTF和挖SRC漏洞的經(jīng)驗(yàn)和技術(shù)要點(diǎn),電子書也有200多本,由于內(nèi)容的敏感性,我就不一一展示了。
因篇幅有限,僅展示部分資料,需要點(diǎn)擊下方鏈接即可前往獲取
CSDN大禮包:《黑客&網(wǎng)絡(luò)安全入門&進(jìn)階學(xué)習(xí)資源包》免費(fèi)分享
4.工具包、面試題和源碼
“工欲善其事必先利其器”我為大家總結(jié)出了最受歡迎的幾十款款黑客工具。涉及范圍主要集中在 信息收集、Android黑客工具、自動(dòng)化工具、網(wǎng)絡(luò)釣魚等,感興趣的同學(xué)不容錯(cuò)過。
還有我視頻里講的案例源碼和對(duì)應(yīng)的工具包,需要的話也可以拿走。
因篇幅有限,僅展示部分資料,需要點(diǎn)擊下方鏈接即可前往獲取
CSDN大禮包:《黑客&網(wǎng)絡(luò)安全入門&進(jìn)階學(xué)習(xí)資源包》免費(fèi)分享
最后就是我這幾年整理的網(wǎng)安方面的面試題,如果你是要找網(wǎng)安方面的工作,它們絕對(duì)能幫你大忙。
這些題目都是大家在面試深信服、奇安信、騰訊或者其它大廠面試時(shí)經(jīng)常遇到的,如果大家有好的題目或者好的見解歡迎分享。
參考解析:深信服官網(wǎng)、奇安信官網(wǎng)、Freebuf、csdn等
內(nèi)容特點(diǎn):條理清晰,含圖像化表示更加易懂。
內(nèi)容概要:包括 內(nèi)網(wǎng)、操作系統(tǒng)、協(xié)議、滲透測試、安服、漏洞、注入、XSS、CSRF、SSRF、文件上傳、文件下載、文件包含、XXE、邏輯漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,僅展示部分資料,需要點(diǎn)擊下方鏈接即可前往獲取
CSDN大禮包:《黑客&網(wǎng)絡(luò)安全入門&進(jìn)階學(xué)習(xí)資源包》免費(fèi)分享
到了這里,關(guān)于HTTP身份認(rèn)證401不同情況下弱口令枚舉方法及java代碼實(shí)現(xiàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!