Bài viết này là phần đầu tiên của loạt bài về phân tích mối đe dọa Sysmon. Tất cả các phần khác của bộ truyện:
Phần 1: Giới thiệu về Phân tích nhật ký Sysmon (Chúng tôi ở đây)
Phần 2: Sử dụng dữ liệu sự kiện Sysmon để xác định các mối đe dọa
Phần 3. Phân tích chuyên sâu các mối đe dọa của Sysmon bằng biểu đồ
Nếu bạn làm việc trong lĩnh vực bảo mật thông tin, có lẽ bạn thường phải hiểu các cuộc tấn công đang diễn ra. Nếu bạn đã có con mắt tinh tường, bạn có thể tìm kiếm hoạt động không chuẩn trong nhật ký chưa được xử lý “thô” - chẳng hạn như tập lệnh PowerShell đang chạy
Bạn muốn hiểu những ý tưởng cơ bản đằng sau các mối đe dọa được hiển thị trong nhật ký Sysmon? Tải xuống hướng dẫn của chúng tôi
Trong phần đầu tiên của loạt bài này, chúng ta sẽ xem xét những gì bạn có thể làm với thông tin cơ bản từ Sysmon. Trong Phần XNUMX, chúng ta sẽ tận dụng tối đa thông tin của quy trình gốc để tạo ra các cấu trúc tuân thủ phức tạp hơn được gọi là biểu đồ mối đe dọa. Trong phần thứ ba, chúng ta sẽ xem xét một thuật toán đơn giản quét biểu đồ mối đe dọa để tìm kiếm hoạt động bất thường bằng cách phân tích “trọng lượng” của biểu đồ. Và cuối cùng, bạn sẽ được thưởng một phương pháp phát hiện mối đe dọa xác suất rõ ràng (và dễ hiểu).
Phần 1: Giới thiệu về Phân tích nhật ký Sysmon
Điều gì có thể giúp bạn hiểu được sự phức tạp của nhật ký sự kiện? Cuối cùng - SIEM. Nó bình thường hóa các sự kiện và đơn giản hóa việc phân tích tiếp theo của chúng. Nhưng chúng ta không cần phải đi xa đến thế, ít nhất là lúc đầu. Ban đầu, để hiểu các nguyên tắc của SIEM, chỉ cần dùng thử tiện ích Sysmon miễn phí tuyệt vời là đủ. Và cô ấy dễ làm việc cùng một cách đáng ngạc nhiên. Hãy tiếp tục cố gắng nhé Microsoft!
Sysmon có những tính năng gì?
Tóm lại - thông tin hữu ích và dễ đọc về các quy trình (xem hình bên dưới). Bạn sẽ tìm thấy nhiều chi tiết hữu ích không có trong Nhật ký sự kiện Windows, nhưng quan trọng nhất là các trường sau:
- ID tiến trình (ở dạng thập phân, không phải hex!)
- ID tiến trình gốc
- Dòng lệnh xử lý
- Dòng lệnh của tiến trình cha
- Băm hình ảnh tập tin
- Tên hình ảnh tập tin
Sysmon được cài đặt vừa làm trình điều khiển thiết bị vừa làm dịch vụ - chi tiết hơn
Sysmon thực hiện một bước nhảy vọt về mặt lượng tử bằng cách cung cấp thông tin hữu ích (hoặc như các nhà cung cấp muốn nói là có thể hành động) để giúp hiểu các quy trình cơ bản. Ví dụ: tôi đã bắt đầu một phiên bí mật
Nhật ký Windows hiển thị một số thông tin về quy trình nhưng nó ít được sử dụng. Cộng với ID tiến trình ở dạng thập lục phân ???
Đối với một chuyên gia CNTT chuyên nghiệp có hiểu biết cơ bản về hack, dòng lệnh sẽ đáng ngờ. Việc sử dụng cmd.exe để chạy lệnh khác và chuyển hướng đầu ra sang một tệp có tên lạ rõ ràng tương tự như hành động của phần mềm giám sát và điều khiển
Bây giờ chúng ta hãy xem mục tương đương của Sysmon, lưu ý xem nó cung cấp cho chúng ta bao nhiêu thông tin bổ sung:
Các tính năng của Sysmon trong một ảnh chụp màn hình: thông tin chi tiết về quy trình ở dạng có thể đọc được
Bạn không chỉ nhìn thấy dòng lệnh mà còn thấy tên tệp, đường dẫn đến ứng dụng thực thi, những gì Windows biết về nó (“Bộ xử lý lệnh Windows”), mã định danh cha mẹ quy trình, dòng lệnh cha mẹ, khởi chạy cmd shell, cũng như tên tệp thực của tiến trình gốc. Cuối cùng thì mọi thứ đều ở một nơi!
Từ nhật ký Sysmon, chúng tôi có thể kết luận rằng rất có thể dòng lệnh đáng ngờ mà chúng tôi thấy trong nhật ký "thô" này không phải là kết quả công việc bình thường của nhân viên. Ngược lại, nó được tạo ra bởi một quy trình giống C2 - wmiexec, như tôi đã đề cập trước đó - và được sinh ra trực tiếp bởi quy trình dịch vụ WMI (WmiPrvSe). Bây giờ chúng tôi có dấu hiệu cho thấy kẻ tấn công từ xa hoặc nội bộ đang kiểm tra cơ sở hạ tầng của công ty.
Giới thiệu Get-Sysmonlogs
Tất nhiên thật tuyệt khi Sysmon đặt các bản ghi vào một nơi. Nhưng có lẽ sẽ còn tốt hơn nếu chúng ta có thể truy cập các trường nhật ký riêng lẻ theo chương trình - ví dụ: thông qua các lệnh PowerShell. Trong trường hợp này, bạn có thể viết một tập lệnh PowerShell nhỏ để tự động tìm kiếm các mối đe dọa tiềm ẩn!
Tôi không phải là người đầu tiên có ý tưởng như vậy. Và thật tốt khi trong một số bài đăng trên diễn đàn và GitHub
Điểm quan trọng đầu tiên là khả năng của đội
$events = Get-WinEvent -LogName "Microsoft-Windows-Sysmon/Operational" | where { $_.id -eq 1 -or $_.id -eq 11}
Nếu bạn muốn tự mình kiểm tra lệnh, bằng cách hiển thị nội dung trong phần tử đầu tiên của mảng $events, $events[0].Message, đầu ra có thể là một chuỗi chuỗi văn bản với định dạng rất đơn giản: tên của Trường Sysmon, dấu hai chấm và sau đó là giá trị của chính nó.
Hoan hô! Xuất nhật ký Sysmon sang định dạng sẵn sàng cho JSON
Bạn có đang suy nghĩ giống tôi không? Với một chút nỗ lực hơn, bạn có thể chuyển đổi đầu ra thành chuỗi có định dạng JSON, sau đó tải trực tiếp vào đối tượng PS bằng lệnh mạnh mẽ
Tôi sẽ hiển thị mã PowerShell để chuyển đổi - nó rất đơn giản - trong phần tiếp theo. Bây giờ, hãy xem lệnh mới của tôi có tên get-sysmonlogs, mà tôi đã cài đặt dưới dạng mô-đun PS, có thể làm được những gì.
Thay vì đi sâu vào phân tích nhật ký Sysmon thông qua giao diện nhật ký sự kiện bất tiện, chúng ta có thể dễ dàng tìm kiếm hoạt động gia tăng trực tiếp từ phiên PowerShell, cũng như sử dụng lệnh PS
Danh sách shell cmd được khởi chạy qua WMI. Phân tích mối đe dọa với chi phí thấp với nhóm Get-Sysmonlogs của riêng chúng tôi
Thật tuyệt vời! Tôi đã tạo một công cụ để thăm dò nhật ký Sysmon như thể nó là một cơ sở dữ liệu. Trong bài viết của chúng tôi về
Phân tích Sysmon và đồ thị
Hãy lùi lại và suy nghĩ về những gì chúng ta vừa tạo. Về cơ bản, hiện tại chúng tôi có cơ sở dữ liệu sự kiện Windows có thể truy cập được thông qua PowerShell. Như tôi đã lưu ý trước đó, có các kết nối hoặc mối quan hệ giữa các bản ghi - thông qua ParentProcessId - do đó có thể thu được hệ thống phân cấp hoàn chỉnh của các quy trình.
Nếu bạn đã đọc bộ truyện
Nhưng với lệnh Get-Sysmonlogs của tôi và cấu trúc dữ liệu bổ sung, chúng ta sẽ xem xét ở phần sau trong văn bản (tất nhiên là bằng biểu đồ), chúng ta có một cách thực tế để phát hiện các mối đe dọa - việc này chỉ yêu cầu thực hiện tìm kiếm đỉnh đúng.
Như mọi khi với các dự án blog DYI của chúng tôi, bạn càng nỗ lực phân tích chi tiết các mối đe dọa ở quy mô nhỏ, bạn sẽ càng nhận ra mức độ phức tạp của việc phát hiện mối đe dọa ở cấp doanh nghiệp. Và nhận thức này là vô cùng tâm điểm.
Chúng ta sẽ gặp những vấn đề phức tạp thú vị đầu tiên trong phần thứ hai của bài viết, nơi chúng ta sẽ bắt đầu kết nối các sự kiện Sysmon với nhau thành các cấu trúc phức tạp hơn nhiều.
Nguồn: www.habr.com