Khái niệm “Tấn công & phòng thủ Kill Chain trong Active Directory” là một cách tiếp cận có cấu trúc để hiểu chuỗi sự kiện hoặc giai đoạn liên quan đến cuộc tấn công Active Directory (AD) và các biện pháp phòng thủ tương ứng để chống lại hoặc ngăn chặn các cuộc tấn công đó. Microsoft đã phát triển dịch vụ Active Directory cho mạng miền Windows để quản lý tài nguyên và người dùng trong cài đặt công ty.
Để học và thực hành về vấn đề này có mô hình lab GOAT rất tuyệt vời, mọi người hãy tham khảo qua một số video BQT trình bày cũng như trên Youtube của ITSecurityLab và tải + cài đặt từ Github
Bạn cũng có thể tải xuống Mẫu kế hoạch ứng phó sự cố để ngăn chặn các cuộc tấn công dựa trên thư mục hoạt động. Dưới đây là thông tin chi tiết về một Attack Kill Chain Active Directory điển hình và cách phòng thủ của nó:
Trinh sát:
Tấn công : Kẻ tấn công thu thập thông tin về mạng mục tiêu, cấu trúc, tên miền, tên máy và tài khoản người dùng.
Phòng thủ : Hạn chế tiếp xúc thông tin. Sử dụng phân đoạn mạng và theo dõi khả năng hiển thị thư mục.
Thỏa hiệp ban đầu:
Tấn công : Kẻ tấn công khai thác lỗ hổng để có được quyền truy cập ban đầu. Điều này có thể thông qua lừa đảo, khai thác mật khẩu yếu hoặc lỗ hổng chưa được vá.
Phòng thủ : Thực hiện các chính sách mật khẩu mạnh, vá lỗi thường xuyên, đào tạo nâng cao nhận thức cho nhân viên và sử dụng xác thực đa yếu tố.
Tạo dựng chỗ đứng:
Tấn công : Sau khi có được quyền truy cập, kẻ tấn công sẽ thiết lập chỗ đứng bằng cách tạo cửa sau, tạo tài khoản mới hoặc cài đặt phần mềm độc hại.
Bảo vệ : Sử dụng các công cụ phản hồi và phát hiện điểm cuối, thường xuyên kiểm tra tài khoản và quyền cũng như giám sát các hoạt động bất thường.
Nâng cao đặc quyền:
Tấn công : Kẻ tấn công cố gắng giành được các đặc quyền cấp cao hơn, thường nhắm mục tiêu vào tài khoản quản trị viên hoặc khai thác các lỗ hổng hệ thống.
Bảo vệ : Áp dụng nguyên tắc đặc quyền tối thiểu, tiến hành kiểm tra đặc quyền thường xuyên và sử dụng các giải pháp quản lý quyền truy cập đặc quyền.
Trinh sát nội bộ:
Tấn công : Với đặc quyền cao hơn, kẻ tấn công khám phá mạng sâu hơn để xác định các mục tiêu có giá trị cao (như bộ điều khiển miền).
Phòng thủ : Phân đoạn mạng, giám sát lưu lượng mạng và sử dụng hệ thống phát hiện xâm nhập.
Di chuyển theo chiều ngang:
Tấn công : Kẻ tấn công di chuyển qua mạng, truy cập vào các hệ thống khác và có khả năng phát tán phần mềm độc hại.
Phòng thủ : Thực hiện kiểm soát truy cập nghiêm ngặt, giám sát các chuyển động bên và sử dụng các công cụ bảo mật mạng.
Duy trì sự hiện diện:
Tấn công : Kẻ tấn công thiết lập các phương pháp để duy trì sự hiện diện của chúng trong mạng, ngay cả khi một số điểm truy cập của chúng bị phát hiện và đóng lại.
Phòng thủ : Giám sát liên tục, quét mạng thường xuyên và lập kế hoạch ứng phó sự cố.
Hoàn thành nhiệm vụ:
Tấn công : Kẻ tấn công đạt được mục tiêu của mình, đó có thể là đánh cắp dữ liệu, mã hóa dữ liệu để đòi tiền chuộc hoặc gây gián đoạn hoạt động.
Bảo vệ : Các công cụ ngăn ngừa mất dữ liệu, sao lưu thường xuyên và chiến lược ứng phó sự cố toàn diện.
Việc hiểu và bảo vệ trước từng giai đoạn của chuỗi tiêu diệt Active Directory đòi hỏi sự kết hợp của các biện pháp kiểm soát kỹ thuật, chính sách bảo mật và đào tạo người dùng liên tục. Giám sát liên tục, ứng phó sự cố nhanh chóng và đánh giá thường xuyên các biện pháp bảo mật là rất cần thiết trong việc giảm thiểu rủi ro của các cuộc tấn công như vậy.
Ở đây, chúng tôi đang trình bày chi tiết về các chiến thuật, kỹ thuật và quy trình (TTP) mà những kẻ tấn công tận dụng để xâm phạm thư mục hoạt động và hướng dẫn giảm thiểu, phát hiện và ngăn chặn. Và hiểu về Tấn công chuỗi tiêu diệt Active Directory và Hoạt động thương mại của đối thủ khai thác sau hiện đại.
Cách bảo mật các cuộc tấn công Active Directory
Danh sách kiểm tra kỹ lưỡng là rất quan trọng để bảo vệ Active Directory (AD) khỏi các mối đe dọa. Đây là một cách tiếp cận có phương pháp:
Cập nhật và vá lỗi thường xuyên: Đảm bảo rằng tất cả các hệ thống, đặc biệt là những hệ thống sử dụng Active Directory, đều được vá lỗi và cập nhật các bản cập nhật bảo mật mới nhất một cách thường xuyên.
Bộ điều khiển miền (DC) được bảo mật về mặt vật lý và có trách nhiệm giới hạn đối với các dịch vụ AD được gọi là bộ điều khiển miền an toàn. Tránh xa các mục đích sử dụng thay thế cho DC.
Thiết lập chính sách mạnh mẽ về mật khẩu: Mật khẩu phải phức tạp và thay đổi thường xuyên. Để tăng cường bảo mật, bạn có thể cân nhắc sử dụng cụm mật khẩu và xác thực đa yếu tố (MFA).
Theo dõi tài khoản người dùng: Nếu bạn thấy bất kỳ tài khoản nào không được sử dụng hoặc có quá nhiều quyền, hãy tắt chúng.
Giới hạn tài khoản đặc quyền: Giảm số lượng người dùng có quyền truy cập quản trị là một biện pháp bảo mật quan trọng. Giới hạn quyền truy cập của người dùng vào những gì mô tả công việc của họ yêu cầu theo khái niệm đặc quyền tối thiểu.
Giám sát và kiểm tra thông tin đăng nhập và hoạt động: Thực hiện các biện pháp để giám sát và kiểm tra tất cả thông tin đăng nhập và hoạt động, đặc biệt là những hoạt động sử dụng tài khoản đặc quyền. Hãy để ý tới bất cứ điều gì khác thường có thể cho thấy một cuộc tấn công đang diễn ra.
Bảo mật quyền truy cập mạng vào AD: Bảo vệ Active Directory bằng cách hạn chế quyền truy cập vào máy chủ trên mạng. Chặn tất cả những người dùng cần thiết truy cập mạng bằng cách sử dụng tường lửa và phân đoạn mạng.
Sử dụng Chính sách nhóm và Đơn vị tổ chức: Áp dụng Chính sách nhóm cho cài đặt bảo mật và sắp xếp tài nguyên trong Đơn vị tổ chức (OU) để đảm bảo rằng cấu hình bảo mật của mạng nhất quán.
Sao lưu dữ liệu và khắc phục thảm họa: Sao lưu Active Directory thường xuyên và chuẩn bị cho tình huống xấu nhất. Thường xuyên đánh giá quá trình sao lưu và phục hồi của bạn.
Giáo dục người dùng: Hướng dẫn nhân viên cách phát hiện và tránh lừa đảo cũng như các mối đe dọa kỹ thuật xã hội khác. Nâng cao nhận thức có thể làm giảm đáng kể khả năng xảy ra các vụ tấn công thành công.
Thực hiện kiểm tra bảo mật môi trường Active Directory của bạn thường xuyên và kiểm tra việc tuân thủ các tiêu chuẩn bảo mật hiện hành và các biện pháp thực hành tốt nhất.
Nghĩ đến việc triển khai các giải pháp bảo mật tiên tiến: Nghĩ đến việc triển khai các giải pháp bảo mật tiên tiến như SIEM, IDS/IPS và Nền tảng bảo vệ điểm cuối.
Tăng cường cấu hình Active Directory: Triển khai các biện pháp bảo mật được đề xuất để thiết lập Active Directory, chẳng hạn như bảo vệ Giao thức truy cập thư mục hạng nhẹ (LDAP) và bắt buộc chữ ký Khối thông báo máy chủ (SMB) bất cứ khi nào khả thi.
Kiểm soát truy cập vật lý: Chỉ giới hạn quyền truy cập vật lý vào máy chủ và thiết bị mạng khác cho những người được ủy quyền.
Luôn cập nhật về các mối đe dọa mới nổi: Luôn cập nhật cho mình các mối đe dọa mới nổi bằng cách đọc các vectơ tấn công mới và các lỗ hổng có thể ảnh hưởng đến AD. Sau đó, sửa đổi các thủ tục bảo mật của bạn một cách thích hợp.
Nếu muốn giữ an toàn cho hệ thống Active Directory của mình, bạn cần xem lại và cập nhật danh sách kiểm tra này thường xuyên để giải quyết các mối đe dọa mới và những thay đổi về tổ chức.
Danh sách tham khảo Toàn diện tấn công Active Directory
Quét SPN
- Quét SPN – Khám phá dịch vụ mà không cần quét cổng mạng
- Active Directory: Tập lệnh PowerShell để liệt kê tất cả SPN được sử dụng
- Khám phá tài khoản dịch vụ mà không cần sử dụng đặc quyền
Khai thác dữ liệu
- Tổng quan về săn tìm dữ liệu
- Đẩy nó đi, đẩy nó thật tốt
- Tìm dữ liệu nhạy cảm trên máy chủ SQL miền bằng PowerUpSQL
- Khám phá dữ liệu nhạy cảm trong email với MailSniper
- Tìm kiếm từ xa các tệp nhạy cảm
- Tôi Săn Sysadmins – harmj0y
Săn người dùng (xem cách cài mới rất dễ ở video sau)
- Tài khoản quản trị ẩn: BloodHound to the Rescue
- Recon Active Directory không có quyền quản trị viên
- Thu thập dữ liệu AD bằng mô-đun Active Directory PowerShell
- Sử dụng mô-đun ActiveDirectory để liệt kê tên miền từ Chế độ ngôn ngữ ràng buộc PowerShell
- Chức năng điều chỉnh lại PowerUpSQL Active Directory
- Quản trị viên địa phương phái sinh
- Tìm kiếm quản trị viên phái sinh tự động
- Kết xuất thông tin miền Active Directory – với PowerUpSQL!
- Bảng liệt kê nhóm cục bộ
- Lập bản đồ tấn công với Bloodhound
- Nhận thức tình huống
- Các lệnh xâm phạm mạng miền
- Hướng dẫn của Pentester về phạm vi nhóm
Pivot
- Microsoft LAPS Security & Active Directory LAPS Cấu hình Recon
- Chạy LAPS với PowerView
- RastaMouse LAPS Phần 1 & 2
AppLocker
Dịch vụ liên kết Active Directory
- 118 Tấn công điểm cuối ADFS bằng PowerShell Karl Fosaaen
- Sử dụng PowerShell để xác định các miền liên kết
- LyncSniper: Công cụ kiểm tra thâm nhập triển khai Skype for Business và Lync
- Quân nhân 19 – Tôi là AD FS và bạn cũng vậy
Nâng cao đặc quyền
Lạm dụng dịch vụ chứng chỉ Active Directory
PetitPotam
- PetitPotam
- Từ Stranger đến DA // Sử dụng chuyển tiếp PetitPotam sang NTLM tới Quản trị viên tên miền
Zerologon
- Cobalt Strike ZeroLogon-BOF
- CVE-2020-1472 POC
- Zerologon: ngay lập tức trở thành quản trị viên miền bằng cách phá hủy mật mã Netlogon (CVE-2020-1472)
Mật khẩu trong SYSVOL & Tùy chọn chính sách nhóm
- Tìm mật khẩu trong SYSVOL & Khai thác tùy chọn chính sách nhóm
- Pentesting trong thế giới thực: Pwnage chính sách nhóm
Lỗ hổng Kerberos MS14-068
- MS14-068: Lỗ hổng trong Kerberos (Active Directory) có thể cho phép nâng cao đặc quyền
- Đi sâu vào MS14-068, Khai thác và phòng thủ
- Từ MS14-068 đến thỏa hiệp hoàn toàn – Từng bước
Quản trị viên DNS
- Lạm dụng đặc quyền DNSAdmins để leo thang trong Active Directory
- Từ quản trị viên DNS đến quản trị viên miền, khi quản trị viên DNS không chỉ là quản trị DNS
Phái đoàn Kerberos
- Xây dựng các cuộc tấn công Kerberos với các nguyên tắc ủy quyền
- Không cần vỏ – Hướng dẫn sử dụng Impacket và Kerberos để ủy quyền theo cách của bạn cho DA
- CVE-2020-17049: Tấn công bit đồng Kerberos – Tổng quan
Ủy quyền không giới hạn
- Máy chủ in bộ điều khiển miền + Ủy quyền Kerberos không bị ràng buộc = Rừng thư mục hoạt động Pwned
- Rủi ro bảo mật Active Directory #101: Ủy quyền không bị giới hạn Kerberos (hoặc mức độ xâm phạm của một máy chủ có thể xâm phạm miền)
- Quyền ủy quyền không bị giới hạn
- Lòng tin? Số năm kiếm được, số giây để phá vỡ
- Săn tìm trong Active Directory: Ủy thác không giới hạn & Quỹ tín thác
- Khai thác ủy quyền không bị giới hạn
Ủy quyền bị ràng buộc
Ủy quyền hạn chế dựa trên tài nguyên
- Wagging the Dog: Lạm dụng ủy quyền hạn chế dựa trên tài nguyên để tấn công Active Directory
- Ủy quyền ràng buộc dựa trên tài nguyên Kerberos: Đối tượng máy tính tiếp quản
- Ủy quyền hạn chế dựa trên tài nguyên
- Một nghiên cứu điển hình về việc vẫy chó: Tiếp quản máy tính
- Cuộc tấn công chiếm quyền điều khiển máy tính mới của BloodHound 2.1
Quyền cấp phép đối tượng chính sách nhóm không an toàn
- Lạm dụng quyền GPO
- Hướng dẫn của Red Team về GPO và OU
- Mẫu tệp cho việc lạm dụng GPO
- Lạm dụng GPO – Phần 1
- Lạm dụng GPO – Phần 2
- SharpGPOLạm dụng
Quyền cấp phép ACL không an toàn
- Khai thác quyền của Active Directory yếu với Powersploit
- Nâng cao đặc quyền với ACL trong Active Directory
- Lạm dụng quyền Active Directory với PowerView
- BloodHound 1.3 – Cập nhật đường dẫn tấn công ACL
- Quét đặc quyền Active Directory & tài khoản đặc quyền
- Danh sách kiểm soát truy cập Active Directory – Tấn công và phòng thủ
- aclpwn – Khai thác ACL Active Directory với BloodHound
Ủy thác tên miền
DCShadow
- Nâng cao đặc quyền với DCShadow
- DCShadow
- DCShadow giải thích: Đi sâu kỹ thuật vào kỹ thuật tấn công AD mới nhất
- DCShadow – Tắt âm thầm kiểm tra Active Directory
- DCShadow – Quyền tối thiểu, Lừa đảo Active Directory, Shadowception và hơn thế nữa
THOÁT KHỎI
Máy chủ Microsoft SQL
- Cách nhận Đặc quyền Sysadmin của SQL Server với tư cách Quản trị viên cục bộ với PowerUpSQL
- Thỏa hiệp với Powerupsql – Tấn công Sql
Rừng Đỏ
Trao đổi
- Exchange-AD-Privesc
- Lạm dụng Exchange: Chỉ cần một lệnh gọi API từ Quản trị viên miền
- NtlmTiếp sứcToEWS
Rơle NTLM & LLMNR/NBNS
- Pwning with Replyer – Hướng dẫn dành cho Pentester
- Hướng dẫn thực hành NTLM Relaying năm 2017 (AKA có chỗ đứng trong vòng chưa đầy 5 phút)
- Chuyển tiếp thông tin đăng nhập ở mọi nơi với ntlmrelayx
- Ngoài việc giả mạo LLMNR/NBNS – Khai thác DNS tích hợp Active Directory
- Kết hợp Chuyển tiếp NTLM và ủy quyền Kerberos
- mitm6 – xâm phạm mạng IPv4 qua IPv6
- Điều tồi tệ nhất của cả hai thế giới: Kết hợp NTLM Relaying và ủy quyền Kerberos
Chuyển động bên
Liên kết cơ sở dữ liệu Microsoft SQL Server
- Máy chủ SQL – Liên kết… Liên kết… Liên kết… và Shell: Cách hack các liên kết cơ sở dữ liệu trong SQL Server!
- Thu thập thông tin liên kết máy chủ SQL với PowerUpSQL
Vượt qua hàm băm
- Thực hiện các cuộc tấn công pass-the-hash với Mimikatz
- Cách chuyển Hash với Mimikatz
- Pass-the-Hash đã chết: LocalAccountTokenFilterPolicy tồn tại lâu dài
Trình quản lý cấu hình trung tâm hệ thống (SCCM)
- Thỏa hiệp với máy trạm được nhắm mục tiêu với Sccm
- PowerSCCM – Mô-đun PowerShell để tương tác với việc triển khai SCCM
WSUS
Xịt mật khẩu
- Xịt mật khẩu các tài khoản Active Directory của Windows – Tradecraft Security Weekly #5
- Tấn công Exchange bằng MailSniper
- Công cụ phun mật khẩu cho thông tin xác thực Active Directory của Jacob Wilkin
- Bộ công cụ phun
Chuyển động bên tự động
- GoFetch là công cụ tự động thực hiện kế hoạch tấn công do ứng dụng BloodHound tạo ra
- DeathStar – Tự động lấy Domain Admin bằng Empire
- ANGRYPUPPY – Tự động hóa đường tấn công của Bloodhound trong CobaltStrike
Né tránh phòng thủ
Trốn tránh trong bộ nhớ
- Vượt qua máy quét bộ nhớ bằng Cobalt Strike và Gargoyle
- Khóa học trốn tránh trong bộ nhớ
- Mang đất của riêng bạn (BYOL) – Một kỹ thuật hợp tác mới lạ của màu đỏ
Lẩn tránh phát hiện và phản hồi điểm cuối (EDR)
- Đội đỏ trong thời đại EDR
- Sharp-Suite – Giả mạo đối số quy trình
- Chiến thuật của Đội Đỏ: Kết hợp Lệnh gọi hệ thống trực tiếp và sRDI để vượt qua AV/EDR
- Dechaining Macros và trốn tránh EDR
- Bỏ qua việc bảo vệ bộ nhớ của EDR, giới thiệu về hooking
- Bỏ qua Cylance và các AV/EDR khác bằng cách gỡ bỏ API Windows
- Xi lanh im lặng: Một nghiên cứu điển hình về EDR hiện đại
OPSEC
Trốn tránh Microsoft ATA & ATP
Bỏ qua ghi nhật ký khối PowerShell Script
Bỏ qua giao diện quét chống phần mềm độc hại PowerShell (AMSI)
- Cách vượt qua AMSI và thực thi BẤT KỲ mã Powershell độc hại nào
- AMSI: Cách Windows 10 lên kế hoạch ngăn chặn các cuộc tấn công dựa trên tập lệnh
- Bỏ qua AMSI: Kỹ thuật vá lỗi
- Invisi-Shell – Ẩn tập lệnh Powershell của bạn ở nơi dễ thấy. Bỏ qua tất cả các tính năng bảo mật của Powershell
- Microsoft Office 365 AMSI động trong bỏ qua bộ nhớ bằng VBA
- Vượt qua AmsiScanBuffer – Phần 1
- Đường vòng AMSI
Đang tải .NET Assemblies Bỏ qua giao diện quét phần mềm độc hại (AMSI)
AppLocker & Bỏ qua bảo vệ thiết bị
Trốn tránh hệ thống
- Phá hoại Sysmon: Áp dụng Phương pháp Lẩn tránh Sản phẩm Bảo mật Chính thức
- sysmon-config-bypass-finder
- Shhmon — Tắt tiếng Sysmon thông qua việc dỡ bỏ trình điều khiển
Trốn tránh HoneyTokens
Vô hiệu hóa các công cụ bảo mật
Bán phá giá thông tin xác thực
Trích xuất mật khẩu NTDS.DIT
- Cách kẻ tấn công lấy cơ sở dữ liệu Active Directory (NTDS.dit) từ bộ điều khiển miền
- Trích xuất băm mật khẩu từ tệp Ntds.dit
SAM (Người quản lý tài khoản bảo mật)
Kerberoasting
- Kerberoasting không có Mimikatz
- Bẻ khóa Kerberos TGS Ticket bằng Kerberoast – Khai thác Kerberos để xâm phạm miền Active Directory
- Trích xuất mật khẩu tài khoản dịch vụ bằng Kerberoasting
- Bẻ khóa mật khẩu tài khoản dịch vụ bằng Kerberoasting
- Danh sách Kerberoast PW để bẻ khóa mật khẩu có yêu cầu phức tạp
- DerbyCon 2019 – Xem lại Kerberoasting
Kerberos AP-REP Rang
Trình quản lý thông tin xác thực Windows/Vault
- Hướng dẫn hoạt động đối với hành vi lạm dụng DPAPI của người dùng mang tính xúc phạm
- Nhảy phân chia mạng bằng RDP
DCSync
- Mimikatz và DCSync và ExtraSids, Ôi trời
- Cách sử dụng, khai thác và phát hiện DCSync của Mimikatz
- Kết xuất mật khẩu văn bản rõ ràng cho tất cả quản trị viên trong miền bằng Mimikatz DCSync
Ngộ độc LLMNR/NBT-NS
Người khác
Kiên trì
Vé vàng
Lịch sử SID
Vé Bạc
- Cách kẻ tấn công sử dụng vé Kerberos Silver để khai thác hệ thống
- Kiên trì Active Directory lén lút #16: Tài khoản máy tính & Bộ điều khiển miền Vé bạc
DCShadow
Quản trị viênSDHolder
- Kiên trì Active Directory lén lút #15: Tận dụng AdminSDHolder & SDProp để (Re) Giành được quyền quản trị miền
- Kiên trì sử dụng Adminsdholder và Sdprop
Đối tượng chính sách nhóm
Chìa khóa xương
- Mở khóa tất cả các cánh cửa dẫn đến Active Directory bằng cuộc tấn công Skeleton Key
- Chìa khóa xương
- Những kẻ tấn công hiện có thể sử dụng Mimikatz để cấy Skeleton Key vào Bộ điều khiển miền & Cửa hậu Rừng thư mục hoạt động của bạn
SeEnableDelegationĐặc quyền
- Người dùng nguy hiểm nhất mà bạn (có thể) chưa bao giờ nghe nói đến
- SeEnableDelegationPrivilege Active Directory Backdoor
Nhà cung cấp hỗ trợ bảo mật
Chế độ khôi phục dịch vụ thư mục
- Lén lút Active Directory Persistence #11: Chế độ khôi phục dịch vụ thư mục (DSRM)
- Kiên trì Active Directory lén lút #13: Kiên trì DSRM v2
ACL & Bộ mô tả bảo mật
- Một ACE nâng cao: Thiết kế các cửa hậu DACL của Active Directory
- Quản trị viên bóng tối – Những tài khoản lén lút mà bạn nên lo sợ nhất
- Những rủi ro ngoài ý muốn của việc tin cậy Active Directory
Công cụ & tập lệnh
- Chứng nhận – Chứng nhận là một công cụ C# để liệt kê và lạm dụng các cấu hình sai trong Dịch vụ Chứng chỉ Active Directory (AD CS).
- PSPKIAudit – Bộ công cụ PowerShell để kiểm tra Dịch vụ chứng chỉ Active Directory (AD CS).
- PowerView – Khung PowerShell nhận thức tình huống
- BloodHound – Sáu cấp độ quản trị tên miền
- Impacket – Impacket là tập hợp các lớp Python để làm việc với các giao thức mạng
- aclpwn.py – Khai thác ACL Active Directory với BloodHound
- CrackMapExec – Một con dao quân đội Thụy Sĩ dành cho các mạng pentest
- ADACLScanner – Một công cụ có GUI hoặc lệnh linte được sử dụng để tạo báo cáo về danh sách kiểm soát truy cập (DACL) và danh sách kiểm soát truy cập hệ thống (SACL) trong Active Directory
- zBang – zBang là công cụ đánh giá rủi ro nhằm phát hiện các mối đe dọa tài khoản đặc quyền tiềm ẩn
- SafetyKatz – SafetyKatz là sự kết hợp giữa phiên bản sửa đổi một chút của dự án Mimikatz của @gentilkiwi và .NET PE Loader của @subTee.
- SharpDump – SharpDump là cổng C# của chức năng Out-Minidump.ps1 của PowerSploit.
- PowerUpSQL – Bộ công cụ PowerShell để tấn công máy chủ SQL
- Rubeus – Rubeus là bộ công cụ C# dành cho tương tác và lạm dụng Kerberos thô
- ADRecon – Một công cụ thu thập thông tin về Active Directory và tạo báo cáo có thể cung cấp bức tranh tổng thể về trạng thái hiện tại của môi trường AD mục tiêu
- Mimikatz – Tiện ích trích xuất mật khẩu văn bản gốc, mã băm, mã PIN và vé kerberos từ bộ nhớ nhưng cũng thực hiện pass-the-hash, pass-the-ticket hoặc xây dựng Golden ticket
- Grouper – Tập lệnh PowerShell giúp tìm các cài đặt dễ bị tấn công trong Chính sách nhóm AD.
- Powermad – Công cụ khai thác DNS và PowerShell MachineAccountQuota
- RACE – RACE là mô-đun PowerShell để thực hiện các cuộc tấn công ACL chống lại các mục tiêu Windows.
- DomainPasswordSpray – DomainPasswordSpray là một công cụ được viết bằng PowerShell để thực hiện cuộc tấn công dò mật khẩu chống lại người dùng tên miền.
- MailSniper – MailSniper là một công cụ kiểm tra thâm nhập để tìm kiếm qua email trong môi trường Microsoft Exchange với các thuật ngữ cụ thể (mật khẩu, thông tin nội bộ, thông tin kiến trúc mạng, v.v.)
- LAPSToolkit – Công cụ kiểm tra và tấn công môi trường LAPS.
- CredDefense – Bảo vệ thông tin xác thực và nhóm đỏ cho môi trường Windows
- ldapdomaindump – Trình kết xuất thông tin Active Directory qua LDAP
- SpoolSample – Công cụ PoC để ép buộc các máy chủ Windows xác thực với các máy khác thông qua giao diện RPC MS-RPRN
- adconnectdump – Trích xuất mật khẩu Azure AD Connect
- o365recon – Tập lệnh lấy thông tin qua O365 với thông tin xác thực hợp lệ
- ROADtools – ROADtools là một framework để tương tác với Azure AD. TÔI
- Stormspotter – Stormspotter tạo “biểu đồ tấn công” của các tài nguyên trong đăng ký Azure.
- AADInternals – AADInternals là mô-đun PowerShell để quản trị Azure AD và Office 365
- MicroBurst: Bộ công cụ PowerShell để tấn công Azure – MicroBurst bao gồm các chức năng và tập lệnh hỗ trợ khám phá Dịch vụ Azure, kiểm tra cấu hình yếu và các hành động khai thác sau như bán phá giá thông tin xác thực.
Sách điện tử
- Cẩm nang của người thì thầm với chó – Hướng dẫn của hacker về thiên hà BloodHound
- Sách điện tử Varonis: Kiểm tra bút trong môi trường Active Directory
Bảng cheat
- Công cụ Cheat Sheet – Công cụ (PowerView, PowerUp, Empire và PowerSploit)
- DogWhisperer – Bảng cheat Cypher BloodHound (v2)
- Mẹo và thủ thuật PowerView-3.0
- Mẹo và thủ thuật PowerView-2.0
- BloodhoundAD-Truy vấn
- Bảng cheat tấn công Kerberos
- Bảng tính Cypher Bloodhound
- Bảng tính Kerberos
- Bảng khai thác Active Directory
Các nguồn lực khác
- Chiến thuật, kỹ thuật và quy trình tấn công Active Directory BlackHat Asia 2019
- Hướng dẫn về Bloodhound. Một công cụ cho nhiều ngành nghề
- Các phương thức tấn công để giành quyền quản trị miền trong Active Directory
- PowerShell đã chết
- Tìm đường đi của chúng tôi: Cách chúng tôi đang cố gắng cải thiện tính bảo mật của Active Directory
- SteelCon 2019: Trở nên hấp dẫn với Kerberos – Ross Bingham và Tom MacDonald
- Hội thảo bảo mật AD
Thư mục hoạt động Azure
- GIỚI THIỆU QUẢNG CÁO AZURE DÀNH CHO ĐỘI ĐỎ
- Tôi đang ở trên đám mây của bạn… đọc email của mọi người. Hack Azure AD qua Active Directory
- Sử dụng dịch vụ Azure cho sự tham gia của nhóm đỏ
- Đám mây xanh chết chóc: Đội đỏ Azure
- Azure AD Connect dành cho Red Teamers
- Red Teaming Microsoft: Phần 1 – Rò rỉ Active Directory qua Azure
- Tấn công và bảo vệ đám mây của Microsoft
- Cách tạo cửa sau vào Azure AD
- Bảng tính Cypher của Azurehound
- Chìa khóa vương quốc: Đóng vai Chúa làm quản trị viên toàn cầu
Phòng thủ & Phát hiện
Công cụ & tập lệnh
- Invoke-TrimarcADChecks – Tập lệnh Invoke-TrimarcADChecks.ps1 PowerShell được thiết kế để thu thập dữ liệu từ một nhóm AD miền duy nhất để thực hiện Đánh giá bảo mật Active Directory (ADSA).
- Tạo các tầng trong AD – Tiêu đề dự án Active Directory Tự động triển khai các tầng trong mọi môi trường
- SAMRi10 – Tăng cường khả năng truy cập từ xa SAM trong Windows 10/Server 2016
- Net Stop – Tăng cường liệt kê phiên Net
- PingCastle – Một công cụ được thiết kế để đánh giá nhanh mức độ bảo mật Active Directory bằng phương pháp dựa trên đánh giá rủi ro và khung trưởng thành
- Máy quét DC từ xa phần mềm độc hại Aorato Skeleton Key – Quét từ xa để tìm sự tồn tại của Phần mềm độc hại Skeleton Key
- Đặt lại mật khẩu/khóa tài khoản krbtgt – Tập lệnh này sẽ cho phép bạn đặt lại mật khẩu tài khoản krbtgt và các khóa liên quan đồng thời giảm thiểu khả năng xảy ra sự cố xác thực Kerberos do thao tác này gây ra
- Đặt lại mật khẩu/khóa tài khoản KrbTgt cho RWDC/RODC
- RiskySPN – RiskySPN là tập hợp các tập lệnh PowerShell tập trung vào việc phát hiện và lạm dụng các tài khoản được liên kết với SPN (Tên chính của dịch vụ).
- Triển khai-Deception – Mô-đun PowerShell để triển khai các đối tượng giải mã thư mục hoạt động
- SpoolerScanner – Kiểm tra xem MS-RPRN có khả dụng từ xa hay không bằng powershell/c#
- dcept – Công cụ triển khai và phát hiện việc sử dụng honeytoken Active Directory
- Log onTracer – Điều tra hoạt động đăng nhập Windows độc hại bằng cách trực quan hóa và phân tích nhật ký sự kiện Windows
- DCSYNCMonitor – Giám sát các cuộc tấn công DCSYNC và DCSHADOW và tạo Sự kiện Windows tùy chỉnh cho các sự kiện này
- Sigma – Định dạng chữ ký chung cho hệ thống SIEM
- Sysmon – System Monitor (Sysmon) là trình điều khiển thiết bị và dịch vụ hệ thống Windows, sau khi được cài đặt trên hệ thống, vẫn tồn tại trong các lần khởi động lại hệ thống để giám sát và ghi nhật ký hoạt động của hệ thống vào nhật ký sự kiện Windows.
- SysmonSearch – Điều tra hoạt động đáng ngờ bằng cách trực quan hóa nhật ký sự kiện của Sysmon
- ClrGuard – ClrGuard là một dự án bằng chứng về khái niệm nhằm khám phá việc trang bị Thời gian chạy ngôn ngữ chung (CLR) cho mục đích bảo mật.
- Get-ClrReflection – Phát hiện các mô-đun CLR (.NET) chỉ có bộ nhớ.
- Get-InjectedThread – Get-InjectedThread xem xét từng luồng đang chạy để xác định xem đó có phải là kết quả của việc tiêm bộ nhớ hay không.
- SilkETW – SilkETW & SilkService là các trình bao bọc C# linh hoạt cho ETW, chúng nhằm mục đích trừu tượng hóa sự phức tạp của ETW và cung cấp cho mọi người một giao diện đơn giản để thực hiện nghiên cứu và xem xét nội tâm.
- WatchAD – Hệ thống phát hiện xâm nhập bảo mật AD
- Sparrow – Nhóm Điều tra đám mây của CISA đã tạo Sparrow.ps1 để giúp phát hiện các tài khoản và ứng dụng có thể bị xâm phạm trong môi trường Azure/m365.
- DFIR-O365RC – Mô-đun PowerShell DFIR-O365RC là một tập hợp các chức năng cho phép nhà phân tích DFIR thu thập nhật ký liên quan đến các cuộc điều tra Lấn chiếm email doanh nghiệp của Office 365.
- AzureADIncidentResponse – Công cụ hỗ trợ ứng phó sự cố Azure AD
- ADTimeline – Tập lệnh ADTimeline tạo dòng thời gian dựa trên siêu dữ liệu sao chép Active Directory cho các đối tượng được coi là quan tâm.
Cấu hình hệ thống
- sysmon-module – Kho lưu trữ cấu hình Sysmon để mọi người tùy chỉnh
- sysmon-dfir – Nguồn, cấu hình và cách phát hiện những thứ xấu xa bằng cách sử dụng Microsoft Sysmon.
- sysmon-config – Mẫu tệp cấu hình Sysmon với tính năng theo dõi sự kiện chất lượng cao mặc định
Kiểm tra bảo mật Active Directory (bởi Sean Metcalf – @Pyrotek3)
Khuyến nghị chung
- Quản lý mật khẩu Quản trị viên cục bộ (LAPS).
- Triển khai chế độ Quản trị viên hạn chế RDP (nếu cần).
- Loại bỏ các hệ điều hành không được hỗ trợ khỏi mạng.
- Giám sát các tác vụ theo lịch trình trên các hệ thống nhạy cảm (DC, v.v.).
- Đảm bảo rằng mật khẩu quản lý OOB (DSRM) được thay đổi thường xuyên và lưu trữ an toàn.
- Sử dụng SMB v2/v3+
- Mật khẩu Quản trị viên miền & KRBTGT mặc định phải được thay đổi hàng năm và khi quản trị viên AD rời đi.
- Xóa các tin cậy không còn cần thiết và bật tính năng lọc SID nếu thích hợp.
- Tất cả xác thực tên miền phải được đặt (khi có thể) thành: “Gửi phản hồi NTLMv2 chỉ từ chối LM & NTLM”.
- Chặn truy cập internet đối với DC, máy chủ và tất cả hệ thống quản trị.
Bảo vệ thông tin xác thực của quản trị viên
- Không có tài khoản “người dùng” hoặc máy tính trong nhóm quản trị.
- Đảm bảo tất cả tài khoản quản trị viên đều “nhạy cảm và không thể ủy quyền”.
- Thêm tài khoản quản trị viên vào nhóm “Người dùng được bảo vệ” (yêu cầu Bộ kiểm soát miền Windows Server 2012 R2, 2012R2 DFL để bảo vệ miền).
- Vô hiệu hóa tất cả tài khoản quản trị viên không hoạt động và xóa khỏi các nhóm đặc quyền.
Bảo vệ thông tin xác thực của quản trị viên AD
- Giới hạn tư cách thành viên quản trị viên AD (DA, EA, Quản trị viên lược đồ, v.v.) và chỉ sử dụng các nhóm ủy quyền tùy chỉnh.
- Quản trị ‘theo cấp’ giảm thiểu tác động trộm cắp thông tin xác thực.
- Đảm bảo quản trị viên chỉ đăng nhập vào máy chủ và máy trạm quản trị viên đã được phê duyệt.
- Tận dụng tư cách thành viên nhóm tạm thời, dựa trên thời gian cho tất cả tài khoản quản trị viên
Bảo vệ thông tin xác thực tài khoản dịch vụ
- Giới hạn ở các hệ thống có cùng mức độ bảo mật.
- Tận dụng “Tài khoản dịch vụ được quản lý (Nhóm)” (hoặc PW >20 ký tự) để giảm thiểu hành vi trộm cắp thông tin xác thực (kerberoast).
- Triển khai FGPP (DFL =>2008) để tăng yêu cầu PW cho SA và quản trị viên.
- Hạn chế đăng nhập – ngăn chặn đăng nhập tương tác và giới hạn khả năng đăng nhập vào các máy tính cụ thể.
- Vô hiệu hóa các SA không hoạt động và xóa khỏi các nhóm đặc quyền.
Bảo vệ tài nguyên
- Phân đoạn mạng để bảo vệ quản trị viên và các hệ thống quan trọng.
- Triển khai IDS để giám sát mạng nội bộ công ty.
- Quản lý thiết bị mạng & OOB trên mạng riêng biệt.
Bảo vệ bộ điều khiển miền
- Chỉ chạy phần mềm & dịch vụ hỗ trợ AD.
- Các nhóm tối thiểu (& người dùng) có quyền đăng nhập/quản trị viên DC.
- Đảm bảo các bản vá được áp dụng trước khi chạy DCPromo (đặc biệt là MS14-068 và các bản vá quan trọng khác).
- Xác thực các tác vụ và tập lệnh theo lịch trình.
Bảo vệ máy trạm (& máy chủ)
- Vá nhanh chóng, đặc biệt là các lỗ hổng leo thang đặc quyền.
- Triển khai bản vá cổng sau bảo mật (KB2871997).
- Đặt khóa reg Wdigest thành 0 (KB2871997/Windows 8.1/2012R2+): HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSecurityProvidersWdigest
- Triển khai danh sách trắng của máy trạm (Microsoft AppLocker) để chặn mã thực thi trong thư mục người dùng – đường dẫn hồ sơ và thư mục chính.
- Triển khai công nghệ hộp cát ứng dụng máy trạm (EMET) để giảm thiểu việc khai thác bộ nhớ ứng dụng (0 ngày).
Ghi nhật ký
- Bật kiểm tra nâng cao
- “Kiểm tra: Buộc cài đặt danh mục phụ chính sách kiểm tra (Windows Vista trở lên) để ghi đè cài đặt danh mục chính sách kiểm tra”
- Bật tính năng ghi nhật ký mô-đun PowerShell (“*”) và chuyển tiếp nhật ký đến máy chủ nhật ký trung tâm (WEF hoặc phương thức khác).
- Bật ghi nhật ký và nâng cao quy trình CMD (KB3004375) và chuyển tiếp nhật ký đến máy chủ nhật ký trung tâm.
- SIEM hoặc tương đương để tập trung càng nhiều dữ liệu nhật ký càng tốt.
- Hệ thống Phân tích Hành vi Người dùng để nâng cao kiến thức về hoạt động của người dùng (chẳng hạn như Microsoft ATA).
Kiểm tra của chuyên gia bảo mật
- Xác định ai có quyền quản trị viên AD (miền/rừng).
- Xác định ai có thể đăng nhập vào Bộ điều khiển miền (và quyền quản trị đối với môi trường ảo lưu trữ DC ảo).
- Quét các miền Active Directory, OU, AdminSDHolder và GPO để tìm các quyền tùy chỉnh không phù hợp.
- Đảm bảo quản trị viên AD (còn gọi là Quản trị viên miền) bảo vệ thông tin xác thực của họ bằng cách không đăng nhập vào các hệ thống (máy trạm) không đáng tin cậy.
- Giới hạn quyền tài khoản dịch vụ hiện là DA (hoặc tương đương).
Cập nhật bảo mật quan trọng
| CVE | Tiêu đề | Sự miêu tả | liên kết |
|---|---|---|---|
| CVE-2020-1472 | Netlogon nâng cao lỗ hổng đặc quyền | Lỗ hổng nâng cao đặc quyền tồn tại khi kẻ tấn công thiết lập kết nối kênh bảo mật Netlogon dễ bị tổn thương với bộ điều khiển miền, sử dụng Giao thức từ xa Netlogon (MS-NRPC). Kẻ tấn công khai thác thành công lỗ hổng có thể chạy một ứng dụng được chế tạo đặc biệt trên một thiết bị trên mạng. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2020-1472 |
| CVE-2019-1040 | Lỗ hổng giả mạo Windows NTLM | Một lỗ hổng giả mạo tồn tại trong Microsoft Windows khi kẻ tấn công trung gian có thể vượt qua thành công lớp bảo vệ NTLM MIC (Kiểm tra tính toàn vẹn của tin nhắn), hay còn gọi là ‘Lỗ hổng giả mạo Windows NTLM’. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-1040 |
| CVE-2019-0683 | Active Directory nâng cao lỗ hổng đặc quyền | Lỗ hổng nâng cao đặc quyền tồn tại trong nhóm tin cậy Active Directory Forest do cài đặt mặc định cho phép kẻ tấn công trong nhóm tin cậy yêu cầu ủy quyền TGT để có danh tính từ nhóm đáng tin cậy, hay còn gọi là ‘Độ cao của lỗ hổng đặc quyền trong Active Directory’. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0683 |
| CVE-2019-0708 | Lỗ hổng thực thi mã từ xa Dịch vụ máy tính từ xa | Một lỗ hổng thực thi mã từ xa tồn tại trong Dịch vụ máy tính từ xa trước đây gọi là Dịch vụ đầu cuối khi kẻ tấn công không được xác thực kết nối với hệ thống mục tiêu bằng RDP và gửi các yêu cầu được tạo đặc biệt, hay còn gọi là ‘Lỗ hổng thực thi mã từ xa của Dịch vụ máy tính từ xa’. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2019-0708 |
| CVE-2018-8581 | Microsoft Exchange Server nâng cao lỗ hổng đặc quyền | Lỗ hổng nâng cao đặc quyền tồn tại trong Microsoft Exchange Server, hay còn gọi là “Độ cao của lỗ hổng đặc quyền trên Microsoft Exchange Server”. Điều này ảnh hưởng đến Microsoft Exchange Server. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2018-8518 |
| CVE-2017-0143 | Lỗ hổng thực thi mã từ xa Windows SMB | Máy chủ SMBv1 trong Microsoft Windows Vista SP2; Windows Server 2008 SP2 và R2 SP1; Windows 7 SP1; Windows 8.1; Windows Server 2012 Vàng và R2; Windows RT 8.1; và Windows 10 Gold, 1511 và 1607; và Windows Server 2016 cho phép kẻ tấn công từ xa thực thi mã tùy ý thông qua các gói được tạo thủ công, hay còn gọi là “Lỗ hổng thực thi mã từ xa Windows SMB”. Lỗ hổng này khác với các lỗ hổng được mô tả trong CVE-2017-0144, CVE-2017-0145, CVE-2017-0146 và CVE-2017-0148. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2017-0143 |
| CVE-2016-0128 | Lỗ hổng hạ cấp Windows SAM và LSAD | Việc triển khai giao thức SAM và LSAD trong Microsoft Windows Vista SP2, Windows Server 2008 SP2 và R2 SP1, Windows 7 SP1, Windows 8.1, Windows Server 2012 Gold và R2, Windows RT 8.1 và Windows 10 Gold và 1511 không thiết lập RPC đúng cách kênh này cho phép kẻ tấn công trung gian thực hiện các cuộc tấn công hạ cấp giao thức và mạo danh người dùng bằng cách sửa đổi luồng dữ liệu máy khách-máy chủ, hay còn gọi là “Lỗ hổng hạ cấp Windows SAM và LSAD” hoặc “BADLOCK”. | https://portal.msrc.microsoft.com/en-US/security-guidance/advisory/CVE-2016-0128 |
| CVE-2014-6324 | Lỗ hổng trong Kerberos có thể cho phép nâng cao đặc quyền (3011780) | Trung tâm phân phối khóa Kerberos (KDC) trong Microsoft Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2 và R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 và Windows Server 2012 Gold và R2 cho phép người dùng miền được xác thực từ xa có được các đặc quyền của quản trị viên tên miền thông qua chữ ký giả mạo trong một vé, được khai thác tự nhiên vào tháng 11 năm 2014, hay còn gọi là “Lỗ hổng kiểm tra tổng kiểm tra Kerberos”. | https://docs.microsoft.com/en-us/security-updates/securitybulletins/2014/ms14-068 |
| CVE-2014-1812 | Lỗ hổng trong Tùy chọn chính sách nhóm có thể cho phép nâng cao đặc quyền | Việc triển khai Chính sách nhóm trong Microsoft Windows Vista SP2, Windows Server 2008 SP2 và R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1 và Windows Server 2012 Gold và R2 không xử lý đúng cách việc phân phối mật khẩu, điều này cho phép người dùng được xác thực từ xa có được thông tin xác thực nhạy cảm và do đó có được các đặc quyền bằng cách tận dụng quyền truy cập vào chia sẻ SYSVOL, bị khai thác trắng trợn vào tháng 5 năm 2014, hay còn gọi là “Tùy chọn chính sách nhóm Nâng cao mật khẩu của lỗ hổng đặc quyền”. | https://support.microsoft.com/en-us/help/2962486/ms14-025-vulnerability-in-group-policy-preferences-could-allow-elevati |
Phát hiện
| Tấn công | Mã sự kiện |
|---|---|
| Bảng liệt kê tài khoản và nhóm | 4798: Thành viên nhóm cục bộ của người dùng đã được liệt kê 4799: Thành viên nhóm cục bộ hỗ trợ bảo mật đã được liệt kê |
| Quản trị viênSDHolder | 4780: ACL được đặt trên các tài khoản là thành viên của nhóm quản trị viên |
| Kekeo | 4624: Đăng nhập tài khoản 4672: Đăng nhập quản trị 4768: Yêu cầu Kerberos TGS |
| Vé Bạc | 4624: Đăng nhập tài khoản 4634: Đăng xuất tài khoản 4672: Đăng nhập quản trị viên |
| Vé vàng | 4624: Đăng nhập tài khoản 4672: Đăng nhập quản trị |
| PowerShell | 4103: Ghi nhật ký khối tập lệnh 400: Vòng đời công cụ 403: Vòng đời công cụ 4103: Ghi nhật ký mô-đun 600: Vòng đời nhà cung cấp |
| DCShadow | 4742: Một tài khoản máy tính đã bị thay đổi 5137: Một đối tượng dịch vụ thư mục đã được tạo 5141: Một đối tượng dịch vụ thư mục đã bị xóa 4929: Bối cảnh đặt tên nguồn bản sao Active Directory đã bị xóa |
| Chìa khóa xương | 4673: Một dịch vụ đặc quyền được gọi là 4611: Một quy trình đăng nhập đáng tin cậy đã được đăng ký với Cơ quan An ninh Địa phương 4688: Một quy trình mới đã được tạo 4689: Một quy trình mới đã thoát |
| PYKEK MS14-068 | 4672: Đăng nhập quản trị viên 4624: Đăng nhập tài khoản 4768: Yêu cầu Kerberos TGS |
| Kerberoasting | 4769: Một vé Kerberos được yêu cầu |
| S4U2Proxy | 4769: Một vé Kerberos được yêu cầu |
| Chuyển động bên | 4688: Một quy trình mới đã được tạo 4689: Một quy trình đã thoát 4624: Một tài khoản đã được đăng nhập thành công 4625: Một tài khoản không thể đăng nhập |
| quản trị DNS | 770: DLL plugin máy chủ DNS đã được tải 541: Cài đặt serverlevelplugindll trên phạm vi . đã được đặt thành <dll path>150: Máy chủ DNS không thể tải hoặc khởi chạy plug-in DLL |
| DCSync | 4662: Một thao tác được thực hiện trên một đối tượng |
| Xịt mật khẩu | 4625: Tài khoản không đăng nhập được 4771: Xác thực trước Kerberos không thành công 4648: Đã thử đăng nhập bằng thông tin xác thực rõ ràng |
Source




Bình luận về bài viết này