https站點搭建與CA實現
CA認證中心是采用PKI公開密鑰基礎架構技術,專門提供網絡身份認證服務,負責簽發和管理數字證書,且具有權威性和公正性的第三方信任機構,它的作用就像我們現實生活中頒發證件的公司,如護照辦理機構。用戶在使用自己的數字證書之前必須先下載根證書。數字證書里存有很多數字和英文,當使用數字證書進行身份認證時,它將隨機生成128位的身份碼,即相當于生成一個復雜的密碼。
數字證書的工作原理為:數字證書采用公鑰體制,即利用一對互相匹配的密鑰進行加密、解密。每個用戶自己設定一把特定的僅為本人所知的私有密鑰(私鑰),用它進行解密和簽名;同時設定一把公共密鑰(公鑰)并由本人公開,為一組用戶所共享,用于加密和驗證簽名。
- CA的搭建
點擊開始|管理工具|服務器管理器
,打開服務器管理器。按提示步驟添加角色。
在瀏覽器中將http://192.168.1.3
設置為可信任站點。
- 服務器證書的申請與頒發
點擊開始|管理工具|IIS
,選擇創建證書申請,為申請的證書創建一個文件名。
在IE瀏覽器中打開http://192.168.1.3/certsrv
,點擊申請證書
,繼續點擊高級證書申請
。點擊第二項使用bas64編碼的CMC
。將之前保存的密鑰文檔文件找到并打開,將里面的文本信息復制并粘貼到“Base-64編碼的證書申請”文本框中,提交。
打開證書服務器處理用戶剛才提交的證書申請;點擊開始|運行
,輸入:certsrv.msc
,然后回車就會打開證書服務功能界面,找到【掛起的申請】位置,可以看到之前提交的證書申請。
所有任務|頒發
,記錄從界面中消失,點擊頒發的證書
,看到有一條記錄,即說明證書申請和頒發成功。
- 服務器證書的下載與安裝
打開IE瀏覽器,輸入地址http://192.168.1.3/certsrv
,點擊查看掛起的證書申請的狀態
,之后會進入“查看掛起的證書申請的狀態”頁面,點擊保存的申請證書
。
下載證書,打開IIS管理器,點擊服務器證書|完成證書申請
。選擇剛才保存的證書。輸入shiyanbar_https
,點擊確定。
- 發布HTTPS協議
打開默認網站站點。點擊綁定|添加
,將類型該為https
,點擊SSL證書
為shiyanbar_https
,點擊確定
即可,網站綁定窗口會出現兩個記錄。進入到默認站點的SSL設置,點擊應用
。
在瀏覽器中輸入http://192.168.1.3
,得到下圖
輸入https://192.168.1.3
,得到下圖
- 課后思考
什么是SSL?SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網絡通信提供安全及數據完整性的一種安全協議。TLS與SSL在傳輸層對網絡連接進行加密。
數字證書中不應包含用戶的私鑰,因為這是不公開的。且加密過程是不可逆的。
利用PGP實現文件加密
PGP是一個基于RSA公匙加密體系的文件(或郵件)加密軟件。可以用它對文件(或郵件)保密以防止非授權者閱讀,它還能對文件(或郵件)加上數字簽名從而使收信人可以確認文件(或郵件)的發送者,并能確信文件(或郵件)沒有被篡改。
1、服務端搭建郵件服務器
單擊開始|管理工具|管理您的服務器
,單擊添加或刪除角色,選擇郵件服務器,在C:\win2003\I386
文件夾下選擇提示的文件,單擊打開
。一直點擊下一步直到完成。點擊開始|管理工具|POP3服務
,打開POP3服務
窗口。新建域。在窗口左側POP3服務
下的本機主機名上右擊,選擇新建|域
。在彈出的添加域
對話框中輸入自己需要建立的郵件服務器的主機名,即郵箱地址中“@”后面的部分,如:mail.shiyanbar.com
。點擊確定
按鈕完成域的創建。新建郵箱。在窗口左側選擇剛剛創建好的新域,右擊,選擇新建|郵箱
,在彈出的添加郵箱
對話框中設置自己的郵箱。
選擇
開始|管理工具|Internet信息服務(IIS)管理器
。在Internet信息服務(IIS)管理器
窗口的左側選擇默認SMTP虛擬服務器
,右擊,選擇屬性
。在屬性
對話框中的常規
選項卡中,將IP地址設置為本郵件服務器的IP地址。打開OutlookExpress,添加一個新賬戶。單擊
工具|賬戶
。在打開的Internet賬戶對話框中,單擊添加|郵件
。在“電子郵件地址”中填入之前設置的郵件地址,如aaron@wgcunion.com
。在“電子郵件服務器”中進行設置,“接收郵件服務器”和“發送郵件服務器”處均填入郵件服務器的IP地址,如:
192.168.1.3
。在“Internet郵件登陸”中填入之前設置的用戶名和密碼。例如Aaron設置的用戶名和密碼均為“aaron”。最后點擊完成。開始|所有程序|“Outlook Express”
。填入顯示名、郵件地址、郵件服務器名等。- PGP軟件的安裝
打開桌面PGP文件夾,打開PGP安裝包,按步驟安裝。 - 添加用戶
在Hello端添加Hello用戶,點擊開始|所有程序|PGP|PGPkeys
,打開PGP的keys頁面。點擊工具欄的Generate new keypair
,彈出提示界面。依次輸入用戶名和密碼。相同的方法在World端添加用戶World,Full name為World,Email address為World@mail.shiyanbar.com
。口令短語為World123456。 - 共享公鑰
用戶World將自己的公鑰導出,通過郵件方式發送給Hello,來滿足Hello實現保密通信的需要。在World端,選中用戶World,點擊菜單欄的Keys
下的Export
。導出。點擊開始|所有程序|Outlook Express
,進入Outlook。通過郵件將World公鑰發送給Hello,來實現公鑰共享。
Hello端,收到附件后,打開PGP主界面。點擊KeysImport
,將密鑰導入。4.7 點擊“Edit”選項卡下的“Options”,點選“Do not cache passphrase”,點擊“確定”。
- 加密郵件
在Hello端,通過Outlook Express給World寫郵件。
右鍵點擊右下角的金鎖小圖標,進入Current Windows
,點擊Encrypt
,加密編輯光標所在窗口的文本。彈出密鑰選擇頁面,雙擊World,即可將Wrold添加到“Recipitions”中。
- 解密郵件
在World端收取郵件,并查看郵件內容。
將光標置于右鍵內容窗口中,在右下角右鍵點擊小金鎖。在Current Windows
中,點擊Decrypt|Verify
。彈出Enter Passphress頁面,輸入創建用戶時的口令短語“World123456”。解密時提示輸入口令短語,并不是World真正的私鑰,World的私鑰是通過口令短語保護的,并且由PGP調用。因為PGP是基于RSA密碼體系,不可能手動讓用戶輸入上千位的私有密鑰。
點擊ok,解密完成。
-
用戶鑰匙的備份
參照4.1,將密鑰導出,右擊該文件用PGP加密,選擇要使用的公鑰
點擊ok,生成加密文件。
將hello用戶刪除。添加新用戶hello。打開加密的文件,發現新用戶不能解密。
重新導入原hello用戶,發現可成功解密。
- 課后思考
如何實現數字簽名?
“發送報文時,發送方用一個哈希函數從報文文本中生成報文摘要,然后用自己的私人密鑰對這個摘要進行加密,這個加密后的摘要將作為報文的數字簽名和報文一起發送給接收方,接收方首先用與發送方一樣的哈希函數從接收到的原始報文中計算出報文摘要,接著再用發送方的公用密鑰來對報文附加的數字簽名進行解密,如果這兩個摘要相同、那么接收方就能確認該數字簽名是發送方的。
Window下IPC$管道的建立和遠程控制
IPC是共享”命名管道”的資源,它是為了讓進程間通信而開放的命名管道,可以通過驗證用戶名和密碼獲得相應的權限,在遠程管理計算機和查看計算機的共享資源時使用。利用IPC$,連接者甚至可以與目標主機建立一個空的連接而無需用戶名與密碼(當然,對方機器必須開了ipc$共享,否則你是連接不上的),而利用這個空的連接,連接者還可以得到目標主機上的用戶列表(不過負責的管理員會禁止導出用戶列表的)。還可以訪問共享資源,并使用一些字典工具,進行密碼探測,以至于獲得更高的權限。
打開被攻擊機即目標主機的IPC$默認共享
啟動實驗臺,切換到目標機。如果利用IPC$漏洞實施攻擊,首先要保證被攻擊機IPC$默認共享已經打開。在目標機命令行中輸入net share
命令查看是否開啟IPC$共享。-
利用net命令與遠程主機建立IPC$連接
在命令行輸入命令net use \\192.168.1.3\ipc$ “Simplexue123” /user:”administrator”
與目標主機建立IPC$連接。
在命令行下利用cd進入軟件目錄C:\實驗工具集\06網絡與無線安全\01典型協議攻擊\第4節 Windows下IPC$管道的建立和遠程控制
,利用copy命令向服務器復制a.txt文件。
將對方的C盤映射為本地的Z盤,則可以像操縱本地硬盤一樣對目標主機C盤進行操作。
-
利用工具PSEXEC實施攻擊
利用PsExec工具獲得對方的Shell,命令為PsExec \\遠程主機ip –u 用戶名 –p 密碼 cmd.exe
可以看到ipconfig命令已經在遠程主機上執行了,獲得的是對方主機的IP地址192.168.1.3。
關閉IPC$和默認共享依賴的服務:server服務控制面板/管理工具/服務/找到server服務(右擊)/屬性/常規/啟動類型/選已禁用,這時可能會有提示說:XXX服務也會關閉是否繼續,因為還有些次要的服務要依賴于server服務,繼續關閉。 課后習題
Window系統的IPC$共享的實現利用的是哪個端口實現的:如果允許NBT, 那么UDP端口137, 138, TCP 端口 139, 445將開放(LISTENING);如果禁止NBT,那么只有445端口開放。
繞過前臺腳本檢測擴展名上傳webshell
當用戶在客戶端選擇文件點擊上傳的時候,客戶端還沒有向服務器發送任何消息,就對本地文件進行檢測來判斷是否是可以上傳的類型,這種方式稱為前臺腳本檢測擴展名。繞過前臺腳本檢測擴展名,就是將所要上傳文件的擴展名更改為符合腳本檢測規則的擴展名,通過BurpSuite工具,截取數據包,并將數據包中文件擴展名更改回原來的,達到繞過的目的。
-
開啟代理,啟動BurpSuite
打開火狐瀏覽器,點擊工具|選項|高級|網絡|設置
,手動配置代理,IP地址為【127.0.0.1】,端口號為【8081】。打開BurpSuite,點擊【proxy】下的【intercept】,【intercept is off】。
-
繞過驗證
在瀏覽器中輸入地址http://192.168.1.3:8080/up
,進入【文件上傳系統演示腳本】,點擊【繞過前臺腳本檢測擴展名上傳WebShell】。點擊【瀏覽】,選擇要上傳的木馬文件,文件后綴名為【.php】,點擊【上傳】,前臺顯示錯誤窗口。
-
鏈接木馬
輸入木馬地址http://192.168.1.3:8080/up/uploads/lubr.php
,系統不報錯。
打開中國菜刀,輸入地址http://192.168.1.3:8080/up /uploads/lubr.php
和密碼【lubr】,選擇腳本類型【php(Eval)】,點擊【添加】。雙擊添加的記錄,即可查看完整目錄。
課后思考:是否可以上傳前臺腳本定義以為的文件名擴展名?可以。
是否可以上傳asp結尾的文件?不可以
繞過content-type檢測文件類型上傳webshell
當瀏覽器在上傳文件到服務器的時候,服務器對說上傳文件的Content-Type類型進行檢測,如果是白名單允許的,則可以正常上傳,否則上傳失敗。繞過Content—Type文件類型檢測,就是用BurpSuite截取并修改數據包中文件的Content-Type類型,使其符合白名單的規則,達到上傳的目的。
- 開啟代理,啟動BurpSuite
打開火狐瀏覽器,點擊工具|選項|高級|網絡|設置
,手動配置代理,IP地址為【127.0.0.1】,端口號為【8081】。打開BurpSuite,點擊【proxy】下的【intercept】,【intercept is off】。
- 繞過驗證
在瀏覽器中輸入地址http://192.168.1.3:8080/up
,進入【文件上傳系統演示腳本】,點擊第二個【繞過Content-Type檢測文件類型上傳】。點擊【瀏覽】,選擇【C:\實驗工具集\01_WEB安全\04_webshell上傳技術\第5節 繞過Content-Type檢測文件類型上傳Webshell】目錄下的木馬文件(lubr.php),文件后綴名為【.php】,點擊【上傳】,前臺顯示錯誤窗口。
在BurpSuite中開啟抓包。在BurpSuite中會抓到截取的數據包,在數據包中將所上傳的文件的Content-Type由【application/octet-stream】改為【image/gif】。點擊【forward】,傳遞數據包,前臺即可提示,上傳【lubr.php】成功。
image.png - 鏈接木馬
輸入木馬地址http://192.168.1.3:8080/up/uploads/lubr.php
,系統不報錯。
打開中國菜刀,輸入地址http://192.168.1.3:8080/up /uploads/lubr.php
和密碼【lubr】,選擇腳本類型【php(Eval)】,點擊【添加】。雙擊添加的記錄,即可查看完整目錄。
- 課后習題
文件類型是否可以改成其他格式?可以。因為本實驗所做的就是繞過文件種類檢測。
構造圖片馬,繞過文件內容檢測上傳shell
一般文件內容驗證使用getimagesize()函數檢測,會判斷文件是否是一個有效的文件圖片,如果是,則允許上傳,否則的話不允許上傳。本實例就是將一句話木馬插入到一個【合法】的圖片文件當中,然后用中國菜刀遠程連接。
- 上傳PHP木馬
在火狐瀏覽器中輸入地址http://192.168.1.3:8080/up
,進入【文件上傳漏洞演示腳本】,點擊進入【繞過圖片馬,繞過文件內容檢測上傳Shell】。選擇要上傳的木馬,將后綴名【.php】改為【.php.jpg】。點擊【上傳】,提示錯誤信息:此文件不允許上傳,服務器對上傳文件內容進行了檢測。
- 制作圖片木馬
隨便找一個圖片,與所要上傳的木馬放置于同一文件夾下。打開cmd,進入木馬所在文件夾。輸入copy pic.jpg/b+lubr.php/a PicLubr.jpg
,將【lubr.php】插入到【pic.jpg】中。
- 上傳木馬
在火狐瀏覽器中點擊【瀏覽】,選擇【PicLubr.jpg】,并將文件名改為【PicLubr.jpg.php】,點擊【上傳】。
輸入鏈接http://192.168.1.3:8080/up/uploads/PicLubr.jpg.php
,訪問木馬文件。
- 鏈接木馬
打開中國菜刀,右鍵點擊【添加】,在彈出窗口中添加木馬文件地址http://192.168.1.3:8080/up /uploads/PicLubr.jpg.php
,輸入密碼【lubr】,選擇腳本類型為【php(Eval)】,點擊【添加】。雙擊添加的SHELL,即可訪問網站的完整目錄。
- 課后習題
制作圖片的命令是:A:copy pic.jpg/b+lubr.php/a PicLubr.jpg