Windows操做系統基於引用監控器模型來實現基本的對象安全模型。系統中全部主體對客體的訪問都經過引用監控器做爲中介,由引用監控器根據安全訪問控制策略來進行受權訪問,全部訪問記錄也都由引用監控器生成審計日誌。html
Windows操做系統實現基礎的安全機制,其中最核心的是位於內核的SRM安全引用監控器,以及位於用戶態的LSASS安全服務,它們與Winlogon/Netlogon及Eventlog等服務一塊兒,實現了對主體用戶的身份認證機制,對全部資源對象的訪問控制機制,以及對訪問的安全審計機制。python
Windows操做系統中以安全主體概念來包含全部進行系統資源訪問請求的實體對象,有用戶、用戶組和計算機三大類,對於每一個安全主體,以時間和空間上都全局惟一的SID安全標識符來進行標識。帳戶權限的根本做用就是限制這些帳戶內運行程序對系統資源對象的訪問。git
Windows系統中擁有一些內建帳戶,如擁有最高權限的本地Administrator帳戶,做爲自動運行系統進程環境的SYSTEM/LocalSystem帳戶,具備相對極少權限的Guest匿名訪問用戶,以及IUSR_Machinename IIS服務的匿名網絡訪問帳戶等。而這些帳戶在黑客眼中,本地Administrator和SYSTEM帳戶擁有最高的權限,是他們攻擊的終極目標。github
Windows系統的內建用戶組包括:本地最高權限用戶組Administrators、具備單一方面系統權限的Account/Backup/Server/Print Operators等操做組、用於容納服務帳戶的Network Service與Local Service用戶組,以及全部用戶帳戶所在的Users組等。 Windows用戶帳戶的口令字通過加密處理以後被保存於SAM或者活動目錄AD中,其中本地用戶帳戶口令信息通過不可逆的128位隨機密鑰Hash加密後存儲在SAM文件中,SAM存儲於%systemroot%\system32\config\sam文件系統路徑位置,並在註冊表的HKEY_LOCAL MACHINE\SAM存有副本。web
Windows域帳戶口令信息則保存在域控制器的活動目錄AD中,加密方式與單機平臺一致,存儲文件系統位置是域控制器的%systemroot%\ntds\ntds.dit路徑。sql
Windows支持本地身份認證和網絡身份認證兩種方式,分別對在本地系統登陸和遠程網絡訪問的主主體進行合法性驗證。網絡身份認證過程由LSASS服務的Netlogon模塊主導完成。shell
Windows進程、GINA圖形化登陸窗口,與LSASS服務經過協做來完成本地身份認證過程。數據庫
Windows受權與訪問控制機制是基於引用監控器模型,由內核中的SRM模塊與用戶態的LSASS服務共同來實施。在Windows服務器操做系統中,用戶能夠執行內建的whoami命令來查看當前用戶的訪問令牌信息。Windows對於系統中全部需保護的資源都抽象成對象,具體類型包括文件、目錄、註冊表鍵值、內核對象、同步對象、私有對象、管道、內存、通訊接口等,而對每一個對象會關聯一個SD安全描述符。windows
1.包括遠程口令猜解攻擊、windows網絡服務攻擊,windows客戶端和用戶攻擊。api
2.生命週期:
3.遠程口令猜解攻擊:
4.網絡服務遠程滲透攻擊:針對NETBIOS服務的著名漏洞和攻擊、針對SMB服務的著名漏洞和攻擊、針對MSRPC服務的著名漏洞和攻擊、針對windows系統上微軟網絡的遠程滲透攻擊、針對windows系統上第三方服務的遠程滲透攻擊。
防範措施:最基本的是儘可能避免與消除這些滲透攻擊所依賴的服務軟件安全漏洞。
受限用戶權限嘗試得到特權帳戶的攻擊技術也被稱爲特權提高,業內簡稱爲「提權」。Windows系統上進行特權提高的攻擊途徑主要是經過DLL注入和破解本地程序安全漏洞。
searchsploit能夠藉助關鍵詞搜索漏洞信息以及漏洞對應的exp。
searchsploit wordpress列出了漏洞和文件地址。
Metasploitable在滲透測試中常常被用到,實際上這套軟件包括了不少工具,這些工具組成了一個完整的攻擊框架。
先使用命令service postgresql start開啓PostgreSQL數據庫服務,而後使用msfconsole開啓metasploit服務。
測試,首先使用nmap掃描目標主機開啓的服務,這裏選擇21號端口做爲攻擊目標:
使用search命令查找該服務對應的攻擊文件:
選擇一個攻擊文件用use命令啓動:
使用show options
查看幫助,設置是須要設置的選項,這裏設置主機監聽端口和目標地址IP:
設置payload:
可使用msfpayload生成payload或者shellcode,也可使用預製的payload。
搜索的時候能夠用msfpayload -l |grep "windows"這樣的命令查詢。-o 選項能夠列出payload所需的參數。
Meterpreter是metasploit框架中的一個擴展模塊,做爲溢出成功之後的攻擊載荷使用,攻擊載荷在溢出攻擊成功之後紿咱們返回一個控制通道。使用它做爲攻擊載荷可以得到目標系統的—個meterpretershell的連接。
打開MSF,開啓監聽(選擇exploit/multi/handler)。
在指定目錄,生成exe後門:
在跳板機獲取必定權限後,須要積極地向內網主機權限發展,獲取指定的目標信息,探查系統的漏洞,藉助Msf已經獲得的Meterpreter後門,可使後續操做更容易。
在Kali下,BeeF是一個不遜色於XSS平臺的工具。Beef是瀏覽器攻擊框架的簡稱,是一款專一於瀏覽器端的滲透測試工具。官網http://beefproject.com/
命令行下啓動Beef:
輸入用戶名和密碼登陸:
主界面:
咱們假設被測試主機因爲XSS漏洞請求到頁面http://127.0.0.1:3000/demod/basic.html,這是一個測試頁面,若是經過XSS把該頁面加入頁面請求中,也就是說每一個訪問某個頁面的人都會訪問該頁面,則訪問者就會被BeEF hook 到,即加入到 Online Browsers中。
能夠查看詳細信息:
HOOK持續的時間爲關閉測試頁面爲止,在此期間,至關於被控制了,能夠發送攻擊命令(js代碼)。
咱們以MISC下的Raw JavaScript模塊爲例進行測試,右端輸入 Javascript code 給目標彈出窗口,點擊Excute進行攻擊。
被攻擊方顯示以下:
BeFF還有Proxy功能,右鍵目標主機:
來到以下界面:
點擊send,在history中能夠查看歷史:
以上就是依賴目標作一個代理,而後請求一個特定頁面的過程。BeEF還可以配合Metasploit進一步滲透主機。BeEF 默認不加載 Metasploit,若是要使用 Metasploit 豐富的攻擊模塊,須要作如下配置:
課上已完成
第六章代碼用到的Jyphon包不支持python3版本,所以本次代碼均使用書中原版代碼(小幅修改)。
首先配置好jyphon包的路徑,以後將bhp_fuzz.py文件加入到工具:
模擬運行結果以下:
成功添加該工具:
運行結果:
能夠看到並無查詢獲得結果。首先bing search API的網址已經變了,如今網址爲:https://api.cognitive.microsoft.com/bing/v7.0/。
其次,新版的API已經取消了該搜索功能(至少我是沒找到,在bing搜索中按照IP:XXX.XXX.XXX.XXX的方式也得不到有效結果,結果爲Ref A: 2EBF0909B997498C843D95CDC73B2946 Ref B: BJ1EDGE0307 Ref C: 2019-04-12T01:19:46Z
),所以經過本擴展實現反查域名已經不可行了。須要另求它法。
首先由host地址發現拓撲結構:
生成字典:
結果以下:
IE瀏覽器是目前市場佔有率最高的瀏覽器,爲了在ie瀏覽器完成此實驗,不得不重裝一個win7虛擬機進行此實驗。此部分代碼使用python3重寫。
書中讓我觀察瀏覽器是否有難以理解的動做,確實有,當我進入程序中target_site中的登陸界面後,或者我自己就在登陸狀態,瀏覽器會不停的刷新回輸入帳戶的界面···
本代碼要求比較複雜,首先須要使用keygen.py生成RSA公私鑰對,而後使用ie_exfil.py將明文文件名加密後在目標網站以標題的形式發出,以後還能夠用decryptor.py解密。
在修改過程當中其餘的不談,原程序使用win32com這個包來進行瀏覽器操做,對於目標網站來講存在如下幾個問題:
所以在個人視角中使用書中的win32com包來完成這項工做幾乎是不可能的。
所以我用selenium包重寫了這個程序,在程序連接中命名爲ie_exfil_new.py。更換工具包後一切都變得簡單了起來,運行結果以下:
仍須要注意的是,selenium操做瀏覽器須要下載對應瀏覽器的驅動文件,在64位的iedriver中存在bug,在想IE11瀏覽器中輸入英文字母和數字時會很是緩慢,大約5s才能輸入一個字符。
據悉對IE瀏覽器進行降級或者換用32位的驅動能夠解決這個問題,可是我將IE11降級爲IE10後依然存在這個問題,也有多是iedriver和selenium版本不匹配的問題?我只是單純的下載了最新版沒有注意版本是否對應。不過具體怎樣其實也不重要了,由於selenium只要有對應瀏覽器的驅動,能夠操做任何瀏覽器,誰還會去用集萬千缺點於一身的IE呢?