Chiến thuật Khai thác & Hậu Khai thác với MITRE ATTACK

FAQ Các Khóa Học Quốc Tế Tài Liệu Ôn Thi Chứng Chỉ Quốc Tế IT-PRO

  • Khai thác và hậu khai thác là một phần quan trọng trong chu trình kiểm thử thâm nhập và sẽ xác định thành công tổng thể của một cuộc kiểm thử thâm nhập.
  • Bootcamp này được thiết kế cho người mới bắt đầu và trung cấp có một số kinh nghiệm trong kiểm thử thâm nhập/phòng thủ và muốn nâng cao kiến thức về các kỹ thuật truy cập ban đầu và hậu khai thác.
  • Quan trọng hơn, bootcamp này được xây dựng dựa trên khung MITRE ATT&CK và sẽ đề cập đến các TTP khác nhau nhằm cung cấp cho bạn hiểu biết tốt hơn về các công cụ kẻ tấn công sử dụng và các kỹ thuật họ áp dụng trong các chiến dịch của mình. Chiến thuật Khai thác & Hậu Khai thác
  • Chuyên gia Kiểm thử Thâm nhập hoặc chuyên gia bảo mật thông tin muốn hiểu rõ hơn về cách thực hiện các kỹ thuật khai thác và hậu khai thác khác nhau.
  • Thành viên Đội Tấn công muốn nâng cao kiến thức về TTP của đối thủ với mục đích mô phỏng đối thủ.
  • Thành viên Đội Phòng thủ muốn nâng cao hiểu biết về TTP của đối thủ để hiểu rõ hơn về đối thủ và cách họ hoạt động. Đối tượng phù hợp?
  • Giới thiệu về khung MITRE ATT&CK.
  • Khai thác Ứng dụng Hướng Công cộng – T1190
  • Khai thác Dịch vụ Từ xa Bên ngoài – T1133
  • Truy cập Ban đầu Thông qua Tấn công Lừa đảo Có Chủ đích – T1566.002
  • Truy cập Ban đầu Thông qua Tấn công Drive-by (Payload Giao qua Web) – T1189 Ngày 1 – Các Kỹ thuật Truy cập Ban đầu
  • Liệt kê Cục bộ trên Windows
  • Leo thang Đặc quyền
  • Tài khoản Hợp lệ – T1078
  • Lạm dụng Cơ chế Kiểm soát Nâng cao – T1548
  • Thao túng Mã thông báo Truy cập – T1134
  • Duy trì
  • Thực thi Tự động khi Khởi động hoặc Đăng nhập – T1547
  • Tác vụ/Công việc Đã lên lịch – T1053
  • Truy cập Thông tin Xác thực
  • Trích xuất Thông tin Xác thực Hệ điều hành – T1003 Ngày 2 – Hậu Khai thác Windows
  • Liệt kê Cục bộ trên Linux
  • Leo thang Đặc quyền
  • Lạm dụng Cơ chế Kiểm soát Nâng cao: Setuid và Setgid – T1548.001
  • Lạm dụng Cơ chế Kiểm soát Nâng cao: Sudo – T1169
  • Duy trì
  • Tác vụ/Công việc Đã lên lịch: Cron – T1053.003
  • Thành phần Phần mềm Máy chủ: Web Shell – T1505.003
  • Di chuyển Ngang
  • Khai thác Dịch vụ Từ xa – T1210 Ngày 3 – Hậu Khai thác Linux

Giới thiệu về Khung MITRE ATT&CK

  • Khung MITRE ATT&CK là một cơ sở kiến thức toàn cầu về chiến thuật và kỹ thuật của kẻ tấn công dựa trên các mối đe dọa và tác nhân đe dọa thực tế (nhóm APT). Nó được phát triển để nâng cao hiểu biết về cách thực hiện các cuộc tấn công mạng.
  • Nó được bắt đầu vào năm 2013 để ghi lại và phân loại các TTP phổ biến được sử dụng bởi các tác nhân đe dọa và mối đe dọa liên tục nâng cao.
  • Nó chủ yếu được sử dụng bởi chuyên gia kiểm thử thâm nhập và đội tấn công để lập kế hoạch, triển khai và điều phối các hoạt động dựa trên các tác nhân đe dọa/APT cụ thể. (mô phỏng đối thủ)
  • Nó cũng là một nguồn tài nguyên quý giá cho đội phòng thủ vì nó mô tả chi tiết các TTP khác nhau được sử dụng bởi các tác nhân đe dọa cụ thể và cung cấp cho các công ty thông tin tình báo về mối đe dọa mạng (CTI) có giá trị có thể được sử dụng để triển khai phòng thủ và giảm thiểu.
  • MITRE ATT&CK phân loại các kỹ thuật của đối thủ thành một tập hợp các chiến thuật được tổ chức thành các kỹ thuật, kỹ thuật phụ và thủ tục (TTP). MITRE ATT&CK
  • Chiến thuật phân loại từng bước trong phương pháp tấn công của đối thủ.
  • Chiến thuật đại diện cho mục tiêu chiến thuật của đối thủ.
  • Kỹ thuật được sử dụng để phác thảo cách thực hiện từng chiến thuật.
  • Kỹ thuật đại diện cho cách thức và những gì đối thủ đạt được mục tiêu bằng cách thực hiện một hành động.
  • Thủ tục phác thảo tất cả các cách triển khai đã biết của một kỹ thuật hoặc kỹ thuật phụ TTP MITRE ATT&CK
  • Các TTP MITRE ATT&CK có thể được trực quan hóa trong Ma trận ATT&CK. (https://attack.mitre.org/)
  • Ví dụ, trong chiến thuật Leo thang Đặc quyền, mục tiêu của đối thủ là nâng cao đặc quyền của họ trên hệ thống/mạng mục tiêu. Các kỹ thuật thuộc chiến thuật này phác thảo các kỹ thuật khác nhau mà đối thủ có thể sử dụng để nâng cao đặc quyền của họ. Ma trận MITRE ATT&CK Enterprise

Demo: Ma trận & Trình điều hướng MITRE ATT&CK

Truy cập Ban đầu

  • Truy cập Ban đầu bao gồm các kỹ thuật mà đối thủ sử dụng để có được bước đầu tiên trên hệ thống hoặc mạng mục tiêu.
  • Các Kỹ thuật Truy cập Ban đầu:
  • Khai thác Máy chủ/Ứng dụng Web Hướng Công cộng.
  • Tấn công Lừa đảo Có Chủ đích
  • Tấn công Drive-by
  • Khai thác Dịch vụ Từ xa Bên ngoài
  • Tài khoản Hợp lệ Truy cập Ban đầu

Khai thác Ứng dụng Hướng Công cộng – T1190

  • Đối thủ có thể có được quyền truy cập ban đầu vào máy chủ mục tiêu bằng cách khai thác cấu hình sai hoặc lỗ hổng trong ứng dụng hoặc chương trình web hướng công cộng (bị lộ).
  • Hầu hết các ứng dụng hướng công cộng có khả năng là trang web, cơ sở dữ liệu hoặc dịch vụ như FTP và SSH.
  • Xâm phạm một ứng dụng hướng công cộng cũng có thể dẫn đến xâm phạm cơ sở hạ tầng cơ bản (môi trường đám mây hoặc container). https://attack.mitre.org/techniques/T1190/ Khai thác Ứng dụng Hướng Công cộng – T1190

Demo: Thực thi Mã từ xa Thông qua MySQL

Demo: Lỗ hổng Tải lên Tệp jQuery

Khai thác Dịch vụ Từ xa Bên ngoài – T1133

  • Đối thủ có thể khai thác các dịch vụ từ xa hướng ra bên ngoài để có quyền truy cập vào hệ thống hoặc mạng mục tiêu.
  • Các dịch vụ từ xa như VPN, RDP và Quản lý Từ xa Windows (WinRM) thường là mục tiêu chính của đối thủ. Khai thác Dịch vụ Từ xa Bên ngoài – T1133

Khai thác SMB với PsExec

SMB ● SMB (Khối Thông điệp Máy chủ) là một giao thức chia sẻ tệp mạng được sử dụng để tạo điều kiện chia sẻ tệp và thiết bị ngoại vi (máy in và cổng nối tiếp) giữa các máy tính trên mạng cục bộ (LAN). ● SMB sử dụng cổng 445 (TCP). Tuy nhiên, ban đầu, SMB chạy trên NetBIOS sử dụng cổng 139. ● SAMBA là triển khai mã nguồn mở của SMB trên Linux, và cho phép các hệ thống Windows truy cập vào các chia sẻ và thiết bị Linux.

Xác thực SMB ● Giao thức SMB sử dụng hai cấp độ xác thực, cụ thể là:

  • Xác thực Người dùng
  • Xác thực Chia sẻ ● Xác thực người dùng – Người dùng phải cung cấp tên người dùng và mật khẩu để xác thực với máy chủ SMB để truy cập vào một chia sẻ. ● Xác thực chia sẻ – Người dùng phải cung cấp mật khẩu để truy cập vào chia sẻ bị hạn chế. Lưu ý: Cả hai cấp độ xác thực này đều sử dụng hệ thống xác thực thách thức-phản hồi.

Xác thực SMB

PsExec ● PsExec là một tiện ích thay thế telnet nhẹ được phát triển bởi Microsoft cho phép bạn thực thi các quy trình trên các hệ thống Windows từ xa bằng cách sử dụng thông tin xác thực của bất kỳ người dùng nào. ● Xác thực PsExec được thực hiện thông qua SMB. ● Chúng ta có thể sử dụng tiện ích PsExec để xác thực với hệ thống mục tiêu một cách hợp pháp và chạy các lệnh tùy ý hoặc khởi chạy dấu nhắc lệnh từ xa. ● Nó rất giống với RDP, tuy nhiên, thay vì điều khiển hệ thống từ xa thông qua GUI, các lệnh được gửi thông qua CMD.

Khai thác SMB Với PsExec ● Để sử dụng PsExec để có quyền truy cập vào mục tiêu Windows, chúng ta sẽ cần xác định các tài khoản người dùng hợp lệ và mật khẩu hoặc hàm băm mật khẩu tương ứng của chúng. ● Điều này có thể được thực hiện bằng cách tận dụng các công cụ và kỹ thuật khác nhau, tuy nhiên, kỹ thuật phổ biến nhất sẽ liên quan đến việc thực hiện một cuộc tấn công bằng vũ lực đăng nhập SMB. ● Chúng ta có thể thu hẹp cuộc tấn công bằng vũ lực của mình chỉ bao gồm các tài khoản người dùng Windows phổ biến như:

  • Administrator ● Sau khi chúng ta có được một tài khoản người dùng hợp lệ và mật khẩu, chúng ta có thể sử dụng thông tin đăng nhập để xác thực với hệ thống mục tiêu thông qua PsExec và thực thi các lệnh hệ thống tùy ý hoặc có được một shell đảo ngược.

Demo: Khai thác SMB với PsExec

Khai thác WinRM

Khai thác WinRM ● Quản lý Từ xa Windows (WinRM) là một giao thức quản lý từ xa Windows có thể được sử

dụng để tạo điều kiện truy cập từ xa với các hệ thống Windows qua HTTP(S). ● Microsoft đã triển khai WinRM vào Windows để làm cho cuộc sống của các quản trị viên hệ thống dễ dàng hơn. ● WinRM thường được sử dụng theo các cách sau: ○ Truy cập và tương tác từ xa với các máy chủ Windows trên mạng cục bộ. ○ Truy cập và thực thi lệnh từ xa trên các hệ thống Windows. ○ Quản lý và cấu hình các hệ thống Windows từ xa. ● WinRM thường sử dụng cổng TCP 5985 và 5986 (HTTPS).

Khai thác WinRM ● WinRM triển khai kiểm soát truy cập và bảo mật cho giao tiếp giữa các hệ thống thông qua các hình thức xác thực khác nhau. ● Chúng ta có thể sử dụng một tiện ích gọi là “crackmapexec” để thực hiện tấn công bằng vũ lực trên WinRM nhằm xác định người dùng và mật khẩu của họ cũng như thực thi lệnh trên hệ thống mục tiêu. ● Chúng ta cũng có thể sử dụng một tập lệnh ruby gọi là “evil-winrm” để có được phiên shell lệnh trên hệ thống mục tiêu.

Demo: Khai thác WinRM

Truy cập Ban đầu Thông qua Tấn công Lừa đảo Có Chủ đích – T1566.002

  • Tấn công lừa đảo là một trong những kỹ thuật truy cập ban đầu được sử dụng thường xuyên nhất bởi đối thủ và có lý do chính đáng, nó rất hiệu quả.
  • Đối thủ thường gửi email/tin nhắn lừa đảo đến các mục tiêu để có quyền truy cập vào hệ thống hoặc thông tin đăng nhập của họ.
  • Trong hầu hết các trường hợp, các chiến dịch tấn công lừa đảo cần phải được nhắm mục tiêu cao, điều này được gọi là Tấn công lừa đảo có chủ đích.
  • Tấn công lừa đảo có chủ đích liên quan đến việc nhắm mục tiêu một cá nhân, công ty hoặc ngành cụ thể và yêu cầu hiểu biết tốt về cách mục tiêu hoạt động. Truy cập Ban đầu Thông qua Tấn công Lừa đảo Có Chủ đích – T1566.002

Demo: Tấn công Lừa đảo Với GoPhish

Truy cập Ban đầu Thông qua Tấn công Drive-by (Payload Giao qua Web) – T1189

  • Đối thủ có thể sử dụng các payload giao qua web để có quyền truy cập ban đầu vào hệ thống của mục tiêu thông qua trình duyệt web của họ.
  • Một cuộc tấn công drive-by có thể được thực hiện thông qua một trang web độc hại thực thi mã trên hệ thống của mục tiêu khi được truy cập.
  • MSF cung cấp cho đối thủ một mô-đun được xây dựng sẵn tạo ra một máy chủ trên hệ thống của kẻ tấn công và lưu trữ một payload, khi mục tiêu kết nối với máy chủ web, payload sẽ được thực thi. Truy cập Ban đầu Thông qua Tấn công Drive-by (Payload Giao qua Web) – T1189

Demo: Truy cập Ban đầu thông qua Payload Giao qua Web

Chiến thuật Khai thác & Hậu Khai thác

  • Liệt kê Cục bộ trên Windows
  • Leo thang Đặc quyền
  • Tài khoản Hợp lệ – T1078
  • Lạm dụng Cơ chế Kiểm soát Nâng cao – T1548
  • Thao túng Mã thông báo Truy cập – T1134
  • Duy trì
  • Tác vụ/Công việc Đã lên lịch – T1053
  • Truy cập Thông tin Xác thực
  • Trích xuất Thông tin Xác thực Hệ điều hành – T1003 Ngày 2 – Hậu Khai thác Windows

Giới thiệu về Hậu Khai thác

Hậu Khai thác

  • Hậu khai thác là giai đoạn cuối cùng của quá trình kiểm thử thâm nhập và bao gồm các chiến thuật, kỹ thuật và thủ tục mà kẻ tấn công/đối thủ thực hiện sau khi có được quyền truy cập ban đầu vào hệ thống mục tiêu.
  • Nói cách khác, hậu khai thác liên quan đến những gì bạn làm hoặc phải làm sau khi có được bước đầu tiên trên hệ thống mục tiêu.
  • Hậu khai thác sẽ khác nhau dựa trên hệ điều hành mục tiêu cũng như cơ sở hạ tầng mục tiêu.

Hậu Khai thác

  • Các kỹ thuật và công cụ hậu khai thác mà bạn có thể sử dụng sẽ phụ thuộc vào loại quyền truy cập bạn có trên hệ thống bạn đã xâm nhập cũng như mức độ bí mật bạn phải duy trì.
  • Điều này cuối cùng có nghĩa là bạn sẽ cần sử dụng các kỹ thuật và công cụ khác nhau dựa trên hệ điều hành mục tiêu và cấu hình của nó.
  • Các kỹ thuật hậu khai thác bạn có thể chạy đối với mục tiêu sẽ cần tuân thủ các quy tắc tương tác đã thỏa thuận với khách hàng mà bạn đang thực hiện kiểm thử thâm nhập cho. Lưu ý: Khi chạy các kỹ thuật hậu khai thác, bạn cần đảm bảo rằng bạn có các quyền và quyền cần thiết để sửa đổi dịch vụ, cấu hình hệ thống, thực hiện leo thang đặc quyền, xóa nhật ký, v.v.

Hậu Khai thác Sơ đồ này phác thảo các giai đoạn khác nhau của vòng đời kiểm thử thâm nhập và nêu bật giai đoạn hậu khai thác và các kỹ thuật thuộc giai đoạn hậu khai thác.

Phương pháp Hậu Khai thác

Phương pháp Hậu Khai thác

  • Để thực hiện một giai đoạn hậu khai thác kỹ lưỡng và hoàn chỉnh, chúng ta cần sử dụng một phương pháp có cấu trúc bao gồm các giai đoạn quan trọng nhất của hậu khai thác có thể được áp dụng trong các hoạt động.
  • Cách tiếp cận có phương pháp, có cấu trúc này đảm bảo rằng chúng ta không bỏ qua/bỏ sót các giai đoạn quan trọng của giai đoạn hậu khai thác ngoài việc cung cấp cho chúng ta các mục tiêu có thể theo dõi được dựa trên từng giai đoạn.

Phương pháp Hậu Khai thác

Liệt kê Cục bộ trên Windows

Liệt kê Cục bộ Windows

  • Ngoài việc thực hiện liệt kê cục bộ thủ công, chúng ta cũng có thể tự động hóa quá trình với sự trợ giúp của một số tập lệnh và mô-đun MSF.
  • Mặc dù các kỹ thuật/lệnh liệt kê cục bộ là quan trọng cần biết, với tư cách là một chuyên gia kiểm thử thâm nhập, bạn sẽ cần phải hiệu quả về thời gian. Do đó, bạn sẽ cần học cách sử dụng các tập lệnh liệt kê tự động khác nhau.
  • Ngoài việc tự động hóa quá trình liệt kê thông tin như thông tin hệ thống, người dùng & nhóm, v.v., các tập lệnh liệt kê tự động này cũng sẽ cung cấp cho bạn thông tin bổ sung về hệ thống mục tiêu như; các lỗ hổng leo thang đặc quyền, mật khẩu được lưu trữ cục bộ, v.v.

Tập lệnh Liệt kê Cục bộ Windows

  • JAWS – Just Another Windows (Enum) Script – JAWS là tập lệnh PowerShell được thiết kế để giúp các chuyên gia kiểm thử thâm nhập (và người chơi CTF) nhanh chóng xác định các vector leo thang đặc quyền tiềm năng trên các hệ thống Windows. Nó được viết bằng PowerShell 2.0 nên ‘có thể’ chạy trên mọi phiên bản Windows kể từ Windows 7.
  • Kho GitHub: https://github.com/411Hall/JAWS

Demo: Liệt kê Cục bộ trên Windows

Leo thang Đặc quyền Windows

Leo thang Đặc quyền ● Leo thang đặc quyền là quá trình khai thác các lỗ hổng hoặc cấu hình sai trong hệ thống để nâng cao đặc quyền từ một người dùng sang người dùng khác, thường là đến một người dùng có quyền truy cập quản trị hoặc root trên hệ thống. ● Leo thang đặc quyền là một yếu tố quan trọng của vòng đời tấn công và là yếu tố quyết định chính trong thành công tổng thể của một cuộc kiểm thử thâm nhập. ● Sau khi có được bước đầu tiên trên hệ thống mục tiêu, bạn sẽ cần nâng cao đặc quyền của mình để thực hiện các tác vụ và chức năng yêu cầu đặc quyền quản trị. ● Tầm quan trọng của leo thang đặc quyền trong quá trình kiểm thử thâm nhập không thể được đánh giá quá cao hoặc bỏ qua. Phát triển kỹ năng leo thang đặc quyền sẽ đánh dấu bạn là một chuyên gia kiểm thử thâm nhập giỏi.

Tài khoản Hợp lệ – T1078 Cài đặt Windows Không Giám sát

Tài khoản Hợp lệ – T1078

Tệp Cấu hình Windows ● Windows có thể tự động hóa nhiều tác vụ lặp đi lặp lại, chẳng hạn như triển khai hoặc cài đặt hàng loạt Windows trên nhiều hệ thống. ● Điều này thường được thực hiện thông qua việc sử dụng tiện ích Cài đặt Windows Không Giám sát, được sử dụng để tự động hóa việc cài đặt/triển khai hàng loạt Windows trên các hệ thống. ● Công cụ này sử dụng các tệp cấu hình chứa các cấu hình và thông tin đăng nhập tài khoản người dùng cụ thể, đặc biệt là mật khẩu của tài khoản Administrator. ● Nếu các tệp cấu hình Cài đặt Windows Không Giám sát bị để lại trên hệ thống mục tiêu sau khi cài đặt, chúng có thể tiết lộ thông tin đăng nhập tài khoản người dùng có thể được kẻ tấn công sử dụng để xác thực với Windows mục tiêu một cách hợp pháp.

Cài đặt Windows Không Giám sát ● Tiện ích Cài đặt Windows Không Giám sát thường sẽ sử dụng một trong các tệp cấu hình sau chứa thông tin cấu hình tài khoản người dùng và hệ thống: ○ C:\Windows\Panther\Unattend.xml ○ C:\Windows\Panther\Autounattend.xml ● Như một biện pháp phòng ngừa bảo mật, các mật khẩu được lưu trữ trong tệp cấu hình Cài đặt Windows Không Giám sát có thể được mã hóa bằng base64.

Demo: Tệp Cài đặt Windows Không Giám sát

Lạm dụng Cơ chế Kiểm soát Nâng cao – T1548 Bỏ qua UAC Với UACMe

Lạm dụng Cơ chế Kiểm soát Nâng cao – T1548

● Kiểm soát Tài khoản Người dùng (UAC) là một

tính năng bảo mật của Windows được giới thiệu trong Windows Vista được sử dụng để ngăn chặn các thay đổi trái phép đối với hệ điều hành. ● UAC được sử dụng để đảm bảo rằng các thay đổi đối với hệ điều hành yêu cầu sự chấp thuận từ quản trị viên hoặc tài khoản người dùng thuộc nhóm quản trị viên cục bộ. ● Một người dùng không có đặc quyền cố gắng thực thi một chương trình với đặc quyền nâng cao sẽ được nhắc với lời nhắc thông tin xác thực UAC, trong khi một người dùng có đặc quyền sẽ được nhắc với lời nhắc đồng ý. ● Các cuộc tấn công có thể bỏ qua UAC để thực thi các tệp thực thi độc hại với đặc quyền nâng cao. UAC (Kiểm soát Tài khoản Người dùng)

● Để bỏ qua UAC thành công, chúng ta sẽ cần có quyền truy cập vào một tài khoản người dùng thuộc nhóm quản trị viên cục bộ trên hệ thống mục tiêu Windows. ● UAC cho phép một chương trình được thực thi với đặc quyền quản trị, do đó nhắc người dùng xác nhận. ● UAC có các mức toàn vẹn khác nhau từ thấp đến cao, nếu mức bảo vệ UAC được đặt dưới mức cao, các chương trình Windows có thể được thực thi với đặc quyền nâng cao mà không cần nhắc người dùng xác nhận. ● Có nhiều công cụ và kỹ thuật có thể được sử dụng để bỏ qua UAC, tuy nhiên, công cụ và kỹ thuật được sử dụng sẽ phụ thuộc vào phiên bản Windows đang chạy trên hệ thống mục tiêu. Bỏ qua UAC

● UACMe là một công cụ leo thang đặc quyền mã nguồn mở, mạnh mẽ được phát triển bởi @hfire0x. Nó có thể được sử dụng để bỏ qua UAC của Windows bằng cách tận dụng các kỹ thuật khác nhau. ○ GitHub: https://github.com/hfiref0x/UACME ● Kho lưu trữ GitHub UACME chứa một danh sách được ghi chép rất tốt về các phương pháp có thể được sử dụng để bỏ qua UAC trên nhiều phiên bản Windows từ Windows 7 đến Windows 10. ● Nó cho phép kẻ tấn công thực thi các payload độc hại trên mục tiêu Windows với đặc quyền quản trị/nâng cao bằng cách lạm dụng công cụ AutoElevate tích hợp sẵn của Windows. ● Kho lưu trữ GitHub UACMe có hơn 60 kỹ thuật/khóa có thể được sử dụng để bỏ qua UAC tùy thuộc vào phiên bản Windows đang chạy trên mục tiêu. Bỏ qua UAC Với UACMe

Demo: Bỏ qua UAC Với UACMe

Thao túng Mã thông báo Truy cập – T1134 Mạo danh Mã thông báo Truy cập Windows

Thao túng Mã thông báo Truy cập: Mạo danh/Đánh cắp Mã thông báo – T1134.001

● Mã thông báo truy cập Windows là một yếu tố cốt lõi của quá trình xác thực trên Windows và được tạo và quản lý bởi Dịch vụ Con của Cơ quan Bảo mật Cục bộ (LSASS). ● Một mã thông báo truy cập Windows chịu trách nhiệm xác định và mô tả ngữ cảnh bảo mật của một quy trình hoặc luồng đang chạy trên hệ thống. Nói một cách đơn giản, một mã thông báo truy cập có thể được coi như một khóa tạm thời tương tự như cookie web cung cấp cho người dùng quyền truy cập vào tài nguyên hệ thống hoặc mạng mà không cần phải cung cấp thông tin xác thực mỗi khi một quy trình được bắt đầu hoặc tài nguyên hệ thống được truy cập. ● Mã thông báo truy cập được tạo ra bởi quy trình winlogon.exe mỗi khi người dùng xác thực thành công và bao gồm danh tính và đặc quyền của tài khoản người dùng liên kết với luồng hoặc quy trình. Mã thông báo này sau đó được gắn vào quy trình userinit.exe, sau đó tất cả các quy trình con được bắt đầu bởi người dùng sẽ kế thừa một bản sao của mã thông báo truy cập từ người tạo ra chúng và sẽ chạy dưới đặc quyền của cùng một mã thông báo truy cập. Mã thông báo Truy cập Windows

● Mã thông báo truy cập Windows được phân loại dựa trên các cấp độ bảo mật khác nhau được gán cho chúng. Các cấp độ bảo mật này được sử dụng để xác định các đặc quyền được gán cho một mã thông báo cụ thể. ● Một mã thông báo truy cập thường sẽ được gán một trong các cấp độ bảo mật sau: ○ Mã thông báo cấp độ mạo danh được tạo ra trực tiếp do đăng nhập không tương tác trên Windows, thường thông qua các dịch vụ hệ thống cụ thể hoặc đăng nhập miền. ○ Mã thông báo cấp độ ủy quyền thường được tạo ra thông qua đăng nhập tương tác trên Windows, chủ yếu thông qua đăng nhập truyền thống hoặc thông qua các giao thức truy cập từ xa như RDP. ● Mã thông báo cấp độ mạo danh có thể được sử dụng để mạo danh một mã thông báo trên hệ thống cục bộ và không trên bất kỳ hệ thống bên ngoài nào sử dụng mã thông báo. ● Mã thông báo cấp độ ủy quyền gây ra mối đe dọa lớn nhất vì chúng có thể được sử dụng để mạo danh mã thông báo trên bất kỳ hệ thống nào. Mã thông báo Truy cập Windows

● Quá trình mạo danh mã thông báo truy cập để nâng cao đặc quyền trên hệ thống chủ yếu sẽ phụ thuộc vào các đặc quyền được gán cho tài khoản đã bị khai thác để có quyền truy cập ban đầu cũng như các mã thông báo mạo danh hoặc ủy quyền có sẵn. ● Sau đây là các đặc quyền cần thiết để thực hiện tấn công mạo danh thành công: ○ SeAssignPrimaryToken: Điều này cho phép người dùng mạo danh mã thông báo. ○ SeCreateToken: Điều này cho phép người dùng tạo một mã thông báo tùy ý với đặc quyền quản trị. ○ SeImpersonatePrivilege: Điều này cho phép người dùng tạo một quy trình dưới ngữ cảnh bảo mật của một người dùng khác thường với đặc quyền quản trị. Đặc quyền Windows

● Incognito là một mô-đun tích hợp sẵn của meterpreter ban đầu là một ứng dụng độc lập cho phép bạn mạo danh mã thông báo người dùng sau khi khai thác thành công. ● Chúng ta có thể sử dụng mô-đun incognito để hiển thị danh sách các mã thông báo có sẵn mà chúng ta có thể mạo danh. Mô-đun Incognito

Demo: Mạo danh Mã thông báo Với Incognito

Duy trì trên Windows Tác vụ/Công việc Đã lên lịch – T1053

  • Duy trì bao gồm các kỹ thuật mà đối thủ sử dụng để duy trì quyền truy cập vào hệ thống qua các lần khởi động lại, thay đổi thông tin xác thực và các gián đoạn khác có thể cắt đứt quyền truy cập của họ.
  • Có được bước đầu tiên là chưa đủ, bạn cần thiết lập và duy trì quyền truy cập liên tục vào mục tiêu của mình.
  • Chúng ta có thể sử dụng các mô-đun duy trì hậu khai thác khác nhau để đảm bảo rằng chúng ta luôn có quyền truy cập vào hệ thống mục tiêu. Thiết lập Duy trì Trên Windows

Demo: Duy trì Thông qua Tác vụ Đã lên lịch

Trích xuất Thông tin Xác thực Hệ điều hành – T1003

  • Mimikatz là một công cụ hậu khai thác Windows được viết bởi Benjamin Delpy (@gentilkiwi). Nó cho phép trích xuất thông tin xác thực văn bản thuần từ bộ nhớ, hàm băm mật khẩu từ cơ sở dữ liệu SAM cục bộ, và nhiều hơn nữa.
  • Cơ sở dữ liệu SAM (Trình quản lý Tài khoản Bảo mật), là một tệp cơ sở dữ liệu trên các hệ thống Windows lưu trữ mật khẩu người dùng và có thể được sử dụng để xác thực người dùng cả cục bộ và từ xa.
  • Chúng ta có thể sử dụng tệp thực thi mimikatz được xây dựng sẵn, hoặc nếu chúng ta có quyền truy cập vào một phiên meterpreter trên mục tiêu Windows, chúng ta có thể sử dụng tiện ích mở rộng Kiwi tích hợp sẵn trong meterpreter.
  • Kiwi cho phép chúng ta thực thi Mimikatz động trên hệ thống mục tiêu mà không cần chạm vào đĩa. Trích xuất Hàm băm Windows Với Mimikatz

Demo: Trích xuất Hàm băm Windows Với Mimikatz

Chiến thuật Khai thác & Hậu Khai thác

  • Liệt kê Cục bộ trên Linux
  • Leo thang Đặc quyền
  • Lạm dụng Cơ chế Kiểm soát Nâng cao: Setuid và Setgid – T1548.001
  • Lạm dụng Cơ chế Kiểm soát Nâng cao: Sudo – T1169
  • Khai thác để Leo thang Đặc quyền – T1068
  • Duy trì
  • Tác vụ/Công việc Đã lên lịch: Cron – T1053.003
  • Thành phần Phần mềm Máy chủ: Web Shell – T1505.003
  • Di chuyển Ngang
  • Khai thác Dịch vụ Từ xa – T1210 Ngày 3 – Hậu Khai thác Linux

Liệt kê Cục bộ trên Linux

Tự động hóa Liệt kê Cục bộ Linux

  • Ngoài việc thực hiện liệt kê cục bộ thủ công, chúng ta cũng có thể tự động hóa quá trình với sự trợ giúp của một số tập lệnh và mô-đun MSF.
  • Mặc dù các kỹ thuật/lệnh liệt kê cục bộ là quan trọng cần biết, với tư cách là một chuyên gia kiểm thử thâm nhập, bạn sẽ cần phải hiệu quả về thời gian. Do đó, bạn sẽ cần học cách sử dụng các tập lệnh liệt kê tự động khác nhau.
  • Ngoài việc tự động hóa quá trình liệt kê thông tin như thông tin hệ thống, người dùng & nhóm, v.v., các tập lệnh liệt kê tự động này cũng sẽ cung cấp cho bạn thông tin bổ sung về hệ thống mục tiêu như; các lỗ hổng leo thang đặc quyền, mật khẩu được lưu trữ cục bộ, v.v.

Tập lệnh Liệt kê Cục bộ Linux

  • LinEnum – LinEnum là một tập lệnh bash đơn giản tự động hóa các kiểm tra liệt kê cục bộ Linux thông thường ngoài việc xác định các lỗ hổng leo thang đặc quyền.
  • Kho GitHub: https://github.com/rebootuser/LinEnum

Demo: Liệt kê Cục bộ trên Linux

Leo thang Đặc quyền Linux

Leo thang Đặc quyền Linux Lạm dụng Cơ chế Kiểm soát Nâng cao: Setuid và Setgid – T1548.001

● Ngoài ba quyền truy cập tệp chính (đọc, ghi và thực thi), Linux còn cung cấp cho người dùng các quyền đặc biệt có thể được sử dụng trong các tình huống cụ thể. Một trong những quyền truy cập này là quyền SUID (Set Owner User ID). ● Khi được áp dụng, quyền này cung cấp cho người dùng khả năng thực thi một tập lệnh hoặc tệp nhị phân với quyền của chủ sở hữu tệp thay vì người dùng đang chạy tập lệnh hoặc tệp nhị phân đó. ● Quyền SUID thường được sử dụng để cung cấp cho người dùng không có đặc quyền khả năng chạy các tập lệnh hoặc tệp nhị phân cụ thể với quyền “root”. Tuy nhiên, cần lưu ý rằng việc cấp đặc quyền nâng cao chỉ giới hạn trong việc thực thi tập lệnh và không chuyển thành việc nâng cao đặc quyền, tuy nhiên, nếu được cấu hình không đúng cách, người dùng không có đặc quyền có thể khai thác các cấu hình sai hoặc lỗ hổng trong tệp nhị phân hoặc tập lệnh để có được một phiên có đặc quyền nâng cao. Khai thác Tệp nhị phân SUID

● Đây là chức năng mà chúng ta sẽ cố gắng khai thác để nâng cao đặc quyền của mình, tuy nhiên, thành công của cuộc tấn công của chúng ta sẽ phụ thuộc vào các yếu tố sau: ○ Chủ sở hữu của tệp nhị phân SUID – Vì chúng ta đang cố gắng nâng cao đặc quyền của mình, chúng ta sẽ chỉ khai thác các tệp nhị phân SUID thuộc sở hữu của người dùng “root” hoặc các người dùng có đặc quyền khác. ○ Quyền truy cập – Chúng ta sẽ cần quyền thực thi để thực thi tệp nhị phân SUID. Khai thác Tệp nhị phân SUID

Demo: Khai thác Tệp nhị phân SUID Cấu hình Sai

Leo thang Đặc quyền Linux Lạm dụng Cơ chế Kiểm soát Nâng cao: Sudo – T1169

Demo: Khai thác Đặc quyền SUDO Cấu hình Sai

Leo thang Đặc quyền Linux Khai thác để Leo thang Đặc quyền – T1068

Demo: Khai thác để Leo thang Đặc quyền – T1068

Duy trì trên Linux Tác vụ/Công việc Đã lên lịch: Cron – T1053.003

Duy trì Thông qua Cron Job

  • Linux triển khai lập lịch tác vụ thông qua một tiện ích gọi là Cron. Cron là một dịch vụ dựa trên thời gian chạy các ứng dụng, tập lệnh và các lệnh khác lặp đi lặp lại theo một lịch trình được chỉ định.
  • Một ứng dụng hoặc tập lệnh đã được cấu hình để chạy lặp đi lặp lại với Cron được gọi là Cron job.
  • Chúng ta có thể sử dụng cron job để thực thi một lệnh hoặc tập lệnh tại một khoảng thời gian cố định để đảm bảo chúng ta có quyền truy cập liên tục vào hệ thống mục tiêu.

Cấu trúc Của Một Cron Job

      • lệnh để thực thi ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └───── ngày trong tuần (0 – 7) │ │ │ └────────── tháng (1 – 12) │ │ └─────────────── ngày trong tháng (1 – 31) │ └──────────────────── giờ (0 – 23) └───────────────────────── phút (0 – 59)
      • có nghĩa là cron job sẽ chạy mỗi phút của mỗi giờ của mỗi ngày của mỗi tháng và mỗi ngày trong tuần.

Demo: Duy trì Thông qua Cron Job

Duy trì trên Linux Thành phần Phần mềm Máy chủ: Web Shell – T1505.003

  • Web shell là một tập lệnh web được lưu trữ trên máy chủ web với mục đích thực thi các lệnh (chèn lệnh).
  • Tin hay không thì web shell từng được sử dụng hợp pháp, tuy nhiên, không có gì ngạc nhiên, chúng đã dễ dàng bị khai thác bởi đối thủ.
  • Đối thủ có thể cài đặt backdoor vào máy chủ web với web shell để thiết lập quyền truy cập liên tục vào các hệ thống. (APT32 & APT38)
  • Web shell cung cấp cho đối thủ quyền truy cập liên tục bí mật vào các hệ thống đã bị xâm phạm và nhìn chung khó phát hiện nếu không có cơ chế ghi nhật ký hoặc bảo mật thích hợp. Duy trì Thông qua Web Shell – T1505.003

Demo: Duy trì Thông qua Web Shell

Chuyển tiếp/Di chuyển Ngang Khai thác Dịch vụ Từ xa – T1210

  • Chuyển tiếp là một kỹ thuật hậu khai thác liên quan đến việc sử dụng một máy chủ đã bị xâm phạm để tấn công các hệ thống khác trên mạng nội bộ riêng của máy chủ đã bị xâm phạm.
  • Sau khi có quyền truy cập vào một máy chủ, chúng ta có thể sử dụng máy chủ đã bị xâm phạm để khai thác các máy chủ khác trên cùng mạng nội bộ mà trước đó chúng ta không thể truy cập được.
  • Meterpreter cung cấp cho chúng ta khả năng thêm một tuyến đường mạng vào subnet của mạng nội bộ và do đó quét và khai thác các hệ thống khác trên mạng. Chuyển tiếp
  • Chuyển tiếp cổng là quá trình chuyển hướng lưu lượng từ một cổng cụ thể trên hệ thống mục tiêu đến một cổng cụ thể trên hệ thống của chúng ta.
  • Trong bối cảnh chuyển tiếp, chúng ta có thể chuyển tiếp một cổng từ xa trên một máy chủ trước đó không thể truy cập được đến một cổng cục bộ trên hệ thống Kali Linux của chúng ta để chúng ta có thể tương tác/khai thác dịch vụ đang chạy trên cổng đó từ xa. Chuyển tiếp Cổng

Chuyển tiếp Trực quan

Demo: Chuyển tiếp

Thịnh hành