Kali Linux大揭秘:深入掌握滲透測試平臺( 簡體 字) | |
作者:諸葛建偉等 | 類別:1. -> 安全 -> 網路安全 -> 駭客攻擊與入侵 |
出版社:電子工業出版社 | 3dWoo書號: 49697 詢問書籍請說出此書號! 有庫存 NT售價: 445 元 |
出版日:8/1/2018 | |
頁數:296 | |
光碟數:0 | |
站長推薦: | |
印刷:黑白印刷 | 語系: ( 簡體 字 ) |
ISBN:9787121343131 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
第1章 關于Kali Linux 1
1.1 簡要回顧 2 1.2 和Debian的關系 3 1.2.1 軟件包處理流程 3 1.2.2 同Debian的區別 4 1.3 設計目標和使用場景 5 1.4 Kali Linux的主要功能 7 1.4.1 一個自生系統 7 1.4.2 取證模式 8 1.4.3 一個自定義的Linux內核 8 1.4.4 完全可定制 8 1.4.5 一個值得信任的操作系統 8 1.4.6 可以在眾多的ARM設備中使用 9 1.5 Kali Linux的設計策略 9 1.5.1 默認使用root用戶 9 1.5.2 禁用了網絡服務 10 1.5.3 一個精心組織的應用集合 10 1.6 小結 11 練習題 11 練習1——搭建環境 11 思考題 12 第2章 Kali入門 13 2.1 下載一個Kali ISO鏡像 13 2.1.1 從哪里下載 13 2.1.2 下載什么內容 14 2.1.3 驗證完整性和真實性 16 2.1.4 將鏡像復制到DVD-ROM或USB驅動器中 18 2.2 使用自生模式啟動Kali ISO 23 2.2.1 在一臺物理計算機上啟動 23 2.2.2 在一臺虛擬機中啟動 23 2.3 小結 34 練習題 35 練習1——安裝、下載、驗證和燒錄Kali 35 練習2——啟動Kali 35 練習3——修改啟動參數 35 思考題 36 第3章 Linux基礎 37 3.1 什么是Linux,它能做什么 37 3.1.1 驅動硬件設備 38 3.1.2 統一文件系統 38 3.1.3 管理進程 39 3.1.4 權限管理 40 3.2 命令行 40 3.2.1 如何獲得一個命令行 40 3.2.2 命令行基礎:瀏覽目錄樹以及管理文件 42 3.3 文件系統 43 3.3.1 文件系統層次標準 43 3.3.2 用戶的主目錄 44 3.4 有用的命令 45 3.4.1 顯示和修改文本文件 45 3.4.2 搜索文件和文件內容 45 3.4.3 進程管理 46 3.4.4 權限管理 46 3.4.5 獲取系統信息和日志 49 3.4.6 發現硬件 50 3.5 小結 51 練習題 52 練習1 52 練習2——任務控制 52 練習3——檢索文件 52 練習4——枚舉硬件 53 練習5——使用硬件 53 思考題 53 第4章 安裝Kali Linux 54 4.1 最小安裝要求 54 4.2 手把手教你如何安裝到硬盤上 55 4.2.1 非加密安裝 55 4.2.2 在一個完全加密的文件系統上安裝 72 4.3 無人值守安裝 77 4.3.1 預設答案 77 4.3.2 創建預設文件 78 4.4 ARM平臺安裝 79 4.5 疑難問題解答 80 4.6 小結 84 練習題 85 練習1——全加密盤安裝Kali Linux 85 練習2——Kali Linux無人值守安裝 85 練習3——Kali Linux在ARM設備中的安裝 85 進階練習 85 練習4——自定義Kali Linux ARM安裝 85 練習5——Kali Linux ARM chroot 86 第5章 配置Kali Linux 87 5.1 網絡配置 87 5.1.1 使用桌面上的NetworkManager 87 5.1.2 通過命令行使用ifupdown 88 5.1.3 命令行工具systemd-networkd 90 5.2 管理UNIX用戶和用戶組 91 5.2.1 創建用戶賬號 91 5.2.2 修改一個已存在的用戶名及口令 92 5.2.3 禁用一個賬號 92 5.2.4 管理UNIX用戶組 92 5.3 配置服務 93 5.3.1 配置一個特定程序 93 5.3.2 配置SSH遠程登錄 94 5.3.3 配置PostgreSQL數據庫服務 95 5.3.4 配置Apache 97 5.4 服務管理 100 5.5 小結 103 練習題 104 練習1——配置管理Kali系統中的用戶 104 練習2——配置網絡 104 練習3——配置服務第1部分 104 練習4——配置服務第2部分 104 進階練習 105 練習5——樹莓派接入點 105 第6章 自助解決問題并獲得幫助 106 6.1 文檔資源 106 6.1.1 手冊頁 107 6.1.2 Info文檔 108 6.1.3 軟件包專用文檔 109 6.1.4 網站 109 6.1.5 docs.kali.org上的Kali 使用文檔 110 6.2 Kali Linux社區 110 6.2.1 forums.kali.org上的Web論壇 111 6.2.2 kali-linux IRC的freenode即時聊天頻道 111 6.3 編寫一個友好的bug報告 112 6.3.1 一般性建議 112 6.3.2 在哪里提交問題報告 115 6.3.3 如何填寫一個bug報告 116 6.4 小結 129 練習題 130 練習1——Kali源 130 第7章 加固和監控Kali Linux 131 7.1 定義安全策略 131 7.2 可用的安全措施 133 7.2.1 服務器 133 7.2.2 個人電腦 133 7.3 對網絡服務進行安全加固 134 7.4 防火墻和包過濾 135 7.4.1 netfilter 行為 135 7.4.2 iptables和ip6tables語法 138 7.4.3 創建規則 140 7.4.4 每次啟動時加載的規則 141 7.5 監控和日志 142 7.5.1 使用logcheck來監控日志 142 7.5.2 監控實時行為 143 7.5.3 偵測變化 143 7.6 小結 146 練習題 147 練習1——加固Kali網絡 147 練習2——Kali服務監控 147 練習3——Kali文件系統安全加固 148 進階練習 148 練習4——無線熱點 148 第8章 Debian軟件包管理 149 8.1 APT使用說明 150 8.1.1 APT和dpkg之間的關系 150 8.1.2 理解sources.list文件 151 8.1.3 Kali軟件庫 153 8.2 軟件包基礎交互 155 8.2.1 APT初始化 155 8.2.2 安裝軟件包 155 8.2.3 更新Kali Linux 158 8.2.4 卸載并清除軟件包 160 8.2.5 檢查安裝包 161 8.2.6 故障排除 167 8.2.7 前端:aptitude和synaptic 170 8.3 APT高級配置和應用 174 8.3.1 APT配置 175 8.3.2 包優先級管理 176 8.3.3 同時運行幾個軟件分發源 178 8.3.4 跟蹤自動安裝的包 180 8.3.5 Multi-Arch支持 180 8.3.6 檢查包的真實性 182 8.4 軟件包參考:深入挖掘Debian軟件包系統 185 8.4.1 control文件 186 8.4.2 配置腳本 191 8.4.3 校驗和配置文件 194 8.5 小結 196 練習題 198 練習1——鏡像重定向 198 練習2——進一步了解dpkg 198 練習3——dpkg-deb練習 198 練習4——Kali Multi-Arch多體系架構 199 思考題 199 第9章 高級用法 200 9.1 修改Kali軟件包 200 9.1.1 獲取源碼 201 9.1.2 安裝編譯依賴包 204 9.1.3 修改源碼 205 9.1.4 開始編譯 209 9.2 重編譯Linux內核 211 9.2.1 簡介與準備工作 211 9.2.2 獲取源碼 212 9.2.3 配置內核 213 9.2.4 編譯及構建內核包 214 9.3 定制Kali自生ISO鏡像 215 9.3.1 準備工作 215 9.3.2 給自生鏡像換個桌面環境 216 9.3.3 更改軟件包集合 216 9.3.4 使用鉤子調整鏡像內容 217 9.3.5 在ISO鏡像或自生文件系統中添加文件 218 9.4 使用U盤啟用自生ISO的持久化功能 218 9.4.1 持久化特性 218 9.4.2 在U盤上設置非加密的持久化功能 219 9.4.3 在U盤上設置加密的持久化功能 221 9.4.4 使用多個持久化存儲 222 9.5 小結 224 9.5.1 修改Kali包的小結與建議 224 9.5.2 重編譯Linux內核的小結與建議 225 9.5.3 定制Kali自生ISO鏡像的小結與建議 226 練習題 227 練習1——Fork Kali軟件包 227 練習2——更新Kali軟件包 227 練習3——重編譯構建Linux內核 228 練習4——Kali live-build使用合適的工具完成工作 228 練習5——Kali live-build自動最小化安裝 228 練習6——制作有多個持久化存儲和LUKS核密碼的Kali U盤 228 第10章 Kali Linux企業級應用 229 10.1 通過網絡安裝Kali Linux(PXE啟動) 229 10.2 高級配置管理 232 10.2.1 配置SaltStack 232 10.2.2 在minion上執行命令 233 10.2.3 Salt State及其他功能 236 10.3 擴展和定制Kali Linux 240 10.3.1 fork Kali軟件包 240 10.3.2 新建配置包 241 10.3.3 為APT創建一個軟件包倉庫 247 10.4 小結 251 練習題 254 練習1——分別配置一個Salt master和minion 254 練習2——創建一個Kali代碼倉庫 254 練習3——從頭創建一個配置軟件包 254 第11章 安全評估簡介 255 11.1 安全評估中的Kali Linux 256 11.2 安全評估的類型 257 11.2.1 漏洞評估 259 11.2.2 合規性滲透測試 262 11.2.3 傳統滲透測試 263 11.2.4 應用程序評估 265 11.3 評估規范 266 11.4 攻擊類型 267 11.4.1 拒絕服務 268 11.4.2 內存破壞 268 11.4.3 Web漏洞 269 11.4.4 密碼攻擊 269 11.4.5 客戶端攻擊 270 11.5 小結 270 練習題 271 練習1——信息安全評估 271 第12章 結尾:未來的路 272 12.1 擁抱變化 272 12.2 炫一下你剛Get的新知識 273 12.3 進一步探索 273 12.3.1 系統管理方向 273 12.3.2 滲透測試方向 273 Kali解決方案實現 274 結課項目1:使用Aircrack-NG 274 結課項目2:ISO of Doom 274 結課項目3:Kali設備和自動化 274 Kali Linux是設計用于數字取證和滲透測試的操作系統,本書是官方出版的僅有的一本著作。講述了如何上手、配置、安全加固、自定義、安全評估等概念。在本書中,我們將重點介紹Kali Linux平臺本身,并幫助您理解并最大限度地發揮Kali的作用。開發人員將引導您了解Kali Linux的功能和基礎知識,提供基本Linux命令和概念的崩潰課程,然后介紹最常見的Kali Linux安裝方案。您將學習如何配置,解決和保護Kali Linux,然后深入強大的Debian軟件包管理器。在這個廣泛的部分中,您將學習如何安裝和配置軟件包,如何更新和升級Kali安裝以及如何創建自己的自定義軟件包。然后,您將學習如何在大型企業網絡中部署自定義安裝。最后,您將被引導到高級主題,如內核編譯,自定義ISO創建,工業強度加密,甚至如何安裝加密殺死開關來保護您的敏感信息。
推薦序一
應諸葛建偉先生之邀,為其翻譯的《Kali Linux大揭秘:深入掌握滲透測試平臺》一書作序。OWASP作為國際權威應用安全的研究機構,在Web安全方面的研究,是國內外信息安全機構在應用安全研究方面的主要參考依據。本人作為OWASP中國北京的主要負責人,很榮幸地拜讀了本書的整個目錄和全部章節,最大的感受就是本書貼合實際需求、生動詳實,案例充分。 本書從滲透測試的實戰出發,增加了諸多新增工具的介紹,完整地填補了目前市面上相關書籍內容上的空白:現在市面上的許多安全書籍,都是只介紹結果,考慮過程的并不多。本書從實踐出發,本著務實的精神,對環境搭建一直到滲透測試的全階段,以及主流工具的使用,都做了詳盡的介紹,示例豐富,是每位信息安全的從業人員、在校學生不可多得的一本使用大全。你完全可以依照本書的案例來學習,并有效地貼近企業需求,做到有的放矢。 從本書的編寫風格就可以看出作者技術功底扎實、寫作思路清晰、講解由淺入深、舉例生動詳實,非常值得一讀! 陳 亮 OWASP中國 推薦序二 你可能還沒意識到你所擁有的美好事物。 在1998年,我還是一位初出茅廬的黑客,創建了最早的一個職業白帽黑客團隊。當時團隊成員們還都是一群孩子,夢想著自己未來的工作,能夠拿著不錯的薪水,去入侵這個星球上最安全的計算機系統、網絡甚至建筑。 這聽起來很“性感”,但現實卻是,我們需要把生活中的絕大部分時間花在和電腦鍵盤相處上,用行業中的一些數字工具來武裝自己。我們揮舞著四處采集到的程序,繪制網絡地圖并定位目標,然后掃描、滲透目標并進一步拓展。在某些情況下,我們中的一員(經常是Jim Chapple)會編寫一些定制化工具來做一些很酷的事情,比如說掃描一個A類的網絡(在當時可沒有其他現成工具能夠搞定這件事),但絕大多數時候我們只是使用和修改黑客社區中已開發好的工具。在那些還沒有Google的日子里,我們頻繁地刷BugTraq、AstaLaVista、Packet Storm、w00w00、SecurityFocus、X-Force以及其他資源,來研究并建立起我們自己的軍火庫。 因為我們在每次行動中的時間有限,我們必須追求速度,這意味著我們不會花很多時間來撥弄各種工具。所以我們必須要學習最核心工具的里里外外,然后讓其他輔助工具只是處于待命狀態。于是我們必須良好地組織我們的工具,文檔化并進行測試,以便在實戰中不要給我們帶來意外。如果不能成功滲透,那么我們將在客戶面前丟臉,而他們也會輕視我們所提出的建議。 正因為如此,我花了非常多的時間來對工具進行分類編目,當一個工具被發布或更新時,我會完整地走完一個流程,查看它是否可以在攻擊平臺上正常運行,以及是否值得安裝運行。我還必須更新依賴這一工具的所有腳本,編寫相關文檔并進行測試,包括相對于前一版本有了何種變化。然后我會組織所有的工具,根據它們在執行一次安全評估時的目的和作用,將它們放置到不同的目錄里。我會為特定工具編寫包裝腳本,將一些工具鏈接在一起,并將所有工具關聯在一起,刻錄成一張CD盤,當客戶不讓我們帶入攻擊機器或者移動介質到他們實驗室的時候,我們將帶著這個CD盤進入隔離的敏感區域。這一過程是非常讓人頭疼的,但也是必須的。我們知道,如果合適地應用我們的技能和專業經驗,保持良好的組織性,并高效工作,我們有入侵任何網絡的能力。盡管在滲透測試中從不失手是我們的驅動力,但是我們提供給客戶的是一種專業入侵網絡的滲透服務,而客戶會增加各種限制,并通過金錢回報引導滲透的主要目標到他們最為關鍵但可能疏于防范的信息安全流程中。 我們花了好幾年的時間來磨練我們的技能和專業度,但如果沒有良好的組織和高效率,我們不會像現在這樣成功。如果我們沒有盡心去調校所需的工具,我們可能已經失敗了。這是我花那么多時間研究、編撰文檔、測試與分類工具的根本原因。在21世紀到來之后,這很快發展成為一份壓力巨大的全職工作。由于Internet的發展,攻擊面的全球性爆發,以及攻擊工具的種類和數量的指數級增長,維護這些工具所需的工作量也隨之劇增。 從2004年開始,Internet已經不僅僅是商務活動的基石,也成為了一個社交平臺。計算機已經變成人人都能負擔得起的東西,而且更加友好,無所不在。存儲技術已經從M字節擴展到G字節,以太網的速率從每秒幾百KB快速發展到每秒數十MB,Internet連接變得越來越快,也更加便宜。電子商務已經非常流行,而社交媒體如Facebook(2004年)、Twitter(2006年)已經上線,Google變得更加成熟,可以讓每個人(包括罪犯)在互聯網上找到幾乎任何東西。 研究對于我們這樣的團隊變得至關重要,因為我們必須能夠跟上新型攻擊和工具集發展的腳步。我們對更多計算機犯罪事件進行響應,在必要的取證工作中我們需要仔細追查潛在的證據。而自生型CD的概念意味著我們可以在被攻陷的機器上執行實時取證,而不會對證據造成任何破壞。現在我們這個小團隊必須要管理攻擊工具、取證工具和在敏感區域使用工具發行版,我們必須跟上所有最新攻擊技術和利用方法學的發展。我們必須這么做,因為你知道我們是受雇來進行滲透測試的,所以都是高標準要求。而事情變得有些超出控制,在最近一段時間,我們在實戰中花費的時間少了,而在研究、打磨工具和計劃方面投入更多的時間。 在這場對抗中我們并不孤獨,在2004年,Mati“Muts”Aharoni,一位黑客和安全專家,發布了“WHoppiX” (White Hat Knoppix),一個被宣傳為“終極版滲透測試 Live CD”的自生Linux CD,其中包含了“來自SecurityFocus、Packet Storm和kotik的所有滲透利用腳本,Metasploit框架2.2版,以及更多其他軟件”。記得在下載WHoppiX時,我在想這是很棒的東西,我也下載了其他一些自生CD,想象假使我之前陷入困境的一些局面,這些自生CD可以在實戰中幫上我們。但是我當時并沒有計劃在真正實戰工作中依賴WHoppiX和其他CD。我并不相信它們中的任何一個能夠滿足我的大部分需求,沒有一個對我的工作流來說感覺是對的,而且它們也不是完全的、可安裝的發行版。在我下載的時候,它們已經過時了。一個過時的工具集對于我們所在的行業就是“死神降臨”。我只是簡單地將這些CD鏡像添加到軍火庫里,盡管它們的大小相對較大,然后還是繼續著那令人頭疼的過程來維護我們實際使用的工具集。 盡管在當時我對它持保留意見,但WHoppiX及其后續者在我們的行業和社區中都造成了巨大的影響,或許也超出了Muts本人的預期。 在2005年,WHoppiX進化成了WHAX,一個擴展并更新后的工具集,基于“最模塊化的SLAX(Slackware)自生CD”。Muts和來自黑客社區的一個迅速發展的志愿者團隊看起來已經意識到了,無論他們如何具有遠見,仍然無法預期到我們這個行業的所有發展和波動,而CD的用戶們在實戰中也有多種差異化需求。而且Muts和他的團隊顯然也已經在實戰中使用WHAX,他們似乎也努力讓它變得更加好用,這件事對于我是非常受鼓舞的。 到了2006年,Muts、Max Moser和他們的團隊將Auditor Security Linux和WHAX合并到單一發行版中,稱為BackTrack。基于SLAX,BackTrack繼續向前發展,增加了更多的工具,更多的框架,擴展語言支持,多種無線協議支持,整合一個對專業用戶和新手用戶都適用的菜單結構,以及重度修改了內核。BackTrack成為領先的安全發行版,但是像我這樣的很多人仍然把它作為“實際使用工具集”的一個備份。 在2009年初,Muts和他的團隊已經將BackTrack擴展至BackTrack 4,這是一個明顯的變化。今天,Muts將此作為了全職工作,BackTrack已經不再是一個自生CD,而是一個基于Ubuntu充分發展的發行版,并充分利用了Ubuntu的軟件倉庫。這種變化以一個顯著的革新作為標志:也就是BackTrack 4擁有系統更新機制。用Muts自己的話說:“當和我們的BackTrack的軟件倉庫同步時,你可以在安全工具發布后很快就獲得更新。”這真的是一個轉折點,BackTrack團隊已經真正理解了滲透測試者、取證分析師和該行業其他從業者所面對的挑戰,他們的工作可以幫助我們節省很多時間,并為我們提供了一個堅實的基礎,使得我們直接進入實戰狀態,將更多的時間花在真正重要且有趣的事情上。結果是,社區反響熱烈,眾多用戶群集到論壇和wiki上,并熱情參與到開發團隊中。BackTrack確實是一個社區化的貢獻,而Muts仍在其中引領著。 BackTrack 4最終成為工業界最強的滲透測試平臺,而我,還有很多像我這樣的人終于可以松一口氣了。我們對Muts和他團隊所承受的“痛苦”有著切身體會,因為我們也曾經親身經歷過。而結果是,我們中的很多人開始使用BackTrack作為工作的首要基礎平臺。是的,我們仍然會撥弄一些工具,編寫我們自己的代碼,以及開發我們自己的漏洞利用工具和技術,我們開展研究和實驗,但是我們不再在收集、更新和組織工具上花費很多時間了。 BackTrack 4 R1和R2是2010年進一步修訂的版本,之后又在2011年自底向上重新構建了Back Track 5——仍然基于Ubuntu,但跟上每個發布的腳步。Back Track在當時已經是一個極為成功的項目,需要英雄的志愿者團隊和社區的努力,同時也需要一些資助。Muts在2006年開始創立Offensive Security公司,該公司不僅僅提供全球領先的培訓和滲透測試服務,還為保持Back Track的開發進程提供堅實后盾,保證Back Track的開源和免費使用。 Back Track在2012年繼續發展和改進(先后發布R1、R2和R3版本),其維護著Ubuntu的核心并增加了數以百計的新工具,包括物理和硬件利用工具、VMware支持、許多無線和硬件驅動,以及大量的穩定性改進和缺陷修復。然而,在R3版本發布之后,Back Track的開發變得相對緩慢,甚至有點神秘地靜默。 當時在坊間有一些猜測,一些人以為Back Track變了,把它的靈魂出售給了一家無情邪惡的企業主而獲得豐厚回報。Offensive Security也在那幾年里發展成為最受尊敬的網絡安全培訓機構之一以及行業中的一家思想引領者,某些人揣測這家公司的成功是建立在吞并大量Back Track關鍵開發者的基礎上。然而,事實并非如此。 2013年,Kali Linux 1.0發布,從發布公告中可以看到,經過一年沉默的開發過程,Offensive Security自豪地宣布,發布Kali Linux,并且它是公開可用的,這是最先進、魯棒和穩定的滲透測試發行版,Kali是比Back Track更加成熟、安全和適合企業應用的版本。 Kali Linux于Back Track并不是“新瓶裝舊酒”,其移植了超過600個完全重打包后的工具,這顯然是一個令人稱奇的工具集,但還不僅僅只是這些。Kali是從Debian的內核核心基礎上,從頭開始構建的,這對于一些還不了解情況的人而言,看起來并不是個大工程,但是懂行的人知道這需要做大量底層的工作。做了這些重打包的工作后,Kali用戶可以下載每一個工具的源碼包,可以按需求修改并重構工具,而只需要敲幾行代碼和命令。和目前其他主流操作系統發行版不同的是,Kali Linux同Debian軟件倉庫每天進行四次同步,這意味著Kali用戶可以及時獲取軟件包更新和安全補丁。Kali開發者全身心投入到許多工具上游版本的打磨、打包和維護上,才使得用戶可以始終保持在業界前沿。感謝Debian的根基,Kali用戶可以從軟件倉庫直接引導一個安裝或者ISO鏡像,這也打開了完全定制化Kali安裝版之門,你可以通過預設文件進行自動化和定制的大規模的企業化部署。為了實現定制目標,Kali用戶可以修改桌面環境,變更菜單項,改變圖標文件,甚至改變窗口環境。由于做了大量的ARM開發工作,使得Kali Linux可以在大范圍硬件平臺上安裝,包括無線AP、單片機系統(例如樹莓派、ODROID、BeagleBone、CubieBoard等),以及基于ARM的Chromebook計算機等。最后要提及的重要一點是,Kali Linux支持無縫的小更新和重大升級,這意味著Kali的狂熱者永遠不需要在機器上重新安裝定制化的Kali Linux。 社區也注意到了Kali的發布,在最初的五天中,9萬名用戶下載了Kali 1.0版本,而這僅僅是開端。在2015年,Kali 2.0發布,緊隨其后的是2016年的rolling版本發布。總結來說,如果Kali 1.0聚焦于構建一個穩固的基礎設施,那么Kali 2.0則專注于提升用戶體驗并維護更新的軟件包和工具倉庫。而目前Kali Linux的版本是一種滾動更新的發行版,這標志著特定版本的終結。 現在用戶可以持續地保持最新版本,并接收到開發者創建的更新和補丁。得益于上游軟件的版本標記系統,核心工具的更新更加頻繁,也針對視障人士做了便捷性方面的改進,Linux內核也被進行了更新和修補以擴展對無線802.11注入的支持范圍。SDR(Software Defined Radio,軟件定義無線電)和NFC(Near-Field Communication,近場通信)工具增加了對安全測試新領域的支持,完全Linux加密磁盤安裝和緊急狀況自毀選項也變得可用。感謝LVM、LUKS,增加了USB持久化選項,并允許基于USB的Kali安裝保持重啟后的系統改變,而無論USB盤是否加密。最后,最新版本的Kali為NetHunter打開了大門,NetHunter成為一個運行在移動設備上的全球領先的開源操作系統,以Kali Linux和Android作為其基礎。 Kali Linux已經演化成為信息安全從業者首選的平臺,而且真正成為了一個工業級別、全球領先、成熟、安全、適合企業使用的操作系統發行版。通過十多年的開發歷程,Muts和他的團隊,以及來自黑客社區無法計數的全身心投入的志愿者,承擔了組織我們工作環境的壓力,把我們從大量工作、負擔中釋放出來,并提供了一個安全和可靠的基礎平臺,讓我們聚焦在驅動工業界向前發展,讓數字世界更安全的終極目標上。 圍繞著Kali Linux,一個令人驚奇的社區已經創建起來,每個月新版本的Kali被三四十萬的用戶下載,我們匯聚在Kali論壇和Kali的IRC頻道中,我們匯集在Kali Dojos會議上,從開發者那里學習如何最好地利用Kali。 Kali Linux改變了信息安全的世界,讓它變得更好,而Muts和他的團隊幫我們節省了許多時間,讓我們能夠將更多時間和精力放在一起驅動工業界的向前發展上。 盡管Kali擁有驚人的接受度、支持度和流行度,它卻從來沒有發布一份官方的手冊。好吧,現在這種狀況已經改變了,我非常激動地和Kali開發團隊,特別是Mati Aharoni、Rapha?l Hertzog、Devon Kearns和Jim O’Gorman,一起來提供這本指南,第一本關于Kali Linux的官方出版物,或許也是官方手冊系列中的第一本。在這本書中,我們聚焦于Kali Linux平臺本身,幫助你從最基礎了解和使用Kali。我們還不會深入到Kali Linux中的工具軍火庫中,但無論你是一位老兵還是一位新手,如果你準備深入探索Kali Linux,本書是你最好的起點。無論你在這個游戲中已經玩了多長時間,閱讀這本書,你將可以和正在發展的Kali Linux社區聯結在一起,我們行業中最古老、最大、最有生氣以及最活潑的社區之一。 我代表Muts和Kali Linux開發者團隊的其他同仁,恭喜你踏上深入掌握Kali Linux的征程。 Johnny Long 2017年2月 作者序 你所在的滲透測試團隊定購的16臺高性能筆記本電腦剛剛已經到貨,而你被賦予設置好工作環境的任務,那就為明天一場駐場滲透測試做好準備吧。你安裝好Kali系統并啟動了其中一臺電腦,以確認它是否可用。盡管Kali擁有最前沿的內核,但是網卡和鼠標仍然不工作,筆記本電腦中最新款的NVIDIA顯卡和GPU也正在困惑地“注視”著你,因為缺少恰當安裝的驅動程序。你很無奈。 在Kali的自生模式下,你快速地在一個終端中輸入lspci 命令,然后瞇著眼睛盯著屏幕,當你滾動查看硬件列表:“PCI bridge、USB controller、SATA controller、Ethernet和Network controllers”,并通過Google快速搜索這些硬件相應的型號,以及Kali內核版本號的交叉索引時,發現這些最新款硬件的驅動還沒有被集成到主線的內核代碼中。 這對于你來說并不是難題。一個解決計劃正在你的腦袋中成型,而這要歸功于你幾周前仔細研讀過的《Kali Linux大揭秘》這本書。你使用Kali Live-Build系統來創建一個定制Kali ISO鏡像,將所需的驅動程序灌入安裝盤里。另外,除了包含NVIDIA顯卡驅動之外,還安裝了用來發揮GPU性能并用于hashcat程序的CUDA庫文件,它使得GPU可以在飛速破解哈希口令時發揮最大的功效。你甚至扔了一張帶有微軟Logo的定制桌面進去,來冒充正在使用Windows桌面工作的機器。 因為你這次安裝的所有機器硬件配置是一致的,所以你可以在ISO鏡像中增加一個預設的啟動選項,這使得你可以從一個U盤啟動并在沒有任何用戶干預的情況下安裝好Kali。讓安裝任務自動完成,并擁有一個全盤加密的系統。 棒極了!你現在已經按照你的需求,為你的機器硬件配置特別設計及優化更新了Kali系統版本,你節省了一整天的時間,任務完成! 我們其中的一些人需要從主流操作系統使用者身份中跳出,尋找更加干凈、更具意義、更適合于我們工作方式的操作系統,而隨著市場上硬件設備的膨脹式發展,上述這樣的場景對我們而言變得越來越普遍。 對于投身于網絡安全領域的我們更是如此,不管你將網絡安全作為一種業余愛好、癡迷的興趣,還是從事的行業。作為新手,我們經常發現被操作環境或操作系統所困,對于很多新手而言,Kali是他們進入Linux世界最早接觸的系統。我在好幾年前就認識到用戶群體在這一轉變中的困惑,并計劃編寫一本組織合理的入門引導書來幫助社區用戶進入網絡安全的世界,而不是一開始直接將所有Linux系統的復雜特性全部提供給他們。基于這樣的考慮,《Kali Linux大揭秘》這本書就誕生了。本書讓所有通過Kali Linux進入網絡安全領域的人都能受益。 現在這本書要面世了,然而我們很快意識到還有很多潛藏的“寶藏”有待發掘,因此在這本Kali Linux引導書之后,還有很多機會再去探索它更有趣但鮮為人知的特性,就像本書的書名一樣,“Kali Linux大揭秘”。 最后,我們對目前的結果非常開心,本書達到了我們的預期,我可以驕傲地說它已經超出了我們的預期。我們也意識到我們在不經意間擴展了本書的潛在讀者群,它不僅僅是為網絡安全領域的新手準備的,而且可以幫助一些有經驗的滲透測試者提升與改進對Kali Linux的控制能力,使得他們可以解密Kali Linux發行版中我們準備的各種潛在特性。無論你面對的是一臺機器,還是企業中上千臺機器;無論是僅僅做配置上的微小修改,還是從內核級別開始完全定制并重建軟件倉庫;無論是僅僅觸及Debian軟件包管理系統的表層,還是深入探索,《Kali Linux大揭秘》這本書都提供了路徑圖。 我代表自己和整個Kali Linux團隊衷心祝愿,擁有這本導航手冊在手,你能夠擁有一個激動人心、充滿快樂和收獲的揭秘之旅! Muts 2017年2月 前言 Kali Linux是世界上最強大和最受歡迎的滲透測試平臺,被網絡安全領域的專家們廣泛使用,其應用領域包括滲透測試、取證、逆向工程及漏洞評估。這是多年來我們精益求精和平臺不斷發展的結果,從一開始的WHoppiX到WHAX,再到BackTrack,最終發展到目前融入了Debian GNU/Linux以及充滿活力的全球開源社區強大能力的完整滲透測試框架平臺。 Kali Linux并不是一個簡單的工具集合,而是一個靈活的框架,專業滲透測試人員、安全從業者、學生和業余愛好者都可以根據自己的具體需求,來剪裁和定制它的功能。 為什么要寫這本書 Kali Linux不僅僅是一個在標準Debian發行版基礎上安裝了各種信息安全工具的集合,我們還針對它進行了很多預先的配置工作,以便讓你能夠立即啟動和運行它。為了充分利用Kali的功能,你還應當深入了解強大的Debian GNU/Linux基礎操作,以及學習如何將這些技能使用在你的應用場景中。 Kali的確有很多用途,但它主要被設計用于滲透測試。本書的目的不僅在于幫助你輕松使用Kali Linux,更在于提高你對系統的整體認識,使你的操作體驗更加流暢,從而在你遇到時間緊迫的滲透測試任務時,無須浪費寶貴時間去安裝新軟件或者啟用新的網絡服務。在本書中,我們首先介紹了Linux,然后更深入一步,介紹了Kali Linux的特別之處,以便你準確了解表象之下深層次的特性。 特別是當你時間緊任務重時,這些知識顯得非常有價值。掌握這些更深層次的知識有助于你更好地設置Kali,解決一些疑難問題,按照個人意愿更好地使用工具,分析工具的輸出,或者在更大規模的測試場景中使用Kali。 如果你渴望投身到充滿智慧且令人著迷的網絡安全領域,并且正好選擇了Kali Linux作為主要操作平臺,那么本書就是為你準備的。本書旨在幫助Linux新手以及Kali的現有用戶加深對Kali基礎知識的了解,那些已經使用Kali多年但希望更加系統深入學習Kali的讀者,也能夠通過本書擴大Kali的應用領域,填補之前對Kali認知的空白。 此外,本書還可以作為想考取Kali Linux認證專家資質讀者們的學習大綱、技術參考以及學習指南。 本書的總體思路和結構 這本書的設計非常貼近實戰,你從一開始閱讀就可以動手去操作Kali Linux,而不是閱讀大量章節的理論介紹。本書對每個主題都以非常務實的方式來介紹,包含了許多樣例和圖示,以便使講解更形象和具體。 在第1章“關于Kali Linux”中,我們定義了一些基本術語,并解釋了Kali Linux的用法。在第2章“Kali入門”中,我們循序漸進地引導你下載ISO鏡像并在計算機上運行Kali Linux。第3章“Linux基礎”講述了閱讀本書需要了解的Linux基本知識,例如Linux系統架構、安裝過程、文件系統層次結構、權限等重要概念。 至此,你已經使用Kali Linux作為自生系統有一段時間了。在第4章“安裝Kali Linux”中,將學習如何(在硬盤上)安裝永久性的Kali Linux。在第5章“配置Kali Linux”中將學習如何按照喜好調整它。作為一個已入門的Kali用戶,現在是熟悉Kali中一些重要資源的時候了,第6章“自助解決問題并獲得幫助”提供了解決可能遇到的各種意外問題的方法。 在掌握了這些基礎知識之后,將涉及更高級的主題。第7章“加固和監控Kali Linux”提供了確保Kali Linux的安裝能夠滿足你的安全要求的技巧。接下來,第8章“Debian軟件包管理”解釋了如何充分發揮Debian軟件包生態系統的潛力。而在第9章“高級用法”中,將學習如何創建完全定制的Kali Linux ISO鏡像。如第10章“Kali Linux企業級應用”中所述,當你在企業規模部署Kali Linux時,所有這些主題的內容都可能會用得上。 第11章“安全評估簡介”使你將在本書中學到的所有知識與安全從業者日常工作聯系起來,真正做到學以致用。最后一章,第12章展望未來的路。 Raphael Hertzog的致謝 我要感謝Mati Aharoni!2012年,當我還是數十名Debian顧問中的一員時,他與我聯系,說想開發一個基于Debian的BackTrack替代版本。這就是我從事Kali Linux相關工作的開始,從那以后,我就喜歡上了我在Kali世界的旅程。 多年來,Kali Linux越來越向Debian GNU/Linux靠近,特別是在基于Debian 測試版分支的Kali 滾動發行版之后。現在我的大部分工作,無論是基于Kali還是基于Debian,都在為整個Debian生態系統做貢獻,這正是我日復一日、年復一年繼續下去的動力。 寫這本書也是Mati給我的一個絕好機會。寫書和Kali開發是完全不同的工作,但是具有相通的地方:都能夠幫助他人并和他們一起分享我們在Debian/Kali操作系統領域的專業知識。基于我創作《Debian管理員手冊》的經驗,希望我的文字能夠幫助你邁出在快速發展的網絡安全世界中的第一步。 我還要感謝所有對這本書做出過貢獻的Offensive Security公司的伙伴們!Jim O'Gorman(一些章節的合著者)、Devon Kearns(評審員)、Ron Henry(技術編輯)、Joe Steinbach和Tony Cruse(項目經理)。同時也感謝Johnny Long參與撰寫序言,并完成了整本書的評審。 Jim O’Gorman的致謝 我要感謝參與這個項目的所有伙伴!我的工作只是其中的一小部分。這本書很像Kali Linux本身,是一個由大家共同努力而使工作事半功倍的合作項目。特別感謝Rapha?l、Devon、Mati、Johnny和Ron,他們承擔了絕大部分工作。沒有他們,這本書不會問世。 Mati Aharoni的致謝 Kali Linux第一個版本從發布到現在已經過去了好幾年。從第一天起,我一直夢想著出版一本涵蓋整個Kali操作系統的官方書籍。因此,我很榮幸能夠把這本書奉獻給公眾。我衷心感謝參與這個項目的所有人,包括Jim、Devon、Johnny和Ron。特別感謝Raphael做了本書絕大部分的繁重工作,并將珍貴的專業經驗分享給我們的團隊。 |