# Red Team Fundamentals ###### tags: `RedTeam` `Tryhackme` ## Red Team Fundamentals Bắt đầu đi tìm hiểu cơ bản về Red Team, tìm hiểu Red Team khác gì với những mảng còn lại trong Security ### Task 2: Vulnerability Assessment and Penetration Tests Limitations <details> <summary> Vulnerability Assessments (Đánh giá lỗ hổng) </summary> - Vulnerability Assessments là quá trình đánh giá rủi ro bảo mật của hệ thống hoặc ứng dụng thông qua việc phát hiện và đánh giá các lỗ hổng bảo mật có thể tồn tại trong hệ thống hoặc ứng dụng đó. Hầu hết các công việc có thể được thực hiện bằng các công cụ tự động và được thực hiện bởi người vận hành mà không đòi hỏi nhiều kiến thức kỹ thuật. - Đây là hình thức đánh giá bảo mật đơn giản nhất và mục tiêu chính của nó là xác định càng nhiều lỗ hổng trong càng nhiều hệ thống trong mạng càng tốt. - Hiểu đơn giản là nó giống bước bắt đầu khi attack mục tiêu chẳng hạn như đi scan, fuzz, đi tìm các subdomain, virtual host, scan vul như log4j bằng tool,... lúc đầu loạn hết lên 😛 và mọi thứ diễn ra kiểu "chạy tool -> tìm thấy -> báo cáo" không bao gồm bước exploit. ![](https://i.imgur.com/f4feImj.png) </details> <details> <summary> Penetration Tests (Kiểm thử xâm nhập) </summary> - Penetration Tests là quá trình kiểm tra tính bảo mật của một hệ thống hoặc mạng bằng cách thử đột nhập vào hệ thống đó bằng các phương pháp giả lập các cuộc tấn công từ bên ngoài hoặc bên trong. - Penetration Tests thường được sử dụng để tìm ra các lỗ hổng bảo mật trong hệ thống, đánh giá mức độ đáng tin cậy của các biện pháp bảo mật hiện tại, và đề xuất các biện pháp bảo mật mới để tăng cường tính bảo mật của hệ thống. Kết quả của các kiểm tra này có thể giúp cho các tổ chức cải thiện khả năng phòng chống tấn công, giảm thiểu nguy cơ mất dữ liệu và tăng cường tính bảo mật của hệ thống mạng. - Giống như `Đánh giá lỗ hổng` nhưng thêm bước exploit, để thực sự hiểu attacker có thể gây ra hậu quả gì nếu exploit được. - Ngoài ra sau khi khai thác xong có thể tìm hiểu xem liệu có thể trích xuất bất kỳ thông tin hữu ích nào từ máy chủ bị khai thác hay không hoặc liệu có thể sử dụng chúng để leo sang (pivot) các máy chủ khác mà trước đây không thể truy cập (các máy chủ nội bộ) được từ bên ngoài. ![](https://i.imgur.com/cUpKI4b.png) </details> <details> <summary> Advanced Persistent Threats and why Regular Pentesting is not Enough (pentest thôi là chưa đủ) </summary> Còn tồn tại những hạn chế: ![](https://i.imgur.com/dCrRmjN.png) - Vì được trả lương và ký hợp đồng, các pentester không quan tâm đến việc bị phát hiện vì họ đã được thuê để tìm thấy nhiều lỗ hổng càng nhiều càng tốt trên càng nhiều máy chủ có thể, khác với real hacker phải trốn chui trốn lủi, chẳng may attack xong bị lần ra ngoài bị phạt có khi còn ăn đòn =))))))) - Các vectơ tấn công phi kỹ thuật có thể bị bỏ qua: Các cuộc tấn công dựa trên kỹ nghệ xã hội (social engineering) hoặc xâm nhập vật lý (USB, Flipper Zero,...) thường không được đưa vào thử nghiệm. - Khi pentest có thể được nới lỏng các cơ chế bảo mật như pentest mà không có waf đễ dễ dàng phát hiện lỗi hơn. Vì bị giới hạn thời gian khi pentest pentester thường không có thời gian tìm cách bypass IDS/IPS, WAF, đánh lừa xâm nhập hoặc các biện pháp bảo mật khác, mà tập trung vào việc xem xét cơ sở hạ tầng công nghệ quan trọng để tìm lỗ hổng. Liệu có thể phát hiện các phương pháp được sử dụng để giành và duy trì quyền truy cập vào mạng của attacker nếu chúng đã ở đó trong vài tháng không? Điều gì sẽ xảy ra nếu quyền truy cập ban đầu có được là do Chị A ở bộ phận kế toán đã mở một tệp đính kèm email đáng ngờ? Điều gì xảy ra nếu có liên quan đến việc khai thác zero-day? Các thử nghiệm thâm nhập trước đó có chuẩn bị cho chúng tôi về điều này không? Chính vì những lý do đó, để cung cấp một cách tiếp cận thực tế hơn đối với bảo mật, RED TEAM ra đời. </details> ![](https://i.imgur.com/9ukj9TP.png) ### Task 3: Red Team Engagements <details> <summary> Mục tiêu và hoạt động của RED TEAM </summary> Để theo kịp các mối đe dọa mới nổi, các chiến dịch của RED TEAM được thiết kế để chuyển trọng tâm từ việc pentest thông thường sang một quy trình cho phép thấy rõ khả năng của đội phòng thủ trong việc phát hiện và ứng phó với tác nhân đe dọa thực sự. Tất nhiên là không thay thế hoàn toàn kiểu pentest truyền thống, nhưng bổ sung thêm bằng cách tập trung vào phát hiện và phản hồi hơn là ngăn chặn. Thông thường, BLUE TEAM sẽ không được thông báo về các chiến dịch để tạo sự bất ngờ cũng như kiểm tra khả năng ứng cứu của họ. RED TEAM sẽ làm mọi thứ có thể để đạt được các mục tiêu và tránh mọi cơ chế bảo mật hiện có như tường lửa, phần mềm chống vi-rút, EDR, IPS và các cơ chế khác. Lưu ý rằng khi tham gia RED TEAM, không phải tất cả các máy chủ sẽ được kiểm tra các lỗ hổng như bên pentest. Một kẻ tấn công thực sự sẽ chỉ cần tìm một con đường duy nhất đến mục tiêu của nó. ![](https://i.imgur.com/Gbq6NuC.png) Điều quan trọng cần lưu ý là mục tiêu cuối cùng không bao giờ là để RED TEAM "đánh bại" BLUE TEAM, mà là mô phỏng đủ các hướng tấn công để đội xanh học cách phản ứng một cách thích hợp với mối đe dọa thực sự đang diễn ra. Nếu cần, họ có thể điều chỉnh hoặc thêm các biện pháp kiểm soát bảo mật giúp cải thiện khả năng phát hiện của mình. Xem xét một số attack surface của RED TEAM: - Cơ sở hạ tầng kỹ thuật: Giống như khi pentest, RED TEAM sẽ cố gắng khám phá các lỗ hổng kỹ thuật, tập trung hơn nhiều vào khả năng ẩn mình trong server và trốn tránh các chương trình dò quét. - Kỹ nghệ xã hội: Nhắm mục tiêu vào mọi người thông qua các chiến dịch lừa đảo, cuộc gọi điện thoại hoặc phương tiện truyền thông xã hội để lừa họ tiết lộ thông tin cá nhân bí mật. - Xâm nhập vật lý: Sử dụng các kỹ thuật như bẻ khóa, nhân bản RFID, khai thác điểm yếu trong các thiết bị kiểm soát truy cập điện tử để truy cập vào các khu vực hạn chế của cơ sở. Tất nhiên RED TEAM cũng cần phải có cam kết chứ không thể thích làm gì thì làm, dưới đây là một số cách làm việc của RED TEAM: - Mô phỏng toàn bộ quy trình làm việc của attacker, từ bước đầu cho đến khi đạt được mục tiêu cuối cùng. - Bắt đầu bằng cách giả định rằng attacker đã giành được quyền kiểm soát đối với một số tài nguyên và cố gắng đạt được các mục tiêu từ đó. Ví dụ, RED TEAM có thể nhận được quyền truy cập vào tài khoản một số người dùng hoặc thậm chí là một máy trạm trong mạng nội bộ. - Kịch bản được thảo luận giữa RED TEAM và BLUE TEAM để đánh giá cách họ sẽ phản ứng về mặt lý thuyết đối với các mối đe dọa nhất định. </details> ![](https://i.imgur.com/BO4oeop.png) ### Task 4: Teams and Functions of an Engagement Phần này nói về các cá nhân trong team có chức năng, tác dụng gì... ![](https://i.imgur.com/zXPThhC.png) ### Task 5: Engagement Structure <details> <summary> Cấu trúc Cyber Kill Chain </summary> `Cyber Kill Chain` dùng để miêu tả các bước của một cuộc tấn công mạng từ phía kẻ tấn công (hacker). Nó được sử dụng để mô tả các giai đoạn của quá trình tấn công, từ khi hacker lên kế hoạch cho cuộc tấn công cho đến khi họ đạt được mục tiêu của mình. RED TEAM có thể sử dụng nó để lập kế hoạch tấn công, BLUE TEAM sử dụng nó để lập bản đồ hành vi và chặn đứng hướng tấn công của RED TEAM. (giống như bản đồ quân sự vậy) Ở đây chúng ta sẽ tiếp cận về `Lockheed Martin Cyber Kill Chain` rất hay được sử dụng. `LM-CKC` không đi chi tiết vào từng thứ một như các `kill chain` khác có thể xem nó như một bản tóm tắt tất cả các hành vi và hoạt động. ![](https://i.imgur.com/E7ElW6T.png) | Technique | Purpose | Examples | |-------|-------|-------| | Reconnaissance | Có được thông tin về mục tiêu | OSINT, Fuzzing, Scan,... | | Weaponization | Chuẩn bị vũ khí có thể tấn công vào | Exploit with backdoor, malicious office document,... | | Delivery | Phát tán phần mềm độc hại đến mục tiêu | Email, web, USB,... | | Exploitation | Sử dụng các phần mềm, payload độc hại để exploit | Log4j, Zero-Logon, etc. | | Installation | Cài đặt phần mềm độc hại trên hệ thống mục tiêu như malware, các tool độc hại khác | Mimikatz, Rubeus, etc. | | Command & Control (C2) | Kiểm soát hệ thống mục tiêu từ xa | Empire, Cobalt Strike, etc. | | Actions on Objectives | Lấy cắp or thay đổi dữ liệu, đe doạ trả tiền chuộc, hoặc phá hủy hoàn toàn hệ thống mạng | Conti, LockBit2.0, etc. | </details> ![](https://i.imgur.com/tFyVoYD.png) ### Task 6: Overview of a Red Team Engagement Chiến dịch cụ thể vào 1 ngân hàng <details> <summary> B1: Planning the Engagement (lên kế hoạch) </summary> - Các đội trắng và đỏ sẽ xác định các mục tiêu phù hợp với các kịch bản rủi ro của doanh nghiệp. - Đội xanh thường không được thông báo về cuộc tập trận ở giai đoạn này, vì chúng tôi muốn phân tích phản ứng tự nhiên của họ trước kẻ tấn công. </details> <details> <summary> B2: Intelligence Gathering (thu thập thông tin) </summary> RED TEAM thu thập càng nhiều thông tin càng tốt về ngân hàng, bao gồm: - Công nghệ đang sử dụng - Danh sách nhân viên - Thông tin trên mạng xã hội - Ảnh - Bất kỳ thông tin có thể sử dụng khác ... Với tất cả các thông tin trong tay, RED TEAM sẽ tạo ra một kế hoạch bao gồm một số TTP phù hợp với mục tiêu và được WHITE TEAM chấp thuận. </details> <details> <summary> B3: Emulating TTP: Phishing campaign (chiến dịch phishing) </summary> RED TEAM mô phỏng chiến dịch lừa đảo dựa trên danh sách email họ đã tạo theo tên nhân viên được tìm thấy trên LinkedIn: julie.smith@bank.example.com john.watson@bank.example.com và script phát hiện nếu nạn nhân tải xuống mã độc đính kèm trong đó. Sau đó chiến dịch lừa đảo đã bị phát hiện. BLUE TEAM đã gửi email tới tất cả nhân viên để cảnh báo họ về mối đe dọa đang diễn ra. Điều này vẫn cho phép cuộc tấn công tiếp tục, vì không có quy trình nào để kiểm tra các PC có thể bị nhiễm hoặc thậm chí nếu cao tay hơn, RED TEAM có thể thu hồi bất kỳ bản sao nào của email độc hại khỏi hộp thư đến của tất cả người dùng. ![](https://i.imgur.com/Kl5CQdx.png) </details> <details> <summary> B4: Emulating TTP: Privilege Escalation and Persistence (Leo thang đặc quyền và duy trì kết nối) </summary> RED TEAM đã tìm thấy BOB-PC chưa cập nhật bản vá Windows cho phép khai thác PrintNightmare. POC đã có sẵn đã được phát hiện bởi nhiều giải pháp AV, một số kỹ thuật bypass AV đã được áp dụng thành công để tránh kích hoạt bất kỳ cảnh báo nào cho BLUE TEAM, cuối cùng nhận được các đặc quyền SYSTEM. ![](https://i.imgur.com/xUXZnCk.png) RED TEAM đã có thể tải lên và chạy mimikatz đã sửa đổi để trích xuất các hàm băm mật khẩu cục bộ, bao gồm cả tài khoản administrator và tài khoản "Backups". ![](https://i.imgur.com/VlSUNq4.png) </details> <details> <summary> B5: Emulating TTP: Lateral Movement (Leo thang ngang) </summary> RED TEAM đã sử dụng attack Pass-the-Hash đối với tất cả các máy chủ trên mạng để kiểm tra xem người dùng "Backups" có thể đăng nhập vào các máy chủ khác hay không. Không thể thực hiện kết nối trực tiếp tới máy chủ DB vì các chính sách tường lửa đã được áp dụng để ngăn chặn điều đó. Sau khi thực hiện một số điều tra bổ sung, một máy trạm có tên DBA-PC đã được xác định. Bằng cách sử dụng Pass-the-Hash, DBA-PC đã được biên dịch và được sử dụng làm trục để kết nối (pivot) với máy chủ DB. ![](https://i.imgur.com/hWza1GF.png) Mặc dù các nỗ lực Pass-the-Hash đã kích hoạt nhiều cảnh báo về các lần thử đăng nhập từ "Backups", nhưng BLUE TEAM đã bỏ qua chúng vì họ nhầm lẫn với quy trình sao lưu hàng loạt chạy hàng tháng. </details> <details> <summary> B6: Reporting and Analysis (lên kế hoạch) </summary> Sau khi kết thúc, các đội sẽ gặp nhau và thảo luận về cách cải thiện tính bảo mật của ngân hàng. Đang tập trung vào các TTP cụ thể nên ví dụ này đã cho phép RED TEAM đạt được target, nhưng thực tế họ rất hay thất bại. Điều quan trọng cần lưu ý là những lần thử "thất bại" vẫn cho chúng ta một số thứ có giá trị, chẳng hạn bạn có thử hỏi BLUE TEAM có phát hiện khi bạn brute-force password ở DB không ? </details> ![](https://i.imgur.com/EgvyHl9.png) ## Red Team Engagements Tìm hiểu các bước và quy trình của một trận đánh của Red Team, vì vậy chìa khoá để trận đánh này thành công là việc lập kế hoạch và trao đổi, phối hợp tốt với các bên liên quan. Có nhiều kiểu chiến trận như là: - Tabletop exercises: kiểu huấn luyện mô phỏng các tình huống bảo mật có thể xảy ra trong một tổ chức, nhưng không yêu cầu các thực hiện thực tế. Ví dụ sếp giả định các kịch bản tấn công và yêu cầu các nhân viên tham gia đưa ra phản ứng và giải pháp cho các tình huống đó. (như kiểm tra miệng ấy 🥶) - Adversary emulation: phương pháp kiểm tra bảo mật bằng cách mô phỏng các hành động tấn công từ phía kẻ thù. Red Team sẽ giả định mình là một kẻ tấn công thực sự và thử tấn công hệ thống bảo mật của tổ chức để xem xét các lỗ hổng và điểm yếu. - Physical assessment: đánh giá bảo mật bằng cách thực hiện kiểm tra vật lý trên các cơ sở hạ tầng và hệ thống của tổ chức. Điều này bao gồm việc kiểm tra các điểm vào/ra, hệ thống camera giám sát và các thiết bị bảo vệ khác để xác định các lỗ hổng và các điểm yếu về bảo mật vật lý của tổ chức. ### Task 2: Defining Scope and Objectives <details> <summary> Xác định phạm vi và mục tiêu </summary> - Defining Scope and Objectives là bước quan trọng trong các hoạt động Red Team Engagement. Đây là quá trình xác định rõ ràng phạm vi và mục tiêu của hoạt động, giúp đảm bảo rằng hoạt động Red Team sẽ được thực hiện một cách chính xác, hiệu quả và an toàn. - Phạm vi (Scope) là phạm vi của hoạt động Red Team, bao gồm những gì sẽ được kiểm tra và tấn công trong tổ chức. Ví dụ, phạm vi của một hoạt động Red Team có thể bao gồm kiểm tra bảo mật hệ thống mạng, kiểm tra bảo mật vật lý hoặc kiểm tra bảo mật ứng dụng. - Mục tiêu (Objectives) là mục tiêu của hoạt động Red Team, bao gồm những gì mà Red Team sẽ cố gắng đạt được trong hoạt động. Ví dụ, một mục tiêu của hoạt động Red Team có thể là tìm thấy các lỗ hổng bảo mật và đề xuất các giải pháp để khắc phục chúng, hoặc là chứng minh rằng tổ chức có những điểm yếu trong bảo mật và cần phải cải thiện. - Việc định rõ phạm vi và mục tiêu sẽ giúp cho các hoạt động Red Team được thực hiện theo hướng tiếp cận khoa học và có kế hoạch hóa. Đồng thời, nó cũng giúp đảm bảo an toàn cho các hoạt động và đảm bảo rằng các hoạt động này không ảnh hưởng đến các hoạt động sản xuất hoặc hoạt động chính của tổ chức. </details> ![](https://i.imgur.com/lN5ussA.png) ### Task 3: Rules of Engagement <details> <summary> Khái niệm </summary> Rules of Engagement (ROE) là một tài liệu quan trọng được sử dụng trong các hoạt động quân sự, an ninh và thăm dò bảo mật (security testing) như Red Team Engagements. Tài liệu này giải thích cách mà các bên sẽ tương tác với nhau trong suốt hoạt động và cung cấp hướng dẫn rõ ràng cho các bên về quyền lực và giới hạn của mình. </details> ![](https://i.imgur.com/4ayi1to.png) ### Task 4: Campaign Planning Campaign planning trong Red Team là quá trình lên kế hoạch và thiết kế kế hoạch tấn công để tìm kiếm và khai thác những lỗ hổng trong hệ thống, quá trình này được thực hiện theo cách mà một kẻ tấn công thực sự có thể làm. ### Task 5: Engagement Documentation Engagement documentation là tài liệu ghi lại quá trình thực hiện một cuộc Red Team Engagement. Tài liệu này giúp cho Red Team và tổ chức có thể đánh giá lại quá trình thực hiện, rút ra kinh nghiệm và cải thiện các biện pháp bảo mật trong tương lai. ### Task 6: Concept of Operations The Concept of Operations (CONOPS) được sử dụng để định nghĩa và mô tả mục tiêu và phạm vi của cuộc tấn công. Nó cung cấp một hướng dẫn cho Red Team để thực hiện tấn công trong một môi trường cụ thể và giúp tổ chức hiểu được cách thức và phương pháp tấn công được sử dụng. ![](https://i.imgur.com/P8sacNT.png) ## Intro to C2 Tìm hiểu sâu về các `Command and Control Frameworks` ### Task 2: Command and Control Framework Structure #### What is a Command and Control Framework <details> <summary> Command and Control Framework </summary> - Command and Control Framework (CCF) là một phần mềm hoặc hệ thống được sử dụng để điều khiển và quản lý các tác vụ trên các máy tính bị nhiễm malware hoặc bị tấn công bởi hackers. Nó cung cấp cho attacker một giao diện điều khiển từ xa để thực hiện các hoạt động độc hại trên các máy tính đã bị nhiễm. - CCF thường được sử dụng trong các cuộc tấn công mạng phức tạp và nhắm mục tiêu, bao gồm các cuộc tấn công tống tiền, lừa đảo và trộm dữ liệu. Các tác vụ có thể được thực hiện bởi CCF bao gồm cài đặt backdoor, thực hiện tấn công từ chối dịch vụ (DDoS), thu thập thông tin, quản lý các bản sao lưu và thực hiện các hoạt động khác. - CCF thường được phát triển và cung cấp bởi các hacker chuyên nghiệp hoặc các nhóm tội phạm mạng, và chúng có thể được phân phối thông qua các email lừa đảo, tài liệu độc hại, hay các trang web giả mạo để tải về và cài đặt lên các máy tính bị nhiễm. - Để hiểu rõ hơn về C2 Framework ở mức cơ bản nhất, hãy nghĩ đến một trình lắng nghe Netcat (C2 server) có khả năng xử lý revershell callback (C2 agent). Không giống như Netcat, hầu hết tất cả các C2 Framework đều yêu cầu một trình payload generator. Đây thường là một tính năng được tích hợp trong chính khuôn khổ. Ví dụ: Metasploit là một Khung công tác C2 có payload generator riêng là MSFVenom. Vậy điều gì làm cho các C2 Framework này tốt hơn trình lắng nghe netcat thông thường hay dùng để reverse shell ? Liệu nó tốt hơn chỉ ở mức quản lý các phiên netcat ? Tất nhiên điều trên là đúng nhưng khả năng đặc biệt giúp các C2 Framework được tin dùng hơn cả nằm ở chức năng `Post Exploitation`. ![](https://i.imgur.com/xoX9Oiu.png) </details> #### Command and Control Structure <details> <summary> C2 Server </summary> - C2 Server là một máy chủ được sử dụng trong kiểm soát và điều khiển các hoạt động của các máy tính được nhiễm malware hoặc bị tấn công bởi hacker. Các máy tính này được gọi là "bots" hoặc "zombies", và chúng được kết nối với C2 Server thông qua một kênh liên lạc bảo mật để truyền tải các tín hiệu điều khiển và dữ liệu giữa chúng. ![](https://i.imgur.com/dC22iN5.png) </details> <details> <summary> Agents/Payloads </summary> - Agents/Payloads là các chương trình hoặc mã độc được cài đặt trên các máy tính bị nhiễm hoặc bị tấn công bởi hackers. Chúng được thiết kế để thực hiện các hoạt động độc hại như lấy thông tin, cài đặt backdoor, thực hiện tấn công từ chối dịch vụ (DDoS), quản lý các bản sao lưu và thực hiện các hoạt động khác. - Payloads thường được sử dụng để tấn công và nhiễm máy tính bằng cách sử dụng các lỗ hổng bảo mật trong các phần mềm hoặc hệ điều hành, hoặc thông qua các cuộc tấn công phishing hoặc lừa đảo. Khi được cài đặt trên một máy tính, payload sẽ thực hiện các hoạt động độc hại mà attacker đã thiết lập thông qua các tín hiệu điều khiển từ C2 Server. - Agents thường được sử dụng để duy trì và kiểm soát các hoạt động của payload trên các máy tính bị nhiễm. Chúng được thiết lập để kết nối với C2 Server thông qua một kênh liên lạc bảo mật để truyền tải các tín hiệu điều khiển và dữ liệu giữa các máy tính bị nhiễm và C2 Server. Agents cũng có thể được sử dụng để cung cấp các tính năng bổ sung cho payload, như cải thiện khả năng ẩn danh và khả năng phát hiện của chúng. </details> <details> <summary> Listeners </summary> - Listeners chịu trách nhiệm lắng nghe và xử lý các tín hiệu từ các agents hoặc payloads. Chúng thường được cài đặt trên C2 Server và thiết lập để lắng nghe các tín hiệu và yêu cầu từ các máy tính bị nhiễm. - Listeners thường được thiết lập để chấp nhận các kết nối đến từ các agents hoặc payloads thông qua các kênh liên lạc bảo mật như mã hóa SSL hoặc TLS (Một số ví dụ về điều này là DNS, HTTP và hoặc HTTPS). - Khi nhận được tín hiệu từ các agents hoặc payloads, listeners sẽ xác thực và xử lý các yêu cầu và tín hiệu này và trả lời chúng tương ứng. Chúng cũng thường được thiết lập để định kỳ gửi các yêu cầu và tín hiệu đến các agents hoặc payloads để yêu cầu chúng thực hiện các hoạt động cụ thể. </details> <details> <summary> Beacons </summary> - Beacons là các tín hiệu hoặc gói tin mà các agents hoặc payloads gửi định kỳ đến C2 Server qua Listeners để báo cáo trạng thái hoạt động của chúng. Chúng được sử dụng để giữ cho C2 Server liên lạc với các máy tính bị nhiễm và duy trì kiểm soát và điều khiển các hoạt động của chúng. - Beacons cũng được sử dụng để tăng tính ẩn danh của payload bằng cách giảm thiểu số lượng dữ liệu được truyền tải giữa các agents/payloads và C2 Server. Chúng giúp cho payloads/agents hoạt động tối đa ẩn danh và khó bị phát hiện. </details> #### Obfuscating Agent Callbacks Các kỹ thuật được sử dụng để ẩn danh các kết nối giữa các agents/ payloads và C2 Server trong hệ thống Command and Control Framework <details> <summary> Các kỹ thuật Obfuscating Agent Callbacks </summary> - Sử dụng thời gian chờ giữa các lần kết nối để giảm thiểu mối đe dọa bị phát hiện và theo dõi của các bên thứ ba. - Sử dụng mã hóa: Các agents hoặc payloads và C2 Server sử dụng các thuật toán mã hóa để mã hóa và giải mã các thông điệp và tín hiệu được gửi và nhận. Kỹ thuật này giúp cho các tín hiệu và thông điệp không thể bị đánh cắp hoặc theo dõi bởi các bên thứ ba. - Sử dụng các giao thức tùy chỉnh: Các agents hoặc payloads và C2 Server sử dụng các giao thức tùy chỉnh được thiết kế để tránh bị phát hiện bởi các công cụ giám sát mạng. Kỹ thuật này có thể bao gồm sử dụng các cổng và giao thức khác nhau, hoặc sử dụng các phương thức truyền thông thông qua các giao thức thường được sử dụng như HTTP hoặc DNS. - Sử dụng kỹ thuật động: Các agents hoặc payloads và C2 Server sử dụng các kỹ thuật động để thay đổi cấu trúc và mã hóa các thông điệp và tín hiệu được gửi và nhận. Kỹ thuật này giúp cho các tín hiệu và thông điệp không thể bị dò tìm hoặc phát hiện bởi các công cụ phát hiện xâm nhập. - Sử dụng các kỹ thuật tàng hình: Các agents hoặc payloads và C2 Server sử dụng các kỹ thuật tàng hình để giảm thiểu dấu vết của các hoạt động của chúng. Kỹ thuật này có thể bao gồm sử dụng các tập tin được camouflaged hoặc sử dụng các kỹ thuật kết nối phân tán để giảm thiểu sự phát hiện. Tóm lại, Obfuscating Agent Callbacks là các kỹ thuật được sử dụng để ẩn danh và bảo mật kết nối giữa các agents hoặc payloads và C2 Server trong hệ thống Command and Control Framework. Các kỹ thuật này giúp cho attacker giảm thiểu nguy cơ bị phát hiện và ngăn chặn. </details> #### Payload Types <details> <summary> Stageless Payloads </summary> - Payload được gửi trực tiếp đến hệ thống mục tiêu và thực thi và báo hiệu lại ngay lập tức. ![](https://i.imgur.com/ipV95Aw.png) Một số ưu điểm của Stageless Payloads bao gồm: - Payload không được phân chia thành nhiều giai đoạn, giúp giảm thiểu thời gian thực thi và giúp Payload tránh được phát hiện. - Các biện pháp bảo vệ hệ thống khó phát hiện Stageless Payloads vì chúng không được phân chia thành nhiều giai đoạn khác nhau. - Stageless Payloads có kích thước nhỏ hơn so với Staged Payloads, giúp chúng dễ dàng được truyền tải và lưu trữ. Tuy nhiên, một số nhược điểm của Stageless Payloads là chúng có thể bị dò tìm và phát hiện bởi các giải pháp bảo vệ chống virus và có thể khó kiểm soát quá trình thực thi Payload trên hệ thống mục tiêu. </details> <details> <summary> Staged Payloads </summary> ![](https://i.imgur.com/20YiFIV.png) - Staged Payloads là một loại Payload mà quá trình thực thi của nó được phân chia thành hai giai đoạn khác nhau, gọi là Stage 1 và Stage 2. Trong giai đoạn đầu tiên, Stage 1 là một đoạn mã nhỏ được gửi đến hệ thống mục tiêu để thực hiện một số hoạt động tiền xử lý, chẳng hạn như giải mã Payload Stage 2 hoặc tạo ra một kết nối ngược trở lại với Command and Control Server. Sau đó, Payload Stage 2 được tải xuống và thực thi trên hệ thống mục tiêu. Quá trình này giúp Payload tránh được phát hiện và chống lại các biện pháp bảo vệ của hệ thống. - Staged Payloads được ưu tiên hơn stageless payloads vì nó có thể obfuscate để bypass Anti-Virus programs, tất nhiên nhược điểm của nó là tốc độ không bằng Stageless Payloads. </details> #### Payload Formats Các tệp Windows PE (Các tệp thực thi) không phải là cách duy nhất để thực thi mã trên hệ thống. Một số Khung công tác C2 hỗ trợ tải trọng ở nhiều định dạng khác nhau, ví dụ: - Tập lệnh PowerShell - Mã C# và có thể được biên dịch và thực thi bằng lệnh Add-Type - HTA Files - JScript Files - Visual Basic Application/Scripts - Microsoft Office Documents #### Modules Trong hệ thống Command and Control Framework, module là một đơn vị xử lý chức năng nhỏ được thiết kế để thực hiện một tác vụ cụ thể, chẳng hạn như thu thập thông tin, xử lý dữ liệu hoặc thực hiện các lệnh từ Command and Control Server, nó khiến C2 Server flexible hơn. Mỗi module thường được viết bằng các ngôn ngữ lập trình khác nhau và có thể được sử dụng để thực hiện các tác vụ khác nhau trên hệ thống mục tiêu, tùy thuộc vào mục đích của mô-đun. <details> <summary> Post-exploitation </summary> Post-exploitation modules là các module trong hệ thống Command and Control Framework được sử dụng để thực hiện các tác vụ sau khi tấn công đã thành công và kẻ tấn công đã có quyền truy cập trên hệ thống mục tiêu. Những module này có thể được sử dụng để truy cập và thao tác với các thông tin nhạy cảm trên hệ thống, thực hiện các hoạt động quản lý hệ thống, hoặc tiếp tục lan truyền trong mạng nội bộ. Một số module post-exploitation phổ biến bao gồm: - Password Dumpers: module này được sử dụng để thu thập các thông tin về tài khoản đăng nhập và mật khẩu trên hệ thống mục tiêu. - Remote Access Tools: module này cho phép kẻ tấn công từ xa kiểm soát hệ thống mục tiêu, thực hiện các hoạt động như xem màn hình, thao tác với tệp tin và thực thi các lệnh. - Enumeration and Scanning Tools: module này sẽ quét và thu thập thông tin về hệ thống mục tiêu, bao gồm cả thông tin về phần cứng, phần mềm, cấu hình mạng và các thông tin khác. - Privilege Escalation Tools: module này sử dụng các lỗ hổng trong hệ thống để nâng cao đặc quyền của kẻ tấn công, cho phép họ truy cập vào các tài nguyên và thông tin quan trọng hơn. - Network Lateral Movement Tools: module này sử dụng các lỗ hổng trong hệ thống để tiếp tục tấn công các máy chủ khác trong mạng nội bộ. Các module post-exploitation thường được thiết kế để thực hiện các tác vụ cụ thể và hoạt động một cách tùy chỉnh để đáp ứng các yêu cầu cụ thể của kẻ tấn công. Việc sử dụng các module này giúp tăng cường sức mạnh và linh hoạt cho kẻ tấn công và giúp họ tiếp cận và thao tác với các thông tin quan trọng trên hệ thống mục tiêu. </details> <details> <summary> Pivoting Modules </summary> Pivoting modules là các module trong hệ thống Command and Control Framework được sử dụng để thực hiện các hoạt động "pivoting" hay "lateral movement". Pivoting là một kỹ thuật được sử dụng để tiếp cận các tài nguyên và hệ thống khác trong mạng nội bộ của một tổ chức khi kẻ tấn công đã có quyền truy cập trên một máy tính trong mạng đó. Kỹ thuật này cho phép kẻ tấn công tiếp cận các tài nguyên quan trọng hơn và tìm kiếm các lỗ hổng khác trong hệ thống. Các module pivoting phổ biến bao gồm: - Port Forwarding: module này cho phép kẻ tấn công mở các cổng trên máy tính đã bị xâm nhập để tiếp tục truy cập các tài nguyên trong mạng nội bộ. - Proxying: module này cho phép kẻ tấn công sử dụng máy tính đã bị xâm nhập như một proxy để truy cập các tài nguyên trong mạng nội bộ. - VPN Tunneling: module này cho phép kẻ tấn công tạo ra một kết nối VPN để truy cập các tài nguyên trong mạng nội bộ. - Network Traffic Redirection: module này cho phép kẻ tấn công chuyển hướng lưu lượng mạng từ một máy tính đã bị xâm nhập đến các máy tính khác trong mạng nội bộ. Các module pivoting giúp kẻ tấn công truy cập vào các tài nguyên quan trọng hơn và tiếp tục tìm kiếm các lỗ hổng để tấn công. Việc sử dụng các module này cũng giúp tăng cường sức mạnh và linh hoạt cho kẻ tấn công trong quá trình tấn công hệ thống mục tiêu. Tuy nhiên, đối với các tổ chức, việc phát hiện và ngăn chặn các hoạt động pivoting là rất quan trọng để bảo vệ tài nguyên và dữ liệu của họ khỏi các cuộc tấn công. ![](https://i.imgur.com/IstyB92.png) Ở sơ đồ trên, nếu bạn có quyền truy cập quản trị trên hệ thống, bạn có thể dùng "SMB Beacon" cho phép máy hoạt động như một proxy thông qua giao thức SMB. Điều này có thể cho phép các máy trong vùng mạng bị hạn chế giao tiếp với máy chủ C2 của bạn. </details> #### Facing the world <details> <summary> Domain Fronting </summary> - Domain fronting là một kỹ thuật được sử dụng trong lĩnh vực bảo mật mạng để che giấu địa chỉ IP của các trang web hay ứng dụng mà kẻ tấn công đang truy cập, giúp họ tránh được các biện pháp chặn bị từ các tổ chức bảo mật. Kỹ thuật này được sử dụng rộng rãi trong các cuộc tấn công mạng để truy cập vào các trang web hay ứng dụng bị chặn hoặc bị kiểm soát bởi các tổ chức cấp phép hoặc chính phủ. - Domain Fronting sử dụng một máy chủ tốt, đã biết (ví dụ) Cloudflare. Red Teamers có thể lạm dụng điều này để làm cho có vẻ như một máy trạm hoặc máy chủ Victim đang liên lạc với một Địa chỉ IP đáng tin cậy, đã biết. Kết quả định vị địa lý sẽ hiển thị bất cứ nơi nào có máy chủ Cloudflare gần nhất và Địa chỉ IP sẽ hiển thị là quyền sở hữu đối với Cloudflare (không bị lộ thông tin người sở hữu tên miền và vị trí địa lý). ![](https://i.imgur.com/V4Pg3eM.png) 1. C2 server thiết lập tất cả các request thông qua Cloudflare. 2. Victim tin tưởng trao đổi qua domain host C2 server. 3. Cloudflare đóng vai trò là proxy gửi request victim cho C2 server 4. C2 server sau đó response Cloudflare bằng commands C2. 5. Sau đó, Victim nhận được commands từ Cloudflare. </details> <details> <summary> C2 Profiles </summary> - Malleable C2 là một khái niệm được đưa ra để chỉ các kỹ thuật thay đổi và tùy biến thông tin trong các kết nối C2 (Command and Control) của các phần mềm độc hại. Các kỹ thuật này được sử dụng để đánh lừa các giải pháp bảo mật mạng, giúp các kẻ tấn công duy trì và điều khiển các hệ thống đã bị xâm nhập một cách hiệu quả. - Malleable C2 HTTP Profile là một trong những cách để tùy biến các kết nối C2 thông qua các giao thức HTTP. Với Malleable C2 HTTP Profile, các kẻ tấn công có thể tùy chỉnh các thông tin trong các gói tin HTTP để giấu thông tin điều khiển và chạy các lệnh trên các máy chủ đã bị xâm nhập. - Các thông tin trong các gói tin HTTP có thể được thay đổi bao gồm các tiêu đề (headers), phần thân của yêu cầu (request body) và phần thân của phản hồi (response body). Bằng cách sử dụng các kỹ thuật tùy biến này, các kẻ tấn công có thể giả mạo các yêu cầu HTTP và phản hồi trả lại từ các máy chủ của họ, điều này làm cho các gói tin này trở nên khó phát hiện và ngăn chặn bởi các giải pháp bảo mật. ![](https://i.imgur.com/q9giPjE.png) 1. Victim beacons out tơí C2 server với custom Header trong khi SOC Analyst chỉ có normal HTTP Request 2. Request được proxy qua Cloudflare 3. C2 server nhận được response và sau đó đánh giá cách phản hồi dựa trên Cấu hình C2. 4. C2 Server responds chỉnh sửa response sao cho phù hợp đối với client hoặc SOC Analyst. </details> ![](https://i.imgur.com/VlMFlBf.png) ### Task 3: Common C2 Frameworks Tại sao nên sử dụng C2 Framework premium hoặc trả phí? Các Framework C2 trả phí thường ít bị các phần mềm chống vi-rút phát hiện hơn. Điều này không có nghĩa là không thể bị phát hiện, chỉ là các dự án C2 nguồn mở thường được hiểu rõ và Signatures có thể dễ dàng được phát triển. Thông thường, các Framework C2 trả phí thường có các mô-đun post-exploitation nâng cao hơn, các tính năng pivoting và thậm chí cả các tính năng mà đôi khi các nhà phát triển phần mềm nguồn mở có thể không đáp ứng được. Ví dụ: một tính năng mà Cobalt Strike cung cấp mà hầu hết các C2 Framework khác không có là khả năng mở VPN tunnel từ beacon. Đây có thể là một tính năng tuyệt vời nếu Proxy không hoạt động tốt trong một vài tình huống. #### Free C2 Frameworks <details> <summary> Metasploit </summary> - Metasploit do Rapid7 developed và maintain, là một trong những framework Exploitation và Post Exploitation phổ biến nhất hiện có sẵn công khai và được cài đặt hầu hết trên các bản phân phối penetration testing ![](https://i.imgur.com/1qtAzsr.png) </details> <details> <summary> Armitage </summary> - Armitage: Armitage là một giao diện đồ họa cho Metasploit Framework, nó bổ sung giao diện người dùng Đồ họa và được viết bằng Java, và cực kỳ giống với Cobalt Strike. Điều này là do cả hai đều được phát triển bởi `Raphael Mudge`. - Armitage cung cấp các tính năng như tìm kiếm lỗ hổng, tạo payload và khai thác, và quản lý kết nối từ xa. Armitage còn cung cấp một số tính năng phân tích mạng, cho phép người dùng tìm kiếm các máy tính trong mạng và phân tích các thông tin về các máy tính đó. ![](https://i.imgur.com/j9NROwN.png) </details> <details> <summary> Powershell Empire/Starkiller </summary> - PowerShell Empire là một framework post-exploitation (sau khi khai thác thành công) cho phép tin tặc triển khai các payloads và thực hiện các tác vụ post-exploitation khác trên một hệ thống đã bị tấn công. Nó cung cấp một loạt các tính năng như keylogging, privilege escalation, persistence và nhiều tính năng khác. - Starkiller là một giao diện web mã nguồn mở cho PowerShell Empire. Nó cho phép người dùng quản lý các module, biên tập kịch bản PowerShell, tạo công việc và theo dõi hoạt động của các payloads được triển khai trên các máy chủ đích. Nó cũng cung cấp các tính năng bảo mật, cho phép quản trị viên giới hạn quyền truy cập của người dùng và giám sát các hoạt động của họ. ![](https://i.imgur.com/WbkzZf7.png) </details> <details> <summary> Covenant </summary> - Covenant là một công cụ tấn công mạng mã nguồn mở được phát triển trên nền tảng .NET. Nó cung cấp một giao diện đồ họa để quản lý và kiểm soát các máy tính từ xa, giúp các nhà tấn công có thể thực hiện các tấn công mạng phức tạp một cách dễ dàng và hiệu quả. - Cho đến nay, đây là một trong những FrameWork C2 độc đáo nhất được viết bằng C#. Không giống như Metasploit/Armitage, Nó chủ yếu được sử dụng cho hoạt động hậu khai thác và lateral movement với các trình nghe HTTP, HTTPS và SMB với các agents có khả năng tùy biến cao. ![](https://i.imgur.com/2Pq9PCk.png) </details> <details> <summary> Sliver </summary> - Sliver là một công cụ tấn công mạng mã nguồn mở được phát triển bởi công ty an ninh mạng Bishop Fox. Không cung cấp giao diện đồ hoạ và làm việc trên CLI, nó viết bằng golang nhằm làm khó đội reverse. ![](https://i.imgur.com/1hUZK1l.png) </details> #### Paid C2 Frameworks <details> <summary> Cobalt Strike </summary> - Video: https://www.youtube.com/playlist?list=PLcjpg2ik7YT6H5l9Jx-1ooRYpfvznAInJ - Cobalt Strike cũng là một công cụ tấn công mạng nhưng có tính năng nâng cao hơn so với Armitage. Cobalt Strike cung cấp các tính năng tương tự như Armitage được viết bằng java nhưng còn cung cấp các tính năng phức tạp hơn, chẳng hạn như mã hóa và giải mã thông tin, tạo các kết nối mạng ẩn danh, và tạo các lệnh tùy chỉnh. Ngoài ra, Cobalt Strike còn được sử dụng như một nền tảng để xây dựng các tấn công mạng phức tạp hơn, cho phép các nhà tấn công tùy chỉnh các tấn công của mình theo nhiều cách khác nhau. - Tóm lại, Armitage là một công cụ khai thác mạng đơn giản và dễ sử dụng, trong khi Cobalt Strike là một công cụ phức tạp hơn với nhiều tính năng nâng cao để hỗ trợ các cuộc tấn công mạng phức tạp. ![](https://i.imgur.com/zEHhNpA.png) </details> <details> <summary> Brute Ratel </summary> - Video: https://bruteratel.com/tabs/tutorials/ - Brute Ratel của Chetan Nayak hoặc Paranoid Ninja là một Command and Control framework được bán trên thị trường dưới dạng "Customizable Command and Control Center" or "C4 framework". ![](https://i.imgur.com/EpIa73G.jpg) </details>