我的 Certified Red Team Professional (CRTP) 之旅
2021 我完成了由 PentesterAcademy (https://www.pentesteracademy.com/activedirectorylab) 所推行的 Attacking and Defending Active Directory 的課程,並在中秋連假期間完成了 Certified Red Team Professional (CRTP) 認證
本篇文章將介紹關於 Certified Red Team Professional (CRTP) 的一些介紹。
關於這張證照與機構,在台灣可能很少人聽過,他的名氣不如 EC-Council 或 Offensive Security 有名,但我相信他的實驗室與課程,絕對值得你報名學習。
關於 PentesterAcademy 是由 Vivek Ramachandran 所創立,他曾在包括 Black Hat USA、DEFCON 等多個世界頂級研討會上發表演講與進行培訓。並在安全領域擁有超過十年的經驗。
而關於 Attacking and Defending Active Directory 課程的講師則是由 Nikhil Mittal 所擔任,他也是 BlackHat USA、BlackHat Europe 與 DEFCON 講師,並且開發了許多知名的安全滲透工具,如:Nishang (在 Github 上高達 5.7K Star)
為什麼會選擇這門課程 ?
事實上有幾個原因:
1.2019 下半年,我完成了 Offensive Security Certified Professional (OSCP) 考試,關於 OSCP 的相關介紹,網路上其實很多文章可以參考。
之前也有寫過一篇關於 OSCP 的考試心得,不過礙於官方規定,因此無法透漏太多關於 OSCP 的內容。
通過了 OSCP 認證,經過短暫的休息後,很快的我鎖定了 Offensive Security Web Expert (OSWE) 與 CRTP 這兩個課程(證照),關於 OSWE 是由 Offensive Security 機構所推行的,這張證照主要是針對 Web 的白箱原始碼審計進行攻擊與利用,需要從網站原始碼中找出漏洞,並獨力撰寫 Exploit 取得權限。而 CRTP 則是針對 Active Directory 環境中所遇到的威脅和攻擊而設計。
事實上兩張是完全不一樣的攻擊面向,但有一句話是這麼說的
2.現在上班,平常工作內容除了協助客戶場域資安事件調查外,也會與客戶進行互動,最常遇到的就是 客戶網管比你還不熟 AD 設定,可能連 GPO 派送都不會設,帳戶權限任意寫入。
因此為了解決上述問題,我決定也好好學習下關於 Windows AD 上的服務,並了解 AD 可能面臨的攻擊。
駭客攻擊手法千變萬化,AD 上的設定更是複雜,正所謂 「知己知彼,百戰不殆」,如果說自己都不了解這些東西,那如何要保護好客戶的場域。
關於 CRTP 這門課,他涵蓋了 Active Directory 和 Powershell 的基礎知識,包括: AD enumeration, trusts mapping, domain privilege escalation, domain persistence, Kerberos based attacks (Golden ticket, Silver ticket and more), ACL issues, SQL server trusts, Defenses and bypasses of defenses. 因此對於想要了解更多關於 AD 滲透和 Powershell 的資安人員來說,這是一個非常好的開始。
CRTP vs. OSCP
CRTP (Certified Red Team Professional)
從官網上,可以看到 CRTP 與 OSCP 的價格表,兩者皆分成 30、60 與 90 天的 Lab,並包含 1 次的考試機會。同時價差也非常大,如果真要說,我想就是知名度吧。CRTP 在台灣比較沒什麼人聽過,而後者的知名度在台灣還是比較知名的,
Ref:https://www.pentesteracademy.com/activedirectorylab
讓我們來看看這兩門課程可以獲得些什麼 ?
首先是 CRTP,其實在官網上也都有寫,總共分成 10 個主題,我省略了細節部分,有興趣的可以直接上官網去看。
23 Learning Objectives, 59 Tasks, >120 Hours of Torture :)
Active Directory Enumeration
Local Privilege Escalation
Domain Privilege Escalation
Domain Persistence and Dominance
Cross Trust Attacks
Forest Persistence and Dominance
Defenses – Monitoring
Defenses and bypass – Architecture and Work Culture Changes
Defenses and Bypass – Deception
Defenses and Bypass – PowerShell
上述是官方規劃的課程目標,總共分類為 10 點,然後他有 59 個 任務,每個章節都有 2-4 個 任務。
比如說,他會先要求你透過 資訊蒐集,取得某個資訊,這是第一個任務,然後下一個任務可能就是要取得 Hash,第三個任務則是提權,他的 Lab 是低權限帳號,然後有 Windows Defender。
所以像是最後幾個章節,他就是在教你當你遇到一些阻礙的時候,要如何 Bypass AMSI,例:進行混淆或使用編碼或將其拆分為塊並重新組合就可以解決此問題。
你不用擔心你不熟悉 Powershell,因為他前面的章節就是比較從零知識開始教起,跟你說 Get-Help 是什麼意思,該如何使用以及 Get-Process 和如何更改 Powershell Policy 等,所以你只要跟著教材的教學一步一步進行即可。
事實上,就是 Step by step 教學,然後他也有可能是怕你不熟悉 DC,所以會針對很多地方會有比較基礎跟詳細的說明,例:他前面再講要對 Domain 進行 Recon 的時候,就會講一下 Forest 和 Domain 與 OU 之間的關係。
除此之外,其實也有一點是讓我覺得值得誇獎的是,他會跟你說 他做這些 Recon 的原因是為了什麼,為什麼前期的 Recon 如此重要,而你可以蒐集哪些資訊 ?
當然,這些資訊的目的,除了是讓你能夠快速地提權跟橫向移動外,也有避免說讓你不輕易被網管或資安偵測產品發現。
OSCP (Offensive Security Certified Professional)
Ref:https://www.offensive-security.com/pwk-oscp/
OSCP 主要有 25 個主題,同樣也包含 Lab 練習。
如果對於 OSCP 有興趣的可以私訊我,網路上也不少文章寫得很詳細。
17+ hours of video, 850-page PDF course guide, Over 70 machines, including recently retired OSCP exam machines
Penetration Testing: What You Should Know
Getting Comfortable with Kali Linux
Command Line Fun
Practical Tools
Bash Scripting
Passive Information Gathering
Active Information Gathering
Vulnerability Scanning
Web Application Attacks
Introduction to Buffer Overflows
Windows Buffer Overflows
Linux Buffer Overflows
Client-Side Attacks
Locating Public Exploits
Fixing Exploits
File Transfers
Antivirus Evasion
Privilege Escalation
Password Attacks
Port Redirection and Tunneling
Active Directory Attacks
The Metasploit Framework
PowerShell Empire
Assembling the Pieces: Penetration Test Breakdown
Trying Harder: The Labs
小總結下 CRTP vs. OSCP
簡單來說這兩張的差別在於說 CRTP 他全部都是 Windows AD 環境,包含你自己的攻擊機,不管是在 Lab 還是考試中,都不會使用到 CVE Exploit,CRTP 主要希望可以透過一些 AD 套件和信任的管理設定不當來進行利用,並且不會依賴任何可修補的漏洞利用。本課程預設的是服務設定都是不安全的,你要嘗試找出不安全配置進行滲透、橫向移動。
CRTP 著重於 Windows 上的相關資訊利用,課程中主要依賴於 PowerShell 進行資訊蒐集與常見服務(如:Jenkins)滲透,並學習 GPO、BloodHound、Silver Ticket、krbtgt 等進行後滲透。
在 CRTP ,實驗室與影片課程一起進行。您可以從影片中學習每個概念,然後可以通過一些稱為“Learning Objectives” 自行練習。這使得 CRTP 對於幾乎沒有 Active Directory 經驗的人非常有用。這些概念在影片中得到了很好的解釋,如果您遇到任何學習目標,您可以隨時查看影片或文件。
另外,值得注意的是他們有一個很好的 Support email,如果你對課程與教材有任何問題,你只需要給他們發 email,將會快速地得到回覆。
曾經我在進行 Lab 練習時,遇到 shell 一直無法成功取得的問題,因此我寄信給官方請求問題後,官方很快地在 30 分鐘內就回覆了我的問題,並告訴我無法成功取得 shell 的原因。(原來是因為我忘記把防火牆給關閉了)
而 OSCP 則是利用 Kali Linux 當作攻擊機,嘗試找出各種服務中的漏洞,並找出相對應的 CVE Excploit 來利用取得 Shell。
OSCP 也是會有很多 Lab 機器,有 Windows 與 Linux,然後你要想辦法透過資訊蒐集方式取得有用的線索,找出漏洞後,透過像是 CVE 的 exploit 來取得權限.
但 OSCP 有個缺點就是,他雖然提供了大約 50 台的練習主機,但他最後沒有一些提示跟解答,所以你就算最後 Lab 與考試時間到期了,你還是不曉得你沒解開的那些機器,問題到底在哪。(儘管你成功通過 OSCP 考試)
這是我覺得 OSCP 比較可惜的地方,然後 OSCP 的價格也對於學生或剛出社會的人來說,也是負擔比較重的。當然如果有公司贊助的話,那就去報名吧!
所以你問我這兩門課程有什麼不同 ? 如果已經有 OSCP 了,還需要去報名嗎 ?
我認為這兩者學習面向不同,就如同我在前年通過了 OSCP,但在準備這門證照時,還是下了很多功夫,花了超過半年時間在準備,因為事實上,你在 OSCP 的課程與考試中,你不會遇到 Windows Defender (極少),你也不需要橫向移動,你的目標就是成功取得各自獨立的 5 台機器權限即可。
在 CRTP 中,你遇到的每一台主機基本上都有 Windows Defender,除了繞過之外,當你取得 administrator 權限後,接著你可能要利用 Kerberos Golden ticket 移動到其他主機。
考試中,有約 6 台主機需要都取得最高權限,你的目的就是先從第一台開始嘗試找出脆弱性服務,並進行提權,與思考該如何一步一步拿下其他主機,最終取得 AD 伺服器。
考試中,每一台主機因為都處在 AD 環境中,因此都是有關連性的,這是與 OSCP 不同的地方。你會大量地使用到如:PowerView、PowerCat、PowershellTCP 與 BloodHound,甚至有機會使用到 Nirsoft 的工具將使用者的密碼嘗試還原,你可以從 瀏覽器、WiFi、RDP 等不同地方取得使用者密碼紀錄。
這也是有趣的一點,事實上實際的資安事件中可能不如你所想的需要使用到高超的駭客技巧,往往只需要找到一個脆弱的點就可入侵到企業內部,而內部員工的資安意識就更為重要了。
筆者曾經到許多客戶電腦進行事件調查,最常看到的就是員工們都把密碼記錄在電腦桌面,不管是記事本,或 Windows 便條紙,這些都是非常不好的,只要其他人從你背後經過都可以看到你的帳號密碼,駭客登入到你的電腦也可直接取得,得來全不費吹灰之力。
題外話,其實還有一點很值得思考,當企業導入了各項 ISO,並且規定密碼長度與密碼更換時間,其實人們很難記住這麼多組的密碼,尤其每幾個月就必須更換一次,還不能跟之前的相同。
當然可以使用如 1Password 這類型的密碼管理工具,但這些其實都是較有 資訊背景的人可能才會使用,想想看如果你的企業有 5,000 人,很難要求所有員工都能做到。
回到正題,你問我如果有了 OSCP,那建不建議也報名 CRTP ?
如果你本身對於 Windows AD 與 PowerShell 不熟悉的,那我強烈建議你可以報名試試,反正價格也不貴,對於學生們來說還是可以負擔的。
另外一優點是,當你報名後,你不會有時間上的壓力要進行 Lab 與 考試,前面你可以先規劃安排學習課程中的 PDF 與 Video ,等你準備好了隨時都可以開始 Lab 與考試。
- OSCP 報名開始後,就開始計算 Lab 時間了,所以多少會有時間上的壓力。畢竟 PDF 與 Video 還是需要花費不少時間去閱讀準備。
所以我為什麼會覺得 CRTP 這個課程製作的算友善的原因,有幾點:
1.你有問題,可以寄到他的 Email,他都很快就會回覆了
2.他的影片 教材 都可以重新觀看,也可以下載
3.他的影片 教材 會從基礎開始教起,所以你也不用太擔心你如果不熟 Windows 或 Powershell 怎麼辦
4.價格友善
該具備什麼知識 ? 我是如何準備 ?
由於工作原因,我報名的是 60 天的方案,這樣我可以比較不會有壓力,可以利用平日下班與假日期間在公司偷電好好學習,每個影片的時間長度大約是 30 ~ 60 分鐘,影片會從最基礎開始講起,包括為甚麼你前期會需要先進行資訊的蒐集
我的學習方式可以參考下,當然每個人都有不同的方法,選擇最適合你自己的就好:
1.由於會大量使用到 Powershell,因此我選擇使用 Xmind 心智圖,進行指令的筆記,這樣可以方便我快速尋找並知道我下一步要如何進行。
2.Youtube 內建字幕
由於我的英文能力較差,因此我會利用各種方式去閱讀英文文件與影片,這邊分享一個小技巧給大家。
因為教材影片是可以下載的,因此我將這些影片上傳到 Youtube 私人帳號,並利用 Youtube 的自動翻譯將講師講的話翻成中文字幕,再搭配英聽與簡報上的畫面,這樣我能夠快速了解講師在講什麼。
只不過自動翻譯還是會有很多翻譯錯的地方,反正就是加減看。
3.與 OSCP 一樣,可以去註冊 HackTheBox (https://www.hackthebox.eu/), 他提供了許多的 Lab 靶機可以練習。所以可以多上如 Vulnhub 與 HackTheBox 去多玩玩。
例:Forest、Sauna、Active、BlackField 等。
4.一些網路上學習文件
- https://github.com/swisskyrepo/PayloadsAllTheThings/blob/master/Methodology%20and%20Resources/Active%20Directory%20Attack.md
- https://adsecurity.org/
- http://www.harmj0y.net/blog/blog/
- https://shenaniganslabs.io/2019/01/28/Wagging-the-Dog.html
考試狀況
考試隨時都可以開始,當你一切都準備好之後,隨時都可以登入到平台上進行啟動,並使用他們提供的 VPN 進行連線。
考試時間為 24 小時,而報告撰寫時間是 48 小時,其實與 OSCP 差不多,只不過 CRTP 提供了更充裕的時間可以整理考試報告。
我利用中秋節連假進行了準備,前面幾天為了能夠讓我更適應考試期間所帶來的壓力與熬夜不適,我快速的翻閱教材 與 HackTheBox 刷題,接著放下手邊一切工作讓我保持在迎接狀態。除此之外,雞精、葉黃素與水果是我考試期間能夠讓我保持精神的來源之一。
在考試時,儘管我已經知道可能會使用到 BloodHound,但我原本是想說我可以在考試機上面進行架設,因此我就沒有事先準備了。
到了要利用時,我後悔了,因為考試環境不允許上傳超過 100MB 的檔案,雖然我嘗試進行壓縮分批上傳,但進行環境設定時,總是遇到各種錯誤,為此我為了 debug 與架設 BloodHound 花費了我不少時間。
最後我放棄了,我還是選擇在本地 VM 額外進行 BloodHound 的環境來使用。
所幸的是,我成功了,並透過 BloodHound 找到了問題點來取得權限。
另外官方有提到,考慮到有些人母語不是英語系國家的人,你可以在報告上額外註記你母語不是英文,他們會對你的文法不那麼要求,只要你的意思有表達對就好。
但你還是要用英文寫,並且說明為甚麼你要這樣執行的原因。考試的報告除了證明你有成功取得機器外,你還要說明你的想法,為甚麼你要這樣做,這也是很重要的一點。
考試對我來說壓力還是很大,因為我發現 Windows 還是太難了,我從早上 9 點開始考試,大約到了晚上 8 點我才成功取得所有機器的管理者權限,總花費了 11 小時。
而在報告撰寫上,由於先前工作職務上 與 OSCP 的考試經驗,因此我撰寫了共 23 頁的報告,共花費了 4 個小時。
我反覆檢查,並寄出了我的報告,等待成果。
結論
等待了四天,這天剛好休假與同事們出去散心,在車上突然收到了 Active Directory Lab Support 寄來的信件,標題寫著 Certified Red Team Professional - Exam Result
我迫不急待的打開,上帝保佑,幸運的我通過了考試
這個標題看起來很酷,「紅隊認證專家」,但我知道自己還有很多不足的地方,還有許多事情我必須經歷,但說實話這門課程對我的幫助很大,這是一次了不起的經歷。
另外,如果你通過了考試,他的有效期限是 3 年,過了期限你就必須要再次重新考試認證。
雖然這張證照在台灣應該沒什麼企業聽過,無法幫助你加薪以及找到更好工作,但我覺得以這價格來說,他的課程覺得值得你報名學習。
而,如果你對 Active Directory Attacks and Defense 有興趣的,我還是很推薦這門課程,歡迎大家報名。
接下來,我正在準備 OSWE (10/1 開始),並且後續也規劃了 CISSP ,我也關注了 Pentesteracademy 的 Certified Red Teaming Expert (CRTE)
- OSWE (https://www.offensive-security.com/awae-oswe/)
- CISSP (https://www.isc2.org/Certifications/CISSP)
- CRTE (https://www.pentesteracademy.com/redteamlab)
- OSEP (https://www.offensive-security.com/pen300-osep/)
其實我也不是什麼證照派的,只是覺得這些都有較系統性的規劃,所以如果你找不到方向時,不如就按照這些課程規劃的去學習吧。
希望這次的旅途對你有幫助。