Kali學習筆記20:緩沖區溢出實驗環境准備


在前幾篇的博客中:我介紹了OpenVAS和Nessus這兩個強大的自動化漏洞掃描器

但是,在計算機領域中有種叫做0day漏洞:沒有公開只掌握在某些人手中

那么,這些0day漏洞是如何被發現的呢?

接下來就介紹下這一類漏洞中最典型的一種:緩沖區溢出

 

通過緩沖區溢出,甚至可以控制目標機器

 

什么是緩沖區:內存中一個片段

使用程序,就會調用參數和變量,程序會提交數據給計算機,先放入內存,

再交由CPU運算處理,然后可能會寫入計算機硬盤進行保存。

程序不像是圖片文字不變的,它會根據用戶的操作而有不同的反應

 

計算機所有漏洞基本原理:程序提交給計算機一段代碼和一些數據,而我們使用一些手段

使計算機把代碼當成數據,把數據當成代碼,然后錯誤執行,這樣就會導致一些內存注入漏洞

進而,可以破壞程序,甚至是提權

 

接下來用一個shell腳本來分析基本的漏洞:

#!/bin/bash
echo $1

 

這個腳本很簡單

功能:執行的時候輸出你輸入的參數

比如我輸入一個666(第一行是給腳本執行權限)

 

這樣的話腳本執行沒問題,但是,我如果后邊輸入的不是666,而是一段系統指令,結果會怎樣呢?

 

發現並沒有執行異常,是不是說明這個腳本就沒有漏洞呢?

不是,加個分號,結果就不一樣了

(其實,用|或&或其他一些字符,都可以導致執行異常)

 

看到這里並沒有輸出;ls,而是執行了ls命令

 

接下來,就可以用nc命令連接服務器,控制服務器等等

 

那么我們如何去發現緩沖區漏洞呢?

通常發現漏洞的方式:

1.源碼審計:需要有源碼

2.逆向工程:另外一個領域

3.模糊測試:重點關注

 

這里要注意模糊測試:

向程序堆棧發送半隨機的數據,根據內存變換判斷溢出

這里就要用到數據生成器,測試工具

可以使用別人寫好的數據生成工具,當然如果可以自己寫,功能會更有針對性

 

 

接下來看看具體的緩沖區溢出案例:

Windows系統的緩沖區溢出:

 

這里會使用一個有緩沖區溢出漏洞的程序SLMail5.5

還有一個需要用到的工具:ImmunityDebug1.85

一個小工具:mona-master.zip

我把他們上傳到了百度網盤:

鏈接:https://pan.baidu.com/s/1H4QqRnG2d9_lBTM1czxJ7A
提取碼:9t6c

 

測試來看,不建議使用本機,開一個win2003虛擬機即可

高版本WINDOWS也不建議,漏洞一般都被微軟處理了

 安裝郵件服務器

注意記住IP,等會測試這個IP

 

后邊這一項注意:由於只是本地虛擬機之間測試,選擇如下

 后邊隨便設置一個域名:

 

這樣一步一步安裝好之后重啟電腦,查看端口,如果開放了這幾個端口,那么就安裝成功!

 

為確保安裝完成,再次檢查service:

 

發現這幾個和郵件相關的服務都啟動了,注意為了測試把windows機器的防火牆關了

 

接下來安裝調試工具:ImmunityDebugger

這個不必多說,下一步點擊傻瓜式安裝即可

 

安裝好之后,打開安裝目錄,把剛才我提供的MONA.PY放到PYCOMMONDS文件夾中

 

准備工作到此完成

 

開啟Kali機器准備測試:

連接目標機器25端口:

 

繼續測試發現110端口也是開啟狀態:

 

到這里准備工作就做完了

 

接下來我們使用Kali機器對郵件服務器發送命令來模糊測試緩沖區溢出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM