如何使用專業黑客的技術構建不可逾越的防線
傳統的滲透測試往往過于刻板,僅快速審計目標網絡和應用程序的安全性。高價值目標必須進一
步加固自己的IT基礎設施以防御當前高度積極和專業的攻擊者,而這只能依靠精通專業的攻擊者手段
和滲透測試技術的安全分析師與工程師來實現。
《滲透測試高手 打造固若金湯的安全網絡》由曾為《財富》世界100強企業執行入侵與滲透測
試的*安全專家撰寫,旨在向讀者傳授證書培訓或常規防御掃描器未涉及的針對并攻陷高安全性環
境的技術。作者Wil Allsopp并未局限于Kali linux和Metasploit,而是向讀者提供了一個復雜且高度現實
的攻擊模擬。他綜合社會工程學、編程及漏洞利用等多學科的知識,向讀者介紹如何:
● 發現并創建攻擊向量
● 在目標企業中隱蔽地移動,偵察網絡和操作系統信息,并測試架構
● 通過社會工程學策略完成初始攻擊
● 攻陷目標機器并在其上部署穩健的命令與控制基礎設施
● 使用高級數據滲漏技術即使目標并未直接連接到互聯網
● 使用高級權限提升方法
● 利用收集到的用戶名和密碼等憑據滲透至網絡及操作系統
● 使用VBA、Windows Scripting Host、C、Java、JavaScript及Flash等編寫自定義的代碼
作者 Wil Allsopp 是滲透測試領域的專家,他為我們提供了一個全新的滲透測試視角。與其他介紹滲透測試的書籍相比,《滲透測試高手 打造固若金湯的安全網絡》并未花費筆墨介紹 NMap、Kali Linux 等常規工具,而是以為不同行業的客戶執行的滲透測試為例介紹高級持續性威脅(Advanced Persistent Threat,APT)建模,并給出一系列實用的工具和解決方案。強烈建議對網絡安全感興趣或正從事網絡安全工作的讀者閱讀《滲透測試高手 打造固若金湯的安全網絡》。Wil Allsopp 詳細描述了如何針對不同目標定制攻擊,即使讀者不具備編程背景也能了解攻擊者如何隱蔽地從安全的網絡中竊取數據。通過大量示例展示了社會工程學在網絡攻擊中的作用。 2017年5 月,WannaCry 蠕蟲大規模感染計算機并植入勒索軟件加密用戶的數據,受害者需要支付300美金的比特幣才能解鎖。讀者可以在《滲透測試高手 打造固若金湯的安全網絡》中了解到勒索軟件的機制。此外,作者針對英國某軍事計算機網絡執行的 APT 建模令人大開眼界,而他對銀行等高安全性機構執行的滲透測試會讓許多同行嘖嘖稱贊。
《滲透測試高手打造固若金湯的安全網絡》每一章都介紹了我對某特定行業的APT建模經驗。因此,每一章都會引入新的概念、思想并啟發讀者。我認為從不同的行業背景、對安全的態度以及能力差異巨大的網絡防御人員等角度來介紹APT建模很有價值。如果你是一名滲透測試工程師,你會有所收獲。如果你的職責是防止攻擊者入侵所在單位的系統,你會了解到一些讓你半夜睡不著的內容,但《滲透測試高手打造固若金湯的安全網絡》也會告訴你如何構建更具彈性的防御措施。
我無意寫作一本枯燥乏味的技術手冊,《滲透測試高手打造固若金湯的安全網絡》的每個章節都采用了類似的格式以不同的行業作為背景,我們在其上探究新的技術、攻擊方式及主題。這不僅包括成功的攻擊向量,還包括權限提升、規避惡意軟件檢測、態勢感知、內網漫游以及多種能夠幫助讀者深入理解高級可持續威脅和APT建模的關鍵技術。雖然我給出了許多示例,但《滲透測試高手打造固若金湯的安全網絡》的目標并不是簡單地提供一些代碼和腳本,而是鼓勵讀者更寬泛地、從根本上理解這些問題,從而能夠以新的方式思考并開發自己的工具。
l 第1章醫療記錄的安全性討論針對醫院基礎設施的攻擊,闡述宏攻擊和瀏覽器攻擊等概念,并初步介紹C2。
l 第2章數據竊取研究以一所研究型大學遭受的攻擊為背景探討使用Java小程序作為攻擊向量,并討論更高級的C2。
l 第3章21世紀的搶劫討論如何針對銀行等高安全性目標執行滲透測試和采用了DNS協議的高級C2技術。
l 第4章制藥業介紹一場針對制藥公司的攻擊,并以此為背景介紹客戶端利用及將Metasploit等第三方框架集成到C2。
l 第5章槍支彈藥介紹勒索軟件仿真以及使用洋蔥路由(The Onion Router,Tor)隱蔽服務來掩蓋C2基礎設施的物理地址。
l 第6章犯罪情報以入侵某警察總部為背景描述,當能夠短暫訪問攻擊目標時使用爬蟲盒實現長期的攻擊活動。此外,該章還將介紹權限提升和通過HTML應用程序部署攻擊等概念。
l 第7章戰爭游戲探討針對保密網絡的攻擊,并闡釋公開資源情報收集和命令與控制中的高級概念。
l 第8章攻擊出版社展示了如何利用出版社采用的技術和工作流程來攻擊。本章探討新興的多元媒體及實驗性的C2方法,并介紹社會工程學中的高級概念。
現在,讓我們一同開啟高級滲透測試之旅。
Wil Allsopp喜歡將物品拆卸成零件,但他偶爾又將它們重新組裝起來。Wil對滲透測試的熱情就如同許多人熱衷于逛酒吧(Wil也經常會去酒吧喝上一杯)。1999年,Wil在Zaltbommel一家名為斯塔特的咖啡店里偶遇了一位志趣相投的伙伴,隨后他辭去IBM軟件開發工程師的職位,轉而成立了老虎隊安全公司。由于時間的原因(至少Wil這么認為),這家公司后來被并入庫拉索安全公司。二十年過去了,Wil仍在不斷搞破壞,而不同的是,目前是一些世界知名的企業花錢請他進行破壞。Wil目前和妻子一起居住在荷蘭,與他們一同生活的還有一大群貓、狗、雞和一只名叫馬爾科姆的癩蛤蟆。我們在黑暗中勞作,竭盡所能并奉獻所有。我們的懷疑出自熱情,而保持熱情是完成任務所必需的。剩下的就是藝術的瘋狂。 Henry James
目 錄
第1章 醫療記錄的安全性 1
1.1 高級持續性威脅仿真介紹 2
1.2 背景與任務簡介 2
1.3 攻擊載荷傳遞第一部分:學會
使用VBA宏指令 5
1.3.1 如何不發動VBA攻擊 5
1.3.2 檢查VBA代碼 9
1.3.3 避免使用shellcode 9
1.3.4 自動執行代碼 10
1.3.5 使用VBA/VBS雙傳輸器 11
1.3.6 盡量保持代碼的通用 11
1.3.7 代碼混淆 12
1.3.8 引誘用戶 13
1.4 命令與控制第一部分:基礎
知識與要領 16
1.5 攻擊 19
1.6
小結 22
1.7 練習 23
第2章 數據竊取研究 25
2.1
背景與任務介紹 26
2.2
攻擊載荷傳遞第二部分:
使用Java小程序 27
2.2.1 Java代碼簽名 27
2.2.2 編寫一個Java小程序
傳輸器 30
2.2.3 編造令人信服的借口 33
2.2.4 對傳輸器簽名 34
2.3 攻擊載荷持久性的相關要點 35
2.3.1 Windows操作系統 35
2.3.2 Linux操作系統 36
2.3.3 OSX操作系統 38
2.4 命令與控制第二部分:高級
攻擊管理 39
2.4.1 隱蔽性增強及多系統管理 39
2.4.2 實現命令結構 40
2.4.3 創建管理界面 41
2.5 攻擊 42
2.5.1 態勢感知 42
2.5.2 通過活動目錄收集情報 43
2.5.3 分析活動目錄的輸出 44
2.5.4 攻擊脆弱的二級系統 45
2.5.5 通過密碼重用攻擊主要的
目標系統 46
2.6 小結 47
2.7 練習 47
第3章 21世紀的搶劫 49
3.1 可能奏效的方式 49
3.2 一切皆不安全 50
3.3 部門政治 50
3.4 APT建模與傳統滲透測試 51
3.5 背景與任務簡介 51
3.6 命令與控制第三部分:高級
通道與數據竊取 52
3.6.1 有關入侵檢測和安全運維
中心的注意事項 55
3.6.2 SOC小組 56
3.6.3 SOC的運轉機制 56
3.6.4
SOC反應時間與干擾 57
3.6.5
規避入侵檢測系統 57
3.6.6
事件誤報 58
3.7 攻擊載荷傳遞第三部分:物理
媒介 58
3.7.1 一種全新的社會工程學
攻擊方式 59
3.7.2
目標位置分析 59
3.7.3
收集目標 59
3.8 攻擊 62
3.9 小結 64
3.10
練習 64
第4章 制藥業 65
4.1 背景與任務簡介 66
4.2 攻擊載荷傳遞第四部分:客戶
端利用 67
4.2.1
Flash的詛咒 67
4.2.2
至少你可以棄用Flash 68
4.2.3 內存崩潰缺陷:相關注意
事項 68
4.2.4
尋找攻擊目標 70
4.3 命令與控制第四部分:集成
Metasploit 72
4.3.1
基本的Metasploit集成 72
4.3.2
服務器配置 73
4.3.3
黑帽子/白帽子 73
4.3.4
反病毒軟件 74
4.3.5
跳板攻擊 75
4.4 攻擊 75
4.4.1
硬盤防火墻失效 75
4.4.2
Metasploit驗證 76
4.4.3
實質 77
4.4.4
Admin的益處 78
4.4.5
典型的子網克隆 81
4.4.6
恢復密碼 81
4.4.7 創建數據清單 83
4.5 小結 85
4.6 練習 85
第5章 槍支彈藥 87
5.1 背景與任務簡介 88
5.2 攻擊載荷傳遞第五部分:仿真
勒索軟件攻擊
89
5.2.1 勒索軟件簡介 90
5.2.2 仿真勒索軟件攻擊的原因 90
5.2.3 勒索軟件仿真模型 90
5.2.4 非對稱加密 91
5.2.5 遠程生成密鑰 92
5.2.6 鎖定目標文件 92
5.2.7 索要贖金 93
5.2.8 維持C2 94
5.2.9 結語 94
5.3 命令與控制第五部分:創建
隱蔽的C2解決方案 94
5.3.1 洋蔥路由器簡介 94
5.3.2 torrc文件 95
5.3.3 配置C2代理使用Tor網絡 96
5.3.4 Tor網橋 97
5.4 有關隱蔽性及部署的新策略 97
5.4.1 VBA Redux:另一種命令行
攻擊向量 97
5.4.2 PowerShell 98
5.4.3 FTP 98
5.4.4 Windows腳本宿主(WSH) 99
5.4.5 BITSadmin 99
5.4.6 對攻擊載荷進行簡單混淆 100
5.4.7 規避反病毒軟件的其他
策略 102
5.5 攻擊 105
5.5.1 槍械設計工程師的回答 105
5.5.2 識別玩家 106
5.5.3 (更)靈活的VBA文檔部署 108
5.5.4 電子郵件與保存的密碼 109
5.5.5 鍵盤記錄器與cookies 111
5.5.6 總結 111
5.6 小結 112
5.7 練習
113
第6章 犯罪情報 115
6.1 攻擊載荷傳遞第六部分:使用
HTA部署 116
6.2 在Microsoft Windows系統中
提升權限 118
6.2.1 通過本地漏洞利用提升
權限 119
6.2.2 利用自動化操作系統安裝 122
6.2.3 利用任務調度器 123
6.2.4 利用易受攻擊的服務 124
6.2.5 DLL劫持 126
6.2.6 挖掘Windows注冊表 129
6.3 命令與控制第六部分:
爬蟲盒 129
6.3.1 爬蟲盒說明書 130
6.3.2 Raspberry Pi及其組件
介紹 130
6.3.3 通用輸入/輸出 131
6.3.4 選擇操作系統 132
6.3.5 配置全硬盤加密 132
6.3.6 隱蔽性 136
6.3.7 使用3G/4G配置帶外命令
與控制 136
6.3.8 創建透明網橋 139
6.3.9 將Raspberry
Pi用作遠程鍵盤
記錄器的無線訪問點 140
6.4 攻擊 143
6.5 小結 145
6.6 練習
145
第7章 戰爭游戲 147
7.1 背景與任務簡介 148
7.2 攻擊載荷傳遞第七部分:USB
霰彈攻擊法 149
7.2.1 USB存儲媒介 149
7.2.2 簡單的社會工程學 151
7.3 命令與控制第七部分:高級
自主數據滲漏 151
7.3.1
自主的含義 151
7.3.2 不同的數據出口方式 151
7.4 攻擊 155
7.4.1 構建攻擊保密網絡的攻擊
載荷 157
7.4.2 隱蔽安裝3G/4G軟件 157
7.4.3 攻擊目標并部署攻擊載荷 158
7.4.4 有效的突發式數據
滲漏 159
7.5 小結 159
7.6 練習
160
第8章 攻擊出版社 161
8.1 簡介 161
8.2 社會工程學中的高級概念 162
8.3 命令與控制中的實驗概念 166
8.3.1 方案一:C2服務器引導
代理管理 166
8.3.2 方案二:半自主C2代理
管理 168
8.4 攻擊載荷傳遞第八部分:令人
眼花繚亂的網頁內容 170
8.4.1 Java Web Start 171
8.4.2 Adobe Air 171
8.4.3 淺談HTML5 172
8.5 攻擊 172
8.6 小結 175
8.7 練習
175