本次實驗利用ms17010與ms14068兩個老漏洞,用kali在一個極簡域環境的理想狀態下模擬復現從控制一臺域內主機到得到域控shell的簡單流程shell
關於漏洞原理已經講爛了,再也不復述,網上大神們寫得很好windows
老版kali ip:192.168.1.16服務器
winserver2008 ip:192.168.1.28 (域控,dns服務器)框架
win7 x64 ip:192.168.1.13(域內主機)工具
打開msf,尋找ms17010應用模塊ui
採用auxiliary/scanner/smb/smb_17_010來搜尋目標網段是否有開放445端口存在永恆之藍的機器IP,線程50便可編碼
設置好options後run一下線程
run到了192.168.1.13這臺機器(目標域內主機)有此漏洞3d
提示目標機器爲64位win7,因此採用模塊exploit/windows/smb/ms_17_010_eternalblue,不一樣位數機器對應的payload不盡相同,msf中沒有的可自行尋找編寫,再加入框架中server
設置目標ip、反彈鏈接payload、監聽ip,設置好後執行
得到meterpreter
看一下當前uid,權限很高
若是發現有亂碼,多是編碼問題
改爲GB編碼就能正常顯示
進入shell後,ipconfig /all whoami /all查看信息,發現多是域環境,dns與域控通常在一塊兒
以後查找域管理員帳號
找到域中全部用戶名
meterpreter下meterpreter>load mimikatz加載mimikatz神器後,kerberos可見登陸過的域用戶明文密碼,msv可見hash(省着往域主機win7上傳mimikatz可能涉及權限等
問題難以執行),由此抓到當前主機域用戶密碼
因爲域控沒打相關補丁,可利用ms14068得到域控權限的shell
利用goldenPac.exe工具,相似ms14068工具和psexec的結合體,成功了將直接返回一個域控交互式shell,固然還有不少其餘辦法
用meterpreter把工具從kali傳到win7域主機c盤上去
執行工具 goldenPac.exe 域名/域用戶名:域用戶明文密碼@域名
報錯,提示域控主機名SERVER
再次執行工具 goldenPac.exe 域名/域用戶名:域用戶明文密碼@完整域名
在此時返回的shell中執行ipconfig,會看到ip由原來域主機win7的ip192.168.1.13變成域控winserver2008的ip 192.168.1.28,證實這已是一個域控的shell了,利用成功
以後能夠在域中新建用戶並加入到域管理員組中
也能夠進行開端口,寫腳本等操做,最後別忘了清理痕跡