作業系統漏洞檢測與利用

2020-09-25 11:01:17

一、什麼是漏洞

1、漏洞

「漏洞」也稱脆弱性,指系統存在的設計缺陷、錯誤或不合理之處。漏洞在生活中很常見,如遊戲漏洞、刷鑽漏洞、Windows漏洞等。
漏洞是一種軟體攻擊程式碼缺陷,這種缺陷大多數情況下不會影響使用者的正常使用,但是一旦被惡意攻擊者利用,就會對軟體自身或軟體的使用者帶來危害。如資訊系統被攻擊或控制,重要資料被竊取,使用者資料被纂改,系統被作為入侵其他主機系統的跳板。從目前發現的漏洞來看,應用軟體中的漏洞遠遠多於作業系統中的漏洞,特別是WEB應用系統中的漏洞更是佔資訊系統漏洞的絕大多數。

2、系統安全漏洞
系統安全漏洞指Windows作業系統以及應用軟體設計中存在的缺陷
按照威脅型別對安全漏洞進行初步分類

  • 獲取控制權:利用該型別漏洞可以獲取目標作業系統的管理許可權,威脅最大,可影響系統的機密性完整性;

  • 獲取資訊:利用該型別漏洞可以劫持目標的保密資訊和資源,影響系統的機密性;

  • 拒絕服務:利用該漏洞可導致目標應用暫時性或永久性失去響應正常服務的能力
    3、分類
    (1)獲取控制權漏洞-MS17_010

  • MS17_010也稱「永恆之藍」,是在Windows的SMB服務處理SMB
    v1請求時發生的漏洞,這個漏洞導致攻擊者在目標系統上可以執行任意程式碼;
    在這裡插入圖片描述
    在這裡插入圖片描述

  • 這個漏洞被多款惡意軟體所利用,如勒索病毒WannaCrypt;
    (2)獲取資訊類漏洞

  • SQL隱碼攻擊:該型別漏洞來源於對來自使用者輸入沒有做充分的檢查過濾就用於後續操作,從而導致使用者可以存取後臺伺服器和資料庫,甚至可以執行任意程式碼;
    在這裡插入圖片描述
    在這裡插入圖片描述

  • XSS注入漏洞:跨站指令碼攻擊指的是惡意攻擊者往web頁面裡插入惡意HTML程式碼,當使用者瀏覽之間,嵌入其中Web裡面的HTML程式碼會被執行,從而達到特殊目的;
    下圖為一個普通留言板
    在這裡插入圖片描述
    在留言板的留言內容中插入一句如下程式碼,使得每個存取這個頁面的使用者都會收到一個惡作劇彈框

在這裡插入圖片描述
在這裡插入圖片描述
(3)拒絕服務漏洞-*MS12_020

  • 拒絕服務漏洞純粹是為了使目標主機或應用無法正常工作,常見的就是「藍屏」攻擊;

  • MS12_020全稱Microsoft Windows遠端桌面協定RDP遠端程式碼執行漏洞;

在這裡插入圖片描述
在這裡插入圖片描述
(4)0day漏洞

  • 除了以上漏洞以外,還有一種漏洞型別被稱為0day漏洞

  • 所謂0day漏洞是指,已經被髮掘出來,但還沒有大範圍傳播開的漏洞,也就是說,這種型別的漏洞很可能掌握在極少數人手中。駭客有可能在這種型別的漏洞的資訊還沒有大範圍的傳播開的時候,利用這段時間差攻擊他們想要攻擊的目標機器,因為絕大多數使用者還沒有獲取到相關的漏洞資訊,也無從防禦。駭客要想得到手還是很容易的。一般被發現的漏洞都會放在漏洞資訊庫中。

4、漏洞的利用方式
自行編寫程式

  • 對於一些高階的駭客,可以基於漏洞的原理直接編寫攻擊程式以達到預期的目標。

使用專用工具

  • 針對一些影響範圍較廣的漏洞,往往會有專門的的漏洞利用工具流傳,通過利用工具可以實現資訊獲取。遠端控制、檔案管理等一些標準化的功能,大大降低了漏洞利用的難度;

使用漏洞利用框架

  • 除了上述兩種方法之外,還有一些滲透測試框架如著名的Metasploit,提供了優秀的模組化框架和底層基礎庫,安全技術人員可以利用其框架進行更加靈活的漏洞利用。

二、Metasploit概述

1、什麼是Metasploit
Metasploit是一個漏洞利用框架。全稱為The Metasploit Framework,簡稱MSF。Metasploit作為全球最受歡迎的工具,不僅僅是因為它的方便性和強大性,更重要是它的框架=。它允許使用者開發自己的漏洞版本,從而進行測試
2、Metasploit都有些啥
在這裡插入圖片描述
3、攻擊流程與思路

  • 使用nmap (zenmap) ,nessus等掃描I具掃描目標主機版本、埠與服務,漏洞等資訊,尋找可利用漏洞。
  • 分析漏洞,並在metasploit中尋 找可利用exploit或Aux模組。
  • 使用合適的exploit(AUX)並選擇payload, 設定好exploit(AUX)與payload嘗試進行攻擊
  • 攻擊成功,獲取系統許可權。
    4、Metasploit常用命令*
    ➢msfconsole
    ●進入metasploit利用框架
    ➢db status
    ●檢視資料庫的連線狀態(如果沒連線到資料庫,可能是postgresq|服務沒有啟動 service postgresql start)
    ➢search
    ●用來搜尋一些滲透攻擊模組,可以進行模糊匹配
    ➢show exploits
    ●顯示可用的滲透攻擊模組
    ➢use
    ●使用某個滲透攻擊模組,可以通過use命令來使用show或search出來的滲透模組。

三、實驗演示

一、實驗場景一:使用使用MS12-020和Metasploit進行藍屏攻擊

本次實驗拓撲:

1、查詢Kali及網段地址


2、在kali終端輸入msfconsole,啟動Metasploit工具

3、輸入命令search ms12_020,可選擇的模組有2個,我們先選擇第一個進行嘗試。


4、進入這個模組後,用show options 檢視當下的設定。
在這裡插入圖片描述
5、設定引數

6、攻擊成功
在這裡插入圖片描述

二、使用MS17-010和Metasploit進行攻擊
本次實驗網路拓撲如下:
1、查詢kali地址及掃描網段

在這裡插入圖片描述
2、通過nmap對win7進行掃描漏洞
在這裡插入圖片描述
3、在kali終端輸入msfconsole,啟動Metasploit工具

在這裡插入圖片描述
在這裡插入圖片描述
4、進入exploit模組

5、設定引數

6、選擇meterpreter來對windows靶機進行操控攻擊
在這裡插入圖片描述
在這裡插入圖片描述
7、進行螢幕截圖

在這裡插入圖片描述
8、在meterpreter進行提權並上傳檔案

在這裡插入圖片描述
在這裡插入圖片描述
9、獲取win7攝像頭找到一個裝置
在這裡插入圖片描述
開啟


10、使用VNC遠端控制Windows7進入選擇模組
在這裡插入圖片描述
在這裡插入圖片描述
設定引數
在這裡插入圖片描述
控制成功
在這裡插入圖片描述